diff --git a/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp b/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp index 90aced43..c33c7b1b 100644 --- a/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp +++ b/blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp @@ -31,6 +31,7 @@ #include "BLO_core_file_reader.hh" #include "DNA_genfile.h" +#include "DNA_anim_enums.h" #include "DNA_curve_enums.h" #include "DNA_lattice_types.h" #include "DNA_mask_types.h" @@ -1466,8 +1467,8 @@ std::string modifier_type_name(const int64_t type) "ARRAY", "EDGE_SPLIT", "DISPLACE", "UV_PROJECT", "SMOOTH", "CAST", "MESH_DEFORM", "PARTICLE_SYSTEM", "PARTICLE_INSTANCE", "EXPLODE", "CLOTH", "COLLISION", "BEVEL", "SHRINKWRAP", "FLUID_SIM", "MASK", "SIMPLE_DEFORM", "MULTIRES", - "SURFACE", "UNSUPPORTED_31", "SHAPE_KEY", "SOLIDIFY", "SCREW", "WARP", "WEIGHT_VG_EDIT", - "WEIGHT_VG_MIX", "WEIGHT_VG_PROXIMITY", "OCEAN", "DYNAMIC_PAINT", "REMESH", "SKIN", + "SURFACE", "UNSUPPORTED_31", "SHAPE_KEY", "SOLIDIFY", "SCREW", "WARP", "VERTEX_WEIGHT_EDIT", + "VERTEX_WEIGHT_MIX", "VERTEX_WEIGHT_PROXIMITY", "OCEAN", "DYNAMIC_PAINT", "REMESH", "SKIN", "LAPLACIANSMOOTH", "TRIANGULATE", "UV_WARP", "MESH_CACHE", "LAPLACIANDEFORM", "WIREFRAME", "DATA_TRANSFER", "NORMAL_EDIT", "CORRECTIVE_SMOOTH", "MESH_SEQUENCE_CACHE", "SURFACE_DEFORM", "WEIGHTED_NORMAL", "WELD", "FLUID", "NODES", "MESH_TO_VOLUME", "VOLUME_DISPLACE", "VOLUME_TO_MESH", @@ -1634,8 +1635,8 @@ json modifier_parameters(const ParsedBlend &blend, parameters["symmetryAxes"] = read_integer(*blend.sdna, modifier, "symmetry_axes").value_or(1); break; case 33: - parameters["thickness"] = read_float(*blend.sdna, modifier, "offset_fac").value_or(0.01f); - parameters["offset"] = read_float(*blend.sdna, modifier, "offset").value_or(-1.0f); + parameters["thickness"] = read_float(*blend.sdna, modifier, "offset").value_or(0.01f); + parameters["offset"] = read_float(*blend.sdna, modifier, "offset_fac").value_or(-1.0f); break; case 34: append_target("ob_axis"); @@ -2544,6 +2545,7 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) const std::optional path_pointer = read_pointer(*blend.sdna, fcurve, "rna_path"); const std::string path = path_pointer ? read_raw_string(blend, *path_pointer, 2048) : std::string(); const int64_t array_index = read_integer(*blend.sdna, fcurve, "array_index").value_or(-1); + const int64_t extrapolation = read_integer(*blend.sdna, fcurve, "extend").value_or(FCURVE_EXTRAPOLATE_CONSTANT); const std::string channel_path = path.empty() || array_index < 0 ? path : path + "[" + std::to_string(array_index) + "]"; @@ -2563,8 +2565,31 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) const float value = values[4]; if (!std::isfinite(frame) || !std::isfinite(value)) continue; const int interpolation = int(read_integer(*blend.sdna, *point, "ipo").value_or(2)); + const bool selected = (read_integer(*blend.sdna, *point, "f2").value_or(0) & BEZT_FLAG_SELECT) != 0; + const int easing = int(read_integer(*blend.sdna, *point, "easing").value_or(BEZT_IPO_EASE_AUTO)); + const int handle_left = int(read_integer(*blend.sdna, *point, "h1").value_or(HD_FREE)); + const int handle_right = int(read_integer(*blend.sdna, *point, "h2").value_or(HD_FREE)); + const int keyframe_type = int(read_integer(*blend.sdna, *point, "hide").value_or(BEZT_KEYTYPE_KEYFRAME)); const char *interpolation_name = interpolation == 0 ? "CONSTANT" : interpolation == 1 ? "LINEAR" : "BEZIER"; - keyframes.push_back({{"frame", frame}, {"value", json::array({value})}, {"interpolation", interpolation_name}}); + const char *easing_name = easing == BEZT_IPO_EASE_IN ? "EASE_IN" : + easing == BEZT_IPO_EASE_OUT ? "EASE_OUT" : + easing == BEZT_IPO_EASE_IN_OUT ? "EASE_IN_OUT" : "AUTO"; + const char *handle_name = handle_left == HD_VECT && handle_right == HD_VECT ? "VECTOR" : + handle_left == HD_ALIGN && handle_right == HD_ALIGN ? "ALIGNED" : + handle_left == HD_AUTO_ANIM && handle_right == HD_AUTO_ANIM ? "AUTO_CLAMPED" : + handle_left == HD_AUTO && handle_right == HD_AUTO ? "AUTO" : "FREE"; + const char *keyframe_type_name = keyframe_type == BEZT_KEYTYPE_EXTREME ? "EXTREME" : + keyframe_type == BEZT_KEYTYPE_BREAKDOWN ? "BREAKDOWN" : + keyframe_type == BEZT_KEYTYPE_JITTER ? "JITTER" : + keyframe_type == BEZT_KEYTYPE_MOVEHOLD ? "MOVING_HOLD" : + keyframe_type == BEZT_KEYTYPE_GENERATED ? "GENERATED" : "KEYFRAME"; + keyframes.push_back({{"frame", frame}, + {"value", json::array({value})}, + {"interpolation", interpolation_name}, + {"easing", easing_name}, + {"handleType", handle_name}, + {"keyframeType", keyframe_type_name}, + {"selected", selected}}); frame_start = std::min(frame_start, frame); frame_end = std::max(frame_end, frame); } @@ -2591,6 +2616,7 @@ json fcurve_channel(const ParsedBlend &blend, const ElementRef &fcurve) } return { {"path", channel_path}, {"interpolation", channel_interpolation.empty() ? "BEZIER" : channel_interpolation}, + {"extrapolation", extrapolation == FCURVE_EXTRAPOLATE_LINEAR ? "LINEAR" : "CONSTANT"}, {"keyframes", std::move(keyframes)}, {"frameStart", std::isfinite(frame_start) ? frame_start : 0.0f}, {"frameEnd", std::isfinite(frame_end) ? frame_end : 0.0f} }; @@ -2625,6 +2651,11 @@ void append_action_animation(const ParsedBlend &blend, if (!visited.insert(visit_key).second) return; json channels = json::array(); + json markers = json::array(); + for (const ElementRef &marker : linked_list_elements(blend, *action, "markers")) { + markers.push_back({{"name", read_string(*blend.sdna, marker, "name")}, + {"frame", read_integer(*blend.sdna, marker, "frame").value_or(0)}}); + } const float action_frame_start = read_float(*blend.sdna, *action, "frame_start").value_or(0.0f); const float action_frame_end = read_float(*blend.sdna, *action, "frame_end").value_or(0.0f); float frame_start = std::numeric_limits::infinity(); @@ -2674,7 +2705,7 @@ void append_action_animation(const ParsedBlend &blend, } } } - if (channels.empty()) return; + if (channels.empty() && markers.empty()) return; json unique_channels = json::array(); std::unordered_set channel_keys; for (const json &channel : channels) { @@ -2689,6 +2720,7 @@ void append_action_animation(const ParsedBlend &blend, {"targetId", target_id}, {"frameStart", std::isfinite(frame_start) ? frame_start : 0.0f}, {"frameEnd", std::isfinite(frame_end) ? frame_end : 0.0f}, + {"markers", std::move(markers)}, {"channels", std::move(channels)}}); } @@ -4023,6 +4055,11 @@ json scene_ir_from_blend(const ParsedBlend &blend, scene_fps = int(read_integer(*blend.sdna, *render, "frs_sec").value_or(24)); scene_fps_base = read_float(*blend.sdna, *render, "frs_sec_base").value_or(1.0f); scene["renderEngine"] = read_string(*blend.sdna, *render, "engine"); + const int64_t render_flags = read_integer(*blend.sdna, *render, "flag").value_or(0); + if ((render_flags & SCER_PRV_RANGE) != 0) { + scene["previewRange"] = {{"start", read_integer(*blend.sdna, *render, "psfra").value_or(frame_start)}, + {"end", read_integer(*blend.sdna, *render, "pefra").value_or(frame_end)}}; + } } if (const std::optional units = embedded_element(*blend.sdna, element, "unit")) { unit_system = int(read_integer(*blend.sdna, *units, "system").value_or(unit_system)); diff --git a/docs/CONTEXT_BUDGET.md b/docs/CONTEXT_BUDGET.md index 9e6ff059..dfc78a0f 100644 --- a/docs/CONTEXT_BUDGET.md +++ b/docs/CONTEXT_BUDGET.md @@ -9,12 +9,16 @@ 3. `tests/golden//manifest.json`:只取 parent、runtime、artifact hash、`nextTask`,最多 24 KiB。 4. `docs/status/.md`:只取上一任务的证据摘要,最多 6 KiB。 -四份输入的估算总量最多 3,500 tokens。实现代码、长日志、完整路线图和 parity ledger 只按任务卡列出的路径追加读取;它们不是默认上下文。 +四份输入和证据内容最多占 2,476 tokens;另有 1,024 tokens 保留给打印任务包自身的 JSON 外壳, +因此模型实际输入仍不超过 3,500 tokens。实现代码、长日志、完整路线图和 parity ledger 只按任务卡列出的路径追加读取;它们不是默认上下文。 任务上下文生成器在生成 `inputPaths` 时还会前置执行证据筛选:最多 12 个证据路径,证据文件总计最多 -8 KiB,并从 3,500 token 总预算扣除四份基础文档后使用剩余空间。超限、缺失、越界或不可审计路径不会进入读取清单, +8 KiB,并从扣除 1,024-token 打印外壳和四份基础文档后的剩余空间中选择。超限、缺失、越界或不可审计路径不会进入读取清单, 而会写入 `inputSelection.excluded[]`,其中 `reason` 是稳定的机器可读排除原因;治理门会校验所选路径、字节总数和排除审计。 +默认 `print-task-context` 只输出紧凑任务包;完整选择审计仍写入 `task-context.json`,不会重复进入模型输入。 +如果紧凑包自身超过预留外壳预算,`print-task-context` 会在 stdout 写入任何 JSON 前失败,避免超大包进入远程传输。 + 全量 gap 计划 `tests/golden/M15-03A/next-task-plan.json` 约 6.8 MiB,只能由盘点/生成门读取,禁止作为任务上下文打开。`task-index.json` 保存源计划 hash 和每条记录的偏移,`task-catalog.jsonl` 保存一行一个任务;`task-context` 只随机读取当前任务的一行。索引缺失、源 hash 漂移或 catalog 损坏会直接失败,不能回退加载整份计划。 ## 机器门禁 diff --git a/docs/CONTEXT_GOVERNANCE.md b/docs/CONTEXT_GOVERNANCE.md index 689c1580..7fdd9151 100644 --- a/docs/CONTEXT_GOVERNANCE.md +++ b/docs/CONTEXT_GOVERNANCE.md @@ -31,11 +31,12 @@ Markdown checkbox 不能覆盖失败命令或 hash 漂移。 | 任务卡 | 8 KiB | 最多 12 个输入路径、8 条命令;不复制日志 | | parent manifest | 24 KiB | 只记录必要 artifact,最多 32 项 | | parent status | 6 KiB | 只保留命令、退出码、关键结果、风险和回滚 | -| 四份输入合计 | 3,500 tokens | 由 `contextSizeReport` 和治理门同时检查 | +| 四份输入、证据与打印外壳 | 3,500 tokens | 内容最多 2,476 tokens,打印包预留 1,024 tokens;由 `contextSizeReport` 和治理门同时检查 | | catalog 单行 | 2 KiB | 机器随机读取;执行者不得通读 catalog | -生成阶段的证据读取清单另外受 `maxFiles=12`、`evidenceBytes=8 KiB` 和基础文档扣除后的剩余上下文空间约束。 +生成阶段的证据读取清单另外受 `maxFiles=12`、`evidenceBytes=8 KiB` 和基础文档、1,024-token 打印外壳扣除后的剩余上下文空间约束。 每个未选路径必须有 `inputSelection.excluded[].reason`,因此校验器不会成为首次发现超大上下文的地方。 +`print-task-context` 也会在 JSON 输出前执行外壳预算检查;超限时只返回短诊断并以非零状态退出。 全量 `next-task-plan.json`、parity map 和 gap audit 是生成器输入,不是执行上下文。索引保存源 hash 和 catalog offset;源 hash、catalog hash 或 offset 损坏时必须重新生成,不能回退读取大计划。 diff --git a/docs/EXECUTION_QUEUE.md b/docs/EXECUTION_QUEUE.md index ad2adc7e..de5c1b9f 100644 --- a/docs/EXECUTION_QUEUE.md +++ b/docs/EXECUTION_QUEUE.md @@ -9,10 +9,10 @@ | 字段 | 值 | | --- | --- | | 里程碑 | M16 Main、Mesh、Modifier、Sculpt | -| 当前任务 | `M16-GAP-00096` | -| parent manifest | `tests/golden/M16-GAP-00095/manifest.json` | -| 任务卡 | [`tasks/M16-GAP-00096.md`](tasks/M16-GAP-00096.md) | -| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00096` | +| 当前任务 | `M16-GAP-00137` | +| parent manifest | `tests/golden/M16-GAP-00136/manifest.json` | +| 任务卡 | [`tasks/M16-GAP-00137.md`](tasks/M16-GAP-00137.md) | +| 专项验收 | `npm --prefix web run test:generated-gap -- --task M16-GAP-00137` | 领取前执行: diff --git a/docs/README.md b/docs/README.md index d82fbc43..5f2519e0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -39,7 +39,8 @@ ## 最小上下文规则 -默认只加载队列、当前任务卡、parent manifest 和 parent status;总量上限为 3,500 tokens。 +默认只加载队列、当前任务卡、parent manifest 和 parent status;内容与打印包合计上限为 3,500 tokens, +其中 1,024 tokens 预留给紧凑任务包外壳。 实现细节按任务卡的文件清单追加读取。不要为了确认一个局部输入、IO 或安全任务而加载整份 `PROJECT_STATUS_AND_NEXT_WORK.md` 或完整 parity 计划。 diff --git a/docs/status/M16-GAP-00096.md b/docs/status/M16-GAP-00096.md new file mode 100644 index 00000000..d4d4d6ea --- /dev/null +++ b/docs/status/M16-GAP-00096.md @@ -0,0 +1,19 @@ +# M16-GAP-00096 Status + +status: done +task: SOLIDIFY modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SOLIDIFY modifier stack exposure for `mesh:WebGapSolidifyMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSolidify` as SOLIDIFY type code 33 with thickness `0.275` and offset `0.35`; save/reopen is exact. +- WASM/Main exposes the same SOLIDIFY stack entry with matching thickness/offset and generic visibility flags; save/reopen is exact. +- Reader maps Solidify DNA fields with Blender semantics (`offset` to thickness and `offset_fac` to offset). +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, direct comparator, and WebEngine build exited 0. + +knownRisk: Solidify geometry evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00097` diff --git a/docs/status/M16-GAP-00097.md b/docs/status/M16-GAP-00097.md new file mode 100644 index 00000000..92c2c5a1 --- /dev/null +++ b/docs/status/M16-GAP-00097.md @@ -0,0 +1,18 @@ +# M16-GAP-00097 Status + +status: done +task: SUBSURF modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SUBSURF modifier stack exposure for `mesh:WebGapSubsurfMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSubsurf` as SUBSURF type code 1 with SIMPLE subdivision, viewport level 2, and render level 3; save/reopen is exact. +- WASM/Main exposes the same SUBSURF stack entry and matching subdivision parameters; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Subdivision geometry evaluation is unavailable in this build without OpenSubdiv; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00098` diff --git a/docs/status/M16-GAP-00098.md b/docs/status/M16-GAP-00098.md new file mode 100644 index 00000000..96ab7dc5 --- /dev/null +++ b/docs/status/M16-GAP-00098.md @@ -0,0 +1,18 @@ +# M16-GAP-00098 Status + +status: done +task: SURFACE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SURFACE modifier stack exposure for `mesh:WebGapSurfaceMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSurface` as SURFACE type code 30; save/reopen is exact. +- WASM/Main exposes the same SURFACE stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Surface deformation evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00099` diff --git a/docs/status/M16-GAP-00099.md b/docs/status/M16-GAP-00099.md new file mode 100644 index 00000000..d37d2f37 --- /dev/null +++ b/docs/status/M16-GAP-00099.md @@ -0,0 +1,18 @@ +# M16-GAP-00099 Status + +status: done +task: SURFACE_DEFORM modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh SURFACE_DEFORM modifier stack exposure for `mesh:WebGapSurfaceDeformMesh`. + +evidence: + +- Desktop fixture exposes `WebGapSurfaceDeform` as SURFACE_DEFORM type code 52; save/reopen is exact. +- WASM/Main exposes the same SURFACE_DEFORM stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Surface deformation binding/evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00100` diff --git a/docs/status/M16-GAP-00100.md b/docs/status/M16-GAP-00100.md new file mode 100644 index 00000000..ca5be795 --- /dev/null +++ b/docs/status/M16-GAP-00100.md @@ -0,0 +1,18 @@ +# M16-GAP-00100 Status + +status: done +task: TRIANGULATE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh TRIANGULATE modifier stack exposure for `mesh:WebGapTriangulateMesh`. + +evidence: + +- Desktop fixture exposes `WebGapTriangulate` as TRIANGULATE type code 44 with FIXED quad and CLIP ngon methods; save/reopen is exact. +- WASM/Main exposes the same TRIANGULATE stack entry and matching triangulation methods; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Triangulation geometry evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00101` diff --git a/docs/status/M16-GAP-00101.md b/docs/status/M16-GAP-00101.md new file mode 100644 index 00000000..e42f25d0 --- /dev/null +++ b/docs/status/M16-GAP-00101.md @@ -0,0 +1,18 @@ +# M16-GAP-00101 Status + +status: done +task: UV_PROJECT modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh UV_PROJECT modifier stack exposure for `mesh:WebGapUvProjectMesh`. + +evidence: + +- Desktop fixture exposes `WebGapUvProject` as UV_PROJECT type code 15; save/reopen is exact. +- WASM/Main exposes the same UV_PROJECT stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: UV projection evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00102` diff --git a/docs/status/M16-GAP-00102.md b/docs/status/M16-GAP-00102.md new file mode 100644 index 00000000..a0ccc331 --- /dev/null +++ b/docs/status/M16-GAP-00102.md @@ -0,0 +1,18 @@ +# M16-GAP-00102 Status + +status: done +task: UV_WARP modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh UV_WARP modifier stack exposure for `mesh:WebGapUvWarpMesh`. + +evidence: + +- Desktop fixture exposes `WebGapUvWarp` as UV_WARP type code 47; save/reopen is exact. +- WASM/Main exposes the same UV_WARP stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: UV warp evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00103` diff --git a/docs/status/M16-GAP-00103.md b/docs/status/M16-GAP-00103.md new file mode 100644 index 00000000..d4c9cc49 --- /dev/null +++ b/docs/status/M16-GAP-00103.md @@ -0,0 +1,18 @@ +# M16-GAP-00103 Status + +status: done +task: VERTEX_WEIGHT_EDIT modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_EDIT modifier stack exposure for `mesh:WebGapVertexWeightEditMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightEdit` as VERTEX_WEIGHT_EDIT type code 36; save/reopen is exact. +- Reader name table now uses Blender's canonical VERTEX_WEIGHT_EDIT name for type code 36; rebuilt WASM/Main exposes the same stack entry with matching generic flags. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, direct comparator, and WebEngine build exited 0. + +knownRisk: Vertex weight editing evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00104` diff --git a/docs/status/M16-GAP-00104.md b/docs/status/M16-GAP-00104.md new file mode 100644 index 00000000..53682943 --- /dev/null +++ b/docs/status/M16-GAP-00104.md @@ -0,0 +1,18 @@ +# M16-GAP-00104 Status + +status: done +task: VERTEX_WEIGHT_MIX modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_MIX modifier stack exposure for `mesh:WebGapVertexWeightMixMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightMix` as VERTEX_WEIGHT_MIX type code 37; save/reopen is exact. +- WASM/Main exposes the same VERTEX_WEIGHT_MIX stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Vertex weight mixing evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00105` diff --git a/docs/status/M16-GAP-00105.md b/docs/status/M16-GAP-00105.md new file mode 100644 index 00000000..b94e857d --- /dev/null +++ b/docs/status/M16-GAP-00105.md @@ -0,0 +1,18 @@ +# M16-GAP-00105 Status + +status: done +task: VERTEX_WEIGHT_PROXIMITY modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh VERTEX_WEIGHT_PROXIMITY modifier stack exposure for `mesh:WebGapVertexWeightProximityMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVertexWeightProximity` as VERTEX_WEIGHT_PROXIMITY type code 38; save/reopen is exact. +- WASM/Main exposes the same VERTEX_WEIGHT_PROXIMITY stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Vertex weight proximity evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00106` diff --git a/docs/status/M16-GAP-00106.md b/docs/status/M16-GAP-00106.md new file mode 100644 index 00000000..75a2effd --- /dev/null +++ b/docs/status/M16-GAP-00106.md @@ -0,0 +1,18 @@ +# M16-GAP-00106 Status + +status: done +task: VOLUME_DISPLACE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Volume-object VOLUME_DISPLACE modifier stack exposure for `object:WebGapVolumeDisplaceObject`. + +evidence: + +- Desktop fixture exposes `WebGapVolumeDisplace` as VOLUME_DISPLACE type code 59 on a Volume object; save/reopen is exact. +- WASM/Main exposes the same VOLUME_DISPLACE stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Volume displacement evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00107` diff --git a/docs/status/M16-GAP-00107.md b/docs/status/M16-GAP-00107.md new file mode 100644 index 00000000..13a25389 --- /dev/null +++ b/docs/status/M16-GAP-00107.md @@ -0,0 +1,18 @@ +# M16-GAP-00107 Status + +status: done +task: VOLUME_TO_MESH modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh-hosted VOLUME_TO_MESH modifier stack exposure for `mesh:WebGapVolumeToMeshMesh`. + +evidence: + +- Desktop fixture exposes `WebGapVolumeToMesh` as VOLUME_TO_MESH type code 58; save/reopen is exact. +- WASM/Main exposes the same VOLUME_TO_MESH stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Volume-to-mesh evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00108` diff --git a/docs/status/M16-GAP-00108.md b/docs/status/M16-GAP-00108.md new file mode 100644 index 00000000..73711650 --- /dev/null +++ b/docs/status/M16-GAP-00108.md @@ -0,0 +1,18 @@ +# M16-GAP-00108 Status + +status: done +task: WARP modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WARP modifier stack exposure for `mesh:WebGapWarpMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWarp` as WARP type code 35; save/reopen is exact. +- WASM/Main exposes the same WARP stack entry with matching generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Warp deformation evaluation remains metadata-only; this slice covers modifier stack transport and base metadata only. + +nextTask: `M16-GAP-00109` diff --git a/docs/status/M16-GAP-00109.md b/docs/status/M16-GAP-00109.md new file mode 100644 index 00000000..0775ca80 --- /dev/null +++ b/docs/status/M16-GAP-00109.md @@ -0,0 +1,18 @@ +# M16-GAP-00109 Status + +status: done +task: WAVE modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WAVE modifier stack exposure for `mesh:WebGapWaveMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWave` as WAVE type code 7 with height 0.65, width 1.75, and speed 0.42; save/reopen is exact. +- WASM/Main exposes the same WAVE stack entry and matching height, width, speed, and generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Wave deformation evaluation remains metadata-only; this slice covers modifier stack transport and selected parameter metadata. + +nextTask: `M16-GAP-00110` diff --git a/docs/status/M16-GAP-00110.md b/docs/status/M16-GAP-00110.md new file mode 100644 index 00000000..f604a115 --- /dev/null +++ b/docs/status/M16-GAP-00110.md @@ -0,0 +1,18 @@ +# M16-GAP-00110 Status + +status: done +task: WEIGHTED_NORMAL modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WEIGHTED_NORMAL modifier stack exposure for `mesh:WebGapWeightedNormalMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWeightedNormal` as WEIGHTED_NORMAL type code 54 with weight 70; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching weight plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Weighted normal evaluation remains metadata-only; this slice covers modifier stack transport and weight metadata. + +nextTask: `M16-GAP-00111` diff --git a/docs/status/M16-GAP-00111.md b/docs/status/M16-GAP-00111.md new file mode 100644 index 00000000..c6e4a862 --- /dev/null +++ b/docs/status/M16-GAP-00111.md @@ -0,0 +1,18 @@ +# M16-GAP-00111 Status + +status: done +task: WELD modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WELD modifier stack exposure for `mesh:WebGapWeldMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWeld` as WELD type code 55 with merge threshold 0.125; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching merge threshold plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Weld evaluation remains metadata-only; this slice covers modifier stack transport and merge threshold metadata. + +nextTask: `M16-GAP-00112` diff --git a/docs/status/M16-GAP-00112.md b/docs/status/M16-GAP-00112.md new file mode 100644 index 00000000..9f488a46 --- /dev/null +++ b/docs/status/M16-GAP-00112.md @@ -0,0 +1,18 @@ +# M16-GAP-00112 Status + +status: done +task: WIREFRAME modifier LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Mesh WIREFRAME modifier stack exposure for `mesh:WebGapWireframeMesh`. + +evidence: + +- Desktop fixture exposes `WebGapWireframe` as WIREFRAME type code 48 with thickness 0.08; save/reopen is exact. +- WASM/Main exposes the same stack entry and matching thickness plus generic visibility flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, npm comparator, and direct comparator exited 0. + +knownRisk: Wireframe evaluation remains metadata-only; this slice covers modifier stack transport and thickness metadata. + +nextTask: `M16-GAP-00113` diff --git a/docs/status/M16-GAP-00113.md b/docs/status/M16-GAP-00113.md new file mode 100644 index 00000000..67436b40 --- /dev/null +++ b/docs/status/M16-GAP-00113.md @@ -0,0 +1,18 @@ +# M16-GAP-00113 Status + +status: done +task: action.bake_keys operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor bake-keys operation on `object:WebGapBakeKeysObject`. + +evidence: + +- Blender generator creates two selected endpoint keys and executes `bpy.ops.action.bake_keys` in a real Action Editor context; each location channel contains frames 1 through 5 afterward. +- WASM/Main reads the same fixture with three matching channels and five keyframes per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, and direct comparator exited 0. + +knownRisk: This slice covers Action Editor bake semantics for selected endpoint segments; other editor contexts and bake options remain separate operator tasks. + +nextTask: `M16-GAP-00114` diff --git a/docs/status/M16-GAP-00114.md b/docs/status/M16-GAP-00114.md new file mode 100644 index 00000000..65374a59 --- /dev/null +++ b/docs/status/M16-GAP-00114.md @@ -0,0 +1,18 @@ +# M16-GAP-00114 Status + +status: done +task: action.clean operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor clean operation on `object:WebGapCleanObject`. + +evidence: + +- Blender generator creates three location channels with frames 1, 3, and 5 and executes `bpy.ops.action.clean(threshold=0.01, channels=False)` in a real Action Editor context; each channel retains the single frame at 1. +- WASM/Main reads the same fixture with three matching channels and one keyframe per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, and context handoff exited 0. + +knownRisk: This slice covers Action Editor clean with a fixed threshold and channel mode; other clean options and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00115` diff --git a/docs/status/M16-GAP-00115.md b/docs/status/M16-GAP-00115.md new file mode 100644 index 00000000..9543f68e --- /dev/null +++ b/docs/status/M16-GAP-00115.md @@ -0,0 +1,18 @@ +# M16-GAP-00115 Status + +status: done +task: action.clickselect operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor click-select operation on `object:WebGapClickSelectObject`. + +evidence: + +- Blender generator creates three location channels with frames 1, 3, and 5, frames the Action Editor, and executes `bpy.ops.action.clickselect` at frame 3 with column selection; frame 3 is selected in all three channels. +- WASM/Main reads the same fixture with selected keyframe metadata, matching frame-3 selections, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM comparator, direct comparator, context governance, and WASM rebuild exited 0. + +knownRisk: This slice covers Action Editor click selection with column mode at a fixed frame; extend, channel-only, and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00116` diff --git a/docs/status/M16-GAP-00116.md b/docs/status/M16-GAP-00116.md new file mode 100644 index 00000000..d0a838a0 --- /dev/null +++ b/docs/status/M16-GAP-00116.md @@ -0,0 +1,18 @@ +# M16-GAP-00116 Status + +status: done +task: action.copy operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor copy operation on `object:WebGapCopyObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.copy` in a real Action Editor context. +- Desktop and WASM/Main observe the same selected source keys; copy leaves Main unchanged and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers copying a fixed selected frame; paste, mixed-channel copy, and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00117` diff --git a/docs/status/M16-GAP-00117.md b/docs/status/M16-GAP-00117.md new file mode 100644 index 00000000..5bf2da50 --- /dev/null +++ b/docs/status/M16-GAP-00117.md @@ -0,0 +1,18 @@ +# M16-GAP-00117 Status + +status: done +task: action.delete operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor delete operation on `object:WebGapDeleteObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.delete(confirm=False)` in a real Action Editor context; each channel retains frames 1 and 5. +- WASM/Main reads the same three channels with matching `[1, 5]` keyframes; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers deleting one selected frame from Action Editor FCurves; confirmation behavior and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00118` diff --git a/docs/status/M16-GAP-00118.md b/docs/status/M16-GAP-00118.md new file mode 100644 index 00000000..8d15f35b --- /dev/null +++ b/docs/status/M16-GAP-00118.md @@ -0,0 +1,18 @@ +# M16-GAP-00118 Status + +status: done +task: action.duplicate operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor duplicate operation on `object:WebGapDuplicateObject`. + +evidence: + +- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.duplicate`; each channel becomes `[1, 3, 3, 5]` with the duplicated key selected. +- WASM/Main reads the same duplicate keyframes and selected metadata; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers duplicating one selected frame in Action Editor; duplicate-move and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00119` diff --git a/docs/status/M16-GAP-00119.md b/docs/status/M16-GAP-00119.md new file mode 100644 index 00000000..3a12299f --- /dev/null +++ b/docs/status/M16-GAP-00119.md @@ -0,0 +1,18 @@ +# M16-GAP-00119 Status + +status: done +task: action.duplicate_move operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor duplicate-move operation on `object:WebGapDuplicateMoveObject`. + +evidence: + +- Blender generator selects frame 3 and executes `bpy.ops.action.duplicate_move` with a time translation of +2; the duplicate lands at frame 5 and is selected in all three channels. +- WASM/Main reads the same `[1, 3, 5]` channels with frame 5 selected; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and WASM-backed comparison exited 0. + +knownRisk: This slice covers duplicate-move with a fixed +2 frame translation; other transform modes and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00120` diff --git a/docs/status/M16-GAP-00120.md b/docs/status/M16-GAP-00120.md new file mode 100644 index 00000000..5921d1a8 --- /dev/null +++ b/docs/status/M16-GAP-00120.md @@ -0,0 +1,18 @@ +# M16-GAP-00120 Status + +status: done +task: action.easing_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor easing-type operation on `object:WebGapEasingTypeObject`. + +evidence: + +- Blender generator selects frame 3 and executes `bpy.ops.action.easing_type(type="EASE_IN_OUT")`; all three location curves report `AUTO, EASE_IN_OUT, AUTO`. +- WASM/Main now exports keyframe easing metadata and matches desktop; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM rebuild, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers EASE_IN_OUT on one selected frame; other easing modes and editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00121` diff --git a/docs/status/M16-GAP-00121.md b/docs/status/M16-GAP-00121.md new file mode 100644 index 00000000..ec3dfb71 --- /dev/null +++ b/docs/status/M16-GAP-00121.md @@ -0,0 +1,18 @@ +# M16-GAP-00121 Status + +status: done +task: action.extrapolation_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor extrapolation-type operation on `object:WebGapExtrapolationTypeObject`. + +evidence: + +- Blender generator selects the Action Editor FCurves and executes `bpy.ops.action.extrapolation_type(type="LINEAR")`; all three curves report LINEAR extrapolation. +- WASM/Main now exports FCurve extrapolation metadata and matches desktop; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, WASM rebuild, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers LINEAR extrapolation; constant/cyclic modes and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00122` diff --git a/docs/status/M16-GAP-00122.md b/docs/status/M16-GAP-00122.md new file mode 100644 index 00000000..748bb144 --- /dev/null +++ b/docs/status/M16-GAP-00122.md @@ -0,0 +1,18 @@ +# M16-GAP-00122 Status + +status: done +task: action.frame_jump operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor frame-jump operation on `object:WebGapFrameJumpObject`. + +evidence: + +- Blender generator selects frame 5 in all three location channels and executes `bpy.ops.action.frame_jump`; the scene current frame changes from 1 to 5. +- WASM/Main reads current frame 5 and matching selected frame metadata; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exited 0. + +knownRisk: This slice covers jumping to one selected frame; average-frame behavior with multiple selected times and other editor contexts remain separate operator tasks. + +nextTask: `M16-GAP-00123` diff --git a/docs/status/M16-GAP-00123.md b/docs/status/M16-GAP-00123.md new file mode 100644 index 00000000..61a5c428 --- /dev/null +++ b/docs/status/M16-GAP-00123.md @@ -0,0 +1,18 @@ +# M16-GAP-00123 Status + +status: done +task: action.handle_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor handle-type operation on `object:WebGapHandleTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.handle_type(type="VECTOR")`; all saved keyframes expose VECTOR handles. +- WASM/Main reads the same three channels, frames, selection flags, and handle types; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers VECTOR handles on one layered Action; mixed left/right handle modes and other Action operators remain separate tasks. + +nextTask: `M16-GAP-00124` diff --git a/docs/status/M16-GAP-00124.md b/docs/status/M16-GAP-00124.md new file mode 100644 index 00000000..af4d4ab9 --- /dev/null +++ b/docs/status/M16-GAP-00124.md @@ -0,0 +1,18 @@ +# M16-GAP-00124 Status + +status: done +task: action.interpolation_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor interpolation-type operation on `object:WebGapInterpolationTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.interpolation_type(type="LINEAR")`. +- Desktop and WASM/Main expose `BEZIER, LINEAR, BEZIER` per channel; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers LINEAR interpolation on selected keys; other interpolation families and operators remain separate tasks. + +nextTask: `M16-GAP-00125` diff --git a/docs/status/M16-GAP-00125.md b/docs/status/M16-GAP-00125.md new file mode 100644 index 00000000..87c6b4b0 --- /dev/null +++ b/docs/status/M16-GAP-00125.md @@ -0,0 +1,18 @@ +# M16-GAP-00125 Status + +status: done +task: action.keyframe_insert operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe insertion on `object:WebGapKeyframeInsertObject`. + +evidence: + +- Blender starts with frames 1 and 5, runs `bpy.ops.action.keyframe_insert(type="ALL")` at frame 3, and produces three keys in each location channel. +- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers `ALL` insertion into existing Action channels; grouped/selected-channel modes remain separate behavior. + +nextTask: `M16-GAP-00126` diff --git a/docs/status/M16-GAP-00126.md b/docs/status/M16-GAP-00126.md new file mode 100644 index 00000000..4f45d5ad --- /dev/null +++ b/docs/status/M16-GAP-00126.md @@ -0,0 +1,18 @@ +# M16-GAP-00126 Status + +status: done +task: action.keyframe_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe-type operation on `object:WebGapKeyframeTypeObject`. + +evidence: + +- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.keyframe_type(type="BREAKDOWN")`. +- Reader maps `BezTriple.hide` to stable keyframe types; desktop and WASM/Main expose `KEYFRAME, BREAKDOWN, KEYFRAME` per channel. +- Save/reopen is exact and malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers BREAKDOWN keyframe typing; EXTREME, JITTER, MOVING_HOLD and GENERATED types remain separate operator cases. + +nextTask: `M16-GAP-00127` diff --git a/docs/status/M16-GAP-00127.md b/docs/status/M16-GAP-00127.md new file mode 100644 index 00000000..35811333 --- /dev/null +++ b/docs/status/M16-GAP-00127.md @@ -0,0 +1,18 @@ +# M16-GAP-00127 Status + +status: done +task: action.markers_make_local operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor selected scene-marker localization on `object:WebGapMarkersMakeLocalObject`. + +evidence: + +- Blender creates and selects `LocalActionMarker` at frame 3, then executes `bpy.ops.action.markers_make_local`; the marker moves into the Action. +- Reader exposes Action markers; desktop and WASM/Main both read `LocalActionMarker@3`, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers one selected scene marker; multiple-marker ordering and unselected marker retention remain separate cases. + +nextTask: `M16-GAP-00128` diff --git a/docs/status/M16-GAP-00128.md b/docs/status/M16-GAP-00128.md new file mode 100644 index 00000000..a639d9e8 --- /dev/null +++ b/docs/status/M16-GAP-00128.md @@ -0,0 +1,18 @@ +# M16-GAP-00128 Status + +status: done +task: action.mirror operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor X-axis mirror operation on `object:WebGapMirrorObject`. + +evidence: + +- Blender selects all three location channels and executes `bpy.ops.action.mirror(type="XAXIS")`; all keyframe values are negated. +- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers X-axis value mirroring; current-frame and marker-based time mirroring remain separate operator cases. + +nextTask: `M16-GAP-00129` diff --git a/docs/status/M16-GAP-00129.md b/docs/status/M16-GAP-00129.md new file mode 100644 index 00000000..0370f847 --- /dev/null +++ b/docs/status/M16-GAP-00129.md @@ -0,0 +1,18 @@ +# M16-GAP-00129 Status + +status: done +task: action.new operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor new-action operation on `object:WebGapActionNewObject`. + +evidence: + +- Blender executes `bpy.ops.action.new` and creates/assigns `WebGapActionNewObjectAction.001` while preserving the prior Action for stash semantics. +- Desktop and WASM/Main expose the new Action with three channels; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: Background execution requires explicit harness assignment of the newly created Action because the UI template pointer is unavailable; the operator-created datablock and resulting assigned state are still hash-bound. + +nextTask: `M16-GAP-00130` diff --git a/docs/status/M16-GAP-00130.md b/docs/status/M16-GAP-00130.md new file mode 100644 index 00000000..05c5e8b5 --- /dev/null +++ b/docs/status/M16-GAP-00130.md @@ -0,0 +1,18 @@ +# M16-GAP-00130 Status + +status: done +task: action.paste operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor internal clipboard paste on `object:WebGapPasteObject`. + +evidence: + +- Blender copies the selected frame 3 keys and executes `bpy.ops.action.paste(offset="START", merge="MIX")` at frame 7. +- Desktop and WASM/Main expose frames 1, 3, 5, 7 on all channels with matching values; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers internal clipboard paste with START/MIX settings; other offset and merge modes remain separate tasks. + +nextTask: `M16-GAP-00131` diff --git a/docs/status/M16-GAP-00131.md b/docs/status/M16-GAP-00131.md new file mode 100644 index 00000000..eba95d98 --- /dev/null +++ b/docs/status/M16-GAP-00131.md @@ -0,0 +1,18 @@ +# M16-GAP-00131 Status + +status: done +task: action.previewrange_set operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor selected-key preview range on `object:WebGapPreviewRangeObject`. + +evidence: + +- Blender executes `bpy.ops.action.previewrange_set`; the scene stores preview range `1..5` with preview enabled. +- Reader exposes `scene.previewRange`; desktop and WASM/Main match, and save/reopen is exact. +- Malformed Blend input is rejected without mutating Main scene state. +- Generator, rebuilt WASM, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: The Action Editor context computes the selected extent as the full 1..5 range in this background fixture; alternate channel-selection contexts remain separate cases. + +nextTask: `M16-GAP-00132` diff --git a/docs/status/M16-GAP-00132.md b/docs/status/M16-GAP-00132.md new file mode 100644 index 00000000..f73b596a --- /dev/null +++ b/docs/status/M16-GAP-00132.md @@ -0,0 +1,18 @@ +# M16-GAP-00132 Status + +status: done +task: action.push_down operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor push-down into NLA on `object:WebGapPushDownObject`. + +evidence: + +- Blender executes `bpy.ops.action.push_down`; active Action is removed from the active slot and moved to one NLA track with one strip. +- Desktop and WASM/Main expose the original Action and matching NLA strip/action identity; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation/NLA state. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers one push-down operation into an empty NLA stack; existing-track blending remains separate behavior. + +nextTask: `M16-GAP-00133` diff --git a/docs/status/M16-GAP-00133.md b/docs/status/M16-GAP-00133.md new file mode 100644 index 00000000..53f709f9 --- /dev/null +++ b/docs/status/M16-GAP-00133.md @@ -0,0 +1,18 @@ +# M16-GAP-00133 Status + +status: done +task: action.select_all operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor select-all operation on `object:WebGapSelectAllObject`. + +evidence: + +- Blender clears selection and executes `bpy.ops.action.select_all(action="SELECT")`; all 9 keyframes become selected. +- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers the SELECT mode; TOGGLE, DESELECT, and INVERT modes remain separate operator cases. + +nextTask: `M16-GAP-00134` diff --git a/docs/status/M16-GAP-00134.md b/docs/status/M16-GAP-00134.md new file mode 100644 index 00000000..f42a37be --- /dev/null +++ b/docs/status/M16-GAP-00134.md @@ -0,0 +1,18 @@ +# M16-GAP-00134 Status + +status: done +task: action.select_box operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor box selection on `object:WebGapSelectBoxObject`. + +evidence: + +- Blender executes `bpy.ops.action.select_box(mode="SET")` over the frame-3 region coordinates; only frame 3 is selected on all channels. +- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers SET mode and a frame-only box; ADD/SUB/channel-range selection remains separate behavior. + +nextTask: `M16-GAP-00135` diff --git a/docs/status/M16-GAP-00135.md b/docs/status/M16-GAP-00135.md new file mode 100644 index 00000000..81950c75 --- /dev/null +++ b/docs/status/M16-GAP-00135.md @@ -0,0 +1,18 @@ +# M16-GAP-00135 Status + +status: done +task: action.select_by_type operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: Action Editor keyframe-type selection on `object:WebGapSelectByTypeObject`. + +evidence: + +- Blender marks frame 3 as BREAKDOWN, clears selection, and executes `bpy.ops.action.select_by_type(type="BREAKDOWN", extend=False)`. +- Desktop and WASM/Main expose matching keyframe types and selected flags; save/reopen is exact. +- Malformed Blend input is rejected without mutating Main animation data. +- Generator, desktop checker, npm comparator, direct comparator, context handoff, and governance exit 0. + +knownRisk: This slice covers BREAKDOWN selection; other keyframe types and extend behavior remain separate cases. + +nextTask: `M16-GAP-00136` diff --git a/docs/status/M16-GAP-00136.md b/docs/status/M16-GAP-00136.md new file mode 100644 index 00000000..8f8195e6 --- /dev/null +++ b/docs/status/M16-GAP-00136.md @@ -0,0 +1,17 @@ +# M16-GAP-00136 Status + +status: done +task: action.select_circle operator LOCAL_EXACT slice +updated: 2026-08-20 America/New_York + +scope: + +- Action Editor circle selection on `object:WebGapSelectCircleObject`. + +evidence: + +- Blender desktop and WASM/Main expose matching three location channels with frame 3 selected. +- Save/reopen is exact; malformed Blend input is rejected without Main mutation. +- Fixture generation, desktop checker, npm comparator, direct comparator, context handoff and manifest hashing passed. + +nextTask: `M16-GAP-00137` diff --git a/docs/tasks/M16-GAP-00097.md b/docs/tasks/M16-GAP-00097.md new file mode 100644 index 00000000..b98fcd28 --- /dev/null +++ b/docs/tasks/M16-GAP-00097.md @@ -0,0 +1,37 @@ +# M16-GAP-00097: modifier:SUBSURF LOCAL_EXACT slice + +- task: M16-GAP-00097 +- parent: M16-GAP-00096 +- status: in_progress +- gap: modifier:SUBSURF +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SUBSURF data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend` +- Generator: `tools/web/generated/M16-GAP-00097.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00097.py -- tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00097 +node tools/web/check-generated-gap.mjs --task M16-GAP-00097 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00097/` +- Status: `docs/status/M16-GAP-00097.md` +- Manifest: `tests/golden/M16-GAP-00097/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00097 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00098.md b/docs/tasks/M16-GAP-00098.md new file mode 100644 index 00000000..26876b0a --- /dev/null +++ b/docs/tasks/M16-GAP-00098.md @@ -0,0 +1,37 @@ +# M16-GAP-00098: modifier:SURFACE LOCAL_EXACT slice + +- task: M16-GAP-00098 +- parent: M16-GAP-00097 +- status: in_progress +- gap: modifier:SURFACE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SURFACE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend` +- Generator: `tools/web/generated/M16-GAP-00098.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00098.py -- tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00098 +node tools/web/check-generated-gap.mjs --task M16-GAP-00098 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00098/` +- Status: `docs/status/M16-GAP-00098.md` +- Manifest: `tests/golden/M16-GAP-00098/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00098 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00099.md b/docs/tasks/M16-GAP-00099.md new file mode 100644 index 00000000..3cbcb638 --- /dev/null +++ b/docs/tasks/M16-GAP-00099.md @@ -0,0 +1,37 @@ +# M16-GAP-00099: modifier:SURFACE_DEFORM LOCAL_EXACT slice + +- task: M16-GAP-00099 +- parent: M16-GAP-00098 +- status: in_progress +- gap: modifier:SURFACE_DEFORM +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:SURFACE_DEFORM data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend` +- Generator: `tools/web/generated/M16-GAP-00099.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00099.py -- tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00099 +node tools/web/check-generated-gap.mjs --task M16-GAP-00099 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00099/` +- Status: `docs/status/M16-GAP-00099.md` +- Manifest: `tests/golden/M16-GAP-00099/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00099 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00100.md b/docs/tasks/M16-GAP-00100.md new file mode 100644 index 00000000..5c586288 --- /dev/null +++ b/docs/tasks/M16-GAP-00100.md @@ -0,0 +1,37 @@ +# M16-GAP-00100: modifier:TRIANGULATE LOCAL_EXACT slice + +- task: M16-GAP-00100 +- parent: M16-GAP-00099 +- status: in_progress +- gap: modifier:TRIANGULATE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:TRIANGULATE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend` +- Generator: `tools/web/generated/M16-GAP-00100.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00100.py -- tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00100 +node tools/web/check-generated-gap.mjs --task M16-GAP-00100 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00100/` +- Status: `docs/status/M16-GAP-00100.md` +- Manifest: `tests/golden/M16-GAP-00100/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00100 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00101.md b/docs/tasks/M16-GAP-00101.md new file mode 100644 index 00000000..7ce90007 --- /dev/null +++ b/docs/tasks/M16-GAP-00101.md @@ -0,0 +1,37 @@ +# M16-GAP-00101: modifier:UV_PROJECT LOCAL_EXACT slice + +- task: M16-GAP-00101 +- parent: M16-GAP-00100 +- status: in_progress +- gap: modifier:UV_PROJECT +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:UV_PROJECT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend` +- Generator: `tools/web/generated/M16-GAP-00101.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00101.py -- tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00101 +node tools/web/check-generated-gap.mjs --task M16-GAP-00101 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00101/` +- Status: `docs/status/M16-GAP-00101.md` +- Manifest: `tests/golden/M16-GAP-00101/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00101 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00102.md b/docs/tasks/M16-GAP-00102.md new file mode 100644 index 00000000..c86a5608 --- /dev/null +++ b/docs/tasks/M16-GAP-00102.md @@ -0,0 +1,37 @@ +# M16-GAP-00102: modifier:UV_WARP LOCAL_EXACT slice + +- task: M16-GAP-00102 +- parent: M16-GAP-00101 +- status: in_progress +- gap: modifier:UV_WARP +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:UV_WARP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend` +- Generator: `tools/web/generated/M16-GAP-00102.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00102.py -- tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00102 +node tools/web/check-generated-gap.mjs --task M16-GAP-00102 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00102/` +- Status: `docs/status/M16-GAP-00102.md` +- Manifest: `tests/golden/M16-GAP-00102/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00102 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00103.md b/docs/tasks/M16-GAP-00103.md new file mode 100644 index 00000000..af9234de --- /dev/null +++ b/docs/tasks/M16-GAP-00103.md @@ -0,0 +1,37 @@ +# M16-GAP-00103: modifier:VERTEX_WEIGHT_EDIT LOCAL_EXACT slice + +- task: M16-GAP-00103 +- parent: M16-GAP-00102 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_EDIT +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_EDIT data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend` +- Generator: `tools/web/generated/M16-GAP-00103.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00103.py -- tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00103 +node tools/web/check-generated-gap.mjs --task M16-GAP-00103 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00103/` +- Status: `docs/status/M16-GAP-00103.md` +- Manifest: `tests/golden/M16-GAP-00103/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00103 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00104.md b/docs/tasks/M16-GAP-00104.md new file mode 100644 index 00000000..42574401 --- /dev/null +++ b/docs/tasks/M16-GAP-00104.md @@ -0,0 +1,37 @@ +# M16-GAP-00104: modifier:VERTEX_WEIGHT_MIX LOCAL_EXACT slice + +- task: M16-GAP-00104 +- parent: M16-GAP-00103 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_MIX +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_MIX data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend` +- Generator: `tools/web/generated/M16-GAP-00104.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00104.py -- tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00104 +node tools/web/check-generated-gap.mjs --task M16-GAP-00104 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00104/` +- Status: `docs/status/M16-GAP-00104.md` +- Manifest: `tests/golden/M16-GAP-00104/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00104 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00105.md b/docs/tasks/M16-GAP-00105.md new file mode 100644 index 00000000..396a386f --- /dev/null +++ b/docs/tasks/M16-GAP-00105.md @@ -0,0 +1,37 @@ +# M16-GAP-00105: modifier:VERTEX_WEIGHT_PROXIMITY LOCAL_EXACT slice + +- task: M16-GAP-00105 +- parent: M16-GAP-00104 +- status: in_progress +- gap: modifier:VERTEX_WEIGHT_PROXIMITY +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VERTEX_WEIGHT_PROXIMITY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend` +- Generator: `tools/web/generated/M16-GAP-00105.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00105.py -- tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00105 +node tools/web/check-generated-gap.mjs --task M16-GAP-00105 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00105/` +- Status: `docs/status/M16-GAP-00105.md` +- Manifest: `tests/golden/M16-GAP-00105/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00105 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00106.md b/docs/tasks/M16-GAP-00106.md new file mode 100644 index 00000000..15842cc4 --- /dev/null +++ b/docs/tasks/M16-GAP-00106.md @@ -0,0 +1,37 @@ +# M16-GAP-00106: modifier:VOLUME_DISPLACE LOCAL_EXACT slice + +- task: M16-GAP-00106 +- parent: M16-GAP-00105 +- status: in_progress +- gap: modifier:VOLUME_DISPLACE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VOLUME_DISPLACE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend` +- Generator: `tools/web/generated/M16-GAP-00106.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00106.py -- tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00106 +node tools/web/check-generated-gap.mjs --task M16-GAP-00106 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00106/` +- Status: `docs/status/M16-GAP-00106.md` +- Manifest: `tests/golden/M16-GAP-00106/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00106 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00107.md b/docs/tasks/M16-GAP-00107.md new file mode 100644 index 00000000..99248677 --- /dev/null +++ b/docs/tasks/M16-GAP-00107.md @@ -0,0 +1,37 @@ +# M16-GAP-00107: modifier:VOLUME_TO_MESH LOCAL_EXACT slice + +- task: M16-GAP-00107 +- parent: M16-GAP-00106 +- status: in_progress +- gap: modifier:VOLUME_TO_MESH +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:VOLUME_TO_MESH data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend` +- Generator: `tools/web/generated/M16-GAP-00107.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00107.py -- tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00107 +node tools/web/check-generated-gap.mjs --task M16-GAP-00107 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00107/` +- Status: `docs/status/M16-GAP-00107.md` +- Manifest: `tests/golden/M16-GAP-00107/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00107 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00108.md b/docs/tasks/M16-GAP-00108.md new file mode 100644 index 00000000..433a44a3 --- /dev/null +++ b/docs/tasks/M16-GAP-00108.md @@ -0,0 +1,37 @@ +# M16-GAP-00108: modifier:WARP LOCAL_EXACT slice + +- task: M16-GAP-00108 +- parent: M16-GAP-00107 +- status: in_progress +- gap: modifier:WARP +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WARP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend` +- Generator: `tools/web/generated/M16-GAP-00108.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00108.py -- tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00108 +node tools/web/check-generated-gap.mjs --task M16-GAP-00108 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00108/` +- Status: `docs/status/M16-GAP-00108.md` +- Manifest: `tests/golden/M16-GAP-00108/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00108 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00109.md b/docs/tasks/M16-GAP-00109.md new file mode 100644 index 00000000..a8ada4b1 --- /dev/null +++ b/docs/tasks/M16-GAP-00109.md @@ -0,0 +1,37 @@ +# M16-GAP-00109: modifier:WAVE LOCAL_EXACT slice + +- task: M16-GAP-00109 +- parent: M16-GAP-00108 +- status: in_progress +- gap: modifier:WAVE +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WAVE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend` +- Generator: `tools/web/generated/M16-GAP-00109.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00109.py -- tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00109 +node tools/web/check-generated-gap.mjs --task M16-GAP-00109 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00109/` +- Status: `docs/status/M16-GAP-00109.md` +- Manifest: `tests/golden/M16-GAP-00109/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00109 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00110.md b/docs/tasks/M16-GAP-00110.md new file mode 100644 index 00000000..872b94bb --- /dev/null +++ b/docs/tasks/M16-GAP-00110.md @@ -0,0 +1,37 @@ +# M16-GAP-00110: modifier:WEIGHTED_NORMAL LOCAL_EXACT slice + +- task: M16-GAP-00110 +- parent: M16-GAP-00109 +- status: in_progress +- gap: modifier:WEIGHTED_NORMAL +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WEIGHTED_NORMAL data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend` +- Generator: `tools/web/generated/M16-GAP-00110.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00110.py -- tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00110 +node tools/web/check-generated-gap.mjs --task M16-GAP-00110 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00110/` +- Status: `docs/status/M16-GAP-00110.md` +- Manifest: `tests/golden/M16-GAP-00110/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00110 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00111.md b/docs/tasks/M16-GAP-00111.md new file mode 100644 index 00000000..18b5db1a --- /dev/null +++ b/docs/tasks/M16-GAP-00111.md @@ -0,0 +1,37 @@ +# M16-GAP-00111: modifier:WELD LOCAL_EXACT slice + +- task: M16-GAP-00111 +- parent: M16-GAP-00110 +- status: in_progress +- gap: modifier:WELD +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WELD data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend` +- Generator: `tools/web/generated/M16-GAP-00111.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00111.py -- tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00111 +node tools/web/check-generated-gap.mjs --task M16-GAP-00111 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00111/` +- Status: `docs/status/M16-GAP-00111.md` +- Manifest: `tests/golden/M16-GAP-00111/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00111 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00112.md b/docs/tasks/M16-GAP-00112.md new file mode 100644 index 00000000..09e94bc5 --- /dev/null +++ b/docs/tasks/M16-GAP-00112.md @@ -0,0 +1,37 @@ +# M16-GAP-00112: modifier:WIREFRAME LOCAL_EXACT slice + +- task: M16-GAP-00112 +- parent: M16-GAP-00111 +- status: in_progress +- gap: modifier:WIREFRAME +- ownerFamily: MODIFIER +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable modifier:WIREFRAME data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend` +- Generator: `tools/web/generated/M16-GAP-00112.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00112.py -- tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00112 +node tools/web/check-generated-gap.mjs --task M16-GAP-00112 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00112/` +- Status: `docs/status/M16-GAP-00112.md` +- Manifest: `tests/golden/M16-GAP-00112/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00112 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00113.md b/docs/tasks/M16-GAP-00113.md new file mode 100644 index 00000000..31ea4498 --- /dev/null +++ b/docs/tasks/M16-GAP-00113.md @@ -0,0 +1,37 @@ +# M16-GAP-00113: operator:action.bake_keys LOCAL_EXACT slice + +- task: M16-GAP-00113 +- parent: M16-GAP-00112 +- status: in_progress +- gap: operator:action.bake_keys +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.bake_keys data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend` +- Generator: `tools/web/generated/M16-GAP-00113.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00113.py -- tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00113 +node tools/web/check-generated-gap.mjs --task M16-GAP-00113 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00113/` +- Status: `docs/status/M16-GAP-00113.md` +- Manifest: `tests/golden/M16-GAP-00113/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00113 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00114.md b/docs/tasks/M16-GAP-00114.md new file mode 100644 index 00000000..2d52cc22 --- /dev/null +++ b/docs/tasks/M16-GAP-00114.md @@ -0,0 +1,37 @@ +# M16-GAP-00114: operator:action.clean LOCAL_EXACT slice + +- task: M16-GAP-00114 +- parent: M16-GAP-00113 +- status: in_progress +- gap: operator:action.clean +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.clean data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend` +- Generator: `tools/web/generated/M16-GAP-00114.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00114.py -- tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00114 +node tools/web/check-generated-gap.mjs --task M16-GAP-00114 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00114/` +- Status: `docs/status/M16-GAP-00114.md` +- Manifest: `tests/golden/M16-GAP-00114/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00114 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00115.md b/docs/tasks/M16-GAP-00115.md new file mode 100644 index 00000000..9e8817c3 --- /dev/null +++ b/docs/tasks/M16-GAP-00115.md @@ -0,0 +1,37 @@ +# M16-GAP-00115: operator:action.clickselect LOCAL_EXACT slice + +- task: M16-GAP-00115 +- parent: M16-GAP-00114 +- status: in_progress +- gap: operator:action.clickselect +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.clickselect data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend` +- Generator: `tools/web/generated/M16-GAP-00115.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00115.py -- tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00115 +node tools/web/check-generated-gap.mjs --task M16-GAP-00115 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00115/` +- Status: `docs/status/M16-GAP-00115.md` +- Manifest: `tests/golden/M16-GAP-00115/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00115 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00116.md b/docs/tasks/M16-GAP-00116.md new file mode 100644 index 00000000..e666df8d --- /dev/null +++ b/docs/tasks/M16-GAP-00116.md @@ -0,0 +1,37 @@ +# M16-GAP-00116: operator:action.copy LOCAL_EXACT slice + +- task: M16-GAP-00116 +- parent: M16-GAP-00115 +- status: in_progress +- gap: operator:action.copy +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.copy data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend` +- Generator: `tools/web/generated/M16-GAP-00116.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00116.py -- tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00116 +node tools/web/check-generated-gap.mjs --task M16-GAP-00116 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00116/` +- Status: `docs/status/M16-GAP-00116.md` +- Manifest: `tests/golden/M16-GAP-00116/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00116 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00117.md b/docs/tasks/M16-GAP-00117.md new file mode 100644 index 00000000..94bfc6e5 --- /dev/null +++ b/docs/tasks/M16-GAP-00117.md @@ -0,0 +1,37 @@ +# M16-GAP-00117: operator:action.delete LOCAL_EXACT slice + +- task: M16-GAP-00117 +- parent: M16-GAP-00116 +- status: in_progress +- gap: operator:action.delete +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.delete data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend` +- Generator: `tools/web/generated/M16-GAP-00117.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00117.py -- tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00117 +node tools/web/check-generated-gap.mjs --task M16-GAP-00117 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00117/` +- Status: `docs/status/M16-GAP-00117.md` +- Manifest: `tests/golden/M16-GAP-00117/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00117 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00118.md b/docs/tasks/M16-GAP-00118.md new file mode 100644 index 00000000..0aa416bb --- /dev/null +++ b/docs/tasks/M16-GAP-00118.md @@ -0,0 +1,37 @@ +# M16-GAP-00118: operator:action.duplicate LOCAL_EXACT slice + +- task: M16-GAP-00118 +- parent: M16-GAP-00117 +- status: in_progress +- gap: operator:action.duplicate +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.duplicate data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend` +- Generator: `tools/web/generated/M16-GAP-00118.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00118.py -- tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00118 +node tools/web/check-generated-gap.mjs --task M16-GAP-00118 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00118/` +- Status: `docs/status/M16-GAP-00118.md` +- Manifest: `tests/golden/M16-GAP-00118/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00118 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00119.md b/docs/tasks/M16-GAP-00119.md new file mode 100644 index 00000000..76738f05 --- /dev/null +++ b/docs/tasks/M16-GAP-00119.md @@ -0,0 +1,37 @@ +# M16-GAP-00119: operator:action.duplicate_move LOCAL_EXACT slice + +- task: M16-GAP-00119 +- parent: M16-GAP-00118 +- status: in_progress +- gap: operator:action.duplicate_move +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.duplicate_move data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend` +- Generator: `tools/web/generated/M16-GAP-00119.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00119.py -- tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00119 +node tools/web/check-generated-gap.mjs --task M16-GAP-00119 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00119/` +- Status: `docs/status/M16-GAP-00119.md` +- Manifest: `tests/golden/M16-GAP-00119/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00119 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00120.md b/docs/tasks/M16-GAP-00120.md new file mode 100644 index 00000000..f07f0d60 --- /dev/null +++ b/docs/tasks/M16-GAP-00120.md @@ -0,0 +1,37 @@ +# M16-GAP-00120: operator:action.easing_type LOCAL_EXACT slice + +- task: M16-GAP-00120 +- parent: M16-GAP-00119 +- status: in_progress +- gap: operator:action.easing_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.easing_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend` +- Generator: `tools/web/generated/M16-GAP-00120.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00120.py -- tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00120 +node tools/web/check-generated-gap.mjs --task M16-GAP-00120 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00120/` +- Status: `docs/status/M16-GAP-00120.md` +- Manifest: `tests/golden/M16-GAP-00120/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00120 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00121.md b/docs/tasks/M16-GAP-00121.md new file mode 100644 index 00000000..d4e2c206 --- /dev/null +++ b/docs/tasks/M16-GAP-00121.md @@ -0,0 +1,37 @@ +# M16-GAP-00121: operator:action.extrapolation_type LOCAL_EXACT slice + +- task: M16-GAP-00121 +- parent: M16-GAP-00120 +- status: in_progress +- gap: operator:action.extrapolation_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.extrapolation_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend` +- Generator: `tools/web/generated/M16-GAP-00121.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00121.py -- tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00121 +node tools/web/check-generated-gap.mjs --task M16-GAP-00121 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00121/` +- Status: `docs/status/M16-GAP-00121.md` +- Manifest: `tests/golden/M16-GAP-00121/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00121 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00122.md b/docs/tasks/M16-GAP-00122.md new file mode 100644 index 00000000..ebe76a9d --- /dev/null +++ b/docs/tasks/M16-GAP-00122.md @@ -0,0 +1,37 @@ +# M16-GAP-00122: operator:action.frame_jump LOCAL_EXACT slice + +- task: M16-GAP-00122 +- parent: M16-GAP-00121 +- status: in_progress +- gap: operator:action.frame_jump +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.frame_jump data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend` +- Generator: `tools/web/generated/M16-GAP-00122.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00122.py -- tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00122 +node tools/web/check-generated-gap.mjs --task M16-GAP-00122 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00122/` +- Status: `docs/status/M16-GAP-00122.md` +- Manifest: `tests/golden/M16-GAP-00122/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00122 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00123.md b/docs/tasks/M16-GAP-00123.md new file mode 100644 index 00000000..28be8abe --- /dev/null +++ b/docs/tasks/M16-GAP-00123.md @@ -0,0 +1,37 @@ +# M16-GAP-00123: operator:action.handle_type LOCAL_EXACT slice + +- task: M16-GAP-00123 +- parent: M16-GAP-00122 +- status: in_progress +- gap: operator:action.handle_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.handle_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend` +- Generator: `tools/web/generated/M16-GAP-00123.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00123.py -- tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00123 +node tools/web/check-generated-gap.mjs --task M16-GAP-00123 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00123/` +- Status: `docs/status/M16-GAP-00123.md` +- Manifest: `tests/golden/M16-GAP-00123/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00123 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00124.md b/docs/tasks/M16-GAP-00124.md new file mode 100644 index 00000000..a730bafd --- /dev/null +++ b/docs/tasks/M16-GAP-00124.md @@ -0,0 +1,37 @@ +# M16-GAP-00124: operator:action.interpolation_type LOCAL_EXACT slice + +- task: M16-GAP-00124 +- parent: M16-GAP-00123 +- status: in_progress +- gap: operator:action.interpolation_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.interpolation_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend` +- Generator: `tools/web/generated/M16-GAP-00124.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00124.py -- tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00124 +node tools/web/check-generated-gap.mjs --task M16-GAP-00124 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00124/` +- Status: `docs/status/M16-GAP-00124.md` +- Manifest: `tests/golden/M16-GAP-00124/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00124 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00125.md b/docs/tasks/M16-GAP-00125.md new file mode 100644 index 00000000..a23ee754 --- /dev/null +++ b/docs/tasks/M16-GAP-00125.md @@ -0,0 +1,37 @@ +# M16-GAP-00125: operator:action.keyframe_insert LOCAL_EXACT slice + +- task: M16-GAP-00125 +- parent: M16-GAP-00124 +- status: in_progress +- gap: operator:action.keyframe_insert +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.keyframe_insert data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend` +- Generator: `tools/web/generated/M16-GAP-00125.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00125.py -- tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00125 +node tools/web/check-generated-gap.mjs --task M16-GAP-00125 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00125/` +- Status: `docs/status/M16-GAP-00125.md` +- Manifest: `tests/golden/M16-GAP-00125/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00125 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00126.md b/docs/tasks/M16-GAP-00126.md new file mode 100644 index 00000000..939e16f8 --- /dev/null +++ b/docs/tasks/M16-GAP-00126.md @@ -0,0 +1,37 @@ +# M16-GAP-00126: operator:action.keyframe_type LOCAL_EXACT slice + +- task: M16-GAP-00126 +- parent: M16-GAP-00125 +- status: in_progress +- gap: operator:action.keyframe_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.keyframe_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend` +- Generator: `tools/web/generated/M16-GAP-00126.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00126.py -- tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00126 +node tools/web/check-generated-gap.mjs --task M16-GAP-00126 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00126/` +- Status: `docs/status/M16-GAP-00126.md` +- Manifest: `tests/golden/M16-GAP-00126/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00126 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00127.md b/docs/tasks/M16-GAP-00127.md new file mode 100644 index 00000000..734fc3d1 --- /dev/null +++ b/docs/tasks/M16-GAP-00127.md @@ -0,0 +1,37 @@ +# M16-GAP-00127: operator:action.markers_make_local LOCAL_EXACT slice + +- task: M16-GAP-00127 +- parent: M16-GAP-00126 +- status: in_progress +- gap: operator:action.markers_make_local +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.markers_make_local data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend` +- Generator: `tools/web/generated/M16-GAP-00127.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00127.py -- tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00127 +node tools/web/check-generated-gap.mjs --task M16-GAP-00127 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00127/` +- Status: `docs/status/M16-GAP-00127.md` +- Manifest: `tests/golden/M16-GAP-00127/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00127 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00128.md b/docs/tasks/M16-GAP-00128.md new file mode 100644 index 00000000..49ac461c --- /dev/null +++ b/docs/tasks/M16-GAP-00128.md @@ -0,0 +1,37 @@ +# M16-GAP-00128: operator:action.mirror LOCAL_EXACT slice + +- task: M16-GAP-00128 +- parent: M16-GAP-00127 +- status: in_progress +- gap: operator:action.mirror +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.mirror data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend` +- Generator: `tools/web/generated/M16-GAP-00128.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00128.py -- tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00128 +node tools/web/check-generated-gap.mjs --task M16-GAP-00128 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00128/` +- Status: `docs/status/M16-GAP-00128.md` +- Manifest: `tests/golden/M16-GAP-00128/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00128 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00129.md b/docs/tasks/M16-GAP-00129.md new file mode 100644 index 00000000..b6cfc7c8 --- /dev/null +++ b/docs/tasks/M16-GAP-00129.md @@ -0,0 +1,37 @@ +# M16-GAP-00129: operator:action.new LOCAL_EXACT slice + +- task: M16-GAP-00129 +- parent: M16-GAP-00128 +- status: in_progress +- gap: operator:action.new +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.new data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00129-operator-action.new.blend` +- Generator: `tools/web/generated/M16-GAP-00129.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00129.py -- tests/files/web/generated/M16-GAP-00129-operator-action.new.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00129 +node tools/web/check-generated-gap.mjs --task M16-GAP-00129 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00129/` +- Status: `docs/status/M16-GAP-00129.md` +- Manifest: `tests/golden/M16-GAP-00129/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00129 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00130.md b/docs/tasks/M16-GAP-00130.md new file mode 100644 index 00000000..0ea7a52a --- /dev/null +++ b/docs/tasks/M16-GAP-00130.md @@ -0,0 +1,37 @@ +# M16-GAP-00130: operator:action.paste LOCAL_EXACT slice + +- task: M16-GAP-00130 +- parent: M16-GAP-00129 +- status: in_progress +- gap: operator:action.paste +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.paste data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend` +- Generator: `tools/web/generated/M16-GAP-00130.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00130.py -- tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00130 +node tools/web/check-generated-gap.mjs --task M16-GAP-00130 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00130/` +- Status: `docs/status/M16-GAP-00130.md` +- Manifest: `tests/golden/M16-GAP-00130/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00130 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00131.md b/docs/tasks/M16-GAP-00131.md new file mode 100644 index 00000000..93fca3a5 --- /dev/null +++ b/docs/tasks/M16-GAP-00131.md @@ -0,0 +1,37 @@ +# M16-GAP-00131: operator:action.previewrange_set LOCAL_EXACT slice + +- task: M16-GAP-00131 +- parent: M16-GAP-00130 +- status: in_progress +- gap: operator:action.previewrange_set +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.previewrange_set data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend` +- Generator: `tools/web/generated/M16-GAP-00131.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00131.py -- tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00131 +node tools/web/check-generated-gap.mjs --task M16-GAP-00131 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00131/` +- Status: `docs/status/M16-GAP-00131.md` +- Manifest: `tests/golden/M16-GAP-00131/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00131 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00132.md b/docs/tasks/M16-GAP-00132.md new file mode 100644 index 00000000..83e97ea8 --- /dev/null +++ b/docs/tasks/M16-GAP-00132.md @@ -0,0 +1,37 @@ +# M16-GAP-00132: operator:action.push_down LOCAL_EXACT slice + +- task: M16-GAP-00132 +- parent: M16-GAP-00131 +- status: in_progress +- gap: operator:action.push_down +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.push_down data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend` +- Generator: `tools/web/generated/M16-GAP-00132.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00132.py -- tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00132 +node tools/web/check-generated-gap.mjs --task M16-GAP-00132 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00132/` +- Status: `docs/status/M16-GAP-00132.md` +- Manifest: `tests/golden/M16-GAP-00132/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00132 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00133.md b/docs/tasks/M16-GAP-00133.md new file mode 100644 index 00000000..1f2b1b85 --- /dev/null +++ b/docs/tasks/M16-GAP-00133.md @@ -0,0 +1,37 @@ +# M16-GAP-00133: operator:action.select_all LOCAL_EXACT slice + +- task: M16-GAP-00133 +- parent: M16-GAP-00132 +- status: in_progress +- gap: operator:action.select_all +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_all data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend` +- Generator: `tools/web/generated/M16-GAP-00133.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00133.py -- tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00133 +node tools/web/check-generated-gap.mjs --task M16-GAP-00133 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00133/` +- Status: `docs/status/M16-GAP-00133.md` +- Manifest: `tests/golden/M16-GAP-00133/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00133 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00134.md b/docs/tasks/M16-GAP-00134.md new file mode 100644 index 00000000..818e8398 --- /dev/null +++ b/docs/tasks/M16-GAP-00134.md @@ -0,0 +1,37 @@ +# M16-GAP-00134: operator:action.select_box LOCAL_EXACT slice + +- task: M16-GAP-00134 +- parent: M16-GAP-00133 +- status: in_progress +- gap: operator:action.select_box +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_box data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend` +- Generator: `tools/web/generated/M16-GAP-00134.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00134.py -- tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00134 +node tools/web/check-generated-gap.mjs --task M16-GAP-00134 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00134/` +- Status: `docs/status/M16-GAP-00134.md` +- Manifest: `tests/golden/M16-GAP-00134/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00134 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00135.md b/docs/tasks/M16-GAP-00135.md new file mode 100644 index 00000000..91baf044 --- /dev/null +++ b/docs/tasks/M16-GAP-00135.md @@ -0,0 +1,37 @@ +# M16-GAP-00135: operator:action.select_by_type LOCAL_EXACT slice + +- task: M16-GAP-00135 +- parent: M16-GAP-00134 +- status: in_progress +- gap: operator:action.select_by_type +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_by_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend` +- Generator: `tools/web/generated/M16-GAP-00135.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00135.py -- tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00135 +node tools/web/check-generated-gap.mjs --task M16-GAP-00135 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00135/` +- Status: `docs/status/M16-GAP-00135.md` +- Manifest: `tests/golden/M16-GAP-00135/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00135 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/docs/tasks/M16-GAP-00136.md b/docs/tasks/M16-GAP-00136.md new file mode 100644 index 00000000..d9ae3b8c --- /dev/null +++ b/docs/tasks/M16-GAP-00136.md @@ -0,0 +1,37 @@ +# M16-GAP-00136: operator:action.select_circle LOCAL_EXACT slice + +- task: M16-GAP-00136 +- parent: M16-GAP-00135 +- status: in_progress +- gap: operator:action.select_circle +- ownerFamily: OPERATOR +- targetImplementationClass: LOCAL_EXACT + +## 目标 + +Make the same minimal fixture produce observable operator:action.select_circle data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers. + +## 输入与范围 + +- Fixture: `tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend` +- Generator: `tools/web/generated/M16-GAP-00136.py` +- Production: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` +- Checker: `tools/web/check-generated-gap.mjs` +- Do: field read, desktop/WASM comparison, save/reopen, structured report. +- Do not: other gaps, Firefox/WebKit, or full editor behavior. + +## 验收 + +build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00136.py -- tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend +npm --prefix web run test:generated-gap -- --task M16-GAP-00136 +node tools/web/check-generated-gap.mjs --task M16-GAP-00136 + +Malformed/unsupported, cancellation, duplicate, over-budget, or hash-drift cases must keep in_progress; they must not change Main revision or advance nextTask. + +## 交付与回滚 + +- Reports: `tests/golden/M16-GAP-00136/` +- Status: `docs/status/M16-GAP-00136.md` +- Manifest: `tests/golden/M16-GAP-00136/manifest.json` +- Handoff: `node tools/web/check-task-context.mjs --task M16-GAP-00136 --write` +- Rollback: remove this task production entry, fixture, tests, reports, manifest, status, and context; restore the parent as queue tail without rewriting parent evidence. diff --git a/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend b/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend new file mode 100644 index 00000000..55fdec1b Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend differ diff --git a/tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend b/tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend new file mode 100644 index 00000000..aeef277a Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend differ diff --git a/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend b/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend new file mode 100644 index 00000000..afe39c9d Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend differ diff --git a/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend b/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend new file mode 100644 index 00000000..7b2a5d79 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend differ diff --git a/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend b/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend new file mode 100644 index 00000000..93b6d003 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend differ diff --git a/tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend b/tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend new file mode 100644 index 00000000..4c5677a8 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend differ diff --git a/tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend b/tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend new file mode 100644 index 00000000..5751b8e2 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend differ diff --git a/tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend b/tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend new file mode 100644 index 00000000..deb2a8f0 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend differ diff --git a/tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend b/tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend new file mode 100644 index 00000000..e1b2c3b1 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend differ diff --git a/tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend b/tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend new file mode 100644 index 00000000..875ce49b Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend differ diff --git a/tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend b/tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend new file mode 100644 index 00000000..abf8422f Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend differ diff --git a/tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend b/tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend new file mode 100644 index 00000000..7d8c3b8f Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend differ diff --git a/tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend b/tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend new file mode 100644 index 00000000..16930e6a Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend differ diff --git a/tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend b/tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend new file mode 100644 index 00000000..0a6f6a2d Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend differ diff --git a/tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend b/tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend new file mode 100644 index 00000000..93e51ebe Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend differ diff --git a/tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend b/tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend new file mode 100644 index 00000000..7b1af36c Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend differ diff --git a/tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend b/tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend new file mode 100644 index 00000000..dd0063f2 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend differ diff --git a/tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend b/tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend new file mode 100644 index 00000000..3faaf72b Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend differ diff --git a/tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend b/tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend new file mode 100644 index 00000000..465fe4f9 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend differ diff --git a/tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend b/tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend new file mode 100644 index 00000000..d7425298 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend differ diff --git a/tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend b/tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend new file mode 100644 index 00000000..f8375e16 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend differ diff --git a/tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend b/tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend new file mode 100644 index 00000000..56fe261f Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend differ diff --git a/tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend b/tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend new file mode 100644 index 00000000..4578248d Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend differ diff --git a/tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend b/tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend new file mode 100644 index 00000000..88fc8239 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend differ diff --git a/tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend b/tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend new file mode 100644 index 00000000..70311c09 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend b/tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend new file mode 100644 index 00000000..bb4a8ae0 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend b/tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend new file mode 100644 index 00000000..ceb6fad2 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend differ diff --git a/tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend b/tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend new file mode 100644 index 00000000..d39dcbb8 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend b/tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend new file mode 100644 index 00000000..a694a150 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend b/tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend new file mode 100644 index 00000000..b1d3ab54 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend differ diff --git a/tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend b/tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend new file mode 100644 index 00000000..49583dd4 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend b/tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend new file mode 100644 index 00000000..720bf802 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend differ diff --git a/tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend b/tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend new file mode 100644 index 00000000..2d1c2508 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend differ diff --git a/tests/files/web/generated/M16-GAP-00129-operator-action.new.blend b/tests/files/web/generated/M16-GAP-00129-operator-action.new.blend new file mode 100644 index 00000000..9d46698d Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00129-operator-action.new.blend differ diff --git a/tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend b/tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend new file mode 100644 index 00000000..479d317e Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend differ diff --git a/tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend b/tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend new file mode 100644 index 00000000..d7640168 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend differ diff --git a/tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend b/tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend new file mode 100644 index 00000000..4e2f9b95 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend differ diff --git a/tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend b/tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend new file mode 100644 index 00000000..20ba9981 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend differ diff --git a/tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend b/tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend new file mode 100644 index 00000000..b39012bf Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend differ diff --git a/tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend b/tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend new file mode 100644 index 00000000..7552a8be Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend differ diff --git a/tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend b/tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend new file mode 100644 index 00000000..858134e1 Binary files /dev/null and b/tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend differ diff --git a/tests/golden/M15-03A/completed-gap-tasks.json b/tests/golden/M15-03A/completed-gap-tasks.json index 9a03693e..7574bff6 100644 --- a/tests/golden/M15-03A/completed-gap-tasks.json +++ b/tests/golden/M15-03A/completed-gap-tasks.json @@ -67,5 +67,72 @@ "modifier:GREASE_PENCIL_TEXTURE", "modifier:GREASE_PENCIL_THICKNESS", "modifier:GREASE_PENCIL_TIME", - "modifier:GREASE_PENCIL_TINT" + "modifier:GREASE_PENCIL_TINT", + "modifier:GREASE_PENCIL_VERTEX_WEIGHT_ANGLE", + "modifier:GREASE_PENCIL_VERTEX_WEIGHT_PROXIMITY", + "modifier:HOOK", + "modifier:LAPLACIANDEFORM", + "modifier:LAPLACIANSMOOTH", + "modifier:LATTICE", + "modifier:LINEART", + "modifier:MASK", + "modifier:MESH_CACHE", + "modifier:MESH_DEFORM", + "modifier:MESH_SEQUENCE_CACHE", + "modifier:MESH_TO_VOLUME", + "modifier:MIRROR", + "modifier:MULTIRES", + "modifier:NODES", + "modifier:NORMAL_EDIT", + "modifier:OCEAN", + "modifier:PARTICLE_INSTANCE", + "modifier:PARTICLE_SYSTEM", + "modifier:REMESH", + "modifier:SCREW", + "modifier:SHRINKWRAP", + "modifier:SIMPLE_DEFORM", + "modifier:SKIN", + "modifier:SMOOTH", + "modifier:SOFT_BODY", + "modifier:SOLIDIFY", + "modifier:SUBSURF", + "modifier:SURFACE", + "modifier:SURFACE_DEFORM", + "modifier:TRIANGULATE", + "modifier:UV_PROJECT", + "modifier:UV_WARP", + "modifier:VERTEX_WEIGHT_EDIT", + "modifier:VERTEX_WEIGHT_MIX", + "modifier:VERTEX_WEIGHT_PROXIMITY", + "modifier:VOLUME_DISPLACE", + "modifier:VOLUME_TO_MESH", + "modifier:WARP", + "modifier:WAVE", + "modifier:WEIGHTED_NORMAL", + "modifier:WELD", + "modifier:WIREFRAME", + "operator:action.bake_keys", + "operator:action.clean", + "operator:action.clickselect", + "operator:action.copy", + "operator:action.delete", + "operator:action.duplicate", + "operator:action.duplicate_move", + "operator:action.easing_type", + "operator:action.extrapolation_type", + "operator:action.frame_jump", + "operator:action.handle_type", + "operator:action.interpolation_type", + "operator:action.keyframe_insert", + "operator:action.keyframe_type", + "operator:action.markers_make_local", + "operator:action.mirror", + "operator:action.new", + "operator:action.paste", + "operator:action.previewrange_set", + "operator:action.push_down", + "operator:action.select_all", + "operator:action.select_box", + "operator:action.select_by_type", + "operator:action.select_circle" ] diff --git a/tests/golden/M15-03A/next-task-plan.json b/tests/golden/M15-03A/next-task-plan.json index a8dd3f69..cdf3dc30 100644 --- a/tests/golden/M15-03A/next-task-plan.json +++ b/tests/golden/M15-03A/next-task-plan.json @@ -13,14 +13,14 @@ }, "completions": { "path": "tests/golden/M15-03A/completed-gap-tasks.json", - "sha256": "19e53785fe5f7ae596f470936f5bc3348898a863da1cac2339e4ec955490b912" + "sha256": "65fc0455aaa0cde333537b6e6d1d5de022ad4fab161837ca18d47a8272ef25c8" } }, "summary": { "taskCount": 6900, "active": 1, - "pending": 6810, - "completed": 89, + "pending": 6763, + "completed": 136, "blocked": 0, "byWave": { "M16": 2667, @@ -2223,7 +2223,7 @@ "gapId": "modifier:SOLIDIFY", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "active", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2246,7 +2246,7 @@ "gapId": "modifier:SUBSURF", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2269,7 +2269,7 @@ "gapId": "modifier:SURFACE", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2292,7 +2292,7 @@ "gapId": "modifier:SURFACE_DEFORM", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2315,7 +2315,7 @@ "gapId": "modifier:TRIANGULATE", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2338,7 +2338,7 @@ "gapId": "modifier:UV_PROJECT", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2361,7 +2361,7 @@ "gapId": "modifier:UV_WARP", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2384,7 +2384,7 @@ "gapId": "modifier:VERTEX_WEIGHT_EDIT", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2407,7 +2407,7 @@ "gapId": "modifier:VERTEX_WEIGHT_MIX", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2430,7 +2430,7 @@ "gapId": "modifier:VERTEX_WEIGHT_PROXIMITY", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2453,7 +2453,7 @@ "gapId": "modifier:VOLUME_DISPLACE", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2476,7 +2476,7 @@ "gapId": "modifier:VOLUME_TO_MESH", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2499,7 +2499,7 @@ "gapId": "modifier:WARP", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2522,7 +2522,7 @@ "gapId": "modifier:WAVE", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2545,7 +2545,7 @@ "gapId": "modifier:WEIGHTED_NORMAL", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2568,7 +2568,7 @@ "gapId": "modifier:WELD", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2591,7 +2591,7 @@ "gapId": "modifier:WIREFRAME", "ownerFamily": "MODIFIER", "sourceTask": "M15-01C", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2614,7 +2614,7 @@ "gapId": "operator:action.bake_keys", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2637,7 +2637,7 @@ "gapId": "operator:action.clean", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2660,7 +2660,7 @@ "gapId": "operator:action.clickselect", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2683,7 +2683,7 @@ "gapId": "operator:action.copy", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2706,7 +2706,7 @@ "gapId": "operator:action.delete", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2729,7 +2729,7 @@ "gapId": "operator:action.duplicate", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2752,7 +2752,7 @@ "gapId": "operator:action.duplicate_move", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2775,7 +2775,7 @@ "gapId": "operator:action.easing_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2798,7 +2798,7 @@ "gapId": "operator:action.extrapolation_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2821,7 +2821,7 @@ "gapId": "operator:action.frame_jump", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2844,7 +2844,7 @@ "gapId": "operator:action.handle_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2867,7 +2867,7 @@ "gapId": "operator:action.interpolation_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2890,7 +2890,7 @@ "gapId": "operator:action.keyframe_insert", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2913,7 +2913,7 @@ "gapId": "operator:action.keyframe_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2936,7 +2936,7 @@ "gapId": "operator:action.markers_make_local", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2959,7 +2959,7 @@ "gapId": "operator:action.mirror", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -2982,7 +2982,7 @@ "gapId": "operator:action.new", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3005,7 +3005,7 @@ "gapId": "operator:action.paste", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3028,7 +3028,7 @@ "gapId": "operator:action.previewrange_set", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3051,7 +3051,7 @@ "gapId": "operator:action.push_down", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3074,7 +3074,7 @@ "gapId": "operator:action.select_all", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3097,7 +3097,7 @@ "gapId": "operator:action.select_box", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3120,7 +3120,7 @@ "gapId": "operator:action.select_by_type", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3143,7 +3143,7 @@ "gapId": "operator:action.select_circle", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "completed", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -3166,7 +3166,7 @@ "gapId": "operator:action.select_column", "ownerFamily": "OPERATOR", "sourceTask": "M15-01B", - "state": "pending", + "state": "active", "dependencies": [], "targetImplementationClass": "LOCAL_EXACT", "fixture": { @@ -158734,7 +158734,7 @@ ] } ], - "firstTask": "M16-GAP-00096", + "firstTask": "M16-GAP-00137", "closureGate": "M15-03E", "nextTask": "M15-03B" } diff --git a/tests/golden/M15-03A/task-catalog.jsonl b/tests/golden/M15-03A/task-catalog.jsonl index 313f0d84..439ce1e8 100644 --- a/tests/golden/M15-03A/task-catalog.jsonl +++ b/tests/golden/M15-03A/task-catalog.jsonl @@ -93,48 +93,48 @@ {"id":"M16-GAP-00093","gapId":"modifier:SKIN","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} {"id":"M16-GAP-00094","gapId":"modifier:SMOOTH","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} {"id":"M16-GAP-00095","gapId":"modifier:SOFT_BODY","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00096","gapId":"modifier:SOLIDIFY","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"active","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00097","gapId":"modifier:SUBSURF","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00098","gapId":"modifier:SURFACE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00099","gapId":"modifier:SURFACE_DEFORM","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00100","gapId":"modifier:TRIANGULATE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00101","gapId":"modifier:UV_PROJECT","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00102","gapId":"modifier:UV_WARP","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00103","gapId":"modifier:VERTEX_WEIGHT_EDIT","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00104","gapId":"modifier:VERTEX_WEIGHT_MIX","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00105","gapId":"modifier:VERTEX_WEIGHT_PROXIMITY","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00106","gapId":"modifier:VOLUME_DISPLACE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00107","gapId":"modifier:VOLUME_TO_MESH","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00108","gapId":"modifier:WARP","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00109","gapId":"modifier:WAVE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00110","gapId":"modifier:WEIGHTED_NORMAL","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00111","gapId":"modifier:WELD","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00112","gapId":"modifier:WIREFRAME","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00113","gapId":"operator:action.bake_keys","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00114","gapId":"operator:action.clean","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00115","gapId":"operator:action.clickselect","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00116","gapId":"operator:action.copy","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00117","gapId":"operator:action.delete","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00118","gapId":"operator:action.duplicate","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00119","gapId":"operator:action.duplicate_move","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00120","gapId":"operator:action.easing_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00121","gapId":"operator:action.extrapolation_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00122","gapId":"operator:action.frame_jump","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00123","gapId":"operator:action.handle_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00124","gapId":"operator:action.interpolation_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00125","gapId":"operator:action.keyframe_insert","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00126","gapId":"operator:action.keyframe_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00127","gapId":"operator:action.markers_make_local","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00128","gapId":"operator:action.mirror","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00129","gapId":"operator:action.new","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00130","gapId":"operator:action.paste","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00131","gapId":"operator:action.previewrange_set","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00132","gapId":"operator:action.push_down","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00133","gapId":"operator:action.select_all","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00134","gapId":"operator:action.select_box","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00135","gapId":"operator:action.select_by_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00136","gapId":"operator:action.select_circle","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} -{"id":"M16-GAP-00137","gapId":"operator:action.select_column","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00096","gapId":"modifier:SOLIDIFY","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00097","gapId":"modifier:SUBSURF","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00098","gapId":"modifier:SURFACE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00099","gapId":"modifier:SURFACE_DEFORM","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00100","gapId":"modifier:TRIANGULATE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00101","gapId":"modifier:UV_PROJECT","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00102","gapId":"modifier:UV_WARP","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00103","gapId":"modifier:VERTEX_WEIGHT_EDIT","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00104","gapId":"modifier:VERTEX_WEIGHT_MIX","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00105","gapId":"modifier:VERTEX_WEIGHT_PROXIMITY","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00106","gapId":"modifier:VOLUME_DISPLACE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00107","gapId":"modifier:VOLUME_TO_MESH","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00108","gapId":"modifier:WARP","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00109","gapId":"modifier:WAVE","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00110","gapId":"modifier:WEIGHTED_NORMAL","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00111","gapId":"modifier:WELD","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00112","gapId":"modifier:WIREFRAME","ownerFamily":"MODIFIER","sourceTask":"M15-01C","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00113","gapId":"operator:action.bake_keys","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00114","gapId":"operator:action.clean","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00115","gapId":"operator:action.clickselect","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00116","gapId":"operator:action.copy","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00117","gapId":"operator:action.delete","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00118","gapId":"operator:action.duplicate","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00119","gapId":"operator:action.duplicate_move","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00120","gapId":"operator:action.easing_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00121","gapId":"operator:action.extrapolation_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00122","gapId":"operator:action.frame_jump","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00123","gapId":"operator:action.handle_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00124","gapId":"operator:action.interpolation_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00125","gapId":"operator:action.keyframe_insert","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00126","gapId":"operator:action.keyframe_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00127","gapId":"operator:action.markers_make_local","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00128","gapId":"operator:action.mirror","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00129","gapId":"operator:action.new","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00130","gapId":"operator:action.paste","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00131","gapId":"operator:action.previewrange_set","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00132","gapId":"operator:action.push_down","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00133","gapId":"operator:action.select_all","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00134","gapId":"operator:action.select_box","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00135","gapId":"operator:action.select_by_type","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00136","gapId":"operator:action.select_circle","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"completed","targetImplementationClass":"LOCAL_EXACT"} +{"id":"M16-GAP-00137","gapId":"operator:action.select_column","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"active","targetImplementationClass":"LOCAL_EXACT"} {"id":"M16-GAP-00138","gapId":"operator:action.select_lasso","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} {"id":"M16-GAP-00139","gapId":"operator:action.select_leftright","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} {"id":"M16-GAP-00140","gapId":"operator:action.select_less","ownerFamily":"OPERATOR","sourceTask":"M15-01B","state":"pending","targetImplementationClass":"LOCAL_EXACT"} diff --git a/tests/golden/M15-03A/task-index.json b/tests/golden/M15-03A/task-index.json index 0bf7f870..d588f60b 100644 --- a/tests/golden/M15-03A/task-index.json +++ b/tests/golden/M15-03A/task-index.json @@ -1 +1 @@ -{"schemaVersion":1,"operation":"BLENDER_TASK_CONTEXT_INDEX","source":{"path":"tests/golden/M15-03A/next-task-plan.json","sha256":"ec23ff64fbcb029d9564e5d35f9c4ad8928bdef56cb40e97fb99c2900fbfdd08"},"catalog":{"path":"tests/golden/M15-03A/task-catalog.jsonl","sha256":"90016458f693943ea98e26a1f65375140f379fe7833b794c9118c59897ea7e3a"},"taskCount":6900,"activeTask":"M16-GAP-00096","entries":{"M16-GAP-00001":{"line":0,"offset":0,"length":165,"previous":null,"next":"M16-GAP-00002"},"M16-GAP-00002":{"line":1,"offset":165,"length":167,"previous":"M16-GAP-00001","next":"M16-GAP-00003"},"M16-GAP-00003":{"line":2,"offset":332,"length":164,"previous":"M16-GAP-00002","next":"M16-GAP-00004"},"M16-GAP-00004":{"line":3,"offset":496,"length":165,"previous":"M16-GAP-00003","next":"M16-GAP-00005"},"M16-GAP-00005":{"line":4,"offset":661,"length":169,"previous":"M16-GAP-00004","next":"M16-GAP-00006"},"M16-GAP-00006":{"line":5,"offset":830,"length":164,"previous":"M16-GAP-00005","next":"M16-GAP-00007"},"M16-GAP-00007":{"line":6,"offset":994,"length":165,"previous":"M16-GAP-00006","next":"M16-GAP-00008"},"M16-GAP-00008":{"line":7,"offset":1159,"length":177,"previous":"M16-GAP-00007","next":"M16-GAP-00009"},"M16-GAP-00009":{"line":8,"offset":1336,"length":171,"previous":"M16-GAP-00008","next":"M16-GAP-00010"},"M16-GAP-00010":{"line":9,"offset":1507,"length":166,"previous":"M16-GAP-00009","next":"M16-GAP-00011"},"M16-GAP-00011":{"line":10,"offset":1673,"length":166,"previous":"M16-GAP-00010","next":"M16-GAP-00012"},"M16-GAP-00012":{"line":11,"offset":1839,"length":164,"previous":"M16-GAP-00011","next":"M16-GAP-00013"},"M16-GAP-00013":{"line":12,"offset":2003,"length":167,"previous":"M16-GAP-00012","next":"M16-GAP-00014"},"M16-GAP-00014":{"line":13,"offset":2170,"length":163,"previous":"M16-GAP-00013","next":"M16-GAP-00015"},"M16-GAP-00015":{"line":14,"offset":2333,"length":167,"previous":"M16-GAP-00014","next":"M16-GAP-00016"},"M16-GAP-00016":{"line":15,"offset":2500,"length":167,"previous":"M16-GAP-00015","next":"M16-GAP-00017"},"M16-GAP-00017":{"line":16,"offset":2667,"length":165,"previous":"M16-GAP-00016","next":"M16-GAP-00018"},"M16-GAP-00018":{"line":17,"offset":2832,"length":175,"previous":"M16-GAP-00017","next":"M16-GAP-00019"},"M16-GAP-00019":{"line":18,"offset":3007,"length":169,"previous":"M16-GAP-00018","next":"M16-GAP-00020"},"M16-GAP-00020":{"line":19,"offset":3176,"length":164,"previous":"M16-GAP-00019","next":"M16-GAP-00021"},"M16-GAP-00021":{"line":20,"offset":3340,"length":165,"previous":"M16-GAP-00020","next":"M16-GAP-00022"},"M16-GAP-00022":{"line":21,"offset":3505,"length":164,"previous":"M16-GAP-00021","next":"M16-GAP-00023"},"M16-GAP-00023":{"line":22,"offset":3669,"length":166,"previous":"M16-GAP-00022","next":"M16-GAP-00024"},"M16-GAP-00024":{"line":23,"offset":3835,"length":163,"previous":"M16-GAP-00023","next":"M16-GAP-00025"},"M16-GAP-00025":{"line":24,"offset":3998,"length":166,"previous":"M16-GAP-00024","next":"M16-GAP-00026"},"M16-GAP-00026":{"line":25,"offset":4164,"length":165,"previous":"M16-GAP-00025","next":"M16-GAP-00027"},"M16-GAP-00027":{"line":26,"offset":4329,"length":172,"previous":"M16-GAP-00026","next":"M16-GAP-00028"},"M16-GAP-00028":{"line":27,"offset":4501,"length":168,"previous":"M16-GAP-00027","next":"M16-GAP-00029"},"M16-GAP-00029":{"line":28,"offset":4669,"length":164,"previous":"M16-GAP-00028","next":"M16-GAP-00030"},"M16-GAP-00030":{"line":29,"offset":4833,"length":161,"previous":"M16-GAP-00029","next":"M16-GAP-00031"},"M16-GAP-00031":{"line":30,"offset":4994,"length":158,"previous":"M16-GAP-00030","next":"M16-GAP-00032"},"M16-GAP-00032":{"line":31,"offset":5152,"length":158,"previous":"M16-GAP-00031","next":"M16-GAP-00033"},"M16-GAP-00033":{"line":32,"offset":5310,"length":160,"previous":"M16-GAP-00032","next":"M16-GAP-00034"},"M16-GAP-00034":{"line":33,"offset":5470,"length":158,"previous":"M16-GAP-00033","next":"M16-GAP-00035"},"M16-GAP-00035":{"line":34,"offset":5628,"length":157,"previous":"M16-GAP-00034","next":"M16-GAP-00036"},"M16-GAP-00036":{"line":35,"offset":5785,"length":158,"previous":"M16-GAP-00035","next":"M16-GAP-00037"},"M16-GAP-00037":{"line":36,"offset":5943,"length":162,"previous":"M16-GAP-00036","next":"M16-GAP-00038"},"M16-GAP-00038":{"line":37,"offset":6105,"length":170,"previous":"M16-GAP-00037","next":"M16-GAP-00039"},"M16-GAP-00039":{"line":38,"offset":6275,"length":158,"previous":"M16-GAP-00038","next":"M16-GAP-00040"},"M16-GAP-00040":{"line":39,"offset":6433,"length":166,"previous":"M16-GAP-00039","next":"M16-GAP-00041"},"M16-GAP-00041":{"line":40,"offset":6599,"length":161,"previous":"M16-GAP-00040","next":"M16-GAP-00042"},"M16-GAP-00042":{"line":41,"offset":6760,"length":161,"previous":"M16-GAP-00041","next":"M16-GAP-00043"},"M16-GAP-00043":{"line":42,"offset":6921,"length":166,"previous":"M16-GAP-00042","next":"M16-GAP-00044"},"M16-GAP-00044":{"line":43,"offset":7087,"length":163,"previous":"M16-GAP-00043","next":"M16-GAP-00045"},"M16-GAP-00045":{"line":44,"offset":7250,"length":160,"previous":"M16-GAP-00044","next":"M16-GAP-00046"},"M16-GAP-00046":{"line":45,"offset":7410,"length":158,"previous":"M16-GAP-00045","next":"M16-GAP-00047"},"M16-GAP-00047":{"line":46,"offset":7568,"length":175,"previous":"M16-GAP-00046","next":"M16-GAP-00048"},"M16-GAP-00048":{"line":47,"offset":7743,"length":172,"previous":"M16-GAP-00047","next":"M16-GAP-00049"},"M16-GAP-00049":{"line":48,"offset":7915,"length":172,"previous":"M16-GAP-00048","next":"M16-GAP-00050"},"M16-GAP-00050":{"line":49,"offset":8087,"length":172,"previous":"M16-GAP-00049","next":"M16-GAP-00051"},"M16-GAP-00051":{"line":50,"offset":8259,"length":171,"previous":"M16-GAP-00050","next":"M16-GAP-00052"},"M16-GAP-00052":{"line":51,"offset":8430,"length":175,"previous":"M16-GAP-00051","next":"M16-GAP-00053"},"M16-GAP-00053":{"line":52,"offset":8605,"length":171,"previous":"M16-GAP-00052","next":"M16-GAP-00054"},"M16-GAP-00054":{"line":53,"offset":8776,"length":174,"previous":"M16-GAP-00053","next":"M16-GAP-00055"},"M16-GAP-00055":{"line":54,"offset":8950,"length":173,"previous":"M16-GAP-00054","next":"M16-GAP-00056"},"M16-GAP-00056":{"line":55,"offset":9123,"length":173,"previous":"M16-GAP-00055","next":"M16-GAP-00057"},"M16-GAP-00057":{"line":56,"offset":9296,"length":175,"previous":"M16-GAP-00056","next":"M16-GAP-00058"},"M16-GAP-00058":{"line":57,"offset":9471,"length":172,"previous":"M16-GAP-00057","next":"M16-GAP-00059"},"M16-GAP-00059":{"line":58,"offset":9643,"length":173,"previous":"M16-GAP-00058","next":"M16-GAP-00060"},"M16-GAP-00060":{"line":59,"offset":9816,"length":174,"previous":"M16-GAP-00059","next":"M16-GAP-00061"},"M16-GAP-00061":{"line":60,"offset":9990,"length":174,"previous":"M16-GAP-00060","next":"M16-GAP-00062"},"M16-GAP-00062":{"line":61,"offset":10164,"length":177,"previous":"M16-GAP-00061","next":"M16-GAP-00063"},"M16-GAP-00063":{"line":62,"offset":10341,"length":175,"previous":"M16-GAP-00062","next":"M16-GAP-00064"},"M16-GAP-00064":{"line":63,"offset":10516,"length":173,"previous":"M16-GAP-00063","next":"M16-GAP-00065"},"M16-GAP-00065":{"line":64,"offset":10689,"length":173,"previous":"M16-GAP-00064","next":"M16-GAP-00066"},"M16-GAP-00066":{"line":65,"offset":10862,"length":174,"previous":"M16-GAP-00065","next":"M16-GAP-00067"},"M16-GAP-00067":{"line":66,"offset":11036,"length":176,"previous":"M16-GAP-00066","next":"M16-GAP-00068"},"M16-GAP-00068":{"line":67,"offset":11212,"length":171,"previous":"M16-GAP-00067","next":"M16-GAP-00069"},"M16-GAP-00069":{"line":68,"offset":11383,"length":171,"previous":"M16-GAP-00068","next":"M16-GAP-00070"},"M16-GAP-00070":{"line":69,"offset":11554,"length":186,"previous":"M16-GAP-00069","next":"M16-GAP-00071"},"M16-GAP-00071":{"line":70,"offset":11740,"length":190,"previous":"M16-GAP-00070","next":"M16-GAP-00072"},"M16-GAP-00072":{"line":71,"offset":11930,"length":157,"previous":"M16-GAP-00071","next":"M16-GAP-00073"},"M16-GAP-00073":{"line":72,"offset":12087,"length":168,"previous":"M16-GAP-00072","next":"M16-GAP-00074"},"M16-GAP-00074":{"line":73,"offset":12255,"length":168,"previous":"M16-GAP-00073","next":"M16-GAP-00075"},"M16-GAP-00075":{"line":74,"offset":12423,"length":160,"previous":"M16-GAP-00074","next":"M16-GAP-00076"},"M16-GAP-00076":{"line":75,"offset":12583,"length":160,"previous":"M16-GAP-00075","next":"M16-GAP-00077"},"M16-GAP-00077":{"line":76,"offset":12743,"length":157,"previous":"M16-GAP-00076","next":"M16-GAP-00078"},"M16-GAP-00078":{"line":77,"offset":12900,"length":163,"previous":"M16-GAP-00077","next":"M16-GAP-00079"},"M16-GAP-00079":{"line":78,"offset":13063,"length":164,"previous":"M16-GAP-00078","next":"M16-GAP-00080"},"M16-GAP-00080":{"line":79,"offset":13227,"length":172,"previous":"M16-GAP-00079","next":"M16-GAP-00081"},"M16-GAP-00081":{"line":80,"offset":13399,"length":167,"previous":"M16-GAP-00080","next":"M16-GAP-00082"},"M16-GAP-00082":{"line":81,"offset":13566,"length":159,"previous":"M16-GAP-00081","next":"M16-GAP-00083"},"M16-GAP-00083":{"line":82,"offset":13725,"length":161,"previous":"M16-GAP-00082","next":"M16-GAP-00084"},"M16-GAP-00084":{"line":83,"offset":13886,"length":158,"previous":"M16-GAP-00083","next":"M16-GAP-00085"},"M16-GAP-00085":{"line":84,"offset":14044,"length":164,"previous":"M16-GAP-00084","next":"M16-GAP-00086"},"M16-GAP-00086":{"line":85,"offset":14208,"length":158,"previous":"M16-GAP-00085","next":"M16-GAP-00087"},"M16-GAP-00087":{"line":86,"offset":14366,"length":170,"previous":"M16-GAP-00086","next":"M16-GAP-00088"},"M16-GAP-00088":{"line":87,"offset":14536,"length":168,"previous":"M16-GAP-00087","next":"M16-GAP-00089"},"M16-GAP-00089":{"line":88,"offset":14704,"length":159,"previous":"M16-GAP-00088","next":"M16-GAP-00090"},"M16-GAP-00090":{"line":89,"offset":14863,"length":158,"previous":"M16-GAP-00089","next":"M16-GAP-00091"},"M16-GAP-00091":{"line":90,"offset":15021,"length":163,"previous":"M16-GAP-00090","next":"M16-GAP-00092"},"M16-GAP-00092":{"line":91,"offset":15184,"length":166,"previous":"M16-GAP-00091","next":"M16-GAP-00093"},"M16-GAP-00093":{"line":92,"offset":15350,"length":157,"previous":"M16-GAP-00092","next":"M16-GAP-00094"},"M16-GAP-00094":{"line":93,"offset":15507,"length":159,"previous":"M16-GAP-00093","next":"M16-GAP-00095"},"M16-GAP-00095":{"line":94,"offset":15666,"length":162,"previous":"M16-GAP-00094","next":"M16-GAP-00096"},"M16-GAP-00096":{"line":95,"offset":15828,"length":158,"previous":"M16-GAP-00095","next":"M16-GAP-00097"},"M16-GAP-00097":{"line":96,"offset":15986,"length":158,"previous":"M16-GAP-00096","next":"M16-GAP-00098"},"M16-GAP-00098":{"line":97,"offset":16144,"length":158,"previous":"M16-GAP-00097","next":"M16-GAP-00099"},"M16-GAP-00099":{"line":98,"offset":16302,"length":165,"previous":"M16-GAP-00098","next":"M16-GAP-00100"},"M16-GAP-00100":{"line":99,"offset":16467,"length":162,"previous":"M16-GAP-00099","next":"M16-GAP-00101"},"M16-GAP-00101":{"line":100,"offset":16629,"length":161,"previous":"M16-GAP-00100","next":"M16-GAP-00102"},"M16-GAP-00102":{"line":101,"offset":16790,"length":158,"previous":"M16-GAP-00101","next":"M16-GAP-00103"},"M16-GAP-00103":{"line":102,"offset":16948,"length":169,"previous":"M16-GAP-00102","next":"M16-GAP-00104"},"M16-GAP-00104":{"line":103,"offset":17117,"length":168,"previous":"M16-GAP-00103","next":"M16-GAP-00105"},"M16-GAP-00105":{"line":104,"offset":17285,"length":174,"previous":"M16-GAP-00104","next":"M16-GAP-00106"},"M16-GAP-00106":{"line":105,"offset":17459,"length":166,"previous":"M16-GAP-00105","next":"M16-GAP-00107"},"M16-GAP-00107":{"line":106,"offset":17625,"length":165,"previous":"M16-GAP-00106","next":"M16-GAP-00108"},"M16-GAP-00108":{"line":107,"offset":17790,"length":155,"previous":"M16-GAP-00107","next":"M16-GAP-00109"},"M16-GAP-00109":{"line":108,"offset":17945,"length":155,"previous":"M16-GAP-00108","next":"M16-GAP-00110"},"M16-GAP-00110":{"line":109,"offset":18100,"length":166,"previous":"M16-GAP-00109","next":"M16-GAP-00111"},"M16-GAP-00111":{"line":110,"offset":18266,"length":155,"previous":"M16-GAP-00110","next":"M16-GAP-00112"},"M16-GAP-00112":{"line":111,"offset":18421,"length":160,"previous":"M16-GAP-00111","next":"M16-GAP-00113"},"M16-GAP-00113":{"line":112,"offset":18581,"length":167,"previous":"M16-GAP-00112","next":"M16-GAP-00114"},"M16-GAP-00114":{"line":113,"offset":18748,"length":163,"previous":"M16-GAP-00113","next":"M16-GAP-00115"},"M16-GAP-00115":{"line":114,"offset":18911,"length":169,"previous":"M16-GAP-00114","next":"M16-GAP-00116"},"M16-GAP-00116":{"line":115,"offset":19080,"length":162,"previous":"M16-GAP-00115","next":"M16-GAP-00117"},"M16-GAP-00117":{"line":116,"offset":19242,"length":164,"previous":"M16-GAP-00116","next":"M16-GAP-00118"},"M16-GAP-00118":{"line":117,"offset":19406,"length":167,"previous":"M16-GAP-00117","next":"M16-GAP-00119"},"M16-GAP-00119":{"line":118,"offset":19573,"length":172,"previous":"M16-GAP-00118","next":"M16-GAP-00120"},"M16-GAP-00120":{"line":119,"offset":19745,"length":169,"previous":"M16-GAP-00119","next":"M16-GAP-00121"},"M16-GAP-00121":{"line":120,"offset":19914,"length":176,"previous":"M16-GAP-00120","next":"M16-GAP-00122"},"M16-GAP-00122":{"line":121,"offset":20090,"length":168,"previous":"M16-GAP-00121","next":"M16-GAP-00123"},"M16-GAP-00123":{"line":122,"offset":20258,"length":169,"previous":"M16-GAP-00122","next":"M16-GAP-00124"},"M16-GAP-00124":{"line":123,"offset":20427,"length":176,"previous":"M16-GAP-00123","next":"M16-GAP-00125"},"M16-GAP-00125":{"line":124,"offset":20603,"length":173,"previous":"M16-GAP-00124","next":"M16-GAP-00126"},"M16-GAP-00126":{"line":125,"offset":20776,"length":171,"previous":"M16-GAP-00125","next":"M16-GAP-00127"},"M16-GAP-00127":{"line":126,"offset":20947,"length":176,"previous":"M16-GAP-00126","next":"M16-GAP-00128"},"M16-GAP-00128":{"line":127,"offset":21123,"length":164,"previous":"M16-GAP-00127","next":"M16-GAP-00129"},"M16-GAP-00129":{"line":128,"offset":21287,"length":161,"previous":"M16-GAP-00128","next":"M16-GAP-00130"},"M16-GAP-00130":{"line":129,"offset":21448,"length":163,"previous":"M16-GAP-00129","next":"M16-GAP-00131"},"M16-GAP-00131":{"line":130,"offset":21611,"length":174,"previous":"M16-GAP-00130","next":"M16-GAP-00132"},"M16-GAP-00132":{"line":131,"offset":21785,"length":167,"previous":"M16-GAP-00131","next":"M16-GAP-00133"},"M16-GAP-00133":{"line":132,"offset":21952,"length":168,"previous":"M16-GAP-00132","next":"M16-GAP-00134"},"M16-GAP-00134":{"line":133,"offset":22120,"length":168,"previous":"M16-GAP-00133","next":"M16-GAP-00135"},"M16-GAP-00135":{"line":134,"offset":22288,"length":172,"previous":"M16-GAP-00134","next":"M16-GAP-00136"},"M16-GAP-00136":{"line":135,"offset":22460,"length":171,"previous":"M16-GAP-00135","next":"M16-GAP-00137"},"M16-GAP-00137":{"line":136,"offset":22631,"length":171,"previous":"M16-GAP-00136","next":"M16-GAP-00138"},"M16-GAP-00138":{"line":137,"offset":22802,"length":170,"previous":"M16-GAP-00137","next":"M16-GAP-00139"},"M16-GAP-00139":{"line":138,"offset":22972,"length":174,"previous":"M16-GAP-00138","next":"M16-GAP-00140"},"M16-GAP-00140":{"line":139,"offset":23146,"length":169,"previous":"M16-GAP-00139","next":"M16-GAP-00141"},"M16-GAP-00141":{"line":140,"offset":23315,"length":171,"previous":"M16-GAP-00140","next":"M16-GAP-00142"},"M16-GAP-00142":{"line":141,"offset":23486,"length":169,"previous":"M16-GAP-00141","next":"M16-GAP-00143"},"M16-GAP-00143":{"line":142,"offset":23655,"length":162,"previous":"M16-GAP-00142","next":"M16-GAP-00144"},"M16-GAP-00144":{"line":143,"offset":23817,"length":163,"previous":"M16-GAP-00143","next":"M16-GAP-00145"},"M16-GAP-00145":{"line":144,"offset":23980,"length":174,"previous":"M16-GAP-00144","next":"M16-GAP-00146"},"M16-GAP-00146":{"line":145,"offset":24154,"length":164,"previous":"M16-GAP-00145","next":"M16-GAP-00147"},"M16-GAP-00147":{"line":146,"offset":24318,"length":166,"previous":"M16-GAP-00146","next":"M16-GAP-00148"},"M16-GAP-00148":{"line":147,"offset":24484,"length":168,"previous":"M16-GAP-00147","next":"M16-GAP-00149"},"M16-GAP-00149":{"line":148,"offset":24652,"length":171,"previous":"M16-GAP-00148","next":"M16-GAP-00150"},"M16-GAP-00150":{"line":149,"offset":24823,"length":168,"previous":"M16-GAP-00149","next":"M16-GAP-00151"},"M16-GAP-00151":{"line":150,"offset":24991,"length":175,"previous":"M16-GAP-00150","next":"M16-GAP-00152"},"M16-GAP-00152":{"line":151,"offset":25166,"length":173,"previous":"M16-GAP-00151","next":"M16-GAP-00153"},"M16-GAP-00153":{"line":152,"offset":25339,"length":169,"previous":"M16-GAP-00152","next":"M16-GAP-00154"},"M16-GAP-00154":{"line":153,"offset":25508,"length":176,"previous":"M16-GAP-00153","next":"M16-GAP-00155"},"M16-GAP-00155":{"line":154,"offset":25684,"length":170,"previous":"M16-GAP-00154","next":"M16-GAP-00156"},"M16-GAP-00156":{"line":155,"offset":25854,"length":173,"previous":"M16-GAP-00155","next":"M16-GAP-00157"},"M16-GAP-00157":{"line":156,"offset":26027,"length":171,"previous":"M16-GAP-00156","next":"M16-GAP-00158"},"M16-GAP-00158":{"line":157,"offset":26198,"length":180,"previous":"M16-GAP-00157","next":"M16-GAP-00159"},"M16-GAP-00159":{"line":158,"offset":26378,"length":171,"previous":"M16-GAP-00158","next":"M16-GAP-00160"},"M16-GAP-00160":{"line":159,"offset":26549,"length":179,"previous":"M16-GAP-00159","next":"M16-GAP-00161"},"M16-GAP-00161":{"line":160,"offset":26728,"length":170,"previous":"M16-GAP-00160","next":"M16-GAP-00162"},"M16-GAP-00162":{"line":161,"offset":26898,"length":169,"previous":"M16-GAP-00161","next":"M16-GAP-00163"},"M16-GAP-00163":{"line":162,"offset":27067,"length":171,"previous":"M16-GAP-00162","next":"M16-GAP-00164"},"M16-GAP-00164":{"line":163,"offset":27238,"length":175,"previous":"M16-GAP-00163","next":"M16-GAP-00165"},"M16-GAP-00165":{"line":164,"offset":27413,"length":175,"previous":"M16-GAP-00164","next":"M16-GAP-00166"},"M16-GAP-00166":{"line":165,"offset":27588,"length":178,"previous":"M16-GAP-00165","next":"M16-GAP-00167"},"M16-GAP-00167":{"line":166,"offset":27766,"length":180,"previous":"M16-GAP-00166","next":"M16-GAP-00168"},"M16-GAP-00168":{"line":167,"offset":27946,"length":179,"previous":"M16-GAP-00167","next":"M16-GAP-00169"},"M16-GAP-00169":{"line":168,"offset":28125,"length":179,"previous":"M16-GAP-00168","next":"M16-GAP-00170"},"M16-GAP-00170":{"line":169,"offset":28304,"length":172,"previous":"M16-GAP-00169","next":"M16-GAP-00171"},"M16-GAP-00171":{"line":170,"offset":28476,"length":178,"previous":"M16-GAP-00170","next":"M16-GAP-00172"},"M16-GAP-00172":{"line":171,"offset":28654,"length":177,"previous":"M16-GAP-00171","next":"M16-GAP-00173"},"M16-GAP-00173":{"line":172,"offset":28831,"length":174,"previous":"M16-GAP-00172","next":"M16-GAP-00174"},"M16-GAP-00174":{"line":173,"offset":29005,"length":173,"previous":"M16-GAP-00173","next":"M16-GAP-00175"},"M16-GAP-00175":{"line":174,"offset":29178,"length":174,"previous":"M16-GAP-00174","next":"M16-GAP-00176"},"M16-GAP-00176":{"line":175,"offset":29352,"length":176,"previous":"M16-GAP-00175","next":"M16-GAP-00177"},"M16-GAP-00177":{"line":176,"offset":29528,"length":169,"previous":"M16-GAP-00176","next":"M16-GAP-00178"},"M16-GAP-00178":{"line":177,"offset":29697,"length":177,"previous":"M16-GAP-00177","next":"M16-GAP-00179"},"M16-GAP-00179":{"line":178,"offset":29874,"length":174,"previous":"M16-GAP-00178","next":"M16-GAP-00180"},"M16-GAP-00180":{"line":179,"offset":30048,"length":174,"previous":"M16-GAP-00179","next":"M16-GAP-00181"},"M16-GAP-00181":{"line":180,"offset":30222,"length":171,"previous":"M16-GAP-00180","next":"M16-GAP-00182"},"M16-GAP-00182":{"line":181,"offset":30393,"length":178,"previous":"M16-GAP-00181","next":"M16-GAP-00183"},"M16-GAP-00183":{"line":182,"offset":30571,"length":179,"previous":"M16-GAP-00182","next":"M16-GAP-00184"},"M16-GAP-00184":{"line":183,"offset":30750,"length":175,"previous":"M16-GAP-00183","next":"M16-GAP-00185"},"M16-GAP-00185":{"line":184,"offset":30925,"length":175,"previous":"M16-GAP-00184","next":"M16-GAP-00186"},"M16-GAP-00186":{"line":185,"offset":31100,"length":171,"previous":"M16-GAP-00185","next":"M16-GAP-00187"},"M16-GAP-00187":{"line":186,"offset":31271,"length":178,"previous":"M16-GAP-00186","next":"M16-GAP-00188"},"M16-GAP-00188":{"line":187,"offset":31449,"length":179,"previous":"M16-GAP-00187","next":"M16-GAP-00189"},"M16-GAP-00189":{"line":188,"offset":31628,"length":176,"previous":"M16-GAP-00188","next":"M16-GAP-00190"},"M16-GAP-00190":{"line":189,"offset":31804,"length":177,"previous":"M16-GAP-00189","next":"M16-GAP-00191"},"M16-GAP-00191":{"line":190,"offset":31981,"length":170,"previous":"M16-GAP-00190","next":"M16-GAP-00192"},"M16-GAP-00192":{"line":191,"offset":32151,"length":173,"previous":"M16-GAP-00191","next":"M16-GAP-00193"},"M16-GAP-00193":{"line":192,"offset":32324,"length":175,"previous":"M16-GAP-00192","next":"M16-GAP-00194"},"M16-GAP-00194":{"line":193,"offset":32499,"length":178,"previous":"M16-GAP-00193","next":"M16-GAP-00195"},"M16-GAP-00195":{"line":194,"offset":32677,"length":173,"previous":"M16-GAP-00194","next":"M16-GAP-00196"},"M16-GAP-00196":{"line":195,"offset":32850,"length":176,"previous":"M16-GAP-00195","next":"M16-GAP-00197"},"M16-GAP-00197":{"line":196,"offset":33026,"length":179,"previous":"M16-GAP-00196","next":"M16-GAP-00198"},"M16-GAP-00198":{"line":197,"offset":33205,"length":171,"previous":"M16-GAP-00197","next":"M16-GAP-00199"},"M16-GAP-00199":{"line":198,"offset":33376,"length":175,"previous":"M16-GAP-00198","next":"M16-GAP-00200"},"M16-GAP-00200":{"line":199,"offset":33551,"length":174,"previous":"M16-GAP-00199","next":"M16-GAP-00201"},"M16-GAP-00201":{"line":200,"offset":33725,"length":172,"previous":"M16-GAP-00200","next":"M16-GAP-00202"},"M16-GAP-00202":{"line":201,"offset":33897,"length":170,"previous":"M16-GAP-00201","next":"M16-GAP-00203"},"M16-GAP-00203":{"line":202,"offset":34067,"length":174,"previous":"M16-GAP-00202","next":"M16-GAP-00204"},"M16-GAP-00204":{"line":203,"offset":34241,"length":173,"previous":"M16-GAP-00203","next":"M16-GAP-00205"},"M16-GAP-00205":{"line":204,"offset":34414,"length":170,"previous":"M16-GAP-00204","next":"M16-GAP-00206"},"M16-GAP-00206":{"line":205,"offset":34584,"length":188,"previous":"M16-GAP-00205","next":"M16-GAP-00207"},"M16-GAP-00207":{"line":206,"offset":34772,"length":171,"previous":"M16-GAP-00206","next":"M16-GAP-00208"},"M16-GAP-00208":{"line":207,"offset":34943,"length":185,"previous":"M16-GAP-00207","next":"M16-GAP-00209"},"M16-GAP-00209":{"line":208,"offset":35128,"length":177,"previous":"M16-GAP-00208","next":"M16-GAP-00210"},"M16-GAP-00210":{"line":209,"offset":35305,"length":184,"previous":"M16-GAP-00209","next":"M16-GAP-00211"},"M16-GAP-00211":{"line":210,"offset":35489,"length":171,"previous":"M16-GAP-00210","next":"M16-GAP-00212"},"M16-GAP-00212":{"line":211,"offset":35660,"length":193,"previous":"M16-GAP-00211","next":"M16-GAP-00213"},"M16-GAP-00213":{"line":212,"offset":35853,"length":182,"previous":"M16-GAP-00212","next":"M16-GAP-00214"},"M16-GAP-00214":{"line":213,"offset":36035,"length":182,"previous":"M16-GAP-00213","next":"M16-GAP-00215"},"M16-GAP-00215":{"line":214,"offset":36217,"length":165,"previous":"M16-GAP-00214","next":"M16-GAP-00216"},"M16-GAP-00216":{"line":215,"offset":36382,"length":180,"previous":"M16-GAP-00215","next":"M16-GAP-00217"},"M16-GAP-00217":{"line":216,"offset":36562,"length":174,"previous":"M16-GAP-00216","next":"M16-GAP-00218"},"M16-GAP-00218":{"line":217,"offset":36736,"length":178,"previous":"M16-GAP-00217","next":"M16-GAP-00219"},"M16-GAP-00219":{"line":218,"offset":36914,"length":174,"previous":"M16-GAP-00218","next":"M16-GAP-00220"},"M16-GAP-00220":{"line":219,"offset":37088,"length":173,"previous":"M16-GAP-00219","next":"M16-GAP-00221"},"M16-GAP-00221":{"line":220,"offset":37261,"length":174,"previous":"M16-GAP-00220","next":"M16-GAP-00222"},"M16-GAP-00222":{"line":221,"offset":37435,"length":177,"previous":"M16-GAP-00221","next":"M16-GAP-00223"},"M16-GAP-00223":{"line":222,"offset":37612,"length":188,"previous":"M16-GAP-00222","next":"M16-GAP-00224"},"M16-GAP-00224":{"line":223,"offset":37800,"length":179,"previous":"M16-GAP-00223","next":"M16-GAP-00225"},"M16-GAP-00225":{"line":224,"offset":37979,"length":175,"previous":"M16-GAP-00224","next":"M16-GAP-00226"},"M16-GAP-00226":{"line":225,"offset":38154,"length":177,"previous":"M16-GAP-00225","next":"M16-GAP-00227"},"M16-GAP-00227":{"line":226,"offset":38331,"length":184,"previous":"M16-GAP-00226","next":"M16-GAP-00228"},"M16-GAP-00228":{"line":227,"offset":38515,"length":177,"previous":"M16-GAP-00227","next":"M16-GAP-00229"},"M16-GAP-00229":{"line":228,"offset":38692,"length":179,"previous":"M16-GAP-00228","next":"M16-GAP-00230"},"M16-GAP-00230":{"line":229,"offset":38871,"length":179,"previous":"M16-GAP-00229","next":"M16-GAP-00231"},"M16-GAP-00231":{"line":230,"offset":39050,"length":185,"previous":"M16-GAP-00230","next":"M16-GAP-00232"},"M16-GAP-00232":{"line":231,"offset":39235,"length":181,"previous":"M16-GAP-00231","next":"M16-GAP-00233"},"M16-GAP-00233":{"line":232,"offset":39416,"length":187,"previous":"M16-GAP-00232","next":"M16-GAP-00234"},"M16-GAP-00234":{"line":233,"offset":39603,"length":166,"previous":"M16-GAP-00233","next":"M16-GAP-00235"},"M16-GAP-00235":{"line":234,"offset":39769,"length":168,"previous":"M16-GAP-00234","next":"M16-GAP-00236"},"M16-GAP-00236":{"line":235,"offset":39937,"length":169,"previous":"M16-GAP-00235","next":"M16-GAP-00237"},"M16-GAP-00237":{"line":236,"offset":40106,"length":174,"previous":"M16-GAP-00236","next":"M16-GAP-00238"},"M16-GAP-00238":{"line":237,"offset":40280,"length":176,"previous":"M16-GAP-00237","next":"M16-GAP-00239"},"M16-GAP-00239":{"line":238,"offset":40456,"length":167,"previous":"M16-GAP-00238","next":"M16-GAP-00240"},"M16-GAP-00240":{"line":239,"offset":40623,"length":174,"previous":"M16-GAP-00239","next":"M16-GAP-00241"},"M16-GAP-00241":{"line":240,"offset":40797,"length":172,"previous":"M16-GAP-00240","next":"M16-GAP-00242"},"M16-GAP-00242":{"line":241,"offset":40969,"length":164,"previous":"M16-GAP-00241","next":"M16-GAP-00243"},"M16-GAP-00243":{"line":242,"offset":41133,"length":170,"previous":"M16-GAP-00242","next":"M16-GAP-00244"},"M16-GAP-00244":{"line":243,"offset":41303,"length":164,"previous":"M16-GAP-00243","next":"M16-GAP-00245"},"M16-GAP-00245":{"line":244,"offset":41467,"length":178,"previous":"M16-GAP-00244","next":"M16-GAP-00246"},"M16-GAP-00246":{"line":245,"offset":41645,"length":172,"previous":"M16-GAP-00245","next":"M16-GAP-00247"},"M16-GAP-00247":{"line":246,"offset":41817,"length":170,"previous":"M16-GAP-00246","next":"M16-GAP-00248"},"M16-GAP-00248":{"line":247,"offset":41987,"length":166,"previous":"M16-GAP-00247","next":"M16-GAP-00249"},"M16-GAP-00249":{"line":248,"offset":42153,"length":170,"previous":"M16-GAP-00248","next":"M16-GAP-00250"},"M16-GAP-00250":{"line":249,"offset":42323,"length":170,"previous":"M16-GAP-00249","next":"M16-GAP-00251"},"M16-GAP-00251":{"line":250,"offset":42493,"length":176,"previous":"M16-GAP-00250","next":"M16-GAP-00252"},"M16-GAP-00252":{"line":251,"offset":42669,"length":171,"previous":"M16-GAP-00251","next":"M16-GAP-00253"},"M16-GAP-00253":{"line":252,"offset":42840,"length":173,"previous":"M16-GAP-00252","next":"M16-GAP-00254"},"M16-GAP-00254":{"line":253,"offset":43013,"length":178,"previous":"M16-GAP-00253","next":"M16-GAP-00255"},"M16-GAP-00255":{"line":254,"offset":43191,"length":173,"previous":"M16-GAP-00254","next":"M16-GAP-00256"},"M16-GAP-00256":{"line":255,"offset":43364,"length":171,"previous":"M16-GAP-00255","next":"M16-GAP-00257"},"M16-GAP-00257":{"line":256,"offset":43535,"length":174,"previous":"M16-GAP-00256","next":"M16-GAP-00258"},"M16-GAP-00258":{"line":257,"offset":43709,"length":168,"previous":"M16-GAP-00257","next":"M16-GAP-00259"},"M16-GAP-00259":{"line":258,"offset":43877,"length":178,"previous":"M16-GAP-00258","next":"M16-GAP-00260"},"M16-GAP-00260":{"line":259,"offset":44055,"length":165,"previous":"M16-GAP-00259","next":"M16-GAP-00261"},"M16-GAP-00261":{"line":260,"offset":44220,"length":169,"previous":"M16-GAP-00260","next":"M16-GAP-00262"},"M16-GAP-00262":{"line":261,"offset":44389,"length":176,"previous":"M16-GAP-00261","next":"M16-GAP-00263"},"M16-GAP-00263":{"line":262,"offset":44565,"length":170,"previous":"M16-GAP-00262","next":"M16-GAP-00264"},"M16-GAP-00264":{"line":263,"offset":44735,"length":171,"previous":"M16-GAP-00263","next":"M16-GAP-00265"},"M16-GAP-00265":{"line":264,"offset":44906,"length":172,"previous":"M16-GAP-00264","next":"M16-GAP-00266"},"M16-GAP-00266":{"line":265,"offset":45078,"length":170,"previous":"M16-GAP-00265","next":"M16-GAP-00267"},"M16-GAP-00267":{"line":266,"offset":45248,"length":185,"previous":"M16-GAP-00266","next":"M16-GAP-00268"},"M16-GAP-00268":{"line":267,"offset":45433,"length":171,"previous":"M16-GAP-00267","next":"M16-GAP-00269"},"M16-GAP-00269":{"line":268,"offset":45604,"length":171,"previous":"M16-GAP-00268","next":"M16-GAP-00270"},"M16-GAP-00270":{"line":269,"offset":45775,"length":168,"previous":"M16-GAP-00269","next":"M16-GAP-00271"},"M16-GAP-00271":{"line":270,"offset":45943,"length":169,"previous":"M16-GAP-00270","next":"M16-GAP-00272"},"M16-GAP-00272":{"line":271,"offset":46112,"length":169,"previous":"M16-GAP-00271","next":"M16-GAP-00273"},"M16-GAP-00273":{"line":272,"offset":46281,"length":174,"previous":"M16-GAP-00272","next":"M16-GAP-00274"},"M16-GAP-00274":{"line":273,"offset":46455,"length":170,"previous":"M16-GAP-00273","next":"M16-GAP-00275"},"M16-GAP-00275":{"line":274,"offset":46625,"length":162,"previous":"M16-GAP-00274","next":"M16-GAP-00276"},"M16-GAP-00276":{"line":275,"offset":46787,"length":169,"previous":"M16-GAP-00275","next":"M16-GAP-00277"},"M16-GAP-00277":{"line":276,"offset":46956,"length":172,"previous":"M16-GAP-00276","next":"M16-GAP-00278"},"M16-GAP-00278":{"line":277,"offset":47128,"length":179,"previous":"M16-GAP-00277","next":"M16-GAP-00279"},"M16-GAP-00279":{"line":278,"offset":47307,"length":161,"previous":"M16-GAP-00278","next":"M16-GAP-00280"},"M16-GAP-00280":{"line":279,"offset":47468,"length":168,"previous":"M16-GAP-00279","next":"M16-GAP-00281"},"M16-GAP-00281":{"line":280,"offset":47636,"length":183,"previous":"M16-GAP-00280","next":"M16-GAP-00282"},"M16-GAP-00282":{"line":281,"offset":47819,"length":175,"previous":"M16-GAP-00281","next":"M16-GAP-00283"},"M16-GAP-00283":{"line":282,"offset":47994,"length":164,"previous":"M16-GAP-00282","next":"M16-GAP-00284"},"M16-GAP-00284":{"line":283,"offset":48158,"length":167,"previous":"M16-GAP-00283","next":"M16-GAP-00285"},"M16-GAP-00285":{"line":284,"offset":48325,"length":164,"previous":"M16-GAP-00284","next":"M16-GAP-00286"},"M16-GAP-00286":{"line":285,"offset":48489,"length":164,"previous":"M16-GAP-00285","next":"M16-GAP-00287"},"M16-GAP-00287":{"line":286,"offset":48653,"length":170,"previous":"M16-GAP-00286","next":"M16-GAP-00288"},"M16-GAP-00288":{"line":287,"offset":48823,"length":168,"previous":"M16-GAP-00287","next":"M16-GAP-00289"},"M16-GAP-00289":{"line":288,"offset":48991,"length":165,"previous":"M16-GAP-00288","next":"M16-GAP-00290"},"M16-GAP-00290":{"line":289,"offset":49156,"length":165,"previous":"M16-GAP-00289","next":"M16-GAP-00291"},"M16-GAP-00291":{"line":290,"offset":49321,"length":171,"previous":"M16-GAP-00290","next":"M16-GAP-00292"},"M16-GAP-00292":{"line":291,"offset":49492,"length":169,"previous":"M16-GAP-00291","next":"M16-GAP-00293"},"M16-GAP-00293":{"line":292,"offset":49661,"length":171,"previous":"M16-GAP-00292","next":"M16-GAP-00294"},"M16-GAP-00294":{"line":293,"offset":49832,"length":169,"previous":"M16-GAP-00293","next":"M16-GAP-00295"},"M16-GAP-00295":{"line":294,"offset":50001,"length":176,"previous":"M16-GAP-00294","next":"M16-GAP-00296"},"M16-GAP-00296":{"line":295,"offset":50177,"length":175,"previous":"M16-GAP-00295","next":"M16-GAP-00297"},"M16-GAP-00297":{"line":296,"offset":50352,"length":169,"previous":"M16-GAP-00296","next":"M16-GAP-00298"},"M16-GAP-00298":{"line":297,"offset":50521,"length":167,"previous":"M16-GAP-00297","next":"M16-GAP-00299"},"M16-GAP-00299":{"line":298,"offset":50688,"length":170,"previous":"M16-GAP-00298","next":"M16-GAP-00300"},"M16-GAP-00300":{"line":299,"offset":50858,"length":167,"previous":"M16-GAP-00299","next":"M16-GAP-00301"},"M16-GAP-00301":{"line":300,"offset":51025,"length":172,"previous":"M16-GAP-00300","next":"M16-GAP-00302"},"M16-GAP-00302":{"line":301,"offset":51197,"length":181,"previous":"M16-GAP-00301","next":"M16-GAP-00303"},"M16-GAP-00303":{"line":302,"offset":51378,"length":180,"previous":"M16-GAP-00302","next":"M16-GAP-00304"},"M16-GAP-00304":{"line":303,"offset":51558,"length":171,"previous":"M16-GAP-00303","next":"M16-GAP-00305"},"M16-GAP-00305":{"line":304,"offset":51729,"length":171,"previous":"M16-GAP-00304","next":"M16-GAP-00306"},"M16-GAP-00306":{"line":305,"offset":51900,"length":175,"previous":"M16-GAP-00305","next":"M16-GAP-00307"},"M16-GAP-00307":{"line":306,"offset":52075,"length":170,"previous":"M16-GAP-00306","next":"M16-GAP-00308"},"M16-GAP-00308":{"line":307,"offset":52245,"length":171,"previous":"M16-GAP-00307","next":"M16-GAP-00309"},"M16-GAP-00309":{"line":308,"offset":52416,"length":169,"previous":"M16-GAP-00308","next":"M16-GAP-00310"},"M16-GAP-00310":{"line":309,"offset":52585,"length":170,"previous":"M16-GAP-00309","next":"M16-GAP-00311"},"M16-GAP-00311":{"line":310,"offset":52755,"length":171,"previous":"M16-GAP-00310","next":"M16-GAP-00312"},"M16-GAP-00312":{"line":311,"offset":52926,"length":173,"previous":"M16-GAP-00311","next":"M16-GAP-00313"},"M16-GAP-00313":{"line":312,"offset":53099,"length":165,"previous":"M16-GAP-00312","next":"M16-GAP-00314"},"M16-GAP-00314":{"line":313,"offset":53264,"length":167,"previous":"M16-GAP-00313","next":"M16-GAP-00315"},"M16-GAP-00315":{"line":314,"offset":53431,"length":168,"previous":"M16-GAP-00314","next":"M16-GAP-00316"},"M16-GAP-00316":{"line":315,"offset":53599,"length":179,"previous":"M16-GAP-00315","next":"M16-GAP-00317"},"M16-GAP-00317":{"line":316,"offset":53778,"length":166,"previous":"M16-GAP-00316","next":"M16-GAP-00318"},"M16-GAP-00318":{"line":317,"offset":53944,"length":175,"previous":"M16-GAP-00317","next":"M16-GAP-00319"},"M16-GAP-00319":{"line":318,"offset":54119,"length":171,"previous":"M16-GAP-00318","next":"M16-GAP-00320"},"M16-GAP-00320":{"line":319,"offset":54290,"length":172,"previous":"M16-GAP-00319","next":"M16-GAP-00321"},"M16-GAP-00321":{"line":320,"offset":54462,"length":176,"previous":"M16-GAP-00320","next":"M16-GAP-00322"},"M16-GAP-00322":{"line":321,"offset":54638,"length":170,"previous":"M16-GAP-00321","next":"M16-GAP-00323"},"M16-GAP-00323":{"line":322,"offset":54808,"length":171,"previous":"M16-GAP-00322","next":"M16-GAP-00324"},"M16-GAP-00324":{"line":323,"offset":54979,"length":173,"previous":"M16-GAP-00323","next":"M16-GAP-00325"},"M16-GAP-00325":{"line":324,"offset":55152,"length":168,"previous":"M16-GAP-00324","next":"M16-GAP-00326"},"M16-GAP-00326":{"line":325,"offset":55320,"length":168,"previous":"M16-GAP-00325","next":"M16-GAP-00327"},"M16-GAP-00327":{"line":326,"offset":55488,"length":170,"previous":"M16-GAP-00326","next":"M16-GAP-00328"},"M16-GAP-00328":{"line":327,"offset":55658,"length":172,"previous":"M16-GAP-00327","next":"M16-GAP-00329"},"M16-GAP-00329":{"line":328,"offset":55830,"length":176,"previous":"M16-GAP-00328","next":"M16-GAP-00330"},"M16-GAP-00330":{"line":329,"offset":56006,"length":167,"previous":"M16-GAP-00329","next":"M16-GAP-00331"},"M16-GAP-00331":{"line":330,"offset":56173,"length":174,"previous":"M16-GAP-00330","next":"M16-GAP-00332"},"M16-GAP-00332":{"line":331,"offset":56347,"length":166,"previous":"M16-GAP-00331","next":"M16-GAP-00333"},"M16-GAP-00333":{"line":332,"offset":56513,"length":169,"previous":"M16-GAP-00332","next":"M16-GAP-00334"},"M16-GAP-00334":{"line":333,"offset":56682,"length":168,"previous":"M16-GAP-00333","next":"M16-GAP-00335"},"M16-GAP-00335":{"line":334,"offset":56850,"length":168,"previous":"M16-GAP-00334","next":"M16-GAP-00336"},"M16-GAP-00336":{"line":335,"offset":57018,"length":171,"previous":"M16-GAP-00335","next":"M16-GAP-00337"},"M16-GAP-00337":{"line":336,"offset":57189,"length":171,"previous":"M16-GAP-00336","next":"M16-GAP-00338"},"M16-GAP-00338":{"line":337,"offset":57360,"length":180,"previous":"M16-GAP-00337","next":"M16-GAP-00339"},"M16-GAP-00339":{"line":338,"offset":57540,"length":174,"previous":"M16-GAP-00338","next":"M16-GAP-00340"},"M16-GAP-00340":{"line":339,"offset":57714,"length":169,"previous":"M16-GAP-00339","next":"M16-GAP-00341"},"M16-GAP-00341":{"line":340,"offset":57883,"length":166,"previous":"M16-GAP-00340","next":"M16-GAP-00342"},"M16-GAP-00342":{"line":341,"offset":58049,"length":182,"previous":"M16-GAP-00341","next":"M16-GAP-00343"},"M16-GAP-00343":{"line":342,"offset":58231,"length":174,"previous":"M16-GAP-00342","next":"M16-GAP-00344"},"M16-GAP-00344":{"line":343,"offset":58405,"length":173,"previous":"M16-GAP-00343","next":"M16-GAP-00345"},"M16-GAP-00345":{"line":344,"offset":58578,"length":177,"previous":"M16-GAP-00344","next":"M16-GAP-00346"},"M16-GAP-00346":{"line":345,"offset":58755,"length":168,"previous":"M16-GAP-00345","next":"M16-GAP-00347"},"M16-GAP-00347":{"line":346,"offset":58923,"length":180,"previous":"M16-GAP-00346","next":"M16-GAP-00348"},"M16-GAP-00348":{"line":347,"offset":59103,"length":172,"previous":"M16-GAP-00347","next":"M16-GAP-00349"},"M16-GAP-00349":{"line":348,"offset":59275,"length":170,"previous":"M16-GAP-00348","next":"M16-GAP-00350"},"M16-GAP-00350":{"line":349,"offset":59445,"length":167,"previous":"M16-GAP-00349","next":"M16-GAP-00351"},"M16-GAP-00351":{"line":350,"offset":59612,"length":173,"previous":"M16-GAP-00350","next":"M16-GAP-00352"},"M16-GAP-00352":{"line":351,"offset":59785,"length":167,"previous":"M16-GAP-00351","next":"M16-GAP-00353"},"M16-GAP-00353":{"line":352,"offset":59952,"length":171,"previous":"M16-GAP-00352","next":"M16-GAP-00354"},"M16-GAP-00354":{"line":353,"offset":60123,"length":171,"previous":"M16-GAP-00353","next":"M16-GAP-00355"},"M16-GAP-00355":{"line":354,"offset":60294,"length":177,"previous":"M16-GAP-00354","next":"M16-GAP-00356"},"M16-GAP-00356":{"line":355,"offset":60471,"length":167,"previous":"M16-GAP-00355","next":"M16-GAP-00357"},"M16-GAP-00357":{"line":356,"offset":60638,"length":164,"previous":"M16-GAP-00356","next":"M16-GAP-00358"},"M16-GAP-00358":{"line":357,"offset":60802,"length":183,"previous":"M16-GAP-00357","next":"M16-GAP-00359"},"M16-GAP-00359":{"line":358,"offset":60985,"length":160,"previous":"M16-GAP-00358","next":"M16-GAP-00360"},"M16-GAP-00360":{"line":359,"offset":61145,"length":168,"previous":"M16-GAP-00359","next":"M16-GAP-00361"},"M16-GAP-00361":{"line":360,"offset":61313,"length":164,"previous":"M16-GAP-00360","next":"M16-GAP-00362"},"M16-GAP-00362":{"line":361,"offset":61477,"length":169,"previous":"M16-GAP-00361","next":"M16-GAP-00363"},"M16-GAP-00363":{"line":362,"offset":61646,"length":170,"previous":"M16-GAP-00362","next":"M16-GAP-00364"},"M16-GAP-00364":{"line":363,"offset":61816,"length":162,"previous":"M16-GAP-00363","next":"M16-GAP-00365"},"M16-GAP-00365":{"line":364,"offset":61978,"length":162,"previous":"M16-GAP-00364","next":"M16-GAP-00366"},"M16-GAP-00366":{"line":365,"offset":62140,"length":166,"previous":"M16-GAP-00365","next":"M16-GAP-00367"},"M16-GAP-00367":{"line":366,"offset":62306,"length":166,"previous":"M16-GAP-00366","next":"M16-GAP-00368"},"M16-GAP-00368":{"line":367,"offset":62472,"length":169,"previous":"M16-GAP-00367","next":"M16-GAP-00369"},"M16-GAP-00369":{"line":368,"offset":62641,"length":170,"previous":"M16-GAP-00368","next":"M16-GAP-00370"},"M16-GAP-00370":{"line":369,"offset":62811,"length":168,"previous":"M16-GAP-00369","next":"M16-GAP-00371"},"M16-GAP-00371":{"line":370,"offset":62979,"length":171,"previous":"M16-GAP-00370","next":"M16-GAP-00372"},"M16-GAP-00372":{"line":371,"offset":63150,"length":164,"previous":"M16-GAP-00371","next":"M16-GAP-00373"},"M16-GAP-00373":{"line":372,"offset":63314,"length":166,"previous":"M16-GAP-00372","next":"M16-GAP-00374"},"M16-GAP-00374":{"line":373,"offset":63480,"length":165,"previous":"M16-GAP-00373","next":"M16-GAP-00375"},"M16-GAP-00375":{"line":374,"offset":63645,"length":165,"previous":"M16-GAP-00374","next":"M16-GAP-00376"},"M16-GAP-00376":{"line":375,"offset":63810,"length":172,"previous":"M16-GAP-00375","next":"M16-GAP-00377"},"M16-GAP-00377":{"line":376,"offset":63982,"length":174,"previous":"M16-GAP-00376","next":"M16-GAP-00378"},"M16-GAP-00378":{"line":377,"offset":64156,"length":175,"previous":"M16-GAP-00377","next":"M16-GAP-00379"},"M16-GAP-00379":{"line":378,"offset":64331,"length":179,"previous":"M16-GAP-00378","next":"M16-GAP-00380"},"M16-GAP-00380":{"line":379,"offset":64510,"length":176,"previous":"M16-GAP-00379","next":"M16-GAP-00381"},"M16-GAP-00381":{"line":380,"offset":64686,"length":168,"previous":"M16-GAP-00380","next":"M16-GAP-00382"},"M16-GAP-00382":{"line":381,"offset":64854,"length":174,"previous":"M16-GAP-00381","next":"M16-GAP-00383"},"M16-GAP-00383":{"line":382,"offset":65028,"length":168,"previous":"M16-GAP-00382","next":"M16-GAP-00384"},"M16-GAP-00384":{"line":383,"offset":65196,"length":172,"previous":"M16-GAP-00383","next":"M16-GAP-00385"},"M16-GAP-00385":{"line":384,"offset":65368,"length":175,"previous":"M16-GAP-00384","next":"M16-GAP-00386"},"M16-GAP-00386":{"line":385,"offset":65543,"length":181,"previous":"M16-GAP-00385","next":"M16-GAP-00387"},"M16-GAP-00387":{"line":386,"offset":65724,"length":184,"previous":"M16-GAP-00386","next":"M16-GAP-00388"},"M16-GAP-00388":{"line":387,"offset":65908,"length":184,"previous":"M16-GAP-00387","next":"M16-GAP-00389"},"M16-GAP-00389":{"line":388,"offset":66092,"length":175,"previous":"M16-GAP-00388","next":"M16-GAP-00390"},"M16-GAP-00390":{"line":389,"offset":66267,"length":178,"previous":"M16-GAP-00389","next":"M16-GAP-00391"},"M16-GAP-00391":{"line":390,"offset":66445,"length":172,"previous":"M16-GAP-00390","next":"M16-GAP-00392"},"M16-GAP-00392":{"line":391,"offset":66617,"length":169,"previous":"M16-GAP-00391","next":"M16-GAP-00393"},"M16-GAP-00393":{"line":392,"offset":66786,"length":181,"previous":"M16-GAP-00392","next":"M16-GAP-00394"},"M16-GAP-00394":{"line":393,"offset":66967,"length":179,"previous":"M16-GAP-00393","next":"M16-GAP-00395"},"M16-GAP-00395":{"line":394,"offset":67146,"length":170,"previous":"M16-GAP-00394","next":"M16-GAP-00396"},"M16-GAP-00396":{"line":395,"offset":67316,"length":175,"previous":"M16-GAP-00395","next":"M16-GAP-00397"},"M16-GAP-00397":{"line":396,"offset":67491,"length":178,"previous":"M16-GAP-00396","next":"M16-GAP-00398"},"M16-GAP-00398":{"line":397,"offset":67669,"length":184,"previous":"M16-GAP-00397","next":"M16-GAP-00399"},"M16-GAP-00399":{"line":398,"offset":67853,"length":186,"previous":"M16-GAP-00398","next":"M16-GAP-00400"},"M16-GAP-00400":{"line":399,"offset":68039,"length":164,"previous":"M16-GAP-00399","next":"M16-GAP-00401"},"M16-GAP-00401":{"line":400,"offset":68203,"length":174,"previous":"M16-GAP-00400","next":"M16-GAP-00402"},"M16-GAP-00402":{"line":401,"offset":68377,"length":165,"previous":"M16-GAP-00401","next":"M16-GAP-00403"},"M16-GAP-00403":{"line":402,"offset":68542,"length":164,"previous":"M16-GAP-00402","next":"M16-GAP-00404"},"M16-GAP-00404":{"line":403,"offset":68706,"length":169,"previous":"M16-GAP-00403","next":"M16-GAP-00405"},"M16-GAP-00405":{"line":404,"offset":68875,"length":165,"previous":"M16-GAP-00404","next":"M16-GAP-00406"},"M16-GAP-00406":{"line":405,"offset":69040,"length":168,"previous":"M16-GAP-00405","next":"M16-GAP-00407"},"M16-GAP-00407":{"line":406,"offset":69208,"length":169,"previous":"M16-GAP-00406","next":"M16-GAP-00408"},"M16-GAP-00408":{"line":407,"offset":69377,"length":171,"previous":"M16-GAP-00407","next":"M16-GAP-00409"},"M16-GAP-00409":{"line":408,"offset":69548,"length":167,"previous":"M16-GAP-00408","next":"M16-GAP-00410"},"M16-GAP-00410":{"line":409,"offset":69715,"length":168,"previous":"M16-GAP-00409","next":"M16-GAP-00411"},"M16-GAP-00411":{"line":410,"offset":69883,"length":172,"previous":"M16-GAP-00410","next":"M16-GAP-00412"},"M16-GAP-00412":{"line":411,"offset":70055,"length":174,"previous":"M16-GAP-00411","next":"M16-GAP-00413"},"M16-GAP-00413":{"line":412,"offset":70229,"length":177,"previous":"M16-GAP-00412","next":"M16-GAP-00414"},"M16-GAP-00414":{"line":413,"offset":70406,"length":175,"previous":"M16-GAP-00413","next":"M16-GAP-00415"},"M16-GAP-00415":{"line":414,"offset":70581,"length":177,"previous":"M16-GAP-00414","next":"M16-GAP-00416"},"M16-GAP-00416":{"line":415,"offset":70758,"length":174,"previous":"M16-GAP-00415","next":"M16-GAP-00417"},"M16-GAP-00417":{"line":416,"offset":70932,"length":177,"previous":"M16-GAP-00416","next":"M16-GAP-00418"},"M16-GAP-00418":{"line":417,"offset":71109,"length":180,"previous":"M16-GAP-00417","next":"M16-GAP-00419"},"M16-GAP-00419":{"line":418,"offset":71289,"length":176,"previous":"M16-GAP-00418","next":"M16-GAP-00420"},"M16-GAP-00420":{"line":419,"offset":71465,"length":183,"previous":"M16-GAP-00419","next":"M16-GAP-00421"},"M16-GAP-00421":{"line":420,"offset":71648,"length":180,"previous":"M16-GAP-00420","next":"M16-GAP-00422"},"M16-GAP-00422":{"line":421,"offset":71828,"length":171,"previous":"M16-GAP-00421","next":"M16-GAP-00423"},"M16-GAP-00423":{"line":422,"offset":71999,"length":165,"previous":"M16-GAP-00422","next":"M16-GAP-00424"},"M16-GAP-00424":{"line":423,"offset":72164,"length":164,"previous":"M16-GAP-00423","next":"M16-GAP-00425"},"M16-GAP-00425":{"line":424,"offset":72328,"length":169,"previous":"M16-GAP-00424","next":"M16-GAP-00426"},"M16-GAP-00426":{"line":425,"offset":72497,"length":163,"previous":"M16-GAP-00425","next":"M16-GAP-00427"},"M16-GAP-00427":{"line":426,"offset":72660,"length":173,"previous":"M16-GAP-00426","next":"M16-GAP-00428"},"M16-GAP-00428":{"line":427,"offset":72833,"length":165,"previous":"M16-GAP-00427","next":"M16-GAP-00429"},"M16-GAP-00429":{"line":428,"offset":72998,"length":166,"previous":"M16-GAP-00428","next":"M16-GAP-00430"},"M16-GAP-00430":{"line":429,"offset":73164,"length":173,"previous":"M16-GAP-00429","next":"M16-GAP-00431"},"M16-GAP-00431":{"line":430,"offset":73337,"length":172,"previous":"M16-GAP-00430","next":"M16-GAP-00432"},"M16-GAP-00432":{"line":431,"offset":73509,"length":165,"previous":"M16-GAP-00431","next":"M16-GAP-00433"},"M16-GAP-00433":{"line":432,"offset":73674,"length":181,"previous":"M16-GAP-00432","next":"M16-GAP-00434"},"M16-GAP-00434":{"line":433,"offset":73855,"length":165,"previous":"M16-GAP-00433","next":"M16-GAP-00435"},"M16-GAP-00435":{"line":434,"offset":74020,"length":167,"previous":"M16-GAP-00434","next":"M16-GAP-00436"},"M16-GAP-00436":{"line":435,"offset":74187,"length":163,"previous":"M16-GAP-00435","next":"M16-GAP-00437"},"M16-GAP-00437":{"line":436,"offset":74350,"length":164,"previous":"M16-GAP-00436","next":"M16-GAP-00438"},"M16-GAP-00438":{"line":437,"offset":74514,"length":176,"previous":"M16-GAP-00437","next":"M16-GAP-00439"},"M16-GAP-00439":{"line":438,"offset":74690,"length":169,"previous":"M16-GAP-00438","next":"M16-GAP-00440"},"M16-GAP-00440":{"line":439,"offset":74859,"length":169,"previous":"M16-GAP-00439","next":"M16-GAP-00441"},"M16-GAP-00441":{"line":440,"offset":75028,"length":170,"previous":"M16-GAP-00440","next":"M16-GAP-00442"},"M16-GAP-00442":{"line":441,"offset":75198,"length":167,"previous":"M16-GAP-00441","next":"M16-GAP-00443"},"M16-GAP-00443":{"line":442,"offset":75365,"length":172,"previous":"M16-GAP-00442","next":"M16-GAP-00444"},"M16-GAP-00444":{"line":443,"offset":75537,"length":167,"previous":"M16-GAP-00443","next":"M16-GAP-00445"},"M16-GAP-00445":{"line":444,"offset":75704,"length":183,"previous":"M16-GAP-00444","next":"M16-GAP-00446"},"M16-GAP-00446":{"line":445,"offset":75887,"length":181,"previous":"M16-GAP-00445","next":"M16-GAP-00447"},"M16-GAP-00447":{"line":446,"offset":76068,"length":166,"previous":"M16-GAP-00446","next":"M16-GAP-00448"},"M16-GAP-00448":{"line":447,"offset":76234,"length":178,"previous":"M16-GAP-00447","next":"M16-GAP-00449"},"M16-GAP-00449":{"line":448,"offset":76412,"length":168,"previous":"M16-GAP-00448","next":"M16-GAP-00450"},"M16-GAP-00450":{"line":449,"offset":76580,"length":184,"previous":"M16-GAP-00449","next":"M16-GAP-00451"},"M16-GAP-00451":{"line":450,"offset":76764,"length":185,"previous":"M16-GAP-00450","next":"M16-GAP-00452"},"M16-GAP-00452":{"line":451,"offset":76949,"length":181,"previous":"M16-GAP-00451","next":"M16-GAP-00453"},"M16-GAP-00453":{"line":452,"offset":77130,"length":171,"previous":"M16-GAP-00452","next":"M16-GAP-00454"},"M16-GAP-00454":{"line":453,"offset":77301,"length":175,"previous":"M16-GAP-00453","next":"M16-GAP-00455"},"M16-GAP-00455":{"line":454,"offset":77476,"length":169,"previous":"M16-GAP-00454","next":"M16-GAP-00456"},"M16-GAP-00456":{"line":455,"offset":77645,"length":186,"previous":"M16-GAP-00455","next":"M16-GAP-00457"},"M16-GAP-00457":{"line":456,"offset":77831,"length":188,"previous":"M16-GAP-00456","next":"M16-GAP-00458"},"M16-GAP-00458":{"line":457,"offset":78019,"length":186,"previous":"M16-GAP-00457","next":"M16-GAP-00459"},"M16-GAP-00459":{"line":458,"offset":78205,"length":175,"previous":"M16-GAP-00458","next":"M16-GAP-00460"},"M16-GAP-00460":{"line":459,"offset":78380,"length":177,"previous":"M16-GAP-00459","next":"M16-GAP-00461"},"M16-GAP-00461":{"line":460,"offset":78557,"length":170,"previous":"M16-GAP-00460","next":"M16-GAP-00462"},"M16-GAP-00462":{"line":461,"offset":78727,"length":172,"previous":"M16-GAP-00461","next":"M16-GAP-00463"},"M16-GAP-00463":{"line":462,"offset":78899,"length":171,"previous":"M16-GAP-00462","next":"M16-GAP-00464"},"M16-GAP-00464":{"line":463,"offset":79070,"length":165,"previous":"M16-GAP-00463","next":"M16-GAP-00465"},"M16-GAP-00465":{"line":464,"offset":79235,"length":163,"previous":"M16-GAP-00464","next":"M16-GAP-00466"},"M16-GAP-00466":{"line":465,"offset":79398,"length":171,"previous":"M16-GAP-00465","next":"M16-GAP-00467"},"M16-GAP-00467":{"line":466,"offset":79569,"length":161,"previous":"M16-GAP-00466","next":"M16-GAP-00468"},"M16-GAP-00468":{"line":467,"offset":79730,"length":166,"previous":"M16-GAP-00467","next":"M16-GAP-00469"},"M16-GAP-00469":{"line":468,"offset":79896,"length":171,"previous":"M16-GAP-00468","next":"M16-GAP-00470"},"M16-GAP-00470":{"line":469,"offset":80067,"length":164,"previous":"M16-GAP-00469","next":"M16-GAP-00471"},"M16-GAP-00471":{"line":470,"offset":80231,"length":169,"previous":"M16-GAP-00470","next":"M16-GAP-00472"},"M16-GAP-00472":{"line":471,"offset":80400,"length":172,"previous":"M16-GAP-00471","next":"M16-GAP-00473"},"M16-GAP-00473":{"line":472,"offset":80572,"length":161,"previous":"M16-GAP-00472","next":"M16-GAP-00474"},"M16-GAP-00474":{"line":473,"offset":80733,"length":169,"previous":"M16-GAP-00473","next":"M16-GAP-00475"},"M16-GAP-00475":{"line":474,"offset":80902,"length":176,"previous":"M16-GAP-00474","next":"M16-GAP-00476"},"M16-GAP-00476":{"line":475,"offset":81078,"length":180,"previous":"M16-GAP-00475","next":"M16-GAP-00477"},"M16-GAP-00477":{"line":476,"offset":81258,"length":160,"previous":"M16-GAP-00476","next":"M16-GAP-00478"},"M16-GAP-00478":{"line":477,"offset":81418,"length":184,"previous":"M16-GAP-00477","next":"M16-GAP-00479"},"M16-GAP-00479":{"line":478,"offset":81602,"length":183,"previous":"M16-GAP-00478","next":"M16-GAP-00480"},"M16-GAP-00480":{"line":479,"offset":81785,"length":183,"previous":"M16-GAP-00479","next":"M16-GAP-00481"},"M16-GAP-00481":{"line":480,"offset":81968,"length":182,"previous":"M16-GAP-00480","next":"M16-GAP-00482"},"M16-GAP-00482":{"line":481,"offset":82150,"length":181,"previous":"M16-GAP-00481","next":"M16-GAP-00483"},"M16-GAP-00483":{"line":482,"offset":82331,"length":167,"previous":"M16-GAP-00482","next":"M16-GAP-00484"},"M16-GAP-00484":{"line":483,"offset":82498,"length":163,"previous":"M16-GAP-00483","next":"M16-GAP-00485"},"M16-GAP-00485":{"line":484,"offset":82661,"length":167,"previous":"M16-GAP-00484","next":"M16-GAP-00486"},"M16-GAP-00486":{"line":485,"offset":82828,"length":168,"previous":"M16-GAP-00485","next":"M16-GAP-00487"},"M16-GAP-00487":{"line":486,"offset":82996,"length":170,"previous":"M16-GAP-00486","next":"M16-GAP-00488"},"M16-GAP-00488":{"line":487,"offset":83166,"length":175,"previous":"M16-GAP-00487","next":"M16-GAP-00489"},"M16-GAP-00489":{"line":488,"offset":83341,"length":168,"previous":"M16-GAP-00488","next":"M16-GAP-00490"},"M16-GAP-00490":{"line":489,"offset":83509,"length":168,"previous":"M16-GAP-00489","next":"M16-GAP-00491"},"M16-GAP-00491":{"line":490,"offset":83677,"length":167,"previous":"M16-GAP-00490","next":"M16-GAP-00492"},"M16-GAP-00492":{"line":491,"offset":83844,"length":172,"previous":"M16-GAP-00491","next":"M16-GAP-00493"},"M16-GAP-00493":{"line":492,"offset":84016,"length":170,"previous":"M16-GAP-00492","next":"M16-GAP-00494"},"M16-GAP-00494":{"line":493,"offset":84186,"length":167,"previous":"M16-GAP-00493","next":"M16-GAP-00495"},"M16-GAP-00495":{"line":494,"offset":84353,"length":171,"previous":"M16-GAP-00494","next":"M16-GAP-00496"},"M16-GAP-00496":{"line":495,"offset":84524,"length":165,"previous":"M16-GAP-00495","next":"M16-GAP-00497"},"M16-GAP-00497":{"line":496,"offset":84689,"length":167,"previous":"M16-GAP-00496","next":"M16-GAP-00498"},"M16-GAP-00498":{"line":497,"offset":84856,"length":169,"previous":"M16-GAP-00497","next":"M16-GAP-00499"},"M16-GAP-00499":{"line":498,"offset":85025,"length":175,"previous":"M16-GAP-00498","next":"M16-GAP-00500"},"M16-GAP-00500":{"line":499,"offset":85200,"length":163,"previous":"M16-GAP-00499","next":"M16-GAP-00501"},"M16-GAP-00501":{"line":500,"offset":85363,"length":170,"previous":"M16-GAP-00500","next":"M16-GAP-00502"},"M16-GAP-00502":{"line":501,"offset":85533,"length":168,"previous":"M16-GAP-00501","next":"M16-GAP-00503"},"M16-GAP-00503":{"line":502,"offset":85701,"length":170,"previous":"M16-GAP-00502","next":"M16-GAP-00504"},"M16-GAP-00504":{"line":503,"offset":85871,"length":161,"previous":"M16-GAP-00503","next":"M16-GAP-00505"},"M16-GAP-00505":{"line":504,"offset":86032,"length":172,"previous":"M16-GAP-00504","next":"M16-GAP-00506"},"M16-GAP-00506":{"line":505,"offset":86204,"length":174,"previous":"M16-GAP-00505","next":"M16-GAP-00507"},"M16-GAP-00507":{"line":506,"offset":86378,"length":162,"previous":"M16-GAP-00506","next":"M16-GAP-00508"},"M16-GAP-00508":{"line":507,"offset":86540,"length":166,"previous":"M16-GAP-00507","next":"M16-GAP-00509"},"M16-GAP-00509":{"line":508,"offset":86706,"length":173,"previous":"M16-GAP-00508","next":"M16-GAP-00510"},"M16-GAP-00510":{"line":509,"offset":86879,"length":167,"previous":"M16-GAP-00509","next":"M16-GAP-00511"},"M16-GAP-00511":{"line":510,"offset":87046,"length":167,"previous":"M16-GAP-00510","next":"M16-GAP-00512"},"M16-GAP-00512":{"line":511,"offset":87213,"length":168,"previous":"M16-GAP-00511","next":"M16-GAP-00513"},"M16-GAP-00513":{"line":512,"offset":87381,"length":168,"previous":"M16-GAP-00512","next":"M16-GAP-00514"},"M16-GAP-00514":{"line":513,"offset":87549,"length":171,"previous":"M16-GAP-00513","next":"M16-GAP-00515"},"M16-GAP-00515":{"line":514,"offset":87720,"length":186,"previous":"M16-GAP-00514","next":"M16-GAP-00516"},"M16-GAP-00516":{"line":515,"offset":87906,"length":184,"previous":"M16-GAP-00515","next":"M16-GAP-00517"},"M16-GAP-00517":{"line":516,"offset":88090,"length":172,"previous":"M16-GAP-00516","next":"M16-GAP-00518"},"M16-GAP-00518":{"line":517,"offset":88262,"length":171,"previous":"M16-GAP-00517","next":"M16-GAP-00519"},"M16-GAP-00519":{"line":518,"offset":88433,"length":164,"previous":"M16-GAP-00518","next":"M16-GAP-00520"},"M16-GAP-00520":{"line":519,"offset":88597,"length":162,"previous":"M16-GAP-00519","next":"M16-GAP-00521"},"M16-GAP-00521":{"line":520,"offset":88759,"length":167,"previous":"M16-GAP-00520","next":"M16-GAP-00522"},"M16-GAP-00522":{"line":521,"offset":88926,"length":172,"previous":"M16-GAP-00521","next":"M16-GAP-00523"},"M16-GAP-00523":{"line":522,"offset":89098,"length":165,"previous":"M16-GAP-00522","next":"M16-GAP-00524"},"M16-GAP-00524":{"line":523,"offset":89263,"length":170,"previous":"M16-GAP-00523","next":"M16-GAP-00525"},"M16-GAP-00525":{"line":524,"offset":89433,"length":173,"previous":"M16-GAP-00524","next":"M16-GAP-00526"},"M16-GAP-00526":{"line":525,"offset":89606,"length":161,"previous":"M16-GAP-00525","next":"M16-GAP-00527"},"M16-GAP-00527":{"line":526,"offset":89767,"length":175,"previous":"M16-GAP-00526","next":"M16-GAP-00528"},"M16-GAP-00528":{"line":527,"offset":89942,"length":168,"previous":"M16-GAP-00527","next":"M16-GAP-00529"},"M16-GAP-00529":{"line":528,"offset":90110,"length":169,"previous":"M16-GAP-00528","next":"M16-GAP-00530"},"M16-GAP-00530":{"line":529,"offset":90279,"length":169,"previous":"M16-GAP-00529","next":"M16-GAP-00531"},"M16-GAP-00531":{"line":530,"offset":90448,"length":171,"previous":"M16-GAP-00530","next":"M16-GAP-00532"},"M16-GAP-00532":{"line":531,"offset":90619,"length":176,"previous":"M16-GAP-00531","next":"M16-GAP-00533"},"M16-GAP-00533":{"line":532,"offset":90795,"length":169,"previous":"M16-GAP-00532","next":"M16-GAP-00534"},"M16-GAP-00534":{"line":533,"offset":90964,"length":171,"previous":"M16-GAP-00533","next":"M16-GAP-00535"},"M16-GAP-00535":{"line":534,"offset":91135,"length":166,"previous":"M16-GAP-00534","next":"M16-GAP-00536"},"M16-GAP-00536":{"line":535,"offset":91301,"length":178,"previous":"M16-GAP-00535","next":"M16-GAP-00537"},"M16-GAP-00537":{"line":536,"offset":91479,"length":180,"previous":"M16-GAP-00536","next":"M16-GAP-00538"},"M16-GAP-00538":{"line":537,"offset":91659,"length":163,"previous":"M16-GAP-00537","next":"M16-GAP-00539"},"M16-GAP-00539":{"line":538,"offset":91822,"length":167,"previous":"M16-GAP-00538","next":"M16-GAP-00540"},"M16-GAP-00540":{"line":539,"offset":91989,"length":169,"previous":"M16-GAP-00539","next":"M16-GAP-00541"},"M16-GAP-00541":{"line":540,"offset":92158,"length":174,"previous":"M16-GAP-00540","next":"M16-GAP-00542"},"M16-GAP-00542":{"line":541,"offset":92332,"length":168,"previous":"M16-GAP-00541","next":"M16-GAP-00543"},"M16-GAP-00543":{"line":542,"offset":92500,"length":175,"previous":"M16-GAP-00542","next":"M16-GAP-00544"},"M16-GAP-00544":{"line":543,"offset":92675,"length":170,"previous":"M16-GAP-00543","next":"M16-GAP-00545"},"M16-GAP-00545":{"line":544,"offset":92845,"length":175,"previous":"M16-GAP-00544","next":"M16-GAP-00546"},"M16-GAP-00546":{"line":545,"offset":93020,"length":162,"previous":"M16-GAP-00545","next":"M16-GAP-00547"},"M16-GAP-00547":{"line":546,"offset":93182,"length":171,"previous":"M16-GAP-00546","next":"M16-GAP-00548"},"M16-GAP-00548":{"line":547,"offset":93353,"length":174,"previous":"M16-GAP-00547","next":"M16-GAP-00549"},"M16-GAP-00549":{"line":548,"offset":93527,"length":177,"previous":"M16-GAP-00548","next":"M16-GAP-00550"},"M16-GAP-00550":{"line":549,"offset":93704,"length":169,"previous":"M16-GAP-00549","next":"M16-GAP-00551"},"M16-GAP-00551":{"line":550,"offset":93873,"length":165,"previous":"M16-GAP-00550","next":"M16-GAP-00552"},"M16-GAP-00552":{"line":551,"offset":94038,"length":177,"previous":"M16-GAP-00551","next":"M16-GAP-00553"},"M16-GAP-00553":{"line":552,"offset":94215,"length":177,"previous":"M16-GAP-00552","next":"M16-GAP-00554"},"M16-GAP-00554":{"line":553,"offset":94392,"length":189,"previous":"M16-GAP-00553","next":"M16-GAP-00555"},"M16-GAP-00555":{"line":554,"offset":94581,"length":180,"previous":"M16-GAP-00554","next":"M16-GAP-00556"},"M16-GAP-00556":{"line":555,"offset":94761,"length":185,"previous":"M16-GAP-00555","next":"M16-GAP-00557"},"M16-GAP-00557":{"line":556,"offset":94946,"length":175,"previous":"M16-GAP-00556","next":"M16-GAP-00558"},"M16-GAP-00558":{"line":557,"offset":95121,"length":167,"previous":"M16-GAP-00557","next":"M16-GAP-00559"},"M16-GAP-00559":{"line":558,"offset":95288,"length":158,"previous":"M16-GAP-00558","next":"M16-GAP-00560"},"M16-GAP-00560":{"line":559,"offset":95446,"length":158,"previous":"M16-GAP-00559","next":"M16-GAP-00561"},"M16-GAP-00561":{"line":560,"offset":95604,"length":166,"previous":"M16-GAP-00560","next":"M16-GAP-00562"},"M16-GAP-00562":{"line":561,"offset":95770,"length":163,"previous":"M16-GAP-00561","next":"M16-GAP-00563"},"M16-GAP-00563":{"line":562,"offset":95933,"length":163,"previous":"M16-GAP-00562","next":"M16-GAP-00564"},"M16-GAP-00564":{"line":563,"offset":96096,"length":166,"previous":"M16-GAP-00563","next":"M16-GAP-00565"},"M16-GAP-00565":{"line":564,"offset":96262,"length":167,"previous":"M16-GAP-00564","next":"M16-GAP-00566"},"M16-GAP-00566":{"line":565,"offset":96429,"length":168,"previous":"M16-GAP-00565","next":"M16-GAP-00567"},"M16-GAP-00567":{"line":566,"offset":96597,"length":177,"previous":"M16-GAP-00566","next":"M16-GAP-00568"},"M16-GAP-00568":{"line":567,"offset":96774,"length":177,"previous":"M16-GAP-00567","next":"M16-GAP-00569"},"M16-GAP-00569":{"line":568,"offset":96951,"length":183,"previous":"M16-GAP-00568","next":"M16-GAP-00570"},"M16-GAP-00570":{"line":569,"offset":97134,"length":184,"previous":"M16-GAP-00569","next":"M16-GAP-00571"},"M16-GAP-00571":{"line":570,"offset":97318,"length":180,"previous":"M16-GAP-00570","next":"M16-GAP-00572"},"M16-GAP-00572":{"line":571,"offset":97498,"length":184,"previous":"M16-GAP-00571","next":"M16-GAP-00573"},"M16-GAP-00573":{"line":572,"offset":97682,"length":178,"previous":"M16-GAP-00572","next":"M16-GAP-00574"},"M16-GAP-00574":{"line":573,"offset":97860,"length":182,"previous":"M16-GAP-00573","next":"M16-GAP-00575"},"M16-GAP-00575":{"line":574,"offset":98042,"length":185,"previous":"M16-GAP-00574","next":"M16-GAP-00576"},"M16-GAP-00576":{"line":575,"offset":98227,"length":180,"previous":"M16-GAP-00575","next":"M16-GAP-00577"},"M16-GAP-00577":{"line":576,"offset":98407,"length":178,"previous":"M16-GAP-00576","next":"M16-GAP-00578"},"M16-GAP-00578":{"line":577,"offset":98585,"length":183,"previous":"M16-GAP-00577","next":"M16-GAP-00579"},"M16-GAP-00579":{"line":578,"offset":98768,"length":183,"previous":"M16-GAP-00578","next":"M16-GAP-00580"},"M16-GAP-00580":{"line":579,"offset":98951,"length":182,"previous":"M16-GAP-00579","next":"M16-GAP-00581"},"M16-GAP-00581":{"line":580,"offset":99133,"length":179,"previous":"M16-GAP-00580","next":"M16-GAP-00582"},"M16-GAP-00582":{"line":581,"offset":99312,"length":186,"previous":"M16-GAP-00581","next":"M16-GAP-00583"},"M16-GAP-00583":{"line":582,"offset":99498,"length":186,"previous":"M16-GAP-00582","next":"M16-GAP-00584"},"M16-GAP-00584":{"line":583,"offset":99684,"length":181,"previous":"M16-GAP-00583","next":"M16-GAP-00585"},"M16-GAP-00585":{"line":584,"offset":99865,"length":183,"previous":"M16-GAP-00584","next":"M16-GAP-00586"},"M16-GAP-00586":{"line":585,"offset":100048,"length":175,"previous":"M16-GAP-00585","next":"M16-GAP-00587"},"M16-GAP-00587":{"line":586,"offset":100223,"length":178,"previous":"M16-GAP-00586","next":"M16-GAP-00588"},"M16-GAP-00588":{"line":587,"offset":100401,"length":171,"previous":"M16-GAP-00587","next":"M16-GAP-00589"},"M16-GAP-00589":{"line":588,"offset":100572,"length":175,"previous":"M16-GAP-00588","next":"M16-GAP-00590"},"M16-GAP-00590":{"line":589,"offset":100747,"length":173,"previous":"M16-GAP-00589","next":"M16-GAP-00591"},"M16-GAP-00591":{"line":590,"offset":100920,"length":177,"previous":"M16-GAP-00590","next":"M16-GAP-00592"},"M16-GAP-00592":{"line":591,"offset":101097,"length":174,"previous":"M16-GAP-00591","next":"M16-GAP-00593"},"M16-GAP-00593":{"line":592,"offset":101271,"length":181,"previous":"M16-GAP-00592","next":"M16-GAP-00594"},"M16-GAP-00594":{"line":593,"offset":101452,"length":183,"previous":"M16-GAP-00593","next":"M16-GAP-00595"},"M16-GAP-00595":{"line":594,"offset":101635,"length":189,"previous":"M16-GAP-00594","next":"M16-GAP-00596"},"M16-GAP-00596":{"line":595,"offset":101824,"length":186,"previous":"M16-GAP-00595","next":"M16-GAP-00597"},"M16-GAP-00597":{"line":596,"offset":102010,"length":182,"previous":"M16-GAP-00596","next":"M16-GAP-00598"},"M16-GAP-00598":{"line":597,"offset":102192,"length":179,"previous":"M16-GAP-00597","next":"M16-GAP-00599"},"M16-GAP-00599":{"line":598,"offset":102371,"length":171,"previous":"M16-GAP-00598","next":"M16-GAP-00600"},"M16-GAP-00600":{"line":599,"offset":102542,"length":168,"previous":"M16-GAP-00599","next":"M16-GAP-00601"},"M16-GAP-00601":{"line":600,"offset":102710,"length":172,"previous":"M16-GAP-00600","next":"M16-GAP-00602"},"M16-GAP-00602":{"line":601,"offset":102882,"length":171,"previous":"M16-GAP-00601","next":"M16-GAP-00603"},"M16-GAP-00603":{"line":602,"offset":103053,"length":169,"previous":"M16-GAP-00602","next":"M16-GAP-00604"},"M16-GAP-00604":{"line":603,"offset":103222,"length":162,"previous":"M16-GAP-00603","next":"M16-GAP-00605"},"M16-GAP-00605":{"line":604,"offset":103384,"length":162,"previous":"M16-GAP-00604","next":"M16-GAP-00606"},"M16-GAP-00606":{"line":605,"offset":103546,"length":169,"previous":"M16-GAP-00605","next":"M16-GAP-00607"},"M16-GAP-00607":{"line":606,"offset":103715,"length":175,"previous":"M16-GAP-00606","next":"M16-GAP-00608"},"M16-GAP-00608":{"line":607,"offset":103890,"length":163,"previous":"M16-GAP-00607","next":"M16-GAP-00609"},"M16-GAP-00609":{"line":608,"offset":104053,"length":174,"previous":"M16-GAP-00608","next":"M16-GAP-00610"},"M16-GAP-00610":{"line":609,"offset":104227,"length":163,"previous":"M16-GAP-00609","next":"M16-GAP-00611"},"M16-GAP-00611":{"line":610,"offset":104390,"length":169,"previous":"M16-GAP-00610","next":"M16-GAP-00612"},"M16-GAP-00612":{"line":611,"offset":104559,"length":174,"previous":"M16-GAP-00611","next":"M16-GAP-00613"},"M16-GAP-00613":{"line":612,"offset":104733,"length":163,"previous":"M16-GAP-00612","next":"M16-GAP-00614"},"M16-GAP-00614":{"line":613,"offset":104896,"length":165,"previous":"M16-GAP-00613","next":"M16-GAP-00615"},"M16-GAP-00615":{"line":614,"offset":105061,"length":175,"previous":"M16-GAP-00614","next":"M16-GAP-00616"},"M16-GAP-00616":{"line":615,"offset":105236,"length":175,"previous":"M16-GAP-00615","next":"M16-GAP-00617"},"M16-GAP-00617":{"line":616,"offset":105411,"length":169,"previous":"M16-GAP-00616","next":"M16-GAP-00618"},"M16-GAP-00618":{"line":617,"offset":105580,"length":160,"previous":"M16-GAP-00617","next":"M16-GAP-00619"},"M16-GAP-00619":{"line":618,"offset":105740,"length":164,"previous":"M16-GAP-00618","next":"M16-GAP-00620"},"M16-GAP-00620":{"line":619,"offset":105904,"length":170,"previous":"M16-GAP-00619","next":"M16-GAP-00621"},"M16-GAP-00621":{"line":620,"offset":106074,"length":162,"previous":"M16-GAP-00620","next":"M16-GAP-00622"},"M16-GAP-00622":{"line":621,"offset":106236,"length":164,"previous":"M16-GAP-00621","next":"M16-GAP-00623"},"M16-GAP-00623":{"line":622,"offset":106400,"length":163,"previous":"M16-GAP-00622","next":"M16-GAP-00624"},"M16-GAP-00624":{"line":623,"offset":106563,"length":162,"previous":"M16-GAP-00623","next":"M16-GAP-00625"},"M16-GAP-00625":{"line":624,"offset":106725,"length":176,"previous":"M16-GAP-00624","next":"M16-GAP-00626"},"M16-GAP-00626":{"line":625,"offset":106901,"length":168,"previous":"M16-GAP-00625","next":"M16-GAP-00627"},"M16-GAP-00627":{"line":626,"offset":107069,"length":162,"previous":"M16-GAP-00626","next":"M16-GAP-00628"},"M16-GAP-00628":{"line":627,"offset":107231,"length":166,"previous":"M16-GAP-00627","next":"M16-GAP-00629"},"M16-GAP-00629":{"line":628,"offset":107397,"length":171,"previous":"M16-GAP-00628","next":"M16-GAP-00630"},"M16-GAP-00630":{"line":629,"offset":107568,"length":166,"previous":"M16-GAP-00629","next":"M16-GAP-00631"},"M16-GAP-00631":{"line":630,"offset":107734,"length":167,"previous":"M16-GAP-00630","next":"M16-GAP-00632"},"M16-GAP-00632":{"line":631,"offset":107901,"length":168,"previous":"M16-GAP-00631","next":"M16-GAP-00633"},"M16-GAP-00633":{"line":632,"offset":108069,"length":178,"previous":"M16-GAP-00632","next":"M16-GAP-00634"},"M16-GAP-00634":{"line":633,"offset":108247,"length":168,"previous":"M16-GAP-00633","next":"M16-GAP-00635"},"M16-GAP-00635":{"line":634,"offset":108415,"length":166,"previous":"M16-GAP-00634","next":"M16-GAP-00636"},"M16-GAP-00636":{"line":635,"offset":108581,"length":167,"previous":"M16-GAP-00635","next":"M16-GAP-00637"},"M16-GAP-00637":{"line":636,"offset":108748,"length":172,"previous":"M16-GAP-00636","next":"M16-GAP-00638"},"M16-GAP-00638":{"line":637,"offset":108920,"length":169,"previous":"M16-GAP-00637","next":"M16-GAP-00639"},"M16-GAP-00639":{"line":638,"offset":109089,"length":165,"previous":"M16-GAP-00638","next":"M16-GAP-00640"},"M16-GAP-00640":{"line":639,"offset":109254,"length":166,"previous":"M16-GAP-00639","next":"M16-GAP-00641"},"M16-GAP-00641":{"line":640,"offset":109420,"length":168,"previous":"M16-GAP-00640","next":"M16-GAP-00642"},"M16-GAP-00642":{"line":641,"offset":109588,"length":166,"previous":"M16-GAP-00641","next":"M16-GAP-00643"},"M16-GAP-00643":{"line":642,"offset":109754,"length":167,"previous":"M16-GAP-00642","next":"M16-GAP-00644"},"M16-GAP-00644":{"line":643,"offset":109921,"length":171,"previous":"M16-GAP-00643","next":"M16-GAP-00645"},"M16-GAP-00645":{"line":644,"offset":110092,"length":165,"previous":"M16-GAP-00644","next":"M16-GAP-00646"},"M16-GAP-00646":{"line":645,"offset":110257,"length":166,"previous":"M16-GAP-00645","next":"M16-GAP-00647"},"M16-GAP-00647":{"line":646,"offset":110423,"length":168,"previous":"M16-GAP-00646","next":"M16-GAP-00648"},"M16-GAP-00648":{"line":647,"offset":110591,"length":166,"previous":"M16-GAP-00647","next":"M16-GAP-00649"},"M16-GAP-00649":{"line":648,"offset":110757,"length":167,"previous":"M16-GAP-00648","next":"M16-GAP-00650"},"M16-GAP-00650":{"line":649,"offset":110924,"length":171,"previous":"M16-GAP-00649","next":"M16-GAP-00651"},"M16-GAP-00651":{"line":650,"offset":111095,"length":167,"previous":"M16-GAP-00650","next":"M16-GAP-00652"},"M16-GAP-00652":{"line":651,"offset":111262,"length":167,"previous":"M16-GAP-00651","next":"M16-GAP-00653"},"M16-GAP-00653":{"line":652,"offset":111429,"length":164,"previous":"M16-GAP-00652","next":"M16-GAP-00654"},"M16-GAP-00654":{"line":653,"offset":111593,"length":167,"previous":"M16-GAP-00653","next":"M16-GAP-00655"},"M16-GAP-00655":{"line":654,"offset":111760,"length":172,"previous":"M16-GAP-00654","next":"M16-GAP-00656"},"M16-GAP-00656":{"line":655,"offset":111932,"length":170,"previous":"M16-GAP-00655","next":"M16-GAP-00657"},"M16-GAP-00657":{"line":656,"offset":112102,"length":162,"previous":"M16-GAP-00656","next":"M16-GAP-00658"},"M16-GAP-00658":{"line":657,"offset":112264,"length":166,"previous":"M16-GAP-00657","next":"M16-GAP-00659"},"M16-GAP-00659":{"line":658,"offset":112430,"length":160,"previous":"M16-GAP-00658","next":"M16-GAP-00660"},"M16-GAP-00660":{"line":659,"offset":112590,"length":167,"previous":"M16-GAP-00659","next":"M16-GAP-00661"},"M16-GAP-00661":{"line":660,"offset":112757,"length":160,"previous":"M16-GAP-00660","next":"M16-GAP-00662"},"M16-GAP-00662":{"line":661,"offset":112917,"length":166,"previous":"M16-GAP-00661","next":"M16-GAP-00663"},"M16-GAP-00663":{"line":662,"offset":113083,"length":167,"previous":"M16-GAP-00662","next":"M16-GAP-00664"},"M16-GAP-00664":{"line":663,"offset":113250,"length":169,"previous":"M16-GAP-00663","next":"M16-GAP-00665"},"M16-GAP-00665":{"line":664,"offset":113419,"length":165,"previous":"M16-GAP-00664","next":"M16-GAP-00666"},"M16-GAP-00666":{"line":665,"offset":113584,"length":168,"previous":"M16-GAP-00665","next":"M16-GAP-00667"},"M16-GAP-00667":{"line":666,"offset":113752,"length":165,"previous":"M16-GAP-00666","next":"M16-GAP-00668"},"M16-GAP-00668":{"line":667,"offset":113917,"length":164,"previous":"M16-GAP-00667","next":"M16-GAP-00669"},"M16-GAP-00669":{"line":668,"offset":114081,"length":167,"previous":"M16-GAP-00668","next":"M16-GAP-00670"},"M16-GAP-00670":{"line":669,"offset":114248,"length":175,"previous":"M16-GAP-00669","next":"M16-GAP-00671"},"M16-GAP-00671":{"line":670,"offset":114423,"length":166,"previous":"M16-GAP-00670","next":"M16-GAP-00672"},"M16-GAP-00672":{"line":671,"offset":114589,"length":176,"previous":"M16-GAP-00671","next":"M16-GAP-00673"},"M16-GAP-00673":{"line":672,"offset":114765,"length":167,"previous":"M16-GAP-00672","next":"M16-GAP-00674"},"M16-GAP-00674":{"line":673,"offset":114932,"length":170,"previous":"M16-GAP-00673","next":"M16-GAP-00675"},"M16-GAP-00675":{"line":674,"offset":115102,"length":162,"previous":"M16-GAP-00674","next":"M16-GAP-00676"},"M16-GAP-00676":{"line":675,"offset":115264,"length":173,"previous":"M16-GAP-00675","next":"M16-GAP-00677"},"M16-GAP-00677":{"line":676,"offset":115437,"length":177,"previous":"M16-GAP-00676","next":"M16-GAP-00678"},"M16-GAP-00678":{"line":677,"offset":115614,"length":176,"previous":"M16-GAP-00677","next":"M16-GAP-00679"},"M16-GAP-00679":{"line":678,"offset":115790,"length":179,"previous":"M16-GAP-00678","next":"M16-GAP-00680"},"M16-GAP-00680":{"line":679,"offset":115969,"length":183,"previous":"M16-GAP-00679","next":"M16-GAP-00681"},"M16-GAP-00681":{"line":680,"offset":116152,"length":185,"previous":"M16-GAP-00680","next":"M16-GAP-00682"},"M16-GAP-00682":{"line":681,"offset":116337,"length":182,"previous":"M16-GAP-00681","next":"M16-GAP-00683"},"M16-GAP-00683":{"line":682,"offset":116519,"length":186,"previous":"M16-GAP-00682","next":"M16-GAP-00684"},"M16-GAP-00684":{"line":683,"offset":116705,"length":182,"previous":"M16-GAP-00683","next":"M16-GAP-00685"},"M16-GAP-00685":{"line":684,"offset":116887,"length":174,"previous":"M16-GAP-00684","next":"M16-GAP-00686"},"M16-GAP-00686":{"line":685,"offset":117061,"length":173,"previous":"M16-GAP-00685","next":"M16-GAP-00687"},"M16-GAP-00687":{"line":686,"offset":117234,"length":167,"previous":"M16-GAP-00686","next":"M16-GAP-00688"},"M16-GAP-00688":{"line":687,"offset":117401,"length":189,"previous":"M16-GAP-00687","next":"M16-GAP-00689"},"M16-GAP-00689":{"line":688,"offset":117590,"length":173,"previous":"M16-GAP-00688","next":"M16-GAP-00690"},"M16-GAP-00690":{"line":689,"offset":117763,"length":170,"previous":"M16-GAP-00689","next":"M16-GAP-00691"},"M16-GAP-00691":{"line":690,"offset":117933,"length":179,"previous":"M16-GAP-00690","next":"M16-GAP-00692"},"M16-GAP-00692":{"line":691,"offset":118112,"length":180,"previous":"M16-GAP-00691","next":"M16-GAP-00693"},"M16-GAP-00693":{"line":692,"offset":118292,"length":182,"previous":"M16-GAP-00692","next":"M16-GAP-00694"},"M16-GAP-00694":{"line":693,"offset":118474,"length":166,"previous":"M16-GAP-00693","next":"M16-GAP-00695"},"M16-GAP-00695":{"line":694,"offset":118640,"length":169,"previous":"M16-GAP-00694","next":"M16-GAP-00696"},"M16-GAP-00696":{"line":695,"offset":118809,"length":173,"previous":"M16-GAP-00695","next":"M16-GAP-00697"},"M16-GAP-00697":{"line":696,"offset":118982,"length":170,"previous":"M16-GAP-00696","next":"M16-GAP-00698"},"M16-GAP-00698":{"line":697,"offset":119152,"length":174,"previous":"M16-GAP-00697","next":"M16-GAP-00699"},"M16-GAP-00699":{"line":698,"offset":119326,"length":166,"previous":"M16-GAP-00698","next":"M16-GAP-00700"},"M16-GAP-00700":{"line":699,"offset":119492,"length":175,"previous":"M16-GAP-00699","next":"M16-GAP-00701"},"M16-GAP-00701":{"line":700,"offset":119667,"length":162,"previous":"M16-GAP-00700","next":"M16-GAP-00702"},"M16-GAP-00702":{"line":701,"offset":119829,"length":169,"previous":"M16-GAP-00701","next":"M16-GAP-00703"},"M16-GAP-00703":{"line":702,"offset":119998,"length":168,"previous":"M16-GAP-00702","next":"M16-GAP-00704"},"M16-GAP-00704":{"line":703,"offset":120166,"length":161,"previous":"M16-GAP-00703","next":"M16-GAP-00705"},"M16-GAP-00705":{"line":704,"offset":120327,"length":167,"previous":"M16-GAP-00704","next":"M16-GAP-00706"},"M16-GAP-00706":{"line":705,"offset":120494,"length":165,"previous":"M16-GAP-00705","next":"M16-GAP-00707"},"M16-GAP-00707":{"line":706,"offset":120659,"length":163,"previous":"M16-GAP-00706","next":"M16-GAP-00708"},"M16-GAP-00708":{"line":707,"offset":120822,"length":178,"previous":"M16-GAP-00707","next":"M16-GAP-00709"},"M16-GAP-00709":{"line":708,"offset":121000,"length":178,"previous":"M16-GAP-00708","next":"M16-GAP-00710"},"M16-GAP-00710":{"line":709,"offset":121178,"length":179,"previous":"M16-GAP-00709","next":"M16-GAP-00711"},"M16-GAP-00711":{"line":710,"offset":121357,"length":166,"previous":"M16-GAP-00710","next":"M16-GAP-00712"},"M16-GAP-00712":{"line":711,"offset":121523,"length":171,"previous":"M16-GAP-00711","next":"M16-GAP-00713"},"M16-GAP-00713":{"line":712,"offset":121694,"length":161,"previous":"M16-GAP-00712","next":"M16-GAP-00714"},"M16-GAP-00714":{"line":713,"offset":121855,"length":168,"previous":"M16-GAP-00713","next":"M16-GAP-00715"},"M16-GAP-00715":{"line":714,"offset":122023,"length":173,"previous":"M16-GAP-00714","next":"M16-GAP-00716"},"M16-GAP-00716":{"line":715,"offset":122196,"length":169,"previous":"M16-GAP-00715","next":"M16-GAP-00717"},"M16-GAP-00717":{"line":716,"offset":122365,"length":175,"previous":"M16-GAP-00716","next":"M16-GAP-00718"},"M16-GAP-00718":{"line":717,"offset":122540,"length":170,"previous":"M16-GAP-00717","next":"M16-GAP-00719"},"M16-GAP-00719":{"line":718,"offset":122710,"length":171,"previous":"M16-GAP-00718","next":"M16-GAP-00720"},"M16-GAP-00720":{"line":719,"offset":122881,"length":173,"previous":"M16-GAP-00719","next":"M16-GAP-00721"},"M16-GAP-00721":{"line":720,"offset":123054,"length":172,"previous":"M16-GAP-00720","next":"M16-GAP-00722"},"M16-GAP-00722":{"line":721,"offset":123226,"length":167,"previous":"M16-GAP-00721","next":"M16-GAP-00723"},"M16-GAP-00723":{"line":722,"offset":123393,"length":172,"previous":"M16-GAP-00722","next":"M16-GAP-00724"},"M16-GAP-00724":{"line":723,"offset":123565,"length":175,"previous":"M16-GAP-00723","next":"M16-GAP-00725"},"M16-GAP-00725":{"line":724,"offset":123740,"length":176,"previous":"M16-GAP-00724","next":"M16-GAP-00726"},"M16-GAP-00726":{"line":725,"offset":123916,"length":168,"previous":"M16-GAP-00725","next":"M16-GAP-00727"},"M16-GAP-00727":{"line":726,"offset":124084,"length":161,"previous":"M16-GAP-00726","next":"M16-GAP-00728"},"M16-GAP-00728":{"line":727,"offset":124245,"length":175,"previous":"M16-GAP-00727","next":"M16-GAP-00729"},"M16-GAP-00729":{"line":728,"offset":124420,"length":172,"previous":"M16-GAP-00728","next":"M16-GAP-00730"},"M16-GAP-00730":{"line":729,"offset":124592,"length":170,"previous":"M16-GAP-00729","next":"M16-GAP-00731"},"M16-GAP-00731":{"line":730,"offset":124762,"length":172,"previous":"M16-GAP-00730","next":"M16-GAP-00732"},"M16-GAP-00732":{"line":731,"offset":124934,"length":167,"previous":"M16-GAP-00731","next":"M16-GAP-00733"},"M16-GAP-00733":{"line":732,"offset":125101,"length":168,"previous":"M16-GAP-00732","next":"M16-GAP-00734"},"M16-GAP-00734":{"line":733,"offset":125269,"length":163,"previous":"M16-GAP-00733","next":"M16-GAP-00735"},"M16-GAP-00735":{"line":734,"offset":125432,"length":162,"previous":"M16-GAP-00734","next":"M16-GAP-00736"},"M16-GAP-00736":{"line":735,"offset":125594,"length":173,"previous":"M16-GAP-00735","next":"M16-GAP-00737"},"M16-GAP-00737":{"line":736,"offset":125767,"length":166,"previous":"M16-GAP-00736","next":"M16-GAP-00738"},"M16-GAP-00738":{"line":737,"offset":125933,"length":163,"previous":"M16-GAP-00737","next":"M16-GAP-00739"},"M16-GAP-00739":{"line":738,"offset":126096,"length":172,"previous":"M16-GAP-00738","next":"M16-GAP-00740"},"M16-GAP-00740":{"line":739,"offset":126268,"length":170,"previous":"M16-GAP-00739","next":"M16-GAP-00741"},"M16-GAP-00741":{"line":740,"offset":126438,"length":176,"previous":"M16-GAP-00740","next":"M16-GAP-00742"},"M16-GAP-00742":{"line":741,"offset":126614,"length":167,"previous":"M16-GAP-00741","next":"M16-GAP-00743"},"M16-GAP-00743":{"line":742,"offset":126781,"length":167,"previous":"M16-GAP-00742","next":"M16-GAP-00744"},"M16-GAP-00744":{"line":743,"offset":126948,"length":170,"previous":"M16-GAP-00743","next":"M16-GAP-00745"},"M16-GAP-00745":{"line":744,"offset":127118,"length":170,"previous":"M16-GAP-00744","next":"M16-GAP-00746"},"M16-GAP-00746":{"line":745,"offset":127288,"length":175,"previous":"M16-GAP-00745","next":"M16-GAP-00747"},"M16-GAP-00747":{"line":746,"offset":127463,"length":169,"previous":"M16-GAP-00746","next":"M16-GAP-00748"},"M16-GAP-00748":{"line":747,"offset":127632,"length":173,"previous":"M16-GAP-00747","next":"M16-GAP-00749"},"M16-GAP-00749":{"line":748,"offset":127805,"length":168,"previous":"M16-GAP-00748","next":"M16-GAP-00750"},"M16-GAP-00750":{"line":749,"offset":127973,"length":170,"previous":"M16-GAP-00749","next":"M16-GAP-00751"},"M16-GAP-00751":{"line":750,"offset":128143,"length":168,"previous":"M16-GAP-00750","next":"M16-GAP-00752"},"M16-GAP-00752":{"line":751,"offset":128311,"length":162,"previous":"M16-GAP-00751","next":"M16-GAP-00753"},"M16-GAP-00753":{"line":752,"offset":128473,"length":163,"previous":"M16-GAP-00752","next":"M16-GAP-00754"},"M16-GAP-00754":{"line":753,"offset":128636,"length":161,"previous":"M16-GAP-00753","next":"M16-GAP-00755"},"M16-GAP-00755":{"line":754,"offset":128797,"length":174,"previous":"M16-GAP-00754","next":"M16-GAP-00756"},"M16-GAP-00756":{"line":755,"offset":128971,"length":173,"previous":"M16-GAP-00755","next":"M16-GAP-00757"},"M16-GAP-00757":{"line":756,"offset":129144,"length":168,"previous":"M16-GAP-00756","next":"M16-GAP-00758"},"M16-GAP-00758":{"line":757,"offset":129312,"length":165,"previous":"M16-GAP-00757","next":"M16-GAP-00759"},"M16-GAP-00759":{"line":758,"offset":129477,"length":167,"previous":"M16-GAP-00758","next":"M16-GAP-00760"},"M16-GAP-00760":{"line":759,"offset":129644,"length":170,"previous":"M16-GAP-00759","next":"M16-GAP-00761"},"M16-GAP-00761":{"line":760,"offset":129814,"length":184,"previous":"M16-GAP-00760","next":"M16-GAP-00762"},"M16-GAP-00762":{"line":761,"offset":129998,"length":193,"previous":"M16-GAP-00761","next":"M16-GAP-00763"},"M16-GAP-00763":{"line":762,"offset":130191,"length":177,"previous":"M16-GAP-00762","next":"M16-GAP-00764"},"M16-GAP-00764":{"line":763,"offset":130368,"length":173,"previous":"M16-GAP-00763","next":"M16-GAP-00765"},"M16-GAP-00765":{"line":764,"offset":130541,"length":176,"previous":"M16-GAP-00764","next":"M16-GAP-00766"},"M16-GAP-00766":{"line":765,"offset":130717,"length":183,"previous":"M16-GAP-00765","next":"M16-GAP-00767"},"M16-GAP-00767":{"line":766,"offset":130900,"length":169,"previous":"M16-GAP-00766","next":"M16-GAP-00768"},"M16-GAP-00768":{"line":767,"offset":131069,"length":177,"previous":"M16-GAP-00767","next":"M16-GAP-00769"},"M16-GAP-00769":{"line":768,"offset":131246,"length":171,"previous":"M16-GAP-00768","next":"M16-GAP-00770"},"M16-GAP-00770":{"line":769,"offset":131417,"length":181,"previous":"M16-GAP-00769","next":"M16-GAP-00771"},"M16-GAP-00771":{"line":770,"offset":131598,"length":177,"previous":"M16-GAP-00770","next":"M16-GAP-00772"},"M16-GAP-00772":{"line":771,"offset":131775,"length":173,"previous":"M16-GAP-00771","next":"M16-GAP-00773"},"M16-GAP-00773":{"line":772,"offset":131948,"length":174,"previous":"M16-GAP-00772","next":"M16-GAP-00774"},"M16-GAP-00774":{"line":773,"offset":132122,"length":179,"previous":"M16-GAP-00773","next":"M16-GAP-00775"},"M16-GAP-00775":{"line":774,"offset":132301,"length":174,"previous":"M16-GAP-00774","next":"M16-GAP-00776"},"M16-GAP-00776":{"line":775,"offset":132475,"length":176,"previous":"M16-GAP-00775","next":"M16-GAP-00777"},"M16-GAP-00777":{"line":776,"offset":132651,"length":172,"previous":"M16-GAP-00776","next":"M16-GAP-00778"},"M16-GAP-00778":{"line":777,"offset":132823,"length":177,"previous":"M16-GAP-00777","next":"M16-GAP-00779"},"M16-GAP-00779":{"line":778,"offset":133000,"length":169,"previous":"M16-GAP-00778","next":"M16-GAP-00780"},"M16-GAP-00780":{"line":779,"offset":133169,"length":186,"previous":"M16-GAP-00779","next":"M16-GAP-00781"},"M16-GAP-00781":{"line":780,"offset":133355,"length":180,"previous":"M16-GAP-00780","next":"M16-GAP-00782"},"M16-GAP-00782":{"line":781,"offset":133535,"length":183,"previous":"M16-GAP-00781","next":"M16-GAP-00783"},"M16-GAP-00783":{"line":782,"offset":133718,"length":176,"previous":"M16-GAP-00782","next":"M16-GAP-00784"},"M16-GAP-00784":{"line":783,"offset":133894,"length":185,"previous":"M16-GAP-00783","next":"M16-GAP-00785"},"M16-GAP-00785":{"line":784,"offset":134079,"length":175,"previous":"M16-GAP-00784","next":"M16-GAP-00786"},"M16-GAP-00786":{"line":785,"offset":134254,"length":179,"previous":"M16-GAP-00785","next":"M16-GAP-00787"},"M16-GAP-00787":{"line":786,"offset":134433,"length":177,"previous":"M16-GAP-00786","next":"M16-GAP-00788"},"M16-GAP-00788":{"line":787,"offset":134610,"length":174,"previous":"M16-GAP-00787","next":"M16-GAP-00789"},"M16-GAP-00789":{"line":788,"offset":134784,"length":180,"previous":"M16-GAP-00788","next":"M16-GAP-00790"},"M16-GAP-00790":{"line":789,"offset":134964,"length":187,"previous":"M16-GAP-00789","next":"M16-GAP-00791"},"M16-GAP-00791":{"line":790,"offset":135151,"length":180,"previous":"M16-GAP-00790","next":"M16-GAP-00792"},"M16-GAP-00792":{"line":791,"offset":135331,"length":186,"previous":"M16-GAP-00791","next":"M16-GAP-00793"},"M16-GAP-00793":{"line":792,"offset":135517,"length":183,"previous":"M16-GAP-00792","next":"M16-GAP-00794"},"M16-GAP-00794":{"line":793,"offset":135700,"length":175,"previous":"M16-GAP-00793","next":"M16-GAP-00795"},"M16-GAP-00795":{"line":794,"offset":135875,"length":178,"previous":"M16-GAP-00794","next":"M16-GAP-00796"},"M16-GAP-00796":{"line":795,"offset":136053,"length":179,"previous":"M16-GAP-00795","next":"M16-GAP-00797"},"M16-GAP-00797":{"line":796,"offset":136232,"length":179,"previous":"M16-GAP-00796","next":"M16-GAP-00798"},"M16-GAP-00798":{"line":797,"offset":136411,"length":182,"previous":"M16-GAP-00797","next":"M16-GAP-00799"},"M16-GAP-00799":{"line":798,"offset":136593,"length":183,"previous":"M16-GAP-00798","next":"M16-GAP-00800"},"M16-GAP-00800":{"line":799,"offset":136776,"length":176,"previous":"M16-GAP-00799","next":"M16-GAP-00801"},"M16-GAP-00801":{"line":800,"offset":136952,"length":175,"previous":"M16-GAP-00800","next":"M16-GAP-00802"},"M16-GAP-00802":{"line":801,"offset":137127,"length":177,"previous":"M16-GAP-00801","next":"M16-GAP-00803"},"M16-GAP-00803":{"line":802,"offset":137304,"length":177,"previous":"M16-GAP-00802","next":"M16-GAP-00804"},"M16-GAP-00804":{"line":803,"offset":137481,"length":188,"previous":"M16-GAP-00803","next":"M16-GAP-00805"},"M16-GAP-00805":{"line":804,"offset":137669,"length":178,"previous":"M16-GAP-00804","next":"M16-GAP-00806"},"M16-GAP-00806":{"line":805,"offset":137847,"length":181,"previous":"M16-GAP-00805","next":"M16-GAP-00807"},"M16-GAP-00807":{"line":806,"offset":138028,"length":182,"previous":"M16-GAP-00806","next":"M16-GAP-00808"},"M16-GAP-00808":{"line":807,"offset":138210,"length":189,"previous":"M16-GAP-00807","next":"M16-GAP-00809"},"M16-GAP-00809":{"line":808,"offset":138399,"length":185,"previous":"M16-GAP-00808","next":"M16-GAP-00810"},"M16-GAP-00810":{"line":809,"offset":138584,"length":180,"previous":"M16-GAP-00809","next":"M16-GAP-00811"},"M16-GAP-00811":{"line":810,"offset":138764,"length":180,"previous":"M16-GAP-00810","next":"M16-GAP-00812"},"M16-GAP-00812":{"line":811,"offset":138944,"length":184,"previous":"M16-GAP-00811","next":"M16-GAP-00813"},"M16-GAP-00813":{"line":812,"offset":139128,"length":178,"previous":"M16-GAP-00812","next":"M16-GAP-00814"},"M16-GAP-00814":{"line":813,"offset":139306,"length":172,"previous":"M16-GAP-00813","next":"M16-GAP-00815"},"M16-GAP-00815":{"line":814,"offset":139478,"length":181,"previous":"M16-GAP-00814","next":"M16-GAP-00816"},"M16-GAP-00816":{"line":815,"offset":139659,"length":170,"previous":"M16-GAP-00815","next":"M16-GAP-00817"},"M16-GAP-00817":{"line":816,"offset":139829,"length":168,"previous":"M16-GAP-00816","next":"M16-GAP-00818"},"M16-GAP-00818":{"line":817,"offset":139997,"length":178,"previous":"M16-GAP-00817","next":"M16-GAP-00819"},"M16-GAP-00819":{"line":818,"offset":140175,"length":178,"previous":"M16-GAP-00818","next":"M16-GAP-00820"},"M16-GAP-00820":{"line":819,"offset":140353,"length":181,"previous":"M16-GAP-00819","next":"M16-GAP-00821"},"M16-GAP-00821":{"line":820,"offset":140534,"length":180,"previous":"M16-GAP-00820","next":"M16-GAP-00822"},"M16-GAP-00822":{"line":821,"offset":140714,"length":179,"previous":"M16-GAP-00821","next":"M16-GAP-00823"},"M16-GAP-00823":{"line":822,"offset":140893,"length":183,"previous":"M16-GAP-00822","next":"M16-GAP-00824"},"M16-GAP-00824":{"line":823,"offset":141076,"length":188,"previous":"M16-GAP-00823","next":"M16-GAP-00825"},"M16-GAP-00825":{"line":824,"offset":141264,"length":183,"previous":"M16-GAP-00824","next":"M16-GAP-00826"},"M16-GAP-00826":{"line":825,"offset":141447,"length":172,"previous":"M16-GAP-00825","next":"M16-GAP-00827"},"M16-GAP-00827":{"line":826,"offset":141619,"length":174,"previous":"M16-GAP-00826","next":"M16-GAP-00828"},"M16-GAP-00828":{"line":827,"offset":141793,"length":174,"previous":"M16-GAP-00827","next":"M16-GAP-00829"},"M16-GAP-00829":{"line":828,"offset":141967,"length":177,"previous":"M16-GAP-00828","next":"M16-GAP-00830"},"M16-GAP-00830":{"line":829,"offset":142144,"length":182,"previous":"M16-GAP-00829","next":"M16-GAP-00831"},"M16-GAP-00831":{"line":830,"offset":142326,"length":175,"previous":"M16-GAP-00830","next":"M16-GAP-00832"},"M16-GAP-00832":{"line":831,"offset":142501,"length":181,"previous":"M16-GAP-00831","next":"M16-GAP-00833"},"M16-GAP-00833":{"line":832,"offset":142682,"length":186,"previous":"M16-GAP-00832","next":"M16-GAP-00834"},"M16-GAP-00834":{"line":833,"offset":142868,"length":176,"previous":"M16-GAP-00833","next":"M16-GAP-00835"},"M16-GAP-00835":{"line":834,"offset":143044,"length":176,"previous":"M16-GAP-00834","next":"M16-GAP-00836"},"M16-GAP-00836":{"line":835,"offset":143220,"length":176,"previous":"M16-GAP-00835","next":"M16-GAP-00837"},"M16-GAP-00837":{"line":836,"offset":143396,"length":178,"previous":"M16-GAP-00836","next":"M16-GAP-00838"},"M16-GAP-00838":{"line":837,"offset":143574,"length":176,"previous":"M16-GAP-00837","next":"M16-GAP-00839"},"M16-GAP-00839":{"line":838,"offset":143750,"length":178,"previous":"M16-GAP-00838","next":"M16-GAP-00840"},"M16-GAP-00840":{"line":839,"offset":143928,"length":179,"previous":"M16-GAP-00839","next":"M16-GAP-00841"},"M16-GAP-00841":{"line":840,"offset":144107,"length":173,"previous":"M16-GAP-00840","next":"M16-GAP-00842"},"M16-GAP-00842":{"line":841,"offset":144280,"length":179,"previous":"M16-GAP-00841","next":"M16-GAP-00843"},"M16-GAP-00843":{"line":842,"offset":144459,"length":184,"previous":"M16-GAP-00842","next":"M16-GAP-00844"},"M16-GAP-00844":{"line":843,"offset":144643,"length":180,"previous":"M16-GAP-00843","next":"M16-GAP-00845"},"M16-GAP-00845":{"line":844,"offset":144823,"length":185,"previous":"M16-GAP-00844","next":"M16-GAP-00846"},"M16-GAP-00846":{"line":845,"offset":145008,"length":179,"previous":"M16-GAP-00845","next":"M16-GAP-00847"},"M16-GAP-00847":{"line":846,"offset":145187,"length":180,"previous":"M16-GAP-00846","next":"M16-GAP-00848"},"M16-GAP-00848":{"line":847,"offset":145367,"length":177,"previous":"M16-GAP-00847","next":"M16-GAP-00849"},"M16-GAP-00849":{"line":848,"offset":145544,"length":183,"previous":"M16-GAP-00848","next":"M16-GAP-00850"},"M16-GAP-00850":{"line":849,"offset":145727,"length":180,"previous":"M16-GAP-00849","next":"M16-GAP-00851"},"M16-GAP-00851":{"line":850,"offset":145907,"length":180,"previous":"M16-GAP-00850","next":"M16-GAP-00852"},"M16-GAP-00852":{"line":851,"offset":146087,"length":184,"previous":"M16-GAP-00851","next":"M16-GAP-00853"},"M16-GAP-00853":{"line":852,"offset":146271,"length":186,"previous":"M16-GAP-00852","next":"M16-GAP-00854"},"M16-GAP-00854":{"line":853,"offset":146457,"length":188,"previous":"M16-GAP-00853","next":"M16-GAP-00855"},"M16-GAP-00855":{"line":854,"offset":146645,"length":179,"previous":"M16-GAP-00854","next":"M16-GAP-00856"},"M16-GAP-00856":{"line":855,"offset":146824,"length":177,"previous":"M16-GAP-00855","next":"M16-GAP-00857"},"M16-GAP-00857":{"line":856,"offset":147001,"length":184,"previous":"M16-GAP-00856","next":"M16-GAP-00858"},"M16-GAP-00858":{"line":857,"offset":147185,"length":189,"previous":"M16-GAP-00857","next":"M16-GAP-00859"},"M16-GAP-00859":{"line":858,"offset":147374,"length":190,"previous":"M16-GAP-00858","next":"M16-GAP-00860"},"M16-GAP-00860":{"line":859,"offset":147564,"length":180,"previous":"M16-GAP-00859","next":"M16-GAP-00861"},"M16-GAP-00861":{"line":860,"offset":147744,"length":178,"previous":"M16-GAP-00860","next":"M16-GAP-00862"},"M16-GAP-00862":{"line":861,"offset":147922,"length":177,"previous":"M16-GAP-00861","next":"M16-GAP-00863"},"M16-GAP-00863":{"line":862,"offset":148099,"length":181,"previous":"M16-GAP-00862","next":"M16-GAP-00864"},"M16-GAP-00864":{"line":863,"offset":148280,"length":188,"previous":"M16-GAP-00863","next":"M16-GAP-00865"},"M16-GAP-00865":{"line":864,"offset":148468,"length":188,"previous":"M16-GAP-00864","next":"M16-GAP-00866"},"M16-GAP-00866":{"line":865,"offset":148656,"length":176,"previous":"M16-GAP-00865","next":"M16-GAP-00867"},"M16-GAP-00867":{"line":866,"offset":148832,"length":181,"previous":"M16-GAP-00866","next":"M16-GAP-00868"},"M16-GAP-00868":{"line":867,"offset":149013,"length":176,"previous":"M16-GAP-00867","next":"M16-GAP-00869"},"M16-GAP-00869":{"line":868,"offset":149189,"length":184,"previous":"M16-GAP-00868","next":"M16-GAP-00870"},"M16-GAP-00870":{"line":869,"offset":149373,"length":197,"previous":"M16-GAP-00869","next":"M16-GAP-00871"},"M16-GAP-00871":{"line":870,"offset":149570,"length":181,"previous":"M16-GAP-00870","next":"M16-GAP-00872"},"M16-GAP-00872":{"line":871,"offset":149751,"length":184,"previous":"M16-GAP-00871","next":"M16-GAP-00873"},"M16-GAP-00873":{"line":872,"offset":149935,"length":184,"previous":"M16-GAP-00872","next":"M16-GAP-00874"},"M16-GAP-00874":{"line":873,"offset":150119,"length":181,"previous":"M16-GAP-00873","next":"M16-GAP-00875"},"M16-GAP-00875":{"line":874,"offset":150300,"length":187,"previous":"M16-GAP-00874","next":"M16-GAP-00876"},"M16-GAP-00876":{"line":875,"offset":150487,"length":191,"previous":"M16-GAP-00875","next":"M16-GAP-00877"},"M16-GAP-00877":{"line":876,"offset":150678,"length":184,"previous":"M16-GAP-00876","next":"M16-GAP-00878"},"M16-GAP-00878":{"line":877,"offset":150862,"length":182,"previous":"M16-GAP-00877","next":"M16-GAP-00879"},"M16-GAP-00879":{"line":878,"offset":151044,"length":184,"previous":"M16-GAP-00878","next":"M16-GAP-00880"},"M16-GAP-00880":{"line":879,"offset":151228,"length":178,"previous":"M16-GAP-00879","next":"M16-GAP-00881"},"M16-GAP-00881":{"line":880,"offset":151406,"length":178,"previous":"M16-GAP-00880","next":"M16-GAP-00882"},"M16-GAP-00882":{"line":881,"offset":151584,"length":188,"previous":"M16-GAP-00881","next":"M16-GAP-00883"},"M16-GAP-00883":{"line":882,"offset":151772,"length":182,"previous":"M16-GAP-00882","next":"M16-GAP-00884"},"M16-GAP-00884":{"line":883,"offset":151954,"length":172,"previous":"M16-GAP-00883","next":"M16-GAP-00885"},"M16-GAP-00885":{"line":884,"offset":152126,"length":169,"previous":"M16-GAP-00884","next":"M16-GAP-00886"},"M16-GAP-00886":{"line":885,"offset":152295,"length":176,"previous":"M16-GAP-00885","next":"M16-GAP-00887"},"M16-GAP-00887":{"line":886,"offset":152471,"length":174,"previous":"M16-GAP-00886","next":"M16-GAP-00888"},"M16-GAP-00888":{"line":887,"offset":152645,"length":171,"previous":"M16-GAP-00887","next":"M16-GAP-00889"},"M16-GAP-00889":{"line":888,"offset":152816,"length":172,"previous":"M16-GAP-00888","next":"M16-GAP-00890"},"M16-GAP-00890":{"line":889,"offset":152988,"length":178,"previous":"M16-GAP-00889","next":"M16-GAP-00891"},"M16-GAP-00891":{"line":890,"offset":153166,"length":173,"previous":"M16-GAP-00890","next":"M16-GAP-00892"},"M16-GAP-00892":{"line":891,"offset":153339,"length":174,"previous":"M16-GAP-00891","next":"M16-GAP-00893"},"M16-GAP-00893":{"line":892,"offset":153513,"length":170,"previous":"M16-GAP-00892","next":"M16-GAP-00894"},"M16-GAP-00894":{"line":893,"offset":153683,"length":168,"previous":"M16-GAP-00893","next":"M16-GAP-00895"},"M16-GAP-00895":{"line":894,"offset":153851,"length":161,"previous":"M16-GAP-00894","next":"M16-GAP-00896"},"M16-GAP-00896":{"line":895,"offset":154012,"length":178,"previous":"M16-GAP-00895","next":"M16-GAP-00897"},"M16-GAP-00897":{"line":896,"offset":154190,"length":163,"previous":"M16-GAP-00896","next":"M16-GAP-00898"},"M16-GAP-00898":{"line":897,"offset":154353,"length":175,"previous":"M16-GAP-00897","next":"M16-GAP-00899"},"M16-GAP-00899":{"line":898,"offset":154528,"length":160,"previous":"M16-GAP-00898","next":"M16-GAP-00900"},"M16-GAP-00900":{"line":899,"offset":154688,"length":161,"previous":"M16-GAP-00899","next":"M16-GAP-00901"},"M16-GAP-00901":{"line":900,"offset":154849,"length":168,"previous":"M16-GAP-00900","next":"M16-GAP-00902"},"M16-GAP-00902":{"line":901,"offset":155017,"length":161,"previous":"M16-GAP-00901","next":"M16-GAP-00903"},"M16-GAP-00903":{"line":902,"offset":155178,"length":170,"previous":"M16-GAP-00902","next":"M16-GAP-00904"},"M16-GAP-00904":{"line":903,"offset":155348,"length":169,"previous":"M16-GAP-00903","next":"M16-GAP-00905"},"M16-GAP-00905":{"line":904,"offset":155517,"length":172,"previous":"M16-GAP-00904","next":"M16-GAP-00906"},"M16-GAP-00906":{"line":905,"offset":155689,"length":163,"previous":"M16-GAP-00905","next":"M16-GAP-00907"},"M16-GAP-00907":{"line":906,"offset":155852,"length":175,"previous":"M16-GAP-00906","next":"M16-GAP-00908"},"M16-GAP-00908":{"line":907,"offset":156027,"length":170,"previous":"M16-GAP-00907","next":"M16-GAP-00909"},"M16-GAP-00909":{"line":908,"offset":156197,"length":164,"previous":"M16-GAP-00908","next":"M16-GAP-00910"},"M16-GAP-00910":{"line":909,"offset":156361,"length":163,"previous":"M16-GAP-00909","next":"M16-GAP-00911"},"M16-GAP-00911":{"line":910,"offset":156524,"length":174,"previous":"M16-GAP-00910","next":"M16-GAP-00912"},"M16-GAP-00912":{"line":911,"offset":156698,"length":163,"previous":"M16-GAP-00911","next":"M16-GAP-00913"},"M16-GAP-00913":{"line":912,"offset":156861,"length":168,"previous":"M16-GAP-00912","next":"M16-GAP-00914"},"M16-GAP-00914":{"line":913,"offset":157029,"length":161,"previous":"M16-GAP-00913","next":"M16-GAP-00915"},"M16-GAP-00915":{"line":914,"offset":157190,"length":174,"previous":"M16-GAP-00914","next":"M16-GAP-00916"},"M16-GAP-00916":{"line":915,"offset":157364,"length":164,"previous":"M16-GAP-00915","next":"M16-GAP-00917"},"M16-GAP-00917":{"line":916,"offset":157528,"length":170,"previous":"M16-GAP-00916","next":"M16-GAP-00918"},"M16-GAP-00918":{"line":917,"offset":157698,"length":165,"previous":"M16-GAP-00917","next":"M16-GAP-00919"},"M16-GAP-00919":{"line":918,"offset":157863,"length":166,"previous":"M16-GAP-00918","next":"M16-GAP-00920"},"M16-GAP-00920":{"line":919,"offset":158029,"length":168,"previous":"M16-GAP-00919","next":"M16-GAP-00921"},"M16-GAP-00921":{"line":920,"offset":158197,"length":163,"previous":"M16-GAP-00920","next":"M16-GAP-00922"},"M16-GAP-00922":{"line":921,"offset":158360,"length":165,"previous":"M16-GAP-00921","next":"M16-GAP-00923"},"M16-GAP-00923":{"line":922,"offset":158525,"length":175,"previous":"M16-GAP-00922","next":"M16-GAP-00924"},"M16-GAP-00924":{"line":923,"offset":158700,"length":175,"previous":"M16-GAP-00923","next":"M16-GAP-00925"},"M16-GAP-00925":{"line":924,"offset":158875,"length":166,"previous":"M16-GAP-00924","next":"M16-GAP-00926"},"M16-GAP-00926":{"line":925,"offset":159041,"length":165,"previous":"M16-GAP-00925","next":"M16-GAP-00927"},"M16-GAP-00927":{"line":926,"offset":159206,"length":170,"previous":"M16-GAP-00926","next":"M16-GAP-00928"},"M16-GAP-00928":{"line":927,"offset":159376,"length":166,"previous":"M16-GAP-00927","next":"M16-GAP-00929"},"M16-GAP-00929":{"line":928,"offset":159542,"length":173,"previous":"M16-GAP-00928","next":"M16-GAP-00930"},"M16-GAP-00930":{"line":929,"offset":159715,"length":169,"previous":"M16-GAP-00929","next":"M16-GAP-00931"},"M16-GAP-00931":{"line":930,"offset":159884,"length":170,"previous":"M16-GAP-00930","next":"M16-GAP-00932"},"M16-GAP-00932":{"line":931,"offset":160054,"length":172,"previous":"M16-GAP-00931","next":"M16-GAP-00933"},"M16-GAP-00933":{"line":932,"offset":160226,"length":166,"previous":"M16-GAP-00932","next":"M16-GAP-00934"},"M16-GAP-00934":{"line":933,"offset":160392,"length":167,"previous":"M16-GAP-00933","next":"M16-GAP-00935"},"M16-GAP-00935":{"line":934,"offset":160559,"length":167,"previous":"M16-GAP-00934","next":"M16-GAP-00936"},"M16-GAP-00936":{"line":935,"offset":160726,"length":168,"previous":"M16-GAP-00935","next":"M16-GAP-00937"},"M16-GAP-00937":{"line":936,"offset":160894,"length":167,"previous":"M16-GAP-00936","next":"M16-GAP-00938"},"M16-GAP-00938":{"line":937,"offset":161061,"length":169,"previous":"M16-GAP-00937","next":"M16-GAP-00939"},"M16-GAP-00939":{"line":938,"offset":161230,"length":169,"previous":"M16-GAP-00938","next":"M16-GAP-00940"},"M16-GAP-00940":{"line":939,"offset":161399,"length":178,"previous":"M16-GAP-00939","next":"M16-GAP-00941"},"M16-GAP-00941":{"line":940,"offset":161577,"length":166,"previous":"M16-GAP-00940","next":"M16-GAP-00942"},"M16-GAP-00942":{"line":941,"offset":161743,"length":166,"previous":"M16-GAP-00941","next":"M16-GAP-00943"},"M16-GAP-00943":{"line":942,"offset":161909,"length":167,"previous":"M16-GAP-00942","next":"M16-GAP-00944"},"M16-GAP-00944":{"line":943,"offset":162076,"length":163,"previous":"M16-GAP-00943","next":"M16-GAP-00945"},"M16-GAP-00945":{"line":944,"offset":162239,"length":171,"previous":"M16-GAP-00944","next":"M16-GAP-00946"},"M16-GAP-00946":{"line":945,"offset":162410,"length":169,"previous":"M16-GAP-00945","next":"M16-GAP-00947"},"M16-GAP-00947":{"line":946,"offset":162579,"length":170,"previous":"M16-GAP-00946","next":"M16-GAP-00948"},"M16-GAP-00948":{"line":947,"offset":162749,"length":172,"previous":"M16-GAP-00947","next":"M16-GAP-00949"},"M16-GAP-00949":{"line":948,"offset":162921,"length":170,"previous":"M16-GAP-00948","next":"M16-GAP-00950"},"M16-GAP-00950":{"line":949,"offset":163091,"length":172,"previous":"M16-GAP-00949","next":"M16-GAP-00951"},"M16-GAP-00951":{"line":950,"offset":163263,"length":175,"previous":"M16-GAP-00950","next":"M16-GAP-00952"},"M16-GAP-00952":{"line":951,"offset":163438,"length":161,"previous":"M16-GAP-00951","next":"M16-GAP-00953"},"M16-GAP-00953":{"line":952,"offset":163599,"length":169,"previous":"M16-GAP-00952","next":"M16-GAP-00954"},"M16-GAP-00954":{"line":953,"offset":163768,"length":164,"previous":"M16-GAP-00953","next":"M16-GAP-00955"},"M16-GAP-00955":{"line":954,"offset":163932,"length":167,"previous":"M16-GAP-00954","next":"M16-GAP-00956"},"M16-GAP-00956":{"line":955,"offset":164099,"length":174,"previous":"M16-GAP-00955","next":"M16-GAP-00957"},"M16-GAP-00957":{"line":956,"offset":164273,"length":162,"previous":"M16-GAP-00956","next":"M16-GAP-00958"},"M16-GAP-00958":{"line":957,"offset":164435,"length":164,"previous":"M16-GAP-00957","next":"M16-GAP-00959"},"M16-GAP-00959":{"line":958,"offset":164599,"length":164,"previous":"M16-GAP-00958","next":"M16-GAP-00960"},"M16-GAP-00960":{"line":959,"offset":164763,"length":168,"previous":"M16-GAP-00959","next":"M16-GAP-00961"},"M16-GAP-00961":{"line":960,"offset":164931,"length":168,"previous":"M16-GAP-00960","next":"M16-GAP-00962"},"M16-GAP-00962":{"line":961,"offset":165099,"length":174,"previous":"M16-GAP-00961","next":"M16-GAP-00963"},"M16-GAP-00963":{"line":962,"offset":165273,"length":174,"previous":"M16-GAP-00962","next":"M16-GAP-00964"},"M16-GAP-00964":{"line":963,"offset":165447,"length":180,"previous":"M16-GAP-00963","next":"M16-GAP-00965"},"M16-GAP-00965":{"line":964,"offset":165627,"length":166,"previous":"M16-GAP-00964","next":"M16-GAP-00966"},"M16-GAP-00966":{"line":965,"offset":165793,"length":172,"previous":"M16-GAP-00965","next":"M16-GAP-00967"},"M16-GAP-00967":{"line":966,"offset":165965,"length":168,"previous":"M16-GAP-00966","next":"M16-GAP-00968"},"M16-GAP-00968":{"line":967,"offset":166133,"length":169,"previous":"M16-GAP-00967","next":"M16-GAP-00969"},"M16-GAP-00969":{"line":968,"offset":166302,"length":162,"previous":"M16-GAP-00968","next":"M16-GAP-00970"},"M16-GAP-00970":{"line":969,"offset":166464,"length":165,"previous":"M16-GAP-00969","next":"M16-GAP-00971"},"M16-GAP-00971":{"line":970,"offset":166629,"length":170,"previous":"M16-GAP-00970","next":"M16-GAP-00972"},"M16-GAP-00972":{"line":971,"offset":166799,"length":176,"previous":"M16-GAP-00971","next":"M16-GAP-00973"},"M16-GAP-00973":{"line":972,"offset":166975,"length":171,"previous":"M16-GAP-00972","next":"M16-GAP-00974"},"M16-GAP-00974":{"line":973,"offset":167146,"length":171,"previous":"M16-GAP-00973","next":"M16-GAP-00975"},"M16-GAP-00975":{"line":974,"offset":167317,"length":169,"previous":"M16-GAP-00974","next":"M16-GAP-00976"},"M16-GAP-00976":{"line":975,"offset":167486,"length":166,"previous":"M16-GAP-00975","next":"M16-GAP-00977"},"M16-GAP-00977":{"line":976,"offset":167652,"length":165,"previous":"M16-GAP-00976","next":"M16-GAP-00978"},"M16-GAP-00978":{"line":977,"offset":167817,"length":168,"previous":"M16-GAP-00977","next":"M16-GAP-00979"},"M16-GAP-00979":{"line":978,"offset":167985,"length":169,"previous":"M16-GAP-00978","next":"M16-GAP-00980"},"M16-GAP-00980":{"line":979,"offset":168154,"length":159,"previous":"M16-GAP-00979","next":"M16-GAP-00981"},"M16-GAP-00981":{"line":980,"offset":168313,"length":179,"previous":"M16-GAP-00980","next":"M16-GAP-00982"},"M16-GAP-00982":{"line":981,"offset":168492,"length":168,"previous":"M16-GAP-00981","next":"M16-GAP-00983"},"M16-GAP-00983":{"line":982,"offset":168660,"length":166,"previous":"M16-GAP-00982","next":"M16-GAP-00984"},"M16-GAP-00984":{"line":983,"offset":168826,"length":169,"previous":"M16-GAP-00983","next":"M16-GAP-00985"},"M16-GAP-00985":{"line":984,"offset":168995,"length":176,"previous":"M16-GAP-00984","next":"M16-GAP-00986"},"M16-GAP-00986":{"line":985,"offset":169171,"length":176,"previous":"M16-GAP-00985","next":"M16-GAP-00987"},"M16-GAP-00987":{"line":986,"offset":169347,"length":162,"previous":"M16-GAP-00986","next":"M16-GAP-00988"},"M16-GAP-00988":{"line":987,"offset":169509,"length":166,"previous":"M16-GAP-00987","next":"M16-GAP-00989"},"M16-GAP-00989":{"line":988,"offset":169675,"length":166,"previous":"M16-GAP-00988","next":"M16-GAP-00990"},"M16-GAP-00990":{"line":989,"offset":169841,"length":169,"previous":"M16-GAP-00989","next":"M16-GAP-00991"},"M16-GAP-00991":{"line":990,"offset":170010,"length":168,"previous":"M16-GAP-00990","next":"M16-GAP-00992"},"M16-GAP-00992":{"line":991,"offset":170178,"length":167,"previous":"M16-GAP-00991","next":"M16-GAP-00993"},"M16-GAP-00993":{"line":992,"offset":170345,"length":169,"previous":"M16-GAP-00992","next":"M16-GAP-00994"},"M16-GAP-00994":{"line":993,"offset":170514,"length":174,"previous":"M16-GAP-00993","next":"M16-GAP-00995"},"M16-GAP-00995":{"line":994,"offset":170688,"length":167,"previous":"M16-GAP-00994","next":"M16-GAP-00996"},"M16-GAP-00996":{"line":995,"offset":170855,"length":171,"previous":"M16-GAP-00995","next":"M16-GAP-00997"},"M16-GAP-00997":{"line":996,"offset":171026,"length":179,"previous":"M16-GAP-00996","next":"M16-GAP-00998"},"M16-GAP-00998":{"line":997,"offset":171205,"length":172,"previous":"M16-GAP-00997","next":"M16-GAP-00999"},"M16-GAP-00999":{"line":998,"offset":171377,"length":171,"previous":"M16-GAP-00998","next":"M16-GAP-01000"},"M16-GAP-01000":{"line":999,"offset":171548,"length":167,"previous":"M16-GAP-00999","next":"M16-GAP-01001"},"M16-GAP-01001":{"line":1000,"offset":171715,"length":178,"previous":"M16-GAP-01000","next":"M16-GAP-01002"},"M16-GAP-01002":{"line":1001,"offset":171893,"length":172,"previous":"M16-GAP-01001","next":"M16-GAP-01003"},"M16-GAP-01003":{"line":1002,"offset":172065,"length":164,"previous":"M16-GAP-01002","next":"M16-GAP-01004"},"M16-GAP-01004":{"line":1003,"offset":172229,"length":163,"previous":"M16-GAP-01003","next":"M16-GAP-01005"},"M16-GAP-01005":{"line":1004,"offset":172392,"length":165,"previous":"M16-GAP-01004","next":"M16-GAP-01006"},"M16-GAP-01006":{"line":1005,"offset":172557,"length":173,"previous":"M16-GAP-01005","next":"M16-GAP-01007"},"M16-GAP-01007":{"line":1006,"offset":172730,"length":176,"previous":"M16-GAP-01006","next":"M16-GAP-01008"},"M16-GAP-01008":{"line":1007,"offset":172906,"length":171,"previous":"M16-GAP-01007","next":"M16-GAP-01009"},"M16-GAP-01009":{"line":1008,"offset":173077,"length":171,"previous":"M16-GAP-01008","next":"M16-GAP-01010"},"M16-GAP-01010":{"line":1009,"offset":173248,"length":173,"previous":"M16-GAP-01009","next":"M16-GAP-01011"},"M16-GAP-01011":{"line":1010,"offset":173421,"length":167,"previous":"M16-GAP-01010","next":"M16-GAP-01012"},"M16-GAP-01012":{"line":1011,"offset":173588,"length":180,"previous":"M16-GAP-01011","next":"M16-GAP-01013"},"M16-GAP-01013":{"line":1012,"offset":173768,"length":171,"previous":"M16-GAP-01012","next":"M16-GAP-01014"},"M16-GAP-01014":{"line":1013,"offset":173939,"length":169,"previous":"M16-GAP-01013","next":"M16-GAP-01015"},"M16-GAP-01015":{"line":1014,"offset":174108,"length":171,"previous":"M16-GAP-01014","next":"M16-GAP-01016"},"M16-GAP-01016":{"line":1015,"offset":174279,"length":169,"previous":"M16-GAP-01015","next":"M16-GAP-01017"},"M16-GAP-01017":{"line":1016,"offset":174448,"length":161,"previous":"M16-GAP-01016","next":"M16-GAP-01018"},"M16-GAP-01018":{"line":1017,"offset":174609,"length":162,"previous":"M16-GAP-01017","next":"M16-GAP-01019"},"M16-GAP-01019":{"line":1018,"offset":174771,"length":172,"previous":"M16-GAP-01018","next":"M16-GAP-01020"},"M16-GAP-01020":{"line":1019,"offset":174943,"length":173,"previous":"M16-GAP-01019","next":"M16-GAP-01021"},"M16-GAP-01021":{"line":1020,"offset":175116,"length":167,"previous":"M16-GAP-01020","next":"M16-GAP-01022"},"M16-GAP-01022":{"line":1021,"offset":175283,"length":170,"previous":"M16-GAP-01021","next":"M16-GAP-01023"},"M16-GAP-01023":{"line":1022,"offset":175453,"length":169,"previous":"M16-GAP-01022","next":"M16-GAP-01024"},"M16-GAP-01024":{"line":1023,"offset":175622,"length":167,"previous":"M16-GAP-01023","next":"M16-GAP-01025"},"M16-GAP-01025":{"line":1024,"offset":175789,"length":190,"previous":"M16-GAP-01024","next":"M16-GAP-01026"},"M16-GAP-01026":{"line":1025,"offset":175979,"length":192,"previous":"M16-GAP-01025","next":"M16-GAP-01027"},"M16-GAP-01027":{"line":1026,"offset":176171,"length":182,"previous":"M16-GAP-01026","next":"M16-GAP-01028"},"M16-GAP-01028":{"line":1027,"offset":176353,"length":177,"previous":"M16-GAP-01027","next":"M16-GAP-01029"},"M16-GAP-01029":{"line":1028,"offset":176530,"length":175,"previous":"M16-GAP-01028","next":"M16-GAP-01030"},"M16-GAP-01030":{"line":1029,"offset":176705,"length":177,"previous":"M16-GAP-01029","next":"M16-GAP-01031"},"M16-GAP-01031":{"line":1030,"offset":176882,"length":164,"previous":"M16-GAP-01030","next":"M16-GAP-01032"},"M16-GAP-01032":{"line":1031,"offset":177046,"length":162,"previous":"M16-GAP-01031","next":"M16-GAP-01033"},"M16-GAP-01033":{"line":1032,"offset":177208,"length":171,"previous":"M16-GAP-01032","next":"M16-GAP-01034"},"M16-GAP-01034":{"line":1033,"offset":177379,"length":168,"previous":"M16-GAP-01033","next":"M16-GAP-01035"},"M16-GAP-01035":{"line":1034,"offset":177547,"length":175,"previous":"M16-GAP-01034","next":"M16-GAP-01036"},"M16-GAP-01036":{"line":1035,"offset":177722,"length":170,"previous":"M16-GAP-01035","next":"M16-GAP-01037"},"M16-GAP-01037":{"line":1036,"offset":177892,"length":170,"previous":"M16-GAP-01036","next":"M16-GAP-01038"},"M16-GAP-01038":{"line":1037,"offset":178062,"length":172,"previous":"M16-GAP-01037","next":"M16-GAP-01039"},"M16-GAP-01039":{"line":1038,"offset":178234,"length":169,"previous":"M16-GAP-01038","next":"M16-GAP-01040"},"M16-GAP-01040":{"line":1039,"offset":178403,"length":170,"previous":"M16-GAP-01039","next":"M16-GAP-01041"},"M16-GAP-01041":{"line":1040,"offset":178573,"length":176,"previous":"M16-GAP-01040","next":"M16-GAP-01042"},"M16-GAP-01042":{"line":1041,"offset":178749,"length":165,"previous":"M16-GAP-01041","next":"M16-GAP-01043"},"M16-GAP-01043":{"line":1042,"offset":178914,"length":170,"previous":"M16-GAP-01042","next":"M16-GAP-01044"},"M16-GAP-01044":{"line":1043,"offset":179084,"length":169,"previous":"M16-GAP-01043","next":"M16-GAP-01045"},"M16-GAP-01045":{"line":1044,"offset":179253,"length":169,"previous":"M16-GAP-01044","next":"M16-GAP-01046"},"M16-GAP-01046":{"line":1045,"offset":179422,"length":167,"previous":"M16-GAP-01045","next":"M16-GAP-01047"},"M16-GAP-01047":{"line":1046,"offset":179589,"length":166,"previous":"M16-GAP-01046","next":"M16-GAP-01048"},"M16-GAP-01048":{"line":1047,"offset":179755,"length":171,"previous":"M16-GAP-01047","next":"M16-GAP-01049"},"M16-GAP-01049":{"line":1048,"offset":179926,"length":174,"previous":"M16-GAP-01048","next":"M16-GAP-01050"},"M16-GAP-01050":{"line":1049,"offset":180100,"length":171,"previous":"M16-GAP-01049","next":"M16-GAP-01051"},"M16-GAP-01051":{"line":1050,"offset":180271,"length":176,"previous":"M16-GAP-01050","next":"M16-GAP-01052"},"M16-GAP-01052":{"line":1051,"offset":180447,"length":175,"previous":"M16-GAP-01051","next":"M16-GAP-01053"},"M16-GAP-01053":{"line":1052,"offset":180622,"length":174,"previous":"M16-GAP-01052","next":"M16-GAP-01054"},"M16-GAP-01054":{"line":1053,"offset":180796,"length":175,"previous":"M16-GAP-01053","next":"M16-GAP-01055"},"M16-GAP-01055":{"line":1054,"offset":180971,"length":174,"previous":"M16-GAP-01054","next":"M16-GAP-01056"},"M16-GAP-01056":{"line":1055,"offset":181145,"length":172,"previous":"M16-GAP-01055","next":"M16-GAP-01057"},"M16-GAP-01057":{"line":1056,"offset":181317,"length":170,"previous":"M16-GAP-01056","next":"M16-GAP-01058"},"M16-GAP-01058":{"line":1057,"offset":181487,"length":175,"previous":"M16-GAP-01057","next":"M16-GAP-01059"},"M16-GAP-01059":{"line":1058,"offset":181662,"length":184,"previous":"M16-GAP-01058","next":"M16-GAP-01060"},"M16-GAP-01060":{"line":1059,"offset":181846,"length":170,"previous":"M16-GAP-01059","next":"M16-GAP-01061"},"M16-GAP-01061":{"line":1060,"offset":182016,"length":177,"previous":"M16-GAP-01060","next":"M16-GAP-01062"},"M16-GAP-01062":{"line":1061,"offset":182193,"length":175,"previous":"M16-GAP-01061","next":"M16-GAP-01063"},"M16-GAP-01063":{"line":1062,"offset":182368,"length":172,"previous":"M16-GAP-01062","next":"M16-GAP-01064"},"M16-GAP-01064":{"line":1063,"offset":182540,"length":175,"previous":"M16-GAP-01063","next":"M16-GAP-01065"},"M16-GAP-01065":{"line":1064,"offset":182715,"length":180,"previous":"M16-GAP-01064","next":"M16-GAP-01066"},"M16-GAP-01066":{"line":1065,"offset":182895,"length":172,"previous":"M16-GAP-01065","next":"M16-GAP-01067"},"M16-GAP-01067":{"line":1066,"offset":183067,"length":174,"previous":"M16-GAP-01066","next":"M16-GAP-01068"},"M16-GAP-01068":{"line":1067,"offset":183241,"length":160,"previous":"M16-GAP-01067","next":"M16-GAP-01069"},"M16-GAP-01069":{"line":1068,"offset":183401,"length":165,"previous":"M16-GAP-01068","next":"M16-GAP-01070"},"M16-GAP-01070":{"line":1069,"offset":183566,"length":166,"previous":"M16-GAP-01069","next":"M16-GAP-01071"},"M16-GAP-01071":{"line":1070,"offset":183732,"length":163,"previous":"M16-GAP-01070","next":"M16-GAP-01072"},"M16-GAP-01072":{"line":1071,"offset":183895,"length":168,"previous":"M16-GAP-01071","next":"M16-GAP-01073"},"M16-GAP-01073":{"line":1072,"offset":184063,"length":178,"previous":"M16-GAP-01072","next":"M16-GAP-01074"},"M16-GAP-01074":{"line":1073,"offset":184241,"length":160,"previous":"M16-GAP-01073","next":"M16-GAP-01075"},"M16-GAP-01075":{"line":1074,"offset":184401,"length":161,"previous":"M16-GAP-01074","next":"M16-GAP-01076"},"M16-GAP-01076":{"line":1075,"offset":184562,"length":165,"previous":"M16-GAP-01075","next":"M16-GAP-01077"},"M16-GAP-01077":{"line":1076,"offset":184727,"length":173,"previous":"M16-GAP-01076","next":"M16-GAP-01078"},"M16-GAP-01078":{"line":1077,"offset":184900,"length":169,"previous":"M16-GAP-01077","next":"M16-GAP-01079"},"M16-GAP-01079":{"line":1078,"offset":185069,"length":166,"previous":"M16-GAP-01078","next":"M16-GAP-01080"},"M16-GAP-01080":{"line":1079,"offset":185235,"length":167,"previous":"M16-GAP-01079","next":"M16-GAP-01081"},"M16-GAP-01081":{"line":1080,"offset":185402,"length":170,"previous":"M16-GAP-01080","next":"M16-GAP-01082"},"M16-GAP-01082":{"line":1081,"offset":185572,"length":163,"previous":"M16-GAP-01081","next":"M16-GAP-01083"},"M16-GAP-01083":{"line":1082,"offset":185735,"length":169,"previous":"M16-GAP-01082","next":"M16-GAP-01084"},"M16-GAP-01084":{"line":1083,"offset":185904,"length":175,"previous":"M16-GAP-01083","next":"M16-GAP-01085"},"M16-GAP-01085":{"line":1084,"offset":186079,"length":175,"previous":"M16-GAP-01084","next":"M16-GAP-01086"},"M16-GAP-01086":{"line":1085,"offset":186254,"length":165,"previous":"M16-GAP-01085","next":"M16-GAP-01087"},"M16-GAP-01087":{"line":1086,"offset":186419,"length":166,"previous":"M16-GAP-01086","next":"M16-GAP-01088"},"M16-GAP-01088":{"line":1087,"offset":186585,"length":161,"previous":"M16-GAP-01087","next":"M16-GAP-01089"},"M16-GAP-01089":{"line":1088,"offset":186746,"length":169,"previous":"M16-GAP-01088","next":"M16-GAP-01090"},"M16-GAP-01090":{"line":1089,"offset":186915,"length":177,"previous":"M16-GAP-01089","next":"M16-GAP-01091"},"M16-GAP-01091":{"line":1090,"offset":187092,"length":179,"previous":"M16-GAP-01090","next":"M16-GAP-01092"},"M16-GAP-01092":{"line":1091,"offset":187271,"length":169,"previous":"M16-GAP-01091","next":"M16-GAP-01093"},"M16-GAP-01093":{"line":1092,"offset":187440,"length":173,"previous":"M16-GAP-01092","next":"M16-GAP-01094"},"M16-GAP-01094":{"line":1093,"offset":187613,"length":179,"previous":"M16-GAP-01093","next":"M16-GAP-01095"},"M16-GAP-01095":{"line":1094,"offset":187792,"length":169,"previous":"M16-GAP-01094","next":"M16-GAP-01096"},"M16-GAP-01096":{"line":1095,"offset":187961,"length":160,"previous":"M16-GAP-01095","next":"M16-GAP-01097"},"M16-GAP-01097":{"line":1096,"offset":188121,"length":182,"previous":"M16-GAP-01096","next":"M16-GAP-01098"},"M16-GAP-01098":{"line":1097,"offset":188303,"length":184,"previous":"M16-GAP-01097","next":"M16-GAP-01099"},"M16-GAP-01099":{"line":1098,"offset":188487,"length":188,"previous":"M16-GAP-01098","next":"M16-GAP-01100"},"M16-GAP-01100":{"line":1099,"offset":188675,"length":180,"previous":"M16-GAP-01099","next":"M16-GAP-01101"},"M16-GAP-01101":{"line":1100,"offset":188855,"length":185,"previous":"M16-GAP-01100","next":"M16-GAP-01102"},"M16-GAP-01102":{"line":1101,"offset":189040,"length":181,"previous":"M16-GAP-01101","next":"M16-GAP-01103"},"M16-GAP-01103":{"line":1102,"offset":189221,"length":186,"previous":"M16-GAP-01102","next":"M16-GAP-01104"},"M16-GAP-01104":{"line":1103,"offset":189407,"length":185,"previous":"M16-GAP-01103","next":"M16-GAP-01105"},"M16-GAP-01105":{"line":1104,"offset":189592,"length":190,"previous":"M16-GAP-01104","next":"M16-GAP-01106"},"M16-GAP-01106":{"line":1105,"offset":189782,"length":176,"previous":"M16-GAP-01105","next":"M16-GAP-01107"},"M16-GAP-01107":{"line":1106,"offset":189958,"length":174,"previous":"M16-GAP-01106","next":"M16-GAP-01108"},"M16-GAP-01108":{"line":1107,"offset":190132,"length":174,"previous":"M16-GAP-01107","next":"M16-GAP-01109"},"M16-GAP-01109":{"line":1108,"offset":190306,"length":180,"previous":"M16-GAP-01108","next":"M16-GAP-01110"},"M16-GAP-01110":{"line":1109,"offset":190486,"length":178,"previous":"M16-GAP-01109","next":"M16-GAP-01111"},"M16-GAP-01111":{"line":1110,"offset":190664,"length":174,"previous":"M16-GAP-01110","next":"M16-GAP-01112"},"M16-GAP-01112":{"line":1111,"offset":190838,"length":180,"previous":"M16-GAP-01111","next":"M16-GAP-01113"},"M16-GAP-01113":{"line":1112,"offset":191018,"length":176,"previous":"M16-GAP-01112","next":"M16-GAP-01114"},"M16-GAP-01114":{"line":1113,"offset":191194,"length":175,"previous":"M16-GAP-01113","next":"M16-GAP-01115"},"M16-GAP-01115":{"line":1114,"offset":191369,"length":175,"previous":"M16-GAP-01114","next":"M16-GAP-01116"},"M16-GAP-01116":{"line":1115,"offset":191544,"length":179,"previous":"M16-GAP-01115","next":"M16-GAP-01117"},"M16-GAP-01117":{"line":1116,"offset":191723,"length":177,"previous":"M16-GAP-01116","next":"M16-GAP-01118"},"M16-GAP-01118":{"line":1117,"offset":191900,"length":170,"previous":"M16-GAP-01117","next":"M16-GAP-01119"},"M16-GAP-01119":{"line":1118,"offset":192070,"length":170,"previous":"M16-GAP-01118","next":"M16-GAP-01120"},"M16-GAP-01120":{"line":1119,"offset":192240,"length":180,"previous":"M16-GAP-01119","next":"M16-GAP-01121"},"M16-GAP-01121":{"line":1120,"offset":192420,"length":162,"previous":"M16-GAP-01120","next":"M16-GAP-01122"},"M16-GAP-01122":{"line":1121,"offset":192582,"length":159,"previous":"M16-GAP-01121","next":"M16-GAP-01123"},"M16-GAP-01123":{"line":1122,"offset":192741,"length":164,"previous":"M16-GAP-01122","next":"M16-GAP-01124"},"M16-GAP-01124":{"line":1123,"offset":192905,"length":169,"previous":"M16-GAP-01123","next":"M16-GAP-01125"},"M16-GAP-01125":{"line":1124,"offset":193074,"length":164,"previous":"M16-GAP-01124","next":"M16-GAP-01126"},"M16-GAP-01126":{"line":1125,"offset":193238,"length":161,"previous":"M16-GAP-01125","next":"M16-GAP-01127"},"M16-GAP-01127":{"line":1126,"offset":193399,"length":166,"previous":"M16-GAP-01126","next":"M16-GAP-01128"},"M16-GAP-01128":{"line":1127,"offset":193565,"length":167,"previous":"M16-GAP-01127","next":"M16-GAP-01129"},"M16-GAP-01129":{"line":1128,"offset":193732,"length":182,"previous":"M16-GAP-01128","next":"M16-GAP-01130"},"M16-GAP-01130":{"line":1129,"offset":193914,"length":175,"previous":"M16-GAP-01129","next":"M16-GAP-01131"},"M16-GAP-01131":{"line":1130,"offset":194089,"length":176,"previous":"M16-GAP-01130","next":"M16-GAP-01132"},"M16-GAP-01132":{"line":1131,"offset":194265,"length":178,"previous":"M16-GAP-01131","next":"M16-GAP-01133"},"M16-GAP-01133":{"line":1132,"offset":194443,"length":178,"previous":"M16-GAP-01132","next":"M16-GAP-01134"},"M16-GAP-01134":{"line":1133,"offset":194621,"length":176,"previous":"M16-GAP-01133","next":"M16-GAP-01135"},"M16-GAP-01135":{"line":1134,"offset":194797,"length":177,"previous":"M16-GAP-01134","next":"M16-GAP-01136"},"M16-GAP-01136":{"line":1135,"offset":194974,"length":167,"previous":"M16-GAP-01135","next":"M16-GAP-01137"},"M16-GAP-01137":{"line":1136,"offset":195141,"length":169,"previous":"M16-GAP-01136","next":"M16-GAP-01138"},"M16-GAP-01138":{"line":1137,"offset":195310,"length":174,"previous":"M16-GAP-01137","next":"M16-GAP-01139"},"M16-GAP-01139":{"line":1138,"offset":195484,"length":168,"previous":"M16-GAP-01138","next":"M16-GAP-01140"},"M16-GAP-01140":{"line":1139,"offset":195652,"length":169,"previous":"M16-GAP-01139","next":"M16-GAP-01141"},"M16-GAP-01141":{"line":1140,"offset":195821,"length":167,"previous":"M16-GAP-01140","next":"M16-GAP-01142"},"M16-GAP-01142":{"line":1141,"offset":195988,"length":167,"previous":"M16-GAP-01141","next":"M16-GAP-01143"},"M16-GAP-01143":{"line":1142,"offset":196155,"length":172,"previous":"M16-GAP-01142","next":"M16-GAP-01144"},"M16-GAP-01144":{"line":1143,"offset":196327,"length":175,"previous":"M16-GAP-01143","next":"M16-GAP-01145"},"M16-GAP-01145":{"line":1144,"offset":196502,"length":166,"previous":"M16-GAP-01144","next":"M16-GAP-01146"},"M16-GAP-01146":{"line":1145,"offset":196668,"length":172,"previous":"M16-GAP-01145","next":"M16-GAP-01147"},"M16-GAP-01147":{"line":1146,"offset":196840,"length":169,"previous":"M16-GAP-01146","next":"M16-GAP-01148"},"M16-GAP-01148":{"line":1147,"offset":197009,"length":170,"previous":"M16-GAP-01147","next":"M16-GAP-01149"},"M16-GAP-01149":{"line":1148,"offset":197179,"length":177,"previous":"M16-GAP-01148","next":"M16-GAP-01150"},"M16-GAP-01150":{"line":1149,"offset":197356,"length":172,"previous":"M16-GAP-01149","next":"M16-GAP-01151"},"M16-GAP-01151":{"line":1150,"offset":197528,"length":164,"previous":"M16-GAP-01150","next":"M16-GAP-01152"},"M16-GAP-01152":{"line":1151,"offset":197692,"length":178,"previous":"M16-GAP-01151","next":"M16-GAP-01153"},"M16-GAP-01153":{"line":1152,"offset":197870,"length":178,"previous":"M16-GAP-01152","next":"M16-GAP-01154"},"M16-GAP-01154":{"line":1153,"offset":198048,"length":178,"previous":"M16-GAP-01153","next":"M16-GAP-01155"},"M16-GAP-01155":{"line":1154,"offset":198226,"length":174,"previous":"M16-GAP-01154","next":"M16-GAP-01156"},"M16-GAP-01156":{"line":1155,"offset":198400,"length":176,"previous":"M16-GAP-01155","next":"M16-GAP-01157"},"M16-GAP-01157":{"line":1156,"offset":198576,"length":170,"previous":"M16-GAP-01156","next":"M16-GAP-01158"},"M16-GAP-01158":{"line":1157,"offset":198746,"length":164,"previous":"M16-GAP-01157","next":"M16-GAP-01159"},"M16-GAP-01159":{"line":1158,"offset":198910,"length":169,"previous":"M16-GAP-01158","next":"M16-GAP-01160"},"M16-GAP-01160":{"line":1159,"offset":199079,"length":179,"previous":"M16-GAP-01159","next":"M16-GAP-01161"},"M16-GAP-01161":{"line":1160,"offset":199258,"length":160,"previous":"M16-GAP-01160","next":"M16-GAP-01162"},"M16-GAP-01162":{"line":1161,"offset":199418,"length":161,"previous":"M16-GAP-01161","next":"M16-GAP-01163"},"M16-GAP-01163":{"line":1162,"offset":199579,"length":169,"previous":"M16-GAP-01162","next":"M16-GAP-01164"},"M16-GAP-01164":{"line":1163,"offset":199748,"length":165,"previous":"M16-GAP-01163","next":"M16-GAP-01165"},"M16-GAP-01165":{"line":1164,"offset":199913,"length":174,"previous":"M16-GAP-01164","next":"M16-GAP-01166"},"M16-GAP-01166":{"line":1165,"offset":200087,"length":166,"previous":"M16-GAP-01165","next":"M16-GAP-01167"},"M16-GAP-01167":{"line":1166,"offset":200253,"length":169,"previous":"M16-GAP-01166","next":"M16-GAP-01168"},"M16-GAP-01168":{"line":1167,"offset":200422,"length":177,"previous":"M16-GAP-01167","next":"M16-GAP-01169"},"M16-GAP-01169":{"line":1168,"offset":200599,"length":167,"previous":"M16-GAP-01168","next":"M16-GAP-01170"},"M16-GAP-01170":{"line":1169,"offset":200766,"length":170,"previous":"M16-GAP-01169","next":"M16-GAP-01171"},"M16-GAP-01171":{"line":1170,"offset":200936,"length":173,"previous":"M16-GAP-01170","next":"M16-GAP-01172"},"M16-GAP-01172":{"line":1171,"offset":201109,"length":167,"previous":"M16-GAP-01171","next":"M16-GAP-01173"},"M16-GAP-01173":{"line":1172,"offset":201276,"length":166,"previous":"M16-GAP-01172","next":"M16-GAP-01174"},"M16-GAP-01174":{"line":1173,"offset":201442,"length":168,"previous":"M16-GAP-01173","next":"M16-GAP-01175"},"M16-GAP-01175":{"line":1174,"offset":201610,"length":176,"previous":"M16-GAP-01174","next":"M16-GAP-01176"},"M16-GAP-01176":{"line":1175,"offset":201786,"length":178,"previous":"M16-GAP-01175","next":"M16-GAP-01177"},"M16-GAP-01177":{"line":1176,"offset":201964,"length":173,"previous":"M16-GAP-01176","next":"M16-GAP-01178"},"M16-GAP-01178":{"line":1177,"offset":202137,"length":171,"previous":"M16-GAP-01177","next":"M16-GAP-01179"},"M16-GAP-01179":{"line":1178,"offset":202308,"length":181,"previous":"M16-GAP-01178","next":"M16-GAP-01180"},"M16-GAP-01180":{"line":1179,"offset":202489,"length":165,"previous":"M16-GAP-01179","next":"M16-GAP-01181"},"M16-GAP-01181":{"line":1180,"offset":202654,"length":170,"previous":"M16-GAP-01180","next":"M16-GAP-01182"},"M16-GAP-01182":{"line":1181,"offset":202824,"length":173,"previous":"M16-GAP-01181","next":"M16-GAP-01183"},"M16-GAP-01183":{"line":1182,"offset":202997,"length":168,"previous":"M16-GAP-01182","next":"M16-GAP-01184"},"M16-GAP-01184":{"line":1183,"offset":203165,"length":169,"previous":"M16-GAP-01183","next":"M16-GAP-01185"},"M16-GAP-01185":{"line":1184,"offset":203334,"length":166,"previous":"M16-GAP-01184","next":"M16-GAP-01186"},"M16-GAP-01186":{"line":1185,"offset":203500,"length":159,"previous":"M16-GAP-01185","next":"M16-GAP-01187"},"M16-GAP-01187":{"line":1186,"offset":203659,"length":169,"previous":"M16-GAP-01186","next":"M16-GAP-01188"},"M16-GAP-01188":{"line":1187,"offset":203828,"length":166,"previous":"M16-GAP-01187","next":"M16-GAP-01189"},"M16-GAP-01189":{"line":1188,"offset":203994,"length":167,"previous":"M16-GAP-01188","next":"M16-GAP-01190"},"M16-GAP-01190":{"line":1189,"offset":204161,"length":161,"previous":"M16-GAP-01189","next":"M16-GAP-01191"},"M16-GAP-01191":{"line":1190,"offset":204322,"length":164,"previous":"M16-GAP-01190","next":"M16-GAP-01192"},"M16-GAP-01192":{"line":1191,"offset":204486,"length":176,"previous":"M16-GAP-01191","next":"M16-GAP-01193"},"M16-GAP-01193":{"line":1192,"offset":204662,"length":169,"previous":"M16-GAP-01192","next":"M16-GAP-01194"},"M16-GAP-01194":{"line":1193,"offset":204831,"length":168,"previous":"M16-GAP-01193","next":"M16-GAP-01195"},"M16-GAP-01195":{"line":1194,"offset":204999,"length":169,"previous":"M16-GAP-01194","next":"M16-GAP-01196"},"M16-GAP-01196":{"line":1195,"offset":205168,"length":170,"previous":"M16-GAP-01195","next":"M16-GAP-01197"},"M16-GAP-01197":{"line":1196,"offset":205338,"length":171,"previous":"M16-GAP-01196","next":"M16-GAP-01198"},"M16-GAP-01198":{"line":1197,"offset":205509,"length":163,"previous":"M16-GAP-01197","next":"M16-GAP-01199"},"M16-GAP-01199":{"line":1198,"offset":205672,"length":166,"previous":"M16-GAP-01198","next":"M16-GAP-01200"},"M16-GAP-01200":{"line":1199,"offset":205838,"length":164,"previous":"M16-GAP-01199","next":"M16-GAP-01201"},"M16-GAP-01201":{"line":1200,"offset":206002,"length":162,"previous":"M16-GAP-01200","next":"M16-GAP-01202"},"M16-GAP-01202":{"line":1201,"offset":206164,"length":166,"previous":"M16-GAP-01201","next":"M16-GAP-01203"},"M16-GAP-01203":{"line":1202,"offset":206330,"length":171,"previous":"M16-GAP-01202","next":"M16-GAP-01204"},"M16-GAP-01204":{"line":1203,"offset":206501,"length":165,"previous":"M16-GAP-01203","next":"M16-GAP-01205"},"M16-GAP-01205":{"line":1204,"offset":206666,"length":165,"previous":"M16-GAP-01204","next":"M16-GAP-01206"},"M16-GAP-01206":{"line":1205,"offset":206831,"length":171,"previous":"M16-GAP-01205","next":"M16-GAP-01207"},"M16-GAP-01207":{"line":1206,"offset":207002,"length":175,"previous":"M16-GAP-01206","next":"M16-GAP-01208"},"M16-GAP-01208":{"line":1207,"offset":207177,"length":159,"previous":"M16-GAP-01207","next":"M16-GAP-01209"},"M16-GAP-01209":{"line":1208,"offset":207336,"length":168,"previous":"M16-GAP-01208","next":"M16-GAP-01210"},"M16-GAP-01210":{"line":1209,"offset":207504,"length":160,"previous":"M16-GAP-01209","next":"M16-GAP-01211"},"M16-GAP-01211":{"line":1210,"offset":207664,"length":159,"previous":"M16-GAP-01210","next":"M16-GAP-01212"},"M16-GAP-01212":{"line":1211,"offset":207823,"length":165,"previous":"M16-GAP-01211","next":"M16-GAP-01213"},"M16-GAP-01213":{"line":1212,"offset":207988,"length":168,"previous":"M16-GAP-01212","next":"M16-GAP-01214"},"M16-GAP-01214":{"line":1213,"offset":208156,"length":169,"previous":"M16-GAP-01213","next":"M16-GAP-01215"},"M16-GAP-01215":{"line":1214,"offset":208325,"length":170,"previous":"M16-GAP-01214","next":"M16-GAP-01216"},"M16-GAP-01216":{"line":1215,"offset":208495,"length":169,"previous":"M16-GAP-01215","next":"M16-GAP-01217"},"M16-GAP-01217":{"line":1216,"offset":208664,"length":163,"previous":"M16-GAP-01216","next":"M16-GAP-01218"},"M16-GAP-01218":{"line":1217,"offset":208827,"length":165,"previous":"M16-GAP-01217","next":"M16-GAP-01219"},"M16-GAP-01219":{"line":1218,"offset":208992,"length":168,"previous":"M16-GAP-01218","next":"M16-GAP-01220"},"M16-GAP-01220":{"line":1219,"offset":209160,"length":171,"previous":"M16-GAP-01219","next":"M16-GAP-01221"},"M16-GAP-01221":{"line":1220,"offset":209331,"length":172,"previous":"M16-GAP-01220","next":"M16-GAP-01222"},"M16-GAP-01222":{"line":1221,"offset":209503,"length":170,"previous":"M16-GAP-01221","next":"M16-GAP-01223"},"M16-GAP-01223":{"line":1222,"offset":209673,"length":165,"previous":"M16-GAP-01222","next":"M16-GAP-01224"},"M16-GAP-01224":{"line":1223,"offset":209838,"length":171,"previous":"M16-GAP-01223","next":"M16-GAP-01225"},"M16-GAP-01225":{"line":1224,"offset":210009,"length":189,"previous":"M16-GAP-01224","next":"M16-GAP-01226"},"M16-GAP-01226":{"line":1225,"offset":210198,"length":165,"previous":"M16-GAP-01225","next":"M16-GAP-01227"},"M16-GAP-01227":{"line":1226,"offset":210363,"length":171,"previous":"M16-GAP-01226","next":"M16-GAP-01228"},"M16-GAP-01228":{"line":1227,"offset":210534,"length":176,"previous":"M16-GAP-01227","next":"M16-GAP-01229"},"M16-GAP-01229":{"line":1228,"offset":210710,"length":165,"previous":"M16-GAP-01228","next":"M16-GAP-01230"},"M16-GAP-01230":{"line":1229,"offset":210875,"length":171,"previous":"M16-GAP-01229","next":"M16-GAP-01231"},"M16-GAP-01231":{"line":1230,"offset":211046,"length":164,"previous":"M16-GAP-01230","next":"M16-GAP-01232"},"M16-GAP-01232":{"line":1231,"offset":211210,"length":168,"previous":"M16-GAP-01231","next":"M16-GAP-01233"},"M16-GAP-01233":{"line":1232,"offset":211378,"length":164,"previous":"M16-GAP-01232","next":"M16-GAP-01234"},"M16-GAP-01234":{"line":1233,"offset":211542,"length":166,"previous":"M16-GAP-01233","next":"M16-GAP-01235"},"M16-GAP-01235":{"line":1234,"offset":211708,"length":171,"previous":"M16-GAP-01234","next":"M16-GAP-01236"},"M16-GAP-01236":{"line":1235,"offset":211879,"length":167,"previous":"M16-GAP-01235","next":"M16-GAP-01237"},"M16-GAP-01237":{"line":1236,"offset":212046,"length":175,"previous":"M16-GAP-01236","next":"M16-GAP-01238"},"M16-GAP-01238":{"line":1237,"offset":212221,"length":172,"previous":"M16-GAP-01237","next":"M16-GAP-01239"},"M16-GAP-01239":{"line":1238,"offset":212393,"length":164,"previous":"M16-GAP-01238","next":"M16-GAP-01240"},"M16-GAP-01240":{"line":1239,"offset":212557,"length":162,"previous":"M16-GAP-01239","next":"M16-GAP-01241"},"M16-GAP-01241":{"line":1240,"offset":212719,"length":169,"previous":"M16-GAP-01240","next":"M16-GAP-01242"},"M16-GAP-01242":{"line":1241,"offset":212888,"length":170,"previous":"M16-GAP-01241","next":"M16-GAP-01243"},"M16-GAP-01243":{"line":1242,"offset":213058,"length":172,"previous":"M16-GAP-01242","next":"M16-GAP-01244"},"M16-GAP-01244":{"line":1243,"offset":213230,"length":170,"previous":"M16-GAP-01243","next":"M16-GAP-01245"},"M16-GAP-01245":{"line":1244,"offset":213400,"length":174,"previous":"M16-GAP-01244","next":"M16-GAP-01246"},"M16-GAP-01246":{"line":1245,"offset":213574,"length":175,"previous":"M16-GAP-01245","next":"M16-GAP-01247"},"M16-GAP-01247":{"line":1246,"offset":213749,"length":177,"previous":"M16-GAP-01246","next":"M16-GAP-01248"},"M16-GAP-01248":{"line":1247,"offset":213926,"length":182,"previous":"M16-GAP-01247","next":"M16-GAP-01249"},"M16-GAP-01249":{"line":1248,"offset":214108,"length":183,"previous":"M16-GAP-01248","next":"M16-GAP-01250"},"M16-GAP-01250":{"line":1249,"offset":214291,"length":185,"previous":"M16-GAP-01249","next":"M16-GAP-01251"},"M16-GAP-01251":{"line":1250,"offset":214476,"length":175,"previous":"M16-GAP-01250","next":"M16-GAP-01252"},"M16-GAP-01252":{"line":1251,"offset":214651,"length":170,"previous":"M16-GAP-01251","next":"M16-GAP-01253"},"M16-GAP-01253":{"line":1252,"offset":214821,"length":171,"previous":"M16-GAP-01252","next":"M16-GAP-01254"},"M16-GAP-01254":{"line":1253,"offset":214992,"length":178,"previous":"M16-GAP-01253","next":"M16-GAP-01255"},"M16-GAP-01255":{"line":1254,"offset":215170,"length":179,"previous":"M16-GAP-01254","next":"M16-GAP-01256"},"M16-GAP-01256":{"line":1255,"offset":215349,"length":181,"previous":"M16-GAP-01255","next":"M16-GAP-01257"},"M16-GAP-01257":{"line":1256,"offset":215530,"length":179,"previous":"M16-GAP-01256","next":"M16-GAP-01258"},"M16-GAP-01258":{"line":1257,"offset":215709,"length":180,"previous":"M16-GAP-01257","next":"M16-GAP-01259"},"M16-GAP-01259":{"line":1258,"offset":215889,"length":182,"previous":"M16-GAP-01258","next":"M16-GAP-01260"},"M16-GAP-01260":{"line":1259,"offset":216071,"length":180,"previous":"M16-GAP-01259","next":"M16-GAP-01261"},"M16-GAP-01261":{"line":1260,"offset":216251,"length":181,"previous":"M16-GAP-01260","next":"M16-GAP-01262"},"M16-GAP-01262":{"line":1261,"offset":216432,"length":183,"previous":"M16-GAP-01261","next":"M16-GAP-01263"},"M16-GAP-01263":{"line":1262,"offset":216615,"length":183,"previous":"M16-GAP-01262","next":"M16-GAP-01264"},"M16-GAP-01264":{"line":1263,"offset":216798,"length":179,"previous":"M16-GAP-01263","next":"M16-GAP-01265"},"M16-GAP-01265":{"line":1264,"offset":216977,"length":180,"previous":"M16-GAP-01264","next":"M16-GAP-01266"},"M16-GAP-01266":{"line":1265,"offset":217157,"length":182,"previous":"M16-GAP-01265","next":"M16-GAP-01267"},"M16-GAP-01267":{"line":1266,"offset":217339,"length":173,"previous":"M16-GAP-01266","next":"M16-GAP-01268"},"M16-GAP-01268":{"line":1267,"offset":217512,"length":177,"previous":"M16-GAP-01267","next":"M16-GAP-01269"},"M16-GAP-01269":{"line":1268,"offset":217689,"length":180,"previous":"M16-GAP-01268","next":"M16-GAP-01270"},"M16-GAP-01270":{"line":1269,"offset":217869,"length":173,"previous":"M16-GAP-01269","next":"M16-GAP-01271"},"M16-GAP-01271":{"line":1270,"offset":218042,"length":179,"previous":"M16-GAP-01270","next":"M16-GAP-01272"},"M16-GAP-01272":{"line":1271,"offset":218221,"length":162,"previous":"M16-GAP-01271","next":"M16-GAP-01273"},"M16-GAP-01273":{"line":1272,"offset":218383,"length":177,"previous":"M16-GAP-01272","next":"M16-GAP-01274"},"M16-GAP-01274":{"line":1273,"offset":218560,"length":172,"previous":"M16-GAP-01273","next":"M16-GAP-01275"},"M16-GAP-01275":{"line":1274,"offset":218732,"length":162,"previous":"M16-GAP-01274","next":"M16-GAP-01276"},"M16-GAP-01276":{"line":1275,"offset":218894,"length":179,"previous":"M16-GAP-01275","next":"M16-GAP-01277"},"M16-GAP-01277":{"line":1276,"offset":219073,"length":165,"previous":"M16-GAP-01276","next":"M16-GAP-01278"},"M16-GAP-01278":{"line":1277,"offset":219238,"length":197,"previous":"M16-GAP-01277","next":"M16-GAP-01279"},"M16-GAP-01279":{"line":1278,"offset":219435,"length":188,"previous":"M16-GAP-01278","next":"M16-GAP-01280"},"M16-GAP-01280":{"line":1279,"offset":219623,"length":170,"previous":"M16-GAP-01279","next":"M16-GAP-01281"},"M16-GAP-01281":{"line":1280,"offset":219793,"length":182,"previous":"M16-GAP-01280","next":"M16-GAP-01282"},"M16-GAP-01282":{"line":1281,"offset":219975,"length":177,"previous":"M16-GAP-01281","next":"M16-GAP-01283"},"M16-GAP-01283":{"line":1282,"offset":220152,"length":180,"previous":"M16-GAP-01282","next":"M16-GAP-01284"},"M16-GAP-01284":{"line":1283,"offset":220332,"length":181,"previous":"M16-GAP-01283","next":"M16-GAP-01285"},"M16-GAP-01285":{"line":1284,"offset":220513,"length":183,"previous":"M16-GAP-01284","next":"M16-GAP-01286"},"M16-GAP-01286":{"line":1285,"offset":220696,"length":187,"previous":"M16-GAP-01285","next":"M16-GAP-01287"},"M16-GAP-01287":{"line":1286,"offset":220883,"length":188,"previous":"M16-GAP-01286","next":"M16-GAP-01288"},"M16-GAP-01288":{"line":1287,"offset":221071,"length":190,"previous":"M16-GAP-01287","next":"M16-GAP-01289"},"M16-GAP-01289":{"line":1288,"offset":221261,"length":188,"previous":"M16-GAP-01288","next":"M16-GAP-01290"},"M16-GAP-01290":{"line":1289,"offset":221449,"length":189,"previous":"M16-GAP-01289","next":"M16-GAP-01291"},"M16-GAP-01291":{"line":1290,"offset":221638,"length":191,"previous":"M16-GAP-01290","next":"M16-GAP-01292"},"M16-GAP-01292":{"line":1291,"offset":221829,"length":178,"previous":"M16-GAP-01291","next":"M16-GAP-01293"},"M16-GAP-01293":{"line":1292,"offset":222007,"length":179,"previous":"M16-GAP-01292","next":"M16-GAP-01294"},"M16-GAP-01294":{"line":1293,"offset":222186,"length":181,"previous":"M16-GAP-01293","next":"M16-GAP-01295"},"M16-GAP-01295":{"line":1294,"offset":222367,"length":178,"previous":"M16-GAP-01294","next":"M16-GAP-01296"},"M16-GAP-01296":{"line":1295,"offset":222545,"length":179,"previous":"M16-GAP-01295","next":"M16-GAP-01297"},"M16-GAP-01297":{"line":1296,"offset":222724,"length":181,"previous":"M16-GAP-01296","next":"M16-GAP-01298"},"M16-GAP-01298":{"line":1297,"offset":222905,"length":176,"previous":"M16-GAP-01297","next":"M16-GAP-01299"},"M16-GAP-01299":{"line":1298,"offset":223081,"length":177,"previous":"M16-GAP-01298","next":"M16-GAP-01300"},"M16-GAP-01300":{"line":1299,"offset":223258,"length":179,"previous":"M16-GAP-01299","next":"M16-GAP-01301"},"M16-GAP-01301":{"line":1300,"offset":223437,"length":165,"previous":"M16-GAP-01300","next":"M16-GAP-01302"},"M16-GAP-01302":{"line":1301,"offset":223602,"length":205,"previous":"M16-GAP-01301","next":"M16-GAP-01303"},"M16-GAP-01303":{"line":1302,"offset":223807,"length":206,"previous":"M16-GAP-01302","next":"M16-GAP-01304"},"M16-GAP-01304":{"line":1303,"offset":224013,"length":208,"previous":"M16-GAP-01303","next":"M16-GAP-01305"},"M16-GAP-01305":{"line":1304,"offset":224221,"length":200,"previous":"M16-GAP-01304","next":"M16-GAP-01306"},"M16-GAP-01306":{"line":1305,"offset":224421,"length":201,"previous":"M16-GAP-01305","next":"M16-GAP-01307"},"M16-GAP-01307":{"line":1306,"offset":224622,"length":203,"previous":"M16-GAP-01306","next":"M16-GAP-01308"},"M16-GAP-01308":{"line":1307,"offset":224825,"length":199,"previous":"M16-GAP-01307","next":"M16-GAP-01309"},"M16-GAP-01309":{"line":1308,"offset":225024,"length":200,"previous":"M16-GAP-01308","next":"M16-GAP-01310"},"M16-GAP-01310":{"line":1309,"offset":225224,"length":202,"previous":"M16-GAP-01309","next":"M16-GAP-01311"},"M16-GAP-01311":{"line":1310,"offset":225426,"length":178,"previous":"M16-GAP-01310","next":"M16-GAP-01312"},"M16-GAP-01312":{"line":1311,"offset":225604,"length":179,"previous":"M16-GAP-01311","next":"M16-GAP-01313"},"M16-GAP-01313":{"line":1312,"offset":225783,"length":181,"previous":"M16-GAP-01312","next":"M16-GAP-01314"},"M16-GAP-01314":{"line":1313,"offset":225964,"length":186,"previous":"M16-GAP-01313","next":"M16-GAP-01315"},"M16-GAP-01315":{"line":1314,"offset":226150,"length":187,"previous":"M16-GAP-01314","next":"M16-GAP-01316"},"M16-GAP-01316":{"line":1315,"offset":226337,"length":189,"previous":"M16-GAP-01315","next":"M16-GAP-01317"},"M16-GAP-01317":{"line":1316,"offset":226526,"length":183,"previous":"M16-GAP-01316","next":"M16-GAP-01318"},"M16-GAP-01318":{"line":1317,"offset":226709,"length":166,"previous":"M16-GAP-01317","next":"M16-GAP-01319"},"M16-GAP-01319":{"line":1318,"offset":226875,"length":172,"previous":"M16-GAP-01318","next":"M16-GAP-01320"},"M16-GAP-01320":{"line":1319,"offset":227047,"length":168,"previous":"M16-GAP-01319","next":"M16-GAP-01321"},"M16-GAP-01321":{"line":1320,"offset":227215,"length":166,"previous":"M16-GAP-01320","next":"M16-GAP-01322"},"M16-GAP-01322":{"line":1321,"offset":227381,"length":170,"previous":"M16-GAP-01321","next":"M16-GAP-01323"},"M16-GAP-01323":{"line":1322,"offset":227551,"length":169,"previous":"M16-GAP-01322","next":"M16-GAP-01324"},"M16-GAP-01324":{"line":1323,"offset":227720,"length":174,"previous":"M16-GAP-01323","next":"M16-GAP-01325"},"M16-GAP-01325":{"line":1324,"offset":227894,"length":167,"previous":"M16-GAP-01324","next":"M16-GAP-01326"},"M16-GAP-01326":{"line":1325,"offset":228061,"length":177,"previous":"M16-GAP-01325","next":"M16-GAP-01327"},"M16-GAP-01327":{"line":1326,"offset":228238,"length":178,"previous":"M16-GAP-01326","next":"M16-GAP-01328"},"M16-GAP-01328":{"line":1327,"offset":228416,"length":180,"previous":"M16-GAP-01327","next":"M16-GAP-01329"},"M16-GAP-01329":{"line":1328,"offset":228596,"length":169,"previous":"M16-GAP-01328","next":"M16-GAP-01330"},"M16-GAP-01330":{"line":1329,"offset":228765,"length":180,"previous":"M16-GAP-01329","next":"M16-GAP-01331"},"M16-GAP-01331":{"line":1330,"offset":228945,"length":188,"previous":"M16-GAP-01330","next":"M16-GAP-01332"},"M16-GAP-01332":{"line":1331,"offset":229133,"length":174,"previous":"M16-GAP-01331","next":"M16-GAP-01333"},"M16-GAP-01333":{"line":1332,"offset":229307,"length":187,"previous":"M16-GAP-01332","next":"M16-GAP-01334"},"M16-GAP-01334":{"line":1333,"offset":229494,"length":177,"previous":"M16-GAP-01333","next":"M16-GAP-01335"},"M16-GAP-01335":{"line":1334,"offset":229671,"length":190,"previous":"M16-GAP-01334","next":"M16-GAP-01336"},"M16-GAP-01336":{"line":1335,"offset":229861,"length":160,"previous":"M16-GAP-01335","next":"M16-GAP-01337"},"M16-GAP-01337":{"line":1336,"offset":230021,"length":166,"previous":"M16-GAP-01336","next":"M16-GAP-01338"},"M16-GAP-01338":{"line":1337,"offset":230187,"length":166,"previous":"M16-GAP-01337","next":"M16-GAP-01339"},"M16-GAP-01339":{"line":1338,"offset":230353,"length":160,"previous":"M16-GAP-01338","next":"M16-GAP-01340"},"M16-GAP-01340":{"line":1339,"offset":230513,"length":180,"previous":"M16-GAP-01339","next":"M16-GAP-01341"},"M16-GAP-01341":{"line":1340,"offset":230693,"length":165,"previous":"M16-GAP-01340","next":"M16-GAP-01342"},"M16-GAP-01342":{"line":1341,"offset":230858,"length":167,"previous":"M16-GAP-01341","next":"M16-GAP-01343"},"M16-GAP-01343":{"line":1342,"offset":231025,"length":165,"previous":"M16-GAP-01342","next":"M16-GAP-01344"},"M16-GAP-01344":{"line":1343,"offset":231190,"length":168,"previous":"M16-GAP-01343","next":"M16-GAP-01345"},"M16-GAP-01345":{"line":1344,"offset":231358,"length":166,"previous":"M16-GAP-01344","next":"M16-GAP-01346"},"M16-GAP-01346":{"line":1345,"offset":231524,"length":173,"previous":"M16-GAP-01345","next":"M16-GAP-01347"},"M16-GAP-01347":{"line":1346,"offset":231697,"length":181,"previous":"M16-GAP-01346","next":"M16-GAP-01348"},"M16-GAP-01348":{"line":1347,"offset":231878,"length":167,"previous":"M16-GAP-01347","next":"M16-GAP-01349"},"M16-GAP-01349":{"line":1348,"offset":232045,"length":182,"previous":"M16-GAP-01348","next":"M16-GAP-01350"},"M16-GAP-01350":{"line":1349,"offset":232227,"length":191,"previous":"M16-GAP-01349","next":"M16-GAP-01351"},"M16-GAP-01351":{"line":1350,"offset":232418,"length":186,"previous":"M16-GAP-01350","next":"M16-GAP-01352"},"M16-GAP-01352":{"line":1351,"offset":232604,"length":184,"previous":"M16-GAP-01351","next":"M16-GAP-01353"},"M16-GAP-01353":{"line":1352,"offset":232788,"length":183,"previous":"M16-GAP-01352","next":"M16-GAP-01354"},"M16-GAP-01354":{"line":1353,"offset":232971,"length":169,"previous":"M16-GAP-01353","next":"M16-GAP-01355"},"M16-GAP-01355":{"line":1354,"offset":233140,"length":177,"previous":"M16-GAP-01354","next":"M16-GAP-01356"},"M16-GAP-01356":{"line":1355,"offset":233317,"length":171,"previous":"M16-GAP-01355","next":"M16-GAP-01357"},"M16-GAP-01357":{"line":1356,"offset":233488,"length":170,"previous":"M16-GAP-01356","next":"M16-GAP-01358"},"M16-GAP-01358":{"line":1357,"offset":233658,"length":166,"previous":"M16-GAP-01357","next":"M16-GAP-01359"},"M16-GAP-01359":{"line":1358,"offset":233824,"length":170,"previous":"M16-GAP-01358","next":"M16-GAP-01360"},"M16-GAP-01360":{"line":1359,"offset":233994,"length":171,"previous":"M16-GAP-01359","next":"M16-GAP-01361"},"M16-GAP-01361":{"line":1360,"offset":234165,"length":170,"previous":"M16-GAP-01360","next":"M16-GAP-01362"},"M16-GAP-01362":{"line":1361,"offset":234335,"length":176,"previous":"M16-GAP-01361","next":"M16-GAP-01363"},"M16-GAP-01363":{"line":1362,"offset":234511,"length":177,"previous":"M16-GAP-01362","next":"M16-GAP-01364"},"M16-GAP-01364":{"line":1363,"offset":234688,"length":179,"previous":"M16-GAP-01363","next":"M16-GAP-01365"},"M16-GAP-01365":{"line":1364,"offset":234867,"length":162,"previous":"M16-GAP-01364","next":"M16-GAP-01366"},"M16-GAP-01366":{"line":1365,"offset":235029,"length":187,"previous":"M16-GAP-01365","next":"M16-GAP-01367"},"M16-GAP-01367":{"line":1366,"offset":235216,"length":188,"previous":"M16-GAP-01366","next":"M16-GAP-01368"},"M16-GAP-01368":{"line":1367,"offset":235404,"length":190,"previous":"M16-GAP-01367","next":"M16-GAP-01369"},"M16-GAP-01369":{"line":1368,"offset":235594,"length":162,"previous":"M16-GAP-01368","next":"M16-GAP-01370"},"M16-GAP-01370":{"line":1369,"offset":235756,"length":166,"previous":"M16-GAP-01369","next":"M16-GAP-01371"},"M16-GAP-01371":{"line":1370,"offset":235922,"length":166,"previous":"M16-GAP-01370","next":"M16-GAP-01372"},"M16-GAP-01372":{"line":1371,"offset":236088,"length":169,"previous":"M16-GAP-01371","next":"M16-GAP-01373"},"M16-GAP-01373":{"line":1372,"offset":236257,"length":170,"previous":"M16-GAP-01372","next":"M16-GAP-01374"},"M16-GAP-01374":{"line":1373,"offset":236427,"length":168,"previous":"M16-GAP-01373","next":"M16-GAP-01375"},"M16-GAP-01375":{"line":1374,"offset":236595,"length":174,"previous":"M16-GAP-01374","next":"M16-GAP-01376"},"M16-GAP-01376":{"line":1375,"offset":236769,"length":174,"previous":"M16-GAP-01375","next":"M16-GAP-01377"},"M16-GAP-01377":{"line":1376,"offset":236943,"length":172,"previous":"M16-GAP-01376","next":"M16-GAP-01378"},"M16-GAP-01378":{"line":1377,"offset":237115,"length":177,"previous":"M16-GAP-01377","next":"M16-GAP-01379"},"M16-GAP-01379":{"line":1378,"offset":237292,"length":180,"previous":"M16-GAP-01378","next":"M16-GAP-01380"},"M16-GAP-01380":{"line":1379,"offset":237472,"length":181,"previous":"M16-GAP-01379","next":"M16-GAP-01381"},"M16-GAP-01381":{"line":1380,"offset":237653,"length":183,"previous":"M16-GAP-01380","next":"M16-GAP-01382"},"M16-GAP-01382":{"line":1381,"offset":237836,"length":176,"previous":"M16-GAP-01381","next":"M16-GAP-01383"},"M16-GAP-01383":{"line":1382,"offset":238012,"length":180,"previous":"M16-GAP-01382","next":"M16-GAP-01384"},"M16-GAP-01384":{"line":1383,"offset":238192,"length":181,"previous":"M16-GAP-01383","next":"M16-GAP-01385"},"M16-GAP-01385":{"line":1384,"offset":238373,"length":183,"previous":"M16-GAP-01384","next":"M16-GAP-01386"},"M16-GAP-01386":{"line":1385,"offset":238556,"length":168,"previous":"M16-GAP-01385","next":"M16-GAP-01387"},"M16-GAP-01387":{"line":1386,"offset":238724,"length":172,"previous":"M16-GAP-01386","next":"M16-GAP-01388"},"M16-GAP-01388":{"line":1387,"offset":238896,"length":172,"previous":"M16-GAP-01387","next":"M16-GAP-01389"},"M16-GAP-01389":{"line":1388,"offset":239068,"length":165,"previous":"M16-GAP-01388","next":"M16-GAP-01390"},"M16-GAP-01390":{"line":1389,"offset":239233,"length":173,"previous":"M16-GAP-01389","next":"M16-GAP-01391"},"M16-GAP-01391":{"line":1390,"offset":239406,"length":165,"previous":"M16-GAP-01390","next":"M16-GAP-01392"},"M16-GAP-01392":{"line":1391,"offset":239571,"length":182,"previous":"M16-GAP-01391","next":"M16-GAP-01393"},"M16-GAP-01393":{"line":1392,"offset":239753,"length":169,"previous":"M16-GAP-01392","next":"M16-GAP-01394"},"M16-GAP-01394":{"line":1393,"offset":239922,"length":172,"previous":"M16-GAP-01393","next":"M16-GAP-01395"},"M16-GAP-01395":{"line":1394,"offset":240094,"length":189,"previous":"M16-GAP-01394","next":"M16-GAP-01396"},"M16-GAP-01396":{"line":1395,"offset":240283,"length":172,"previous":"M16-GAP-01395","next":"M16-GAP-01397"},"M16-GAP-01397":{"line":1396,"offset":240455,"length":164,"previous":"M16-GAP-01396","next":"M16-GAP-01398"},"M16-GAP-01398":{"line":1397,"offset":240619,"length":169,"previous":"M16-GAP-01397","next":"M16-GAP-01399"},"M16-GAP-01399":{"line":1398,"offset":240788,"length":169,"previous":"M16-GAP-01398","next":"M16-GAP-01400"},"M16-GAP-01400":{"line":1399,"offset":240957,"length":175,"previous":"M16-GAP-01399","next":"M16-GAP-01401"},"M16-GAP-01401":{"line":1400,"offset":241132,"length":175,"previous":"M16-GAP-01400","next":"M16-GAP-01402"},"M16-GAP-01402":{"line":1401,"offset":241307,"length":161,"previous":"M16-GAP-01401","next":"M16-GAP-01403"},"M16-GAP-01403":{"line":1402,"offset":241468,"length":175,"previous":"M16-GAP-01402","next":"M16-GAP-01404"},"M16-GAP-01404":{"line":1403,"offset":241643,"length":167,"previous":"M16-GAP-01403","next":"M16-GAP-01405"},"M16-GAP-01405":{"line":1404,"offset":241810,"length":163,"previous":"M16-GAP-01404","next":"M16-GAP-01406"},"M16-GAP-01406":{"line":1405,"offset":241973,"length":183,"previous":"M16-GAP-01405","next":"M16-GAP-01407"},"M16-GAP-01407":{"line":1406,"offset":242156,"length":170,"previous":"M16-GAP-01406","next":"M16-GAP-01408"},"M16-GAP-01408":{"line":1407,"offset":242326,"length":182,"previous":"M16-GAP-01407","next":"M16-GAP-01409"},"M16-GAP-01409":{"line":1408,"offset":242508,"length":162,"previous":"M16-GAP-01408","next":"M16-GAP-01410"},"M16-GAP-01410":{"line":1409,"offset":242670,"length":168,"previous":"M16-GAP-01409","next":"M16-GAP-01411"},"M16-GAP-01411":{"line":1410,"offset":242838,"length":168,"previous":"M16-GAP-01410","next":"M16-GAP-01412"},"M16-GAP-01412":{"line":1411,"offset":243006,"length":178,"previous":"M16-GAP-01411","next":"M16-GAP-01413"},"M16-GAP-01413":{"line":1412,"offset":243184,"length":180,"previous":"M16-GAP-01412","next":"M16-GAP-01414"},"M16-GAP-01414":{"line":1413,"offset":243364,"length":172,"previous":"M16-GAP-01413","next":"M16-GAP-01415"},"M16-GAP-01415":{"line":1414,"offset":243536,"length":188,"previous":"M16-GAP-01414","next":"M16-GAP-01416"},"M16-GAP-01416":{"line":1415,"offset":243724,"length":181,"previous":"M16-GAP-01415","next":"M16-GAP-01417"},"M16-GAP-01417":{"line":1416,"offset":243905,"length":173,"previous":"M16-GAP-01416","next":"M16-GAP-01418"},"M16-GAP-01418":{"line":1417,"offset":244078,"length":183,"previous":"M16-GAP-01417","next":"M16-GAP-01419"},"M16-GAP-01419":{"line":1418,"offset":244261,"length":175,"previous":"M16-GAP-01418","next":"M16-GAP-01420"},"M16-GAP-01420":{"line":1419,"offset":244436,"length":175,"previous":"M16-GAP-01419","next":"M16-GAP-01421"},"M16-GAP-01421":{"line":1420,"offset":244611,"length":172,"previous":"M16-GAP-01420","next":"M16-GAP-01422"},"M16-GAP-01422":{"line":1421,"offset":244783,"length":185,"previous":"M16-GAP-01421","next":"M16-GAP-01423"},"M16-GAP-01423":{"line":1422,"offset":244968,"length":175,"previous":"M16-GAP-01422","next":"M16-GAP-01424"},"M16-GAP-01424":{"line":1423,"offset":245143,"length":174,"previous":"M16-GAP-01423","next":"M16-GAP-01425"},"M16-GAP-01425":{"line":1424,"offset":245317,"length":165,"previous":"M16-GAP-01424","next":"M16-GAP-01426"},"M16-GAP-01426":{"line":1425,"offset":245482,"length":179,"previous":"M16-GAP-01425","next":"M16-GAP-01427"},"M16-GAP-01427":{"line":1426,"offset":245661,"length":181,"previous":"M16-GAP-01426","next":"M16-GAP-01428"},"M16-GAP-01428":{"line":1427,"offset":245842,"length":179,"previous":"M16-GAP-01427","next":"M16-GAP-01429"},"M16-GAP-01429":{"line":1428,"offset":246021,"length":179,"previous":"M16-GAP-01428","next":"M16-GAP-01430"},"M16-GAP-01430":{"line":1429,"offset":246200,"length":175,"previous":"M16-GAP-01429","next":"M16-GAP-01431"},"M16-GAP-01431":{"line":1430,"offset":246375,"length":175,"previous":"M16-GAP-01430","next":"M16-GAP-01432"},"M16-GAP-01432":{"line":1431,"offset":246550,"length":171,"previous":"M16-GAP-01431","next":"M16-GAP-01433"},"M16-GAP-01433":{"line":1432,"offset":246721,"length":177,"previous":"M16-GAP-01432","next":"M16-GAP-01434"},"M16-GAP-01434":{"line":1433,"offset":246898,"length":164,"previous":"M16-GAP-01433","next":"M16-GAP-01435"},"M16-GAP-01435":{"line":1434,"offset":247062,"length":183,"previous":"M16-GAP-01434","next":"M16-GAP-01436"},"M16-GAP-01436":{"line":1435,"offset":247245,"length":177,"previous":"M16-GAP-01435","next":"M16-GAP-01437"},"M16-GAP-01437":{"line":1436,"offset":247422,"length":177,"previous":"M16-GAP-01436","next":"M16-GAP-01438"},"M16-GAP-01438":{"line":1437,"offset":247599,"length":167,"previous":"M16-GAP-01437","next":"M16-GAP-01439"},"M16-GAP-01439":{"line":1438,"offset":247766,"length":172,"previous":"M16-GAP-01438","next":"M16-GAP-01440"},"M16-GAP-01440":{"line":1439,"offset":247938,"length":179,"previous":"M16-GAP-01439","next":"M16-GAP-01441"},"M16-GAP-01441":{"line":1440,"offset":248117,"length":178,"previous":"M16-GAP-01440","next":"M16-GAP-01442"},"M16-GAP-01442":{"line":1441,"offset":248295,"length":173,"previous":"M16-GAP-01441","next":"M16-GAP-01443"},"M16-GAP-01443":{"line":1442,"offset":248468,"length":170,"previous":"M16-GAP-01442","next":"M16-GAP-01444"},"M16-GAP-01444":{"line":1443,"offset":248638,"length":167,"previous":"M16-GAP-01443","next":"M16-GAP-01445"},"M16-GAP-01445":{"line":1444,"offset":248805,"length":173,"previous":"M16-GAP-01444","next":"M16-GAP-01446"},"M16-GAP-01446":{"line":1445,"offset":248978,"length":173,"previous":"M16-GAP-01445","next":"M16-GAP-01447"},"M16-GAP-01447":{"line":1446,"offset":249151,"length":171,"previous":"M16-GAP-01446","next":"M16-GAP-01448"},"M16-GAP-01448":{"line":1447,"offset":249322,"length":175,"previous":"M16-GAP-01447","next":"M16-GAP-01449"},"M16-GAP-01449":{"line":1448,"offset":249497,"length":190,"previous":"M16-GAP-01448","next":"M16-GAP-01450"},"M16-GAP-01450":{"line":1449,"offset":249687,"length":188,"previous":"M16-GAP-01449","next":"M16-GAP-01451"},"M16-GAP-01451":{"line":1450,"offset":249875,"length":183,"previous":"M16-GAP-01450","next":"M16-GAP-01452"},"M16-GAP-01452":{"line":1451,"offset":250058,"length":190,"previous":"M16-GAP-01451","next":"M16-GAP-01453"},"M16-GAP-01453":{"line":1452,"offset":250248,"length":188,"previous":"M16-GAP-01452","next":"M16-GAP-01454"},"M16-GAP-01454":{"line":1453,"offset":250436,"length":195,"previous":"M16-GAP-01453","next":"M16-GAP-01455"},"M16-GAP-01455":{"line":1454,"offset":250631,"length":186,"previous":"M16-GAP-01454","next":"M16-GAP-01456"},"M16-GAP-01456":{"line":1455,"offset":250817,"length":175,"previous":"M16-GAP-01455","next":"M16-GAP-01457"},"M16-GAP-01457":{"line":1456,"offset":250992,"length":197,"previous":"M16-GAP-01456","next":"M16-GAP-01458"},"M16-GAP-01458":{"line":1457,"offset":251189,"length":198,"previous":"M16-GAP-01457","next":"M16-GAP-01459"},"M16-GAP-01459":{"line":1458,"offset":251387,"length":200,"previous":"M16-GAP-01458","next":"M16-GAP-01460"},"M16-GAP-01460":{"line":1459,"offset":251587,"length":197,"previous":"M16-GAP-01459","next":"M16-GAP-01461"},"M16-GAP-01461":{"line":1460,"offset":251784,"length":198,"previous":"M16-GAP-01460","next":"M16-GAP-01462"},"M16-GAP-01462":{"line":1461,"offset":251982,"length":200,"previous":"M16-GAP-01461","next":"M16-GAP-01463"},"M16-GAP-01463":{"line":1462,"offset":252182,"length":173,"previous":"M16-GAP-01462","next":"M16-GAP-01464"},"M16-GAP-01464":{"line":1463,"offset":252355,"length":179,"previous":"M16-GAP-01463","next":"M16-GAP-01465"},"M16-GAP-01465":{"line":1464,"offset":252534,"length":173,"previous":"M16-GAP-01464","next":"M16-GAP-01466"},"M16-GAP-01466":{"line":1465,"offset":252707,"length":171,"previous":"M16-GAP-01465","next":"M16-GAP-01467"},"M16-GAP-01467":{"line":1466,"offset":252878,"length":172,"previous":"M16-GAP-01466","next":"M16-GAP-01468"},"M16-GAP-01468":{"line":1467,"offset":253050,"length":172,"previous":"M16-GAP-01467","next":"M16-GAP-01469"},"M16-GAP-01469":{"line":1468,"offset":253222,"length":169,"previous":"M16-GAP-01468","next":"M16-GAP-01470"},"M16-GAP-01470":{"line":1469,"offset":253391,"length":171,"previous":"M16-GAP-01469","next":"M16-GAP-01471"},"M16-GAP-01471":{"line":1470,"offset":253562,"length":169,"previous":"M16-GAP-01470","next":"M16-GAP-01472"},"M16-GAP-01472":{"line":1471,"offset":253731,"length":168,"previous":"M16-GAP-01471","next":"M16-GAP-01473"},"M16-GAP-01473":{"line":1472,"offset":253899,"length":169,"previous":"M16-GAP-01472","next":"M16-GAP-01474"},"M16-GAP-01474":{"line":1473,"offset":254068,"length":185,"previous":"M16-GAP-01473","next":"M16-GAP-01475"},"M16-GAP-01475":{"line":1474,"offset":254253,"length":185,"previous":"M16-GAP-01474","next":"M16-GAP-01476"},"M16-GAP-01476":{"line":1475,"offset":254438,"length":183,"previous":"M16-GAP-01475","next":"M16-GAP-01477"},"M16-GAP-01477":{"line":1476,"offset":254621,"length":177,"previous":"M16-GAP-01476","next":"M16-GAP-01478"},"M16-GAP-01478":{"line":1477,"offset":254798,"length":162,"previous":"M16-GAP-01477","next":"M16-GAP-01479"},"M16-GAP-01479":{"line":1478,"offset":254960,"length":169,"previous":"M16-GAP-01478","next":"M16-GAP-01480"},"M16-GAP-01480":{"line":1479,"offset":255129,"length":166,"previous":"M16-GAP-01479","next":"M16-GAP-01481"},"M16-GAP-01481":{"line":1480,"offset":255295,"length":178,"previous":"M16-GAP-01480","next":"M16-GAP-01482"},"M16-GAP-01482":{"line":1481,"offset":255473,"length":181,"previous":"M16-GAP-01481","next":"M16-GAP-01483"},"M16-GAP-01483":{"line":1482,"offset":255654,"length":167,"previous":"M16-GAP-01482","next":"M16-GAP-01484"},"M16-GAP-01484":{"line":1483,"offset":255821,"length":194,"previous":"M16-GAP-01483","next":"M16-GAP-01485"},"M16-GAP-01485":{"line":1484,"offset":256015,"length":185,"previous":"M16-GAP-01484","next":"M16-GAP-01486"},"M16-GAP-01486":{"line":1485,"offset":256200,"length":187,"previous":"M16-GAP-01485","next":"M16-GAP-01487"},"M16-GAP-01487":{"line":1486,"offset":256387,"length":195,"previous":"M16-GAP-01486","next":"M16-GAP-01488"},"M16-GAP-01488":{"line":1487,"offset":256582,"length":186,"previous":"M16-GAP-01487","next":"M16-GAP-01489"},"M16-GAP-01489":{"line":1488,"offset":256768,"length":188,"previous":"M16-GAP-01488","next":"M16-GAP-01490"},"M16-GAP-01490":{"line":1489,"offset":256956,"length":194,"previous":"M16-GAP-01489","next":"M16-GAP-01491"},"M16-GAP-01491":{"line":1490,"offset":257150,"length":172,"previous":"M16-GAP-01490","next":"M16-GAP-01492"},"M16-GAP-01492":{"line":1491,"offset":257322,"length":179,"previous":"M16-GAP-01491","next":"M16-GAP-01493"},"M16-GAP-01493":{"line":1492,"offset":257501,"length":179,"previous":"M16-GAP-01492","next":"M16-GAP-01494"},"M16-GAP-01494":{"line":1493,"offset":257680,"length":178,"previous":"M16-GAP-01493","next":"M16-GAP-01495"},"M16-GAP-01495":{"line":1494,"offset":257858,"length":171,"previous":"M16-GAP-01494","next":"M16-GAP-01496"},"M16-GAP-01496":{"line":1495,"offset":258029,"length":176,"previous":"M16-GAP-01495","next":"M16-GAP-01497"},"M16-GAP-01497":{"line":1496,"offset":258205,"length":172,"previous":"M16-GAP-01496","next":"M16-GAP-01498"},"M16-GAP-01498":{"line":1497,"offset":258377,"length":173,"previous":"M16-GAP-01497","next":"M16-GAP-01499"},"M16-GAP-01499":{"line":1498,"offset":258550,"length":173,"previous":"M16-GAP-01498","next":"M16-GAP-01500"},"M16-GAP-01500":{"line":1499,"offset":258723,"length":174,"previous":"M16-GAP-01499","next":"M16-GAP-01501"},"M16-GAP-01501":{"line":1500,"offset":258897,"length":168,"previous":"M16-GAP-01500","next":"M16-GAP-01502"},"M16-GAP-01502":{"line":1501,"offset":259065,"length":179,"previous":"M16-GAP-01501","next":"M16-GAP-01503"},"M16-GAP-01503":{"line":1502,"offset":259244,"length":174,"previous":"M16-GAP-01502","next":"M16-GAP-01504"},"M16-GAP-01504":{"line":1503,"offset":259418,"length":175,"previous":"M16-GAP-01503","next":"M16-GAP-01505"},"M16-GAP-01505":{"line":1504,"offset":259593,"length":178,"previous":"M16-GAP-01504","next":"M16-GAP-01506"},"M16-GAP-01506":{"line":1505,"offset":259771,"length":176,"previous":"M16-GAP-01505","next":"M16-GAP-01507"},"M16-GAP-01507":{"line":1506,"offset":259947,"length":180,"previous":"M16-GAP-01506","next":"M16-GAP-01508"},"M16-GAP-01508":{"line":1507,"offset":260127,"length":176,"previous":"M16-GAP-01507","next":"M16-GAP-01509"},"M16-GAP-01509":{"line":1508,"offset":260303,"length":178,"previous":"M16-GAP-01508","next":"M16-GAP-01510"},"M16-GAP-01510":{"line":1509,"offset":260481,"length":182,"previous":"M16-GAP-01509","next":"M16-GAP-01511"},"M16-GAP-01511":{"line":1510,"offset":260663,"length":185,"previous":"M16-GAP-01510","next":"M16-GAP-01512"},"M16-GAP-01512":{"line":1511,"offset":260848,"length":178,"previous":"M16-GAP-01511","next":"M16-GAP-01513"},"M16-GAP-01513":{"line":1512,"offset":261026,"length":173,"previous":"M16-GAP-01512","next":"M16-GAP-01514"},"M16-GAP-01514":{"line":1513,"offset":261199,"length":170,"previous":"M16-GAP-01513","next":"M16-GAP-01515"},"M16-GAP-01515":{"line":1514,"offset":261369,"length":166,"previous":"M16-GAP-01514","next":"M16-GAP-01516"},"M16-GAP-01516":{"line":1515,"offset":261535,"length":179,"previous":"M16-GAP-01515","next":"M16-GAP-01517"},"M16-GAP-01517":{"line":1516,"offset":261714,"length":170,"previous":"M16-GAP-01516","next":"M16-GAP-01518"},"M16-GAP-01518":{"line":1517,"offset":261884,"length":181,"previous":"M16-GAP-01517","next":"M16-GAP-01519"},"M16-GAP-01519":{"line":1518,"offset":262065,"length":172,"previous":"M16-GAP-01518","next":"M16-GAP-01520"},"M16-GAP-01520":{"line":1519,"offset":262237,"length":184,"previous":"M16-GAP-01519","next":"M16-GAP-01521"},"M16-GAP-01521":{"line":1520,"offset":262421,"length":174,"previous":"M16-GAP-01520","next":"M16-GAP-01522"},"M16-GAP-01522":{"line":1521,"offset":262595,"length":171,"previous":"M16-GAP-01521","next":"M16-GAP-01523"},"M16-GAP-01523":{"line":1522,"offset":262766,"length":183,"previous":"M16-GAP-01522","next":"M16-GAP-01524"},"M16-GAP-01524":{"line":1523,"offset":262949,"length":176,"previous":"M16-GAP-01523","next":"M16-GAP-01525"},"M16-GAP-01525":{"line":1524,"offset":263125,"length":180,"previous":"M16-GAP-01524","next":"M16-GAP-01526"},"M16-GAP-01526":{"line":1525,"offset":263305,"length":174,"previous":"M16-GAP-01525","next":"M16-GAP-01527"},"M16-GAP-01527":{"line":1526,"offset":263479,"length":173,"previous":"M16-GAP-01526","next":"M16-GAP-01528"},"M16-GAP-01528":{"line":1527,"offset":263652,"length":177,"previous":"M16-GAP-01527","next":"M16-GAP-01529"},"M16-GAP-01529":{"line":1528,"offset":263829,"length":173,"previous":"M16-GAP-01528","next":"M16-GAP-01530"},"M16-GAP-01530":{"line":1529,"offset":264002,"length":184,"previous":"M16-GAP-01529","next":"M16-GAP-01531"},"M16-GAP-01531":{"line":1530,"offset":264186,"length":176,"previous":"M16-GAP-01530","next":"M16-GAP-01532"},"M16-GAP-01532":{"line":1531,"offset":264362,"length":177,"previous":"M16-GAP-01531","next":"M16-GAP-01533"},"M16-GAP-01533":{"line":1532,"offset":264539,"length":180,"previous":"M16-GAP-01532","next":"M16-GAP-01534"},"M16-GAP-01534":{"line":1533,"offset":264719,"length":180,"previous":"M16-GAP-01533","next":"M16-GAP-01535"},"M16-GAP-01535":{"line":1534,"offset":264899,"length":187,"previous":"M16-GAP-01534","next":"M16-GAP-01536"},"M16-GAP-01536":{"line":1535,"offset":265086,"length":181,"previous":"M16-GAP-01535","next":"M16-GAP-01537"},"M16-GAP-01537":{"line":1536,"offset":265267,"length":174,"previous":"M16-GAP-01536","next":"M16-GAP-01538"},"M16-GAP-01538":{"line":1537,"offset":265441,"length":176,"previous":"M16-GAP-01537","next":"M16-GAP-01539"},"M16-GAP-01539":{"line":1538,"offset":265617,"length":178,"previous":"M16-GAP-01538","next":"M16-GAP-01540"},"M16-GAP-01540":{"line":1539,"offset":265795,"length":168,"previous":"M16-GAP-01539","next":"M16-GAP-01541"},"M16-GAP-01541":{"line":1540,"offset":265963,"length":170,"previous":"M16-GAP-01540","next":"M16-GAP-01542"},"M16-GAP-01542":{"line":1541,"offset":266133,"length":168,"previous":"M16-GAP-01541","next":"M16-GAP-01543"},"M16-GAP-01543":{"line":1542,"offset":266301,"length":170,"previous":"M16-GAP-01542","next":"M16-GAP-01544"},"M16-GAP-01544":{"line":1543,"offset":266471,"length":178,"previous":"M16-GAP-01543","next":"M16-GAP-01545"},"M16-GAP-01545":{"line":1544,"offset":266649,"length":179,"previous":"M16-GAP-01544","next":"M16-GAP-01546"},"M16-GAP-01546":{"line":1545,"offset":266828,"length":168,"previous":"M16-GAP-01545","next":"M16-GAP-01547"},"M16-GAP-01547":{"line":1546,"offset":266996,"length":177,"previous":"M16-GAP-01546","next":"M16-GAP-01548"},"M16-GAP-01548":{"line":1547,"offset":267173,"length":180,"previous":"M16-GAP-01547","next":"M16-GAP-01549"},"M16-GAP-01549":{"line":1548,"offset":267353,"length":173,"previous":"M16-GAP-01548","next":"M16-GAP-01550"},"M16-GAP-01550":{"line":1549,"offset":267526,"length":173,"previous":"M16-GAP-01549","next":"M16-GAP-01551"},"M16-GAP-01551":{"line":1550,"offset":267699,"length":169,"previous":"M16-GAP-01550","next":"M16-GAP-01552"},"M16-GAP-01552":{"line":1551,"offset":267868,"length":170,"previous":"M16-GAP-01551","next":"M16-GAP-01553"},"M16-GAP-01553":{"line":1552,"offset":268038,"length":178,"previous":"M16-GAP-01552","next":"M16-GAP-01554"},"M16-GAP-01554":{"line":1553,"offset":268216,"length":179,"previous":"M16-GAP-01553","next":"M16-GAP-01555"},"M16-GAP-01555":{"line":1554,"offset":268395,"length":173,"previous":"M16-GAP-01554","next":"M16-GAP-01556"},"M16-GAP-01556":{"line":1555,"offset":268568,"length":175,"previous":"M16-GAP-01555","next":"M16-GAP-01557"},"M16-GAP-01557":{"line":1556,"offset":268743,"length":171,"previous":"M16-GAP-01556","next":"M16-GAP-01558"},"M16-GAP-01558":{"line":1557,"offset":268914,"length":167,"previous":"M16-GAP-01557","next":"M16-GAP-01559"},"M16-GAP-01559":{"line":1558,"offset":269081,"length":170,"previous":"M16-GAP-01558","next":"M16-GAP-01560"},"M16-GAP-01560":{"line":1559,"offset":269251,"length":169,"previous":"M16-GAP-01559","next":"M16-GAP-01561"},"M16-GAP-01561":{"line":1560,"offset":269420,"length":177,"previous":"M16-GAP-01560","next":"M16-GAP-01562"},"M16-GAP-01562":{"line":1561,"offset":269597,"length":180,"previous":"M16-GAP-01561","next":"M16-GAP-01563"},"M16-GAP-01563":{"line":1562,"offset":269777,"length":172,"previous":"M16-GAP-01562","next":"M16-GAP-01564"},"M16-GAP-01564":{"line":1563,"offset":269949,"length":169,"previous":"M16-GAP-01563","next":"M16-GAP-01565"},"M16-GAP-01565":{"line":1564,"offset":270118,"length":168,"previous":"M16-GAP-01564","next":"M16-GAP-01566"},"M16-GAP-01566":{"line":1565,"offset":270286,"length":172,"previous":"M16-GAP-01565","next":"M16-GAP-01567"},"M16-GAP-01567":{"line":1566,"offset":270458,"length":171,"previous":"M16-GAP-01566","next":"M16-GAP-01568"},"M16-GAP-01568":{"line":1567,"offset":270629,"length":172,"previous":"M16-GAP-01567","next":"M16-GAP-01569"},"M16-GAP-01569":{"line":1568,"offset":270801,"length":174,"previous":"M16-GAP-01568","next":"M16-GAP-01570"},"M16-GAP-01570":{"line":1569,"offset":270975,"length":169,"previous":"M16-GAP-01569","next":"M16-GAP-01571"},"M16-GAP-01571":{"line":1570,"offset":271144,"length":171,"previous":"M16-GAP-01570","next":"M16-GAP-01572"},"M16-GAP-01572":{"line":1571,"offset":271315,"length":171,"previous":"M16-GAP-01571","next":"M16-GAP-01573"},"M16-GAP-01573":{"line":1572,"offset":271486,"length":169,"previous":"M16-GAP-01572","next":"M16-GAP-01574"},"M16-GAP-01574":{"line":1573,"offset":271655,"length":172,"previous":"M16-GAP-01573","next":"M16-GAP-01575"},"M16-GAP-01575":{"line":1574,"offset":271827,"length":171,"previous":"M16-GAP-01574","next":"M16-GAP-01576"},"M16-GAP-01576":{"line":1575,"offset":271998,"length":180,"previous":"M16-GAP-01575","next":"M16-GAP-01577"},"M16-GAP-01577":{"line":1576,"offset":272178,"length":175,"previous":"M16-GAP-01576","next":"M16-GAP-01578"},"M16-GAP-01578":{"line":1577,"offset":272353,"length":168,"previous":"M16-GAP-01577","next":"M16-GAP-01579"},"M16-GAP-01579":{"line":1578,"offset":272521,"length":170,"previous":"M16-GAP-01578","next":"M16-GAP-01580"},"M16-GAP-01580":{"line":1579,"offset":272691,"length":179,"previous":"M16-GAP-01579","next":"M16-GAP-01581"},"M16-GAP-01581":{"line":1580,"offset":272870,"length":170,"previous":"M16-GAP-01580","next":"M16-GAP-01582"},"M16-GAP-01582":{"line":1581,"offset":273040,"length":171,"previous":"M16-GAP-01581","next":"M16-GAP-01583"},"M16-GAP-01583":{"line":1582,"offset":273211,"length":176,"previous":"M16-GAP-01582","next":"M16-GAP-01584"},"M16-GAP-01584":{"line":1583,"offset":273387,"length":180,"previous":"M16-GAP-01583","next":"M16-GAP-01585"},"M16-GAP-01585":{"line":1584,"offset":273567,"length":174,"previous":"M16-GAP-01584","next":"M16-GAP-01586"},"M16-GAP-01586":{"line":1585,"offset":273741,"length":173,"previous":"M16-GAP-01585","next":"M16-GAP-01587"},"M16-GAP-01587":{"line":1586,"offset":273914,"length":171,"previous":"M16-GAP-01586","next":"M16-GAP-01588"},"M16-GAP-01588":{"line":1587,"offset":274085,"length":182,"previous":"M16-GAP-01587","next":"M16-GAP-01589"},"M16-GAP-01589":{"line":1588,"offset":274267,"length":173,"previous":"M16-GAP-01588","next":"M16-GAP-01590"},"M16-GAP-01590":{"line":1589,"offset":274440,"length":172,"previous":"M16-GAP-01589","next":"M16-GAP-01591"},"M16-GAP-01591":{"line":1590,"offset":274612,"length":172,"previous":"M16-GAP-01590","next":"M16-GAP-01592"},"M16-GAP-01592":{"line":1591,"offset":274784,"length":178,"previous":"M16-GAP-01591","next":"M16-GAP-01593"},"M16-GAP-01593":{"line":1592,"offset":274962,"length":174,"previous":"M16-GAP-01592","next":"M16-GAP-01594"},"M16-GAP-01594":{"line":1593,"offset":275136,"length":172,"previous":"M16-GAP-01593","next":"M16-GAP-01595"},"M16-GAP-01595":{"line":1594,"offset":275308,"length":174,"previous":"M16-GAP-01594","next":"M16-GAP-01596"},"M16-GAP-01596":{"line":1595,"offset":275482,"length":174,"previous":"M16-GAP-01595","next":"M16-GAP-01597"},"M16-GAP-01597":{"line":1596,"offset":275656,"length":176,"previous":"M16-GAP-01596","next":"M16-GAP-01598"},"M16-GAP-01598":{"line":1597,"offset":275832,"length":185,"previous":"M16-GAP-01597","next":"M16-GAP-01599"},"M16-GAP-01599":{"line":1598,"offset":276017,"length":199,"previous":"M16-GAP-01598","next":"M16-GAP-01600"},"M16-GAP-01600":{"line":1599,"offset":276216,"length":187,"previous":"M16-GAP-01599","next":"M16-GAP-01601"},"M16-GAP-01601":{"line":1600,"offset":276403,"length":178,"previous":"M16-GAP-01600","next":"M16-GAP-01602"},"M16-GAP-01602":{"line":1601,"offset":276581,"length":179,"previous":"M16-GAP-01601","next":"M16-GAP-01603"},"M16-GAP-01603":{"line":1602,"offset":276760,"length":177,"previous":"M16-GAP-01602","next":"M16-GAP-01604"},"M16-GAP-01604":{"line":1603,"offset":276937,"length":172,"previous":"M16-GAP-01603","next":"M16-GAP-01605"},"M16-GAP-01605":{"line":1604,"offset":277109,"length":169,"previous":"M16-GAP-01604","next":"M16-GAP-01606"},"M16-GAP-01606":{"line":1605,"offset":277278,"length":173,"previous":"M16-GAP-01605","next":"M16-GAP-01607"},"M16-GAP-01607":{"line":1606,"offset":277451,"length":176,"previous":"M16-GAP-01606","next":"M16-GAP-01608"},"M16-GAP-01608":{"line":1607,"offset":277627,"length":166,"previous":"M16-GAP-01607","next":"M16-GAP-01609"},"M16-GAP-01609":{"line":1608,"offset":277793,"length":169,"previous":"M16-GAP-01608","next":"M16-GAP-01610"},"M16-GAP-01610":{"line":1609,"offset":277962,"length":167,"previous":"M16-GAP-01609","next":"M16-GAP-01611"},"M16-GAP-01611":{"line":1610,"offset":278129,"length":171,"previous":"M16-GAP-01610","next":"M16-GAP-01612"},"M16-GAP-01612":{"line":1611,"offset":278300,"length":173,"previous":"M16-GAP-01611","next":"M16-GAP-01613"},"M16-GAP-01613":{"line":1612,"offset":278473,"length":179,"previous":"M16-GAP-01612","next":"M16-GAP-01614"},"M16-GAP-01614":{"line":1613,"offset":278652,"length":176,"previous":"M16-GAP-01613","next":"M16-GAP-01615"},"M16-GAP-01615":{"line":1614,"offset":278828,"length":178,"previous":"M16-GAP-01614","next":"M16-GAP-01616"},"M16-GAP-01616":{"line":1615,"offset":279006,"length":169,"previous":"M16-GAP-01615","next":"M16-GAP-01617"},"M16-GAP-01617":{"line":1616,"offset":279175,"length":171,"previous":"M16-GAP-01616","next":"M16-GAP-01618"},"M16-GAP-01618":{"line":1617,"offset":279346,"length":174,"previous":"M16-GAP-01617","next":"M16-GAP-01619"},"M16-GAP-01619":{"line":1618,"offset":279520,"length":177,"previous":"M16-GAP-01618","next":"M16-GAP-01620"},"M16-GAP-01620":{"line":1619,"offset":279697,"length":181,"previous":"M16-GAP-01619","next":"M16-GAP-01621"},"M16-GAP-01621":{"line":1620,"offset":279878,"length":176,"previous":"M16-GAP-01620","next":"M16-GAP-01622"},"M16-GAP-01622":{"line":1621,"offset":280054,"length":175,"previous":"M16-GAP-01621","next":"M16-GAP-01623"},"M16-GAP-01623":{"line":1622,"offset":280229,"length":187,"previous":"M16-GAP-01622","next":"M16-GAP-01624"},"M16-GAP-01624":{"line":1623,"offset":280416,"length":179,"previous":"M16-GAP-01623","next":"M16-GAP-01625"},"M16-GAP-01625":{"line":1624,"offset":280595,"length":177,"previous":"M16-GAP-01624","next":"M16-GAP-01626"},"M16-GAP-01626":{"line":1625,"offset":280772,"length":177,"previous":"M16-GAP-01625","next":"M16-GAP-01627"},"M16-GAP-01627":{"line":1626,"offset":280949,"length":182,"previous":"M16-GAP-01626","next":"M16-GAP-01628"},"M16-GAP-01628":{"line":1627,"offset":281131,"length":175,"previous":"M16-GAP-01627","next":"M16-GAP-01629"},"M16-GAP-01629":{"line":1628,"offset":281306,"length":177,"previous":"M16-GAP-01628","next":"M16-GAP-01630"},"M16-GAP-01630":{"line":1629,"offset":281483,"length":175,"previous":"M16-GAP-01629","next":"M16-GAP-01631"},"M16-GAP-01631":{"line":1630,"offset":281658,"length":180,"previous":"M16-GAP-01630","next":"M16-GAP-01632"},"M16-GAP-01632":{"line":1631,"offset":281838,"length":184,"previous":"M16-GAP-01631","next":"M16-GAP-01633"},"M16-GAP-01633":{"line":1632,"offset":282022,"length":179,"previous":"M16-GAP-01632","next":"M16-GAP-01634"},"M16-GAP-01634":{"line":1633,"offset":282201,"length":177,"previous":"M16-GAP-01633","next":"M16-GAP-01635"},"M16-GAP-01635":{"line":1634,"offset":282378,"length":182,"previous":"M16-GAP-01634","next":"M16-GAP-01636"},"M16-GAP-01636":{"line":1635,"offset":282560,"length":177,"previous":"M16-GAP-01635","next":"M16-GAP-01637"},"M16-GAP-01637":{"line":1636,"offset":282737,"length":181,"previous":"M16-GAP-01636","next":"M16-GAP-01638"},"M16-GAP-01638":{"line":1637,"offset":282918,"length":177,"previous":"M16-GAP-01637","next":"M16-GAP-01639"},"M16-GAP-01639":{"line":1638,"offset":283095,"length":175,"previous":"M16-GAP-01638","next":"M16-GAP-01640"},"M16-GAP-01640":{"line":1639,"offset":283270,"length":175,"previous":"M16-GAP-01639","next":"M16-GAP-01641"},"M16-GAP-01641":{"line":1640,"offset":283445,"length":176,"previous":"M16-GAP-01640","next":"M16-GAP-01642"},"M16-GAP-01642":{"line":1641,"offset":283621,"length":178,"previous":"M16-GAP-01641","next":"M16-GAP-01643"},"M16-GAP-01643":{"line":1642,"offset":283799,"length":195,"previous":"M16-GAP-01642","next":"M16-GAP-01644"},"M16-GAP-01644":{"line":1643,"offset":283994,"length":177,"previous":"M16-GAP-01643","next":"M16-GAP-01645"},"M16-GAP-01645":{"line":1644,"offset":284171,"length":182,"previous":"M16-GAP-01644","next":"M16-GAP-01646"},"M16-GAP-01646":{"line":1645,"offset":284353,"length":184,"previous":"M16-GAP-01645","next":"M16-GAP-01647"},"M16-GAP-01647":{"line":1646,"offset":284537,"length":180,"previous":"M16-GAP-01646","next":"M16-GAP-01648"},"M16-GAP-01648":{"line":1647,"offset":284717,"length":168,"previous":"M16-GAP-01647","next":"M16-GAP-01649"},"M16-GAP-01649":{"line":1648,"offset":284885,"length":171,"previous":"M16-GAP-01648","next":"M16-GAP-01650"},"M16-GAP-01650":{"line":1649,"offset":285056,"length":170,"previous":"M16-GAP-01649","next":"M16-GAP-01651"},"M16-GAP-01651":{"line":1650,"offset":285226,"length":173,"previous":"M16-GAP-01650","next":"M16-GAP-01652"},"M16-GAP-01652":{"line":1651,"offset":285399,"length":170,"previous":"M16-GAP-01651","next":"M16-GAP-01653"},"M16-GAP-01653":{"line":1652,"offset":285569,"length":178,"previous":"M16-GAP-01652","next":"M16-GAP-01654"},"M16-GAP-01654":{"line":1653,"offset":285747,"length":172,"previous":"M16-GAP-01653","next":"M16-GAP-01655"},"M16-GAP-01655":{"line":1654,"offset":285919,"length":184,"previous":"M16-GAP-01654","next":"M16-GAP-01656"},"M16-GAP-01656":{"line":1655,"offset":286103,"length":178,"previous":"M16-GAP-01655","next":"M16-GAP-01657"},"M16-GAP-01657":{"line":1656,"offset":286281,"length":185,"previous":"M16-GAP-01656","next":"M16-GAP-01658"},"M16-GAP-01658":{"line":1657,"offset":286466,"length":175,"previous":"M16-GAP-01657","next":"M16-GAP-01659"},"M16-GAP-01659":{"line":1658,"offset":286641,"length":180,"previous":"M16-GAP-01658","next":"M16-GAP-01660"},"M16-GAP-01660":{"line":1659,"offset":286821,"length":187,"previous":"M16-GAP-01659","next":"M16-GAP-01661"},"M16-GAP-01661":{"line":1660,"offset":287008,"length":177,"previous":"M16-GAP-01660","next":"M16-GAP-01662"},"M16-GAP-01662":{"line":1661,"offset":287185,"length":184,"previous":"M16-GAP-01661","next":"M16-GAP-01663"},"M16-GAP-01663":{"line":1662,"offset":287369,"length":184,"previous":"M16-GAP-01662","next":"M16-GAP-01664"},"M16-GAP-01664":{"line":1663,"offset":287553,"length":182,"previous":"M16-GAP-01663","next":"M16-GAP-01665"},"M16-GAP-01665":{"line":1664,"offset":287735,"length":175,"previous":"M16-GAP-01664","next":"M16-GAP-01666"},"M16-GAP-01666":{"line":1665,"offset":287910,"length":182,"previous":"M16-GAP-01665","next":"M16-GAP-01667"},"M16-GAP-01667":{"line":1666,"offset":288092,"length":187,"previous":"M16-GAP-01666","next":"M16-GAP-01668"},"M16-GAP-01668":{"line":1667,"offset":288279,"length":184,"previous":"M16-GAP-01667","next":"M16-GAP-01669"},"M16-GAP-01669":{"line":1668,"offset":288463,"length":182,"previous":"M16-GAP-01668","next":"M16-GAP-01670"},"M16-GAP-01670":{"line":1669,"offset":288645,"length":190,"previous":"M16-GAP-01669","next":"M16-GAP-01671"},"M16-GAP-01671":{"line":1670,"offset":288835,"length":188,"previous":"M16-GAP-01670","next":"M16-GAP-01672"},"M16-GAP-01672":{"line":1671,"offset":289023,"length":179,"previous":"M16-GAP-01671","next":"M16-GAP-01673"},"M16-GAP-01673":{"line":1672,"offset":289202,"length":178,"previous":"M16-GAP-01672","next":"M16-GAP-01674"},"M16-GAP-01674":{"line":1673,"offset":289380,"length":175,"previous":"M16-GAP-01673","next":"M16-GAP-01675"},"M16-GAP-01675":{"line":1674,"offset":289555,"length":174,"previous":"M16-GAP-01674","next":"M16-GAP-01676"},"M16-GAP-01676":{"line":1675,"offset":289729,"length":187,"previous":"M16-GAP-01675","next":"M16-GAP-01677"},"M16-GAP-01677":{"line":1676,"offset":289916,"length":185,"previous":"M16-GAP-01676","next":"M16-GAP-01678"},"M16-GAP-01678":{"line":1677,"offset":290101,"length":175,"previous":"M16-GAP-01677","next":"M16-GAP-01679"},"M16-GAP-01679":{"line":1678,"offset":290276,"length":182,"previous":"M16-GAP-01678","next":"M16-GAP-01680"},"M16-GAP-01680":{"line":1679,"offset":290458,"length":180,"previous":"M16-GAP-01679","next":"M16-GAP-01681"},"M16-GAP-01681":{"line":1680,"offset":290638,"length":174,"previous":"M16-GAP-01680","next":"M16-GAP-01682"},"M16-GAP-01682":{"line":1681,"offset":290812,"length":174,"previous":"M16-GAP-01681","next":"M16-GAP-01683"},"M16-GAP-01683":{"line":1682,"offset":290986,"length":166,"previous":"M16-GAP-01682","next":"M16-GAP-01684"},"M16-GAP-01684":{"line":1683,"offset":291152,"length":180,"previous":"M16-GAP-01683","next":"M16-GAP-01685"},"M16-GAP-01685":{"line":1684,"offset":291332,"length":183,"previous":"M16-GAP-01684","next":"M16-GAP-01686"},"M16-GAP-01686":{"line":1685,"offset":291515,"length":175,"previous":"M16-GAP-01685","next":"M16-GAP-01687"},"M16-GAP-01687":{"line":1686,"offset":291690,"length":164,"previous":"M16-GAP-01686","next":"M16-GAP-01688"},"M16-GAP-01688":{"line":1687,"offset":291854,"length":176,"previous":"M16-GAP-01687","next":"M16-GAP-01689"},"M16-GAP-01689":{"line":1688,"offset":292030,"length":167,"previous":"M16-GAP-01688","next":"M16-GAP-01690"},"M16-GAP-01690":{"line":1689,"offset":292197,"length":169,"previous":"M16-GAP-01689","next":"M16-GAP-01691"},"M16-GAP-01691":{"line":1690,"offset":292366,"length":178,"previous":"M16-GAP-01690","next":"M16-GAP-01692"},"M16-GAP-01692":{"line":1691,"offset":292544,"length":172,"previous":"M16-GAP-01691","next":"M16-GAP-01693"},"M16-GAP-01693":{"line":1692,"offset":292716,"length":168,"previous":"M16-GAP-01692","next":"M16-GAP-01694"},"M16-GAP-01694":{"line":1693,"offset":292884,"length":168,"previous":"M16-GAP-01693","next":"M16-GAP-01695"},"M16-GAP-01695":{"line":1694,"offset":293052,"length":173,"previous":"M16-GAP-01694","next":"M16-GAP-01696"},"M16-GAP-01696":{"line":1695,"offset":293225,"length":174,"previous":"M16-GAP-01695","next":"M16-GAP-01697"},"M16-GAP-01697":{"line":1696,"offset":293399,"length":174,"previous":"M16-GAP-01696","next":"M16-GAP-01698"},"M16-GAP-01698":{"line":1697,"offset":293573,"length":171,"previous":"M16-GAP-01697","next":"M16-GAP-01699"},"M16-GAP-01699":{"line":1698,"offset":293744,"length":182,"previous":"M16-GAP-01698","next":"M16-GAP-01700"},"M16-GAP-01700":{"line":1699,"offset":293926,"length":185,"previous":"M16-GAP-01699","next":"M16-GAP-01701"},"M16-GAP-01701":{"line":1700,"offset":294111,"length":173,"previous":"M16-GAP-01700","next":"M16-GAP-01702"},"M16-GAP-01702":{"line":1701,"offset":294284,"length":172,"previous":"M16-GAP-01701","next":"M16-GAP-01703"},"M16-GAP-01703":{"line":1702,"offset":294456,"length":181,"previous":"M16-GAP-01702","next":"M16-GAP-01704"},"M16-GAP-01704":{"line":1703,"offset":294637,"length":187,"previous":"M16-GAP-01703","next":"M16-GAP-01705"},"M16-GAP-01705":{"line":1704,"offset":294824,"length":194,"previous":"M16-GAP-01704","next":"M16-GAP-01706"},"M16-GAP-01706":{"line":1705,"offset":295018,"length":173,"previous":"M16-GAP-01705","next":"M16-GAP-01707"},"M16-GAP-01707":{"line":1706,"offset":295191,"length":178,"previous":"M16-GAP-01706","next":"M16-GAP-01708"},"M16-GAP-01708":{"line":1707,"offset":295369,"length":176,"previous":"M16-GAP-01707","next":"M16-GAP-01709"},"M16-GAP-01709":{"line":1708,"offset":295545,"length":169,"previous":"M16-GAP-01708","next":"M16-GAP-01710"},"M16-GAP-01710":{"line":1709,"offset":295714,"length":174,"previous":"M16-GAP-01709","next":"M16-GAP-01711"},"M16-GAP-01711":{"line":1710,"offset":295888,"length":173,"previous":"M16-GAP-01710","next":"M16-GAP-01712"},"M16-GAP-01712":{"line":1711,"offset":296061,"length":172,"previous":"M16-GAP-01711","next":"M16-GAP-01713"},"M16-GAP-01713":{"line":1712,"offset":296233,"length":171,"previous":"M16-GAP-01712","next":"M16-GAP-01714"},"M16-GAP-01714":{"line":1713,"offset":296404,"length":170,"previous":"M16-GAP-01713","next":"M16-GAP-01715"},"M16-GAP-01715":{"line":1714,"offset":296574,"length":175,"previous":"M16-GAP-01714","next":"M16-GAP-01716"},"M16-GAP-01716":{"line":1715,"offset":296749,"length":171,"previous":"M16-GAP-01715","next":"M16-GAP-01717"},"M16-GAP-01717":{"line":1716,"offset":296920,"length":170,"previous":"M16-GAP-01716","next":"M16-GAP-01718"},"M16-GAP-01718":{"line":1717,"offset":297090,"length":170,"previous":"M16-GAP-01717","next":"M16-GAP-01719"},"M16-GAP-01719":{"line":1718,"offset":297260,"length":171,"previous":"M16-GAP-01718","next":"M16-GAP-01720"},"M16-GAP-01720":{"line":1719,"offset":297431,"length":171,"previous":"M16-GAP-01719","next":"M16-GAP-01721"},"M16-GAP-01721":{"line":1720,"offset":297602,"length":174,"previous":"M16-GAP-01720","next":"M16-GAP-01722"},"M16-GAP-01722":{"line":1721,"offset":297776,"length":174,"previous":"M16-GAP-01721","next":"M16-GAP-01723"},"M16-GAP-01723":{"line":1722,"offset":297950,"length":172,"previous":"M16-GAP-01722","next":"M16-GAP-01724"},"M16-GAP-01724":{"line":1723,"offset":298122,"length":170,"previous":"M16-GAP-01723","next":"M16-GAP-01725"},"M16-GAP-01725":{"line":1724,"offset":298292,"length":171,"previous":"M16-GAP-01724","next":"M16-GAP-01726"},"M16-GAP-01726":{"line":1725,"offset":298463,"length":179,"previous":"M16-GAP-01725","next":"M16-GAP-01727"},"M16-GAP-01727":{"line":1726,"offset":298642,"length":174,"previous":"M16-GAP-01726","next":"M16-GAP-01728"},"M16-GAP-01728":{"line":1727,"offset":298816,"length":172,"previous":"M16-GAP-01727","next":"M16-GAP-01729"},"M16-GAP-01729":{"line":1728,"offset":298988,"length":173,"previous":"M16-GAP-01728","next":"M16-GAP-01730"},"M16-GAP-01730":{"line":1729,"offset":299161,"length":173,"previous":"M16-GAP-01729","next":"M16-GAP-01731"},"M16-GAP-01731":{"line":1730,"offset":299334,"length":175,"previous":"M16-GAP-01730","next":"M16-GAP-01732"},"M16-GAP-01732":{"line":1731,"offset":299509,"length":180,"previous":"M16-GAP-01731","next":"M16-GAP-01733"},"M16-GAP-01733":{"line":1732,"offset":299689,"length":173,"previous":"M16-GAP-01732","next":"M16-GAP-01734"},"M16-GAP-01734":{"line":1733,"offset":299862,"length":173,"previous":"M16-GAP-01733","next":"M16-GAP-01735"},"M16-GAP-01735":{"line":1734,"offset":300035,"length":173,"previous":"M16-GAP-01734","next":"M16-GAP-01736"},"M16-GAP-01736":{"line":1735,"offset":300208,"length":167,"previous":"M16-GAP-01735","next":"M16-GAP-01737"},"M16-GAP-01737":{"line":1736,"offset":300375,"length":166,"previous":"M16-GAP-01736","next":"M16-GAP-01738"},"M16-GAP-01738":{"line":1737,"offset":300541,"length":170,"previous":"M16-GAP-01737","next":"M16-GAP-01739"},"M16-GAP-01739":{"line":1738,"offset":300711,"length":180,"previous":"M16-GAP-01738","next":"M16-GAP-01740"},"M16-GAP-01740":{"line":1739,"offset":300891,"length":179,"previous":"M16-GAP-01739","next":"M16-GAP-01741"},"M16-GAP-01741":{"line":1740,"offset":301070,"length":173,"previous":"M16-GAP-01740","next":"M16-GAP-01742"},"M16-GAP-01742":{"line":1741,"offset":301243,"length":183,"previous":"M16-GAP-01741","next":"M16-GAP-01743"},"M16-GAP-01743":{"line":1742,"offset":301426,"length":172,"previous":"M16-GAP-01742","next":"M16-GAP-01744"},"M16-GAP-01744":{"line":1743,"offset":301598,"length":168,"previous":"M16-GAP-01743","next":"M16-GAP-01745"},"M16-GAP-01745":{"line":1744,"offset":301766,"length":173,"previous":"M16-GAP-01744","next":"M16-GAP-01746"},"M16-GAP-01746":{"line":1745,"offset":301939,"length":172,"previous":"M16-GAP-01745","next":"M16-GAP-01747"},"M16-GAP-01747":{"line":1746,"offset":302111,"length":175,"previous":"M16-GAP-01746","next":"M16-GAP-01748"},"M16-GAP-01748":{"line":1747,"offset":302286,"length":174,"previous":"M16-GAP-01747","next":"M16-GAP-01749"},"M16-GAP-01749":{"line":1748,"offset":302460,"length":178,"previous":"M16-GAP-01748","next":"M16-GAP-01750"},"M16-GAP-01750":{"line":1749,"offset":302638,"length":170,"previous":"M16-GAP-01749","next":"M16-GAP-01751"},"M16-GAP-01751":{"line":1750,"offset":302808,"length":169,"previous":"M16-GAP-01750","next":"M16-GAP-01752"},"M16-GAP-01752":{"line":1751,"offset":302977,"length":177,"previous":"M16-GAP-01751","next":"M16-GAP-01753"},"M16-GAP-01753":{"line":1752,"offset":303154,"length":172,"previous":"M16-GAP-01752","next":"M16-GAP-01754"},"M16-GAP-01754":{"line":1753,"offset":303326,"length":173,"previous":"M16-GAP-01753","next":"M16-GAP-01755"},"M16-GAP-01755":{"line":1754,"offset":303499,"length":173,"previous":"M16-GAP-01754","next":"M16-GAP-01756"},"M16-GAP-01756":{"line":1755,"offset":303672,"length":175,"previous":"M16-GAP-01755","next":"M16-GAP-01757"},"M16-GAP-01757":{"line":1756,"offset":303847,"length":180,"previous":"M16-GAP-01756","next":"M16-GAP-01758"},"M16-GAP-01758":{"line":1757,"offset":304027,"length":173,"previous":"M16-GAP-01757","next":"M16-GAP-01759"},"M16-GAP-01759":{"line":1758,"offset":304200,"length":173,"previous":"M16-GAP-01758","next":"M16-GAP-01760"},"M16-GAP-01760":{"line":1759,"offset":304373,"length":178,"previous":"M16-GAP-01759","next":"M16-GAP-01761"},"M16-GAP-01761":{"line":1760,"offset":304551,"length":189,"previous":"M16-GAP-01760","next":"M16-GAP-01762"},"M16-GAP-01762":{"line":1761,"offset":304740,"length":174,"previous":"M16-GAP-01761","next":"M16-GAP-01763"},"M16-GAP-01763":{"line":1762,"offset":304914,"length":181,"previous":"M16-GAP-01762","next":"M16-GAP-01764"},"M16-GAP-01764":{"line":1763,"offset":305095,"length":173,"previous":"M16-GAP-01763","next":"M16-GAP-01765"},"M16-GAP-01765":{"line":1764,"offset":305268,"length":176,"previous":"M16-GAP-01764","next":"M16-GAP-01766"},"M16-GAP-01766":{"line":1765,"offset":305444,"length":176,"previous":"M16-GAP-01765","next":"M16-GAP-01767"},"M16-GAP-01767":{"line":1766,"offset":305620,"length":173,"previous":"M16-GAP-01766","next":"M16-GAP-01768"},"M16-GAP-01768":{"line":1767,"offset":305793,"length":176,"previous":"M16-GAP-01767","next":"M16-GAP-01769"},"M16-GAP-01769":{"line":1768,"offset":305969,"length":169,"previous":"M16-GAP-01768","next":"M16-GAP-01770"},"M16-GAP-01770":{"line":1769,"offset":306138,"length":176,"previous":"M16-GAP-01769","next":"M16-GAP-01771"},"M16-GAP-01771":{"line":1770,"offset":306314,"length":174,"previous":"M16-GAP-01770","next":"M16-GAP-01772"},"M16-GAP-01772":{"line":1771,"offset":306488,"length":174,"previous":"M16-GAP-01771","next":"M16-GAP-01773"},"M16-GAP-01773":{"line":1772,"offset":306662,"length":174,"previous":"M16-GAP-01772","next":"M16-GAP-01774"},"M16-GAP-01774":{"line":1773,"offset":306836,"length":172,"previous":"M16-GAP-01773","next":"M16-GAP-01775"},"M16-GAP-01775":{"line":1774,"offset":307008,"length":169,"previous":"M16-GAP-01774","next":"M16-GAP-01776"},"M16-GAP-01776":{"line":1775,"offset":307177,"length":176,"previous":"M16-GAP-01775","next":"M16-GAP-01777"},"M16-GAP-01777":{"line":1776,"offset":307353,"length":170,"previous":"M16-GAP-01776","next":"M16-GAP-01778"},"M16-GAP-01778":{"line":1777,"offset":307523,"length":176,"previous":"M16-GAP-01777","next":"M16-GAP-01779"},"M16-GAP-01779":{"line":1778,"offset":307699,"length":167,"previous":"M16-GAP-01778","next":"M16-GAP-01780"},"M16-GAP-01780":{"line":1779,"offset":307866,"length":171,"previous":"M16-GAP-01779","next":"M16-GAP-01781"},"M16-GAP-01781":{"line":1780,"offset":308037,"length":177,"previous":"M16-GAP-01780","next":"M16-GAP-01782"},"M16-GAP-01782":{"line":1781,"offset":308214,"length":168,"previous":"M16-GAP-01781","next":"M16-GAP-01783"},"M16-GAP-01783":{"line":1782,"offset":308382,"length":174,"previous":"M16-GAP-01782","next":"M16-GAP-01784"},"M16-GAP-01784":{"line":1783,"offset":308556,"length":166,"previous":"M16-GAP-01783","next":"M16-GAP-01785"},"M16-GAP-01785":{"line":1784,"offset":308722,"length":165,"previous":"M16-GAP-01784","next":"M16-GAP-01786"},"M16-GAP-01786":{"line":1785,"offset":308887,"length":168,"previous":"M16-GAP-01785","next":"M16-GAP-01787"},"M16-GAP-01787":{"line":1786,"offset":309055,"length":167,"previous":"M16-GAP-01786","next":"M16-GAP-01788"},"M16-GAP-01788":{"line":1787,"offset":309222,"length":168,"previous":"M16-GAP-01787","next":"M16-GAP-01789"},"M16-GAP-01789":{"line":1788,"offset":309390,"length":171,"previous":"M16-GAP-01788","next":"M16-GAP-01790"},"M16-GAP-01790":{"line":1789,"offset":309561,"length":169,"previous":"M16-GAP-01789","next":"M16-GAP-01791"},"M16-GAP-01791":{"line":1790,"offset":309730,"length":177,"previous":"M16-GAP-01790","next":"M16-GAP-01792"},"M16-GAP-01792":{"line":1791,"offset":309907,"length":163,"previous":"M16-GAP-01791","next":"M16-GAP-01793"},"M16-GAP-01793":{"line":1792,"offset":310070,"length":162,"previous":"M16-GAP-01792","next":"M16-GAP-01794"},"M16-GAP-01794":{"line":1793,"offset":310232,"length":163,"previous":"M16-GAP-01793","next":"M16-GAP-01795"},"M16-GAP-01795":{"line":1794,"offset":310395,"length":170,"previous":"M16-GAP-01794","next":"M16-GAP-01796"},"M16-GAP-01796":{"line":1795,"offset":310565,"length":172,"previous":"M16-GAP-01795","next":"M16-GAP-01797"},"M16-GAP-01797":{"line":1796,"offset":310737,"length":181,"previous":"M16-GAP-01796","next":"M16-GAP-01798"},"M16-GAP-01798":{"line":1797,"offset":310918,"length":166,"previous":"M16-GAP-01797","next":"M16-GAP-01799"},"M16-GAP-01799":{"line":1798,"offset":311084,"length":175,"previous":"M16-GAP-01798","next":"M16-GAP-01800"},"M16-GAP-01800":{"line":1799,"offset":311259,"length":185,"previous":"M16-GAP-01799","next":"M16-GAP-01801"},"M16-GAP-01801":{"line":1800,"offset":311444,"length":172,"previous":"M16-GAP-01800","next":"M16-GAP-01802"},"M16-GAP-01802":{"line":1801,"offset":311616,"length":177,"previous":"M16-GAP-01801","next":"M16-GAP-01803"},"M16-GAP-01803":{"line":1802,"offset":311793,"length":175,"previous":"M16-GAP-01802","next":"M16-GAP-01804"},"M16-GAP-01804":{"line":1803,"offset":311968,"length":175,"previous":"M16-GAP-01803","next":"M16-GAP-01805"},"M16-GAP-01805":{"line":1804,"offset":312143,"length":174,"previous":"M16-GAP-01804","next":"M16-GAP-01806"},"M16-GAP-01806":{"line":1805,"offset":312317,"length":172,"previous":"M16-GAP-01805","next":"M16-GAP-01807"},"M16-GAP-01807":{"line":1806,"offset":312489,"length":184,"previous":"M16-GAP-01806","next":"M16-GAP-01808"},"M16-GAP-01808":{"line":1807,"offset":312673,"length":164,"previous":"M16-GAP-01807","next":"M16-GAP-01809"},"M16-GAP-01809":{"line":1808,"offset":312837,"length":166,"previous":"M16-GAP-01808","next":"M16-GAP-01810"},"M16-GAP-01810":{"line":1809,"offset":313003,"length":163,"previous":"M16-GAP-01809","next":"M16-GAP-01811"},"M16-GAP-01811":{"line":1810,"offset":313166,"length":170,"previous":"M16-GAP-01810","next":"M16-GAP-01812"},"M16-GAP-01812":{"line":1811,"offset":313336,"length":180,"previous":"M16-GAP-01811","next":"M16-GAP-01813"},"M16-GAP-01813":{"line":1812,"offset":313516,"length":186,"previous":"M16-GAP-01812","next":"M16-GAP-01814"},"M16-GAP-01814":{"line":1813,"offset":313702,"length":165,"previous":"M16-GAP-01813","next":"M16-GAP-01815"},"M16-GAP-01815":{"line":1814,"offset":313867,"length":174,"previous":"M16-GAP-01814","next":"M16-GAP-01816"},"M16-GAP-01816":{"line":1815,"offset":314041,"length":166,"previous":"M16-GAP-01815","next":"M16-GAP-01817"},"M16-GAP-01817":{"line":1816,"offset":314207,"length":170,"previous":"M16-GAP-01816","next":"M16-GAP-01818"},"M16-GAP-01818":{"line":1817,"offset":314377,"length":171,"previous":"M16-GAP-01817","next":"M16-GAP-01819"},"M16-GAP-01819":{"line":1818,"offset":314548,"length":173,"previous":"M16-GAP-01818","next":"M16-GAP-01820"},"M16-GAP-01820":{"line":1819,"offset":314721,"length":178,"previous":"M16-GAP-01819","next":"M16-GAP-01821"},"M16-GAP-01821":{"line":1820,"offset":314899,"length":171,"previous":"M16-GAP-01820","next":"M16-GAP-01822"},"M16-GAP-01822":{"line":1821,"offset":315070,"length":173,"previous":"M16-GAP-01821","next":"M16-GAP-01823"},"M16-GAP-01823":{"line":1822,"offset":315243,"length":172,"previous":"M16-GAP-01822","next":"M16-GAP-01824"},"M16-GAP-01824":{"line":1823,"offset":315415,"length":171,"previous":"M16-GAP-01823","next":"M16-GAP-01825"},"M16-GAP-01825":{"line":1824,"offset":315586,"length":169,"previous":"M16-GAP-01824","next":"M16-GAP-01826"},"M16-GAP-01826":{"line":1825,"offset":315755,"length":169,"previous":"M16-GAP-01825","next":"M16-GAP-01827"},"M16-GAP-01827":{"line":1826,"offset":315924,"length":176,"previous":"M16-GAP-01826","next":"M16-GAP-01828"},"M16-GAP-01828":{"line":1827,"offset":316100,"length":174,"previous":"M16-GAP-01827","next":"M16-GAP-01829"},"M16-GAP-01829":{"line":1828,"offset":316274,"length":173,"previous":"M16-GAP-01828","next":"M16-GAP-01830"},"M16-GAP-01830":{"line":1829,"offset":316447,"length":172,"previous":"M16-GAP-01829","next":"M16-GAP-01831"},"M16-GAP-01831":{"line":1830,"offset":316619,"length":170,"previous":"M16-GAP-01830","next":"M16-GAP-01832"},"M16-GAP-01832":{"line":1831,"offset":316789,"length":175,"previous":"M16-GAP-01831","next":"M16-GAP-01833"},"M16-GAP-01833":{"line":1832,"offset":316964,"length":168,"previous":"M16-GAP-01832","next":"M16-GAP-01834"},"M16-GAP-01834":{"line":1833,"offset":317132,"length":171,"previous":"M16-GAP-01833","next":"M16-GAP-01835"},"M16-GAP-01835":{"line":1834,"offset":317303,"length":176,"previous":"M16-GAP-01834","next":"M16-GAP-01836"},"M16-GAP-01836":{"line":1835,"offset":317479,"length":172,"previous":"M16-GAP-01835","next":"M16-GAP-01837"},"M16-GAP-01837":{"line":1836,"offset":317651,"length":175,"previous":"M16-GAP-01836","next":"M16-GAP-01838"},"M16-GAP-01838":{"line":1837,"offset":317826,"length":170,"previous":"M16-GAP-01837","next":"M16-GAP-01839"},"M16-GAP-01839":{"line":1838,"offset":317996,"length":170,"previous":"M16-GAP-01838","next":"M16-GAP-01840"},"M16-GAP-01840":{"line":1839,"offset":318166,"length":170,"previous":"M16-GAP-01839","next":"M16-GAP-01841"},"M16-GAP-01841":{"line":1840,"offset":318336,"length":173,"previous":"M16-GAP-01840","next":"M16-GAP-01842"},"M16-GAP-01842":{"line":1841,"offset":318509,"length":171,"previous":"M16-GAP-01841","next":"M16-GAP-01843"},"M16-GAP-01843":{"line":1842,"offset":318680,"length":165,"previous":"M16-GAP-01842","next":"M16-GAP-01844"},"M16-GAP-01844":{"line":1843,"offset":318845,"length":170,"previous":"M16-GAP-01843","next":"M16-GAP-01845"},"M16-GAP-01845":{"line":1844,"offset":319015,"length":183,"previous":"M16-GAP-01844","next":"M16-GAP-01846"},"M16-GAP-01846":{"line":1845,"offset":319198,"length":173,"previous":"M16-GAP-01845","next":"M16-GAP-01847"},"M16-GAP-01847":{"line":1846,"offset":319371,"length":172,"previous":"M16-GAP-01846","next":"M16-GAP-01848"},"M16-GAP-01848":{"line":1847,"offset":319543,"length":160,"previous":"M16-GAP-01847","next":"M16-GAP-01849"},"M16-GAP-01849":{"line":1848,"offset":319703,"length":166,"previous":"M16-GAP-01848","next":"M16-GAP-01850"},"M16-GAP-01850":{"line":1849,"offset":319869,"length":160,"previous":"M16-GAP-01849","next":"M16-GAP-01851"},"M16-GAP-01851":{"line":1850,"offset":320029,"length":162,"previous":"M16-GAP-01850","next":"M16-GAP-01852"},"M16-GAP-01852":{"line":1851,"offset":320191,"length":164,"previous":"M16-GAP-01851","next":"M16-GAP-01853"},"M16-GAP-01853":{"line":1852,"offset":320355,"length":165,"previous":"M16-GAP-01852","next":"M16-GAP-01854"},"M16-GAP-01854":{"line":1853,"offset":320520,"length":161,"previous":"M16-GAP-01853","next":"M16-GAP-01855"},"M16-GAP-01855":{"line":1854,"offset":320681,"length":171,"previous":"M16-GAP-01854","next":"M16-GAP-01856"},"M16-GAP-01856":{"line":1855,"offset":320852,"length":167,"previous":"M16-GAP-01855","next":"M16-GAP-01857"},"M16-GAP-01857":{"line":1856,"offset":321019,"length":174,"previous":"M16-GAP-01856","next":"M16-GAP-01858"},"M16-GAP-01858":{"line":1857,"offset":321193,"length":168,"previous":"M16-GAP-01857","next":"M16-GAP-01859"},"M16-GAP-01859":{"line":1858,"offset":321361,"length":165,"previous":"M16-GAP-01858","next":"M16-GAP-01860"},"M16-GAP-01860":{"line":1859,"offset":321526,"length":160,"previous":"M16-GAP-01859","next":"M16-GAP-01861"},"M16-GAP-01861":{"line":1860,"offset":321686,"length":172,"previous":"M16-GAP-01860","next":"M16-GAP-01862"},"M16-GAP-01862":{"line":1861,"offset":321858,"length":161,"previous":"M16-GAP-01861","next":"M16-GAP-01863"},"M16-GAP-01863":{"line":1862,"offset":322019,"length":162,"previous":"M16-GAP-01862","next":"M16-GAP-01864"},"M16-GAP-01864":{"line":1863,"offset":322181,"length":165,"previous":"M16-GAP-01863","next":"M16-GAP-01865"},"M16-GAP-01865":{"line":1864,"offset":322346,"length":173,"previous":"M16-GAP-01864","next":"M16-GAP-01866"},"M16-GAP-01866":{"line":1865,"offset":322519,"length":167,"previous":"M16-GAP-01865","next":"M16-GAP-01867"},"M16-GAP-01867":{"line":1866,"offset":322686,"length":166,"previous":"M16-GAP-01866","next":"M16-GAP-01868"},"M16-GAP-01868":{"line":1867,"offset":322852,"length":180,"previous":"M16-GAP-01867","next":"M16-GAP-01869"},"M16-GAP-01869":{"line":1868,"offset":323032,"length":170,"previous":"M16-GAP-01868","next":"M16-GAP-01870"},"M16-GAP-01870":{"line":1869,"offset":323202,"length":172,"previous":"M16-GAP-01869","next":"M16-GAP-01871"},"M16-GAP-01871":{"line":1870,"offset":323374,"length":169,"previous":"M16-GAP-01870","next":"M16-GAP-01872"},"M16-GAP-01872":{"line":1871,"offset":323543,"length":174,"previous":"M16-GAP-01871","next":"M16-GAP-01873"},"M16-GAP-01873":{"line":1872,"offset":323717,"length":169,"previous":"M16-GAP-01872","next":"M16-GAP-01874"},"M16-GAP-01874":{"line":1873,"offset":323886,"length":169,"previous":"M16-GAP-01873","next":"M16-GAP-01875"},"M16-GAP-01875":{"line":1874,"offset":324055,"length":173,"previous":"M16-GAP-01874","next":"M16-GAP-01876"},"M16-GAP-01876":{"line":1875,"offset":324228,"length":184,"previous":"M16-GAP-01875","next":"M16-GAP-01877"},"M16-GAP-01877":{"line":1876,"offset":324412,"length":176,"previous":"M16-GAP-01876","next":"M16-GAP-01878"},"M16-GAP-01878":{"line":1877,"offset":324588,"length":174,"previous":"M16-GAP-01877","next":"M16-GAP-01879"},"M16-GAP-01879":{"line":1878,"offset":324762,"length":180,"previous":"M16-GAP-01878","next":"M16-GAP-01880"},"M16-GAP-01880":{"line":1879,"offset":324942,"length":178,"previous":"M16-GAP-01879","next":"M16-GAP-01881"},"M16-GAP-01881":{"line":1880,"offset":325120,"length":174,"previous":"M16-GAP-01880","next":"M16-GAP-01882"},"M16-GAP-01882":{"line":1881,"offset":325294,"length":175,"previous":"M16-GAP-01881","next":"M16-GAP-01883"},"M16-GAP-01883":{"line":1882,"offset":325469,"length":176,"previous":"M16-GAP-01882","next":"M16-GAP-01884"},"M16-GAP-01884":{"line":1883,"offset":325645,"length":182,"previous":"M16-GAP-01883","next":"M16-GAP-01885"},"M16-GAP-01885":{"line":1884,"offset":325827,"length":176,"previous":"M16-GAP-01884","next":"M16-GAP-01886"},"M16-GAP-01886":{"line":1885,"offset":326003,"length":178,"previous":"M16-GAP-01885","next":"M16-GAP-01887"},"M16-GAP-01887":{"line":1886,"offset":326181,"length":172,"previous":"M16-GAP-01886","next":"M16-GAP-01888"},"M16-GAP-01888":{"line":1887,"offset":326353,"length":177,"previous":"M16-GAP-01887","next":"M16-GAP-01889"},"M16-GAP-01889":{"line":1888,"offset":326530,"length":178,"previous":"M16-GAP-01888","next":"M16-GAP-01890"},"M16-GAP-01890":{"line":1889,"offset":326708,"length":175,"previous":"M16-GAP-01889","next":"M16-GAP-01891"},"M16-GAP-01891":{"line":1890,"offset":326883,"length":171,"previous":"M16-GAP-01890","next":"M16-GAP-01892"},"M16-GAP-01892":{"line":1891,"offset":327054,"length":171,"previous":"M16-GAP-01891","next":"M16-GAP-01893"},"M16-GAP-01893":{"line":1892,"offset":327225,"length":175,"previous":"M16-GAP-01892","next":"M16-GAP-01894"},"M16-GAP-01894":{"line":1893,"offset":327400,"length":172,"previous":"M16-GAP-01893","next":"M16-GAP-01895"},"M16-GAP-01895":{"line":1894,"offset":327572,"length":176,"previous":"M16-GAP-01894","next":"M16-GAP-01896"},"M16-GAP-01896":{"line":1895,"offset":327748,"length":170,"previous":"M16-GAP-01895","next":"M16-GAP-01897"},"M16-GAP-01897":{"line":1896,"offset":327918,"length":182,"previous":"M16-GAP-01896","next":"M16-GAP-01898"},"M16-GAP-01898":{"line":1897,"offset":328100,"length":182,"previous":"M16-GAP-01897","next":"M16-GAP-01899"},"M16-GAP-01899":{"line":1898,"offset":328282,"length":176,"previous":"M16-GAP-01898","next":"M16-GAP-01900"},"M16-GAP-01900":{"line":1899,"offset":328458,"length":175,"previous":"M16-GAP-01899","next":"M16-GAP-01901"},"M16-GAP-01901":{"line":1900,"offset":328633,"length":175,"previous":"M16-GAP-01900","next":"M16-GAP-01902"},"M16-GAP-01902":{"line":1901,"offset":328808,"length":176,"previous":"M16-GAP-01901","next":"M16-GAP-01903"},"M16-GAP-01903":{"line":1902,"offset":328984,"length":176,"previous":"M16-GAP-01902","next":"M16-GAP-01904"},"M16-GAP-01904":{"line":1903,"offset":329160,"length":175,"previous":"M16-GAP-01903","next":"M16-GAP-01905"},"M16-GAP-01905":{"line":1904,"offset":329335,"length":173,"previous":"M16-GAP-01904","next":"M16-GAP-01906"},"M16-GAP-01906":{"line":1905,"offset":329508,"length":183,"previous":"M16-GAP-01905","next":"M16-GAP-01907"},"M16-GAP-01907":{"line":1906,"offset":329691,"length":180,"previous":"M16-GAP-01906","next":"M16-GAP-01908"},"M16-GAP-01908":{"line":1907,"offset":329871,"length":183,"previous":"M16-GAP-01907","next":"M16-GAP-01909"},"M16-GAP-01909":{"line":1908,"offset":330054,"length":178,"previous":"M16-GAP-01908","next":"M16-GAP-01910"},"M16-GAP-01910":{"line":1909,"offset":330232,"length":180,"previous":"M16-GAP-01909","next":"M16-GAP-01911"},"M16-GAP-01911":{"line":1910,"offset":330412,"length":183,"previous":"M16-GAP-01910","next":"M16-GAP-01912"},"M16-GAP-01912":{"line":1911,"offset":330595,"length":175,"previous":"M16-GAP-01911","next":"M16-GAP-01913"},"M16-GAP-01913":{"line":1912,"offset":330770,"length":172,"previous":"M16-GAP-01912","next":"M16-GAP-01914"},"M16-GAP-01914":{"line":1913,"offset":330942,"length":181,"previous":"M16-GAP-01913","next":"M16-GAP-01915"},"M16-GAP-01915":{"line":1914,"offset":331123,"length":184,"previous":"M16-GAP-01914","next":"M16-GAP-01916"},"M16-GAP-01916":{"line":1915,"offset":331307,"length":181,"previous":"M16-GAP-01915","next":"M16-GAP-01917"},"M16-GAP-01917":{"line":1916,"offset":331488,"length":181,"previous":"M16-GAP-01916","next":"M16-GAP-01918"},"M16-GAP-01918":{"line":1917,"offset":331669,"length":179,"previous":"M16-GAP-01917","next":"M16-GAP-01919"},"M16-GAP-01919":{"line":1918,"offset":331848,"length":179,"previous":"M16-GAP-01918","next":"M16-GAP-01920"},"M16-GAP-01920":{"line":1919,"offset":332027,"length":179,"previous":"M16-GAP-01919","next":"M16-GAP-01921"},"M16-GAP-01921":{"line":1920,"offset":332206,"length":177,"previous":"M16-GAP-01920","next":"M16-GAP-01922"},"M16-GAP-01922":{"line":1921,"offset":332383,"length":174,"previous":"M16-GAP-01921","next":"M16-GAP-01923"},"M16-GAP-01923":{"line":1922,"offset":332557,"length":177,"previous":"M16-GAP-01922","next":"M16-GAP-01924"},"M16-GAP-01924":{"line":1923,"offset":332734,"length":178,"previous":"M16-GAP-01923","next":"M16-GAP-01925"},"M16-GAP-01925":{"line":1924,"offset":332912,"length":177,"previous":"M16-GAP-01924","next":"M16-GAP-01926"},"M16-GAP-01926":{"line":1925,"offset":333089,"length":182,"previous":"M16-GAP-01925","next":"M16-GAP-01927"},"M16-GAP-01927":{"line":1926,"offset":333271,"length":183,"previous":"M16-GAP-01926","next":"M16-GAP-01928"},"M16-GAP-01928":{"line":1927,"offset":333454,"length":186,"previous":"M16-GAP-01927","next":"M16-GAP-01929"},"M16-GAP-01929":{"line":1928,"offset":333640,"length":175,"previous":"M16-GAP-01928","next":"M16-GAP-01930"},"M16-GAP-01930":{"line":1929,"offset":333815,"length":188,"previous":"M16-GAP-01929","next":"M16-GAP-01931"},"M16-GAP-01931":{"line":1930,"offset":334003,"length":182,"previous":"M16-GAP-01930","next":"M16-GAP-01932"},"M16-GAP-01932":{"line":1931,"offset":334185,"length":178,"previous":"M16-GAP-01931","next":"M16-GAP-01933"},"M16-GAP-01933":{"line":1932,"offset":334363,"length":184,"previous":"M16-GAP-01932","next":"M16-GAP-01934"},"M16-GAP-01934":{"line":1933,"offset":334547,"length":176,"previous":"M16-GAP-01933","next":"M16-GAP-01935"},"M16-GAP-01935":{"line":1934,"offset":334723,"length":180,"previous":"M16-GAP-01934","next":"M16-GAP-01936"},"M16-GAP-01936":{"line":1935,"offset":334903,"length":162,"previous":"M16-GAP-01935","next":"M16-GAP-01937"},"M16-GAP-01937":{"line":1936,"offset":335065,"length":163,"previous":"M16-GAP-01936","next":"M16-GAP-01938"},"M16-GAP-01938":{"line":1937,"offset":335228,"length":167,"previous":"M16-GAP-01937","next":"M16-GAP-01939"},"M16-GAP-01939":{"line":1938,"offset":335395,"length":174,"previous":"M16-GAP-01938","next":"M16-GAP-01940"},"M16-GAP-01940":{"line":1939,"offset":335569,"length":168,"previous":"M16-GAP-01939","next":"M16-GAP-01941"},"M16-GAP-01941":{"line":1940,"offset":335737,"length":172,"previous":"M16-GAP-01940","next":"M16-GAP-01942"},"M16-GAP-01942":{"line":1941,"offset":335909,"length":165,"previous":"M16-GAP-01941","next":"M16-GAP-01943"},"M16-GAP-01943":{"line":1942,"offset":336074,"length":177,"previous":"M16-GAP-01942","next":"M16-GAP-01944"},"M16-GAP-01944":{"line":1943,"offset":336251,"length":199,"previous":"M16-GAP-01943","next":"M16-GAP-01945"},"M16-GAP-01945":{"line":1944,"offset":336450,"length":186,"previous":"M16-GAP-01944","next":"M16-GAP-01946"},"M16-GAP-01946":{"line":1945,"offset":336636,"length":187,"previous":"M16-GAP-01945","next":"M16-GAP-01947"},"M16-GAP-01947":{"line":1946,"offset":336823,"length":184,"previous":"M16-GAP-01946","next":"M16-GAP-01948"},"M16-GAP-01948":{"line":1947,"offset":337007,"length":193,"previous":"M16-GAP-01947","next":"M16-GAP-01949"},"M16-GAP-01949":{"line":1948,"offset":337200,"length":185,"previous":"M16-GAP-01948","next":"M16-GAP-01950"},"M16-GAP-01950":{"line":1949,"offset":337385,"length":180,"previous":"M16-GAP-01949","next":"M16-GAP-01951"},"M16-GAP-01951":{"line":1950,"offset":337565,"length":164,"previous":"M16-GAP-01950","next":"M16-GAP-01952"},"M16-GAP-01952":{"line":1951,"offset":337729,"length":176,"previous":"M16-GAP-01951","next":"M16-GAP-01953"},"M16-GAP-01953":{"line":1952,"offset":337905,"length":168,"previous":"M16-GAP-01952","next":"M16-GAP-01954"},"M16-GAP-01954":{"line":1953,"offset":338073,"length":164,"previous":"M16-GAP-01953","next":"M16-GAP-01955"},"M16-GAP-01955":{"line":1954,"offset":338237,"length":178,"previous":"M16-GAP-01954","next":"M16-GAP-01956"},"M16-GAP-01956":{"line":1955,"offset":338415,"length":173,"previous":"M16-GAP-01955","next":"M16-GAP-01957"},"M16-GAP-01957":{"line":1956,"offset":338588,"length":169,"previous":"M16-GAP-01956","next":"M16-GAP-01958"},"M16-GAP-01958":{"line":1957,"offset":338757,"length":167,"previous":"M16-GAP-01957","next":"M16-GAP-01959"},"M16-GAP-01959":{"line":1958,"offset":338924,"length":178,"previous":"M16-GAP-01958","next":"M16-GAP-01960"},"M16-GAP-01960":{"line":1959,"offset":339102,"length":168,"previous":"M16-GAP-01959","next":"M16-GAP-01961"},"M16-GAP-01961":{"line":1960,"offset":339270,"length":175,"previous":"M16-GAP-01960","next":"M16-GAP-01962"},"M16-GAP-01962":{"line":1961,"offset":339445,"length":178,"previous":"M16-GAP-01961","next":"M16-GAP-01963"},"M16-GAP-01963":{"line":1962,"offset":339623,"length":175,"previous":"M16-GAP-01962","next":"M16-GAP-01964"},"M16-GAP-01964":{"line":1963,"offset":339798,"length":171,"previous":"M16-GAP-01963","next":"M16-GAP-01965"},"M16-GAP-01965":{"line":1964,"offset":339969,"length":174,"previous":"M16-GAP-01964","next":"M16-GAP-01966"},"M16-GAP-01966":{"line":1965,"offset":340143,"length":181,"previous":"M16-GAP-01965","next":"M16-GAP-01967"},"M16-GAP-01967":{"line":1966,"offset":340324,"length":172,"previous":"M16-GAP-01966","next":"M16-GAP-01968"},"M16-GAP-01968":{"line":1967,"offset":340496,"length":175,"previous":"M16-GAP-01967","next":"M16-GAP-01969"},"M16-GAP-01969":{"line":1968,"offset":340671,"length":173,"previous":"M16-GAP-01968","next":"M16-GAP-01970"},"M16-GAP-01970":{"line":1969,"offset":340844,"length":170,"previous":"M16-GAP-01969","next":"M16-GAP-01971"},"M16-GAP-01971":{"line":1970,"offset":341014,"length":173,"previous":"M16-GAP-01970","next":"M16-GAP-01972"},"M16-GAP-01972":{"line":1971,"offset":341187,"length":163,"previous":"M16-GAP-01971","next":"M16-GAP-01973"},"M16-GAP-01973":{"line":1972,"offset":341350,"length":173,"previous":"M16-GAP-01972","next":"M16-GAP-01974"},"M16-GAP-01974":{"line":1973,"offset":341523,"length":195,"previous":"M16-GAP-01973","next":"M16-GAP-01975"},"M16-GAP-01975":{"line":1974,"offset":341718,"length":195,"previous":"M16-GAP-01974","next":"M16-GAP-01976"},"M16-GAP-01976":{"line":1975,"offset":341913,"length":185,"previous":"M16-GAP-01975","next":"M16-GAP-01977"},"M16-GAP-01977":{"line":1976,"offset":342098,"length":185,"previous":"M16-GAP-01976","next":"M16-GAP-01978"},"M16-GAP-01978":{"line":1977,"offset":342283,"length":190,"previous":"M16-GAP-01977","next":"M16-GAP-01979"},"M16-GAP-01979":{"line":1978,"offset":342473,"length":188,"previous":"M16-GAP-01978","next":"M16-GAP-01980"},"M16-GAP-01980":{"line":1979,"offset":342661,"length":178,"previous":"M16-GAP-01979","next":"M16-GAP-01981"},"M16-GAP-01981":{"line":1980,"offset":342839,"length":179,"previous":"M16-GAP-01980","next":"M16-GAP-01982"},"M16-GAP-01982":{"line":1981,"offset":343018,"length":179,"previous":"M16-GAP-01981","next":"M16-GAP-01983"},"M16-GAP-01983":{"line":1982,"offset":343197,"length":180,"previous":"M16-GAP-01982","next":"M16-GAP-01984"},"M16-GAP-01984":{"line":1983,"offset":343377,"length":181,"previous":"M16-GAP-01983","next":"M16-GAP-01985"},"M16-GAP-01985":{"line":1984,"offset":343558,"length":180,"previous":"M16-GAP-01984","next":"M16-GAP-01986"},"M16-GAP-01986":{"line":1985,"offset":343738,"length":180,"previous":"M16-GAP-01985","next":"M16-GAP-01987"},"M16-GAP-01987":{"line":1986,"offset":343918,"length":180,"previous":"M16-GAP-01986","next":"M16-GAP-01988"},"M16-GAP-01988":{"line":1987,"offset":344098,"length":182,"previous":"M16-GAP-01987","next":"M16-GAP-01989"},"M16-GAP-01989":{"line":1988,"offset":344280,"length":177,"previous":"M16-GAP-01988","next":"M16-GAP-01990"},"M16-GAP-01990":{"line":1989,"offset":344457,"length":178,"previous":"M16-GAP-01989","next":"M16-GAP-01991"},"M16-GAP-01991":{"line":1990,"offset":344635,"length":178,"previous":"M16-GAP-01990","next":"M16-GAP-01992"},"M16-GAP-01992":{"line":1991,"offset":344813,"length":180,"previous":"M16-GAP-01991","next":"M16-GAP-01993"},"M16-GAP-01993":{"line":1992,"offset":344993,"length":189,"previous":"M16-GAP-01992","next":"M16-GAP-01994"},"M16-GAP-01994":{"line":1993,"offset":345182,"length":189,"previous":"M16-GAP-01993","next":"M16-GAP-01995"},"M16-GAP-01995":{"line":1994,"offset":345371,"length":184,"previous":"M16-GAP-01994","next":"M16-GAP-01996"},"M16-GAP-01996":{"line":1995,"offset":345555,"length":181,"previous":"M16-GAP-01995","next":"M16-GAP-01997"},"M16-GAP-01997":{"line":1996,"offset":345736,"length":184,"previous":"M16-GAP-01996","next":"M16-GAP-01998"},"M16-GAP-01998":{"line":1997,"offset":345920,"length":160,"previous":"M16-GAP-01997","next":"M16-GAP-01999"},"M16-GAP-01999":{"line":1998,"offset":346080,"length":170,"previous":"M16-GAP-01998","next":"M16-GAP-02000"},"M16-GAP-02000":{"line":1999,"offset":346250,"length":176,"previous":"M16-GAP-01999","next":"M16-GAP-02001"},"M16-GAP-02001":{"line":2000,"offset":346426,"length":172,"previous":"M16-GAP-02000","next":"M16-GAP-02002"},"M16-GAP-02002":{"line":2001,"offset":346598,"length":175,"previous":"M16-GAP-02001","next":"M16-GAP-02003"},"M16-GAP-02003":{"line":2002,"offset":346773,"length":171,"previous":"M16-GAP-02002","next":"M16-GAP-02004"},"M16-GAP-02004":{"line":2003,"offset":346944,"length":175,"previous":"M16-GAP-02003","next":"M16-GAP-02005"},"M16-GAP-02005":{"line":2004,"offset":347119,"length":182,"previous":"M16-GAP-02004","next":"M16-GAP-02006"},"M16-GAP-02006":{"line":2005,"offset":347301,"length":188,"previous":"M16-GAP-02005","next":"M16-GAP-02007"},"M16-GAP-02007":{"line":2006,"offset":347489,"length":174,"previous":"M16-GAP-02006","next":"M16-GAP-02008"},"M16-GAP-02008":{"line":2007,"offset":347663,"length":178,"previous":"M16-GAP-02007","next":"M16-GAP-02009"},"M16-GAP-02009":{"line":2008,"offset":347841,"length":185,"previous":"M16-GAP-02008","next":"M16-GAP-02010"},"M16-GAP-02010":{"line":2009,"offset":348026,"length":193,"previous":"M16-GAP-02009","next":"M16-GAP-02011"},"M16-GAP-02011":{"line":2010,"offset":348219,"length":168,"previous":"M16-GAP-02010","next":"M16-GAP-02012"},"M16-GAP-02012":{"line":2011,"offset":348387,"length":174,"previous":"M16-GAP-02011","next":"M16-GAP-02013"},"M16-GAP-02013":{"line":2012,"offset":348561,"length":173,"previous":"M16-GAP-02012","next":"M16-GAP-02014"},"M16-GAP-02014":{"line":2013,"offset":348734,"length":172,"previous":"M16-GAP-02013","next":"M16-GAP-02015"},"M16-GAP-02015":{"line":2014,"offset":348906,"length":172,"previous":"M16-GAP-02014","next":"M16-GAP-02016"},"M16-GAP-02016":{"line":2015,"offset":349078,"length":168,"previous":"M16-GAP-02015","next":"M16-GAP-02017"},"M16-GAP-02017":{"line":2016,"offset":349246,"length":168,"previous":"M16-GAP-02016","next":"M16-GAP-02018"},"M16-GAP-02018":{"line":2017,"offset":349414,"length":167,"previous":"M16-GAP-02017","next":"M16-GAP-02019"},"M16-GAP-02019":{"line":2018,"offset":349581,"length":167,"previous":"M16-GAP-02018","next":"M16-GAP-02020"},"M16-GAP-02020":{"line":2019,"offset":349748,"length":170,"previous":"M16-GAP-02019","next":"M16-GAP-02021"},"M16-GAP-02021":{"line":2020,"offset":349918,"length":168,"previous":"M16-GAP-02020","next":"M16-GAP-02022"},"M16-GAP-02022":{"line":2021,"offset":350086,"length":167,"previous":"M16-GAP-02021","next":"M16-GAP-02023"},"M16-GAP-02023":{"line":2022,"offset":350253,"length":174,"previous":"M16-GAP-02022","next":"M16-GAP-02024"},"M16-GAP-02024":{"line":2023,"offset":350427,"length":164,"previous":"M16-GAP-02023","next":"M16-GAP-02025"},"M16-GAP-02025":{"line":2024,"offset":350591,"length":177,"previous":"M16-GAP-02024","next":"M16-GAP-02026"},"M16-GAP-02026":{"line":2025,"offset":350768,"length":168,"previous":"M16-GAP-02025","next":"M16-GAP-02027"},"M16-GAP-02027":{"line":2026,"offset":350936,"length":168,"previous":"M16-GAP-02026","next":"M16-GAP-02028"},"M16-GAP-02028":{"line":2027,"offset":351104,"length":170,"previous":"M16-GAP-02027","next":"M16-GAP-02029"},"M16-GAP-02029":{"line":2028,"offset":351274,"length":177,"previous":"M16-GAP-02028","next":"M16-GAP-02030"},"M16-GAP-02030":{"line":2029,"offset":351451,"length":171,"previous":"M16-GAP-02029","next":"M16-GAP-02031"},"M16-GAP-02031":{"line":2030,"offset":351622,"length":171,"previous":"M16-GAP-02030","next":"M16-GAP-02032"},"M16-GAP-02032":{"line":2031,"offset":351793,"length":169,"previous":"M16-GAP-02031","next":"M16-GAP-02033"},"M16-GAP-02033":{"line":2032,"offset":351962,"length":161,"previous":"M16-GAP-02032","next":"M16-GAP-02034"},"M16-GAP-02034":{"line":2033,"offset":352123,"length":171,"previous":"M16-GAP-02033","next":"M16-GAP-02035"},"M16-GAP-02035":{"line":2034,"offset":352294,"length":167,"previous":"M16-GAP-02034","next":"M16-GAP-02036"},"M16-GAP-02036":{"line":2035,"offset":352461,"length":170,"previous":"M16-GAP-02035","next":"M16-GAP-02037"},"M16-GAP-02037":{"line":2036,"offset":352631,"length":177,"previous":"M16-GAP-02036","next":"M16-GAP-02038"},"M16-GAP-02038":{"line":2037,"offset":352808,"length":169,"previous":"M16-GAP-02037","next":"M16-GAP-02039"},"M16-GAP-02039":{"line":2038,"offset":352977,"length":173,"previous":"M16-GAP-02038","next":"M16-GAP-02040"},"M16-GAP-02040":{"line":2039,"offset":353150,"length":170,"previous":"M16-GAP-02039","next":"M16-GAP-02041"},"M16-GAP-02041":{"line":2040,"offset":353320,"length":171,"previous":"M16-GAP-02040","next":"M16-GAP-02042"},"M16-GAP-02042":{"line":2041,"offset":353491,"length":172,"previous":"M16-GAP-02041","next":"M16-GAP-02043"},"M16-GAP-02043":{"line":2042,"offset":353663,"length":169,"previous":"M16-GAP-02042","next":"M16-GAP-02044"},"M16-GAP-02044":{"line":2043,"offset":353832,"length":174,"previous":"M16-GAP-02043","next":"M16-GAP-02045"},"M16-GAP-02045":{"line":2044,"offset":354006,"length":168,"previous":"M16-GAP-02044","next":"M16-GAP-02046"},"M16-GAP-02046":{"line":2045,"offset":354174,"length":168,"previous":"M16-GAP-02045","next":"M16-GAP-02047"},"M16-GAP-02047":{"line":2046,"offset":354342,"length":173,"previous":"M16-GAP-02046","next":"M16-GAP-02048"},"M16-GAP-02048":{"line":2047,"offset":354515,"length":177,"previous":"M16-GAP-02047","next":"M16-GAP-02049"},"M16-GAP-02049":{"line":2048,"offset":354692,"length":181,"previous":"M16-GAP-02048","next":"M16-GAP-02050"},"M16-GAP-02050":{"line":2049,"offset":354873,"length":175,"previous":"M16-GAP-02049","next":"M16-GAP-02051"},"M16-GAP-02051":{"line":2050,"offset":355048,"length":167,"previous":"M16-GAP-02050","next":"M16-GAP-02052"},"M16-GAP-02052":{"line":2051,"offset":355215,"length":171,"previous":"M16-GAP-02051","next":"M16-GAP-02053"},"M16-GAP-02053":{"line":2052,"offset":355386,"length":173,"previous":"M16-GAP-02052","next":"M16-GAP-02054"},"M16-GAP-02054":{"line":2053,"offset":355559,"length":172,"previous":"M16-GAP-02053","next":"M16-GAP-02055"},"M16-GAP-02055":{"line":2054,"offset":355731,"length":173,"previous":"M16-GAP-02054","next":"M16-GAP-02056"},"M16-GAP-02056":{"line":2055,"offset":355904,"length":164,"previous":"M16-GAP-02055","next":"M16-GAP-02057"},"M16-GAP-02057":{"line":2056,"offset":356068,"length":170,"previous":"M16-GAP-02056","next":"M16-GAP-02058"},"M16-GAP-02058":{"line":2057,"offset":356238,"length":170,"previous":"M16-GAP-02057","next":"M16-GAP-02059"},"M16-GAP-02059":{"line":2058,"offset":356408,"length":170,"previous":"M16-GAP-02058","next":"M16-GAP-02060"},"M16-GAP-02060":{"line":2059,"offset":356578,"length":175,"previous":"M16-GAP-02059","next":"M16-GAP-02061"},"M16-GAP-02061":{"line":2060,"offset":356753,"length":181,"previous":"M16-GAP-02060","next":"M16-GAP-02062"},"M16-GAP-02062":{"line":2061,"offset":356934,"length":182,"previous":"M16-GAP-02061","next":"M16-GAP-02063"},"M16-GAP-02063":{"line":2062,"offset":357116,"length":164,"previous":"M16-GAP-02062","next":"M16-GAP-02064"},"M16-GAP-02064":{"line":2063,"offset":357280,"length":178,"previous":"M16-GAP-02063","next":"M16-GAP-02065"},"M16-GAP-02065":{"line":2064,"offset":357458,"length":184,"previous":"M16-GAP-02064","next":"M16-GAP-02066"},"M16-GAP-02066":{"line":2065,"offset":357642,"length":171,"previous":"M16-GAP-02065","next":"M16-GAP-02067"},"M16-GAP-02067":{"line":2066,"offset":357813,"length":174,"previous":"M16-GAP-02066","next":"M16-GAP-02068"},"M16-GAP-02068":{"line":2067,"offset":357987,"length":180,"previous":"M16-GAP-02067","next":"M16-GAP-02069"},"M16-GAP-02069":{"line":2068,"offset":358167,"length":179,"previous":"M16-GAP-02068","next":"M16-GAP-02070"},"M16-GAP-02070":{"line":2069,"offset":358346,"length":183,"previous":"M16-GAP-02069","next":"M16-GAP-02071"},"M16-GAP-02071":{"line":2070,"offset":358529,"length":174,"previous":"M16-GAP-02070","next":"M16-GAP-02072"},"M16-GAP-02072":{"line":2071,"offset":358703,"length":172,"previous":"M16-GAP-02071","next":"M16-GAP-02073"},"M16-GAP-02073":{"line":2072,"offset":358875,"length":184,"previous":"M16-GAP-02072","next":"M16-GAP-02074"},"M16-GAP-02074":{"line":2073,"offset":359059,"length":171,"previous":"M16-GAP-02073","next":"M16-GAP-02075"},"M16-GAP-02075":{"line":2074,"offset":359230,"length":169,"previous":"M16-GAP-02074","next":"M16-GAP-02076"},"M16-GAP-02076":{"line":2075,"offset":359399,"length":176,"previous":"M16-GAP-02075","next":"M16-GAP-02077"},"M16-GAP-02077":{"line":2076,"offset":359575,"length":174,"previous":"M16-GAP-02076","next":"M16-GAP-02078"},"M16-GAP-02078":{"line":2077,"offset":359749,"length":167,"previous":"M16-GAP-02077","next":"M16-GAP-02079"},"M16-GAP-02079":{"line":2078,"offset":359916,"length":169,"previous":"M16-GAP-02078","next":"M16-GAP-02080"},"M16-GAP-02080":{"line":2079,"offset":360085,"length":166,"previous":"M16-GAP-02079","next":"M16-GAP-02081"},"M16-GAP-02081":{"line":2080,"offset":360251,"length":176,"previous":"M16-GAP-02080","next":"M16-GAP-02082"},"M16-GAP-02082":{"line":2081,"offset":360427,"length":174,"previous":"M16-GAP-02081","next":"M16-GAP-02083"},"M16-GAP-02083":{"line":2082,"offset":360601,"length":178,"previous":"M16-GAP-02082","next":"M16-GAP-02084"},"M16-GAP-02084":{"line":2083,"offset":360779,"length":176,"previous":"M16-GAP-02083","next":"M16-GAP-02085"},"M16-GAP-02085":{"line":2084,"offset":360955,"length":175,"previous":"M16-GAP-02084","next":"M16-GAP-02086"},"M16-GAP-02086":{"line":2085,"offset":361130,"length":177,"previous":"M16-GAP-02085","next":"M16-GAP-02087"},"M16-GAP-02087":{"line":2086,"offset":361307,"length":176,"previous":"M16-GAP-02086","next":"M16-GAP-02088"},"M16-GAP-02088":{"line":2087,"offset":361483,"length":168,"previous":"M16-GAP-02087","next":"M16-GAP-02089"},"M16-GAP-02089":{"line":2088,"offset":361651,"length":174,"previous":"M16-GAP-02088","next":"M16-GAP-02090"},"M16-GAP-02090":{"line":2089,"offset":361825,"length":176,"previous":"M16-GAP-02089","next":"M16-GAP-02091"},"M16-GAP-02091":{"line":2090,"offset":362001,"length":175,"previous":"M16-GAP-02090","next":"M16-GAP-02092"},"M16-GAP-02092":{"line":2091,"offset":362176,"length":179,"previous":"M16-GAP-02091","next":"M16-GAP-02093"},"M16-GAP-02093":{"line":2092,"offset":362355,"length":172,"previous":"M16-GAP-02092","next":"M16-GAP-02094"},"M16-GAP-02094":{"line":2093,"offset":362527,"length":173,"previous":"M16-GAP-02093","next":"M16-GAP-02095"},"M16-GAP-02095":{"line":2094,"offset":362700,"length":173,"previous":"M16-GAP-02094","next":"M16-GAP-02096"},"M16-GAP-02096":{"line":2095,"offset":362873,"length":177,"previous":"M16-GAP-02095","next":"M16-GAP-02097"},"M16-GAP-02097":{"line":2096,"offset":363050,"length":182,"previous":"M16-GAP-02096","next":"M16-GAP-02098"},"M16-GAP-02098":{"line":2097,"offset":363232,"length":176,"previous":"M16-GAP-02097","next":"M16-GAP-02099"},"M16-GAP-02099":{"line":2098,"offset":363408,"length":178,"previous":"M16-GAP-02098","next":"M16-GAP-02100"},"M16-GAP-02100":{"line":2099,"offset":363586,"length":193,"previous":"M16-GAP-02099","next":"M16-GAP-02101"},"M16-GAP-02101":{"line":2100,"offset":363779,"length":170,"previous":"M16-GAP-02100","next":"M16-GAP-02102"},"M16-GAP-02102":{"line":2101,"offset":363949,"length":179,"previous":"M16-GAP-02101","next":"M16-GAP-02103"},"M16-GAP-02103":{"line":2102,"offset":364128,"length":172,"previous":"M16-GAP-02102","next":"M16-GAP-02104"},"M16-GAP-02104":{"line":2103,"offset":364300,"length":173,"previous":"M16-GAP-02103","next":"M16-GAP-02105"},"M16-GAP-02105":{"line":2104,"offset":364473,"length":168,"previous":"M16-GAP-02104","next":"M16-GAP-02106"},"M16-GAP-02106":{"line":2105,"offset":364641,"length":165,"previous":"M16-GAP-02105","next":"M16-GAP-02107"},"M16-GAP-02107":{"line":2106,"offset":364806,"length":177,"previous":"M16-GAP-02106","next":"M16-GAP-02108"},"M16-GAP-02108":{"line":2107,"offset":364983,"length":171,"previous":"M16-GAP-02107","next":"M16-GAP-02109"},"M16-GAP-02109":{"line":2108,"offset":365154,"length":188,"previous":"M16-GAP-02108","next":"M16-GAP-02110"},"M16-GAP-02110":{"line":2109,"offset":365342,"length":167,"previous":"M16-GAP-02109","next":"M16-GAP-02111"},"M16-GAP-02111":{"line":2110,"offset":365509,"length":171,"previous":"M16-GAP-02110","next":"M16-GAP-02112"},"M16-GAP-02112":{"line":2111,"offset":365680,"length":170,"previous":"M16-GAP-02111","next":"M16-GAP-02113"},"M16-GAP-02113":{"line":2112,"offset":365850,"length":175,"previous":"M16-GAP-02112","next":"M16-GAP-02114"},"M16-GAP-02114":{"line":2113,"offset":366025,"length":182,"previous":"M16-GAP-02113","next":"M16-GAP-02115"},"M16-GAP-02115":{"line":2114,"offset":366207,"length":177,"previous":"M16-GAP-02114","next":"M16-GAP-02116"},"M16-GAP-02116":{"line":2115,"offset":366384,"length":175,"previous":"M16-GAP-02115","next":"M16-GAP-02117"},"M16-GAP-02117":{"line":2116,"offset":366559,"length":177,"previous":"M16-GAP-02116","next":"M16-GAP-02118"},"M16-GAP-02118":{"line":2117,"offset":366736,"length":170,"previous":"M16-GAP-02117","next":"M16-GAP-02119"},"M16-GAP-02119":{"line":2118,"offset":366906,"length":172,"previous":"M16-GAP-02118","next":"M16-GAP-02120"},"M16-GAP-02120":{"line":2119,"offset":367078,"length":171,"previous":"M16-GAP-02119","next":"M16-GAP-02121"},"M16-GAP-02121":{"line":2120,"offset":367249,"length":171,"previous":"M16-GAP-02120","next":"M16-GAP-02122"},"M16-GAP-02122":{"line":2121,"offset":367420,"length":176,"previous":"M16-GAP-02121","next":"M16-GAP-02123"},"M16-GAP-02123":{"line":2122,"offset":367596,"length":176,"previous":"M16-GAP-02122","next":"M16-GAP-02124"},"M16-GAP-02124":{"line":2123,"offset":367772,"length":165,"previous":"M16-GAP-02123","next":"M16-GAP-02125"},"M16-GAP-02125":{"line":2124,"offset":367937,"length":175,"previous":"M16-GAP-02124","next":"M16-GAP-02126"},"M16-GAP-02126":{"line":2125,"offset":368112,"length":170,"previous":"M16-GAP-02125","next":"M16-GAP-02127"},"M16-GAP-02127":{"line":2126,"offset":368282,"length":174,"previous":"M16-GAP-02126","next":"M16-GAP-02128"},"M16-GAP-02128":{"line":2127,"offset":368456,"length":172,"previous":"M16-GAP-02127","next":"M16-GAP-02129"},"M16-GAP-02129":{"line":2128,"offset":368628,"length":176,"previous":"M16-GAP-02128","next":"M16-GAP-02130"},"M16-GAP-02130":{"line":2129,"offset":368804,"length":180,"previous":"M16-GAP-02129","next":"M16-GAP-02131"},"M16-GAP-02131":{"line":2130,"offset":368984,"length":165,"previous":"M16-GAP-02130","next":"M16-GAP-02132"},"M16-GAP-02132":{"line":2131,"offset":369149,"length":173,"previous":"M16-GAP-02131","next":"M16-GAP-02133"},"M16-GAP-02133":{"line":2132,"offset":369322,"length":166,"previous":"M16-GAP-02132","next":"M16-GAP-02134"},"M16-GAP-02134":{"line":2133,"offset":369488,"length":183,"previous":"M16-GAP-02133","next":"M16-GAP-02135"},"M16-GAP-02135":{"line":2134,"offset":369671,"length":190,"previous":"M16-GAP-02134","next":"M16-GAP-02136"},"M16-GAP-02136":{"line":2135,"offset":369861,"length":176,"previous":"M16-GAP-02135","next":"M16-GAP-02137"},"M16-GAP-02137":{"line":2136,"offset":370037,"length":174,"previous":"M16-GAP-02136","next":"M16-GAP-02138"},"M16-GAP-02138":{"line":2137,"offset":370211,"length":172,"previous":"M16-GAP-02137","next":"M16-GAP-02139"},"M16-GAP-02139":{"line":2138,"offset":370383,"length":167,"previous":"M16-GAP-02138","next":"M16-GAP-02140"},"M16-GAP-02140":{"line":2139,"offset":370550,"length":175,"previous":"M16-GAP-02139","next":"M16-GAP-02141"},"M16-GAP-02141":{"line":2140,"offset":370725,"length":171,"previous":"M16-GAP-02140","next":"M16-GAP-02142"},"M16-GAP-02142":{"line":2141,"offset":370896,"length":192,"previous":"M16-GAP-02141","next":"M16-GAP-02143"},"M16-GAP-02143":{"line":2142,"offset":371088,"length":190,"previous":"M16-GAP-02142","next":"M16-GAP-02144"},"M16-GAP-02144":{"line":2143,"offset":371278,"length":186,"previous":"M16-GAP-02143","next":"M16-GAP-02145"},"M16-GAP-02145":{"line":2144,"offset":371464,"length":177,"previous":"M16-GAP-02144","next":"M16-GAP-02146"},"M16-GAP-02146":{"line":2145,"offset":371641,"length":180,"previous":"M16-GAP-02145","next":"M16-GAP-02147"},"M16-GAP-02147":{"line":2146,"offset":371821,"length":175,"previous":"M16-GAP-02146","next":"M16-GAP-02148"},"M16-GAP-02148":{"line":2147,"offset":371996,"length":187,"previous":"M16-GAP-02147","next":"M16-GAP-02149"},"M16-GAP-02149":{"line":2148,"offset":372183,"length":174,"previous":"M16-GAP-02148","next":"M16-GAP-02150"},"M16-GAP-02150":{"line":2149,"offset":372357,"length":184,"previous":"M16-GAP-02149","next":"M16-GAP-02151"},"M16-GAP-02151":{"line":2150,"offset":372541,"length":167,"previous":"M16-GAP-02150","next":"M16-GAP-02152"},"M16-GAP-02152":{"line":2151,"offset":372708,"length":185,"previous":"M16-GAP-02151","next":"M16-GAP-02153"},"M16-GAP-02153":{"line":2152,"offset":372893,"length":176,"previous":"M16-GAP-02152","next":"M16-GAP-02154"},"M16-GAP-02154":{"line":2153,"offset":373069,"length":180,"previous":"M16-GAP-02153","next":"M16-GAP-02155"},"M16-GAP-02155":{"line":2154,"offset":373249,"length":167,"previous":"M16-GAP-02154","next":"M16-GAP-02156"},"M16-GAP-02156":{"line":2155,"offset":373416,"length":171,"previous":"M16-GAP-02155","next":"M16-GAP-02157"},"M16-GAP-02157":{"line":2156,"offset":373587,"length":171,"previous":"M16-GAP-02156","next":"M16-GAP-02158"},"M16-GAP-02158":{"line":2157,"offset":373758,"length":174,"previous":"M16-GAP-02157","next":"M16-GAP-02159"},"M16-GAP-02159":{"line":2158,"offset":373932,"length":175,"previous":"M16-GAP-02158","next":"M16-GAP-02160"},"M16-GAP-02160":{"line":2159,"offset":374107,"length":174,"previous":"M16-GAP-02159","next":"M16-GAP-02161"},"M16-GAP-02161":{"line":2160,"offset":374281,"length":175,"previous":"M16-GAP-02160","next":"M16-GAP-02162"},"M16-GAP-02162":{"line":2161,"offset":374456,"length":173,"previous":"M16-GAP-02161","next":"M16-GAP-02163"},"M16-GAP-02163":{"line":2162,"offset":374629,"length":172,"previous":"M16-GAP-02162","next":"M16-GAP-02164"},"M16-GAP-02164":{"line":2163,"offset":374801,"length":174,"previous":"M16-GAP-02163","next":"M16-GAP-02165"},"M16-GAP-02165":{"line":2164,"offset":374975,"length":179,"previous":"M16-GAP-02164","next":"M16-GAP-02166"},"M16-GAP-02166":{"line":2165,"offset":375154,"length":172,"previous":"M16-GAP-02165","next":"M16-GAP-02167"},"M16-GAP-02167":{"line":2166,"offset":375326,"length":172,"previous":"M16-GAP-02166","next":"M16-GAP-02168"},"M16-GAP-02168":{"line":2167,"offset":375498,"length":181,"previous":"M16-GAP-02167","next":"M16-GAP-02169"},"M16-GAP-02169":{"line":2168,"offset":375679,"length":180,"previous":"M16-GAP-02168","next":"M16-GAP-02170"},"M16-GAP-02170":{"line":2169,"offset":375859,"length":165,"previous":"M16-GAP-02169","next":"M16-GAP-02171"},"M16-GAP-02171":{"line":2170,"offset":376024,"length":165,"previous":"M16-GAP-02170","next":"M16-GAP-02172"},"M16-GAP-02172":{"line":2171,"offset":376189,"length":176,"previous":"M16-GAP-02171","next":"M16-GAP-02173"},"M16-GAP-02173":{"line":2172,"offset":376365,"length":166,"previous":"M16-GAP-02172","next":"M16-GAP-02174"},"M16-GAP-02174":{"line":2173,"offset":376531,"length":175,"previous":"M16-GAP-02173","next":"M16-GAP-02175"},"M16-GAP-02175":{"line":2174,"offset":376706,"length":180,"previous":"M16-GAP-02174","next":"M16-GAP-02176"},"M16-GAP-02176":{"line":2175,"offset":376886,"length":171,"previous":"M16-GAP-02175","next":"M16-GAP-02177"},"M16-GAP-02177":{"line":2176,"offset":377057,"length":179,"previous":"M16-GAP-02176","next":"M16-GAP-02178"},"M16-GAP-02178":{"line":2177,"offset":377236,"length":190,"previous":"M16-GAP-02177","next":"M16-GAP-02179"},"M16-GAP-02179":{"line":2178,"offset":377426,"length":180,"previous":"M16-GAP-02178","next":"M16-GAP-02180"},"M16-GAP-02180":{"line":2179,"offset":377606,"length":185,"previous":"M16-GAP-02179","next":"M16-GAP-02181"},"M16-GAP-02181":{"line":2180,"offset":377791,"length":194,"previous":"M16-GAP-02180","next":"M16-GAP-02182"},"M16-GAP-02182":{"line":2181,"offset":377985,"length":180,"previous":"M16-GAP-02181","next":"M16-GAP-02183"},"M16-GAP-02183":{"line":2182,"offset":378165,"length":189,"previous":"M16-GAP-02182","next":"M16-GAP-02184"},"M16-GAP-02184":{"line":2183,"offset":378354,"length":182,"previous":"M16-GAP-02183","next":"M16-GAP-02185"},"M16-GAP-02185":{"line":2184,"offset":378536,"length":186,"previous":"M16-GAP-02184","next":"M16-GAP-02186"},"M16-GAP-02186":{"line":2185,"offset":378722,"length":182,"previous":"M16-GAP-02185","next":"M16-GAP-02187"},"M16-GAP-02187":{"line":2186,"offset":378904,"length":180,"previous":"M16-GAP-02186","next":"M16-GAP-02188"},"M16-GAP-02188":{"line":2187,"offset":379084,"length":165,"previous":"M16-GAP-02187","next":"M16-GAP-02189"},"M16-GAP-02189":{"line":2188,"offset":379249,"length":170,"previous":"M16-GAP-02188","next":"M16-GAP-02190"},"M16-GAP-02190":{"line":2189,"offset":379419,"length":172,"previous":"M16-GAP-02189","next":"M16-GAP-02191"},"M16-GAP-02191":{"line":2190,"offset":379591,"length":177,"previous":"M16-GAP-02190","next":"M16-GAP-02192"},"M16-GAP-02192":{"line":2191,"offset":379768,"length":176,"previous":"M16-GAP-02191","next":"M16-GAP-02193"},"M16-GAP-02193":{"line":2192,"offset":379944,"length":172,"previous":"M16-GAP-02192","next":"M16-GAP-02194"},"M16-GAP-02194":{"line":2193,"offset":380116,"length":178,"previous":"M16-GAP-02193","next":"M16-GAP-02195"},"M16-GAP-02195":{"line":2194,"offset":380294,"length":175,"previous":"M16-GAP-02194","next":"M16-GAP-02196"},"M16-GAP-02196":{"line":2195,"offset":380469,"length":174,"previous":"M16-GAP-02195","next":"M16-GAP-02197"},"M16-GAP-02197":{"line":2196,"offset":380643,"length":182,"previous":"M16-GAP-02196","next":"M16-GAP-02198"},"M16-GAP-02198":{"line":2197,"offset":380825,"length":176,"previous":"M16-GAP-02197","next":"M16-GAP-02199"},"M16-GAP-02199":{"line":2198,"offset":381001,"length":172,"previous":"M16-GAP-02198","next":"M16-GAP-02200"},"M16-GAP-02200":{"line":2199,"offset":381173,"length":176,"previous":"M16-GAP-02199","next":"M16-GAP-02201"},"M16-GAP-02201":{"line":2200,"offset":381349,"length":176,"previous":"M16-GAP-02200","next":"M16-GAP-02202"},"M16-GAP-02202":{"line":2201,"offset":381525,"length":188,"previous":"M16-GAP-02201","next":"M16-GAP-02203"},"M16-GAP-02203":{"line":2202,"offset":381713,"length":167,"previous":"M16-GAP-02202","next":"M16-GAP-02204"},"M16-GAP-02204":{"line":2203,"offset":381880,"length":167,"previous":"M16-GAP-02203","next":"M16-GAP-02205"},"M16-GAP-02205":{"line":2204,"offset":382047,"length":169,"previous":"M16-GAP-02204","next":"M16-GAP-02206"},"M16-GAP-02206":{"line":2205,"offset":382216,"length":177,"previous":"M16-GAP-02205","next":"M16-GAP-02207"},"M16-GAP-02207":{"line":2206,"offset":382393,"length":171,"previous":"M16-GAP-02206","next":"M16-GAP-02208"},"M16-GAP-02208":{"line":2207,"offset":382564,"length":178,"previous":"M16-GAP-02207","next":"M16-GAP-02209"},"M16-GAP-02209":{"line":2208,"offset":382742,"length":174,"previous":"M16-GAP-02208","next":"M16-GAP-02210"},"M16-GAP-02210":{"line":2209,"offset":382916,"length":176,"previous":"M16-GAP-02209","next":"M16-GAP-02211"},"M16-GAP-02211":{"line":2210,"offset":383092,"length":171,"previous":"M16-GAP-02210","next":"M16-GAP-02212"},"M16-GAP-02212":{"line":2211,"offset":383263,"length":164,"previous":"M16-GAP-02211","next":"M16-GAP-02213"},"M16-GAP-02213":{"line":2212,"offset":383427,"length":161,"previous":"M16-GAP-02212","next":"M16-GAP-02214"},"M16-GAP-02214":{"line":2213,"offset":383588,"length":166,"previous":"M16-GAP-02213","next":"M16-GAP-02215"},"M16-GAP-02215":{"line":2214,"offset":383754,"length":161,"previous":"M16-GAP-02214","next":"M16-GAP-02216"},"M16-GAP-02216":{"line":2215,"offset":383915,"length":163,"previous":"M16-GAP-02215","next":"M16-GAP-02217"},"M16-GAP-02217":{"line":2216,"offset":384078,"length":179,"previous":"M16-GAP-02216","next":"M16-GAP-02218"},"M16-GAP-02218":{"line":2217,"offset":384257,"length":182,"previous":"M16-GAP-02217","next":"M16-GAP-02219"},"M16-GAP-02219":{"line":2218,"offset":384439,"length":193,"previous":"M16-GAP-02218","next":"M16-GAP-02220"},"M16-GAP-02220":{"line":2219,"offset":384632,"length":173,"previous":"M16-GAP-02219","next":"M16-GAP-02221"},"M16-GAP-02221":{"line":2220,"offset":384805,"length":185,"previous":"M16-GAP-02220","next":"M16-GAP-02222"},"M16-GAP-02222":{"line":2221,"offset":384990,"length":178,"previous":"M16-GAP-02221","next":"M16-GAP-02223"},"M16-GAP-02223":{"line":2222,"offset":385168,"length":176,"previous":"M16-GAP-02222","next":"M16-GAP-02224"},"M16-GAP-02224":{"line":2223,"offset":385344,"length":173,"previous":"M16-GAP-02223","next":"M16-GAP-02225"},"M16-GAP-02225":{"line":2224,"offset":385517,"length":193,"previous":"M16-GAP-02224","next":"M16-GAP-02226"},"M16-GAP-02226":{"line":2225,"offset":385710,"length":192,"previous":"M16-GAP-02225","next":"M16-GAP-02227"},"M16-GAP-02227":{"line":2226,"offset":385902,"length":195,"previous":"M16-GAP-02226","next":"M16-GAP-02228"},"M16-GAP-02228":{"line":2227,"offset":386097,"length":193,"previous":"M16-GAP-02227","next":"M16-GAP-02229"},"M16-GAP-02229":{"line":2228,"offset":386290,"length":194,"previous":"M16-GAP-02228","next":"M16-GAP-02230"},"M16-GAP-02230":{"line":2229,"offset":386484,"length":192,"previous":"M16-GAP-02229","next":"M16-GAP-02231"},"M16-GAP-02231":{"line":2230,"offset":386676,"length":168,"previous":"M16-GAP-02230","next":"M16-GAP-02232"},"M16-GAP-02232":{"line":2231,"offset":386844,"length":170,"previous":"M16-GAP-02231","next":"M16-GAP-02233"},"M16-GAP-02233":{"line":2232,"offset":387014,"length":174,"previous":"M16-GAP-02232","next":"M16-GAP-02234"},"M16-GAP-02234":{"line":2233,"offset":387188,"length":160,"previous":"M16-GAP-02233","next":"M16-GAP-02235"},"M16-GAP-02235":{"line":2234,"offset":387348,"length":166,"previous":"M16-GAP-02234","next":"M16-GAP-02236"},"M16-GAP-02236":{"line":2235,"offset":387514,"length":159,"previous":"M16-GAP-02235","next":"M16-GAP-02237"},"M16-GAP-02237":{"line":2236,"offset":387673,"length":162,"previous":"M16-GAP-02236","next":"M16-GAP-02238"},"M16-GAP-02238":{"line":2237,"offset":387835,"length":170,"previous":"M16-GAP-02237","next":"M16-GAP-02239"},"M16-GAP-02239":{"line":2238,"offset":388005,"length":160,"previous":"M16-GAP-02238","next":"M16-GAP-02240"},"M16-GAP-02240":{"line":2239,"offset":388165,"length":173,"previous":"M16-GAP-02239","next":"M16-GAP-02241"},"M16-GAP-02241":{"line":2240,"offset":388338,"length":162,"previous":"M16-GAP-02240","next":"M16-GAP-02242"},"M16-GAP-02242":{"line":2241,"offset":388500,"length":178,"previous":"M16-GAP-02241","next":"M16-GAP-02243"},"M16-GAP-02243":{"line":2242,"offset":388678,"length":162,"previous":"M16-GAP-02242","next":"M16-GAP-02244"},"M16-GAP-02244":{"line":2243,"offset":388840,"length":160,"previous":"M16-GAP-02243","next":"M16-GAP-02245"},"M16-GAP-02245":{"line":2244,"offset":389000,"length":177,"previous":"M16-GAP-02244","next":"M16-GAP-02246"},"M16-GAP-02246":{"line":2245,"offset":389177,"length":166,"previous":"M16-GAP-02245","next":"M16-GAP-02247"},"M16-GAP-02247":{"line":2246,"offset":389343,"length":167,"previous":"M16-GAP-02246","next":"M16-GAP-02248"},"M16-GAP-02248":{"line":2247,"offset":389510,"length":169,"previous":"M16-GAP-02247","next":"M16-GAP-02249"},"M16-GAP-02249":{"line":2248,"offset":389679,"length":160,"previous":"M16-GAP-02248","next":"M16-GAP-02250"},"M16-GAP-02250":{"line":2249,"offset":389839,"length":166,"previous":"M16-GAP-02249","next":"M16-GAP-02251"},"M16-GAP-02251":{"line":2250,"offset":390005,"length":167,"previous":"M16-GAP-02250","next":"M16-GAP-02252"},"M16-GAP-02252":{"line":2251,"offset":390172,"length":159,"previous":"M16-GAP-02251","next":"M16-GAP-02253"},"M16-GAP-02253":{"line":2252,"offset":390331,"length":160,"previous":"M16-GAP-02252","next":"M16-GAP-02254"},"M16-GAP-02254":{"line":2253,"offset":390491,"length":172,"previous":"M16-GAP-02253","next":"M16-GAP-02255"},"M16-GAP-02255":{"line":2254,"offset":390663,"length":161,"previous":"M16-GAP-02254","next":"M16-GAP-02256"},"M16-GAP-02256":{"line":2255,"offset":390824,"length":162,"previous":"M16-GAP-02255","next":"M16-GAP-02257"},"M16-GAP-02257":{"line":2256,"offset":390986,"length":163,"previous":"M16-GAP-02256","next":"M16-GAP-02258"},"M16-GAP-02258":{"line":2257,"offset":391149,"length":176,"previous":"M16-GAP-02257","next":"M16-GAP-02259"},"M16-GAP-02259":{"line":2258,"offset":391325,"length":172,"previous":"M16-GAP-02258","next":"M16-GAP-02260"},"M16-GAP-02260":{"line":2259,"offset":391497,"length":166,"previous":"M16-GAP-02259","next":"M16-GAP-02261"},"M16-GAP-02261":{"line":2260,"offset":391663,"length":160,"previous":"M16-GAP-02260","next":"M16-GAP-02262"},"M16-GAP-02262":{"line":2261,"offset":391823,"length":163,"previous":"M16-GAP-02261","next":"M16-GAP-02263"},"M16-GAP-02263":{"line":2262,"offset":391986,"length":162,"previous":"M16-GAP-02262","next":"M16-GAP-02264"},"M16-GAP-02264":{"line":2263,"offset":392148,"length":166,"previous":"M16-GAP-02263","next":"M16-GAP-02265"},"M16-GAP-02265":{"line":2264,"offset":392314,"length":166,"previous":"M16-GAP-02264","next":"M16-GAP-02266"},"M16-GAP-02266":{"line":2265,"offset":392480,"length":167,"previous":"M16-GAP-02265","next":"M16-GAP-02267"},"M16-GAP-02267":{"line":2266,"offset":392647,"length":167,"previous":"M16-GAP-02266","next":"M16-GAP-02268"},"M16-GAP-02268":{"line":2267,"offset":392814,"length":169,"previous":"M16-GAP-02267","next":"M16-GAP-02269"},"M16-GAP-02269":{"line":2268,"offset":392983,"length":166,"previous":"M16-GAP-02268","next":"M16-GAP-02270"},"M16-GAP-02270":{"line":2269,"offset":393149,"length":168,"previous":"M16-GAP-02269","next":"M16-GAP-02271"},"M16-GAP-02271":{"line":2270,"offset":393317,"length":164,"previous":"M16-GAP-02270","next":"M16-GAP-02272"},"M16-GAP-02272":{"line":2271,"offset":393481,"length":162,"previous":"M16-GAP-02271","next":"M16-GAP-02273"},"M16-GAP-02273":{"line":2272,"offset":393643,"length":169,"previous":"M16-GAP-02272","next":"M16-GAP-02274"},"M16-GAP-02274":{"line":2273,"offset":393812,"length":173,"previous":"M16-GAP-02273","next":"M16-GAP-02275"},"M16-GAP-02275":{"line":2274,"offset":393985,"length":162,"previous":"M16-GAP-02274","next":"M16-GAP-02276"},"M16-GAP-02276":{"line":2275,"offset":394147,"length":168,"previous":"M16-GAP-02275","next":"M16-GAP-02277"},"M16-GAP-02277":{"line":2276,"offset":394315,"length":168,"previous":"M16-GAP-02276","next":"M16-GAP-02278"},"M16-GAP-02278":{"line":2277,"offset":394483,"length":169,"previous":"M16-GAP-02277","next":"M16-GAP-02279"},"M16-GAP-02279":{"line":2278,"offset":394652,"length":173,"previous":"M16-GAP-02278","next":"M16-GAP-02280"},"M16-GAP-02280":{"line":2279,"offset":394825,"length":165,"previous":"M16-GAP-02279","next":"M16-GAP-02281"},"M16-GAP-02281":{"line":2280,"offset":394990,"length":179,"previous":"M16-GAP-02280","next":"M16-GAP-02282"},"M16-GAP-02282":{"line":2281,"offset":395169,"length":179,"previous":"M16-GAP-02281","next":"M16-GAP-02283"},"M16-GAP-02283":{"line":2282,"offset":395348,"length":177,"previous":"M16-GAP-02282","next":"M16-GAP-02284"},"M16-GAP-02284":{"line":2283,"offset":395525,"length":172,"previous":"M16-GAP-02283","next":"M16-GAP-02285"},"M16-GAP-02285":{"line":2284,"offset":395697,"length":171,"previous":"M16-GAP-02284","next":"M16-GAP-02286"},"M16-GAP-02286":{"line":2285,"offset":395868,"length":171,"previous":"M16-GAP-02285","next":"M16-GAP-02287"},"M16-GAP-02287":{"line":2286,"offset":396039,"length":167,"previous":"M16-GAP-02286","next":"M16-GAP-02288"},"M16-GAP-02288":{"line":2287,"offset":396206,"length":170,"previous":"M16-GAP-02287","next":"M16-GAP-02289"},"M16-GAP-02289":{"line":2288,"offset":396376,"length":167,"previous":"M16-GAP-02288","next":"M16-GAP-02290"},"M16-GAP-02290":{"line":2289,"offset":396543,"length":167,"previous":"M16-GAP-02289","next":"M16-GAP-02291"},"M16-GAP-02291":{"line":2290,"offset":396710,"length":174,"previous":"M16-GAP-02290","next":"M16-GAP-02292"},"M16-GAP-02292":{"line":2291,"offset":396884,"length":179,"previous":"M16-GAP-02291","next":"M16-GAP-02293"},"M16-GAP-02293":{"line":2292,"offset":397063,"length":170,"previous":"M16-GAP-02292","next":"M16-GAP-02294"},"M16-GAP-02294":{"line":2293,"offset":397233,"length":166,"previous":"M16-GAP-02293","next":"M16-GAP-02295"},"M16-GAP-02295":{"line":2294,"offset":397399,"length":174,"previous":"M16-GAP-02294","next":"M16-GAP-02296"},"M16-GAP-02296":{"line":2295,"offset":397573,"length":172,"previous":"M16-GAP-02295","next":"M16-GAP-02297"},"M16-GAP-02297":{"line":2296,"offset":397745,"length":165,"previous":"M16-GAP-02296","next":"M16-GAP-02298"},"M16-GAP-02298":{"line":2297,"offset":397910,"length":169,"previous":"M16-GAP-02297","next":"M16-GAP-02299"},"M16-GAP-02299":{"line":2298,"offset":398079,"length":170,"previous":"M16-GAP-02298","next":"M16-GAP-02300"},"M16-GAP-02300":{"line":2299,"offset":398249,"length":170,"previous":"M16-GAP-02299","next":"M16-GAP-02301"},"M16-GAP-02301":{"line":2300,"offset":398419,"length":170,"previous":"M16-GAP-02300","next":"M16-GAP-02302"},"M16-GAP-02302":{"line":2301,"offset":398589,"length":172,"previous":"M16-GAP-02301","next":"M16-GAP-02303"},"M16-GAP-02303":{"line":2302,"offset":398761,"length":171,"previous":"M16-GAP-02302","next":"M16-GAP-02304"},"M16-GAP-02304":{"line":2303,"offset":398932,"length":174,"previous":"M16-GAP-02303","next":"M16-GAP-02305"},"M16-GAP-02305":{"line":2304,"offset":399106,"length":172,"previous":"M16-GAP-02304","next":"M16-GAP-02306"},"M16-GAP-02306":{"line":2305,"offset":399278,"length":175,"previous":"M16-GAP-02305","next":"M16-GAP-02307"},"M16-GAP-02307":{"line":2306,"offset":399453,"length":168,"previous":"M16-GAP-02306","next":"M16-GAP-02308"},"M16-GAP-02308":{"line":2307,"offset":399621,"length":173,"previous":"M16-GAP-02307","next":"M16-GAP-02309"},"M16-GAP-02309":{"line":2308,"offset":399794,"length":175,"previous":"M16-GAP-02308","next":"M16-GAP-02310"},"M16-GAP-02310":{"line":2309,"offset":399969,"length":175,"previous":"M16-GAP-02309","next":"M16-GAP-02311"},"M16-GAP-02311":{"line":2310,"offset":400144,"length":184,"previous":"M16-GAP-02310","next":"M16-GAP-02312"},"M16-GAP-02312":{"line":2311,"offset":400328,"length":180,"previous":"M16-GAP-02311","next":"M16-GAP-02313"},"M16-GAP-02313":{"line":2312,"offset":400508,"length":177,"previous":"M16-GAP-02312","next":"M16-GAP-02314"},"M16-GAP-02314":{"line":2313,"offset":400685,"length":164,"previous":"M16-GAP-02313","next":"M16-GAP-02315"},"M16-GAP-02315":{"line":2314,"offset":400849,"length":167,"previous":"M16-GAP-02314","next":"M16-GAP-02316"},"M16-GAP-02316":{"line":2315,"offset":401016,"length":163,"previous":"M16-GAP-02315","next":"M16-GAP-02317"},"M16-GAP-02317":{"line":2316,"offset":401179,"length":164,"previous":"M16-GAP-02316","next":"M16-GAP-02318"},"M16-GAP-02318":{"line":2317,"offset":401343,"length":169,"previous":"M16-GAP-02317","next":"M16-GAP-02319"},"M16-GAP-02319":{"line":2318,"offset":401512,"length":170,"previous":"M16-GAP-02318","next":"M16-GAP-02320"},"M16-GAP-02320":{"line":2319,"offset":401682,"length":174,"previous":"M16-GAP-02319","next":"M16-GAP-02321"},"M16-GAP-02321":{"line":2320,"offset":401856,"length":180,"previous":"M16-GAP-02320","next":"M16-GAP-02322"},"M16-GAP-02322":{"line":2321,"offset":402036,"length":170,"previous":"M16-GAP-02321","next":"M16-GAP-02323"},"M16-GAP-02323":{"line":2322,"offset":402206,"length":171,"previous":"M16-GAP-02322","next":"M16-GAP-02324"},"M16-GAP-02324":{"line":2323,"offset":402377,"length":184,"previous":"M16-GAP-02323","next":"M16-GAP-02325"},"M16-GAP-02325":{"line":2324,"offset":402561,"length":167,"previous":"M16-GAP-02324","next":"M16-GAP-02326"},"M16-GAP-02326":{"line":2325,"offset":402728,"length":175,"previous":"M16-GAP-02325","next":"M16-GAP-02327"},"M16-GAP-02327":{"line":2326,"offset":402903,"length":171,"previous":"M16-GAP-02326","next":"M16-GAP-02328"},"M16-GAP-02328":{"line":2327,"offset":403074,"length":173,"previous":"M16-GAP-02327","next":"M16-GAP-02329"},"M16-GAP-02329":{"line":2328,"offset":403247,"length":179,"previous":"M16-GAP-02328","next":"M16-GAP-02330"},"M16-GAP-02330":{"line":2329,"offset":403426,"length":178,"previous":"M16-GAP-02329","next":"M16-GAP-02331"},"M16-GAP-02331":{"line":2330,"offset":403604,"length":179,"previous":"M16-GAP-02330","next":"M16-GAP-02332"},"M16-GAP-02332":{"line":2331,"offset":403783,"length":176,"previous":"M16-GAP-02331","next":"M16-GAP-02333"},"M16-GAP-02333":{"line":2332,"offset":403959,"length":171,"previous":"M16-GAP-02332","next":"M16-GAP-02334"},"M16-GAP-02334":{"line":2333,"offset":404130,"length":174,"previous":"M16-GAP-02333","next":"M16-GAP-02335"},"M16-GAP-02335":{"line":2334,"offset":404304,"length":175,"previous":"M16-GAP-02334","next":"M16-GAP-02336"},"M16-GAP-02336":{"line":2335,"offset":404479,"length":163,"previous":"M16-GAP-02335","next":"M16-GAP-02337"},"M16-GAP-02337":{"line":2336,"offset":404642,"length":170,"previous":"M16-GAP-02336","next":"M16-GAP-02338"},"M16-GAP-02338":{"line":2337,"offset":404812,"length":169,"previous":"M16-GAP-02337","next":"M16-GAP-02339"},"M16-GAP-02339":{"line":2338,"offset":404981,"length":172,"previous":"M16-GAP-02338","next":"M16-GAP-02340"},"M16-GAP-02340":{"line":2339,"offset":405153,"length":170,"previous":"M16-GAP-02339","next":"M16-GAP-02341"},"M16-GAP-02341":{"line":2340,"offset":405323,"length":170,"previous":"M16-GAP-02340","next":"M16-GAP-02342"},"M16-GAP-02342":{"line":2341,"offset":405493,"length":165,"previous":"M16-GAP-02341","next":"M16-GAP-02343"},"M16-GAP-02343":{"line":2342,"offset":405658,"length":171,"previous":"M16-GAP-02342","next":"M16-GAP-02344"},"M16-GAP-02344":{"line":2343,"offset":405829,"length":167,"previous":"M16-GAP-02343","next":"M16-GAP-02345"},"M16-GAP-02345":{"line":2344,"offset":405996,"length":168,"previous":"M16-GAP-02344","next":"M16-GAP-02346"},"M16-GAP-02346":{"line":2345,"offset":406164,"length":170,"previous":"M16-GAP-02345","next":"M16-GAP-02347"},"M16-GAP-02347":{"line":2346,"offset":406334,"length":159,"previous":"M16-GAP-02346","next":"M16-GAP-02348"},"M16-GAP-02348":{"line":2347,"offset":406493,"length":168,"previous":"M16-GAP-02347","next":"M16-GAP-02349"},"M16-GAP-02349":{"line":2348,"offset":406661,"length":169,"previous":"M16-GAP-02348","next":"M16-GAP-02350"},"M16-GAP-02350":{"line":2349,"offset":406830,"length":175,"previous":"M16-GAP-02349","next":"M16-GAP-02351"},"M16-GAP-02351":{"line":2350,"offset":407005,"length":158,"previous":"M16-GAP-02350","next":"M16-GAP-02352"},"M16-GAP-02352":{"line":2351,"offset":407163,"length":173,"previous":"M16-GAP-02351","next":"M16-GAP-02353"},"M16-GAP-02353":{"line":2352,"offset":407336,"length":166,"previous":"M16-GAP-02352","next":"M16-GAP-02354"},"M16-GAP-02354":{"line":2353,"offset":407502,"length":164,"previous":"M16-GAP-02353","next":"M16-GAP-02355"},"M16-GAP-02355":{"line":2354,"offset":407666,"length":171,"previous":"M16-GAP-02354","next":"M16-GAP-02356"},"M16-GAP-02356":{"line":2355,"offset":407837,"length":170,"previous":"M16-GAP-02355","next":"M16-GAP-02357"},"M16-GAP-02357":{"line":2356,"offset":408007,"length":167,"previous":"M16-GAP-02356","next":"M16-GAP-02358"},"M16-GAP-02358":{"line":2357,"offset":408174,"length":173,"previous":"M16-GAP-02357","next":"M16-GAP-02359"},"M16-GAP-02359":{"line":2358,"offset":408347,"length":158,"previous":"M16-GAP-02358","next":"M16-GAP-02360"},"M16-GAP-02360":{"line":2359,"offset":408505,"length":167,"previous":"M16-GAP-02359","next":"M16-GAP-02361"},"M16-GAP-02361":{"line":2360,"offset":408672,"length":163,"previous":"M16-GAP-02360","next":"M16-GAP-02362"},"M16-GAP-02362":{"line":2361,"offset":408835,"length":170,"previous":"M16-GAP-02361","next":"M16-GAP-02363"},"M16-GAP-02363":{"line":2362,"offset":409005,"length":166,"previous":"M16-GAP-02362","next":"M16-GAP-02364"},"M16-GAP-02364":{"line":2363,"offset":409171,"length":166,"previous":"M16-GAP-02363","next":"M16-GAP-02365"},"M16-GAP-02365":{"line":2364,"offset":409337,"length":159,"previous":"M16-GAP-02364","next":"M16-GAP-02366"},"M16-GAP-02366":{"line":2365,"offset":409496,"length":157,"previous":"M16-GAP-02365","next":"M16-GAP-02367"},"M16-GAP-02367":{"line":2366,"offset":409653,"length":171,"previous":"M16-GAP-02366","next":"M16-GAP-02368"},"M16-GAP-02368":{"line":2367,"offset":409824,"length":176,"previous":"M16-GAP-02367","next":"M16-GAP-02369"},"M16-GAP-02369":{"line":2368,"offset":410000,"length":168,"previous":"M16-GAP-02368","next":"M16-GAP-02370"},"M16-GAP-02370":{"line":2369,"offset":410168,"length":159,"previous":"M16-GAP-02369","next":"M16-GAP-02371"},"M16-GAP-02371":{"line":2370,"offset":410327,"length":160,"previous":"M16-GAP-02370","next":"M16-GAP-02372"},"M16-GAP-02372":{"line":2371,"offset":410487,"length":157,"previous":"M16-GAP-02371","next":"M16-GAP-02373"},"M16-GAP-02373":{"line":2372,"offset":410644,"length":162,"previous":"M16-GAP-02372","next":"M16-GAP-02374"},"M16-GAP-02374":{"line":2373,"offset":410806,"length":172,"previous":"M16-GAP-02373","next":"M16-GAP-02375"},"M16-GAP-02375":{"line":2374,"offset":410978,"length":160,"previous":"M16-GAP-02374","next":"M16-GAP-02376"},"M16-GAP-02376":{"line":2375,"offset":411138,"length":164,"previous":"M16-GAP-02375","next":"M16-GAP-02377"},"M16-GAP-02377":{"line":2376,"offset":411302,"length":164,"previous":"M16-GAP-02376","next":"M16-GAP-02378"},"M16-GAP-02378":{"line":2377,"offset":411466,"length":171,"previous":"M16-GAP-02377","next":"M16-GAP-02379"},"M16-GAP-02379":{"line":2378,"offset":411637,"length":167,"previous":"M16-GAP-02378","next":"M16-GAP-02380"},"M16-GAP-02380":{"line":2379,"offset":411804,"length":170,"previous":"M16-GAP-02379","next":"M16-GAP-02381"},"M16-GAP-02381":{"line":2380,"offset":411974,"length":166,"previous":"M16-GAP-02380","next":"M16-GAP-02382"},"M16-GAP-02382":{"line":2381,"offset":412140,"length":165,"previous":"M16-GAP-02381","next":"M16-GAP-02383"},"M16-GAP-02383":{"line":2382,"offset":412305,"length":167,"previous":"M16-GAP-02382","next":"M16-GAP-02384"},"M16-GAP-02384":{"line":2383,"offset":412472,"length":172,"previous":"M16-GAP-02383","next":"M16-GAP-02385"},"M16-GAP-02385":{"line":2384,"offset":412644,"length":165,"previous":"M16-GAP-02384","next":"M16-GAP-02386"},"M16-GAP-02386":{"line":2385,"offset":412809,"length":165,"previous":"M16-GAP-02385","next":"M16-GAP-02387"},"M16-GAP-02387":{"line":2386,"offset":412974,"length":165,"previous":"M16-GAP-02386","next":"M16-GAP-02388"},"M16-GAP-02388":{"line":2387,"offset":413139,"length":168,"previous":"M16-GAP-02387","next":"M16-GAP-02389"},"M16-GAP-02389":{"line":2388,"offset":413307,"length":167,"previous":"M16-GAP-02388","next":"M16-GAP-02390"},"M16-GAP-02390":{"line":2389,"offset":413474,"length":168,"previous":"M16-GAP-02389","next":"M16-GAP-02391"},"M16-GAP-02391":{"line":2390,"offset":413642,"length":166,"previous":"M16-GAP-02390","next":"M16-GAP-02392"},"M16-GAP-02392":{"line":2391,"offset":413808,"length":165,"previous":"M16-GAP-02391","next":"M16-GAP-02393"},"M16-GAP-02393":{"line":2392,"offset":413973,"length":172,"previous":"M16-GAP-02392","next":"M16-GAP-02394"},"M16-GAP-02394":{"line":2393,"offset":414145,"length":174,"previous":"M16-GAP-02393","next":"M16-GAP-02395"},"M16-GAP-02395":{"line":2394,"offset":414319,"length":167,"previous":"M16-GAP-02394","next":"M16-GAP-02396"},"M16-GAP-02396":{"line":2395,"offset":414486,"length":165,"previous":"M16-GAP-02395","next":"M16-GAP-02397"},"M16-GAP-02397":{"line":2396,"offset":414651,"length":167,"previous":"M16-GAP-02396","next":"M16-GAP-02398"},"M16-GAP-02398":{"line":2397,"offset":414818,"length":168,"previous":"M16-GAP-02397","next":"M16-GAP-02399"},"M16-GAP-02399":{"line":2398,"offset":414986,"length":160,"previous":"M16-GAP-02398","next":"M16-GAP-02400"},"M16-GAP-02400":{"line":2399,"offset":415146,"length":160,"previous":"M16-GAP-02399","next":"M16-GAP-02401"},"M16-GAP-02401":{"line":2400,"offset":415306,"length":158,"previous":"M16-GAP-02400","next":"M16-GAP-02402"},"M16-GAP-02402":{"line":2401,"offset":415464,"length":166,"previous":"M16-GAP-02401","next":"M16-GAP-02403"},"M16-GAP-02403":{"line":2402,"offset":415630,"length":162,"previous":"M16-GAP-02402","next":"M16-GAP-02404"},"M16-GAP-02404":{"line":2403,"offset":415792,"length":161,"previous":"M16-GAP-02403","next":"M16-GAP-02405"},"M16-GAP-02405":{"line":2404,"offset":415953,"length":163,"previous":"M16-GAP-02404","next":"M16-GAP-02406"},"M16-GAP-02406":{"line":2405,"offset":416116,"length":169,"previous":"M16-GAP-02405","next":"M16-GAP-02407"},"M16-GAP-02407":{"line":2406,"offset":416285,"length":169,"previous":"M16-GAP-02406","next":"M16-GAP-02408"},"M16-GAP-02408":{"line":2407,"offset":416454,"length":170,"previous":"M16-GAP-02407","next":"M16-GAP-02409"},"M16-GAP-02409":{"line":2408,"offset":416624,"length":167,"previous":"M16-GAP-02408","next":"M16-GAP-02410"},"M16-GAP-02410":{"line":2409,"offset":416791,"length":175,"previous":"M16-GAP-02409","next":"M16-GAP-02411"},"M16-GAP-02411":{"line":2410,"offset":416966,"length":168,"previous":"M16-GAP-02410","next":"M16-GAP-02412"},"M16-GAP-02412":{"line":2411,"offset":417134,"length":162,"previous":"M16-GAP-02411","next":"M16-GAP-02413"},"M16-GAP-02413":{"line":2412,"offset":417296,"length":169,"previous":"M16-GAP-02412","next":"M16-GAP-02414"},"M16-GAP-02414":{"line":2413,"offset":417465,"length":165,"previous":"M16-GAP-02413","next":"M16-GAP-02415"},"M16-GAP-02415":{"line":2414,"offset":417630,"length":166,"previous":"M16-GAP-02414","next":"M16-GAP-02416"},"M16-GAP-02416":{"line":2415,"offset":417796,"length":174,"previous":"M16-GAP-02415","next":"M16-GAP-02417"},"M16-GAP-02417":{"line":2416,"offset":417970,"length":185,"previous":"M16-GAP-02416","next":"M16-GAP-02418"},"M16-GAP-02418":{"line":2417,"offset":418155,"length":188,"previous":"M16-GAP-02417","next":"M16-GAP-02419"},"M16-GAP-02419":{"line":2418,"offset":418343,"length":172,"previous":"M16-GAP-02418","next":"M16-GAP-02420"},"M16-GAP-02420":{"line":2419,"offset":418515,"length":181,"previous":"M16-GAP-02419","next":"M16-GAP-02421"},"M16-GAP-02421":{"line":2420,"offset":418696,"length":177,"previous":"M16-GAP-02420","next":"M16-GAP-02422"},"M16-GAP-02422":{"line":2421,"offset":418873,"length":169,"previous":"M16-GAP-02421","next":"M16-GAP-02423"},"M16-GAP-02423":{"line":2422,"offset":419042,"length":168,"previous":"M16-GAP-02422","next":"M16-GAP-02424"},"M16-GAP-02424":{"line":2423,"offset":419210,"length":166,"previous":"M16-GAP-02423","next":"M16-GAP-02425"},"M16-GAP-02425":{"line":2424,"offset":419376,"length":163,"previous":"M16-GAP-02424","next":"M16-GAP-02426"},"M16-GAP-02426":{"line":2425,"offset":419539,"length":168,"previous":"M16-GAP-02425","next":"M16-GAP-02427"},"M16-GAP-02427":{"line":2426,"offset":419707,"length":191,"previous":"M16-GAP-02426","next":"M16-GAP-02428"},"M16-GAP-02428":{"line":2427,"offset":419898,"length":191,"previous":"M16-GAP-02427","next":"M16-GAP-02429"},"M16-GAP-02429":{"line":2428,"offset":420089,"length":187,"previous":"M16-GAP-02428","next":"M16-GAP-02430"},"M16-GAP-02430":{"line":2429,"offset":420276,"length":194,"previous":"M16-GAP-02429","next":"M16-GAP-02431"},"M16-GAP-02431":{"line":2430,"offset":420470,"length":161,"previous":"M16-GAP-02430","next":"M16-GAP-02432"},"M16-GAP-02432":{"line":2431,"offset":420631,"length":173,"previous":"M16-GAP-02431","next":"M16-GAP-02433"},"M16-GAP-02433":{"line":2432,"offset":420804,"length":167,"previous":"M16-GAP-02432","next":"M16-GAP-02434"},"M16-GAP-02434":{"line":2433,"offset":420971,"length":179,"previous":"M16-GAP-02433","next":"M16-GAP-02435"},"M16-GAP-02435":{"line":2434,"offset":421150,"length":162,"previous":"M16-GAP-02434","next":"M16-GAP-02436"},"M16-GAP-02436":{"line":2435,"offset":421312,"length":166,"previous":"M16-GAP-02435","next":"M16-GAP-02437"},"M16-GAP-02437":{"line":2436,"offset":421478,"length":166,"previous":"M16-GAP-02436","next":"M16-GAP-02438"},"M16-GAP-02438":{"line":2437,"offset":421644,"length":168,"previous":"M16-GAP-02437","next":"M16-GAP-02439"},"M16-GAP-02439":{"line":2438,"offset":421812,"length":173,"previous":"M16-GAP-02438","next":"M16-GAP-02440"},"M16-GAP-02440":{"line":2439,"offset":421985,"length":166,"previous":"M16-GAP-02439","next":"M16-GAP-02441"},"M16-GAP-02441":{"line":2440,"offset":422151,"length":174,"previous":"M16-GAP-02440","next":"M16-GAP-02442"},"M16-GAP-02442":{"line":2441,"offset":422325,"length":183,"previous":"M16-GAP-02441","next":"M16-GAP-02443"},"M16-GAP-02443":{"line":2442,"offset":422508,"length":169,"previous":"M16-GAP-02442","next":"M16-GAP-02444"},"M16-GAP-02444":{"line":2443,"offset":422677,"length":171,"previous":"M16-GAP-02443","next":"M16-GAP-02445"},"M16-GAP-02445":{"line":2444,"offset":422848,"length":164,"previous":"M16-GAP-02444","next":"M16-GAP-02446"},"M16-GAP-02446":{"line":2445,"offset":423012,"length":167,"previous":"M16-GAP-02445","next":"M16-GAP-02447"},"M16-GAP-02447":{"line":2446,"offset":423179,"length":170,"previous":"M16-GAP-02446","next":"M16-GAP-02448"},"M16-GAP-02448":{"line":2447,"offset":423349,"length":164,"previous":"M16-GAP-02447","next":"M16-GAP-02449"},"M16-GAP-02449":{"line":2448,"offset":423513,"length":168,"previous":"M16-GAP-02448","next":"M16-GAP-02450"},"M16-GAP-02450":{"line":2449,"offset":423681,"length":171,"previous":"M16-GAP-02449","next":"M16-GAP-02451"},"M16-GAP-02451":{"line":2450,"offset":423852,"length":170,"previous":"M16-GAP-02450","next":"M16-GAP-02452"},"M16-GAP-02452":{"line":2451,"offset":424022,"length":169,"previous":"M16-GAP-02451","next":"M16-GAP-02453"},"M16-GAP-02453":{"line":2452,"offset":424191,"length":168,"previous":"M16-GAP-02452","next":"M16-GAP-02454"},"M16-GAP-02454":{"line":2453,"offset":424359,"length":179,"previous":"M16-GAP-02453","next":"M16-GAP-02455"},"M16-GAP-02455":{"line":2454,"offset":424538,"length":179,"previous":"M16-GAP-02454","next":"M16-GAP-02456"},"M16-GAP-02456":{"line":2455,"offset":424717,"length":177,"previous":"M16-GAP-02455","next":"M16-GAP-02457"},"M16-GAP-02457":{"line":2456,"offset":424894,"length":181,"previous":"M16-GAP-02456","next":"M16-GAP-02458"},"M16-GAP-02458":{"line":2457,"offset":425075,"length":181,"previous":"M16-GAP-02457","next":"M16-GAP-02459"},"M16-GAP-02459":{"line":2458,"offset":425256,"length":181,"previous":"M16-GAP-02458","next":"M16-GAP-02460"},"M16-GAP-02460":{"line":2459,"offset":425437,"length":179,"previous":"M16-GAP-02459","next":"M16-GAP-02461"},"M16-GAP-02461":{"line":2460,"offset":425616,"length":176,"previous":"M16-GAP-02460","next":"M16-GAP-02462"},"M16-GAP-02462":{"line":2461,"offset":425792,"length":172,"previous":"M16-GAP-02461","next":"M16-GAP-02463"},"M16-GAP-02463":{"line":2462,"offset":425964,"length":169,"previous":"M16-GAP-02462","next":"M16-GAP-02464"},"M16-GAP-02464":{"line":2463,"offset":426133,"length":177,"previous":"M16-GAP-02463","next":"M16-GAP-02465"},"M16-GAP-02465":{"line":2464,"offset":426310,"length":166,"previous":"M16-GAP-02464","next":"M16-GAP-02466"},"M16-GAP-02466":{"line":2465,"offset":426476,"length":167,"previous":"M16-GAP-02465","next":"M16-GAP-02467"},"M16-GAP-02467":{"line":2466,"offset":426643,"length":169,"previous":"M16-GAP-02466","next":"M16-GAP-02468"},"M16-GAP-02468":{"line":2467,"offset":426812,"length":176,"previous":"M16-GAP-02467","next":"M16-GAP-02469"},"M16-GAP-02469":{"line":2468,"offset":426988,"length":176,"previous":"M16-GAP-02468","next":"M16-GAP-02470"},"M16-GAP-02470":{"line":2469,"offset":427164,"length":174,"previous":"M16-GAP-02469","next":"M16-GAP-02471"},"M16-GAP-02471":{"line":2470,"offset":427338,"length":174,"previous":"M16-GAP-02470","next":"M16-GAP-02472"},"M16-GAP-02472":{"line":2471,"offset":427512,"length":173,"previous":"M16-GAP-02471","next":"M16-GAP-02473"},"M16-GAP-02473":{"line":2472,"offset":427685,"length":177,"previous":"M16-GAP-02472","next":"M16-GAP-02474"},"M16-GAP-02474":{"line":2473,"offset":427862,"length":168,"previous":"M16-GAP-02473","next":"M16-GAP-02475"},"M16-GAP-02475":{"line":2474,"offset":428030,"length":166,"previous":"M16-GAP-02474","next":"M16-GAP-02476"},"M16-GAP-02476":{"line":2475,"offset":428196,"length":173,"previous":"M16-GAP-02475","next":"M16-GAP-02477"},"M16-GAP-02477":{"line":2476,"offset":428369,"length":167,"previous":"M16-GAP-02476","next":"M16-GAP-02478"},"M16-GAP-02478":{"line":2477,"offset":428536,"length":171,"previous":"M16-GAP-02477","next":"M16-GAP-02479"},"M16-GAP-02479":{"line":2478,"offset":428707,"length":162,"previous":"M16-GAP-02478","next":"M16-GAP-02480"},"M16-GAP-02480":{"line":2479,"offset":428869,"length":162,"previous":"M16-GAP-02479","next":"M16-GAP-02481"},"M16-GAP-02481":{"line":2480,"offset":429031,"length":169,"previous":"M16-GAP-02480","next":"M16-GAP-02482"},"M16-GAP-02482":{"line":2481,"offset":429200,"length":176,"previous":"M16-GAP-02481","next":"M16-GAP-02483"},"M16-GAP-02483":{"line":2482,"offset":429376,"length":160,"previous":"M16-GAP-02482","next":"M16-GAP-02484"},"M16-GAP-02484":{"line":2483,"offset":429536,"length":166,"previous":"M16-GAP-02483","next":"M16-GAP-02485"},"M16-GAP-02485":{"line":2484,"offset":429702,"length":181,"previous":"M16-GAP-02484","next":"M16-GAP-02486"},"M16-GAP-02486":{"line":2485,"offset":429883,"length":178,"previous":"M16-GAP-02485","next":"M16-GAP-02487"},"M16-GAP-02487":{"line":2486,"offset":430061,"length":163,"previous":"M16-GAP-02486","next":"M16-GAP-02488"},"M16-GAP-02488":{"line":2487,"offset":430224,"length":167,"previous":"M16-GAP-02487","next":"M16-GAP-02489"},"M16-GAP-02489":{"line":2488,"offset":430391,"length":164,"previous":"M16-GAP-02488","next":"M16-GAP-02490"},"M16-GAP-02490":{"line":2489,"offset":430555,"length":172,"previous":"M16-GAP-02489","next":"M16-GAP-02491"},"M16-GAP-02491":{"line":2490,"offset":430727,"length":175,"previous":"M16-GAP-02490","next":"M16-GAP-02492"},"M16-GAP-02492":{"line":2491,"offset":430902,"length":184,"previous":"M16-GAP-02491","next":"M16-GAP-02493"},"M16-GAP-02493":{"line":2492,"offset":431086,"length":173,"previous":"M16-GAP-02492","next":"M16-GAP-02494"},"M16-GAP-02494":{"line":2493,"offset":431259,"length":172,"previous":"M16-GAP-02493","next":"M16-GAP-02495"},"M16-GAP-02495":{"line":2494,"offset":431431,"length":171,"previous":"M16-GAP-02494","next":"M16-GAP-02496"},"M16-GAP-02496":{"line":2495,"offset":431602,"length":171,"previous":"M16-GAP-02495","next":"M16-GAP-02497"},"M16-GAP-02497":{"line":2496,"offset":431773,"length":173,"previous":"M16-GAP-02496","next":"M16-GAP-02498"},"M16-GAP-02498":{"line":2497,"offset":431946,"length":170,"previous":"M16-GAP-02497","next":"M16-GAP-02499"},"M16-GAP-02499":{"line":2498,"offset":432116,"length":173,"previous":"M16-GAP-02498","next":"M16-GAP-02500"},"M16-GAP-02500":{"line":2499,"offset":432289,"length":171,"previous":"M16-GAP-02499","next":"M16-GAP-02501"},"M16-GAP-02501":{"line":2500,"offset":432460,"length":173,"previous":"M16-GAP-02500","next":"M16-GAP-02502"},"M16-GAP-02502":{"line":2501,"offset":432633,"length":170,"previous":"M16-GAP-02501","next":"M16-GAP-02503"},"M16-GAP-02503":{"line":2502,"offset":432803,"length":171,"previous":"M16-GAP-02502","next":"M16-GAP-02504"},"M16-GAP-02504":{"line":2503,"offset":432974,"length":168,"previous":"M16-GAP-02503","next":"M16-GAP-02505"},"M16-GAP-02505":{"line":2504,"offset":433142,"length":169,"previous":"M16-GAP-02504","next":"M16-GAP-02506"},"M16-GAP-02506":{"line":2505,"offset":433311,"length":172,"previous":"M16-GAP-02505","next":"M16-GAP-02507"},"M16-GAP-02507":{"line":2506,"offset":433483,"length":171,"previous":"M16-GAP-02506","next":"M16-GAP-02508"},"M16-GAP-02508":{"line":2507,"offset":433654,"length":168,"previous":"M16-GAP-02507","next":"M16-GAP-02509"},"M16-GAP-02509":{"line":2508,"offset":433822,"length":173,"previous":"M16-GAP-02508","next":"M16-GAP-02510"},"M16-GAP-02510":{"line":2509,"offset":433995,"length":164,"previous":"M16-GAP-02509","next":"M16-GAP-02511"},"M16-GAP-02511":{"line":2510,"offset":434159,"length":162,"previous":"M16-GAP-02510","next":"M16-GAP-02512"},"M16-GAP-02512":{"line":2511,"offset":434321,"length":169,"previous":"M16-GAP-02511","next":"M16-GAP-02513"},"M16-GAP-02513":{"line":2512,"offset":434490,"length":180,"previous":"M16-GAP-02512","next":"M16-GAP-02514"},"M16-GAP-02514":{"line":2513,"offset":434670,"length":169,"previous":"M16-GAP-02513","next":"M16-GAP-02515"},"M16-GAP-02515":{"line":2514,"offset":434839,"length":170,"previous":"M16-GAP-02514","next":"M16-GAP-02516"},"M16-GAP-02516":{"line":2515,"offset":435009,"length":164,"previous":"M16-GAP-02515","next":"M16-GAP-02517"},"M16-GAP-02517":{"line":2516,"offset":435173,"length":178,"previous":"M16-GAP-02516","next":"M16-GAP-02518"},"M16-GAP-02518":{"line":2517,"offset":435351,"length":178,"previous":"M16-GAP-02517","next":"M16-GAP-02519"},"M16-GAP-02519":{"line":2518,"offset":435529,"length":172,"previous":"M16-GAP-02518","next":"M16-GAP-02520"},"M16-GAP-02520":{"line":2519,"offset":435701,"length":180,"previous":"M16-GAP-02519","next":"M16-GAP-02521"},"M16-GAP-02521":{"line":2520,"offset":435881,"length":183,"previous":"M16-GAP-02520","next":"M16-GAP-02522"},"M16-GAP-02522":{"line":2521,"offset":436064,"length":181,"previous":"M16-GAP-02521","next":"M16-GAP-02523"},"M16-GAP-02523":{"line":2522,"offset":436245,"length":174,"previous":"M16-GAP-02522","next":"M16-GAP-02524"},"M16-GAP-02524":{"line":2523,"offset":436419,"length":177,"previous":"M16-GAP-02523","next":"M16-GAP-02525"},"M16-GAP-02525":{"line":2524,"offset":436596,"length":164,"previous":"M16-GAP-02524","next":"M16-GAP-02526"},"M16-GAP-02526":{"line":2525,"offset":436760,"length":166,"previous":"M16-GAP-02525","next":"M16-GAP-02527"},"M16-GAP-02527":{"line":2526,"offset":436926,"length":158,"previous":"M16-GAP-02526","next":"M16-GAP-02528"},"M16-GAP-02528":{"line":2527,"offset":437084,"length":171,"previous":"M16-GAP-02527","next":"M16-GAP-02529"},"M16-GAP-02529":{"line":2528,"offset":437255,"length":164,"previous":"M16-GAP-02528","next":"M16-GAP-02530"},"M16-GAP-02530":{"line":2529,"offset":437419,"length":164,"previous":"M16-GAP-02529","next":"M16-GAP-02531"},"M16-GAP-02531":{"line":2530,"offset":437583,"length":167,"previous":"M16-GAP-02530","next":"M16-GAP-02532"},"M16-GAP-02532":{"line":2531,"offset":437750,"length":174,"previous":"M16-GAP-02531","next":"M16-GAP-02533"},"M16-GAP-02533":{"line":2532,"offset":437924,"length":171,"previous":"M16-GAP-02532","next":"M16-GAP-02534"},"M16-GAP-02534":{"line":2533,"offset":438095,"length":171,"previous":"M16-GAP-02533","next":"M16-GAP-02535"},"M16-GAP-02535":{"line":2534,"offset":438266,"length":173,"previous":"M16-GAP-02534","next":"M16-GAP-02536"},"M16-GAP-02536":{"line":2535,"offset":438439,"length":178,"previous":"M16-GAP-02535","next":"M16-GAP-02537"},"M16-GAP-02537":{"line":2536,"offset":438617,"length":167,"previous":"M16-GAP-02536","next":"M16-GAP-02538"},"M16-GAP-02538":{"line":2537,"offset":438784,"length":166,"previous":"M16-GAP-02537","next":"M16-GAP-02539"},"M16-GAP-02539":{"line":2538,"offset":438950,"length":163,"previous":"M16-GAP-02538","next":"M16-GAP-02540"},"M16-GAP-02540":{"line":2539,"offset":439113,"length":164,"previous":"M16-GAP-02539","next":"M16-GAP-02541"},"M16-GAP-02541":{"line":2540,"offset":439277,"length":164,"previous":"M16-GAP-02540","next":"M16-GAP-02542"},"M16-GAP-02542":{"line":2541,"offset":439441,"length":174,"previous":"M16-GAP-02541","next":"M16-GAP-02543"},"M16-GAP-02543":{"line":2542,"offset":439615,"length":177,"previous":"M16-GAP-02542","next":"M16-GAP-02544"},"M16-GAP-02544":{"line":2543,"offset":439792,"length":168,"previous":"M16-GAP-02543","next":"M16-GAP-02545"},"M16-GAP-02545":{"line":2544,"offset":439960,"length":169,"previous":"M16-GAP-02544","next":"M16-GAP-02546"},"M16-GAP-02546":{"line":2545,"offset":440129,"length":168,"previous":"M16-GAP-02545","next":"M16-GAP-02547"},"M16-GAP-02547":{"line":2546,"offset":440297,"length":179,"previous":"M16-GAP-02546","next":"M16-GAP-02548"},"M16-GAP-02548":{"line":2547,"offset":440476,"length":169,"previous":"M16-GAP-02547","next":"M16-GAP-02549"},"M16-GAP-02549":{"line":2548,"offset":440645,"length":175,"previous":"M16-GAP-02548","next":"M16-GAP-02550"},"M16-GAP-02550":{"line":2549,"offset":440820,"length":171,"previous":"M16-GAP-02549","next":"M16-GAP-02551"},"M16-GAP-02551":{"line":2550,"offset":440991,"length":166,"previous":"M16-GAP-02550","next":"M16-GAP-02552"},"M16-GAP-02552":{"line":2551,"offset":441157,"length":168,"previous":"M16-GAP-02551","next":"M16-GAP-02553"},"M16-GAP-02553":{"line":2552,"offset":441325,"length":175,"previous":"M16-GAP-02552","next":"M16-GAP-02554"},"M16-GAP-02554":{"line":2553,"offset":441500,"length":175,"previous":"M16-GAP-02553","next":"M16-GAP-02555"},"M16-GAP-02555":{"line":2554,"offset":441675,"length":166,"previous":"M16-GAP-02554","next":"M16-GAP-02556"},"M16-GAP-02556":{"line":2555,"offset":441841,"length":167,"previous":"M16-GAP-02555","next":"M16-GAP-02557"},"M16-GAP-02557":{"line":2556,"offset":442008,"length":167,"previous":"M16-GAP-02556","next":"M16-GAP-02558"},"M16-GAP-02558":{"line":2557,"offset":442175,"length":171,"previous":"M16-GAP-02557","next":"M16-GAP-02559"},"M16-GAP-02559":{"line":2558,"offset":442346,"length":174,"previous":"M16-GAP-02558","next":"M16-GAP-02560"},"M16-GAP-02560":{"line":2559,"offset":442520,"length":166,"previous":"M16-GAP-02559","next":"M16-GAP-02561"},"M16-GAP-02561":{"line":2560,"offset":442686,"length":169,"previous":"M16-GAP-02560","next":"M16-GAP-02562"},"M16-GAP-02562":{"line":2561,"offset":442855,"length":170,"previous":"M16-GAP-02561","next":"M16-GAP-02563"},"M16-GAP-02563":{"line":2562,"offset":443025,"length":168,"previous":"M16-GAP-02562","next":"M16-GAP-02564"},"M16-GAP-02564":{"line":2563,"offset":443193,"length":167,"previous":"M16-GAP-02563","next":"M16-GAP-02565"},"M16-GAP-02565":{"line":2564,"offset":443360,"length":167,"previous":"M16-GAP-02564","next":"M16-GAP-02566"},"M16-GAP-02566":{"line":2565,"offset":443527,"length":167,"previous":"M16-GAP-02565","next":"M16-GAP-02567"},"M16-GAP-02567":{"line":2566,"offset":443694,"length":165,"previous":"M16-GAP-02566","next":"M16-GAP-02568"},"M16-GAP-02568":{"line":2567,"offset":443859,"length":169,"previous":"M16-GAP-02567","next":"M16-GAP-02569"},"M16-GAP-02569":{"line":2568,"offset":444028,"length":172,"previous":"M16-GAP-02568","next":"M16-GAP-02570"},"M16-GAP-02570":{"line":2569,"offset":444200,"length":167,"previous":"M16-GAP-02569","next":"M16-GAP-02571"},"M16-GAP-02571":{"line":2570,"offset":444367,"length":177,"previous":"M16-GAP-02570","next":"M16-GAP-02572"},"M16-GAP-02572":{"line":2571,"offset":444544,"length":160,"previous":"M16-GAP-02571","next":"M16-GAP-02573"},"M16-GAP-02573":{"line":2572,"offset":444704,"length":166,"previous":"M16-GAP-02572","next":"M16-GAP-02574"},"M16-GAP-02574":{"line":2573,"offset":444870,"length":164,"previous":"M16-GAP-02573","next":"M16-GAP-02575"},"M16-GAP-02575":{"line":2574,"offset":445034,"length":164,"previous":"M16-GAP-02574","next":"M16-GAP-02576"},"M16-GAP-02576":{"line":2575,"offset":445198,"length":161,"previous":"M16-GAP-02575","next":"M16-GAP-02577"},"M16-GAP-02577":{"line":2576,"offset":445359,"length":176,"previous":"M16-GAP-02576","next":"M16-GAP-02578"},"M16-GAP-02578":{"line":2577,"offset":445535,"length":168,"previous":"M16-GAP-02577","next":"M16-GAP-02579"},"M16-GAP-02579":{"line":2578,"offset":445703,"length":171,"previous":"M16-GAP-02578","next":"M16-GAP-02580"},"M16-GAP-02580":{"line":2579,"offset":445874,"length":161,"previous":"M16-GAP-02579","next":"M16-GAP-02581"},"M16-GAP-02581":{"line":2580,"offset":446035,"length":174,"previous":"M16-GAP-02580","next":"M16-GAP-02582"},"M16-GAP-02582":{"line":2581,"offset":446209,"length":168,"previous":"M16-GAP-02581","next":"M16-GAP-02583"},"M16-GAP-02583":{"line":2582,"offset":446377,"length":162,"previous":"M16-GAP-02582","next":"M16-GAP-02584"},"M16-GAP-02584":{"line":2583,"offset":446539,"length":169,"previous":"M16-GAP-02583","next":"M16-GAP-02585"},"M16-GAP-02585":{"line":2584,"offset":446708,"length":166,"previous":"M16-GAP-02584","next":"M16-GAP-02586"},"M16-GAP-02586":{"line":2585,"offset":446874,"length":178,"previous":"M16-GAP-02585","next":"M16-GAP-02587"},"M16-GAP-02587":{"line":2586,"offset":447052,"length":164,"previous":"M16-GAP-02586","next":"M16-GAP-02588"},"M16-GAP-02588":{"line":2587,"offset":447216,"length":169,"previous":"M16-GAP-02587","next":"M16-GAP-02589"},"M16-GAP-02589":{"line":2588,"offset":447385,"length":164,"previous":"M16-GAP-02588","next":"M16-GAP-02590"},"M16-GAP-02590":{"line":2589,"offset":447549,"length":176,"previous":"M16-GAP-02589","next":"M16-GAP-02591"},"M16-GAP-02591":{"line":2590,"offset":447725,"length":167,"previous":"M16-GAP-02590","next":"M16-GAP-02592"},"M16-GAP-02592":{"line":2591,"offset":447892,"length":178,"previous":"M16-GAP-02591","next":"M16-GAP-02593"},"M16-GAP-02593":{"line":2592,"offset":448070,"length":170,"previous":"M16-GAP-02592","next":"M16-GAP-02594"},"M16-GAP-02594":{"line":2593,"offset":448240,"length":176,"previous":"M16-GAP-02593","next":"M16-GAP-02595"},"M16-GAP-02595":{"line":2594,"offset":448416,"length":177,"previous":"M16-GAP-02594","next":"M16-GAP-02596"},"M16-GAP-02596":{"line":2595,"offset":448593,"length":177,"previous":"M16-GAP-02595","next":"M16-GAP-02597"},"M16-GAP-02597":{"line":2596,"offset":448770,"length":179,"previous":"M16-GAP-02596","next":"M16-GAP-02598"},"M16-GAP-02598":{"line":2597,"offset":448949,"length":160,"previous":"M16-GAP-02597","next":"M16-GAP-02599"},"M16-GAP-02599":{"line":2598,"offset":449109,"length":156,"previous":"M16-GAP-02598","next":"M16-GAP-02600"},"M16-GAP-02600":{"line":2599,"offset":449265,"length":163,"previous":"M16-GAP-02599","next":"M16-GAP-02601"},"M16-GAP-02601":{"line":2600,"offset":449428,"length":167,"previous":"M16-GAP-02600","next":"M16-GAP-02602"},"M16-GAP-02602":{"line":2601,"offset":449595,"length":165,"previous":"M16-GAP-02601","next":"M16-GAP-02603"},"M16-GAP-02603":{"line":2602,"offset":449760,"length":163,"previous":"M16-GAP-02602","next":"M16-GAP-02604"},"M16-GAP-02604":{"line":2603,"offset":449923,"length":166,"previous":"M16-GAP-02603","next":"M16-GAP-02605"},"M16-GAP-02605":{"line":2604,"offset":450089,"length":163,"previous":"M16-GAP-02604","next":"M16-GAP-02606"},"M16-GAP-02606":{"line":2605,"offset":450252,"length":167,"previous":"M16-GAP-02605","next":"M16-GAP-02607"},"M16-GAP-02607":{"line":2606,"offset":450419,"length":162,"previous":"M16-GAP-02606","next":"M16-GAP-02608"},"M16-GAP-02608":{"line":2607,"offset":450581,"length":161,"previous":"M16-GAP-02607","next":"M16-GAP-02609"},"M16-GAP-02609":{"line":2608,"offset":450742,"length":171,"previous":"M16-GAP-02608","next":"M16-GAP-02610"},"M16-GAP-02610":{"line":2609,"offset":450913,"length":166,"previous":"M16-GAP-02609","next":"M16-GAP-02611"},"M16-GAP-02611":{"line":2610,"offset":451079,"length":162,"previous":"M16-GAP-02610","next":"M16-GAP-02612"},"M16-GAP-02612":{"line":2611,"offset":451241,"length":164,"previous":"M16-GAP-02611","next":"M16-GAP-02613"},"M16-GAP-02613":{"line":2612,"offset":451405,"length":165,"previous":"M16-GAP-02612","next":"M16-GAP-02614"},"M16-GAP-02614":{"line":2613,"offset":451570,"length":162,"previous":"M16-GAP-02613","next":"M16-GAP-02615"},"M16-GAP-02615":{"line":2614,"offset":451732,"length":166,"previous":"M16-GAP-02614","next":"M16-GAP-02616"},"M16-GAP-02616":{"line":2615,"offset":451898,"length":161,"previous":"M16-GAP-02615","next":"M16-GAP-02617"},"M16-GAP-02617":{"line":2616,"offset":452059,"length":165,"previous":"M16-GAP-02616","next":"M16-GAP-02618"},"M16-GAP-02618":{"line":2617,"offset":452224,"length":162,"previous":"M16-GAP-02617","next":"M16-GAP-02619"},"M16-GAP-02619":{"line":2618,"offset":452386,"length":165,"previous":"M16-GAP-02618","next":"M16-GAP-02620"},"M16-GAP-02620":{"line":2619,"offset":452551,"length":166,"previous":"M16-GAP-02619","next":"M16-GAP-02621"},"M16-GAP-02621":{"line":2620,"offset":452717,"length":165,"previous":"M16-GAP-02620","next":"M16-GAP-02622"},"M16-GAP-02622":{"line":2621,"offset":452882,"length":163,"previous":"M16-GAP-02621","next":"M16-GAP-02623"},"M16-GAP-02623":{"line":2622,"offset":453045,"length":167,"previous":"M16-GAP-02622","next":"M16-GAP-02624"},"M16-GAP-02624":{"line":2623,"offset":453212,"length":164,"previous":"M16-GAP-02623","next":"M16-GAP-02625"},"M16-GAP-02625":{"line":2624,"offset":453376,"length":165,"previous":"M16-GAP-02624","next":"M16-GAP-02626"},"M16-GAP-02626":{"line":2625,"offset":453541,"length":167,"previous":"M16-GAP-02625","next":"M16-GAP-02627"},"M16-GAP-02627":{"line":2626,"offset":453708,"length":162,"previous":"M16-GAP-02626","next":"M16-GAP-02628"},"M16-GAP-02628":{"line":2627,"offset":453870,"length":162,"previous":"M16-GAP-02627","next":"M16-GAP-02629"},"M16-GAP-02629":{"line":2628,"offset":454032,"length":163,"previous":"M16-GAP-02628","next":"M16-GAP-02630"},"M16-GAP-02630":{"line":2629,"offset":454195,"length":162,"previous":"M16-GAP-02629","next":"M16-GAP-02631"},"M16-GAP-02631":{"line":2630,"offset":454357,"length":164,"previous":"M16-GAP-02630","next":"M16-GAP-02632"},"M16-GAP-02632":{"line":2631,"offset":454521,"length":161,"previous":"M16-GAP-02631","next":"M16-GAP-02633"},"M16-GAP-02633":{"line":2632,"offset":454682,"length":164,"previous":"M16-GAP-02632","next":"M16-GAP-02634"},"M16-GAP-02634":{"line":2633,"offset":454846,"length":163,"previous":"M16-GAP-02633","next":"M16-GAP-02635"},"M16-GAP-02635":{"line":2634,"offset":455009,"length":170,"previous":"M16-GAP-02634","next":"M16-GAP-02636"},"M16-GAP-02636":{"line":2635,"offset":455179,"length":166,"previous":"M16-GAP-02635","next":"M16-GAP-02637"},"M16-GAP-02637":{"line":2636,"offset":455345,"length":162,"previous":"M16-GAP-02636","next":"M16-GAP-02638"},"M16-GAP-02638":{"line":2637,"offset":455507,"length":156,"previous":"M16-GAP-02637","next":"M16-GAP-02639"},"M16-GAP-02639":{"line":2638,"offset":455663,"length":165,"previous":"M16-GAP-02638","next":"M16-GAP-02640"},"M16-GAP-02640":{"line":2639,"offset":455828,"length":160,"previous":"M16-GAP-02639","next":"M16-GAP-02641"},"M16-GAP-02641":{"line":2640,"offset":455988,"length":165,"previous":"M16-GAP-02640","next":"M16-GAP-02642"},"M16-GAP-02642":{"line":2641,"offset":456153,"length":161,"previous":"M16-GAP-02641","next":"M16-GAP-02643"},"M16-GAP-02643":{"line":2642,"offset":456314,"length":159,"previous":"M16-GAP-02642","next":"M16-GAP-02644"},"M16-GAP-02644":{"line":2643,"offset":456473,"length":151,"previous":"M16-GAP-02643","next":"M16-GAP-02645"},"M16-GAP-02645":{"line":2644,"offset":456624,"length":170,"previous":"M16-GAP-02644","next":"M16-GAP-02646"},"M16-GAP-02646":{"line":2645,"offset":456794,"length":164,"previous":"M16-GAP-02645","next":"M16-GAP-02647"},"M16-GAP-02647":{"line":2646,"offset":456958,"length":165,"previous":"M16-GAP-02646","next":"M16-GAP-02648"},"M16-GAP-02648":{"line":2647,"offset":457123,"length":155,"previous":"M16-GAP-02647","next":"M16-GAP-02649"},"M16-GAP-02649":{"line":2648,"offset":457278,"length":156,"previous":"M16-GAP-02648","next":"M16-GAP-02650"},"M16-GAP-02650":{"line":2649,"offset":457434,"length":155,"previous":"M16-GAP-02649","next":"M16-GAP-02651"},"M16-GAP-02651":{"line":2650,"offset":457589,"length":160,"previous":"M16-GAP-02650","next":"M16-GAP-02652"},"M16-GAP-02652":{"line":2651,"offset":457749,"length":165,"previous":"M16-GAP-02651","next":"M16-GAP-02653"},"M16-GAP-02653":{"line":2652,"offset":457914,"length":163,"previous":"M16-GAP-02652","next":"M16-GAP-02654"},"M16-GAP-02654":{"line":2653,"offset":458077,"length":164,"previous":"M16-GAP-02653","next":"M16-GAP-02655"},"M16-GAP-02655":{"line":2654,"offset":458241,"length":156,"previous":"M16-GAP-02654","next":"M16-GAP-02656"},"M16-GAP-02656":{"line":2655,"offset":458397,"length":162,"previous":"M16-GAP-02655","next":"M16-GAP-02657"},"M16-GAP-02657":{"line":2656,"offset":458559,"length":158,"previous":"M16-GAP-02656","next":"M16-GAP-02658"},"M16-GAP-02658":{"line":2657,"offset":458717,"length":159,"previous":"M16-GAP-02657","next":"M16-GAP-02659"},"M16-GAP-02659":{"line":2658,"offset":458876,"length":172,"previous":"M16-GAP-02658","next":"M16-GAP-02660"},"M16-GAP-02660":{"line":2659,"offset":459048,"length":161,"previous":"M16-GAP-02659","next":"M16-GAP-02661"},"M16-GAP-02661":{"line":2660,"offset":459209,"length":166,"previous":"M16-GAP-02660","next":"M16-GAP-02662"},"M16-GAP-02662":{"line":2661,"offset":459375,"length":158,"previous":"M16-GAP-02661","next":"M16-GAP-02663"},"M16-GAP-02663":{"line":2662,"offset":459533,"length":167,"previous":"M16-GAP-02662","next":"M16-GAP-02664"},"M16-GAP-02664":{"line":2663,"offset":459700,"length":157,"previous":"M16-GAP-02663","next":"M16-GAP-02665"},"M16-GAP-02665":{"line":2664,"offset":459857,"length":162,"previous":"M16-GAP-02664","next":"M16-GAP-02666"},"M16-GAP-02666":{"line":2665,"offset":460019,"length":157,"previous":"M16-GAP-02665","next":"M16-GAP-02667"},"M16-GAP-02667":{"line":2666,"offset":460176,"length":159,"previous":"M16-GAP-02666","next":"M17-GAP-00001"},"M17-GAP-00001":{"line":2667,"offset":460335,"length":161,"previous":"M16-GAP-02667","next":"M17-GAP-00002"},"M17-GAP-00002":{"line":2668,"offset":460496,"length":163,"previous":"M17-GAP-00001","next":"M17-GAP-00003"},"M17-GAP-00003":{"line":2669,"offset":460659,"length":168,"previous":"M17-GAP-00002","next":"M17-GAP-00004"},"M17-GAP-00004":{"line":2670,"offset":460827,"length":163,"previous":"M17-GAP-00003","next":"M17-GAP-00005"},"M17-GAP-00005":{"line":2671,"offset":460990,"length":163,"previous":"M17-GAP-00004","next":"M17-GAP-00006"},"M17-GAP-00006":{"line":2672,"offset":461153,"length":168,"previous":"M17-GAP-00005","next":"M17-GAP-00007"},"M17-GAP-00007":{"line":2673,"offset":461321,"length":168,"previous":"M17-GAP-00006","next":"M17-GAP-00008"},"M17-GAP-00008":{"line":2674,"offset":461489,"length":165,"previous":"M17-GAP-00007","next":"M17-GAP-00009"},"M17-GAP-00009":{"line":2675,"offset":461654,"length":170,"previous":"M17-GAP-00008","next":"M17-GAP-00010"},"M17-GAP-00010":{"line":2676,"offset":461824,"length":167,"previous":"M17-GAP-00009","next":"M17-GAP-00011"},"M17-GAP-00011":{"line":2677,"offset":461991,"length":160,"previous":"M17-GAP-00010","next":"M17-GAP-00012"},"M17-GAP-00012":{"line":2678,"offset":462151,"length":166,"previous":"M17-GAP-00011","next":"M17-GAP-00013"},"M17-GAP-00013":{"line":2679,"offset":462317,"length":167,"previous":"M17-GAP-00012","next":"M17-GAP-00014"},"M17-GAP-00014":{"line":2680,"offset":462484,"length":173,"previous":"M17-GAP-00013","next":"M17-GAP-00015"},"M17-GAP-00015":{"line":2681,"offset":462657,"length":157,"previous":"M17-GAP-00014","next":"M17-GAP-00016"},"M17-GAP-00016":{"line":2682,"offset":462814,"length":169,"previous":"M17-GAP-00015","next":"M17-GAP-00017"},"M17-GAP-00017":{"line":2683,"offset":462983,"length":169,"previous":"M17-GAP-00016","next":"M17-GAP-00018"},"M17-GAP-00018":{"line":2684,"offset":463152,"length":169,"previous":"M17-GAP-00017","next":"M17-GAP-00019"},"M17-GAP-00019":{"line":2685,"offset":463321,"length":166,"previous":"M17-GAP-00018","next":"M17-GAP-00020"},"M17-GAP-00020":{"line":2686,"offset":463487,"length":167,"previous":"M17-GAP-00019","next":"M17-GAP-00021"},"M17-GAP-00021":{"line":2687,"offset":463654,"length":170,"previous":"M17-GAP-00020","next":"M17-GAP-00022"},"M17-GAP-00022":{"line":2688,"offset":463824,"length":168,"previous":"M17-GAP-00021","next":"M17-GAP-00023"},"M17-GAP-00023":{"line":2689,"offset":463992,"length":160,"previous":"M17-GAP-00022","next":"M17-GAP-00024"},"M17-GAP-00024":{"line":2690,"offset":464152,"length":165,"previous":"M17-GAP-00023","next":"M17-GAP-00025"},"M17-GAP-00025":{"line":2691,"offset":464317,"length":164,"previous":"M17-GAP-00024","next":"M17-GAP-00026"},"M17-GAP-00026":{"line":2692,"offset":464481,"length":165,"previous":"M17-GAP-00025","next":"M17-GAP-00027"},"M17-GAP-00027":{"line":2693,"offset":464646,"length":163,"previous":"M17-GAP-00026","next":"M17-GAP-00028"},"M17-GAP-00028":{"line":2694,"offset":464809,"length":164,"previous":"M17-GAP-00027","next":"M17-GAP-00029"},"M17-GAP-00029":{"line":2695,"offset":464973,"length":170,"previous":"M17-GAP-00028","next":"M18-GAP-00001"},"M18-GAP-00001":{"line":2696,"offset":465143,"length":188,"previous":"M17-GAP-00029","next":"M18-GAP-00002"},"M18-GAP-00002":{"line":2697,"offset":465331,"length":191,"previous":"M18-GAP-00001","next":"M18-GAP-00003"},"M18-GAP-00003":{"line":2698,"offset":465522,"length":192,"previous":"M18-GAP-00002","next":"M18-GAP-00004"},"M18-GAP-00004":{"line":2699,"offset":465714,"length":189,"previous":"M18-GAP-00003","next":"M18-GAP-00005"},"M18-GAP-00005":{"line":2700,"offset":465903,"length":183,"previous":"M18-GAP-00004","next":"M18-GAP-00006"},"M18-GAP-00006":{"line":2701,"offset":466086,"length":188,"previous":"M18-GAP-00005","next":"M18-GAP-00007"},"M18-GAP-00007":{"line":2702,"offset":466274,"length":189,"previous":"M18-GAP-00006","next":"M18-GAP-00008"},"M18-GAP-00008":{"line":2703,"offset":466463,"length":186,"previous":"M18-GAP-00007","next":"M18-GAP-00009"},"M18-GAP-00009":{"line":2704,"offset":466649,"length":193,"previous":"M18-GAP-00008","next":"M18-GAP-00010"},"M18-GAP-00010":{"line":2705,"offset":466842,"length":191,"previous":"M18-GAP-00009","next":"M18-GAP-00011"},"M18-GAP-00011":{"line":2706,"offset":467033,"length":190,"previous":"M18-GAP-00010","next":"M18-GAP-00012"},"M18-GAP-00012":{"line":2707,"offset":467223,"length":191,"previous":"M18-GAP-00011","next":"M18-GAP-00013"},"M18-GAP-00013":{"line":2708,"offset":467414,"length":194,"previous":"M18-GAP-00012","next":"M18-GAP-00014"},"M18-GAP-00014":{"line":2709,"offset":467608,"length":189,"previous":"M18-GAP-00013","next":"M18-GAP-00015"},"M18-GAP-00015":{"line":2710,"offset":467797,"length":189,"previous":"M18-GAP-00014","next":"M18-GAP-00016"},"M18-GAP-00016":{"line":2711,"offset":467986,"length":191,"previous":"M18-GAP-00015","next":"M18-GAP-00017"},"M18-GAP-00017":{"line":2712,"offset":468177,"length":196,"previous":"M18-GAP-00016","next":"M18-GAP-00018"},"M18-GAP-00018":{"line":2713,"offset":468373,"length":195,"previous":"M18-GAP-00017","next":"M18-GAP-00019"},"M18-GAP-00019":{"line":2714,"offset":468568,"length":187,"previous":"M18-GAP-00018","next":"M18-GAP-00020"},"M18-GAP-00020":{"line":2715,"offset":468755,"length":188,"previous":"M18-GAP-00019","next":"M18-GAP-00021"},"M18-GAP-00021":{"line":2716,"offset":468943,"length":183,"previous":"M18-GAP-00020","next":"M18-GAP-00022"},"M18-GAP-00022":{"line":2717,"offset":469126,"length":190,"previous":"M18-GAP-00021","next":"M18-GAP-00023"},"M18-GAP-00023":{"line":2718,"offset":469316,"length":192,"previous":"M18-GAP-00022","next":"M18-GAP-00024"},"M18-GAP-00024":{"line":2719,"offset":469508,"length":187,"previous":"M18-GAP-00023","next":"M18-GAP-00025"},"M18-GAP-00025":{"line":2720,"offset":469695,"length":184,"previous":"M18-GAP-00024","next":"M18-GAP-00026"},"M18-GAP-00026":{"line":2721,"offset":469879,"length":186,"previous":"M18-GAP-00025","next":"M18-GAP-00027"},"M18-GAP-00027":{"line":2722,"offset":470065,"length":186,"previous":"M18-GAP-00026","next":"M18-GAP-00028"},"M18-GAP-00028":{"line":2723,"offset":470251,"length":188,"previous":"M18-GAP-00027","next":"M18-GAP-00029"},"M18-GAP-00029":{"line":2724,"offset":470439,"length":188,"previous":"M18-GAP-00028","next":"M18-GAP-00030"},"M18-GAP-00030":{"line":2725,"offset":470627,"length":190,"previous":"M18-GAP-00029","next":"M18-GAP-00031"},"M18-GAP-00031":{"line":2726,"offset":470817,"length":187,"previous":"M18-GAP-00030","next":"M18-GAP-00032"},"M18-GAP-00032":{"line":2727,"offset":471004,"length":192,"previous":"M18-GAP-00031","next":"M18-GAP-00033"},"M18-GAP-00033":{"line":2728,"offset":471196,"length":193,"previous":"M18-GAP-00032","next":"M18-GAP-00034"},"M18-GAP-00034":{"line":2729,"offset":471389,"length":190,"previous":"M18-GAP-00033","next":"M18-GAP-00035"},"M18-GAP-00035":{"line":2730,"offset":471579,"length":187,"previous":"M18-GAP-00034","next":"M18-GAP-00036"},"M18-GAP-00036":{"line":2731,"offset":471766,"length":185,"previous":"M18-GAP-00035","next":"M18-GAP-00037"},"M18-GAP-00037":{"line":2732,"offset":471951,"length":183,"previous":"M18-GAP-00036","next":"M18-GAP-00038"},"M18-GAP-00038":{"line":2733,"offset":472134,"length":184,"previous":"M18-GAP-00037","next":"M18-GAP-00039"},"M18-GAP-00039":{"line":2734,"offset":472318,"length":184,"previous":"M18-GAP-00038","next":"M18-GAP-00040"},"M18-GAP-00040":{"line":2735,"offset":472502,"length":189,"previous":"M18-GAP-00039","next":"M18-GAP-00041"},"M18-GAP-00041":{"line":2736,"offset":472691,"length":185,"previous":"M18-GAP-00040","next":"M18-GAP-00042"},"M18-GAP-00042":{"line":2737,"offset":472876,"length":185,"previous":"M18-GAP-00041","next":"M18-GAP-00043"},"M18-GAP-00043":{"line":2738,"offset":473061,"length":184,"previous":"M18-GAP-00042","next":"M18-GAP-00044"},"M18-GAP-00044":{"line":2739,"offset":473245,"length":195,"previous":"M18-GAP-00043","next":"M18-GAP-00045"},"M18-GAP-00045":{"line":2740,"offset":473440,"length":188,"previous":"M18-GAP-00044","next":"M18-GAP-00046"},"M18-GAP-00046":{"line":2741,"offset":473628,"length":186,"previous":"M18-GAP-00045","next":"M18-GAP-00047"},"M18-GAP-00047":{"line":2742,"offset":473814,"length":185,"previous":"M18-GAP-00046","next":"M18-GAP-00048"},"M18-GAP-00048":{"line":2743,"offset":473999,"length":185,"previous":"M18-GAP-00047","next":"M18-GAP-00049"},"M18-GAP-00049":{"line":2744,"offset":474184,"length":191,"previous":"M18-GAP-00048","next":"M18-GAP-00050"},"M18-GAP-00050":{"line":2745,"offset":474375,"length":187,"previous":"M18-GAP-00049","next":"M18-GAP-00051"},"M18-GAP-00051":{"line":2746,"offset":474562,"length":187,"previous":"M18-GAP-00050","next":"M18-GAP-00052"},"M18-GAP-00052":{"line":2747,"offset":474749,"length":185,"previous":"M18-GAP-00051","next":"M18-GAP-00053"},"M18-GAP-00053":{"line":2748,"offset":474934,"length":188,"previous":"M18-GAP-00052","next":"M18-GAP-00054"},"M18-GAP-00054":{"line":2749,"offset":475122,"length":184,"previous":"M18-GAP-00053","next":"M18-GAP-00055"},"M18-GAP-00055":{"line":2750,"offset":475306,"length":183,"previous":"M18-GAP-00054","next":"M18-GAP-00056"},"M18-GAP-00056":{"line":2751,"offset":475489,"length":188,"previous":"M18-GAP-00055","next":"M18-GAP-00057"},"M18-GAP-00057":{"line":2752,"offset":475677,"length":188,"previous":"M18-GAP-00056","next":"M18-GAP-00058"},"M18-GAP-00058":{"line":2753,"offset":475865,"length":194,"previous":"M18-GAP-00057","next":"M18-GAP-00059"},"M18-GAP-00059":{"line":2754,"offset":476059,"length":185,"previous":"M18-GAP-00058","next":"M18-GAP-00060"},"M18-GAP-00060":{"line":2755,"offset":476244,"length":188,"previous":"M18-GAP-00059","next":"M18-GAP-00061"},"M18-GAP-00061":{"line":2756,"offset":476432,"length":189,"previous":"M18-GAP-00060","next":"M18-GAP-00062"},"M18-GAP-00062":{"line":2757,"offset":476621,"length":187,"previous":"M18-GAP-00061","next":"M18-GAP-00063"},"M18-GAP-00063":{"line":2758,"offset":476808,"length":195,"previous":"M18-GAP-00062","next":"M18-GAP-00064"},"M18-GAP-00064":{"line":2759,"offset":477003,"length":188,"previous":"M18-GAP-00063","next":"M18-GAP-00065"},"M18-GAP-00065":{"line":2760,"offset":477191,"length":188,"previous":"M18-GAP-00064","next":"M18-GAP-00066"},"M18-GAP-00066":{"line":2761,"offset":477379,"length":182,"previous":"M18-GAP-00065","next":"M18-GAP-00067"},"M18-GAP-00067":{"line":2762,"offset":477561,"length":186,"previous":"M18-GAP-00066","next":"M18-GAP-00068"},"M18-GAP-00068":{"line":2763,"offset":477747,"length":186,"previous":"M18-GAP-00067","next":"M18-GAP-00069"},"M18-GAP-00069":{"line":2764,"offset":477933,"length":194,"previous":"M18-GAP-00068","next":"M18-GAP-00070"},"M18-GAP-00070":{"line":2765,"offset":478127,"length":185,"previous":"M18-GAP-00069","next":"M18-GAP-00071"},"M18-GAP-00071":{"line":2766,"offset":478312,"length":184,"previous":"M18-GAP-00070","next":"M18-GAP-00072"},"M18-GAP-00072":{"line":2767,"offset":478496,"length":188,"previous":"M18-GAP-00071","next":"M18-GAP-00073"},"M18-GAP-00073":{"line":2768,"offset":478684,"length":192,"previous":"M18-GAP-00072","next":"M18-GAP-00074"},"M18-GAP-00074":{"line":2769,"offset":478876,"length":197,"previous":"M18-GAP-00073","next":"M18-GAP-00075"},"M18-GAP-00075":{"line":2770,"offset":479073,"length":187,"previous":"M18-GAP-00074","next":"M18-GAP-00076"},"M18-GAP-00076":{"line":2771,"offset":479260,"length":184,"previous":"M18-GAP-00075","next":"M18-GAP-00077"},"M18-GAP-00077":{"line":2772,"offset":479444,"length":188,"previous":"M18-GAP-00076","next":"M18-GAP-00078"},"M18-GAP-00078":{"line":2773,"offset":479632,"length":192,"previous":"M18-GAP-00077","next":"M18-GAP-00079"},"M18-GAP-00079":{"line":2774,"offset":479824,"length":185,"previous":"M18-GAP-00078","next":"M18-GAP-00080"},"M18-GAP-00080":{"line":2775,"offset":480009,"length":189,"previous":"M18-GAP-00079","next":"M18-GAP-00081"},"M18-GAP-00081":{"line":2776,"offset":480198,"length":183,"previous":"M18-GAP-00080","next":"M18-GAP-00082"},"M18-GAP-00082":{"line":2777,"offset":480381,"length":186,"previous":"M18-GAP-00081","next":"M18-GAP-00083"},"M18-GAP-00083":{"line":2778,"offset":480567,"length":187,"previous":"M18-GAP-00082","next":"M18-GAP-00084"},"M18-GAP-00084":{"line":2779,"offset":480754,"length":188,"previous":"M18-GAP-00083","next":"M18-GAP-00085"},"M18-GAP-00085":{"line":2780,"offset":480942,"length":188,"previous":"M18-GAP-00084","next":"M18-GAP-00086"},"M18-GAP-00086":{"line":2781,"offset":481130,"length":186,"previous":"M18-GAP-00085","next":"M18-GAP-00087"},"M18-GAP-00087":{"line":2782,"offset":481316,"length":185,"previous":"M18-GAP-00086","next":"M18-GAP-00088"},"M18-GAP-00088":{"line":2783,"offset":481501,"length":187,"previous":"M18-GAP-00087","next":"M18-GAP-00089"},"M18-GAP-00089":{"line":2784,"offset":481688,"length":188,"previous":"M18-GAP-00088","next":"M18-GAP-00090"},"M18-GAP-00090":{"line":2785,"offset":481876,"length":192,"previous":"M18-GAP-00089","next":"M18-GAP-00091"},"M18-GAP-00091":{"line":2786,"offset":482068,"length":191,"previous":"M18-GAP-00090","next":"M18-GAP-00092"},"M18-GAP-00092":{"line":2787,"offset":482259,"length":177,"previous":"M18-GAP-00091","next":"M18-GAP-00093"},"M18-GAP-00093":{"line":2788,"offset":482436,"length":186,"previous":"M18-GAP-00092","next":"M18-GAP-00094"},"M18-GAP-00094":{"line":2789,"offset":482622,"length":181,"previous":"M18-GAP-00093","next":"M18-GAP-00095"},"M18-GAP-00095":{"line":2790,"offset":482803,"length":181,"previous":"M18-GAP-00094","next":"M18-GAP-00096"},"M18-GAP-00096":{"line":2791,"offset":482984,"length":183,"previous":"M18-GAP-00095","next":"M18-GAP-00097"},"M18-GAP-00097":{"line":2792,"offset":483167,"length":189,"previous":"M18-GAP-00096","next":"M18-GAP-00098"},"M18-GAP-00098":{"line":2793,"offset":483356,"length":186,"previous":"M18-GAP-00097","next":"M18-GAP-00099"},"M18-GAP-00099":{"line":2794,"offset":483542,"length":191,"previous":"M18-GAP-00098","next":"M18-GAP-00100"},"M18-GAP-00100":{"line":2795,"offset":483733,"length":190,"previous":"M18-GAP-00099","next":"M18-GAP-00101"},"M18-GAP-00101":{"line":2796,"offset":483923,"length":191,"previous":"M18-GAP-00100","next":"M18-GAP-00102"},"M18-GAP-00102":{"line":2797,"offset":484114,"length":187,"previous":"M18-GAP-00101","next":"M18-GAP-00103"},"M18-GAP-00103":{"line":2798,"offset":484301,"length":183,"previous":"M18-GAP-00102","next":"M18-GAP-00104"},"M18-GAP-00104":{"line":2799,"offset":484484,"length":186,"previous":"M18-GAP-00103","next":"M18-GAP-00105"},"M18-GAP-00105":{"line":2800,"offset":484670,"length":186,"previous":"M18-GAP-00104","next":"M18-GAP-00106"},"M18-GAP-00106":{"line":2801,"offset":484856,"length":188,"previous":"M18-GAP-00105","next":"M18-GAP-00107"},"M18-GAP-00107":{"line":2802,"offset":485044,"length":189,"previous":"M18-GAP-00106","next":"M18-GAP-00108"},"M18-GAP-00108":{"line":2803,"offset":485233,"length":181,"previous":"M18-GAP-00107","next":"M18-GAP-00109"},"M18-GAP-00109":{"line":2804,"offset":485414,"length":195,"previous":"M18-GAP-00108","next":"M18-GAP-00110"},"M18-GAP-00110":{"line":2805,"offset":485609,"length":197,"previous":"M18-GAP-00109","next":"M18-GAP-00111"},"M18-GAP-00111":{"line":2806,"offset":485806,"length":184,"previous":"M18-GAP-00110","next":"M18-GAP-00112"},"M18-GAP-00112":{"line":2807,"offset":485990,"length":185,"previous":"M18-GAP-00111","next":"M18-GAP-00113"},"M18-GAP-00113":{"line":2808,"offset":486175,"length":200,"previous":"M18-GAP-00112","next":"M18-GAP-00114"},"M18-GAP-00114":{"line":2809,"offset":486375,"length":193,"previous":"M18-GAP-00113","next":"M18-GAP-00115"},"M18-GAP-00115":{"line":2810,"offset":486568,"length":191,"previous":"M18-GAP-00114","next":"M18-GAP-00116"},"M18-GAP-00116":{"line":2811,"offset":486759,"length":200,"previous":"M18-GAP-00115","next":"M18-GAP-00117"},"M18-GAP-00117":{"line":2812,"offset":486959,"length":193,"previous":"M18-GAP-00116","next":"M18-GAP-00118"},"M18-GAP-00118":{"line":2813,"offset":487152,"length":188,"previous":"M18-GAP-00117","next":"M18-GAP-00119"},"M18-GAP-00119":{"line":2814,"offset":487340,"length":184,"previous":"M18-GAP-00118","next":"M18-GAP-00120"},"M18-GAP-00120":{"line":2815,"offset":487524,"length":188,"previous":"M18-GAP-00119","next":"M18-GAP-00121"},"M18-GAP-00121":{"line":2816,"offset":487712,"length":182,"previous":"M18-GAP-00120","next":"M18-GAP-00122"},"M18-GAP-00122":{"line":2817,"offset":487894,"length":184,"previous":"M18-GAP-00121","next":"M18-GAP-00123"},"M18-GAP-00123":{"line":2818,"offset":488078,"length":186,"previous":"M18-GAP-00122","next":"M18-GAP-00124"},"M18-GAP-00124":{"line":2819,"offset":488264,"length":193,"previous":"M18-GAP-00123","next":"M18-GAP-00125"},"M18-GAP-00125":{"line":2820,"offset":488457,"length":194,"previous":"M18-GAP-00124","next":"M18-GAP-00126"},"M18-GAP-00126":{"line":2821,"offset":488651,"length":187,"previous":"M18-GAP-00125","next":"M18-GAP-00127"},"M18-GAP-00127":{"line":2822,"offset":488838,"length":195,"previous":"M18-GAP-00126","next":"M18-GAP-00128"},"M18-GAP-00128":{"line":2823,"offset":489033,"length":197,"previous":"M18-GAP-00127","next":"M18-GAP-00129"},"M18-GAP-00129":{"line":2824,"offset":489230,"length":196,"previous":"M18-GAP-00128","next":"M18-GAP-00130"},"M18-GAP-00130":{"line":2825,"offset":489426,"length":181,"previous":"M18-GAP-00129","next":"M18-GAP-00131"},"M18-GAP-00131":{"line":2826,"offset":489607,"length":190,"previous":"M18-GAP-00130","next":"M18-GAP-00132"},"M18-GAP-00132":{"line":2827,"offset":489797,"length":190,"previous":"M18-GAP-00131","next":"M18-GAP-00133"},"M18-GAP-00133":{"line":2828,"offset":489987,"length":193,"previous":"M18-GAP-00132","next":"M18-GAP-00134"},"M18-GAP-00134":{"line":2829,"offset":490180,"length":186,"previous":"M18-GAP-00133","next":"M18-GAP-00135"},"M18-GAP-00135":{"line":2830,"offset":490366,"length":186,"previous":"M18-GAP-00134","next":"M18-GAP-00136"},"M18-GAP-00136":{"line":2831,"offset":490552,"length":190,"previous":"M18-GAP-00135","next":"M18-GAP-00137"},"M18-GAP-00137":{"line":2832,"offset":490742,"length":184,"previous":"M18-GAP-00136","next":"M18-GAP-00138"},"M18-GAP-00138":{"line":2833,"offset":490926,"length":185,"previous":"M18-GAP-00137","next":"M18-GAP-00139"},"M18-GAP-00139":{"line":2834,"offset":491111,"length":185,"previous":"M18-GAP-00138","next":"M18-GAP-00140"},"M18-GAP-00140":{"line":2835,"offset":491296,"length":185,"previous":"M18-GAP-00139","next":"M18-GAP-00141"},"M18-GAP-00141":{"line":2836,"offset":491481,"length":187,"previous":"M18-GAP-00140","next":"M18-GAP-00142"},"M18-GAP-00142":{"line":2837,"offset":491668,"length":186,"previous":"M18-GAP-00141","next":"M18-GAP-00143"},"M18-GAP-00143":{"line":2838,"offset":491854,"length":184,"previous":"M18-GAP-00142","next":"M18-GAP-00144"},"M18-GAP-00144":{"line":2839,"offset":492038,"length":184,"previous":"M18-GAP-00143","next":"M18-GAP-00145"},"M18-GAP-00145":{"line":2840,"offset":492222,"length":186,"previous":"M18-GAP-00144","next":"M18-GAP-00146"},"M18-GAP-00146":{"line":2841,"offset":492408,"length":182,"previous":"M18-GAP-00145","next":"M18-GAP-00147"},"M18-GAP-00147":{"line":2842,"offset":492590,"length":184,"previous":"M18-GAP-00146","next":"M18-GAP-00148"},"M18-GAP-00148":{"line":2843,"offset":492774,"length":183,"previous":"M18-GAP-00147","next":"M18-GAP-00149"},"M18-GAP-00149":{"line":2844,"offset":492957,"length":182,"previous":"M18-GAP-00148","next":"M18-GAP-00150"},"M18-GAP-00150":{"line":2845,"offset":493139,"length":200,"previous":"M18-GAP-00149","next":"M18-GAP-00151"},"M18-GAP-00151":{"line":2846,"offset":493339,"length":201,"previous":"M18-GAP-00150","next":"M18-GAP-00152"},"M18-GAP-00152":{"line":2847,"offset":493540,"length":191,"previous":"M18-GAP-00151","next":"M18-GAP-00153"},"M18-GAP-00153":{"line":2848,"offset":493731,"length":190,"previous":"M18-GAP-00152","next":"M18-GAP-00154"},"M18-GAP-00154":{"line":2849,"offset":493921,"length":190,"previous":"M18-GAP-00153","next":"M18-GAP-00155"},"M18-GAP-00155":{"line":2850,"offset":494111,"length":193,"previous":"M18-GAP-00154","next":"M18-GAP-00156"},"M18-GAP-00156":{"line":2851,"offset":494304,"length":185,"previous":"M18-GAP-00155","next":"M18-GAP-00157"},"M18-GAP-00157":{"line":2852,"offset":494489,"length":182,"previous":"M18-GAP-00156","next":"M18-GAP-00158"},"M18-GAP-00158":{"line":2853,"offset":494671,"length":184,"previous":"M18-GAP-00157","next":"M18-GAP-00159"},"M18-GAP-00159":{"line":2854,"offset":494855,"length":187,"previous":"M18-GAP-00158","next":"M18-GAP-00160"},"M18-GAP-00160":{"line":2855,"offset":495042,"length":193,"previous":"M18-GAP-00159","next":"M18-GAP-00161"},"M18-GAP-00161":{"line":2856,"offset":495235,"length":183,"previous":"M18-GAP-00160","next":"M18-GAP-00162"},"M18-GAP-00162":{"line":2857,"offset":495418,"length":181,"previous":"M18-GAP-00161","next":"M18-GAP-00163"},"M18-GAP-00163":{"line":2858,"offset":495599,"length":181,"previous":"M18-GAP-00162","next":"M18-GAP-00164"},"M18-GAP-00164":{"line":2859,"offset":495780,"length":191,"previous":"M18-GAP-00163","next":"M18-GAP-00165"},"M18-GAP-00165":{"line":2860,"offset":495971,"length":187,"previous":"M18-GAP-00164","next":"M18-GAP-00166"},"M18-GAP-00166":{"line":2861,"offset":496158,"length":185,"previous":"M18-GAP-00165","next":"M18-GAP-00167"},"M18-GAP-00167":{"line":2862,"offset":496343,"length":181,"previous":"M18-GAP-00166","next":"M18-GAP-00168"},"M18-GAP-00168":{"line":2863,"offset":496524,"length":186,"previous":"M18-GAP-00167","next":"M18-GAP-00169"},"M18-GAP-00169":{"line":2864,"offset":496710,"length":181,"previous":"M18-GAP-00168","next":"M18-GAP-00170"},"M18-GAP-00170":{"line":2865,"offset":496891,"length":183,"previous":"M18-GAP-00169","next":"M18-GAP-00171"},"M18-GAP-00171":{"line":2866,"offset":497074,"length":182,"previous":"M18-GAP-00170","next":"M18-GAP-00172"},"M18-GAP-00172":{"line":2867,"offset":497256,"length":183,"previous":"M18-GAP-00171","next":"M18-GAP-00173"},"M18-GAP-00173":{"line":2868,"offset":497439,"length":185,"previous":"M18-GAP-00172","next":"M18-GAP-00174"},"M18-GAP-00174":{"line":2869,"offset":497624,"length":185,"previous":"M18-GAP-00173","next":"M18-GAP-00175"},"M18-GAP-00175":{"line":2870,"offset":497809,"length":178,"previous":"M18-GAP-00174","next":"M18-GAP-00176"},"M18-GAP-00176":{"line":2871,"offset":497987,"length":182,"previous":"M18-GAP-00175","next":"M18-GAP-00177"},"M18-GAP-00177":{"line":2872,"offset":498169,"length":185,"previous":"M18-GAP-00176","next":"M18-GAP-00178"},"M18-GAP-00178":{"line":2873,"offset":498354,"length":182,"previous":"M18-GAP-00177","next":"M18-GAP-00179"},"M18-GAP-00179":{"line":2874,"offset":498536,"length":182,"previous":"M18-GAP-00178","next":"M18-GAP-00180"},"M18-GAP-00180":{"line":2875,"offset":498718,"length":182,"previous":"M18-GAP-00179","next":"M18-GAP-00181"},"M18-GAP-00181":{"line":2876,"offset":498900,"length":182,"previous":"M18-GAP-00180","next":"M18-GAP-00182"},"M18-GAP-00182":{"line":2877,"offset":499082,"length":183,"previous":"M18-GAP-00181","next":"M18-GAP-00183"},"M18-GAP-00183":{"line":2878,"offset":499265,"length":182,"previous":"M18-GAP-00182","next":"M18-GAP-00184"},"M18-GAP-00184":{"line":2879,"offset":499447,"length":187,"previous":"M18-GAP-00183","next":"M18-GAP-00185"},"M18-GAP-00185":{"line":2880,"offset":499634,"length":184,"previous":"M18-GAP-00184","next":"M18-GAP-00186"},"M18-GAP-00186":{"line":2881,"offset":499818,"length":190,"previous":"M18-GAP-00185","next":"M18-GAP-00187"},"M18-GAP-00187":{"line":2882,"offset":500008,"length":188,"previous":"M18-GAP-00186","next":"M18-GAP-00188"},"M18-GAP-00188":{"line":2883,"offset":500196,"length":198,"previous":"M18-GAP-00187","next":"M18-GAP-00189"},"M18-GAP-00189":{"line":2884,"offset":500394,"length":187,"previous":"M18-GAP-00188","next":"M18-GAP-00190"},"M18-GAP-00190":{"line":2885,"offset":500581,"length":188,"previous":"M18-GAP-00189","next":"M18-GAP-00191"},"M18-GAP-00191":{"line":2886,"offset":500769,"length":182,"previous":"M18-GAP-00190","next":"M18-GAP-00192"},"M18-GAP-00192":{"line":2887,"offset":500951,"length":180,"previous":"M18-GAP-00191","next":"M18-GAP-00193"},"M18-GAP-00193":{"line":2888,"offset":501131,"length":183,"previous":"M18-GAP-00192","next":"M18-GAP-00194"},"M18-GAP-00194":{"line":2889,"offset":501314,"length":183,"previous":"M18-GAP-00193","next":"M18-GAP-00195"},"M18-GAP-00195":{"line":2890,"offset":501497,"length":192,"previous":"M18-GAP-00194","next":"M18-GAP-00196"},"M18-GAP-00196":{"line":2891,"offset":501689,"length":195,"previous":"M18-GAP-00195","next":"M18-GAP-00197"},"M18-GAP-00197":{"line":2892,"offset":501884,"length":194,"previous":"M18-GAP-00196","next":"M18-GAP-00198"},"M18-GAP-00198":{"line":2893,"offset":502078,"length":191,"previous":"M18-GAP-00197","next":"M18-GAP-00199"},"M18-GAP-00199":{"line":2894,"offset":502269,"length":186,"previous":"M18-GAP-00198","next":"M18-GAP-00200"},"M18-GAP-00200":{"line":2895,"offset":502455,"length":191,"previous":"M18-GAP-00199","next":"M18-GAP-00201"},"M18-GAP-00201":{"line":2896,"offset":502646,"length":191,"previous":"M18-GAP-00200","next":"M18-GAP-00202"},"M18-GAP-00202":{"line":2897,"offset":502837,"length":195,"previous":"M18-GAP-00201","next":"M18-GAP-00203"},"M18-GAP-00203":{"line":2898,"offset":503032,"length":194,"previous":"M18-GAP-00202","next":"M18-GAP-00204"},"M18-GAP-00204":{"line":2899,"offset":503226,"length":190,"previous":"M18-GAP-00203","next":"M18-GAP-00205"},"M18-GAP-00205":{"line":2900,"offset":503416,"length":194,"previous":"M18-GAP-00204","next":"M18-GAP-00206"},"M18-GAP-00206":{"line":2901,"offset":503610,"length":195,"previous":"M18-GAP-00205","next":"M18-GAP-00207"},"M18-GAP-00207":{"line":2902,"offset":503805,"length":188,"previous":"M18-GAP-00206","next":"M18-GAP-00208"},"M18-GAP-00208":{"line":2903,"offset":503993,"length":197,"previous":"M18-GAP-00207","next":"M18-GAP-00209"},"M18-GAP-00209":{"line":2904,"offset":504190,"length":192,"previous":"M18-GAP-00208","next":"M18-GAP-00210"},"M18-GAP-00210":{"line":2905,"offset":504382,"length":197,"previous":"M18-GAP-00209","next":"M18-GAP-00211"},"M18-GAP-00211":{"line":2906,"offset":504579,"length":184,"previous":"M18-GAP-00210","next":"M18-GAP-00212"},"M18-GAP-00212":{"line":2907,"offset":504763,"length":184,"previous":"M18-GAP-00211","next":"M18-GAP-00213"},"M18-GAP-00213":{"line":2908,"offset":504947,"length":186,"previous":"M18-GAP-00212","next":"M18-GAP-00214"},"M18-GAP-00214":{"line":2909,"offset":505133,"length":184,"previous":"M18-GAP-00213","next":"M18-GAP-00215"},"M18-GAP-00215":{"line":2910,"offset":505317,"length":187,"previous":"M18-GAP-00214","next":"M18-GAP-00216"},"M18-GAP-00216":{"line":2911,"offset":505504,"length":189,"previous":"M18-GAP-00215","next":"M18-GAP-00217"},"M18-GAP-00217":{"line":2912,"offset":505693,"length":195,"previous":"M18-GAP-00216","next":"M18-GAP-00218"},"M18-GAP-00218":{"line":2913,"offset":505888,"length":190,"previous":"M18-GAP-00217","next":"M18-GAP-00219"},"M18-GAP-00219":{"line":2914,"offset":506078,"length":194,"previous":"M18-GAP-00218","next":"M18-GAP-00220"},"M18-GAP-00220":{"line":2915,"offset":506272,"length":185,"previous":"M18-GAP-00219","next":"M18-GAP-00221"},"M18-GAP-00221":{"line":2916,"offset":506457,"length":188,"previous":"M18-GAP-00220","next":"M18-GAP-00222"},"M18-GAP-00222":{"line":2917,"offset":506645,"length":189,"previous":"M18-GAP-00221","next":"M18-GAP-00223"},"M18-GAP-00223":{"line":2918,"offset":506834,"length":190,"previous":"M18-GAP-00222","next":"M18-GAP-00224"},"M18-GAP-00224":{"line":2919,"offset":507024,"length":190,"previous":"M18-GAP-00223","next":"M18-GAP-00225"},"M18-GAP-00225":{"line":2920,"offset":507214,"length":190,"previous":"M18-GAP-00224","next":"M18-GAP-00226"},"M18-GAP-00226":{"line":2921,"offset":507404,"length":183,"previous":"M18-GAP-00225","next":"M18-GAP-00227"},"M18-GAP-00227":{"line":2922,"offset":507587,"length":185,"previous":"M18-GAP-00226","next":"M18-GAP-00228"},"M18-GAP-00228":{"line":2923,"offset":507772,"length":184,"previous":"M18-GAP-00227","next":"M18-GAP-00229"},"M18-GAP-00229":{"line":2924,"offset":507956,"length":183,"previous":"M18-GAP-00228","next":"M18-GAP-00230"},"M18-GAP-00230":{"line":2925,"offset":508139,"length":190,"previous":"M18-GAP-00229","next":"M18-GAP-00231"},"M18-GAP-00231":{"line":2926,"offset":508329,"length":183,"previous":"M18-GAP-00230","next":"M18-GAP-00232"},"M18-GAP-00232":{"line":2927,"offset":508512,"length":188,"previous":"M18-GAP-00231","next":"M18-GAP-00233"},"M18-GAP-00233":{"line":2928,"offset":508700,"length":184,"previous":"M18-GAP-00232","next":"M18-GAP-00234"},"M18-GAP-00234":{"line":2929,"offset":508884,"length":184,"previous":"M18-GAP-00233","next":"M18-GAP-00235"},"M18-GAP-00235":{"line":2930,"offset":509068,"length":182,"previous":"M18-GAP-00234","next":"M18-GAP-00236"},"M18-GAP-00236":{"line":2931,"offset":509250,"length":184,"previous":"M18-GAP-00235","next":"M18-GAP-00237"},"M18-GAP-00237":{"line":2932,"offset":509434,"length":183,"previous":"M18-GAP-00236","next":"M18-GAP-00238"},"M18-GAP-00238":{"line":2933,"offset":509617,"length":181,"previous":"M18-GAP-00237","next":"M18-GAP-00239"},"M18-GAP-00239":{"line":2934,"offset":509798,"length":181,"previous":"M18-GAP-00238","next":"M18-GAP-00240"},"M18-GAP-00240":{"line":2935,"offset":509979,"length":185,"previous":"M18-GAP-00239","next":"M18-GAP-00241"},"M18-GAP-00241":{"line":2936,"offset":510164,"length":194,"previous":"M18-GAP-00240","next":"M18-GAP-00242"},"M18-GAP-00242":{"line":2937,"offset":510358,"length":181,"previous":"M18-GAP-00241","next":"M18-GAP-00243"},"M18-GAP-00243":{"line":2938,"offset":510539,"length":186,"previous":"M18-GAP-00242","next":"M18-GAP-00244"},"M18-GAP-00244":{"line":2939,"offset":510725,"length":181,"previous":"M18-GAP-00243","next":"M18-GAP-00245"},"M18-GAP-00245":{"line":2940,"offset":510906,"length":184,"previous":"M18-GAP-00244","next":"M18-GAP-00246"},"M18-GAP-00246":{"line":2941,"offset":511090,"length":190,"previous":"M18-GAP-00245","next":"M18-GAP-00247"},"M18-GAP-00247":{"line":2942,"offset":511280,"length":185,"previous":"M18-GAP-00246","next":"M18-GAP-00248"},"M18-GAP-00248":{"line":2943,"offset":511465,"length":186,"previous":"M18-GAP-00247","next":"M18-GAP-00249"},"M18-GAP-00249":{"line":2944,"offset":511651,"length":185,"previous":"M18-GAP-00248","next":"M18-GAP-00250"},"M18-GAP-00250":{"line":2945,"offset":511836,"length":185,"previous":"M18-GAP-00249","next":"M18-GAP-00251"},"M18-GAP-00251":{"line":2946,"offset":512021,"length":183,"previous":"M18-GAP-00250","next":"M18-GAP-00252"},"M18-GAP-00252":{"line":2947,"offset":512204,"length":191,"previous":"M18-GAP-00251","next":"M18-GAP-00253"},"M18-GAP-00253":{"line":2948,"offset":512395,"length":191,"previous":"M18-GAP-00252","next":"M18-GAP-00254"},"M18-GAP-00254":{"line":2949,"offset":512586,"length":179,"previous":"M18-GAP-00253","next":"M18-GAP-00255"},"M18-GAP-00255":{"line":2950,"offset":512765,"length":186,"previous":"M18-GAP-00254","next":"M18-GAP-00256"},"M18-GAP-00256":{"line":2951,"offset":512951,"length":187,"previous":"M18-GAP-00255","next":"M18-GAP-00257"},"M18-GAP-00257":{"line":2952,"offset":513138,"length":188,"previous":"M18-GAP-00256","next":"M18-GAP-00258"},"M18-GAP-00258":{"line":2953,"offset":513326,"length":189,"previous":"M18-GAP-00257","next":"M18-GAP-00259"},"M18-GAP-00259":{"line":2954,"offset":513515,"length":187,"previous":"M18-GAP-00258","next":"M18-GAP-00260"},"M18-GAP-00260":{"line":2955,"offset":513702,"length":182,"previous":"M18-GAP-00259","next":"M18-GAP-00261"},"M18-GAP-00261":{"line":2956,"offset":513884,"length":180,"previous":"M18-GAP-00260","next":"M18-GAP-00262"},"M18-GAP-00262":{"line":2957,"offset":514064,"length":189,"previous":"M18-GAP-00261","next":"M18-GAP-00263"},"M18-GAP-00263":{"line":2958,"offset":514253,"length":188,"previous":"M18-GAP-00262","next":"M18-GAP-00264"},"M18-GAP-00264":{"line":2959,"offset":514441,"length":188,"previous":"M18-GAP-00263","next":"M18-GAP-00265"},"M18-GAP-00265":{"line":2960,"offset":514629,"length":184,"previous":"M18-GAP-00264","next":"M18-GAP-00266"},"M18-GAP-00266":{"line":2961,"offset":514813,"length":185,"previous":"M18-GAP-00265","next":"M18-GAP-00267"},"M18-GAP-00267":{"line":2962,"offset":514998,"length":188,"previous":"M18-GAP-00266","next":"M18-GAP-00268"},"M18-GAP-00268":{"line":2963,"offset":515186,"length":186,"previous":"M18-GAP-00267","next":"M18-GAP-00269"},"M18-GAP-00269":{"line":2964,"offset":515372,"length":185,"previous":"M18-GAP-00268","next":"M18-GAP-00270"},"M18-GAP-00270":{"line":2965,"offset":515557,"length":188,"previous":"M18-GAP-00269","next":"M18-GAP-00271"},"M18-GAP-00271":{"line":2966,"offset":515745,"length":187,"previous":"M18-GAP-00270","next":"M18-GAP-00272"},"M18-GAP-00272":{"line":2967,"offset":515932,"length":186,"previous":"M18-GAP-00271","next":"M18-GAP-00273"},"M18-GAP-00273":{"line":2968,"offset":516118,"length":189,"previous":"M18-GAP-00272","next":"M18-GAP-00274"},"M18-GAP-00274":{"line":2969,"offset":516307,"length":184,"previous":"M18-GAP-00273","next":"M18-GAP-00275"},"M18-GAP-00275":{"line":2970,"offset":516491,"length":193,"previous":"M18-GAP-00274","next":"M18-GAP-00276"},"M18-GAP-00276":{"line":2971,"offset":516684,"length":186,"previous":"M18-GAP-00275","next":"M18-GAP-00277"},"M18-GAP-00277":{"line":2972,"offset":516870,"length":186,"previous":"M18-GAP-00276","next":"M18-GAP-00278"},"M18-GAP-00278":{"line":2973,"offset":517056,"length":184,"previous":"M18-GAP-00277","next":"M18-GAP-00279"},"M18-GAP-00279":{"line":2974,"offset":517240,"length":183,"previous":"M18-GAP-00278","next":"M18-GAP-00280"},"M18-GAP-00280":{"line":2975,"offset":517423,"length":188,"previous":"M18-GAP-00279","next":"M18-GAP-00281"},"M18-GAP-00281":{"line":2976,"offset":517611,"length":184,"previous":"M18-GAP-00280","next":"M18-GAP-00282"},"M18-GAP-00282":{"line":2977,"offset":517795,"length":186,"previous":"M18-GAP-00281","next":"M18-GAP-00283"},"M18-GAP-00283":{"line":2978,"offset":517981,"length":193,"previous":"M18-GAP-00282","next":"M18-GAP-00284"},"M18-GAP-00284":{"line":2979,"offset":518174,"length":195,"previous":"M18-GAP-00283","next":"M18-GAP-00285"},"M18-GAP-00285":{"line":2980,"offset":518369,"length":188,"previous":"M18-GAP-00284","next":"M18-GAP-00286"},"M18-GAP-00286":{"line":2981,"offset":518557,"length":186,"previous":"M18-GAP-00285","next":"M18-GAP-00287"},"M18-GAP-00287":{"line":2982,"offset":518743,"length":187,"previous":"M18-GAP-00286","next":"M18-GAP-00288"},"M18-GAP-00288":{"line":2983,"offset":518930,"length":183,"previous":"M18-GAP-00287","next":"M18-GAP-00289"},"M18-GAP-00289":{"line":2984,"offset":519113,"length":191,"previous":"M18-GAP-00288","next":"M18-GAP-00290"},"M18-GAP-00290":{"line":2985,"offset":519304,"length":189,"previous":"M18-GAP-00289","next":"M18-GAP-00291"},"M18-GAP-00291":{"line":2986,"offset":519493,"length":196,"previous":"M18-GAP-00290","next":"M18-GAP-00292"},"M18-GAP-00292":{"line":2987,"offset":519689,"length":187,"previous":"M18-GAP-00291","next":"M18-GAP-00293"},"M18-GAP-00293":{"line":2988,"offset":519876,"length":187,"previous":"M18-GAP-00292","next":"M18-GAP-00294"},"M18-GAP-00294":{"line":2989,"offset":520063,"length":185,"previous":"M18-GAP-00293","next":"M18-GAP-00295"},"M18-GAP-00295":{"line":2990,"offset":520248,"length":190,"previous":"M18-GAP-00294","next":"M18-GAP-00296"},"M18-GAP-00296":{"line":2991,"offset":520438,"length":188,"previous":"M18-GAP-00295","next":"M18-GAP-00297"},"M18-GAP-00297":{"line":2992,"offset":520626,"length":193,"previous":"M18-GAP-00296","next":"M18-GAP-00298"},"M18-GAP-00298":{"line":2993,"offset":520819,"length":193,"previous":"M18-GAP-00297","next":"M18-GAP-00299"},"M18-GAP-00299":{"line":2994,"offset":521012,"length":196,"previous":"M18-GAP-00298","next":"M18-GAP-00300"},"M18-GAP-00300":{"line":2995,"offset":521208,"length":190,"previous":"M18-GAP-00299","next":"M18-GAP-00301"},"M18-GAP-00301":{"line":2996,"offset":521398,"length":189,"previous":"M18-GAP-00300","next":"M18-GAP-00302"},"M18-GAP-00302":{"line":2997,"offset":521587,"length":178,"previous":"M18-GAP-00301","next":"M18-GAP-00303"},"M18-GAP-00303":{"line":2998,"offset":521765,"length":193,"previous":"M18-GAP-00302","next":"M18-GAP-00304"},"M18-GAP-00304":{"line":2999,"offset":521958,"length":184,"previous":"M18-GAP-00303","next":"M18-GAP-00305"},"M18-GAP-00305":{"line":3000,"offset":522142,"length":189,"previous":"M18-GAP-00304","next":"M18-GAP-00306"},"M18-GAP-00306":{"line":3001,"offset":522331,"length":186,"previous":"M18-GAP-00305","next":"M18-GAP-00307"},"M18-GAP-00307":{"line":3002,"offset":522517,"length":186,"previous":"M18-GAP-00306","next":"M18-GAP-00308"},"M18-GAP-00308":{"line":3003,"offset":522703,"length":187,"previous":"M18-GAP-00307","next":"M18-GAP-00309"},"M18-GAP-00309":{"line":3004,"offset":522890,"length":187,"previous":"M18-GAP-00308","next":"M18-GAP-00310"},"M18-GAP-00310":{"line":3005,"offset":523077,"length":184,"previous":"M18-GAP-00309","next":"M18-GAP-00311"},"M18-GAP-00311":{"line":3006,"offset":523261,"length":187,"previous":"M18-GAP-00310","next":"M18-GAP-00312"},"M18-GAP-00312":{"line":3007,"offset":523448,"length":188,"previous":"M18-GAP-00311","next":"M18-GAP-00313"},"M18-GAP-00313":{"line":3008,"offset":523636,"length":192,"previous":"M18-GAP-00312","next":"M18-GAP-00314"},"M18-GAP-00314":{"line":3009,"offset":523828,"length":188,"previous":"M18-GAP-00313","next":"M18-GAP-00315"},"M18-GAP-00315":{"line":3010,"offset":524016,"length":189,"previous":"M18-GAP-00314","next":"M18-GAP-00316"},"M18-GAP-00316":{"line":3011,"offset":524205,"length":185,"previous":"M18-GAP-00315","next":"M18-GAP-00317"},"M18-GAP-00317":{"line":3012,"offset":524390,"length":181,"previous":"M18-GAP-00316","next":"M18-GAP-00318"},"M18-GAP-00318":{"line":3013,"offset":524571,"length":185,"previous":"M18-GAP-00317","next":"M18-GAP-00319"},"M18-GAP-00319":{"line":3014,"offset":524756,"length":188,"previous":"M18-GAP-00318","next":"M18-GAP-00320"},"M18-GAP-00320":{"line":3015,"offset":524944,"length":183,"previous":"M18-GAP-00319","next":"M18-GAP-00321"},"M18-GAP-00321":{"line":3016,"offset":525127,"length":189,"previous":"M18-GAP-00320","next":"M18-GAP-00322"},"M18-GAP-00322":{"line":3017,"offset":525316,"length":192,"previous":"M18-GAP-00321","next":"M18-GAP-00323"},"M18-GAP-00323":{"line":3018,"offset":525508,"length":187,"previous":"M18-GAP-00322","next":"M18-GAP-00324"},"M18-GAP-00324":{"line":3019,"offset":525695,"length":183,"previous":"M18-GAP-00323","next":"M18-GAP-00325"},"M18-GAP-00325":{"line":3020,"offset":525878,"length":187,"previous":"M18-GAP-00324","next":"M18-GAP-00326"},"M18-GAP-00326":{"line":3021,"offset":526065,"length":187,"previous":"M18-GAP-00325","next":"M18-GAP-00327"},"M18-GAP-00327":{"line":3022,"offset":526252,"length":186,"previous":"M18-GAP-00326","next":"M18-GAP-00328"},"M18-GAP-00328":{"line":3023,"offset":526438,"length":191,"previous":"M18-GAP-00327","next":"M18-GAP-00329"},"M18-GAP-00329":{"line":3024,"offset":526629,"length":179,"previous":"M18-GAP-00328","next":"M18-GAP-00330"},"M18-GAP-00330":{"line":3025,"offset":526808,"length":182,"previous":"M18-GAP-00329","next":"M18-GAP-00331"},"M18-GAP-00331":{"line":3026,"offset":526990,"length":185,"previous":"M18-GAP-00330","next":"M18-GAP-00332"},"M18-GAP-00332":{"line":3027,"offset":527175,"length":190,"previous":"M18-GAP-00331","next":"M18-GAP-00333"},"M18-GAP-00333":{"line":3028,"offset":527365,"length":184,"previous":"M18-GAP-00332","next":"M18-GAP-00334"},"M18-GAP-00334":{"line":3029,"offset":527549,"length":190,"previous":"M18-GAP-00333","next":"M18-GAP-00335"},"M18-GAP-00335":{"line":3030,"offset":527739,"length":186,"previous":"M18-GAP-00334","next":"M18-GAP-00336"},"M18-GAP-00336":{"line":3031,"offset":527925,"length":187,"previous":"M18-GAP-00335","next":"M18-GAP-00337"},"M18-GAP-00337":{"line":3032,"offset":528112,"length":189,"previous":"M18-GAP-00336","next":"M18-GAP-00338"},"M18-GAP-00338":{"line":3033,"offset":528301,"length":191,"previous":"M18-GAP-00337","next":"M18-GAP-00339"},"M18-GAP-00339":{"line":3034,"offset":528492,"length":182,"previous":"M18-GAP-00338","next":"M18-GAP-00340"},"M18-GAP-00340":{"line":3035,"offset":528674,"length":191,"previous":"M18-GAP-00339","next":"M18-GAP-00341"},"M18-GAP-00341":{"line":3036,"offset":528865,"length":184,"previous":"M18-GAP-00340","next":"M18-GAP-00342"},"M18-GAP-00342":{"line":3037,"offset":529049,"length":182,"previous":"M18-GAP-00341","next":"M18-GAP-00343"},"M18-GAP-00343":{"line":3038,"offset":529231,"length":186,"previous":"M18-GAP-00342","next":"M18-GAP-00344"},"M18-GAP-00344":{"line":3039,"offset":529417,"length":182,"previous":"M18-GAP-00343","next":"M18-GAP-00345"},"M18-GAP-00345":{"line":3040,"offset":529599,"length":181,"previous":"M18-GAP-00344","next":"M18-GAP-00346"},"M18-GAP-00346":{"line":3041,"offset":529780,"length":187,"previous":"M18-GAP-00345","next":"M18-GAP-00347"},"M18-GAP-00347":{"line":3042,"offset":529967,"length":179,"previous":"M18-GAP-00346","next":"M18-GAP-00348"},"M18-GAP-00348":{"line":3043,"offset":530146,"length":190,"previous":"M18-GAP-00347","next":"M18-GAP-00349"},"M18-GAP-00349":{"line":3044,"offset":530336,"length":183,"previous":"M18-GAP-00348","next":"M18-GAP-00350"},"M18-GAP-00350":{"line":3045,"offset":530519,"length":185,"previous":"M18-GAP-00349","next":"M18-GAP-00351"},"M18-GAP-00351":{"line":3046,"offset":530704,"length":180,"previous":"M18-GAP-00350","next":"M18-GAP-00352"},"M18-GAP-00352":{"line":3047,"offset":530884,"length":183,"previous":"M18-GAP-00351","next":"M18-GAP-00353"},"M18-GAP-00353":{"line":3048,"offset":531067,"length":176,"previous":"M18-GAP-00352","next":"M18-GAP-00354"},"M18-GAP-00354":{"line":3049,"offset":531243,"length":183,"previous":"M18-GAP-00353","next":"M18-GAP-00355"},"M18-GAP-00355":{"line":3050,"offset":531426,"length":176,"previous":"M18-GAP-00354","next":"M18-GAP-00356"},"M18-GAP-00356":{"line":3051,"offset":531602,"length":177,"previous":"M18-GAP-00355","next":"M18-GAP-00357"},"M18-GAP-00357":{"line":3052,"offset":531779,"length":172,"previous":"M18-GAP-00356","next":"M18-GAP-00358"},"M18-GAP-00358":{"line":3053,"offset":531951,"length":176,"previous":"M18-GAP-00357","next":"M18-GAP-00359"},"M18-GAP-00359":{"line":3054,"offset":532127,"length":181,"previous":"M18-GAP-00358","next":"M18-GAP-00360"},"M18-GAP-00360":{"line":3055,"offset":532308,"length":182,"previous":"M18-GAP-00359","next":"M18-GAP-00361"},"M18-GAP-00361":{"line":3056,"offset":532490,"length":178,"previous":"M18-GAP-00360","next":"M18-GAP-00362"},"M18-GAP-00362":{"line":3057,"offset":532668,"length":176,"previous":"M18-GAP-00361","next":"M18-GAP-00363"},"M18-GAP-00363":{"line":3058,"offset":532844,"length":175,"previous":"M18-GAP-00362","next":"M18-GAP-00364"},"M18-GAP-00364":{"line":3059,"offset":533019,"length":185,"previous":"M18-GAP-00363","next":"M18-GAP-00365"},"M18-GAP-00365":{"line":3060,"offset":533204,"length":179,"previous":"M18-GAP-00364","next":"M18-GAP-00366"},"M18-GAP-00366":{"line":3061,"offset":533383,"length":181,"previous":"M18-GAP-00365","next":"M18-GAP-00367"},"M18-GAP-00367":{"line":3062,"offset":533564,"length":180,"previous":"M18-GAP-00366","next":"M18-GAP-00368"},"M18-GAP-00368":{"line":3063,"offset":533744,"length":181,"previous":"M18-GAP-00367","next":"M18-GAP-00369"},"M18-GAP-00369":{"line":3064,"offset":533925,"length":176,"previous":"M18-GAP-00368","next":"M18-GAP-00370"},"M18-GAP-00370":{"line":3065,"offset":534101,"length":175,"previous":"M18-GAP-00369","next":"M18-GAP-00371"},"M18-GAP-00371":{"line":3066,"offset":534276,"length":182,"previous":"M18-GAP-00370","next":"M18-GAP-00372"},"M18-GAP-00372":{"line":3067,"offset":534458,"length":182,"previous":"M18-GAP-00371","next":"M18-GAP-00373"},"M18-GAP-00373":{"line":3068,"offset":534640,"length":171,"previous":"M18-GAP-00372","next":"M18-GAP-00374"},"M18-GAP-00374":{"line":3069,"offset":534811,"length":177,"previous":"M18-GAP-00373","next":"M18-GAP-00375"},"M18-GAP-00375":{"line":3070,"offset":534988,"length":172,"previous":"M18-GAP-00374","next":"M18-GAP-00376"},"M18-GAP-00376":{"line":3071,"offset":535160,"length":179,"previous":"M18-GAP-00375","next":"M18-GAP-00377"},"M18-GAP-00377":{"line":3072,"offset":535339,"length":177,"previous":"M18-GAP-00376","next":"M18-GAP-00378"},"M18-GAP-00378":{"line":3073,"offset":535516,"length":179,"previous":"M18-GAP-00377","next":"M18-GAP-00379"},"M18-GAP-00379":{"line":3074,"offset":535695,"length":180,"previous":"M18-GAP-00378","next":"M18-GAP-00380"},"M18-GAP-00380":{"line":3075,"offset":535875,"length":175,"previous":"M18-GAP-00379","next":"M18-GAP-00381"},"M18-GAP-00381":{"line":3076,"offset":536050,"length":177,"previous":"M18-GAP-00380","next":"M18-GAP-00382"},"M18-GAP-00382":{"line":3077,"offset":536227,"length":174,"previous":"M18-GAP-00381","next":"M18-GAP-00383"},"M18-GAP-00383":{"line":3078,"offset":536401,"length":172,"previous":"M18-GAP-00382","next":"M18-GAP-00384"},"M18-GAP-00384":{"line":3079,"offset":536573,"length":172,"previous":"M18-GAP-00383","next":"M18-GAP-00385"},"M18-GAP-00385":{"line":3080,"offset":536745,"length":175,"previous":"M18-GAP-00384","next":"M18-GAP-00386"},"M18-GAP-00386":{"line":3081,"offset":536920,"length":174,"previous":"M18-GAP-00385","next":"M18-GAP-00387"},"M18-GAP-00387":{"line":3082,"offset":537094,"length":180,"previous":"M18-GAP-00386","next":"M18-GAP-00388"},"M18-GAP-00388":{"line":3083,"offset":537274,"length":173,"previous":"M18-GAP-00387","next":"M18-GAP-00389"},"M18-GAP-00389":{"line":3084,"offset":537447,"length":178,"previous":"M18-GAP-00388","next":"M18-GAP-00390"},"M18-GAP-00390":{"line":3085,"offset":537625,"length":179,"previous":"M18-GAP-00389","next":"M18-GAP-00391"},"M18-GAP-00391":{"line":3086,"offset":537804,"length":176,"previous":"M18-GAP-00390","next":"M18-GAP-00392"},"M18-GAP-00392":{"line":3087,"offset":537980,"length":175,"previous":"M18-GAP-00391","next":"M18-GAP-00393"},"M18-GAP-00393":{"line":3088,"offset":538155,"length":174,"previous":"M18-GAP-00392","next":"M18-GAP-00394"},"M18-GAP-00394":{"line":3089,"offset":538329,"length":171,"previous":"M18-GAP-00393","next":"M18-GAP-00395"},"M18-GAP-00395":{"line":3090,"offset":538500,"length":170,"previous":"M18-GAP-00394","next":"M18-GAP-00396"},"M18-GAP-00396":{"line":3091,"offset":538670,"length":173,"previous":"M18-GAP-00395","next":"M18-GAP-00397"},"M18-GAP-00397":{"line":3092,"offset":538843,"length":176,"previous":"M18-GAP-00396","next":"M18-GAP-00398"},"M18-GAP-00398":{"line":3093,"offset":539019,"length":178,"previous":"M18-GAP-00397","next":"M18-GAP-00399"},"M18-GAP-00399":{"line":3094,"offset":539197,"length":173,"previous":"M18-GAP-00398","next":"M18-GAP-00400"},"M18-GAP-00400":{"line":3095,"offset":539370,"length":176,"previous":"M18-GAP-00399","next":"M18-GAP-00401"},"M18-GAP-00401":{"line":3096,"offset":539546,"length":177,"previous":"M18-GAP-00400","next":"M18-GAP-00402"},"M18-GAP-00402":{"line":3097,"offset":539723,"length":176,"previous":"M18-GAP-00401","next":"M18-GAP-00403"},"M18-GAP-00403":{"line":3098,"offset":539899,"length":178,"previous":"M18-GAP-00402","next":"M18-GAP-00404"},"M18-GAP-00404":{"line":3099,"offset":540077,"length":182,"previous":"M18-GAP-00403","next":"M18-GAP-00405"},"M18-GAP-00405":{"line":3100,"offset":540259,"length":181,"previous":"M18-GAP-00404","next":"M18-GAP-00406"},"M18-GAP-00406":{"line":3101,"offset":540440,"length":178,"previous":"M18-GAP-00405","next":"M18-GAP-00407"},"M18-GAP-00407":{"line":3102,"offset":540618,"length":179,"previous":"M18-GAP-00406","next":"M18-GAP-00408"},"M18-GAP-00408":{"line":3103,"offset":540797,"length":176,"previous":"M18-GAP-00407","next":"M18-GAP-00409"},"M18-GAP-00409":{"line":3104,"offset":540973,"length":170,"previous":"M18-GAP-00408","next":"M18-GAP-00410"},"M18-GAP-00410":{"line":3105,"offset":541143,"length":175,"previous":"M18-GAP-00409","next":"M18-GAP-00411"},"M18-GAP-00411":{"line":3106,"offset":541318,"length":174,"previous":"M18-GAP-00410","next":"M18-GAP-00412"},"M18-GAP-00412":{"line":3107,"offset":541492,"length":179,"previous":"M18-GAP-00411","next":"M18-GAP-00413"},"M18-GAP-00413":{"line":3108,"offset":541671,"length":174,"previous":"M18-GAP-00412","next":"M18-GAP-00414"},"M18-GAP-00414":{"line":3109,"offset":541845,"length":173,"previous":"M18-GAP-00413","next":"M18-GAP-00415"},"M18-GAP-00415":{"line":3110,"offset":542018,"length":180,"previous":"M18-GAP-00414","next":"M18-GAP-00416"},"M18-GAP-00416":{"line":3111,"offset":542198,"length":178,"previous":"M18-GAP-00415","next":"M18-GAP-00417"},"M18-GAP-00417":{"line":3112,"offset":542376,"length":178,"previous":"M18-GAP-00416","next":"M18-GAP-00418"},"M18-GAP-00418":{"line":3113,"offset":542554,"length":174,"previous":"M18-GAP-00417","next":"M18-GAP-00419"},"M18-GAP-00419":{"line":3114,"offset":542728,"length":187,"previous":"M18-GAP-00418","next":"M18-GAP-00420"},"M18-GAP-00420":{"line":3115,"offset":542915,"length":174,"previous":"M18-GAP-00419","next":"M18-GAP-00421"},"M18-GAP-00421":{"line":3116,"offset":543089,"length":175,"previous":"M18-GAP-00420","next":"M18-GAP-00422"},"M18-GAP-00422":{"line":3117,"offset":543264,"length":177,"previous":"M18-GAP-00421","next":"M18-GAP-00423"},"M18-GAP-00423":{"line":3118,"offset":543441,"length":175,"previous":"M18-GAP-00422","next":"M18-GAP-00424"},"M18-GAP-00424":{"line":3119,"offset":543616,"length":181,"previous":"M18-GAP-00423","next":"M18-GAP-00425"},"M18-GAP-00425":{"line":3120,"offset":543797,"length":175,"previous":"M18-GAP-00424","next":"M18-GAP-00426"},"M18-GAP-00426":{"line":3121,"offset":543972,"length":178,"previous":"M18-GAP-00425","next":"M18-GAP-00427"},"M18-GAP-00427":{"line":3122,"offset":544150,"length":173,"previous":"M18-GAP-00426","next":"M18-GAP-00428"},"M18-GAP-00428":{"line":3123,"offset":544323,"length":175,"previous":"M18-GAP-00427","next":"M18-GAP-00429"},"M18-GAP-00429":{"line":3124,"offset":544498,"length":175,"previous":"M18-GAP-00428","next":"M18-GAP-00430"},"M18-GAP-00430":{"line":3125,"offset":544673,"length":175,"previous":"M18-GAP-00429","next":"M18-GAP-00431"},"M18-GAP-00431":{"line":3126,"offset":544848,"length":173,"previous":"M18-GAP-00430","next":"M18-GAP-00432"},"M18-GAP-00432":{"line":3127,"offset":545021,"length":177,"previous":"M18-GAP-00431","next":"M18-GAP-00433"},"M18-GAP-00433":{"line":3128,"offset":545198,"length":174,"previous":"M18-GAP-00432","next":"M18-GAP-00434"},"M18-GAP-00434":{"line":3129,"offset":545372,"length":180,"previous":"M18-GAP-00433","next":"M18-GAP-00435"},"M18-GAP-00435":{"line":3130,"offset":545552,"length":180,"previous":"M18-GAP-00434","next":"M18-GAP-00436"},"M18-GAP-00436":{"line":3131,"offset":545732,"length":172,"previous":"M18-GAP-00435","next":"M18-GAP-00437"},"M18-GAP-00437":{"line":3132,"offset":545904,"length":175,"previous":"M18-GAP-00436","next":"M18-GAP-00438"},"M18-GAP-00438":{"line":3133,"offset":546079,"length":172,"previous":"M18-GAP-00437","next":"M18-GAP-00439"},"M18-GAP-00439":{"line":3134,"offset":546251,"length":178,"previous":"M18-GAP-00438","next":"M18-GAP-00440"},"M18-GAP-00440":{"line":3135,"offset":546429,"length":185,"previous":"M18-GAP-00439","next":"M18-GAP-00441"},"M18-GAP-00441":{"line":3136,"offset":546614,"length":177,"previous":"M18-GAP-00440","next":"M18-GAP-00442"},"M18-GAP-00442":{"line":3137,"offset":546791,"length":179,"previous":"M18-GAP-00441","next":"M18-GAP-00443"},"M18-GAP-00443":{"line":3138,"offset":546970,"length":182,"previous":"M18-GAP-00442","next":"M18-GAP-00444"},"M18-GAP-00444":{"line":3139,"offset":547152,"length":178,"previous":"M18-GAP-00443","next":"M18-GAP-00445"},"M18-GAP-00445":{"line":3140,"offset":547330,"length":183,"previous":"M18-GAP-00444","next":"M18-GAP-00446"},"M18-GAP-00446":{"line":3141,"offset":547513,"length":185,"previous":"M18-GAP-00445","next":"M18-GAP-00447"},"M18-GAP-00447":{"line":3142,"offset":547698,"length":177,"previous":"M18-GAP-00446","next":"M18-GAP-00448"},"M18-GAP-00448":{"line":3143,"offset":547875,"length":183,"previous":"M18-GAP-00447","next":"M18-GAP-00449"},"M18-GAP-00449":{"line":3144,"offset":548058,"length":180,"previous":"M18-GAP-00448","next":"M18-GAP-00450"},"M18-GAP-00450":{"line":3145,"offset":548238,"length":177,"previous":"M18-GAP-00449","next":"M18-GAP-00451"},"M18-GAP-00451":{"line":3146,"offset":548415,"length":176,"previous":"M18-GAP-00450","next":"M19-GAP-00001"},"M19-GAP-00001":{"line":3147,"offset":548591,"length":153,"previous":"M18-GAP-00451","next":"M19-GAP-00002"},"M19-GAP-00002":{"line":3148,"offset":548744,"length":155,"previous":"M19-GAP-00001","next":"M19-GAP-00003"},"M19-GAP-00003":{"line":3149,"offset":548899,"length":152,"previous":"M19-GAP-00002","next":"M19-GAP-00004"},"M19-GAP-00004":{"line":3150,"offset":549051,"length":152,"previous":"M19-GAP-00003","next":"M19-GAP-00005"},"M19-GAP-00005":{"line":3151,"offset":549203,"length":153,"previous":"M19-GAP-00004","next":"M19-GAP-00006"},"M19-GAP-00006":{"line":3152,"offset":549356,"length":159,"previous":"M19-GAP-00005","next":"M19-GAP-00007"},"M19-GAP-00007":{"line":3153,"offset":549515,"length":149,"previous":"M19-GAP-00006","next":"M19-GAP-00008"},"M19-GAP-00008":{"line":3154,"offset":549664,"length":152,"previous":"M19-GAP-00007","next":"M19-GAP-00009"},"M19-GAP-00009":{"line":3155,"offset":549816,"length":150,"previous":"M19-GAP-00008","next":"M19-GAP-00010"},"M19-GAP-00010":{"line":3156,"offset":549966,"length":154,"previous":"M19-GAP-00009","next":"M19-GAP-00011"},"M19-GAP-00011":{"line":3157,"offset":550120,"length":151,"previous":"M19-GAP-00010","next":"M19-GAP-00012"},"M19-GAP-00012":{"line":3158,"offset":550271,"length":155,"previous":"M19-GAP-00011","next":"M19-GAP-00013"},"M19-GAP-00013":{"line":3159,"offset":550426,"length":156,"previous":"M19-GAP-00012","next":"M19-GAP-00014"},"M19-GAP-00014":{"line":3160,"offset":550582,"length":154,"previous":"M19-GAP-00013","next":"M19-GAP-00015"},"M19-GAP-00015":{"line":3161,"offset":550736,"length":163,"previous":"M19-GAP-00014","next":"M19-GAP-00016"},"M19-GAP-00016":{"line":3162,"offset":550899,"length":157,"previous":"M19-GAP-00015","next":"M19-GAP-00017"},"M19-GAP-00017":{"line":3163,"offset":551056,"length":152,"previous":"M19-GAP-00016","next":"M19-GAP-00018"},"M19-GAP-00018":{"line":3164,"offset":551208,"length":154,"previous":"M19-GAP-00017","next":"M19-GAP-00019"},"M19-GAP-00019":{"line":3165,"offset":551362,"length":151,"previous":"M19-GAP-00018","next":"M19-GAP-00020"},"M19-GAP-00020":{"line":3166,"offset":551513,"length":153,"previous":"M19-GAP-00019","next":"M20-GAP-00001"},"M20-GAP-00001":{"line":3167,"offset":551666,"length":161,"previous":"M19-GAP-00020","next":"M20-GAP-00002"},"M20-GAP-00002":{"line":3168,"offset":551827,"length":167,"previous":"M20-GAP-00001","next":"M20-GAP-00003"},"M20-GAP-00003":{"line":3169,"offset":551994,"length":157,"previous":"M20-GAP-00002","next":"M20-GAP-00004"},"M20-GAP-00004":{"line":3170,"offset":552151,"length":169,"previous":"M20-GAP-00003","next":"M20-GAP-00005"},"M20-GAP-00005":{"line":3171,"offset":552320,"length":162,"previous":"M20-GAP-00004","next":"M20-GAP-00006"},"M20-GAP-00006":{"line":3172,"offset":552482,"length":171,"previous":"M20-GAP-00005","next":"M20-GAP-00007"},"M20-GAP-00007":{"line":3173,"offset":552653,"length":162,"previous":"M20-GAP-00006","next":"M20-GAP-00008"},"M20-GAP-00008":{"line":3174,"offset":552815,"length":169,"previous":"M20-GAP-00007","next":"M20-GAP-00009"},"M20-GAP-00009":{"line":3175,"offset":552984,"length":161,"previous":"M20-GAP-00008","next":"M20-GAP-00010"},"M20-GAP-00010":{"line":3176,"offset":553145,"length":161,"previous":"M20-GAP-00009","next":"M20-GAP-00011"},"M20-GAP-00011":{"line":3177,"offset":553306,"length":158,"previous":"M20-GAP-00010","next":"M20-GAP-00012"},"M20-GAP-00012":{"line":3178,"offset":553464,"length":162,"previous":"M20-GAP-00011","next":"M20-GAP-00013"},"M20-GAP-00013":{"line":3179,"offset":553626,"length":171,"previous":"M20-GAP-00012","next":"M20-GAP-00014"},"M20-GAP-00014":{"line":3180,"offset":553797,"length":162,"previous":"M20-GAP-00013","next":"M20-GAP-00015"},"M20-GAP-00015":{"line":3181,"offset":553959,"length":162,"previous":"M20-GAP-00014","next":"M20-GAP-00016"},"M20-GAP-00016":{"line":3182,"offset":554121,"length":166,"previous":"M20-GAP-00015","next":"M20-GAP-00017"},"M20-GAP-00017":{"line":3183,"offset":554287,"length":166,"previous":"M20-GAP-00016","next":"M20-GAP-00018"},"M20-GAP-00018":{"line":3184,"offset":554453,"length":166,"previous":"M20-GAP-00017","next":"M20-GAP-00019"},"M20-GAP-00019":{"line":3185,"offset":554619,"length":174,"previous":"M20-GAP-00018","next":"M20-GAP-00020"},"M20-GAP-00020":{"line":3186,"offset":554793,"length":175,"previous":"M20-GAP-00019","next":"M20-GAP-00021"},"M20-GAP-00021":{"line":3187,"offset":554968,"length":169,"previous":"M20-GAP-00020","next":"M20-GAP-00022"},"M20-GAP-00022":{"line":3188,"offset":555137,"length":168,"previous":"M20-GAP-00021","next":"M20-GAP-00023"},"M20-GAP-00023":{"line":3189,"offset":555305,"length":169,"previous":"M20-GAP-00022","next":"M20-GAP-00024"},"M20-GAP-00024":{"line":3190,"offset":555474,"length":164,"previous":"M20-GAP-00023","next":"M20-GAP-00025"},"M20-GAP-00025":{"line":3191,"offset":555638,"length":162,"previous":"M20-GAP-00024","next":"M20-GAP-00026"},"M20-GAP-00026":{"line":3192,"offset":555800,"length":168,"previous":"M20-GAP-00025","next":"M20-GAP-00027"},"M20-GAP-00027":{"line":3193,"offset":555968,"length":170,"previous":"M20-GAP-00026","next":"M20-GAP-00028"},"M20-GAP-00028":{"line":3194,"offset":556138,"length":166,"previous":"M20-GAP-00027","next":"M20-GAP-00029"},"M20-GAP-00029":{"line":3195,"offset":556304,"length":162,"previous":"M20-GAP-00028","next":"M20-GAP-00030"},"M20-GAP-00030":{"line":3196,"offset":556466,"length":176,"previous":"M20-GAP-00029","next":"M20-GAP-00031"},"M20-GAP-00031":{"line":3197,"offset":556642,"length":173,"previous":"M20-GAP-00030","next":"M20-GAP-00032"},"M20-GAP-00032":{"line":3198,"offset":556815,"length":173,"previous":"M20-GAP-00031","next":"M20-GAP-00033"},"M20-GAP-00033":{"line":3199,"offset":556988,"length":175,"previous":"M20-GAP-00032","next":"M20-GAP-00034"},"M20-GAP-00034":{"line":3200,"offset":557163,"length":174,"previous":"M20-GAP-00033","next":"M20-GAP-00035"},"M20-GAP-00035":{"line":3201,"offset":557337,"length":172,"previous":"M20-GAP-00034","next":"M20-GAP-00036"},"M20-GAP-00036":{"line":3202,"offset":557509,"length":176,"previous":"M20-GAP-00035","next":"M20-GAP-00037"},"M20-GAP-00037":{"line":3203,"offset":557685,"length":177,"previous":"M20-GAP-00036","next":"M20-GAP-00038"},"M20-GAP-00038":{"line":3204,"offset":557862,"length":172,"previous":"M20-GAP-00037","next":"M20-GAP-00039"},"M20-GAP-00039":{"line":3205,"offset":558034,"length":176,"previous":"M20-GAP-00038","next":"M20-GAP-00040"},"M20-GAP-00040":{"line":3206,"offset":558210,"length":177,"previous":"M20-GAP-00039","next":"M20-GAP-00041"},"M20-GAP-00041":{"line":3207,"offset":558387,"length":174,"previous":"M20-GAP-00040","next":"M20-GAP-00042"},"M20-GAP-00042":{"line":3208,"offset":558561,"length":157,"previous":"M20-GAP-00041","next":"M20-GAP-00043"},"M20-GAP-00043":{"line":3209,"offset":558718,"length":162,"previous":"M20-GAP-00042","next":"M20-GAP-00044"},"M20-GAP-00044":{"line":3210,"offset":558880,"length":168,"previous":"M20-GAP-00043","next":"M20-GAP-00045"},"M20-GAP-00045":{"line":3211,"offset":559048,"length":161,"previous":"M20-GAP-00044","next":"M20-GAP-00046"},"M20-GAP-00046":{"line":3212,"offset":559209,"length":164,"previous":"M20-GAP-00045","next":"M20-GAP-00047"},"M20-GAP-00047":{"line":3213,"offset":559373,"length":173,"previous":"M20-GAP-00046","next":"M20-GAP-00048"},"M20-GAP-00048":{"line":3214,"offset":559546,"length":160,"previous":"M20-GAP-00047","next":"M20-GAP-00049"},"M20-GAP-00049":{"line":3215,"offset":559706,"length":165,"previous":"M20-GAP-00048","next":"M20-GAP-00050"},"M20-GAP-00050":{"line":3216,"offset":559871,"length":176,"previous":"M20-GAP-00049","next":"M20-GAP-00051"},"M20-GAP-00051":{"line":3217,"offset":560047,"length":177,"previous":"M20-GAP-00050","next":"M20-GAP-00052"},"M20-GAP-00052":{"line":3218,"offset":560224,"length":163,"previous":"M20-GAP-00051","next":"M20-GAP-00053"},"M20-GAP-00053":{"line":3219,"offset":560387,"length":171,"previous":"M20-GAP-00052","next":"M20-GAP-00054"},"M20-GAP-00054":{"line":3220,"offset":560558,"length":164,"previous":"M20-GAP-00053","next":"M20-GAP-00055"},"M20-GAP-00055":{"line":3221,"offset":560722,"length":163,"previous":"M20-GAP-00054","next":"M20-GAP-00056"},"M20-GAP-00056":{"line":3222,"offset":560885,"length":159,"previous":"M20-GAP-00055","next":"M20-GAP-00057"},"M20-GAP-00057":{"line":3223,"offset":561044,"length":163,"previous":"M20-GAP-00056","next":"M20-GAP-00058"},"M20-GAP-00058":{"line":3224,"offset":561207,"length":160,"previous":"M20-GAP-00057","next":"M20-GAP-00059"},"M20-GAP-00059":{"line":3225,"offset":561367,"length":168,"previous":"M20-GAP-00058","next":"M20-GAP-00060"},"M20-GAP-00060":{"line":3226,"offset":561535,"length":164,"previous":"M20-GAP-00059","next":"M20-GAP-00061"},"M20-GAP-00061":{"line":3227,"offset":561699,"length":163,"previous":"M20-GAP-00060","next":"M20-GAP-00062"},"M20-GAP-00062":{"line":3228,"offset":561862,"length":165,"previous":"M20-GAP-00061","next":"M20-GAP-00063"},"M20-GAP-00063":{"line":3229,"offset":562027,"length":171,"previous":"M20-GAP-00062","next":"M20-GAP-00064"},"M20-GAP-00064":{"line":3230,"offset":562198,"length":165,"previous":"M20-GAP-00063","next":"M20-GAP-00065"},"M20-GAP-00065":{"line":3231,"offset":562363,"length":165,"previous":"M20-GAP-00064","next":"M20-GAP-00066"},"M20-GAP-00066":{"line":3232,"offset":562528,"length":152,"previous":"M20-GAP-00065","next":"M20-GAP-00067"},"M20-GAP-00067":{"line":3233,"offset":562680,"length":159,"previous":"M20-GAP-00066","next":"M20-GAP-00068"},"M20-GAP-00068":{"line":3234,"offset":562839,"length":159,"previous":"M20-GAP-00067","next":"M20-GAP-00069"},"M20-GAP-00069":{"line":3235,"offset":562998,"length":160,"previous":"M20-GAP-00068","next":"M20-GAP-00070"},"M20-GAP-00070":{"line":3236,"offset":563158,"length":154,"previous":"M20-GAP-00069","next":"M20-GAP-00071"},"M20-GAP-00071":{"line":3237,"offset":563312,"length":157,"previous":"M20-GAP-00070","next":"M20-GAP-00072"},"M20-GAP-00072":{"line":3238,"offset":563469,"length":159,"previous":"M20-GAP-00071","next":"M20-GAP-00073"},"M20-GAP-00073":{"line":3239,"offset":563628,"length":154,"previous":"M20-GAP-00072","next":"M20-GAP-00074"},"M20-GAP-00074":{"line":3240,"offset":563782,"length":160,"previous":"M20-GAP-00073","next":"M20-GAP-00075"},"M20-GAP-00075":{"line":3241,"offset":563942,"length":162,"previous":"M20-GAP-00074","next":"M20-GAP-00076"},"M20-GAP-00076":{"line":3242,"offset":564104,"length":153,"previous":"M20-GAP-00075","next":"M20-GAP-00077"},"M20-GAP-00077":{"line":3243,"offset":564257,"length":154,"previous":"M20-GAP-00076","next":"M20-GAP-00078"},"M20-GAP-00078":{"line":3244,"offset":564411,"length":153,"previous":"M20-GAP-00077","next":"M20-GAP-00079"},"M20-GAP-00079":{"line":3245,"offset":564564,"length":153,"previous":"M20-GAP-00078","next":"M20-GAP-00080"},"M20-GAP-00080":{"line":3246,"offset":564717,"length":154,"previous":"M20-GAP-00079","next":"M20-GAP-00081"},"M20-GAP-00081":{"line":3247,"offset":564871,"length":158,"previous":"M20-GAP-00080","next":"M20-GAP-00082"},"M20-GAP-00082":{"line":3248,"offset":565029,"length":157,"previous":"M20-GAP-00081","next":"M20-GAP-00083"},"M20-GAP-00083":{"line":3249,"offset":565186,"length":157,"previous":"M20-GAP-00082","next":"M20-GAP-00084"},"M20-GAP-00084":{"line":3250,"offset":565343,"length":154,"previous":"M20-GAP-00083","next":"M20-GAP-00085"},"M20-GAP-00085":{"line":3251,"offset":565497,"length":154,"previous":"M20-GAP-00084","next":"M20-GAP-00086"},"M20-GAP-00086":{"line":3252,"offset":565651,"length":154,"previous":"M20-GAP-00085","next":"M20-GAP-00087"},"M20-GAP-00087":{"line":3253,"offset":565805,"length":157,"previous":"M20-GAP-00086","next":"M20-GAP-00088"},"M20-GAP-00088":{"line":3254,"offset":565962,"length":153,"previous":"M20-GAP-00087","next":"M20-GAP-00089"},"M20-GAP-00089":{"line":3255,"offset":566115,"length":153,"previous":"M20-GAP-00088","next":"M21-GAP-00001"},"M21-GAP-00001":{"line":3256,"offset":566268,"length":156,"previous":"M20-GAP-00089","next":"M21-GAP-00002"},"M21-GAP-00002":{"line":3257,"offset":566424,"length":152,"previous":"M21-GAP-00001","next":"M21-GAP-00003"},"M21-GAP-00003":{"line":3258,"offset":566576,"length":161,"previous":"M21-GAP-00002","next":"M21-GAP-00004"},"M21-GAP-00004":{"line":3259,"offset":566737,"length":150,"previous":"M21-GAP-00003","next":"M21-GAP-00005"},"M21-GAP-00005":{"line":3260,"offset":566887,"length":157,"previous":"M21-GAP-00004","next":"M21-GAP-00006"},"M21-GAP-00006":{"line":3261,"offset":567044,"length":157,"previous":"M21-GAP-00005","next":"M21-GAP-00007"},"M21-GAP-00007":{"line":3262,"offset":567201,"length":157,"previous":"M21-GAP-00006","next":"M21-GAP-00008"},"M21-GAP-00008":{"line":3263,"offset":567358,"length":149,"previous":"M21-GAP-00007","next":"M21-GAP-00009"},"M21-GAP-00009":{"line":3264,"offset":567507,"length":155,"previous":"M21-GAP-00008","next":"M21-GAP-00010"},"M21-GAP-00010":{"line":3265,"offset":567662,"length":156,"previous":"M21-GAP-00009","next":"M21-GAP-00011"},"M21-GAP-00011":{"line":3266,"offset":567818,"length":153,"previous":"M21-GAP-00010","next":"M21-GAP-00012"},"M21-GAP-00012":{"line":3267,"offset":567971,"length":156,"previous":"M21-GAP-00011","next":"M21-GAP-00013"},"M21-GAP-00013":{"line":3268,"offset":568127,"length":155,"previous":"M21-GAP-00012","next":"M21-GAP-00014"},"M21-GAP-00014":{"line":3269,"offset":568282,"length":160,"previous":"M21-GAP-00013","next":"M21-GAP-00015"},"M21-GAP-00015":{"line":3270,"offset":568442,"length":156,"previous":"M21-GAP-00014","next":"M21-GAP-00016"},"M21-GAP-00016":{"line":3271,"offset":568598,"length":154,"previous":"M21-GAP-00015","next":"M21-GAP-00017"},"M21-GAP-00017":{"line":3272,"offset":568752,"length":156,"previous":"M21-GAP-00016","next":"M21-GAP-00018"},"M21-GAP-00018":{"line":3273,"offset":568908,"length":151,"previous":"M21-GAP-00017","next":"M21-GAP-00019"},"M21-GAP-00019":{"line":3274,"offset":569059,"length":152,"previous":"M21-GAP-00018","next":"M21-GAP-00020"},"M21-GAP-00020":{"line":3275,"offset":569211,"length":172,"previous":"M21-GAP-00019","next":"M21-GAP-00021"},"M21-GAP-00021":{"line":3276,"offset":569383,"length":171,"previous":"M21-GAP-00020","next":"M21-GAP-00022"},"M21-GAP-00022":{"line":3277,"offset":569554,"length":173,"previous":"M21-GAP-00021","next":"M21-GAP-00023"},"M21-GAP-00023":{"line":3278,"offset":569727,"length":176,"previous":"M21-GAP-00022","next":"M21-GAP-00024"},"M21-GAP-00024":{"line":3279,"offset":569903,"length":174,"previous":"M21-GAP-00023","next":"M21-GAP-00025"},"M21-GAP-00025":{"line":3280,"offset":570077,"length":176,"previous":"M21-GAP-00024","next":"M21-GAP-00026"},"M21-GAP-00026":{"line":3281,"offset":570253,"length":173,"previous":"M21-GAP-00025","next":"M21-GAP-00027"},"M21-GAP-00027":{"line":3282,"offset":570426,"length":176,"previous":"M21-GAP-00026","next":"M21-GAP-00028"},"M21-GAP-00028":{"line":3283,"offset":570602,"length":165,"previous":"M21-GAP-00027","next":"M21-GAP-00029"},"M21-GAP-00029":{"line":3284,"offset":570767,"length":166,"previous":"M21-GAP-00028","next":"M21-GAP-00030"},"M21-GAP-00030":{"line":3285,"offset":570933,"length":167,"previous":"M21-GAP-00029","next":"M21-GAP-00031"},"M21-GAP-00031":{"line":3286,"offset":571100,"length":177,"previous":"M21-GAP-00030","next":"M21-GAP-00032"},"M21-GAP-00032":{"line":3287,"offset":571277,"length":165,"previous":"M21-GAP-00031","next":"M21-GAP-00033"},"M21-GAP-00033":{"line":3288,"offset":571442,"length":166,"previous":"M21-GAP-00032","next":"M21-GAP-00034"},"M21-GAP-00034":{"line":3289,"offset":571608,"length":166,"previous":"M21-GAP-00033","next":"M21-GAP-00035"},"M21-GAP-00035":{"line":3290,"offset":571774,"length":167,"previous":"M21-GAP-00034","next":"M21-GAP-00036"},"M21-GAP-00036":{"line":3291,"offset":571941,"length":170,"previous":"M21-GAP-00035","next":"M21-GAP-00037"},"M21-GAP-00037":{"line":3292,"offset":572111,"length":170,"previous":"M21-GAP-00036","next":"M21-GAP-00038"},"M21-GAP-00038":{"line":3293,"offset":572281,"length":178,"previous":"M21-GAP-00037","next":"M21-GAP-00039"},"M21-GAP-00039":{"line":3294,"offset":572459,"length":178,"previous":"M21-GAP-00038","next":"M21-GAP-00040"},"M21-GAP-00040":{"line":3295,"offset":572637,"length":176,"previous":"M21-GAP-00039","next":"M21-GAP-00041"},"M21-GAP-00041":{"line":3296,"offset":572813,"length":166,"previous":"M21-GAP-00040","next":"M21-GAP-00042"},"M21-GAP-00042":{"line":3297,"offset":572979,"length":174,"previous":"M21-GAP-00041","next":"M21-GAP-00043"},"M21-GAP-00043":{"line":3298,"offset":573153,"length":169,"previous":"M21-GAP-00042","next":"M21-GAP-00044"},"M21-GAP-00044":{"line":3299,"offset":573322,"length":163,"previous":"M21-GAP-00043","next":"M21-GAP-00045"},"M21-GAP-00045":{"line":3300,"offset":573485,"length":177,"previous":"M21-GAP-00044","next":"M21-GAP-00046"},"M21-GAP-00046":{"line":3301,"offset":573662,"length":177,"previous":"M21-GAP-00045","next":"M21-GAP-00047"},"M21-GAP-00047":{"line":3302,"offset":573839,"length":163,"previous":"M21-GAP-00046","next":"M21-GAP-00048"},"M21-GAP-00048":{"line":3303,"offset":574002,"length":163,"previous":"M21-GAP-00047","next":"M21-GAP-00049"},"M21-GAP-00049":{"line":3304,"offset":574165,"length":163,"previous":"M21-GAP-00048","next":"M21-GAP-00050"},"M21-GAP-00050":{"line":3305,"offset":574328,"length":163,"previous":"M21-GAP-00049","next":"M21-GAP-00051"},"M21-GAP-00051":{"line":3306,"offset":574491,"length":163,"previous":"M21-GAP-00050","next":"M21-GAP-00052"},"M21-GAP-00052":{"line":3307,"offset":574654,"length":163,"previous":"M21-GAP-00051","next":"M21-GAP-00053"},"M21-GAP-00053":{"line":3308,"offset":574817,"length":184,"previous":"M21-GAP-00052","next":"M21-GAP-00054"},"M21-GAP-00054":{"line":3309,"offset":575001,"length":184,"previous":"M21-GAP-00053","next":"M21-GAP-00055"},"M21-GAP-00055":{"line":3310,"offset":575185,"length":187,"previous":"M21-GAP-00054","next":"M21-GAP-00056"},"M21-GAP-00056":{"line":3311,"offset":575372,"length":194,"previous":"M21-GAP-00055","next":"M21-GAP-00057"},"M21-GAP-00057":{"line":3312,"offset":575566,"length":189,"previous":"M21-GAP-00056","next":"M21-GAP-00058"},"M21-GAP-00058":{"line":3313,"offset":575755,"length":189,"previous":"M21-GAP-00057","next":"M21-GAP-00059"},"M21-GAP-00059":{"line":3314,"offset":575944,"length":209,"previous":"M21-GAP-00058","next":"M21-GAP-00060"},"M21-GAP-00060":{"line":3315,"offset":576153,"length":211,"previous":"M21-GAP-00059","next":"M21-GAP-00061"},"M21-GAP-00061":{"line":3316,"offset":576364,"length":215,"previous":"M21-GAP-00060","next":"M21-GAP-00062"},"M21-GAP-00062":{"line":3317,"offset":576579,"length":205,"previous":"M21-GAP-00061","next":"M21-GAP-00063"},"M21-GAP-00063":{"line":3318,"offset":576784,"length":202,"previous":"M21-GAP-00062","next":"M21-GAP-00064"},"M21-GAP-00064":{"line":3319,"offset":576986,"length":204,"previous":"M21-GAP-00063","next":"M21-GAP-00065"},"M21-GAP-00065":{"line":3320,"offset":577190,"length":204,"previous":"M21-GAP-00064","next":"M21-GAP-00066"},"M21-GAP-00066":{"line":3321,"offset":577394,"length":204,"previous":"M21-GAP-00065","next":"M21-GAP-00067"},"M21-GAP-00067":{"line":3322,"offset":577598,"length":199,"previous":"M21-GAP-00066","next":"M21-GAP-00068"},"M21-GAP-00068":{"line":3323,"offset":577797,"length":212,"previous":"M21-GAP-00067","next":"M21-GAP-00069"},"M21-GAP-00069":{"line":3324,"offset":578009,"length":202,"previous":"M21-GAP-00068","next":"M21-GAP-00070"},"M21-GAP-00070":{"line":3325,"offset":578211,"length":201,"previous":"M21-GAP-00069","next":"M21-GAP-00071"},"M21-GAP-00071":{"line":3326,"offset":578412,"length":204,"previous":"M21-GAP-00070","next":"M21-GAP-00072"},"M21-GAP-00072":{"line":3327,"offset":578616,"length":199,"previous":"M21-GAP-00071","next":"M21-GAP-00073"},"M21-GAP-00073":{"line":3328,"offset":578815,"length":200,"previous":"M21-GAP-00072","next":"M21-GAP-00074"},"M21-GAP-00074":{"line":3329,"offset":579015,"length":199,"previous":"M21-GAP-00073","next":"M21-GAP-00075"},"M21-GAP-00075":{"line":3330,"offset":579214,"length":199,"previous":"M21-GAP-00074","next":"M21-GAP-00076"},"M21-GAP-00076":{"line":3331,"offset":579413,"length":199,"previous":"M21-GAP-00075","next":"M21-GAP-00077"},"M21-GAP-00077":{"line":3332,"offset":579612,"length":199,"previous":"M21-GAP-00076","next":"M21-GAP-00078"},"M21-GAP-00078":{"line":3333,"offset":579811,"length":211,"previous":"M21-GAP-00077","next":"M21-GAP-00079"},"M21-GAP-00079":{"line":3334,"offset":580022,"length":214,"previous":"M21-GAP-00078","next":"M21-GAP-00080"},"M21-GAP-00080":{"line":3335,"offset":580236,"length":206,"previous":"M21-GAP-00079","next":"M21-GAP-00081"},"M21-GAP-00081":{"line":3336,"offset":580442,"length":206,"previous":"M21-GAP-00080","next":"M21-GAP-00082"},"M21-GAP-00082":{"line":3337,"offset":580648,"length":206,"previous":"M21-GAP-00081","next":"M21-GAP-00083"},"M21-GAP-00083":{"line":3338,"offset":580854,"length":206,"previous":"M21-GAP-00082","next":"M21-GAP-00084"},"M21-GAP-00084":{"line":3339,"offset":581060,"length":199,"previous":"M21-GAP-00083","next":"M21-GAP-00085"},"M21-GAP-00085":{"line":3340,"offset":581259,"length":200,"previous":"M21-GAP-00084","next":"M21-GAP-00086"},"M21-GAP-00086":{"line":3341,"offset":581459,"length":204,"previous":"M21-GAP-00085","next":"M21-GAP-00087"},"M21-GAP-00087":{"line":3342,"offset":581663,"length":215,"previous":"M21-GAP-00086","next":"M21-GAP-00088"},"M21-GAP-00088":{"line":3343,"offset":581878,"length":212,"previous":"M21-GAP-00087","next":"M21-GAP-00089"},"M21-GAP-00089":{"line":3344,"offset":582090,"length":210,"previous":"M21-GAP-00088","next":"M21-GAP-00090"},"M21-GAP-00090":{"line":3345,"offset":582300,"length":208,"previous":"M21-GAP-00089","next":"M21-GAP-00091"},"M21-GAP-00091":{"line":3346,"offset":582508,"length":211,"previous":"M21-GAP-00090","next":"M21-GAP-00092"},"M21-GAP-00092":{"line":3347,"offset":582719,"length":205,"previous":"M21-GAP-00091","next":"M21-GAP-00093"},"M21-GAP-00093":{"line":3348,"offset":582924,"length":199,"previous":"M21-GAP-00092","next":"M21-GAP-00094"},"M21-GAP-00094":{"line":3349,"offset":583123,"length":202,"previous":"M21-GAP-00093","next":"M21-GAP-00095"},"M21-GAP-00095":{"line":3350,"offset":583325,"length":214,"previous":"M21-GAP-00094","next":"M21-GAP-00096"},"M21-GAP-00096":{"line":3351,"offset":583539,"length":204,"previous":"M21-GAP-00095","next":"M21-GAP-00097"},"M21-GAP-00097":{"line":3352,"offset":583743,"length":204,"previous":"M21-GAP-00096","next":"M21-GAP-00098"},"M21-GAP-00098":{"line":3353,"offset":583947,"length":204,"previous":"M21-GAP-00097","next":"M21-GAP-00099"},"M21-GAP-00099":{"line":3354,"offset":584151,"length":203,"previous":"M21-GAP-00098","next":"M21-GAP-00100"},"M21-GAP-00100":{"line":3355,"offset":584354,"length":203,"previous":"M21-GAP-00099","next":"M21-GAP-00101"},"M21-GAP-00101":{"line":3356,"offset":584557,"length":202,"previous":"M21-GAP-00100","next":"M21-GAP-00102"},"M21-GAP-00102":{"line":3357,"offset":584759,"length":204,"previous":"M21-GAP-00101","next":"M21-GAP-00103"},"M21-GAP-00103":{"line":3358,"offset":584963,"length":207,"previous":"M21-GAP-00102","next":"M21-GAP-00104"},"M21-GAP-00104":{"line":3359,"offset":585170,"length":200,"previous":"M21-GAP-00103","next":"M21-GAP-00105"},"M21-GAP-00105":{"line":3360,"offset":585370,"length":209,"previous":"M21-GAP-00104","next":"M21-GAP-00106"},"M21-GAP-00106":{"line":3361,"offset":585579,"length":198,"previous":"M21-GAP-00105","next":"M21-GAP-00107"},"M21-GAP-00107":{"line":3362,"offset":585777,"length":203,"previous":"M21-GAP-00106","next":"M21-GAP-00108"},"M21-GAP-00108":{"line":3363,"offset":585980,"length":206,"previous":"M21-GAP-00107","next":"M21-GAP-00109"},"M21-GAP-00109":{"line":3364,"offset":586186,"length":205,"previous":"M21-GAP-00108","next":"M21-GAP-00110"},"M21-GAP-00110":{"line":3365,"offset":586391,"length":205,"previous":"M21-GAP-00109","next":"M21-GAP-00111"},"M21-GAP-00111":{"line":3366,"offset":586596,"length":190,"previous":"M21-GAP-00110","next":"M21-GAP-00112"},"M21-GAP-00112":{"line":3367,"offset":586786,"length":190,"previous":"M21-GAP-00111","next":"M21-GAP-00113"},"M21-GAP-00113":{"line":3368,"offset":586976,"length":190,"previous":"M21-GAP-00112","next":"M21-GAP-00114"},"M21-GAP-00114":{"line":3369,"offset":587166,"length":187,"previous":"M21-GAP-00113","next":"M21-GAP-00115"},"M21-GAP-00115":{"line":3370,"offset":587353,"length":204,"previous":"M21-GAP-00114","next":"M21-GAP-00116"},"M21-GAP-00116":{"line":3371,"offset":587557,"length":207,"previous":"M21-GAP-00115","next":"M21-GAP-00117"},"M21-GAP-00117":{"line":3372,"offset":587764,"length":207,"previous":"M21-GAP-00116","next":"M21-GAP-00118"},"M21-GAP-00118":{"line":3373,"offset":587971,"length":207,"previous":"M21-GAP-00117","next":"M21-GAP-00119"},"M21-GAP-00119":{"line":3374,"offset":588178,"length":207,"previous":"M21-GAP-00118","next":"M21-GAP-00120"},"M21-GAP-00120":{"line":3375,"offset":588385,"length":207,"previous":"M21-GAP-00119","next":"M21-GAP-00121"},"M21-GAP-00121":{"line":3376,"offset":588592,"length":207,"previous":"M21-GAP-00120","next":"M21-GAP-00122"},"M21-GAP-00122":{"line":3377,"offset":588799,"length":210,"previous":"M21-GAP-00121","next":"M21-GAP-00123"},"M21-GAP-00123":{"line":3378,"offset":589009,"length":210,"previous":"M21-GAP-00122","next":"M21-GAP-00124"},"M21-GAP-00124":{"line":3379,"offset":589219,"length":210,"previous":"M21-GAP-00123","next":"M21-GAP-00125"},"M21-GAP-00125":{"line":3380,"offset":589429,"length":209,"previous":"M21-GAP-00124","next":"M21-GAP-00126"},"M21-GAP-00126":{"line":3381,"offset":589638,"length":214,"previous":"M21-GAP-00125","next":"M21-GAP-00127"},"M21-GAP-00127":{"line":3382,"offset":589852,"length":214,"previous":"M21-GAP-00126","next":"M21-GAP-00128"},"M21-GAP-00128":{"line":3383,"offset":590066,"length":214,"previous":"M21-GAP-00127","next":"M21-GAP-00129"},"M21-GAP-00129":{"line":3384,"offset":590280,"length":214,"previous":"M21-GAP-00128","next":"M21-GAP-00130"},"M21-GAP-00130":{"line":3385,"offset":590494,"length":215,"previous":"M21-GAP-00129","next":"M21-GAP-00131"},"M21-GAP-00131":{"line":3386,"offset":590709,"length":208,"previous":"M21-GAP-00130","next":"M21-GAP-00132"},"M21-GAP-00132":{"line":3387,"offset":590917,"length":208,"previous":"M21-GAP-00131","next":"M21-GAP-00133"},"M21-GAP-00133":{"line":3388,"offset":591125,"length":208,"previous":"M21-GAP-00132","next":"M21-GAP-00134"},"M21-GAP-00134":{"line":3389,"offset":591333,"length":212,"previous":"M21-GAP-00133","next":"M21-GAP-00135"},"M21-GAP-00135":{"line":3390,"offset":591545,"length":212,"previous":"M21-GAP-00134","next":"M21-GAP-00136"},"M21-GAP-00136":{"line":3391,"offset":591757,"length":208,"previous":"M21-GAP-00135","next":"M21-GAP-00137"},"M21-GAP-00137":{"line":3392,"offset":591965,"length":205,"previous":"M21-GAP-00136","next":"M21-GAP-00138"},"M21-GAP-00138":{"line":3393,"offset":592170,"length":216,"previous":"M21-GAP-00137","next":"M21-GAP-00139"},"M21-GAP-00139":{"line":3394,"offset":592386,"length":210,"previous":"M21-GAP-00138","next":"M21-GAP-00140"},"M21-GAP-00140":{"line":3395,"offset":592596,"length":210,"previous":"M21-GAP-00139","next":"M21-GAP-00141"},"M21-GAP-00141":{"line":3396,"offset":592806,"length":187,"previous":"M21-GAP-00140","next":"M21-GAP-00142"},"M21-GAP-00142":{"line":3397,"offset":592993,"length":188,"previous":"M21-GAP-00141","next":"M21-GAP-00143"},"M21-GAP-00143":{"line":3398,"offset":593181,"length":189,"previous":"M21-GAP-00142","next":"M21-GAP-00144"},"M21-GAP-00144":{"line":3399,"offset":593370,"length":188,"previous":"M21-GAP-00143","next":"M21-GAP-00145"},"M21-GAP-00145":{"line":3400,"offset":593558,"length":203,"previous":"M21-GAP-00144","next":"M21-GAP-00146"},"M21-GAP-00146":{"line":3401,"offset":593761,"length":199,"previous":"M21-GAP-00145","next":"M21-GAP-00147"},"M21-GAP-00147":{"line":3402,"offset":593960,"length":199,"previous":"M21-GAP-00146","next":"M21-GAP-00148"},"M21-GAP-00148":{"line":3403,"offset":594159,"length":199,"previous":"M21-GAP-00147","next":"M21-GAP-00149"},"M21-GAP-00149":{"line":3404,"offset":594358,"length":199,"previous":"M21-GAP-00148","next":"M21-GAP-00150"},"M21-GAP-00150":{"line":3405,"offset":594557,"length":199,"previous":"M21-GAP-00149","next":"M21-GAP-00151"},"M21-GAP-00151":{"line":3406,"offset":594756,"length":199,"previous":"M21-GAP-00150","next":"M21-GAP-00152"},"M21-GAP-00152":{"line":3407,"offset":594955,"length":203,"previous":"M21-GAP-00151","next":"M21-GAP-00153"},"M21-GAP-00153":{"line":3408,"offset":595158,"length":203,"previous":"M21-GAP-00152","next":"M21-GAP-00154"},"M21-GAP-00154":{"line":3409,"offset":595361,"length":203,"previous":"M21-GAP-00153","next":"M21-GAP-00155"},"M21-GAP-00155":{"line":3410,"offset":595564,"length":204,"previous":"M21-GAP-00154","next":"M21-GAP-00156"},"M21-GAP-00156":{"line":3411,"offset":595768,"length":205,"previous":"M21-GAP-00155","next":"M21-GAP-00157"},"M21-GAP-00157":{"line":3412,"offset":595973,"length":201,"previous":"M21-GAP-00156","next":"M21-GAP-00158"},"M21-GAP-00158":{"line":3413,"offset":596174,"length":201,"previous":"M21-GAP-00157","next":"M21-GAP-00159"},"M21-GAP-00159":{"line":3414,"offset":596375,"length":201,"previous":"M21-GAP-00158","next":"M21-GAP-00160"},"M21-GAP-00160":{"line":3415,"offset":596576,"length":201,"previous":"M21-GAP-00159","next":"M21-GAP-00161"},"M21-GAP-00161":{"line":3416,"offset":596777,"length":201,"previous":"M21-GAP-00160","next":"M21-GAP-00162"},"M21-GAP-00162":{"line":3417,"offset":596978,"length":201,"previous":"M21-GAP-00161","next":"M21-GAP-00163"},"M21-GAP-00163":{"line":3418,"offset":597179,"length":204,"previous":"M21-GAP-00162","next":"M21-GAP-00164"},"M21-GAP-00164":{"line":3419,"offset":597383,"length":200,"previous":"M21-GAP-00163","next":"M21-GAP-00165"},"M21-GAP-00165":{"line":3420,"offset":597583,"length":200,"previous":"M21-GAP-00164","next":"M21-GAP-00166"},"M21-GAP-00166":{"line":3421,"offset":597783,"length":200,"previous":"M21-GAP-00165","next":"M21-GAP-00167"},"M21-GAP-00167":{"line":3422,"offset":597983,"length":200,"previous":"M21-GAP-00166","next":"M21-GAP-00168"},"M21-GAP-00168":{"line":3423,"offset":598183,"length":200,"previous":"M21-GAP-00167","next":"M21-GAP-00169"},"M21-GAP-00169":{"line":3424,"offset":598383,"length":203,"previous":"M21-GAP-00168","next":"M21-GAP-00170"},"M21-GAP-00170":{"line":3425,"offset":598586,"length":200,"previous":"M21-GAP-00169","next":"M21-GAP-00171"},"M21-GAP-00171":{"line":3426,"offset":598786,"length":204,"previous":"M21-GAP-00170","next":"M21-GAP-00172"},"M21-GAP-00172":{"line":3427,"offset":598990,"length":202,"previous":"M21-GAP-00171","next":"M21-GAP-00173"},"M21-GAP-00173":{"line":3428,"offset":599192,"length":208,"previous":"M21-GAP-00172","next":"M21-GAP-00174"},"M21-GAP-00174":{"line":3429,"offset":599400,"length":204,"previous":"M21-GAP-00173","next":"M21-GAP-00175"},"M21-GAP-00175":{"line":3430,"offset":599604,"length":204,"previous":"M21-GAP-00174","next":"M21-GAP-00176"},"M21-GAP-00176":{"line":3431,"offset":599808,"length":204,"previous":"M21-GAP-00175","next":"M21-GAP-00177"},"M21-GAP-00177":{"line":3432,"offset":600012,"length":204,"previous":"M21-GAP-00176","next":"M21-GAP-00178"},"M21-GAP-00178":{"line":3433,"offset":600216,"length":204,"previous":"M21-GAP-00177","next":"M21-GAP-00179"},"M21-GAP-00179":{"line":3434,"offset":600420,"length":204,"previous":"M21-GAP-00178","next":"M21-GAP-00180"},"M21-GAP-00180":{"line":3435,"offset":600624,"length":204,"previous":"M21-GAP-00179","next":"M21-GAP-00181"},"M21-GAP-00181":{"line":3436,"offset":600828,"length":204,"previous":"M21-GAP-00180","next":"M21-GAP-00182"},"M21-GAP-00182":{"line":3437,"offset":601032,"length":204,"previous":"M21-GAP-00181","next":"M21-GAP-00183"},"M21-GAP-00183":{"line":3438,"offset":601236,"length":204,"previous":"M21-GAP-00182","next":"M21-GAP-00184"},"M21-GAP-00184":{"line":3439,"offset":601440,"length":204,"previous":"M21-GAP-00183","next":"M21-GAP-00185"},"M21-GAP-00185":{"line":3440,"offset":601644,"length":204,"previous":"M21-GAP-00184","next":"M21-GAP-00186"},"M21-GAP-00186":{"line":3441,"offset":601848,"length":204,"previous":"M21-GAP-00185","next":"M21-GAP-00187"},"M21-GAP-00187":{"line":3442,"offset":602052,"length":204,"previous":"M21-GAP-00186","next":"M21-GAP-00188"},"M21-GAP-00188":{"line":3443,"offset":602256,"length":204,"previous":"M21-GAP-00187","next":"M21-GAP-00189"},"M21-GAP-00189":{"line":3444,"offset":602460,"length":193,"previous":"M21-GAP-00188","next":"M21-GAP-00190"},"M21-GAP-00190":{"line":3445,"offset":602653,"length":193,"previous":"M21-GAP-00189","next":"M21-GAP-00191"},"M21-GAP-00191":{"line":3446,"offset":602846,"length":193,"previous":"M21-GAP-00190","next":"M21-GAP-00192"},"M21-GAP-00192":{"line":3447,"offset":603039,"length":193,"previous":"M21-GAP-00191","next":"M21-GAP-00193"},"M21-GAP-00193":{"line":3448,"offset":603232,"length":193,"previous":"M21-GAP-00192","next":"M21-GAP-00194"},"M21-GAP-00194":{"line":3449,"offset":603425,"length":193,"previous":"M21-GAP-00193","next":"M21-GAP-00195"},"M21-GAP-00195":{"line":3450,"offset":603618,"length":193,"previous":"M21-GAP-00194","next":"M21-GAP-00196"},"M21-GAP-00196":{"line":3451,"offset":603811,"length":193,"previous":"M21-GAP-00195","next":"M21-GAP-00197"},"M21-GAP-00197":{"line":3452,"offset":604004,"length":193,"previous":"M21-GAP-00196","next":"M21-GAP-00198"},"M21-GAP-00198":{"line":3453,"offset":604197,"length":193,"previous":"M21-GAP-00197","next":"M21-GAP-00199"},"M21-GAP-00199":{"line":3454,"offset":604390,"length":207,"previous":"M21-GAP-00198","next":"M21-GAP-00200"},"M21-GAP-00200":{"line":3455,"offset":604597,"length":207,"previous":"M21-GAP-00199","next":"M21-GAP-00201"},"M21-GAP-00201":{"line":3456,"offset":604804,"length":207,"previous":"M21-GAP-00200","next":"M21-GAP-00202"},"M21-GAP-00202":{"line":3457,"offset":605011,"length":207,"previous":"M21-GAP-00201","next":"M21-GAP-00203"},"M21-GAP-00203":{"line":3458,"offset":605218,"length":207,"previous":"M21-GAP-00202","next":"M21-GAP-00204"},"M21-GAP-00204":{"line":3459,"offset":605425,"length":207,"previous":"M21-GAP-00203","next":"M21-GAP-00205"},"M21-GAP-00205":{"line":3460,"offset":605632,"length":207,"previous":"M21-GAP-00204","next":"M21-GAP-00206"},"M21-GAP-00206":{"line":3461,"offset":605839,"length":207,"previous":"M21-GAP-00205","next":"M21-GAP-00207"},"M21-GAP-00207":{"line":3462,"offset":606046,"length":207,"previous":"M21-GAP-00206","next":"M21-GAP-00208"},"M21-GAP-00208":{"line":3463,"offset":606253,"length":196,"previous":"M21-GAP-00207","next":"M21-GAP-00209"},"M21-GAP-00209":{"line":3464,"offset":606449,"length":196,"previous":"M21-GAP-00208","next":"M21-GAP-00210"},"M21-GAP-00210":{"line":3465,"offset":606645,"length":196,"previous":"M21-GAP-00209","next":"M21-GAP-00211"},"M21-GAP-00211":{"line":3466,"offset":606841,"length":196,"previous":"M21-GAP-00210","next":"M21-GAP-00212"},"M21-GAP-00212":{"line":3467,"offset":607037,"length":196,"previous":"M21-GAP-00211","next":"M21-GAP-00213"},"M21-GAP-00213":{"line":3468,"offset":607233,"length":196,"previous":"M21-GAP-00212","next":"M21-GAP-00214"},"M21-GAP-00214":{"line":3469,"offset":607429,"length":196,"previous":"M21-GAP-00213","next":"M21-GAP-00215"},"M21-GAP-00215":{"line":3470,"offset":607625,"length":196,"previous":"M21-GAP-00214","next":"M21-GAP-00216"},"M21-GAP-00216":{"line":3471,"offset":607821,"length":196,"previous":"M21-GAP-00215","next":"M21-GAP-00217"},"M21-GAP-00217":{"line":3472,"offset":608017,"length":206,"previous":"M21-GAP-00216","next":"M21-GAP-00218"},"M21-GAP-00218":{"line":3473,"offset":608223,"length":206,"previous":"M21-GAP-00217","next":"M21-GAP-00219"},"M21-GAP-00219":{"line":3474,"offset":608429,"length":206,"previous":"M21-GAP-00218","next":"M21-GAP-00220"},"M21-GAP-00220":{"line":3475,"offset":608635,"length":206,"previous":"M21-GAP-00219","next":"M21-GAP-00221"},"M21-GAP-00221":{"line":3476,"offset":608841,"length":206,"previous":"M21-GAP-00220","next":"M21-GAP-00222"},"M21-GAP-00222":{"line":3477,"offset":609047,"length":206,"previous":"M21-GAP-00221","next":"M21-GAP-00223"},"M21-GAP-00223":{"line":3478,"offset":609253,"length":206,"previous":"M21-GAP-00222","next":"M21-GAP-00224"},"M21-GAP-00224":{"line":3479,"offset":609459,"length":206,"previous":"M21-GAP-00223","next":"M21-GAP-00225"},"M21-GAP-00225":{"line":3480,"offset":609665,"length":206,"previous":"M21-GAP-00224","next":"M21-GAP-00226"},"M21-GAP-00226":{"line":3481,"offset":609871,"length":206,"previous":"M21-GAP-00225","next":"M21-GAP-00227"},"M21-GAP-00227":{"line":3482,"offset":610077,"length":195,"previous":"M21-GAP-00226","next":"M21-GAP-00228"},"M21-GAP-00228":{"line":3483,"offset":610272,"length":195,"previous":"M21-GAP-00227","next":"M21-GAP-00229"},"M21-GAP-00229":{"line":3484,"offset":610467,"length":195,"previous":"M21-GAP-00228","next":"M21-GAP-00230"},"M21-GAP-00230":{"line":3485,"offset":610662,"length":195,"previous":"M21-GAP-00229","next":"M21-GAP-00231"},"M21-GAP-00231":{"line":3486,"offset":610857,"length":195,"previous":"M21-GAP-00230","next":"M21-GAP-00232"},"M21-GAP-00232":{"line":3487,"offset":611052,"length":195,"previous":"M21-GAP-00231","next":"M21-GAP-00233"},"M21-GAP-00233":{"line":3488,"offset":611247,"length":195,"previous":"M21-GAP-00232","next":"M21-GAP-00234"},"M21-GAP-00234":{"line":3489,"offset":611442,"length":195,"previous":"M21-GAP-00233","next":"M21-GAP-00235"},"M21-GAP-00235":{"line":3490,"offset":611637,"length":195,"previous":"M21-GAP-00234","next":"M21-GAP-00236"},"M21-GAP-00236":{"line":3491,"offset":611832,"length":195,"previous":"M21-GAP-00235","next":"M21-GAP-00237"},"M21-GAP-00237":{"line":3492,"offset":612027,"length":188,"previous":"M21-GAP-00236","next":"M21-GAP-00238"},"M21-GAP-00238":{"line":3493,"offset":612215,"length":188,"previous":"M21-GAP-00237","next":"M21-GAP-00239"},"M21-GAP-00239":{"line":3494,"offset":612403,"length":188,"previous":"M21-GAP-00238","next":"M21-GAP-00240"},"M21-GAP-00240":{"line":3495,"offset":612591,"length":192,"previous":"M21-GAP-00239","next":"M21-GAP-00241"},"M21-GAP-00241":{"line":3496,"offset":612783,"length":199,"previous":"M21-GAP-00240","next":"M21-GAP-00242"},"M21-GAP-00242":{"line":3497,"offset":612982,"length":199,"previous":"M21-GAP-00241","next":"M21-GAP-00243"},"M21-GAP-00243":{"line":3498,"offset":613181,"length":199,"previous":"M21-GAP-00242","next":"M21-GAP-00244"},"M21-GAP-00244":{"line":3499,"offset":613380,"length":199,"previous":"M21-GAP-00243","next":"M21-GAP-00245"},"M21-GAP-00245":{"line":3500,"offset":613579,"length":199,"previous":"M21-GAP-00244","next":"M21-GAP-00246"},"M21-GAP-00246":{"line":3501,"offset":613778,"length":199,"previous":"M21-GAP-00245","next":"M21-GAP-00247"},"M21-GAP-00247":{"line":3502,"offset":613977,"length":199,"previous":"M21-GAP-00246","next":"M21-GAP-00248"},"M21-GAP-00248":{"line":3503,"offset":614176,"length":199,"previous":"M21-GAP-00247","next":"M21-GAP-00249"},"M21-GAP-00249":{"line":3504,"offset":614375,"length":199,"previous":"M21-GAP-00248","next":"M21-GAP-00250"},"M21-GAP-00250":{"line":3505,"offset":614574,"length":188,"previous":"M21-GAP-00249","next":"M21-GAP-00251"},"M21-GAP-00251":{"line":3506,"offset":614762,"length":188,"previous":"M21-GAP-00250","next":"M21-GAP-00252"},"M21-GAP-00252":{"line":3507,"offset":614950,"length":188,"previous":"M21-GAP-00251","next":"M21-GAP-00253"},"M21-GAP-00253":{"line":3508,"offset":615138,"length":188,"previous":"M21-GAP-00252","next":"M21-GAP-00254"},"M21-GAP-00254":{"line":3509,"offset":615326,"length":188,"previous":"M21-GAP-00253","next":"M21-GAP-00255"},"M21-GAP-00255":{"line":3510,"offset":615514,"length":188,"previous":"M21-GAP-00254","next":"M21-GAP-00256"},"M21-GAP-00256":{"line":3511,"offset":615702,"length":188,"previous":"M21-GAP-00255","next":"M21-GAP-00257"},"M21-GAP-00257":{"line":3512,"offset":615890,"length":188,"previous":"M21-GAP-00256","next":"M21-GAP-00258"},"M21-GAP-00258":{"line":3513,"offset":616078,"length":188,"previous":"M21-GAP-00257","next":"M21-GAP-00259"},"M21-GAP-00259":{"line":3514,"offset":616266,"length":176,"previous":"M21-GAP-00258","next":"M21-GAP-00260"},"M21-GAP-00260":{"line":3515,"offset":616442,"length":176,"previous":"M21-GAP-00259","next":"M21-GAP-00261"},"M21-GAP-00261":{"line":3516,"offset":616618,"length":177,"previous":"M21-GAP-00260","next":"M21-GAP-00262"},"M21-GAP-00262":{"line":3517,"offset":616795,"length":178,"previous":"M21-GAP-00261","next":"M21-GAP-00263"},"M21-GAP-00263":{"line":3518,"offset":616973,"length":178,"previous":"M21-GAP-00262","next":"M21-GAP-00264"},"M21-GAP-00264":{"line":3519,"offset":617151,"length":178,"previous":"M21-GAP-00263","next":"M21-GAP-00265"},"M21-GAP-00265":{"line":3520,"offset":617329,"length":178,"previous":"M21-GAP-00264","next":"M21-GAP-00266"},"M21-GAP-00266":{"line":3521,"offset":617507,"length":178,"previous":"M21-GAP-00265","next":"M21-GAP-00267"},"M21-GAP-00267":{"line":3522,"offset":617685,"length":178,"previous":"M21-GAP-00266","next":"M21-GAP-00268"},"M21-GAP-00268":{"line":3523,"offset":617863,"length":178,"previous":"M21-GAP-00267","next":"M21-GAP-00269"},"M21-GAP-00269":{"line":3524,"offset":618041,"length":178,"previous":"M21-GAP-00268","next":"M21-GAP-00270"},"M21-GAP-00270":{"line":3525,"offset":618219,"length":178,"previous":"M21-GAP-00269","next":"M21-GAP-00271"},"M21-GAP-00271":{"line":3526,"offset":618397,"length":178,"previous":"M21-GAP-00270","next":"M21-GAP-00272"},"M21-GAP-00272":{"line":3527,"offset":618575,"length":177,"previous":"M21-GAP-00271","next":"M21-GAP-00273"},"M21-GAP-00273":{"line":3528,"offset":618752,"length":178,"previous":"M21-GAP-00272","next":"M21-GAP-00274"},"M21-GAP-00274":{"line":3529,"offset":618930,"length":178,"previous":"M21-GAP-00273","next":"M21-GAP-00275"},"M21-GAP-00275":{"line":3530,"offset":619108,"length":178,"previous":"M21-GAP-00274","next":"M21-GAP-00276"},"M21-GAP-00276":{"line":3531,"offset":619286,"length":178,"previous":"M21-GAP-00275","next":"M21-GAP-00277"},"M21-GAP-00277":{"line":3532,"offset":619464,"length":178,"previous":"M21-GAP-00276","next":"M21-GAP-00278"},"M21-GAP-00278":{"line":3533,"offset":619642,"length":178,"previous":"M21-GAP-00277","next":"M21-GAP-00279"},"M21-GAP-00279":{"line":3534,"offset":619820,"length":177,"previous":"M21-GAP-00278","next":"M21-GAP-00280"},"M21-GAP-00280":{"line":3535,"offset":619997,"length":177,"previous":"M21-GAP-00279","next":"M21-GAP-00281"},"M21-GAP-00281":{"line":3536,"offset":620174,"length":177,"previous":"M21-GAP-00280","next":"M21-GAP-00282"},"M21-GAP-00282":{"line":3537,"offset":620351,"length":177,"previous":"M21-GAP-00281","next":"M21-GAP-00283"},"M21-GAP-00283":{"line":3538,"offset":620528,"length":177,"previous":"M21-GAP-00282","next":"M21-GAP-00284"},"M21-GAP-00284":{"line":3539,"offset":620705,"length":177,"previous":"M21-GAP-00283","next":"M21-GAP-00285"},"M21-GAP-00285":{"line":3540,"offset":620882,"length":177,"previous":"M21-GAP-00284","next":"M21-GAP-00286"},"M21-GAP-00286":{"line":3541,"offset":621059,"length":177,"previous":"M21-GAP-00285","next":"M21-GAP-00287"},"M21-GAP-00287":{"line":3542,"offset":621236,"length":176,"previous":"M21-GAP-00286","next":"M21-GAP-00288"},"M21-GAP-00288":{"line":3543,"offset":621412,"length":177,"previous":"M21-GAP-00287","next":"M21-GAP-00289"},"M21-GAP-00289":{"line":3544,"offset":621589,"length":177,"previous":"M21-GAP-00288","next":"M21-GAP-00290"},"M21-GAP-00290":{"line":3545,"offset":621766,"length":177,"previous":"M21-GAP-00289","next":"M21-GAP-00291"},"M21-GAP-00291":{"line":3546,"offset":621943,"length":177,"previous":"M21-GAP-00290","next":"M21-GAP-00292"},"M21-GAP-00292":{"line":3547,"offset":622120,"length":177,"previous":"M21-GAP-00291","next":"M21-GAP-00293"},"M21-GAP-00293":{"line":3548,"offset":622297,"length":177,"previous":"M21-GAP-00292","next":"M21-GAP-00294"},"M21-GAP-00294":{"line":3549,"offset":622474,"length":177,"previous":"M21-GAP-00293","next":"M21-GAP-00295"},"M21-GAP-00295":{"line":3550,"offset":622651,"length":177,"previous":"M21-GAP-00294","next":"M21-GAP-00296"},"M21-GAP-00296":{"line":3551,"offset":622828,"length":177,"previous":"M21-GAP-00295","next":"M21-GAP-00297"},"M21-GAP-00297":{"line":3552,"offset":623005,"length":177,"previous":"M21-GAP-00296","next":"M21-GAP-00298"},"M21-GAP-00298":{"line":3553,"offset":623182,"length":176,"previous":"M21-GAP-00297","next":"M21-GAP-00299"},"M21-GAP-00299":{"line":3554,"offset":623358,"length":177,"previous":"M21-GAP-00298","next":"M21-GAP-00300"},"M21-GAP-00300":{"line":3555,"offset":623535,"length":177,"previous":"M21-GAP-00299","next":"M21-GAP-00301"},"M21-GAP-00301":{"line":3556,"offset":623712,"length":177,"previous":"M21-GAP-00300","next":"M21-GAP-00302"},"M21-GAP-00302":{"line":3557,"offset":623889,"length":177,"previous":"M21-GAP-00301","next":"M21-GAP-00303"},"M21-GAP-00303":{"line":3558,"offset":624066,"length":177,"previous":"M21-GAP-00302","next":"M21-GAP-00304"},"M21-GAP-00304":{"line":3559,"offset":624243,"length":177,"previous":"M21-GAP-00303","next":"M21-GAP-00305"},"M21-GAP-00305":{"line":3560,"offset":624420,"length":177,"previous":"M21-GAP-00304","next":"M21-GAP-00306"},"M21-GAP-00306":{"line":3561,"offset":624597,"length":177,"previous":"M21-GAP-00305","next":"M21-GAP-00307"},"M21-GAP-00307":{"line":3562,"offset":624774,"length":177,"previous":"M21-GAP-00306","next":"M21-GAP-00308"},"M21-GAP-00308":{"line":3563,"offset":624951,"length":177,"previous":"M21-GAP-00307","next":"M21-GAP-00309"},"M21-GAP-00309":{"line":3564,"offset":625128,"length":176,"previous":"M21-GAP-00308","next":"M21-GAP-00310"},"M21-GAP-00310":{"line":3565,"offset":625304,"length":177,"previous":"M21-GAP-00309","next":"M21-GAP-00311"},"M21-GAP-00311":{"line":3566,"offset":625481,"length":177,"previous":"M21-GAP-00310","next":"M21-GAP-00312"},"M21-GAP-00312":{"line":3567,"offset":625658,"length":177,"previous":"M21-GAP-00311","next":"M21-GAP-00313"},"M21-GAP-00313":{"line":3568,"offset":625835,"length":177,"previous":"M21-GAP-00312","next":"M21-GAP-00314"},"M21-GAP-00314":{"line":3569,"offset":626012,"length":177,"previous":"M21-GAP-00313","next":"M21-GAP-00315"},"M21-GAP-00315":{"line":3570,"offset":626189,"length":177,"previous":"M21-GAP-00314","next":"M21-GAP-00316"},"M21-GAP-00316":{"line":3571,"offset":626366,"length":177,"previous":"M21-GAP-00315","next":"M21-GAP-00317"},"M21-GAP-00317":{"line":3572,"offset":626543,"length":177,"previous":"M21-GAP-00316","next":"M21-GAP-00318"},"M21-GAP-00318":{"line":3573,"offset":626720,"length":177,"previous":"M21-GAP-00317","next":"M21-GAP-00319"},"M21-GAP-00319":{"line":3574,"offset":626897,"length":177,"previous":"M21-GAP-00318","next":"M21-GAP-00320"},"M21-GAP-00320":{"line":3575,"offset":627074,"length":176,"previous":"M21-GAP-00319","next":"M21-GAP-00321"},"M21-GAP-00321":{"line":3576,"offset":627250,"length":177,"previous":"M21-GAP-00320","next":"M21-GAP-00322"},"M21-GAP-00322":{"line":3577,"offset":627427,"length":177,"previous":"M21-GAP-00321","next":"M21-GAP-00323"},"M21-GAP-00323":{"line":3578,"offset":627604,"length":177,"previous":"M21-GAP-00322","next":"M21-GAP-00324"},"M21-GAP-00324":{"line":3579,"offset":627781,"length":177,"previous":"M21-GAP-00323","next":"M21-GAP-00325"},"M21-GAP-00325":{"line":3580,"offset":627958,"length":177,"previous":"M21-GAP-00324","next":"M21-GAP-00326"},"M21-GAP-00326":{"line":3581,"offset":628135,"length":177,"previous":"M21-GAP-00325","next":"M21-GAP-00327"},"M21-GAP-00327":{"line":3582,"offset":628312,"length":177,"previous":"M21-GAP-00326","next":"M21-GAP-00328"},"M21-GAP-00328":{"line":3583,"offset":628489,"length":177,"previous":"M21-GAP-00327","next":"M21-GAP-00329"},"M21-GAP-00329":{"line":3584,"offset":628666,"length":177,"previous":"M21-GAP-00328","next":"M21-GAP-00330"},"M21-GAP-00330":{"line":3585,"offset":628843,"length":177,"previous":"M21-GAP-00329","next":"M21-GAP-00331"},"M21-GAP-00331":{"line":3586,"offset":629020,"length":176,"previous":"M21-GAP-00330","next":"M21-GAP-00332"},"M21-GAP-00332":{"line":3587,"offset":629196,"length":177,"previous":"M21-GAP-00331","next":"M21-GAP-00333"},"M21-GAP-00333":{"line":3588,"offset":629373,"length":177,"previous":"M21-GAP-00332","next":"M21-GAP-00334"},"M21-GAP-00334":{"line":3589,"offset":629550,"length":177,"previous":"M21-GAP-00333","next":"M21-GAP-00335"},"M21-GAP-00335":{"line":3590,"offset":629727,"length":177,"previous":"M21-GAP-00334","next":"M21-GAP-00336"},"M21-GAP-00336":{"line":3591,"offset":629904,"length":177,"previous":"M21-GAP-00335","next":"M21-GAP-00337"},"M21-GAP-00337":{"line":3592,"offset":630081,"length":177,"previous":"M21-GAP-00336","next":"M21-GAP-00338"},"M21-GAP-00338":{"line":3593,"offset":630258,"length":177,"previous":"M21-GAP-00337","next":"M21-GAP-00339"},"M21-GAP-00339":{"line":3594,"offset":630435,"length":177,"previous":"M21-GAP-00338","next":"M21-GAP-00340"},"M21-GAP-00340":{"line":3595,"offset":630612,"length":177,"previous":"M21-GAP-00339","next":"M21-GAP-00341"},"M21-GAP-00341":{"line":3596,"offset":630789,"length":177,"previous":"M21-GAP-00340","next":"M21-GAP-00342"},"M21-GAP-00342":{"line":3597,"offset":630966,"length":176,"previous":"M21-GAP-00341","next":"M21-GAP-00343"},"M21-GAP-00343":{"line":3598,"offset":631142,"length":177,"previous":"M21-GAP-00342","next":"M21-GAP-00344"},"M21-GAP-00344":{"line":3599,"offset":631319,"length":177,"previous":"M21-GAP-00343","next":"M21-GAP-00345"},"M21-GAP-00345":{"line":3600,"offset":631496,"length":177,"previous":"M21-GAP-00344","next":"M21-GAP-00346"},"M21-GAP-00346":{"line":3601,"offset":631673,"length":177,"previous":"M21-GAP-00345","next":"M21-GAP-00347"},"M21-GAP-00347":{"line":3602,"offset":631850,"length":177,"previous":"M21-GAP-00346","next":"M21-GAP-00348"},"M21-GAP-00348":{"line":3603,"offset":632027,"length":177,"previous":"M21-GAP-00347","next":"M21-GAP-00349"},"M21-GAP-00349":{"line":3604,"offset":632204,"length":177,"previous":"M21-GAP-00348","next":"M21-GAP-00350"},"M21-GAP-00350":{"line":3605,"offset":632381,"length":177,"previous":"M21-GAP-00349","next":"M21-GAP-00351"},"M21-GAP-00351":{"line":3606,"offset":632558,"length":177,"previous":"M21-GAP-00350","next":"M21-GAP-00352"},"M21-GAP-00352":{"line":3607,"offset":632735,"length":177,"previous":"M21-GAP-00351","next":"M21-GAP-00353"},"M21-GAP-00353":{"line":3608,"offset":632912,"length":176,"previous":"M21-GAP-00352","next":"M21-GAP-00354"},"M21-GAP-00354":{"line":3609,"offset":633088,"length":177,"previous":"M21-GAP-00353","next":"M21-GAP-00355"},"M21-GAP-00355":{"line":3610,"offset":633265,"length":177,"previous":"M21-GAP-00354","next":"M21-GAP-00356"},"M21-GAP-00356":{"line":3611,"offset":633442,"length":177,"previous":"M21-GAP-00355","next":"M21-GAP-00357"},"M21-GAP-00357":{"line":3612,"offset":633619,"length":177,"previous":"M21-GAP-00356","next":"M21-GAP-00358"},"M21-GAP-00358":{"line":3613,"offset":633796,"length":177,"previous":"M21-GAP-00357","next":"M21-GAP-00359"},"M21-GAP-00359":{"line":3614,"offset":633973,"length":177,"previous":"M21-GAP-00358","next":"M21-GAP-00360"},"M21-GAP-00360":{"line":3615,"offset":634150,"length":177,"previous":"M21-GAP-00359","next":"M21-GAP-00361"},"M21-GAP-00361":{"line":3616,"offset":634327,"length":177,"previous":"M21-GAP-00360","next":"M21-GAP-00362"},"M21-GAP-00362":{"line":3617,"offset":634504,"length":177,"previous":"M21-GAP-00361","next":"M21-GAP-00363"},"M21-GAP-00363":{"line":3618,"offset":634681,"length":177,"previous":"M21-GAP-00362","next":"M21-GAP-00364"},"M21-GAP-00364":{"line":3619,"offset":634858,"length":176,"previous":"M21-GAP-00363","next":"M21-GAP-00365"},"M21-GAP-00365":{"line":3620,"offset":635034,"length":177,"previous":"M21-GAP-00364","next":"M21-GAP-00366"},"M21-GAP-00366":{"line":3621,"offset":635211,"length":177,"previous":"M21-GAP-00365","next":"M21-GAP-00367"},"M21-GAP-00367":{"line":3622,"offset":635388,"length":177,"previous":"M21-GAP-00366","next":"M21-GAP-00368"},"M21-GAP-00368":{"line":3623,"offset":635565,"length":177,"previous":"M21-GAP-00367","next":"M21-GAP-00369"},"M21-GAP-00369":{"line":3624,"offset":635742,"length":177,"previous":"M21-GAP-00368","next":"M21-GAP-00370"},"M21-GAP-00370":{"line":3625,"offset":635919,"length":177,"previous":"M21-GAP-00369","next":"M21-GAP-00371"},"M21-GAP-00371":{"line":3626,"offset":636096,"length":177,"previous":"M21-GAP-00370","next":"M21-GAP-00372"},"M21-GAP-00372":{"line":3627,"offset":636273,"length":177,"previous":"M21-GAP-00371","next":"M21-GAP-00373"},"M21-GAP-00373":{"line":3628,"offset":636450,"length":177,"previous":"M21-GAP-00372","next":"M21-GAP-00374"},"M21-GAP-00374":{"line":3629,"offset":636627,"length":177,"previous":"M21-GAP-00373","next":"M21-GAP-00375"},"M21-GAP-00375":{"line":3630,"offset":636804,"length":185,"previous":"M21-GAP-00374","next":"M21-GAP-00376"},"M21-GAP-00376":{"line":3631,"offset":636989,"length":185,"previous":"M21-GAP-00375","next":"M21-GAP-00377"},"M21-GAP-00377":{"line":3632,"offset":637174,"length":186,"previous":"M21-GAP-00376","next":"M21-GAP-00378"},"M21-GAP-00378":{"line":3633,"offset":637360,"length":186,"previous":"M21-GAP-00377","next":"M21-GAP-00379"},"M21-GAP-00379":{"line":3634,"offset":637546,"length":186,"previous":"M21-GAP-00378","next":"M21-GAP-00380"},"M21-GAP-00380":{"line":3635,"offset":637732,"length":186,"previous":"M21-GAP-00379","next":"M21-GAP-00381"},"M21-GAP-00381":{"line":3636,"offset":637918,"length":186,"previous":"M21-GAP-00380","next":"M21-GAP-00382"},"M21-GAP-00382":{"line":3637,"offset":638104,"length":186,"previous":"M21-GAP-00381","next":"M21-GAP-00383"},"M21-GAP-00383":{"line":3638,"offset":638290,"length":186,"previous":"M21-GAP-00382","next":"M21-GAP-00384"},"M21-GAP-00384":{"line":3639,"offset":638476,"length":186,"previous":"M21-GAP-00383","next":"M21-GAP-00385"},"M21-GAP-00385":{"line":3640,"offset":638662,"length":186,"previous":"M21-GAP-00384","next":"M21-GAP-00386"},"M21-GAP-00386":{"line":3641,"offset":638848,"length":186,"previous":"M21-GAP-00385","next":"M21-GAP-00387"},"M21-GAP-00387":{"line":3642,"offset":639034,"length":185,"previous":"M21-GAP-00386","next":"M21-GAP-00388"},"M21-GAP-00388":{"line":3643,"offset":639219,"length":186,"previous":"M21-GAP-00387","next":"M21-GAP-00389"},"M21-GAP-00389":{"line":3644,"offset":639405,"length":186,"previous":"M21-GAP-00388","next":"M21-GAP-00390"},"M21-GAP-00390":{"line":3645,"offset":639591,"length":186,"previous":"M21-GAP-00389","next":"M21-GAP-00391"},"M21-GAP-00391":{"line":3646,"offset":639777,"length":186,"previous":"M21-GAP-00390","next":"M21-GAP-00392"},"M21-GAP-00392":{"line":3647,"offset":639963,"length":186,"previous":"M21-GAP-00391","next":"M21-GAP-00393"},"M21-GAP-00393":{"line":3648,"offset":640149,"length":186,"previous":"M21-GAP-00392","next":"M21-GAP-00394"},"M21-GAP-00394":{"line":3649,"offset":640335,"length":186,"previous":"M21-GAP-00393","next":"M21-GAP-00395"},"M21-GAP-00395":{"line":3650,"offset":640521,"length":186,"previous":"M21-GAP-00394","next":"M21-GAP-00396"},"M21-GAP-00396":{"line":3651,"offset":640707,"length":186,"previous":"M21-GAP-00395","next":"M21-GAP-00397"},"M21-GAP-00397":{"line":3652,"offset":640893,"length":186,"previous":"M21-GAP-00396","next":"M21-GAP-00398"},"M21-GAP-00398":{"line":3653,"offset":641079,"length":185,"previous":"M21-GAP-00397","next":"M21-GAP-00399"},"M21-GAP-00399":{"line":3654,"offset":641264,"length":186,"previous":"M21-GAP-00398","next":"M21-GAP-00400"},"M21-GAP-00400":{"line":3655,"offset":641450,"length":186,"previous":"M21-GAP-00399","next":"M21-GAP-00401"},"M21-GAP-00401":{"line":3656,"offset":641636,"length":186,"previous":"M21-GAP-00400","next":"M21-GAP-00402"},"M21-GAP-00402":{"line":3657,"offset":641822,"length":186,"previous":"M21-GAP-00401","next":"M21-GAP-00403"},"M21-GAP-00403":{"line":3658,"offset":642008,"length":186,"previous":"M21-GAP-00402","next":"M21-GAP-00404"},"M21-GAP-00404":{"line":3659,"offset":642194,"length":186,"previous":"M21-GAP-00403","next":"M21-GAP-00405"},"M21-GAP-00405":{"line":3660,"offset":642380,"length":186,"previous":"M21-GAP-00404","next":"M21-GAP-00406"},"M21-GAP-00406":{"line":3661,"offset":642566,"length":185,"previous":"M21-GAP-00405","next":"M21-GAP-00407"},"M21-GAP-00407":{"line":3662,"offset":642751,"length":185,"previous":"M21-GAP-00406","next":"M21-GAP-00408"},"M21-GAP-00408":{"line":3663,"offset":642936,"length":185,"previous":"M21-GAP-00407","next":"M21-GAP-00409"},"M21-GAP-00409":{"line":3664,"offset":643121,"length":185,"previous":"M21-GAP-00408","next":"M21-GAP-00410"},"M21-GAP-00410":{"line":3665,"offset":643306,"length":185,"previous":"M21-GAP-00409","next":"M21-GAP-00411"},"M21-GAP-00411":{"line":3666,"offset":643491,"length":185,"previous":"M21-GAP-00410","next":"M21-GAP-00412"},"M21-GAP-00412":{"line":3667,"offset":643676,"length":176,"previous":"M21-GAP-00411","next":"M21-GAP-00413"},"M21-GAP-00413":{"line":3668,"offset":643852,"length":176,"previous":"M21-GAP-00412","next":"M21-GAP-00414"},"M21-GAP-00414":{"line":3669,"offset":644028,"length":176,"previous":"M21-GAP-00413","next":"M21-GAP-00415"},"M21-GAP-00415":{"line":3670,"offset":644204,"length":176,"previous":"M21-GAP-00414","next":"M21-GAP-00416"},"M21-GAP-00416":{"line":3671,"offset":644380,"length":176,"previous":"M21-GAP-00415","next":"M21-GAP-00417"},"M21-GAP-00417":{"line":3672,"offset":644556,"length":175,"previous":"M21-GAP-00416","next":"M21-GAP-00418"},"M21-GAP-00418":{"line":3673,"offset":644731,"length":175,"previous":"M21-GAP-00417","next":"M21-GAP-00419"},"M21-GAP-00419":{"line":3674,"offset":644906,"length":176,"previous":"M21-GAP-00418","next":"M21-GAP-00420"},"M21-GAP-00420":{"line":3675,"offset":645082,"length":176,"previous":"M21-GAP-00419","next":"M21-GAP-00421"},"M21-GAP-00421":{"line":3676,"offset":645258,"length":176,"previous":"M21-GAP-00420","next":"M21-GAP-00422"},"M21-GAP-00422":{"line":3677,"offset":645434,"length":176,"previous":"M21-GAP-00421","next":"M21-GAP-00423"},"M21-GAP-00423":{"line":3678,"offset":645610,"length":176,"previous":"M21-GAP-00422","next":"M21-GAP-00424"},"M21-GAP-00424":{"line":3679,"offset":645786,"length":176,"previous":"M21-GAP-00423","next":"M21-GAP-00425"},"M21-GAP-00425":{"line":3680,"offset":645962,"length":176,"previous":"M21-GAP-00424","next":"M21-GAP-00426"},"M21-GAP-00426":{"line":3681,"offset":646138,"length":176,"previous":"M21-GAP-00425","next":"M21-GAP-00427"},"M21-GAP-00427":{"line":3682,"offset":646314,"length":176,"previous":"M21-GAP-00426","next":"M21-GAP-00428"},"M21-GAP-00428":{"line":3683,"offset":646490,"length":176,"previous":"M21-GAP-00427","next":"M21-GAP-00429"},"M21-GAP-00429":{"line":3684,"offset":646666,"length":175,"previous":"M21-GAP-00428","next":"M21-GAP-00430"},"M21-GAP-00430":{"line":3685,"offset":646841,"length":176,"previous":"M21-GAP-00429","next":"M21-GAP-00431"},"M21-GAP-00431":{"line":3686,"offset":647017,"length":176,"previous":"M21-GAP-00430","next":"M21-GAP-00432"},"M21-GAP-00432":{"line":3687,"offset":647193,"length":176,"previous":"M21-GAP-00431","next":"M21-GAP-00433"},"M21-GAP-00433":{"line":3688,"offset":647369,"length":176,"previous":"M21-GAP-00432","next":"M21-GAP-00434"},"M21-GAP-00434":{"line":3689,"offset":647545,"length":176,"previous":"M21-GAP-00433","next":"M21-GAP-00435"},"M21-GAP-00435":{"line":3690,"offset":647721,"length":176,"previous":"M21-GAP-00434","next":"M21-GAP-00436"},"M21-GAP-00436":{"line":3691,"offset":647897,"length":176,"previous":"M21-GAP-00435","next":"M21-GAP-00437"},"M21-GAP-00437":{"line":3692,"offset":648073,"length":176,"previous":"M21-GAP-00436","next":"M21-GAP-00438"},"M21-GAP-00438":{"line":3693,"offset":648249,"length":176,"previous":"M21-GAP-00437","next":"M21-GAP-00439"},"M21-GAP-00439":{"line":3694,"offset":648425,"length":176,"previous":"M21-GAP-00438","next":"M21-GAP-00440"},"M21-GAP-00440":{"line":3695,"offset":648601,"length":175,"previous":"M21-GAP-00439","next":"M21-GAP-00441"},"M21-GAP-00441":{"line":3696,"offset":648776,"length":176,"previous":"M21-GAP-00440","next":"M21-GAP-00442"},"M21-GAP-00442":{"line":3697,"offset":648952,"length":176,"previous":"M21-GAP-00441","next":"M21-GAP-00443"},"M21-GAP-00443":{"line":3698,"offset":649128,"length":176,"previous":"M21-GAP-00442","next":"M21-GAP-00444"},"M21-GAP-00444":{"line":3699,"offset":649304,"length":176,"previous":"M21-GAP-00443","next":"M21-GAP-00445"},"M21-GAP-00445":{"line":3700,"offset":649480,"length":176,"previous":"M21-GAP-00444","next":"M21-GAP-00446"},"M21-GAP-00446":{"line":3701,"offset":649656,"length":176,"previous":"M21-GAP-00445","next":"M21-GAP-00447"},"M21-GAP-00447":{"line":3702,"offset":649832,"length":176,"previous":"M21-GAP-00446","next":"M21-GAP-00448"},"M21-GAP-00448":{"line":3703,"offset":650008,"length":176,"previous":"M21-GAP-00447","next":"M21-GAP-00449"},"M21-GAP-00449":{"line":3704,"offset":650184,"length":176,"previous":"M21-GAP-00448","next":"M21-GAP-00450"},"M21-GAP-00450":{"line":3705,"offset":650360,"length":176,"previous":"M21-GAP-00449","next":"M21-GAP-00451"},"M21-GAP-00451":{"line":3706,"offset":650536,"length":175,"previous":"M21-GAP-00450","next":"M21-GAP-00452"},"M21-GAP-00452":{"line":3707,"offset":650711,"length":176,"previous":"M21-GAP-00451","next":"M21-GAP-00453"},"M21-GAP-00453":{"line":3708,"offset":650887,"length":176,"previous":"M21-GAP-00452","next":"M21-GAP-00454"},"M21-GAP-00454":{"line":3709,"offset":651063,"length":176,"previous":"M21-GAP-00453","next":"M21-GAP-00455"},"M21-GAP-00455":{"line":3710,"offset":651239,"length":176,"previous":"M21-GAP-00454","next":"M21-GAP-00456"},"M21-GAP-00456":{"line":3711,"offset":651415,"length":176,"previous":"M21-GAP-00455","next":"M21-GAP-00457"},"M21-GAP-00457":{"line":3712,"offset":651591,"length":176,"previous":"M21-GAP-00456","next":"M21-GAP-00458"},"M21-GAP-00458":{"line":3713,"offset":651767,"length":176,"previous":"M21-GAP-00457","next":"M21-GAP-00459"},"M21-GAP-00459":{"line":3714,"offset":651943,"length":176,"previous":"M21-GAP-00458","next":"M21-GAP-00460"},"M21-GAP-00460":{"line":3715,"offset":652119,"length":176,"previous":"M21-GAP-00459","next":"M21-GAP-00461"},"M21-GAP-00461":{"line":3716,"offset":652295,"length":176,"previous":"M21-GAP-00460","next":"M21-GAP-00462"},"M21-GAP-00462":{"line":3717,"offset":652471,"length":175,"previous":"M21-GAP-00461","next":"M21-GAP-00463"},"M21-GAP-00463":{"line":3718,"offset":652646,"length":176,"previous":"M21-GAP-00462","next":"M21-GAP-00464"},"M21-GAP-00464":{"line":3719,"offset":652822,"length":176,"previous":"M21-GAP-00463","next":"M21-GAP-00465"},"M21-GAP-00465":{"line":3720,"offset":652998,"length":175,"previous":"M21-GAP-00464","next":"M21-GAP-00466"},"M21-GAP-00466":{"line":3721,"offset":653173,"length":175,"previous":"M21-GAP-00465","next":"M21-GAP-00467"},"M21-GAP-00467":{"line":3722,"offset":653348,"length":175,"previous":"M21-GAP-00466","next":"M21-GAP-00468"},"M21-GAP-00468":{"line":3723,"offset":653523,"length":175,"previous":"M21-GAP-00467","next":"M21-GAP-00469"},"M21-GAP-00469":{"line":3724,"offset":653698,"length":182,"previous":"M21-GAP-00468","next":"M21-GAP-00470"},"M21-GAP-00470":{"line":3725,"offset":653880,"length":182,"previous":"M21-GAP-00469","next":"M21-GAP-00471"},"M21-GAP-00471":{"line":3726,"offset":654062,"length":183,"previous":"M21-GAP-00470","next":"M21-GAP-00472"},"M21-GAP-00472":{"line":3727,"offset":654245,"length":183,"previous":"M21-GAP-00471","next":"M21-GAP-00473"},"M21-GAP-00473":{"line":3728,"offset":654428,"length":183,"previous":"M21-GAP-00472","next":"M21-GAP-00474"},"M21-GAP-00474":{"line":3729,"offset":654611,"length":183,"previous":"M21-GAP-00473","next":"M21-GAP-00475"},"M21-GAP-00475":{"line":3730,"offset":654794,"length":183,"previous":"M21-GAP-00474","next":"M21-GAP-00476"},"M21-GAP-00476":{"line":3731,"offset":654977,"length":183,"previous":"M21-GAP-00475","next":"M21-GAP-00477"},"M21-GAP-00477":{"line":3732,"offset":655160,"length":183,"previous":"M21-GAP-00476","next":"M21-GAP-00478"},"M21-GAP-00478":{"line":3733,"offset":655343,"length":183,"previous":"M21-GAP-00477","next":"M21-GAP-00479"},"M21-GAP-00479":{"line":3734,"offset":655526,"length":183,"previous":"M21-GAP-00478","next":"M21-GAP-00480"},"M21-GAP-00480":{"line":3735,"offset":655709,"length":183,"previous":"M21-GAP-00479","next":"M21-GAP-00481"},"M21-GAP-00481":{"line":3736,"offset":655892,"length":182,"previous":"M21-GAP-00480","next":"M21-GAP-00482"},"M21-GAP-00482":{"line":3737,"offset":656074,"length":183,"previous":"M21-GAP-00481","next":"M21-GAP-00483"},"M21-GAP-00483":{"line":3738,"offset":656257,"length":183,"previous":"M21-GAP-00482","next":"M21-GAP-00484"},"M21-GAP-00484":{"line":3739,"offset":656440,"length":183,"previous":"M21-GAP-00483","next":"M21-GAP-00485"},"M21-GAP-00485":{"line":3740,"offset":656623,"length":183,"previous":"M21-GAP-00484","next":"M21-GAP-00486"},"M21-GAP-00486":{"line":3741,"offset":656806,"length":183,"previous":"M21-GAP-00485","next":"M21-GAP-00487"},"M21-GAP-00487":{"line":3742,"offset":656989,"length":183,"previous":"M21-GAP-00486","next":"M21-GAP-00488"},"M21-GAP-00488":{"line":3743,"offset":657172,"length":183,"previous":"M21-GAP-00487","next":"M21-GAP-00489"},"M21-GAP-00489":{"line":3744,"offset":657355,"length":183,"previous":"M21-GAP-00488","next":"M21-GAP-00490"},"M21-GAP-00490":{"line":3745,"offset":657538,"length":183,"previous":"M21-GAP-00489","next":"M21-GAP-00491"},"M21-GAP-00491":{"line":3746,"offset":657721,"length":183,"previous":"M21-GAP-00490","next":"M21-GAP-00492"},"M21-GAP-00492":{"line":3747,"offset":657904,"length":182,"previous":"M21-GAP-00491","next":"M21-GAP-00493"},"M21-GAP-00493":{"line":3748,"offset":658086,"length":182,"previous":"M21-GAP-00492","next":"M21-GAP-00494"},"M21-GAP-00494":{"line":3749,"offset":658268,"length":182,"previous":"M21-GAP-00493","next":"M21-GAP-00495"},"M21-GAP-00495":{"line":3750,"offset":658450,"length":182,"previous":"M21-GAP-00494","next":"M21-GAP-00496"},"M21-GAP-00496":{"line":3751,"offset":658632,"length":182,"previous":"M21-GAP-00495","next":"M21-GAP-00497"},"M21-GAP-00497":{"line":3752,"offset":658814,"length":182,"previous":"M21-GAP-00496","next":"M21-GAP-00498"},"M21-GAP-00498":{"line":3753,"offset":658996,"length":182,"previous":"M21-GAP-00497","next":"M21-GAP-00499"},"M21-GAP-00499":{"line":3754,"offset":659178,"length":194,"previous":"M21-GAP-00498","next":"M21-GAP-00500"},"M21-GAP-00500":{"line":3755,"offset":659372,"length":194,"previous":"M21-GAP-00499","next":"M21-GAP-00501"},"M21-GAP-00501":{"line":3756,"offset":659566,"length":194,"previous":"M21-GAP-00500","next":"M21-GAP-00502"},"M21-GAP-00502":{"line":3757,"offset":659760,"length":194,"previous":"M21-GAP-00501","next":"M21-GAP-00503"},"M21-GAP-00503":{"line":3758,"offset":659954,"length":184,"previous":"M21-GAP-00502","next":"M21-GAP-00504"},"M21-GAP-00504":{"line":3759,"offset":660138,"length":184,"previous":"M21-GAP-00503","next":"M21-GAP-00505"},"M21-GAP-00505":{"line":3760,"offset":660322,"length":185,"previous":"M21-GAP-00504","next":"M21-GAP-00506"},"M21-GAP-00506":{"line":3761,"offset":660507,"length":185,"previous":"M21-GAP-00505","next":"M21-GAP-00507"},"M21-GAP-00507":{"line":3762,"offset":660692,"length":185,"previous":"M21-GAP-00506","next":"M21-GAP-00508"},"M21-GAP-00508":{"line":3763,"offset":660877,"length":185,"previous":"M21-GAP-00507","next":"M21-GAP-00509"},"M21-GAP-00509":{"line":3764,"offset":661062,"length":185,"previous":"M21-GAP-00508","next":"M21-GAP-00510"},"M21-GAP-00510":{"line":3765,"offset":661247,"length":185,"previous":"M21-GAP-00509","next":"M21-GAP-00511"},"M21-GAP-00511":{"line":3766,"offset":661432,"length":185,"previous":"M21-GAP-00510","next":"M21-GAP-00512"},"M21-GAP-00512":{"line":3767,"offset":661617,"length":185,"previous":"M21-GAP-00511","next":"M21-GAP-00513"},"M21-GAP-00513":{"line":3768,"offset":661802,"length":185,"previous":"M21-GAP-00512","next":"M21-GAP-00514"},"M21-GAP-00514":{"line":3769,"offset":661987,"length":185,"previous":"M21-GAP-00513","next":"M21-GAP-00515"},"M21-GAP-00515":{"line":3770,"offset":662172,"length":184,"previous":"M21-GAP-00514","next":"M21-GAP-00516"},"M21-GAP-00516":{"line":3771,"offset":662356,"length":185,"previous":"M21-GAP-00515","next":"M21-GAP-00517"},"M21-GAP-00517":{"line":3772,"offset":662541,"length":185,"previous":"M21-GAP-00516","next":"M21-GAP-00518"},"M21-GAP-00518":{"line":3773,"offset":662726,"length":185,"previous":"M21-GAP-00517","next":"M21-GAP-00519"},"M21-GAP-00519":{"line":3774,"offset":662911,"length":185,"previous":"M21-GAP-00518","next":"M21-GAP-00520"},"M21-GAP-00520":{"line":3775,"offset":663096,"length":185,"previous":"M21-GAP-00519","next":"M21-GAP-00521"},"M21-GAP-00521":{"line":3776,"offset":663281,"length":185,"previous":"M21-GAP-00520","next":"M21-GAP-00522"},"M21-GAP-00522":{"line":3777,"offset":663466,"length":185,"previous":"M21-GAP-00521","next":"M21-GAP-00523"},"M21-GAP-00523":{"line":3778,"offset":663651,"length":185,"previous":"M21-GAP-00522","next":"M21-GAP-00524"},"M21-GAP-00524":{"line":3779,"offset":663836,"length":185,"previous":"M21-GAP-00523","next":"M21-GAP-00525"},"M21-GAP-00525":{"line":3780,"offset":664021,"length":185,"previous":"M21-GAP-00524","next":"M21-GAP-00526"},"M21-GAP-00526":{"line":3781,"offset":664206,"length":184,"previous":"M21-GAP-00525","next":"M21-GAP-00527"},"M21-GAP-00527":{"line":3782,"offset":664390,"length":185,"previous":"M21-GAP-00526","next":"M21-GAP-00528"},"M21-GAP-00528":{"line":3783,"offset":664575,"length":185,"previous":"M21-GAP-00527","next":"M21-GAP-00529"},"M21-GAP-00529":{"line":3784,"offset":664760,"length":185,"previous":"M21-GAP-00528","next":"M21-GAP-00530"},"M21-GAP-00530":{"line":3785,"offset":664945,"length":185,"previous":"M21-GAP-00529","next":"M21-GAP-00531"},"M21-GAP-00531":{"line":3786,"offset":665130,"length":185,"previous":"M21-GAP-00530","next":"M21-GAP-00532"},"M21-GAP-00532":{"line":3787,"offset":665315,"length":185,"previous":"M21-GAP-00531","next":"M21-GAP-00533"},"M21-GAP-00533":{"line":3788,"offset":665500,"length":185,"previous":"M21-GAP-00532","next":"M21-GAP-00534"},"M21-GAP-00534":{"line":3789,"offset":665685,"length":185,"previous":"M21-GAP-00533","next":"M21-GAP-00535"},"M21-GAP-00535":{"line":3790,"offset":665870,"length":185,"previous":"M21-GAP-00534","next":"M21-GAP-00536"},"M21-GAP-00536":{"line":3791,"offset":666055,"length":185,"previous":"M21-GAP-00535","next":"M21-GAP-00537"},"M21-GAP-00537":{"line":3792,"offset":666240,"length":184,"previous":"M21-GAP-00536","next":"M21-GAP-00538"},"M21-GAP-00538":{"line":3793,"offset":666424,"length":185,"previous":"M21-GAP-00537","next":"M21-GAP-00539"},"M21-GAP-00539":{"line":3794,"offset":666609,"length":185,"previous":"M21-GAP-00538","next":"M21-GAP-00540"},"M21-GAP-00540":{"line":3795,"offset":666794,"length":185,"previous":"M21-GAP-00539","next":"M21-GAP-00541"},"M21-GAP-00541":{"line":3796,"offset":666979,"length":185,"previous":"M21-GAP-00540","next":"M21-GAP-00542"},"M21-GAP-00542":{"line":3797,"offset":667164,"length":185,"previous":"M21-GAP-00541","next":"M21-GAP-00543"},"M21-GAP-00543":{"line":3798,"offset":667349,"length":185,"previous":"M21-GAP-00542","next":"M21-GAP-00544"},"M21-GAP-00544":{"line":3799,"offset":667534,"length":185,"previous":"M21-GAP-00543","next":"M21-GAP-00545"},"M21-GAP-00545":{"line":3800,"offset":667719,"length":185,"previous":"M21-GAP-00544","next":"M21-GAP-00546"},"M21-GAP-00546":{"line":3801,"offset":667904,"length":185,"previous":"M21-GAP-00545","next":"M21-GAP-00547"},"M21-GAP-00547":{"line":3802,"offset":668089,"length":185,"previous":"M21-GAP-00546","next":"M21-GAP-00548"},"M21-GAP-00548":{"line":3803,"offset":668274,"length":184,"previous":"M21-GAP-00547","next":"M21-GAP-00549"},"M21-GAP-00549":{"line":3804,"offset":668458,"length":185,"previous":"M21-GAP-00548","next":"M21-GAP-00550"},"M21-GAP-00550":{"line":3805,"offset":668643,"length":185,"previous":"M21-GAP-00549","next":"M21-GAP-00551"},"M21-GAP-00551":{"line":3806,"offset":668828,"length":185,"previous":"M21-GAP-00550","next":"M21-GAP-00552"},"M21-GAP-00552":{"line":3807,"offset":669013,"length":185,"previous":"M21-GAP-00551","next":"M21-GAP-00553"},"M21-GAP-00553":{"line":3808,"offset":669198,"length":185,"previous":"M21-GAP-00552","next":"M21-GAP-00554"},"M21-GAP-00554":{"line":3809,"offset":669383,"length":185,"previous":"M21-GAP-00553","next":"M21-GAP-00555"},"M21-GAP-00555":{"line":3810,"offset":669568,"length":185,"previous":"M21-GAP-00554","next":"M21-GAP-00556"},"M21-GAP-00556":{"line":3811,"offset":669753,"length":185,"previous":"M21-GAP-00555","next":"M21-GAP-00557"},"M21-GAP-00557":{"line":3812,"offset":669938,"length":185,"previous":"M21-GAP-00556","next":"M21-GAP-00558"},"M21-GAP-00558":{"line":3813,"offset":670123,"length":185,"previous":"M21-GAP-00557","next":"M21-GAP-00559"},"M21-GAP-00559":{"line":3814,"offset":670308,"length":184,"previous":"M21-GAP-00558","next":"M21-GAP-00560"},"M21-GAP-00560":{"line":3815,"offset":670492,"length":185,"previous":"M21-GAP-00559","next":"M21-GAP-00561"},"M21-GAP-00561":{"line":3816,"offset":670677,"length":185,"previous":"M21-GAP-00560","next":"M21-GAP-00562"},"M21-GAP-00562":{"line":3817,"offset":670862,"length":185,"previous":"M21-GAP-00561","next":"M21-GAP-00563"},"M21-GAP-00563":{"line":3818,"offset":671047,"length":185,"previous":"M21-GAP-00562","next":"M21-GAP-00564"},"M21-GAP-00564":{"line":3819,"offset":671232,"length":185,"previous":"M21-GAP-00563","next":"M21-GAP-00565"},"M21-GAP-00565":{"line":3820,"offset":671417,"length":185,"previous":"M21-GAP-00564","next":"M21-GAP-00566"},"M21-GAP-00566":{"line":3821,"offset":671602,"length":185,"previous":"M21-GAP-00565","next":"M21-GAP-00567"},"M21-GAP-00567":{"line":3822,"offset":671787,"length":185,"previous":"M21-GAP-00566","next":"M21-GAP-00568"},"M21-GAP-00568":{"line":3823,"offset":671972,"length":185,"previous":"M21-GAP-00567","next":"M21-GAP-00569"},"M21-GAP-00569":{"line":3824,"offset":672157,"length":185,"previous":"M21-GAP-00568","next":"M21-GAP-00570"},"M21-GAP-00570":{"line":3825,"offset":672342,"length":184,"previous":"M21-GAP-00569","next":"M21-GAP-00571"},"M21-GAP-00571":{"line":3826,"offset":672526,"length":185,"previous":"M21-GAP-00570","next":"M21-GAP-00572"},"M21-GAP-00572":{"line":3827,"offset":672711,"length":185,"previous":"M21-GAP-00571","next":"M21-GAP-00573"},"M21-GAP-00573":{"line":3828,"offset":672896,"length":185,"previous":"M21-GAP-00572","next":"M21-GAP-00574"},"M21-GAP-00574":{"line":3829,"offset":673081,"length":185,"previous":"M21-GAP-00573","next":"M21-GAP-00575"},"M21-GAP-00575":{"line":3830,"offset":673266,"length":185,"previous":"M21-GAP-00574","next":"M21-GAP-00576"},"M21-GAP-00576":{"line":3831,"offset":673451,"length":185,"previous":"M21-GAP-00575","next":"M21-GAP-00577"},"M21-GAP-00577":{"line":3832,"offset":673636,"length":184,"previous":"M21-GAP-00576","next":"M21-GAP-00578"},"M21-GAP-00578":{"line":3833,"offset":673820,"length":184,"previous":"M21-GAP-00577","next":"M21-GAP-00579"},"M21-GAP-00579":{"line":3834,"offset":674004,"length":190,"previous":"M21-GAP-00578","next":"M21-GAP-00580"},"M21-GAP-00580":{"line":3835,"offset":674194,"length":190,"previous":"M21-GAP-00579","next":"M21-GAP-00581"},"M21-GAP-00581":{"line":3836,"offset":674384,"length":191,"previous":"M21-GAP-00580","next":"M21-GAP-00582"},"M21-GAP-00582":{"line":3837,"offset":674575,"length":191,"previous":"M21-GAP-00581","next":"M21-GAP-00583"},"M21-GAP-00583":{"line":3838,"offset":674766,"length":191,"previous":"M21-GAP-00582","next":"M21-GAP-00584"},"M21-GAP-00584":{"line":3839,"offset":674957,"length":191,"previous":"M21-GAP-00583","next":"M21-GAP-00585"},"M21-GAP-00585":{"line":3840,"offset":675148,"length":191,"previous":"M21-GAP-00584","next":"M21-GAP-00586"},"M21-GAP-00586":{"line":3841,"offset":675339,"length":191,"previous":"M21-GAP-00585","next":"M21-GAP-00587"},"M21-GAP-00587":{"line":3842,"offset":675530,"length":191,"previous":"M21-GAP-00586","next":"M21-GAP-00588"},"M21-GAP-00588":{"line":3843,"offset":675721,"length":191,"previous":"M21-GAP-00587","next":"M21-GAP-00589"},"M21-GAP-00589":{"line":3844,"offset":675912,"length":191,"previous":"M21-GAP-00588","next":"M21-GAP-00590"},"M21-GAP-00590":{"line":3845,"offset":676103,"length":191,"previous":"M21-GAP-00589","next":"M21-GAP-00591"},"M21-GAP-00591":{"line":3846,"offset":676294,"length":190,"previous":"M21-GAP-00590","next":"M21-GAP-00592"},"M21-GAP-00592":{"line":3847,"offset":676484,"length":191,"previous":"M21-GAP-00591","next":"M21-GAP-00593"},"M21-GAP-00593":{"line":3848,"offset":676675,"length":191,"previous":"M21-GAP-00592","next":"M21-GAP-00594"},"M21-GAP-00594":{"line":3849,"offset":676866,"length":191,"previous":"M21-GAP-00593","next":"M21-GAP-00595"},"M21-GAP-00595":{"line":3850,"offset":677057,"length":191,"previous":"M21-GAP-00594","next":"M21-GAP-00596"},"M21-GAP-00596":{"line":3851,"offset":677248,"length":190,"previous":"M21-GAP-00595","next":"M21-GAP-00597"},"M21-GAP-00597":{"line":3852,"offset":677438,"length":190,"previous":"M21-GAP-00596","next":"M21-GAP-00598"},"M21-GAP-00598":{"line":3853,"offset":677628,"length":190,"previous":"M21-GAP-00597","next":"M21-GAP-00599"},"M21-GAP-00599":{"line":3854,"offset":677818,"length":190,"previous":"M21-GAP-00598","next":"M21-GAP-00600"},"M21-GAP-00600":{"line":3855,"offset":678008,"length":190,"previous":"M21-GAP-00599","next":"M21-GAP-00601"},"M21-GAP-00601":{"line":3856,"offset":678198,"length":190,"previous":"M21-GAP-00600","next":"M21-GAP-00602"},"M21-GAP-00602":{"line":3857,"offset":678388,"length":190,"previous":"M21-GAP-00601","next":"M21-GAP-00603"},"M21-GAP-00603":{"line":3858,"offset":678578,"length":189,"previous":"M21-GAP-00602","next":"M21-GAP-00604"},"M21-GAP-00604":{"line":3859,"offset":678767,"length":177,"previous":"M21-GAP-00603","next":"M21-GAP-00605"},"M21-GAP-00605":{"line":3860,"offset":678944,"length":177,"previous":"M21-GAP-00604","next":"M21-GAP-00606"},"M21-GAP-00606":{"line":3861,"offset":679121,"length":178,"previous":"M21-GAP-00605","next":"M21-GAP-00607"},"M21-GAP-00607":{"line":3862,"offset":679299,"length":178,"previous":"M21-GAP-00606","next":"M21-GAP-00608"},"M21-GAP-00608":{"line":3863,"offset":679477,"length":178,"previous":"M21-GAP-00607","next":"M21-GAP-00609"},"M21-GAP-00609":{"line":3864,"offset":679655,"length":178,"previous":"M21-GAP-00608","next":"M21-GAP-00610"},"M21-GAP-00610":{"line":3865,"offset":679833,"length":177,"previous":"M21-GAP-00609","next":"M21-GAP-00611"},"M21-GAP-00611":{"line":3866,"offset":680010,"length":177,"previous":"M21-GAP-00610","next":"M21-GAP-00612"},"M21-GAP-00612":{"line":3867,"offset":680187,"length":177,"previous":"M21-GAP-00611","next":"M21-GAP-00613"},"M21-GAP-00613":{"line":3868,"offset":680364,"length":177,"previous":"M21-GAP-00612","next":"M21-GAP-00614"},"M21-GAP-00614":{"line":3869,"offset":680541,"length":177,"previous":"M21-GAP-00613","next":"M21-GAP-00615"},"M21-GAP-00615":{"line":3870,"offset":680718,"length":177,"previous":"M21-GAP-00614","next":"M21-GAP-00616"},"M21-GAP-00616":{"line":3871,"offset":680895,"length":177,"previous":"M21-GAP-00615","next":"M21-GAP-00617"},"M21-GAP-00617":{"line":3872,"offset":681072,"length":177,"previous":"M21-GAP-00616","next":"M21-GAP-00618"},"M21-GAP-00618":{"line":3873,"offset":681249,"length":176,"previous":"M21-GAP-00617","next":"M21-GAP-00619"},"M21-GAP-00619":{"line":3874,"offset":681425,"length":176,"previous":"M21-GAP-00618","next":"M21-GAP-00620"},"M21-GAP-00620":{"line":3875,"offset":681601,"length":177,"previous":"M21-GAP-00619","next":"M21-GAP-00621"},"M21-GAP-00621":{"line":3876,"offset":681778,"length":177,"previous":"M21-GAP-00620","next":"M21-GAP-00622"},"M21-GAP-00622":{"line":3877,"offset":681955,"length":177,"previous":"M21-GAP-00621","next":"M21-GAP-00623"},"M21-GAP-00623":{"line":3878,"offset":682132,"length":177,"previous":"M21-GAP-00622","next":"M21-GAP-00624"},"M21-GAP-00624":{"line":3879,"offset":682309,"length":177,"previous":"M21-GAP-00623","next":"M21-GAP-00625"},"M21-GAP-00625":{"line":3880,"offset":682486,"length":177,"previous":"M21-GAP-00624","next":"M21-GAP-00626"},"M21-GAP-00626":{"line":3881,"offset":682663,"length":177,"previous":"M21-GAP-00625","next":"M21-GAP-00627"},"M21-GAP-00627":{"line":3882,"offset":682840,"length":177,"previous":"M21-GAP-00626","next":"M21-GAP-00628"},"M21-GAP-00628":{"line":3883,"offset":683017,"length":177,"previous":"M21-GAP-00627","next":"M21-GAP-00629"},"M21-GAP-00629":{"line":3884,"offset":683194,"length":177,"previous":"M21-GAP-00628","next":"M21-GAP-00630"},"M21-GAP-00630":{"line":3885,"offset":683371,"length":176,"previous":"M21-GAP-00629","next":"M21-GAP-00631"},"M21-GAP-00631":{"line":3886,"offset":683547,"length":177,"previous":"M21-GAP-00630","next":"M21-GAP-00632"},"M21-GAP-00632":{"line":3887,"offset":683724,"length":177,"previous":"M21-GAP-00631","next":"M21-GAP-00633"},"M21-GAP-00633":{"line":3888,"offset":683901,"length":177,"previous":"M21-GAP-00632","next":"M21-GAP-00634"},"M21-GAP-00634":{"line":3889,"offset":684078,"length":177,"previous":"M21-GAP-00633","next":"M21-GAP-00635"},"M21-GAP-00635":{"line":3890,"offset":684255,"length":177,"previous":"M21-GAP-00634","next":"M21-GAP-00636"},"M21-GAP-00636":{"line":3891,"offset":684432,"length":177,"previous":"M21-GAP-00635","next":"M21-GAP-00637"},"M21-GAP-00637":{"line":3892,"offset":684609,"length":177,"previous":"M21-GAP-00636","next":"M21-GAP-00638"},"M21-GAP-00638":{"line":3893,"offset":684786,"length":177,"previous":"M21-GAP-00637","next":"M21-GAP-00639"},"M21-GAP-00639":{"line":3894,"offset":684963,"length":177,"previous":"M21-GAP-00638","next":"M21-GAP-00640"},"M21-GAP-00640":{"line":3895,"offset":685140,"length":177,"previous":"M21-GAP-00639","next":"M21-GAP-00641"},"M21-GAP-00641":{"line":3896,"offset":685317,"length":176,"previous":"M21-GAP-00640","next":"M21-GAP-00642"},"M21-GAP-00642":{"line":3897,"offset":685493,"length":177,"previous":"M21-GAP-00641","next":"M21-GAP-00643"},"M21-GAP-00643":{"line":3898,"offset":685670,"length":177,"previous":"M21-GAP-00642","next":"M21-GAP-00644"},"M21-GAP-00644":{"line":3899,"offset":685847,"length":177,"previous":"M21-GAP-00643","next":"M21-GAP-00645"},"M21-GAP-00645":{"line":3900,"offset":686024,"length":177,"previous":"M21-GAP-00644","next":"M21-GAP-00646"},"M21-GAP-00646":{"line":3901,"offset":686201,"length":177,"previous":"M21-GAP-00645","next":"M21-GAP-00647"},"M21-GAP-00647":{"line":3902,"offset":686378,"length":177,"previous":"M21-GAP-00646","next":"M21-GAP-00648"},"M21-GAP-00648":{"line":3903,"offset":686555,"length":177,"previous":"M21-GAP-00647","next":"M21-GAP-00649"},"M21-GAP-00649":{"line":3904,"offset":686732,"length":177,"previous":"M21-GAP-00648","next":"M21-GAP-00650"},"M21-GAP-00650":{"line":3905,"offset":686909,"length":177,"previous":"M21-GAP-00649","next":"M21-GAP-00651"},"M21-GAP-00651":{"line":3906,"offset":687086,"length":177,"previous":"M21-GAP-00650","next":"M21-GAP-00652"},"M21-GAP-00652":{"line":3907,"offset":687263,"length":176,"previous":"M21-GAP-00651","next":"M21-GAP-00653"},"M21-GAP-00653":{"line":3908,"offset":687439,"length":176,"previous":"M21-GAP-00652","next":"M21-GAP-00654"},"M21-GAP-00654":{"line":3909,"offset":687615,"length":176,"previous":"M21-GAP-00653","next":"M21-GAP-00655"},"M21-GAP-00655":{"line":3910,"offset":687791,"length":176,"previous":"M21-GAP-00654","next":"M21-GAP-00656"},"M21-GAP-00656":{"line":3911,"offset":687967,"length":176,"previous":"M21-GAP-00655","next":"M21-GAP-00657"},"M21-GAP-00657":{"line":3912,"offset":688143,"length":176,"previous":"M21-GAP-00656","next":"M21-GAP-00658"},"M21-GAP-00658":{"line":3913,"offset":688319,"length":186,"previous":"M21-GAP-00657","next":"M21-GAP-00659"},"M21-GAP-00659":{"line":3914,"offset":688505,"length":186,"previous":"M21-GAP-00658","next":"M21-GAP-00660"},"M21-GAP-00660":{"line":3915,"offset":688691,"length":186,"previous":"M21-GAP-00659","next":"M21-GAP-00661"},"M21-GAP-00661":{"line":3916,"offset":688877,"length":186,"previous":"M21-GAP-00660","next":"M21-GAP-00662"},"M21-GAP-00662":{"line":3917,"offset":689063,"length":186,"previous":"M21-GAP-00661","next":"M21-GAP-00663"},"M21-GAP-00663":{"line":3918,"offset":689249,"length":172,"previous":"M21-GAP-00662","next":"M21-GAP-00664"},"M21-GAP-00664":{"line":3919,"offset":689421,"length":172,"previous":"M21-GAP-00663","next":"M21-GAP-00665"},"M21-GAP-00665":{"line":3920,"offset":689593,"length":173,"previous":"M21-GAP-00664","next":"M21-GAP-00666"},"M21-GAP-00666":{"line":3921,"offset":689766,"length":173,"previous":"M21-GAP-00665","next":"M21-GAP-00667"},"M21-GAP-00667":{"line":3922,"offset":689939,"length":173,"previous":"M21-GAP-00666","next":"M21-GAP-00668"},"M21-GAP-00668":{"line":3923,"offset":690112,"length":173,"previous":"M21-GAP-00667","next":"M21-GAP-00669"},"M21-GAP-00669":{"line":3924,"offset":690285,"length":173,"previous":"M21-GAP-00668","next":"M21-GAP-00670"},"M21-GAP-00670":{"line":3925,"offset":690458,"length":173,"previous":"M21-GAP-00669","next":"M21-GAP-00671"},"M21-GAP-00671":{"line":3926,"offset":690631,"length":173,"previous":"M21-GAP-00670","next":"M21-GAP-00672"},"M21-GAP-00672":{"line":3927,"offset":690804,"length":173,"previous":"M21-GAP-00671","next":"M21-GAP-00673"},"M21-GAP-00673":{"line":3928,"offset":690977,"length":173,"previous":"M21-GAP-00672","next":"M21-GAP-00674"},"M21-GAP-00674":{"line":3929,"offset":691150,"length":173,"previous":"M21-GAP-00673","next":"M21-GAP-00675"},"M21-GAP-00675":{"line":3930,"offset":691323,"length":172,"previous":"M21-GAP-00674","next":"M21-GAP-00676"},"M21-GAP-00676":{"line":3931,"offset":691495,"length":173,"previous":"M21-GAP-00675","next":"M21-GAP-00677"},"M21-GAP-00677":{"line":3932,"offset":691668,"length":173,"previous":"M21-GAP-00676","next":"M21-GAP-00678"},"M21-GAP-00678":{"line":3933,"offset":691841,"length":173,"previous":"M21-GAP-00677","next":"M21-GAP-00679"},"M21-GAP-00679":{"line":3934,"offset":692014,"length":173,"previous":"M21-GAP-00678","next":"M21-GAP-00680"},"M21-GAP-00680":{"line":3935,"offset":692187,"length":173,"previous":"M21-GAP-00679","next":"M21-GAP-00681"},"M21-GAP-00681":{"line":3936,"offset":692360,"length":173,"previous":"M21-GAP-00680","next":"M21-GAP-00682"},"M21-GAP-00682":{"line":3937,"offset":692533,"length":173,"previous":"M21-GAP-00681","next":"M21-GAP-00683"},"M21-GAP-00683":{"line":3938,"offset":692706,"length":173,"previous":"M21-GAP-00682","next":"M21-GAP-00684"},"M21-GAP-00684":{"line":3939,"offset":692879,"length":173,"previous":"M21-GAP-00683","next":"M21-GAP-00685"},"M21-GAP-00685":{"line":3940,"offset":693052,"length":173,"previous":"M21-GAP-00684","next":"M21-GAP-00686"},"M21-GAP-00686":{"line":3941,"offset":693225,"length":172,"previous":"M21-GAP-00685","next":"M21-GAP-00687"},"M21-GAP-00687":{"line":3942,"offset":693397,"length":173,"previous":"M21-GAP-00686","next":"M21-GAP-00688"},"M21-GAP-00688":{"line":3943,"offset":693570,"length":173,"previous":"M21-GAP-00687","next":"M21-GAP-00689"},"M21-GAP-00689":{"line":3944,"offset":693743,"length":173,"previous":"M21-GAP-00688","next":"M21-GAP-00690"},"M21-GAP-00690":{"line":3945,"offset":693916,"length":173,"previous":"M21-GAP-00689","next":"M21-GAP-00691"},"M21-GAP-00691":{"line":3946,"offset":694089,"length":173,"previous":"M21-GAP-00690","next":"M21-GAP-00692"},"M21-GAP-00692":{"line":3947,"offset":694262,"length":173,"previous":"M21-GAP-00691","next":"M21-GAP-00693"},"M21-GAP-00693":{"line":3948,"offset":694435,"length":173,"previous":"M21-GAP-00692","next":"M21-GAP-00694"},"M21-GAP-00694":{"line":3949,"offset":694608,"length":173,"previous":"M21-GAP-00693","next":"M21-GAP-00695"},"M21-GAP-00695":{"line":3950,"offset":694781,"length":173,"previous":"M21-GAP-00694","next":"M21-GAP-00696"},"M21-GAP-00696":{"line":3951,"offset":694954,"length":173,"previous":"M21-GAP-00695","next":"M21-GAP-00697"},"M21-GAP-00697":{"line":3952,"offset":695127,"length":172,"previous":"M21-GAP-00696","next":"M21-GAP-00698"},"M21-GAP-00698":{"line":3953,"offset":695299,"length":173,"previous":"M21-GAP-00697","next":"M21-GAP-00699"},"M21-GAP-00699":{"line":3954,"offset":695472,"length":173,"previous":"M21-GAP-00698","next":"M21-GAP-00700"},"M21-GAP-00700":{"line":3955,"offset":695645,"length":173,"previous":"M21-GAP-00699","next":"M21-GAP-00701"},"M21-GAP-00701":{"line":3956,"offset":695818,"length":173,"previous":"M21-GAP-00700","next":"M21-GAP-00702"},"M21-GAP-00702":{"line":3957,"offset":695991,"length":173,"previous":"M21-GAP-00701","next":"M21-GAP-00703"},"M21-GAP-00703":{"line":3958,"offset":696164,"length":172,"previous":"M21-GAP-00702","next":"M21-GAP-00704"},"M21-GAP-00704":{"line":3959,"offset":696336,"length":172,"previous":"M21-GAP-00703","next":"M21-GAP-00705"},"M21-GAP-00705":{"line":3960,"offset":696508,"length":172,"previous":"M21-GAP-00704","next":"M21-GAP-00706"},"M21-GAP-00706":{"line":3961,"offset":696680,"length":172,"previous":"M21-GAP-00705","next":"M21-GAP-00707"},"M21-GAP-00707":{"line":3962,"offset":696852,"length":172,"previous":"M21-GAP-00706","next":"M21-GAP-00708"},"M21-GAP-00708":{"line":3963,"offset":697024,"length":173,"previous":"M21-GAP-00707","next":"M21-GAP-00709"},"M21-GAP-00709":{"line":3964,"offset":697197,"length":173,"previous":"M21-GAP-00708","next":"M21-GAP-00710"},"M21-GAP-00710":{"line":3965,"offset":697370,"length":174,"previous":"M21-GAP-00709","next":"M21-GAP-00711"},"M21-GAP-00711":{"line":3966,"offset":697544,"length":174,"previous":"M21-GAP-00710","next":"M21-GAP-00712"},"M21-GAP-00712":{"line":3967,"offset":697718,"length":174,"previous":"M21-GAP-00711","next":"M21-GAP-00713"},"M21-GAP-00713":{"line":3968,"offset":697892,"length":174,"previous":"M21-GAP-00712","next":"M21-GAP-00714"},"M21-GAP-00714":{"line":3969,"offset":698066,"length":174,"previous":"M21-GAP-00713","next":"M21-GAP-00715"},"M21-GAP-00715":{"line":3970,"offset":698240,"length":174,"previous":"M21-GAP-00714","next":"M21-GAP-00716"},"M21-GAP-00716":{"line":3971,"offset":698414,"length":174,"previous":"M21-GAP-00715","next":"M21-GAP-00717"},"M21-GAP-00717":{"line":3972,"offset":698588,"length":174,"previous":"M21-GAP-00716","next":"M21-GAP-00718"},"M21-GAP-00718":{"line":3973,"offset":698762,"length":174,"previous":"M21-GAP-00717","next":"M21-GAP-00719"},"M21-GAP-00719":{"line":3974,"offset":698936,"length":174,"previous":"M21-GAP-00718","next":"M21-GAP-00720"},"M21-GAP-00720":{"line":3975,"offset":699110,"length":173,"previous":"M21-GAP-00719","next":"M21-GAP-00721"},"M21-GAP-00721":{"line":3976,"offset":699283,"length":174,"previous":"M21-GAP-00720","next":"M21-GAP-00722"},"M21-GAP-00722":{"line":3977,"offset":699457,"length":174,"previous":"M21-GAP-00721","next":"M21-GAP-00723"},"M21-GAP-00723":{"line":3978,"offset":699631,"length":174,"previous":"M21-GAP-00722","next":"M21-GAP-00724"},"M21-GAP-00724":{"line":3979,"offset":699805,"length":174,"previous":"M21-GAP-00723","next":"M21-GAP-00725"},"M21-GAP-00725":{"line":3980,"offset":699979,"length":174,"previous":"M21-GAP-00724","next":"M21-GAP-00726"},"M21-GAP-00726":{"line":3981,"offset":700153,"length":174,"previous":"M21-GAP-00725","next":"M21-GAP-00727"},"M21-GAP-00727":{"line":3982,"offset":700327,"length":174,"previous":"M21-GAP-00726","next":"M21-GAP-00728"},"M21-GAP-00728":{"line":3983,"offset":700501,"length":174,"previous":"M21-GAP-00727","next":"M21-GAP-00729"},"M21-GAP-00729":{"line":3984,"offset":700675,"length":174,"previous":"M21-GAP-00728","next":"M21-GAP-00730"},"M21-GAP-00730":{"line":3985,"offset":700849,"length":174,"previous":"M21-GAP-00729","next":"M21-GAP-00731"},"M21-GAP-00731":{"line":3986,"offset":701023,"length":173,"previous":"M21-GAP-00730","next":"M21-GAP-00732"},"M21-GAP-00732":{"line":3987,"offset":701196,"length":174,"previous":"M21-GAP-00731","next":"M21-GAP-00733"},"M21-GAP-00733":{"line":3988,"offset":701370,"length":174,"previous":"M21-GAP-00732","next":"M21-GAP-00734"},"M21-GAP-00734":{"line":3989,"offset":701544,"length":174,"previous":"M21-GAP-00733","next":"M21-GAP-00735"},"M21-GAP-00735":{"line":3990,"offset":701718,"length":174,"previous":"M21-GAP-00734","next":"M21-GAP-00736"},"M21-GAP-00736":{"line":3991,"offset":701892,"length":173,"previous":"M21-GAP-00735","next":"M21-GAP-00737"},"M21-GAP-00737":{"line":3992,"offset":702065,"length":173,"previous":"M21-GAP-00736","next":"M21-GAP-00738"},"M21-GAP-00738":{"line":3993,"offset":702238,"length":173,"previous":"M21-GAP-00737","next":"M21-GAP-00739"},"M21-GAP-00739":{"line":3994,"offset":702411,"length":173,"previous":"M21-GAP-00738","next":"M21-GAP-00740"},"M21-GAP-00740":{"line":3995,"offset":702584,"length":173,"previous":"M21-GAP-00739","next":"M21-GAP-00741"},"M21-GAP-00741":{"line":3996,"offset":702757,"length":173,"previous":"M21-GAP-00740","next":"M21-GAP-00742"},"M21-GAP-00742":{"line":3997,"offset":702930,"length":191,"previous":"M21-GAP-00741","next":"M21-GAP-00743"},"M21-GAP-00743":{"line":3998,"offset":703121,"length":191,"previous":"M21-GAP-00742","next":"M21-GAP-00744"},"M21-GAP-00744":{"line":3999,"offset":703312,"length":192,"previous":"M21-GAP-00743","next":"M21-GAP-00745"},"M21-GAP-00745":{"line":4000,"offset":703504,"length":192,"previous":"M21-GAP-00744","next":"M21-GAP-00746"},"M21-GAP-00746":{"line":4001,"offset":703696,"length":192,"previous":"M21-GAP-00745","next":"M21-GAP-00747"},"M21-GAP-00747":{"line":4002,"offset":703888,"length":192,"previous":"M21-GAP-00746","next":"M21-GAP-00748"},"M21-GAP-00748":{"line":4003,"offset":704080,"length":191,"previous":"M21-GAP-00747","next":"M21-GAP-00749"},"M21-GAP-00749":{"line":4004,"offset":704271,"length":191,"previous":"M21-GAP-00748","next":"M21-GAP-00750"},"M21-GAP-00750":{"line":4005,"offset":704462,"length":191,"previous":"M21-GAP-00749","next":"M21-GAP-00751"},"M21-GAP-00751":{"line":4006,"offset":704653,"length":191,"previous":"M21-GAP-00750","next":"M21-GAP-00752"},"M21-GAP-00752":{"line":4007,"offset":704844,"length":191,"previous":"M21-GAP-00751","next":"M21-GAP-00753"},"M21-GAP-00753":{"line":4008,"offset":705035,"length":191,"previous":"M21-GAP-00752","next":"M21-GAP-00754"},"M21-GAP-00754":{"line":4009,"offset":705226,"length":191,"previous":"M21-GAP-00753","next":"M21-GAP-00755"},"M21-GAP-00755":{"line":4010,"offset":705417,"length":191,"previous":"M21-GAP-00754","next":"M21-GAP-00756"},"M21-GAP-00756":{"line":4011,"offset":705608,"length":195,"previous":"M21-GAP-00755","next":"M21-GAP-00757"},"M21-GAP-00757":{"line":4012,"offset":705803,"length":195,"previous":"M21-GAP-00756","next":"M21-GAP-00758"},"M21-GAP-00758":{"line":4013,"offset":705998,"length":195,"previous":"M21-GAP-00757","next":"M21-GAP-00759"},"M21-GAP-00759":{"line":4014,"offset":706193,"length":187,"previous":"M21-GAP-00758","next":"M21-GAP-00760"},"M21-GAP-00760":{"line":4015,"offset":706380,"length":187,"previous":"M21-GAP-00759","next":"M21-GAP-00761"},"M21-GAP-00761":{"line":4016,"offset":706567,"length":188,"previous":"M21-GAP-00760","next":"M21-GAP-00762"},"M21-GAP-00762":{"line":4017,"offset":706755,"length":188,"previous":"M21-GAP-00761","next":"M21-GAP-00763"},"M21-GAP-00763":{"line":4018,"offset":706943,"length":188,"previous":"M21-GAP-00762","next":"M21-GAP-00764"},"M21-GAP-00764":{"line":4019,"offset":707131,"length":188,"previous":"M21-GAP-00763","next":"M21-GAP-00765"},"M21-GAP-00765":{"line":4020,"offset":707319,"length":188,"previous":"M21-GAP-00764","next":"M21-GAP-00766"},"M21-GAP-00766":{"line":4021,"offset":707507,"length":188,"previous":"M21-GAP-00765","next":"M21-GAP-00767"},"M21-GAP-00767":{"line":4022,"offset":707695,"length":188,"previous":"M21-GAP-00766","next":"M21-GAP-00768"},"M21-GAP-00768":{"line":4023,"offset":707883,"length":188,"previous":"M21-GAP-00767","next":"M21-GAP-00769"},"M21-GAP-00769":{"line":4024,"offset":708071,"length":188,"previous":"M21-GAP-00768","next":"M21-GAP-00770"},"M21-GAP-00770":{"line":4025,"offset":708259,"length":188,"previous":"M21-GAP-00769","next":"M21-GAP-00771"},"M21-GAP-00771":{"line":4026,"offset":708447,"length":187,"previous":"M21-GAP-00770","next":"M21-GAP-00772"},"M21-GAP-00772":{"line":4027,"offset":708634,"length":188,"previous":"M21-GAP-00771","next":"M21-GAP-00773"},"M21-GAP-00773":{"line":4028,"offset":708822,"length":188,"previous":"M21-GAP-00772","next":"M21-GAP-00774"},"M21-GAP-00774":{"line":4029,"offset":709010,"length":188,"previous":"M21-GAP-00773","next":"M21-GAP-00775"},"M21-GAP-00775":{"line":4030,"offset":709198,"length":188,"previous":"M21-GAP-00774","next":"M21-GAP-00776"},"M21-GAP-00776":{"line":4031,"offset":709386,"length":188,"previous":"M21-GAP-00775","next":"M21-GAP-00777"},"M21-GAP-00777":{"line":4032,"offset":709574,"length":188,"previous":"M21-GAP-00776","next":"M21-GAP-00778"},"M21-GAP-00778":{"line":4033,"offset":709762,"length":188,"previous":"M21-GAP-00777","next":"M21-GAP-00779"},"M21-GAP-00779":{"line":4034,"offset":709950,"length":188,"previous":"M21-GAP-00778","next":"M21-GAP-00780"},"M21-GAP-00780":{"line":4035,"offset":710138,"length":188,"previous":"M21-GAP-00779","next":"M21-GAP-00781"},"M21-GAP-00781":{"line":4036,"offset":710326,"length":188,"previous":"M21-GAP-00780","next":"M21-GAP-00782"},"M21-GAP-00782":{"line":4037,"offset":710514,"length":187,"previous":"M21-GAP-00781","next":"M21-GAP-00783"},"M21-GAP-00783":{"line":4038,"offset":710701,"length":188,"previous":"M21-GAP-00782","next":"M21-GAP-00784"},"M21-GAP-00784":{"line":4039,"offset":710889,"length":188,"previous":"M21-GAP-00783","next":"M21-GAP-00785"},"M21-GAP-00785":{"line":4040,"offset":711077,"length":188,"previous":"M21-GAP-00784","next":"M21-GAP-00786"},"M21-GAP-00786":{"line":4041,"offset":711265,"length":188,"previous":"M21-GAP-00785","next":"M21-GAP-00787"},"M21-GAP-00787":{"line":4042,"offset":711453,"length":188,"previous":"M21-GAP-00786","next":"M21-GAP-00788"},"M21-GAP-00788":{"line":4043,"offset":711641,"length":188,"previous":"M21-GAP-00787","next":"M21-GAP-00789"},"M21-GAP-00789":{"line":4044,"offset":711829,"length":188,"previous":"M21-GAP-00788","next":"M21-GAP-00790"},"M21-GAP-00790":{"line":4045,"offset":712017,"length":188,"previous":"M21-GAP-00789","next":"M21-GAP-00791"},"M21-GAP-00791":{"line":4046,"offset":712205,"length":188,"previous":"M21-GAP-00790","next":"M21-GAP-00792"},"M21-GAP-00792":{"line":4047,"offset":712393,"length":188,"previous":"M21-GAP-00791","next":"M21-GAP-00793"},"M21-GAP-00793":{"line":4048,"offset":712581,"length":187,"previous":"M21-GAP-00792","next":"M21-GAP-00794"},"M21-GAP-00794":{"line":4049,"offset":712768,"length":188,"previous":"M21-GAP-00793","next":"M21-GAP-00795"},"M21-GAP-00795":{"line":4050,"offset":712956,"length":188,"previous":"M21-GAP-00794","next":"M21-GAP-00796"},"M21-GAP-00796":{"line":4051,"offset":713144,"length":188,"previous":"M21-GAP-00795","next":"M21-GAP-00797"},"M21-GAP-00797":{"line":4052,"offset":713332,"length":188,"previous":"M21-GAP-00796","next":"M21-GAP-00798"},"M21-GAP-00798":{"line":4053,"offset":713520,"length":188,"previous":"M21-GAP-00797","next":"M21-GAP-00799"},"M21-GAP-00799":{"line":4054,"offset":713708,"length":188,"previous":"M21-GAP-00798","next":"M21-GAP-00800"},"M21-GAP-00800":{"line":4055,"offset":713896,"length":188,"previous":"M21-GAP-00799","next":"M21-GAP-00801"},"M21-GAP-00801":{"line":4056,"offset":714084,"length":188,"previous":"M21-GAP-00800","next":"M21-GAP-00802"},"M21-GAP-00802":{"line":4057,"offset":714272,"length":188,"previous":"M21-GAP-00801","next":"M21-GAP-00803"},"M21-GAP-00803":{"line":4058,"offset":714460,"length":188,"previous":"M21-GAP-00802","next":"M21-GAP-00804"},"M21-GAP-00804":{"line":4059,"offset":714648,"length":187,"previous":"M21-GAP-00803","next":"M21-GAP-00805"},"M21-GAP-00805":{"line":4060,"offset":714835,"length":188,"previous":"M21-GAP-00804","next":"M21-GAP-00806"},"M21-GAP-00806":{"line":4061,"offset":715023,"length":188,"previous":"M21-GAP-00805","next":"M21-GAP-00807"},"M21-GAP-00807":{"line":4062,"offset":715211,"length":188,"previous":"M21-GAP-00806","next":"M21-GAP-00808"},"M21-GAP-00808":{"line":4063,"offset":715399,"length":188,"previous":"M21-GAP-00807","next":"M21-GAP-00809"},"M21-GAP-00809":{"line":4064,"offset":715587,"length":188,"previous":"M21-GAP-00808","next":"M21-GAP-00810"},"M21-GAP-00810":{"line":4065,"offset":715775,"length":188,"previous":"M21-GAP-00809","next":"M21-GAP-00811"},"M21-GAP-00811":{"line":4066,"offset":715963,"length":188,"previous":"M21-GAP-00810","next":"M21-GAP-00812"},"M21-GAP-00812":{"line":4067,"offset":716151,"length":188,"previous":"M21-GAP-00811","next":"M21-GAP-00813"},"M21-GAP-00813":{"line":4068,"offset":716339,"length":188,"previous":"M21-GAP-00812","next":"M21-GAP-00814"},"M21-GAP-00814":{"line":4069,"offset":716527,"length":188,"previous":"M21-GAP-00813","next":"M21-GAP-00815"},"M21-GAP-00815":{"line":4070,"offset":716715,"length":187,"previous":"M21-GAP-00814","next":"M21-GAP-00816"},"M21-GAP-00816":{"line":4071,"offset":716902,"length":188,"previous":"M21-GAP-00815","next":"M21-GAP-00817"},"M21-GAP-00817":{"line":4072,"offset":717090,"length":188,"previous":"M21-GAP-00816","next":"M21-GAP-00818"},"M21-GAP-00818":{"line":4073,"offset":717278,"length":188,"previous":"M21-GAP-00817","next":"M21-GAP-00819"},"M21-GAP-00819":{"line":4074,"offset":717466,"length":188,"previous":"M21-GAP-00818","next":"M21-GAP-00820"},"M21-GAP-00820":{"line":4075,"offset":717654,"length":188,"previous":"M21-GAP-00819","next":"M21-GAP-00821"},"M21-GAP-00821":{"line":4076,"offset":717842,"length":188,"previous":"M21-GAP-00820","next":"M21-GAP-00822"},"M21-GAP-00822":{"line":4077,"offset":718030,"length":188,"previous":"M21-GAP-00821","next":"M21-GAP-00823"},"M21-GAP-00823":{"line":4078,"offset":718218,"length":188,"previous":"M21-GAP-00822","next":"M21-GAP-00824"},"M21-GAP-00824":{"line":4079,"offset":718406,"length":187,"previous":"M21-GAP-00823","next":"M21-GAP-00825"},"M21-GAP-00825":{"line":4080,"offset":718593,"length":187,"previous":"M21-GAP-00824","next":"M21-GAP-00826"},"M21-GAP-00826":{"line":4081,"offset":718780,"length":187,"previous":"M21-GAP-00825","next":"M21-GAP-00827"},"M21-GAP-00827":{"line":4082,"offset":718967,"length":205,"previous":"M21-GAP-00826","next":"M21-GAP-00828"},"M21-GAP-00828":{"line":4083,"offset":719172,"length":205,"previous":"M21-GAP-00827","next":"M21-GAP-00829"},"M21-GAP-00829":{"line":4084,"offset":719377,"length":205,"previous":"M21-GAP-00828","next":"M21-GAP-00830"},"M21-GAP-00830":{"line":4085,"offset":719582,"length":205,"previous":"M21-GAP-00829","next":"M21-GAP-00831"},"M21-GAP-00831":{"line":4086,"offset":719787,"length":205,"previous":"M21-GAP-00830","next":"M21-GAP-00832"},"M21-GAP-00832":{"line":4087,"offset":719992,"length":205,"previous":"M21-GAP-00831","next":"M21-GAP-00833"},"M21-GAP-00833":{"line":4088,"offset":720197,"length":205,"previous":"M21-GAP-00832","next":"M21-GAP-00834"},"M21-GAP-00834":{"line":4089,"offset":720402,"length":187,"previous":"M21-GAP-00833","next":"M21-GAP-00835"},"M21-GAP-00835":{"line":4090,"offset":720589,"length":187,"previous":"M21-GAP-00834","next":"M21-GAP-00836"},"M21-GAP-00836":{"line":4091,"offset":720776,"length":187,"previous":"M21-GAP-00835","next":"M21-GAP-00837"},"M21-GAP-00837":{"line":4092,"offset":720963,"length":187,"previous":"M21-GAP-00836","next":"M21-GAP-00838"},"M21-GAP-00838":{"line":4093,"offset":721150,"length":187,"previous":"M21-GAP-00837","next":"M21-GAP-00839"},"M21-GAP-00839":{"line":4094,"offset":721337,"length":187,"previous":"M21-GAP-00838","next":"M21-GAP-00840"},"M21-GAP-00840":{"line":4095,"offset":721524,"length":187,"previous":"M21-GAP-00839","next":"M21-GAP-00841"},"M21-GAP-00841":{"line":4096,"offset":721711,"length":194,"previous":"M21-GAP-00840","next":"M21-GAP-00842"},"M21-GAP-00842":{"line":4097,"offset":721905,"length":194,"previous":"M21-GAP-00841","next":"M21-GAP-00843"},"M21-GAP-00843":{"line":4098,"offset":722099,"length":194,"previous":"M21-GAP-00842","next":"M21-GAP-00844"},"M21-GAP-00844":{"line":4099,"offset":722293,"length":194,"previous":"M21-GAP-00843","next":"M21-GAP-00845"},"M21-GAP-00845":{"line":4100,"offset":722487,"length":194,"previous":"M21-GAP-00844","next":"M21-GAP-00846"},"M21-GAP-00846":{"line":4101,"offset":722681,"length":194,"previous":"M21-GAP-00845","next":"M21-GAP-00847"},"M21-GAP-00847":{"line":4102,"offset":722875,"length":191,"previous":"M21-GAP-00846","next":"M21-GAP-00848"},"M21-GAP-00848":{"line":4103,"offset":723066,"length":191,"previous":"M21-GAP-00847","next":"M21-GAP-00849"},"M21-GAP-00849":{"line":4104,"offset":723257,"length":192,"previous":"M21-GAP-00848","next":"M21-GAP-00850"},"M21-GAP-00850":{"line":4105,"offset":723449,"length":192,"previous":"M21-GAP-00849","next":"M21-GAP-00851"},"M21-GAP-00851":{"line":4106,"offset":723641,"length":192,"previous":"M21-GAP-00850","next":"M21-GAP-00852"},"M21-GAP-00852":{"line":4107,"offset":723833,"length":192,"previous":"M21-GAP-00851","next":"M21-GAP-00853"},"M21-GAP-00853":{"line":4108,"offset":724025,"length":192,"previous":"M21-GAP-00852","next":"M21-GAP-00854"},"M21-GAP-00854":{"line":4109,"offset":724217,"length":192,"previous":"M21-GAP-00853","next":"M21-GAP-00855"},"M21-GAP-00855":{"line":4110,"offset":724409,"length":192,"previous":"M21-GAP-00854","next":"M21-GAP-00856"},"M21-GAP-00856":{"line":4111,"offset":724601,"length":192,"previous":"M21-GAP-00855","next":"M21-GAP-00857"},"M21-GAP-00857":{"line":4112,"offset":724793,"length":192,"previous":"M21-GAP-00856","next":"M21-GAP-00858"},"M21-GAP-00858":{"line":4113,"offset":724985,"length":192,"previous":"M21-GAP-00857","next":"M21-GAP-00859"},"M21-GAP-00859":{"line":4114,"offset":725177,"length":191,"previous":"M21-GAP-00858","next":"M21-GAP-00860"},"M21-GAP-00860":{"line":4115,"offset":725368,"length":192,"previous":"M21-GAP-00859","next":"M21-GAP-00861"},"M21-GAP-00861":{"line":4116,"offset":725560,"length":192,"previous":"M21-GAP-00860","next":"M21-GAP-00862"},"M21-GAP-00862":{"line":4117,"offset":725752,"length":192,"previous":"M21-GAP-00861","next":"M21-GAP-00863"},"M21-GAP-00863":{"line":4118,"offset":725944,"length":192,"previous":"M21-GAP-00862","next":"M21-GAP-00864"},"M21-GAP-00864":{"line":4119,"offset":726136,"length":192,"previous":"M21-GAP-00863","next":"M21-GAP-00865"},"M21-GAP-00865":{"line":4120,"offset":726328,"length":192,"previous":"M21-GAP-00864","next":"M21-GAP-00866"},"M21-GAP-00866":{"line":4121,"offset":726520,"length":192,"previous":"M21-GAP-00865","next":"M21-GAP-00867"},"M21-GAP-00867":{"line":4122,"offset":726712,"length":192,"previous":"M21-GAP-00866","next":"M21-GAP-00868"},"M21-GAP-00868":{"line":4123,"offset":726904,"length":192,"previous":"M21-GAP-00867","next":"M21-GAP-00869"},"M21-GAP-00869":{"line":4124,"offset":727096,"length":192,"previous":"M21-GAP-00868","next":"M21-GAP-00870"},"M21-GAP-00870":{"line":4125,"offset":727288,"length":191,"previous":"M21-GAP-00869","next":"M21-GAP-00871"},"M21-GAP-00871":{"line":4126,"offset":727479,"length":192,"previous":"M21-GAP-00870","next":"M21-GAP-00872"},"M21-GAP-00872":{"line":4127,"offset":727671,"length":192,"previous":"M21-GAP-00871","next":"M21-GAP-00873"},"M21-GAP-00873":{"line":4128,"offset":727863,"length":191,"previous":"M21-GAP-00872","next":"M21-GAP-00874"},"M21-GAP-00874":{"line":4129,"offset":728054,"length":191,"previous":"M21-GAP-00873","next":"M21-GAP-00875"},"M21-GAP-00875":{"line":4130,"offset":728245,"length":191,"previous":"M21-GAP-00874","next":"M21-GAP-00876"},"M21-GAP-00876":{"line":4131,"offset":728436,"length":191,"previous":"M21-GAP-00875","next":"M21-GAP-00877"},"M21-GAP-00877":{"line":4132,"offset":728627,"length":191,"previous":"M21-GAP-00876","next":"M21-GAP-00878"},"M21-GAP-00878":{"line":4133,"offset":728818,"length":191,"previous":"M21-GAP-00877","next":"M21-GAP-00879"},"M21-GAP-00879":{"line":4134,"offset":729009,"length":186,"previous":"M21-GAP-00878","next":"M21-GAP-00880"},"M21-GAP-00880":{"line":4135,"offset":729195,"length":186,"previous":"M21-GAP-00879","next":"M21-GAP-00881"},"M21-GAP-00881":{"line":4136,"offset":729381,"length":187,"previous":"M21-GAP-00880","next":"M21-GAP-00882"},"M21-GAP-00882":{"line":4137,"offset":729568,"length":187,"previous":"M21-GAP-00881","next":"M21-GAP-00883"},"M21-GAP-00883":{"line":4138,"offset":729755,"length":187,"previous":"M21-GAP-00882","next":"M21-GAP-00884"},"M21-GAP-00884":{"line":4139,"offset":729942,"length":187,"previous":"M21-GAP-00883","next":"M21-GAP-00885"},"M21-GAP-00885":{"line":4140,"offset":730129,"length":187,"previous":"M21-GAP-00884","next":"M21-GAP-00886"},"M21-GAP-00886":{"line":4141,"offset":730316,"length":187,"previous":"M21-GAP-00885","next":"M21-GAP-00887"},"M21-GAP-00887":{"line":4142,"offset":730503,"length":187,"previous":"M21-GAP-00886","next":"M21-GAP-00888"},"M21-GAP-00888":{"line":4143,"offset":730690,"length":187,"previous":"M21-GAP-00887","next":"M21-GAP-00889"},"M21-GAP-00889":{"line":4144,"offset":730877,"length":187,"previous":"M21-GAP-00888","next":"M21-GAP-00890"},"M21-GAP-00890":{"line":4145,"offset":731064,"length":187,"previous":"M21-GAP-00889","next":"M21-GAP-00891"},"M21-GAP-00891":{"line":4146,"offset":731251,"length":186,"previous":"M21-GAP-00890","next":"M21-GAP-00892"},"M21-GAP-00892":{"line":4147,"offset":731437,"length":187,"previous":"M21-GAP-00891","next":"M21-GAP-00893"},"M21-GAP-00893":{"line":4148,"offset":731624,"length":187,"previous":"M21-GAP-00892","next":"M21-GAP-00894"},"M21-GAP-00894":{"line":4149,"offset":731811,"length":187,"previous":"M21-GAP-00893","next":"M21-GAP-00895"},"M21-GAP-00895":{"line":4150,"offset":731998,"length":187,"previous":"M21-GAP-00894","next":"M21-GAP-00896"},"M21-GAP-00896":{"line":4151,"offset":732185,"length":187,"previous":"M21-GAP-00895","next":"M21-GAP-00897"},"M21-GAP-00897":{"line":4152,"offset":732372,"length":187,"previous":"M21-GAP-00896","next":"M21-GAP-00898"},"M21-GAP-00898":{"line":4153,"offset":732559,"length":187,"previous":"M21-GAP-00897","next":"M21-GAP-00899"},"M21-GAP-00899":{"line":4154,"offset":732746,"length":187,"previous":"M21-GAP-00898","next":"M21-GAP-00900"},"M21-GAP-00900":{"line":4155,"offset":732933,"length":187,"previous":"M21-GAP-00899","next":"M21-GAP-00901"},"M21-GAP-00901":{"line":4156,"offset":733120,"length":187,"previous":"M21-GAP-00900","next":"M21-GAP-00902"},"M21-GAP-00902":{"line":4157,"offset":733307,"length":186,"previous":"M21-GAP-00901","next":"M21-GAP-00903"},"M21-GAP-00903":{"line":4158,"offset":733493,"length":187,"previous":"M21-GAP-00902","next":"M21-GAP-00904"},"M21-GAP-00904":{"line":4159,"offset":733680,"length":187,"previous":"M21-GAP-00903","next":"M21-GAP-00905"},"M21-GAP-00905":{"line":4160,"offset":733867,"length":186,"previous":"M21-GAP-00904","next":"M21-GAP-00906"},"M21-GAP-00906":{"line":4161,"offset":734053,"length":186,"previous":"M21-GAP-00905","next":"M21-GAP-00907"},"M21-GAP-00907":{"line":4162,"offset":734239,"length":186,"previous":"M21-GAP-00906","next":"M21-GAP-00908"},"M21-GAP-00908":{"line":4163,"offset":734425,"length":186,"previous":"M21-GAP-00907","next":"M21-GAP-00909"},"M21-GAP-00909":{"line":4164,"offset":734611,"length":186,"previous":"M21-GAP-00908","next":"M21-GAP-00910"},"M21-GAP-00910":{"line":4165,"offset":734797,"length":186,"previous":"M21-GAP-00909","next":"M21-GAP-00911"},"M21-GAP-00911":{"line":4166,"offset":734983,"length":186,"previous":"M21-GAP-00910","next":"M21-GAP-00912"},"M21-GAP-00912":{"line":4167,"offset":735169,"length":186,"previous":"M21-GAP-00911","next":"M21-GAP-00913"},"M21-GAP-00913":{"line":4168,"offset":735355,"length":187,"previous":"M21-GAP-00912","next":"M21-GAP-00914"},"M21-GAP-00914":{"line":4169,"offset":735542,"length":187,"previous":"M21-GAP-00913","next":"M21-GAP-00915"},"M21-GAP-00915":{"line":4170,"offset":735729,"length":187,"previous":"M21-GAP-00914","next":"M21-GAP-00916"},"M21-GAP-00916":{"line":4171,"offset":735916,"length":187,"previous":"M21-GAP-00915","next":"M21-GAP-00917"},"M21-GAP-00917":{"line":4172,"offset":736103,"length":186,"previous":"M21-GAP-00916","next":"M21-GAP-00918"},"M21-GAP-00918":{"line":4173,"offset":736289,"length":186,"previous":"M21-GAP-00917","next":"M21-GAP-00919"},"M21-GAP-00919":{"line":4174,"offset":736475,"length":186,"previous":"M21-GAP-00918","next":"M21-GAP-00920"},"M21-GAP-00920":{"line":4175,"offset":736661,"length":186,"previous":"M21-GAP-00919","next":"M21-GAP-00921"},"M21-GAP-00921":{"line":4176,"offset":736847,"length":186,"previous":"M21-GAP-00920","next":"M21-GAP-00922"},"M21-GAP-00922":{"line":4177,"offset":737033,"length":186,"previous":"M21-GAP-00921","next":"M21-GAP-00923"},"M21-GAP-00923":{"line":4178,"offset":737219,"length":186,"previous":"M21-GAP-00922","next":"M21-GAP-00924"},"M21-GAP-00924":{"line":4179,"offset":737405,"length":186,"previous":"M21-GAP-00923","next":"M21-GAP-00925"},"M21-GAP-00925":{"line":4180,"offset":737591,"length":171,"previous":"M21-GAP-00924","next":"M21-GAP-00926"},"M21-GAP-00926":{"line":4181,"offset":737762,"length":171,"previous":"M21-GAP-00925","next":"M21-GAP-00927"},"M21-GAP-00927":{"line":4182,"offset":737933,"length":172,"previous":"M21-GAP-00926","next":"M21-GAP-00928"},"M21-GAP-00928":{"line":4183,"offset":738105,"length":172,"previous":"M21-GAP-00927","next":"M21-GAP-00929"},"M21-GAP-00929":{"line":4184,"offset":738277,"length":172,"previous":"M21-GAP-00928","next":"M21-GAP-00930"},"M21-GAP-00930":{"line":4185,"offset":738449,"length":172,"previous":"M21-GAP-00929","next":"M21-GAP-00931"},"M21-GAP-00931":{"line":4186,"offset":738621,"length":172,"previous":"M21-GAP-00930","next":"M21-GAP-00932"},"M21-GAP-00932":{"line":4187,"offset":738793,"length":172,"previous":"M21-GAP-00931","next":"M21-GAP-00933"},"M21-GAP-00933":{"line":4188,"offset":738965,"length":172,"previous":"M21-GAP-00932","next":"M21-GAP-00934"},"M21-GAP-00934":{"line":4189,"offset":739137,"length":172,"previous":"M21-GAP-00933","next":"M21-GAP-00935"},"M21-GAP-00935":{"line":4190,"offset":739309,"length":172,"previous":"M21-GAP-00934","next":"M21-GAP-00936"},"M21-GAP-00936":{"line":4191,"offset":739481,"length":172,"previous":"M21-GAP-00935","next":"M21-GAP-00937"},"M21-GAP-00937":{"line":4192,"offset":739653,"length":171,"previous":"M21-GAP-00936","next":"M21-GAP-00938"},"M21-GAP-00938":{"line":4193,"offset":739824,"length":172,"previous":"M21-GAP-00937","next":"M21-GAP-00939"},"M21-GAP-00939":{"line":4194,"offset":739996,"length":172,"previous":"M21-GAP-00938","next":"M21-GAP-00940"},"M21-GAP-00940":{"line":4195,"offset":740168,"length":172,"previous":"M21-GAP-00939","next":"M21-GAP-00941"},"M21-GAP-00941":{"line":4196,"offset":740340,"length":172,"previous":"M21-GAP-00940","next":"M21-GAP-00942"},"M21-GAP-00942":{"line":4197,"offset":740512,"length":172,"previous":"M21-GAP-00941","next":"M21-GAP-00943"},"M21-GAP-00943":{"line":4198,"offset":740684,"length":172,"previous":"M21-GAP-00942","next":"M21-GAP-00944"},"M21-GAP-00944":{"line":4199,"offset":740856,"length":172,"previous":"M21-GAP-00943","next":"M21-GAP-00945"},"M21-GAP-00945":{"line":4200,"offset":741028,"length":172,"previous":"M21-GAP-00944","next":"M21-GAP-00946"},"M21-GAP-00946":{"line":4201,"offset":741200,"length":172,"previous":"M21-GAP-00945","next":"M21-GAP-00947"},"M21-GAP-00947":{"line":4202,"offset":741372,"length":172,"previous":"M21-GAP-00946","next":"M21-GAP-00948"},"M21-GAP-00948":{"line":4203,"offset":741544,"length":171,"previous":"M21-GAP-00947","next":"M21-GAP-00949"},"M21-GAP-00949":{"line":4204,"offset":741715,"length":172,"previous":"M21-GAP-00948","next":"M21-GAP-00950"},"M21-GAP-00950":{"line":4205,"offset":741887,"length":172,"previous":"M21-GAP-00949","next":"M21-GAP-00951"},"M21-GAP-00951":{"line":4206,"offset":742059,"length":172,"previous":"M21-GAP-00950","next":"M21-GAP-00952"},"M21-GAP-00952":{"line":4207,"offset":742231,"length":172,"previous":"M21-GAP-00951","next":"M21-GAP-00953"},"M21-GAP-00953":{"line":4208,"offset":742403,"length":172,"previous":"M21-GAP-00952","next":"M21-GAP-00954"},"M21-GAP-00954":{"line":4209,"offset":742575,"length":172,"previous":"M21-GAP-00953","next":"M21-GAP-00955"},"M21-GAP-00955":{"line":4210,"offset":742747,"length":172,"previous":"M21-GAP-00954","next":"M21-GAP-00956"},"M21-GAP-00956":{"line":4211,"offset":742919,"length":172,"previous":"M21-GAP-00955","next":"M21-GAP-00957"},"M21-GAP-00957":{"line":4212,"offset":743091,"length":172,"previous":"M21-GAP-00956","next":"M21-GAP-00958"},"M21-GAP-00958":{"line":4213,"offset":743263,"length":172,"previous":"M21-GAP-00957","next":"M21-GAP-00959"},"M21-GAP-00959":{"line":4214,"offset":743435,"length":171,"previous":"M21-GAP-00958","next":"M21-GAP-00960"},"M21-GAP-00960":{"line":4215,"offset":743606,"length":172,"previous":"M21-GAP-00959","next":"M21-GAP-00961"},"M21-GAP-00961":{"line":4216,"offset":743778,"length":172,"previous":"M21-GAP-00960","next":"M21-GAP-00962"},"M21-GAP-00962":{"line":4217,"offset":743950,"length":172,"previous":"M21-GAP-00961","next":"M21-GAP-00963"},"M21-GAP-00963":{"line":4218,"offset":744122,"length":172,"previous":"M21-GAP-00962","next":"M21-GAP-00964"},"M21-GAP-00964":{"line":4219,"offset":744294,"length":172,"previous":"M21-GAP-00963","next":"M21-GAP-00965"},"M21-GAP-00965":{"line":4220,"offset":744466,"length":172,"previous":"M21-GAP-00964","next":"M21-GAP-00966"},"M21-GAP-00966":{"line":4221,"offset":744638,"length":172,"previous":"M21-GAP-00965","next":"M21-GAP-00967"},"M21-GAP-00967":{"line":4222,"offset":744810,"length":172,"previous":"M21-GAP-00966","next":"M21-GAP-00968"},"M21-GAP-00968":{"line":4223,"offset":744982,"length":172,"previous":"M21-GAP-00967","next":"M21-GAP-00969"},"M21-GAP-00969":{"line":4224,"offset":745154,"length":171,"previous":"M21-GAP-00968","next":"M21-GAP-00970"},"M21-GAP-00970":{"line":4225,"offset":745325,"length":171,"previous":"M21-GAP-00969","next":"M21-GAP-00971"},"M21-GAP-00971":{"line":4226,"offset":745496,"length":171,"previous":"M21-GAP-00970","next":"M21-GAP-00972"},"M21-GAP-00972":{"line":4227,"offset":745667,"length":171,"previous":"M21-GAP-00971","next":"M21-GAP-00973"},"M21-GAP-00973":{"line":4228,"offset":745838,"length":171,"previous":"M21-GAP-00972","next":"M21-GAP-00974"},"M21-GAP-00974":{"line":4229,"offset":746009,"length":173,"previous":"M21-GAP-00973","next":"M21-GAP-00975"},"M21-GAP-00975":{"line":4230,"offset":746182,"length":173,"previous":"M21-GAP-00974","next":"M21-GAP-00976"},"M21-GAP-00976":{"line":4231,"offset":746355,"length":174,"previous":"M21-GAP-00975","next":"M21-GAP-00977"},"M21-GAP-00977":{"line":4232,"offset":746529,"length":174,"previous":"M21-GAP-00976","next":"M21-GAP-00978"},"M21-GAP-00978":{"line":4233,"offset":746703,"length":174,"previous":"M21-GAP-00977","next":"M21-GAP-00979"},"M21-GAP-00979":{"line":4234,"offset":746877,"length":174,"previous":"M21-GAP-00978","next":"M21-GAP-00980"},"M21-GAP-00980":{"line":4235,"offset":747051,"length":174,"previous":"M21-GAP-00979","next":"M21-GAP-00981"},"M21-GAP-00981":{"line":4236,"offset":747225,"length":174,"previous":"M21-GAP-00980","next":"M21-GAP-00982"},"M21-GAP-00982":{"line":4237,"offset":747399,"length":174,"previous":"M21-GAP-00981","next":"M21-GAP-00983"},"M21-GAP-00983":{"line":4238,"offset":747573,"length":173,"previous":"M21-GAP-00982","next":"M21-GAP-00984"},"M21-GAP-00984":{"line":4239,"offset":747746,"length":173,"previous":"M21-GAP-00983","next":"M21-GAP-00985"},"M21-GAP-00985":{"line":4240,"offset":747919,"length":173,"previous":"M21-GAP-00984","next":"M21-GAP-00986"},"M21-GAP-00986":{"line":4241,"offset":748092,"length":173,"previous":"M21-GAP-00985","next":"M21-GAP-00987"},"M21-GAP-00987":{"line":4242,"offset":748265,"length":173,"previous":"M21-GAP-00986","next":"M21-GAP-00988"},"M21-GAP-00988":{"line":4243,"offset":748438,"length":173,"previous":"M21-GAP-00987","next":"M21-GAP-00989"},"M21-GAP-00989":{"line":4244,"offset":748611,"length":173,"previous":"M21-GAP-00988","next":"M21-GAP-00990"},"M21-GAP-00990":{"line":4245,"offset":748784,"length":173,"previous":"M21-GAP-00989","next":"M21-GAP-00991"},"M21-GAP-00991":{"line":4246,"offset":748957,"length":191,"previous":"M21-GAP-00990","next":"M21-GAP-00992"},"M21-GAP-00992":{"line":4247,"offset":749148,"length":191,"previous":"M21-GAP-00991","next":"M21-GAP-00993"},"M21-GAP-00993":{"line":4248,"offset":749339,"length":185,"previous":"M21-GAP-00992","next":"M21-GAP-00994"},"M21-GAP-00994":{"line":4249,"offset":749524,"length":191,"previous":"M21-GAP-00993","next":"M21-GAP-00995"},"M21-GAP-00995":{"line":4250,"offset":749715,"length":187,"previous":"M21-GAP-00994","next":"M21-GAP-00996"},"M21-GAP-00996":{"line":4251,"offset":749902,"length":196,"previous":"M21-GAP-00995","next":"M21-GAP-00997"},"M21-GAP-00997":{"line":4252,"offset":750098,"length":196,"previous":"M21-GAP-00996","next":"M21-GAP-00998"},"M21-GAP-00998":{"line":4253,"offset":750294,"length":197,"previous":"M21-GAP-00997","next":"M21-GAP-00999"},"M21-GAP-00999":{"line":4254,"offset":750491,"length":197,"previous":"M21-GAP-00998","next":"M21-GAP-01000"},"M21-GAP-01000":{"line":4255,"offset":750688,"length":196,"previous":"M21-GAP-00999","next":"M21-GAP-01001"},"M21-GAP-01001":{"line":4256,"offset":750884,"length":196,"previous":"M21-GAP-01000","next":"M21-GAP-01002"},"M21-GAP-01002":{"line":4257,"offset":751080,"length":196,"previous":"M21-GAP-01001","next":"M21-GAP-01003"},"M21-GAP-01003":{"line":4258,"offset":751276,"length":196,"previous":"M21-GAP-01002","next":"M21-GAP-01004"},"M21-GAP-01004":{"line":4259,"offset":751472,"length":196,"previous":"M21-GAP-01003","next":"M21-GAP-01005"},"M21-GAP-01005":{"line":4260,"offset":751668,"length":196,"previous":"M21-GAP-01004","next":"M21-GAP-01006"},"M21-GAP-01006":{"line":4261,"offset":751864,"length":196,"previous":"M21-GAP-01005","next":"M21-GAP-01007"},"M21-GAP-01007":{"line":4262,"offset":752060,"length":196,"previous":"M21-GAP-01006","next":"M21-GAP-01008"},"M21-GAP-01008":{"line":4263,"offset":752256,"length":180,"previous":"M21-GAP-01007","next":"M21-GAP-01009"},"M21-GAP-01009":{"line":4264,"offset":752436,"length":196,"previous":"M21-GAP-01008","next":"M21-GAP-01010"},"M21-GAP-01010":{"line":4265,"offset":752632,"length":196,"previous":"M21-GAP-01009","next":"M21-GAP-01011"},"M21-GAP-01011":{"line":4266,"offset":752828,"length":194,"previous":"M21-GAP-01010","next":"M21-GAP-01012"},"M21-GAP-01012":{"line":4267,"offset":753022,"length":194,"previous":"M21-GAP-01011","next":"M21-GAP-01013"},"M21-GAP-01013":{"line":4268,"offset":753216,"length":197,"previous":"M21-GAP-01012","next":"M21-GAP-01014"},"M21-GAP-01014":{"line":4269,"offset":753413,"length":197,"previous":"M21-GAP-01013","next":"M21-GAP-01015"},"M21-GAP-01015":{"line":4270,"offset":753610,"length":189,"previous":"M21-GAP-01014","next":"M21-GAP-01016"},"M21-GAP-01016":{"line":4271,"offset":753799,"length":189,"previous":"M21-GAP-01015","next":"M21-GAP-01017"},"M21-GAP-01017":{"line":4272,"offset":753988,"length":178,"previous":"M21-GAP-01016","next":"M21-GAP-01018"},"M21-GAP-01018":{"line":4273,"offset":754166,"length":178,"previous":"M21-GAP-01017","next":"M21-GAP-01019"},"M21-GAP-01019":{"line":4274,"offset":754344,"length":178,"previous":"M21-GAP-01018","next":"M21-GAP-01020"},"M21-GAP-01020":{"line":4275,"offset":754522,"length":178,"previous":"M21-GAP-01019","next":"M21-GAP-01021"},"M21-GAP-01021":{"line":4276,"offset":754700,"length":178,"previous":"M21-GAP-01020","next":"M21-GAP-01022"},"M21-GAP-01022":{"line":4277,"offset":754878,"length":178,"previous":"M21-GAP-01021","next":"M21-GAP-01023"},"M21-GAP-01023":{"line":4278,"offset":755056,"length":178,"previous":"M21-GAP-01022","next":"M21-GAP-01024"},"M21-GAP-01024":{"line":4279,"offset":755234,"length":178,"previous":"M21-GAP-01023","next":"M21-GAP-01025"},"M21-GAP-01025":{"line":4280,"offset":755412,"length":178,"previous":"M21-GAP-01024","next":"M21-GAP-01026"},"M21-GAP-01026":{"line":4281,"offset":755590,"length":178,"previous":"M21-GAP-01025","next":"M21-GAP-01027"},"M21-GAP-01027":{"line":4282,"offset":755768,"length":180,"previous":"M21-GAP-01026","next":"M21-GAP-01028"},"M21-GAP-01028":{"line":4283,"offset":755948,"length":183,"previous":"M21-GAP-01027","next":"M21-GAP-01029"},"M21-GAP-01029":{"line":4284,"offset":756131,"length":183,"previous":"M21-GAP-01028","next":"M21-GAP-01030"},"M21-GAP-01030":{"line":4285,"offset":756314,"length":183,"previous":"M21-GAP-01029","next":"M21-GAP-01031"},"M21-GAP-01031":{"line":4286,"offset":756497,"length":183,"previous":"M21-GAP-01030","next":"M21-GAP-01032"},"M21-GAP-01032":{"line":4287,"offset":756680,"length":183,"previous":"M21-GAP-01031","next":"M21-GAP-01033"},"M21-GAP-01033":{"line":4288,"offset":756863,"length":183,"previous":"M21-GAP-01032","next":"M21-GAP-01034"},"M21-GAP-01034":{"line":4289,"offset":757046,"length":188,"previous":"M21-GAP-01033","next":"M21-GAP-01035"},"M21-GAP-01035":{"line":4290,"offset":757234,"length":188,"previous":"M21-GAP-01034","next":"M21-GAP-01036"},"M21-GAP-01036":{"line":4291,"offset":757422,"length":188,"previous":"M21-GAP-01035","next":"M21-GAP-01037"},"M21-GAP-01037":{"line":4292,"offset":757610,"length":188,"previous":"M21-GAP-01036","next":"M21-GAP-01038"},"M21-GAP-01038":{"line":4293,"offset":757798,"length":188,"previous":"M21-GAP-01037","next":"M21-GAP-01039"},"M21-GAP-01039":{"line":4294,"offset":757986,"length":188,"previous":"M21-GAP-01038","next":"M21-GAP-01040"},"M21-GAP-01040":{"line":4295,"offset":758174,"length":188,"previous":"M21-GAP-01039","next":"M21-GAP-01041"},"M21-GAP-01041":{"line":4296,"offset":758362,"length":186,"previous":"M21-GAP-01040","next":"M21-GAP-01042"},"M21-GAP-01042":{"line":4297,"offset":758548,"length":186,"previous":"M21-GAP-01041","next":"M21-GAP-01043"},"M21-GAP-01043":{"line":4298,"offset":758734,"length":186,"previous":"M21-GAP-01042","next":"M21-GAP-01044"},"M21-GAP-01044":{"line":4299,"offset":758920,"length":186,"previous":"M21-GAP-01043","next":"M21-GAP-01045"},"M21-GAP-01045":{"line":4300,"offset":759106,"length":186,"previous":"M21-GAP-01044","next":"M21-GAP-01046"},"M21-GAP-01046":{"line":4301,"offset":759292,"length":186,"previous":"M21-GAP-01045","next":"M21-GAP-01047"},"M21-GAP-01047":{"line":4302,"offset":759478,"length":194,"previous":"M21-GAP-01046","next":"M21-GAP-01048"},"M21-GAP-01048":{"line":4303,"offset":759672,"length":194,"previous":"M21-GAP-01047","next":"M21-GAP-01049"},"M21-GAP-01049":{"line":4304,"offset":759866,"length":194,"previous":"M21-GAP-01048","next":"M21-GAP-01050"},"M21-GAP-01050":{"line":4305,"offset":760060,"length":194,"previous":"M21-GAP-01049","next":"M21-GAP-01051"},"M21-GAP-01051":{"line":4306,"offset":760254,"length":194,"previous":"M21-GAP-01050","next":"M21-GAP-01052"},"M21-GAP-01052":{"line":4307,"offset":760448,"length":194,"previous":"M21-GAP-01051","next":"M21-GAP-01053"},"M21-GAP-01053":{"line":4308,"offset":760642,"length":194,"previous":"M21-GAP-01052","next":"M21-GAP-01054"},"M21-GAP-01054":{"line":4309,"offset":760836,"length":194,"previous":"M21-GAP-01053","next":"M21-GAP-01055"},"M21-GAP-01055":{"line":4310,"offset":761030,"length":194,"previous":"M21-GAP-01054","next":"M21-GAP-01056"},"M21-GAP-01056":{"line":4311,"offset":761224,"length":194,"previous":"M21-GAP-01055","next":"M21-GAP-01057"},"M21-GAP-01057":{"line":4312,"offset":761418,"length":186,"previous":"M21-GAP-01056","next":"M21-GAP-01058"},"M21-GAP-01058":{"line":4313,"offset":761604,"length":186,"previous":"M21-GAP-01057","next":"M21-GAP-01059"},"M21-GAP-01059":{"line":4314,"offset":761790,"length":187,"previous":"M21-GAP-01058","next":"M21-GAP-01060"},"M21-GAP-01060":{"line":4315,"offset":761977,"length":187,"previous":"M21-GAP-01059","next":"M21-GAP-01061"},"M21-GAP-01061":{"line":4316,"offset":762164,"length":187,"previous":"M21-GAP-01060","next":"M21-GAP-01062"},"M21-GAP-01062":{"line":4317,"offset":762351,"length":187,"previous":"M21-GAP-01061","next":"M21-GAP-01063"},"M21-GAP-01063":{"line":4318,"offset":762538,"length":187,"previous":"M21-GAP-01062","next":"M21-GAP-01064"},"M21-GAP-01064":{"line":4319,"offset":762725,"length":187,"previous":"M21-GAP-01063","next":"M21-GAP-01065"},"M21-GAP-01065":{"line":4320,"offset":762912,"length":187,"previous":"M21-GAP-01064","next":"M21-GAP-01066"},"M21-GAP-01066":{"line":4321,"offset":763099,"length":187,"previous":"M21-GAP-01065","next":"M21-GAP-01067"},"M21-GAP-01067":{"line":4322,"offset":763286,"length":187,"previous":"M21-GAP-01066","next":"M21-GAP-01068"},"M21-GAP-01068":{"line":4323,"offset":763473,"length":187,"previous":"M21-GAP-01067","next":"M21-GAP-01069"},"M21-GAP-01069":{"line":4324,"offset":763660,"length":186,"previous":"M21-GAP-01068","next":"M21-GAP-01070"},"M21-GAP-01070":{"line":4325,"offset":763846,"length":187,"previous":"M21-GAP-01069","next":"M21-GAP-01071"},"M21-GAP-01071":{"line":4326,"offset":764033,"length":187,"previous":"M21-GAP-01070","next":"M21-GAP-01072"},"M21-GAP-01072":{"line":4327,"offset":764220,"length":187,"previous":"M21-GAP-01071","next":"M21-GAP-01073"},"M21-GAP-01073":{"line":4328,"offset":764407,"length":187,"previous":"M21-GAP-01072","next":"M21-GAP-01074"},"M21-GAP-01074":{"line":4329,"offset":764594,"length":187,"previous":"M21-GAP-01073","next":"M21-GAP-01075"},"M21-GAP-01075":{"line":4330,"offset":764781,"length":187,"previous":"M21-GAP-01074","next":"M21-GAP-01076"},"M21-GAP-01076":{"line":4331,"offset":764968,"length":187,"previous":"M21-GAP-01075","next":"M21-GAP-01077"},"M21-GAP-01077":{"line":4332,"offset":765155,"length":187,"previous":"M21-GAP-01076","next":"M21-GAP-01078"},"M21-GAP-01078":{"line":4333,"offset":765342,"length":187,"previous":"M21-GAP-01077","next":"M21-GAP-01079"},"M21-GAP-01079":{"line":4334,"offset":765529,"length":187,"previous":"M21-GAP-01078","next":"M21-GAP-01080"},"M21-GAP-01080":{"line":4335,"offset":765716,"length":186,"previous":"M21-GAP-01079","next":"M21-GAP-01081"},"M21-GAP-01081":{"line":4336,"offset":765902,"length":187,"previous":"M21-GAP-01080","next":"M21-GAP-01082"},"M21-GAP-01082":{"line":4337,"offset":766089,"length":187,"previous":"M21-GAP-01081","next":"M21-GAP-01083"},"M21-GAP-01083":{"line":4338,"offset":766276,"length":187,"previous":"M21-GAP-01082","next":"M21-GAP-01084"},"M21-GAP-01084":{"line":4339,"offset":766463,"length":187,"previous":"M21-GAP-01083","next":"M21-GAP-01085"},"M21-GAP-01085":{"line":4340,"offset":766650,"length":187,"previous":"M21-GAP-01084","next":"M21-GAP-01086"},"M21-GAP-01086":{"line":4341,"offset":766837,"length":187,"previous":"M21-GAP-01085","next":"M21-GAP-01087"},"M21-GAP-01087":{"line":4342,"offset":767024,"length":187,"previous":"M21-GAP-01086","next":"M21-GAP-01088"},"M21-GAP-01088":{"line":4343,"offset":767211,"length":187,"previous":"M21-GAP-01087","next":"M21-GAP-01089"},"M21-GAP-01089":{"line":4344,"offset":767398,"length":187,"previous":"M21-GAP-01088","next":"M21-GAP-01090"},"M21-GAP-01090":{"line":4345,"offset":767585,"length":187,"previous":"M21-GAP-01089","next":"M21-GAP-01091"},"M21-GAP-01091":{"line":4346,"offset":767772,"length":186,"previous":"M21-GAP-01090","next":"M21-GAP-01092"},"M21-GAP-01092":{"line":4347,"offset":767958,"length":187,"previous":"M21-GAP-01091","next":"M21-GAP-01093"},"M21-GAP-01093":{"line":4348,"offset":768145,"length":187,"previous":"M21-GAP-01092","next":"M21-GAP-01094"},"M21-GAP-01094":{"line":4349,"offset":768332,"length":187,"previous":"M21-GAP-01093","next":"M21-GAP-01095"},"M21-GAP-01095":{"line":4350,"offset":768519,"length":187,"previous":"M21-GAP-01094","next":"M21-GAP-01096"},"M21-GAP-01096":{"line":4351,"offset":768706,"length":187,"previous":"M21-GAP-01095","next":"M21-GAP-01097"},"M21-GAP-01097":{"line":4352,"offset":768893,"length":187,"previous":"M21-GAP-01096","next":"M21-GAP-01098"},"M21-GAP-01098":{"line":4353,"offset":769080,"length":187,"previous":"M21-GAP-01097","next":"M21-GAP-01099"},"M21-GAP-01099":{"line":4354,"offset":769267,"length":187,"previous":"M21-GAP-01098","next":"M21-GAP-01100"},"M21-GAP-01100":{"line":4355,"offset":769454,"length":187,"previous":"M21-GAP-01099","next":"M21-GAP-01101"},"M21-GAP-01101":{"line":4356,"offset":769641,"length":187,"previous":"M21-GAP-01100","next":"M21-GAP-01102"},"M21-GAP-01102":{"line":4357,"offset":769828,"length":186,"previous":"M21-GAP-01101","next":"M21-GAP-01103"},"M21-GAP-01103":{"line":4358,"offset":770014,"length":187,"previous":"M21-GAP-01102","next":"M21-GAP-01104"},"M21-GAP-01104":{"line":4359,"offset":770201,"length":187,"previous":"M21-GAP-01103","next":"M21-GAP-01105"},"M21-GAP-01105":{"line":4360,"offset":770388,"length":187,"previous":"M21-GAP-01104","next":"M21-GAP-01106"},"M21-GAP-01106":{"line":4361,"offset":770575,"length":187,"previous":"M21-GAP-01105","next":"M21-GAP-01107"},"M21-GAP-01107":{"line":4362,"offset":770762,"length":187,"previous":"M21-GAP-01106","next":"M21-GAP-01108"},"M21-GAP-01108":{"line":4363,"offset":770949,"length":187,"previous":"M21-GAP-01107","next":"M21-GAP-01109"},"M21-GAP-01109":{"line":4364,"offset":771136,"length":187,"previous":"M21-GAP-01108","next":"M21-GAP-01110"},"M21-GAP-01110":{"line":4365,"offset":771323,"length":187,"previous":"M21-GAP-01109","next":"M21-GAP-01111"},"M21-GAP-01111":{"line":4366,"offset":771510,"length":187,"previous":"M21-GAP-01110","next":"M21-GAP-01112"},"M21-GAP-01112":{"line":4367,"offset":771697,"length":187,"previous":"M21-GAP-01111","next":"M21-GAP-01113"},"M21-GAP-01113":{"line":4368,"offset":771884,"length":186,"previous":"M21-GAP-01112","next":"M21-GAP-01114"},"M21-GAP-01114":{"line":4369,"offset":772070,"length":187,"previous":"M21-GAP-01113","next":"M21-GAP-01115"},"M21-GAP-01115":{"line":4370,"offset":772257,"length":187,"previous":"M21-GAP-01114","next":"M21-GAP-01116"},"M21-GAP-01116":{"line":4371,"offset":772444,"length":187,"previous":"M21-GAP-01115","next":"M21-GAP-01117"},"M21-GAP-01117":{"line":4372,"offset":772631,"length":187,"previous":"M21-GAP-01116","next":"M21-GAP-01118"},"M21-GAP-01118":{"line":4373,"offset":772818,"length":187,"previous":"M21-GAP-01117","next":"M21-GAP-01119"},"M21-GAP-01119":{"line":4374,"offset":773005,"length":187,"previous":"M21-GAP-01118","next":"M21-GAP-01120"},"M21-GAP-01120":{"line":4375,"offset":773192,"length":187,"previous":"M21-GAP-01119","next":"M21-GAP-01121"},"M21-GAP-01121":{"line":4376,"offset":773379,"length":187,"previous":"M21-GAP-01120","next":"M21-GAP-01122"},"M21-GAP-01122":{"line":4377,"offset":773566,"length":187,"previous":"M21-GAP-01121","next":"M21-GAP-01123"},"M21-GAP-01123":{"line":4378,"offset":773753,"length":187,"previous":"M21-GAP-01122","next":"M21-GAP-01124"},"M21-GAP-01124":{"line":4379,"offset":773940,"length":186,"previous":"M21-GAP-01123","next":"M21-GAP-01125"},"M21-GAP-01125":{"line":4380,"offset":774126,"length":187,"previous":"M21-GAP-01124","next":"M21-GAP-01126"},"M21-GAP-01126":{"line":4381,"offset":774313,"length":186,"previous":"M21-GAP-01125","next":"M21-GAP-01127"},"M21-GAP-01127":{"line":4382,"offset":774499,"length":186,"previous":"M21-GAP-01126","next":"M21-GAP-01128"},"M21-GAP-01128":{"line":4383,"offset":774685,"length":193,"previous":"M21-GAP-01127","next":"M21-GAP-01129"},"M21-GAP-01129":{"line":4384,"offset":774878,"length":193,"previous":"M21-GAP-01128","next":"M21-GAP-01130"},"M21-GAP-01130":{"line":4385,"offset":775071,"length":193,"previous":"M21-GAP-01129","next":"M21-GAP-01131"},"M21-GAP-01131":{"line":4386,"offset":775264,"length":193,"previous":"M21-GAP-01130","next":"M21-GAP-01132"},"M21-GAP-01132":{"line":4387,"offset":775457,"length":193,"previous":"M21-GAP-01131","next":"M21-GAP-01133"},"M21-GAP-01133":{"line":4388,"offset":775650,"length":193,"previous":"M21-GAP-01132","next":"M21-GAP-01134"},"M21-GAP-01134":{"line":4389,"offset":775843,"length":190,"previous":"M21-GAP-01133","next":"M21-GAP-01135"},"M21-GAP-01135":{"line":4390,"offset":776033,"length":190,"previous":"M21-GAP-01134","next":"M21-GAP-01136"},"M21-GAP-01136":{"line":4391,"offset":776223,"length":191,"previous":"M21-GAP-01135","next":"M21-GAP-01137"},"M21-GAP-01137":{"line":4392,"offset":776414,"length":191,"previous":"M21-GAP-01136","next":"M21-GAP-01138"},"M21-GAP-01138":{"line":4393,"offset":776605,"length":191,"previous":"M21-GAP-01137","next":"M21-GAP-01139"},"M21-GAP-01139":{"line":4394,"offset":776796,"length":191,"previous":"M21-GAP-01138","next":"M21-GAP-01140"},"M21-GAP-01140":{"line":4395,"offset":776987,"length":191,"previous":"M21-GAP-01139","next":"M21-GAP-01141"},"M21-GAP-01141":{"line":4396,"offset":777178,"length":191,"previous":"M21-GAP-01140","next":"M21-GAP-01142"},"M21-GAP-01142":{"line":4397,"offset":777369,"length":191,"previous":"M21-GAP-01141","next":"M21-GAP-01143"},"M21-GAP-01143":{"line":4398,"offset":777560,"length":191,"previous":"M21-GAP-01142","next":"M21-GAP-01144"},"M21-GAP-01144":{"line":4399,"offset":777751,"length":191,"previous":"M21-GAP-01143","next":"M21-GAP-01145"},"M21-GAP-01145":{"line":4400,"offset":777942,"length":191,"previous":"M21-GAP-01144","next":"M21-GAP-01146"},"M21-GAP-01146":{"line":4401,"offset":778133,"length":190,"previous":"M21-GAP-01145","next":"M21-GAP-01147"},"M21-GAP-01147":{"line":4402,"offset":778323,"length":191,"previous":"M21-GAP-01146","next":"M21-GAP-01148"},"M21-GAP-01148":{"line":4403,"offset":778514,"length":191,"previous":"M21-GAP-01147","next":"M21-GAP-01149"},"M21-GAP-01149":{"line":4404,"offset":778705,"length":190,"previous":"M21-GAP-01148","next":"M21-GAP-01150"},"M21-GAP-01150":{"line":4405,"offset":778895,"length":190,"previous":"M21-GAP-01149","next":"M21-GAP-01151"},"M21-GAP-01151":{"line":4406,"offset":779085,"length":190,"previous":"M21-GAP-01150","next":"M21-GAP-01152"},"M21-GAP-01152":{"line":4407,"offset":779275,"length":190,"previous":"M21-GAP-01151","next":"M21-GAP-01153"},"M21-GAP-01153":{"line":4408,"offset":779465,"length":190,"previous":"M21-GAP-01152","next":"M21-GAP-01154"},"M21-GAP-01154":{"line":4409,"offset":779655,"length":190,"previous":"M21-GAP-01153","next":"M21-GAP-01155"},"M21-GAP-01155":{"line":4410,"offset":779845,"length":190,"previous":"M21-GAP-01154","next":"M21-GAP-01156"},"M21-GAP-01156":{"line":4411,"offset":780035,"length":190,"previous":"M21-GAP-01155","next":"M21-GAP-01157"},"M21-GAP-01157":{"line":4412,"offset":780225,"length":190,"previous":"M21-GAP-01156","next":"M21-GAP-01158"},"M21-GAP-01158":{"line":4413,"offset":780415,"length":191,"previous":"M21-GAP-01157","next":"M21-GAP-01159"},"M21-GAP-01159":{"line":4414,"offset":780606,"length":191,"previous":"M21-GAP-01158","next":"M21-GAP-01160"},"M21-GAP-01160":{"line":4415,"offset":780797,"length":191,"previous":"M21-GAP-01159","next":"M21-GAP-01161"},"M21-GAP-01161":{"line":4416,"offset":780988,"length":191,"previous":"M21-GAP-01160","next":"M21-GAP-01162"},"M21-GAP-01162":{"line":4417,"offset":781179,"length":191,"previous":"M21-GAP-01161","next":"M21-GAP-01163"},"M21-GAP-01163":{"line":4418,"offset":781370,"length":191,"previous":"M21-GAP-01162","next":"M21-GAP-01164"},"M21-GAP-01164":{"line":4419,"offset":781561,"length":191,"previous":"M21-GAP-01163","next":"M21-GAP-01165"},"M21-GAP-01165":{"line":4420,"offset":781752,"length":191,"previous":"M21-GAP-01164","next":"M21-GAP-01166"},"M21-GAP-01166":{"line":4421,"offset":781943,"length":191,"previous":"M21-GAP-01165","next":"M21-GAP-01167"},"M21-GAP-01167":{"line":4422,"offset":782134,"length":191,"previous":"M21-GAP-01166","next":"M21-GAP-01168"},"M21-GAP-01168":{"line":4423,"offset":782325,"length":190,"previous":"M21-GAP-01167","next":"M21-GAP-01169"},"M21-GAP-01169":{"line":4424,"offset":782515,"length":191,"previous":"M21-GAP-01168","next":"M21-GAP-01170"},"M21-GAP-01170":{"line":4425,"offset":782706,"length":191,"previous":"M21-GAP-01169","next":"M21-GAP-01171"},"M21-GAP-01171":{"line":4426,"offset":782897,"length":191,"previous":"M21-GAP-01170","next":"M21-GAP-01172"},"M21-GAP-01172":{"line":4427,"offset":783088,"length":191,"previous":"M21-GAP-01171","next":"M21-GAP-01173"},"M21-GAP-01173":{"line":4428,"offset":783279,"length":191,"previous":"M21-GAP-01172","next":"M21-GAP-01174"},"M21-GAP-01174":{"line":4429,"offset":783470,"length":191,"previous":"M21-GAP-01173","next":"M21-GAP-01175"},"M21-GAP-01175":{"line":4430,"offset":783661,"length":191,"previous":"M21-GAP-01174","next":"M21-GAP-01176"},"M21-GAP-01176":{"line":4431,"offset":783852,"length":191,"previous":"M21-GAP-01175","next":"M21-GAP-01177"},"M21-GAP-01177":{"line":4432,"offset":784043,"length":191,"previous":"M21-GAP-01176","next":"M21-GAP-01178"},"M21-GAP-01178":{"line":4433,"offset":784234,"length":191,"previous":"M21-GAP-01177","next":"M21-GAP-01179"},"M21-GAP-01179":{"line":4434,"offset":784425,"length":190,"previous":"M21-GAP-01178","next":"M21-GAP-01180"},"M21-GAP-01180":{"line":4435,"offset":784615,"length":191,"previous":"M21-GAP-01179","next":"M21-GAP-01181"},"M21-GAP-01181":{"line":4436,"offset":784806,"length":191,"previous":"M21-GAP-01180","next":"M21-GAP-01182"},"M21-GAP-01182":{"line":4437,"offset":784997,"length":191,"previous":"M21-GAP-01181","next":"M21-GAP-01183"},"M21-GAP-01183":{"line":4438,"offset":785188,"length":191,"previous":"M21-GAP-01182","next":"M21-GAP-01184"},"M21-GAP-01184":{"line":4439,"offset":785379,"length":191,"previous":"M21-GAP-01183","next":"M21-GAP-01185"},"M21-GAP-01185":{"line":4440,"offset":785570,"length":191,"previous":"M21-GAP-01184","next":"M21-GAP-01186"},"M21-GAP-01186":{"line":4441,"offset":785761,"length":191,"previous":"M21-GAP-01185","next":"M21-GAP-01187"},"M21-GAP-01187":{"line":4442,"offset":785952,"length":191,"previous":"M21-GAP-01186","next":"M21-GAP-01188"},"M21-GAP-01188":{"line":4443,"offset":786143,"length":191,"previous":"M21-GAP-01187","next":"M21-GAP-01189"},"M21-GAP-01189":{"line":4444,"offset":786334,"length":191,"previous":"M21-GAP-01188","next":"M21-GAP-01190"},"M21-GAP-01190":{"line":4445,"offset":786525,"length":190,"previous":"M21-GAP-01189","next":"M21-GAP-01191"},"M21-GAP-01191":{"line":4446,"offset":786715,"length":191,"previous":"M21-GAP-01190","next":"M21-GAP-01192"},"M21-GAP-01192":{"line":4447,"offset":786906,"length":191,"previous":"M21-GAP-01191","next":"M21-GAP-01193"},"M21-GAP-01193":{"line":4448,"offset":787097,"length":191,"previous":"M21-GAP-01192","next":"M21-GAP-01194"},"M21-GAP-01194":{"line":4449,"offset":787288,"length":191,"previous":"M21-GAP-01193","next":"M21-GAP-01195"},"M21-GAP-01195":{"line":4450,"offset":787479,"length":191,"previous":"M21-GAP-01194","next":"M21-GAP-01196"},"M21-GAP-01196":{"line":4451,"offset":787670,"length":191,"previous":"M21-GAP-01195","next":"M21-GAP-01197"},"M21-GAP-01197":{"line":4452,"offset":787861,"length":191,"previous":"M21-GAP-01196","next":"M21-GAP-01198"},"M21-GAP-01198":{"line":4453,"offset":788052,"length":191,"previous":"M21-GAP-01197","next":"M21-GAP-01199"},"M21-GAP-01199":{"line":4454,"offset":788243,"length":191,"previous":"M21-GAP-01198","next":"M21-GAP-01200"},"M21-GAP-01200":{"line":4455,"offset":788434,"length":191,"previous":"M21-GAP-01199","next":"M21-GAP-01201"},"M21-GAP-01201":{"line":4456,"offset":788625,"length":190,"previous":"M21-GAP-01200","next":"M21-GAP-01202"},"M21-GAP-01202":{"line":4457,"offset":788815,"length":191,"previous":"M21-GAP-01201","next":"M21-GAP-01203"},"M21-GAP-01203":{"line":4458,"offset":789006,"length":191,"previous":"M21-GAP-01202","next":"M21-GAP-01204"},"M21-GAP-01204":{"line":4459,"offset":789197,"length":191,"previous":"M21-GAP-01203","next":"M21-GAP-01205"},"M21-GAP-01205":{"line":4460,"offset":789388,"length":191,"previous":"M21-GAP-01204","next":"M21-GAP-01206"},"M21-GAP-01206":{"line":4461,"offset":789579,"length":191,"previous":"M21-GAP-01205","next":"M21-GAP-01207"},"M21-GAP-01207":{"line":4462,"offset":789770,"length":191,"previous":"M21-GAP-01206","next":"M21-GAP-01208"},"M21-GAP-01208":{"line":4463,"offset":789961,"length":191,"previous":"M21-GAP-01207","next":"M21-GAP-01209"},"M21-GAP-01209":{"line":4464,"offset":790152,"length":190,"previous":"M21-GAP-01208","next":"M21-GAP-01210"},"M21-GAP-01210":{"line":4465,"offset":790342,"length":190,"previous":"M21-GAP-01209","next":"M21-GAP-01211"},"M21-GAP-01211":{"line":4466,"offset":790532,"length":190,"previous":"M21-GAP-01210","next":"M21-GAP-01212"},"M21-GAP-01212":{"line":4467,"offset":790722,"length":190,"previous":"M21-GAP-01211","next":"M21-GAP-01213"},"M21-GAP-01213":{"line":4468,"offset":790912,"length":190,"previous":"M21-GAP-01212","next":"M21-GAP-01214"},"M21-GAP-01214":{"line":4469,"offset":791102,"length":190,"previous":"M21-GAP-01213","next":"M21-GAP-01215"},"M21-GAP-01215":{"line":4470,"offset":791292,"length":190,"previous":"M21-GAP-01214","next":"M21-GAP-01216"},"M21-GAP-01216":{"line":4471,"offset":791482,"length":192,"previous":"M21-GAP-01215","next":"M21-GAP-01217"},"M21-GAP-01217":{"line":4472,"offset":791674,"length":192,"previous":"M21-GAP-01216","next":"M21-GAP-01218"},"M21-GAP-01218":{"line":4473,"offset":791866,"length":193,"previous":"M21-GAP-01217","next":"M21-GAP-01219"},"M21-GAP-01219":{"line":4474,"offset":792059,"length":193,"previous":"M21-GAP-01218","next":"M21-GAP-01220"},"M21-GAP-01220":{"line":4475,"offset":792252,"length":193,"previous":"M21-GAP-01219","next":"M21-GAP-01221"},"M21-GAP-01221":{"line":4476,"offset":792445,"length":193,"previous":"M21-GAP-01220","next":"M21-GAP-01222"},"M21-GAP-01222":{"line":4477,"offset":792638,"length":193,"previous":"M21-GAP-01221","next":"M21-GAP-01223"},"M21-GAP-01223":{"line":4478,"offset":792831,"length":193,"previous":"M21-GAP-01222","next":"M21-GAP-01224"},"M21-GAP-01224":{"line":4479,"offset":793024,"length":193,"previous":"M21-GAP-01223","next":"M21-GAP-01225"},"M21-GAP-01225":{"line":4480,"offset":793217,"length":193,"previous":"M21-GAP-01224","next":"M21-GAP-01226"},"M21-GAP-01226":{"line":4481,"offset":793410,"length":193,"previous":"M21-GAP-01225","next":"M21-GAP-01227"},"M21-GAP-01227":{"line":4482,"offset":793603,"length":193,"previous":"M21-GAP-01226","next":"M21-GAP-01228"},"M21-GAP-01228":{"line":4483,"offset":793796,"length":192,"previous":"M21-GAP-01227","next":"M21-GAP-01229"},"M21-GAP-01229":{"line":4484,"offset":793988,"length":193,"previous":"M21-GAP-01228","next":"M21-GAP-01230"},"M21-GAP-01230":{"line":4485,"offset":794181,"length":193,"previous":"M21-GAP-01229","next":"M21-GAP-01231"},"M21-GAP-01231":{"line":4486,"offset":794374,"length":193,"previous":"M21-GAP-01230","next":"M21-GAP-01232"},"M21-GAP-01232":{"line":4487,"offset":794567,"length":193,"previous":"M21-GAP-01231","next":"M21-GAP-01233"},"M21-GAP-01233":{"line":4488,"offset":794760,"length":193,"previous":"M21-GAP-01232","next":"M21-GAP-01234"},"M21-GAP-01234":{"line":4489,"offset":794953,"length":193,"previous":"M21-GAP-01233","next":"M21-GAP-01235"},"M21-GAP-01235":{"line":4490,"offset":795146,"length":193,"previous":"M21-GAP-01234","next":"M21-GAP-01236"},"M21-GAP-01236":{"line":4491,"offset":795339,"length":192,"previous":"M21-GAP-01235","next":"M21-GAP-01237"},"M21-GAP-01237":{"line":4492,"offset":795531,"length":192,"previous":"M21-GAP-01236","next":"M21-GAP-01238"},"M21-GAP-01238":{"line":4493,"offset":795723,"length":192,"previous":"M21-GAP-01237","next":"M21-GAP-01239"},"M21-GAP-01239":{"line":4494,"offset":795915,"length":192,"previous":"M21-GAP-01238","next":"M21-GAP-01240"},"M21-GAP-01240":{"line":4495,"offset":796107,"length":192,"previous":"M21-GAP-01239","next":"M21-GAP-01241"},"M21-GAP-01241":{"line":4496,"offset":796299,"length":192,"previous":"M21-GAP-01240","next":"M21-GAP-01242"},"M21-GAP-01242":{"line":4497,"offset":796491,"length":192,"previous":"M21-GAP-01241","next":"M21-GAP-01243"},"M21-GAP-01243":{"line":4498,"offset":796683,"length":190,"previous":"M21-GAP-01242","next":"M21-GAP-01244"},"M21-GAP-01244":{"line":4499,"offset":796873,"length":190,"previous":"M21-GAP-01243","next":"M21-GAP-01245"},"M21-GAP-01245":{"line":4500,"offset":797063,"length":190,"previous":"M21-GAP-01244","next":"M21-GAP-01246"},"M21-GAP-01246":{"line":4501,"offset":797253,"length":190,"previous":"M21-GAP-01245","next":"M21-GAP-01247"},"M21-GAP-01247":{"line":4502,"offset":797443,"length":190,"previous":"M21-GAP-01246","next":"M21-GAP-01248"},"M21-GAP-01248":{"line":4503,"offset":797633,"length":190,"previous":"M21-GAP-01247","next":"M21-GAP-01249"},"M21-GAP-01249":{"line":4504,"offset":797823,"length":190,"previous":"M21-GAP-01248","next":"M21-GAP-01250"},"M21-GAP-01250":{"line":4505,"offset":798013,"length":190,"previous":"M21-GAP-01249","next":"M21-GAP-01251"},"M21-GAP-01251":{"line":4506,"offset":798203,"length":190,"previous":"M21-GAP-01250","next":"M21-GAP-01252"},"M21-GAP-01252":{"line":4507,"offset":798393,"length":190,"previous":"M21-GAP-01251","next":"M21-GAP-01253"},"M21-GAP-01253":{"line":4508,"offset":798583,"length":193,"previous":"M21-GAP-01252","next":"M21-GAP-01254"},"M21-GAP-01254":{"line":4509,"offset":798776,"length":193,"previous":"M21-GAP-01253","next":"M21-GAP-01255"},"M21-GAP-01255":{"line":4510,"offset":798969,"length":194,"previous":"M21-GAP-01254","next":"M21-GAP-01256"},"M21-GAP-01256":{"line":4511,"offset":799163,"length":194,"previous":"M21-GAP-01255","next":"M21-GAP-01257"},"M21-GAP-01257":{"line":4512,"offset":799357,"length":194,"previous":"M21-GAP-01256","next":"M21-GAP-01258"},"M21-GAP-01258":{"line":4513,"offset":799551,"length":194,"previous":"M21-GAP-01257","next":"M21-GAP-01259"},"M21-GAP-01259":{"line":4514,"offset":799745,"length":194,"previous":"M21-GAP-01258","next":"M21-GAP-01260"},"M21-GAP-01260":{"line":4515,"offset":799939,"length":194,"previous":"M21-GAP-01259","next":"M21-GAP-01261"},"M21-GAP-01261":{"line":4516,"offset":800133,"length":194,"previous":"M21-GAP-01260","next":"M21-GAP-01262"},"M21-GAP-01262":{"line":4517,"offset":800327,"length":194,"previous":"M21-GAP-01261","next":"M21-GAP-01263"},"M21-GAP-01263":{"line":4518,"offset":800521,"length":194,"previous":"M21-GAP-01262","next":"M21-GAP-01264"},"M21-GAP-01264":{"line":4519,"offset":800715,"length":194,"previous":"M21-GAP-01263","next":"M21-GAP-01265"},"M21-GAP-01265":{"line":4520,"offset":800909,"length":193,"previous":"M21-GAP-01264","next":"M21-GAP-01266"},"M21-GAP-01266":{"line":4521,"offset":801102,"length":194,"previous":"M21-GAP-01265","next":"M21-GAP-01267"},"M21-GAP-01267":{"line":4522,"offset":801296,"length":194,"previous":"M21-GAP-01266","next":"M21-GAP-01268"},"M21-GAP-01268":{"line":4523,"offset":801490,"length":193,"previous":"M21-GAP-01267","next":"M21-GAP-01269"},"M21-GAP-01269":{"line":4524,"offset":801683,"length":193,"previous":"M21-GAP-01268","next":"M21-GAP-01270"},"M21-GAP-01270":{"line":4525,"offset":801876,"length":193,"previous":"M21-GAP-01269","next":"M21-GAP-01271"},"M21-GAP-01271":{"line":4526,"offset":802069,"length":193,"previous":"M21-GAP-01270","next":"M21-GAP-01272"},"M21-GAP-01272":{"line":4527,"offset":802262,"length":193,"previous":"M21-GAP-01271","next":"M21-GAP-01273"},"M21-GAP-01273":{"line":4528,"offset":802455,"length":193,"previous":"M21-GAP-01272","next":"M21-GAP-01274"},"M21-GAP-01274":{"line":4529,"offset":802648,"length":193,"previous":"M21-GAP-01273","next":"M21-GAP-01275"},"M21-GAP-01275":{"line":4530,"offset":802841,"length":193,"previous":"M21-GAP-01274","next":"M21-GAP-01276"},"M21-GAP-01276":{"line":4531,"offset":803034,"length":193,"previous":"M21-GAP-01275","next":"M21-GAP-01277"},"M21-GAP-01277":{"line":4532,"offset":803227,"length":194,"previous":"M21-GAP-01276","next":"M21-GAP-01278"},"M21-GAP-01278":{"line":4533,"offset":803421,"length":194,"previous":"M21-GAP-01277","next":"M21-GAP-01279"},"M21-GAP-01279":{"line":4534,"offset":803615,"length":194,"previous":"M21-GAP-01278","next":"M21-GAP-01280"},"M21-GAP-01280":{"line":4535,"offset":803809,"length":194,"previous":"M21-GAP-01279","next":"M21-GAP-01281"},"M21-GAP-01281":{"line":4536,"offset":804003,"length":194,"previous":"M21-GAP-01280","next":"M21-GAP-01282"},"M21-GAP-01282":{"line":4537,"offset":804197,"length":194,"previous":"M21-GAP-01281","next":"M21-GAP-01283"},"M21-GAP-01283":{"line":4538,"offset":804391,"length":194,"previous":"M21-GAP-01282","next":"M21-GAP-01284"},"M21-GAP-01284":{"line":4539,"offset":804585,"length":194,"previous":"M21-GAP-01283","next":"M21-GAP-01285"},"M21-GAP-01285":{"line":4540,"offset":804779,"length":194,"previous":"M21-GAP-01284","next":"M21-GAP-01286"},"M21-GAP-01286":{"line":4541,"offset":804973,"length":194,"previous":"M21-GAP-01285","next":"M21-GAP-01287"},"M21-GAP-01287":{"line":4542,"offset":805167,"length":193,"previous":"M21-GAP-01286","next":"M21-GAP-01288"},"M21-GAP-01288":{"line":4543,"offset":805360,"length":194,"previous":"M21-GAP-01287","next":"M21-GAP-01289"},"M21-GAP-01289":{"line":4544,"offset":805554,"length":194,"previous":"M21-GAP-01288","next":"M21-GAP-01290"},"M21-GAP-01290":{"line":4545,"offset":805748,"length":194,"previous":"M21-GAP-01289","next":"M21-GAP-01291"},"M21-GAP-01291":{"line":4546,"offset":805942,"length":194,"previous":"M21-GAP-01290","next":"M21-GAP-01292"},"M21-GAP-01292":{"line":4547,"offset":806136,"length":194,"previous":"M21-GAP-01291","next":"M21-GAP-01293"},"M21-GAP-01293":{"line":4548,"offset":806330,"length":194,"previous":"M21-GAP-01292","next":"M21-GAP-01294"},"M21-GAP-01294":{"line":4549,"offset":806524,"length":193,"previous":"M21-GAP-01293","next":"M21-GAP-01295"},"M21-GAP-01295":{"line":4550,"offset":806717,"length":193,"previous":"M21-GAP-01294","next":"M21-GAP-01296"},"M21-GAP-01296":{"line":4551,"offset":806910,"length":193,"previous":"M21-GAP-01295","next":"M21-GAP-01297"},"M21-GAP-01297":{"line":4552,"offset":807103,"length":193,"previous":"M21-GAP-01296","next":"M21-GAP-01298"},"M21-GAP-01298":{"line":4553,"offset":807296,"length":193,"previous":"M21-GAP-01297","next":"M21-GAP-01299"},"M21-GAP-01299":{"line":4554,"offset":807489,"length":193,"previous":"M21-GAP-01298","next":"M21-GAP-01300"},"M21-GAP-01300":{"line":4555,"offset":807682,"length":193,"previous":"M21-GAP-01299","next":"M21-GAP-01301"},"M21-GAP-01301":{"line":4556,"offset":807875,"length":180,"previous":"M21-GAP-01300","next":"M21-GAP-01302"},"M21-GAP-01302":{"line":4557,"offset":808055,"length":180,"previous":"M21-GAP-01301","next":"M21-GAP-01303"},"M21-GAP-01303":{"line":4558,"offset":808235,"length":180,"previous":"M21-GAP-01302","next":"M21-GAP-01304"},"M21-GAP-01304":{"line":4559,"offset":808415,"length":180,"previous":"M21-GAP-01303","next":"M21-GAP-01305"},"M21-GAP-01305":{"line":4560,"offset":808595,"length":180,"previous":"M21-GAP-01304","next":"M21-GAP-01306"},"M21-GAP-01306":{"line":4561,"offset":808775,"length":202,"previous":"M21-GAP-01305","next":"M21-GAP-01307"},"M21-GAP-01307":{"line":4562,"offset":808977,"length":205,"previous":"M21-GAP-01306","next":"M21-GAP-01308"},"M21-GAP-01308":{"line":4563,"offset":809182,"length":205,"previous":"M21-GAP-01307","next":"M21-GAP-01309"},"M21-GAP-01309":{"line":4564,"offset":809387,"length":205,"previous":"M21-GAP-01308","next":"M21-GAP-01310"},"M21-GAP-01310":{"line":4565,"offset":809592,"length":203,"previous":"M21-GAP-01309","next":"M21-GAP-01311"},"M21-GAP-01311":{"line":4566,"offset":809795,"length":205,"previous":"M21-GAP-01310","next":"M21-GAP-01312"},"M21-GAP-01312":{"line":4567,"offset":810000,"length":204,"previous":"M21-GAP-01311","next":"M21-GAP-01313"},"M21-GAP-01313":{"line":4568,"offset":810204,"length":220,"previous":"M21-GAP-01312","next":"M21-GAP-01314"},"M21-GAP-01314":{"line":4569,"offset":810424,"length":220,"previous":"M21-GAP-01313","next":"M21-GAP-01315"},"M21-GAP-01315":{"line":4570,"offset":810644,"length":220,"previous":"M21-GAP-01314","next":"M21-GAP-01316"},"M21-GAP-01316":{"line":4571,"offset":810864,"length":209,"previous":"M21-GAP-01315","next":"M21-GAP-01317"},"M21-GAP-01317":{"line":4572,"offset":811073,"length":209,"previous":"M21-GAP-01316","next":"M21-GAP-01318"},"M21-GAP-01318":{"line":4573,"offset":811282,"length":209,"previous":"M21-GAP-01317","next":"M21-GAP-01319"},"M21-GAP-01319":{"line":4574,"offset":811491,"length":223,"previous":"M21-GAP-01318","next":"M21-GAP-01320"},"M21-GAP-01320":{"line":4575,"offset":811714,"length":223,"previous":"M21-GAP-01319","next":"M21-GAP-01321"},"M21-GAP-01321":{"line":4576,"offset":811937,"length":223,"previous":"M21-GAP-01320","next":"M21-GAP-01322"},"M21-GAP-01322":{"line":4577,"offset":812160,"length":212,"previous":"M21-GAP-01321","next":"M21-GAP-01323"},"M21-GAP-01323":{"line":4578,"offset":812372,"length":212,"previous":"M21-GAP-01322","next":"M21-GAP-01324"},"M21-GAP-01324":{"line":4579,"offset":812584,"length":212,"previous":"M21-GAP-01323","next":"M21-GAP-01325"},"M21-GAP-01325":{"line":4580,"offset":812796,"length":222,"previous":"M21-GAP-01324","next":"M21-GAP-01326"},"M21-GAP-01326":{"line":4581,"offset":813018,"length":222,"previous":"M21-GAP-01325","next":"M21-GAP-01327"},"M21-GAP-01327":{"line":4582,"offset":813240,"length":222,"previous":"M21-GAP-01326","next":"M21-GAP-01328"},"M21-GAP-01328":{"line":4583,"offset":813462,"length":211,"previous":"M21-GAP-01327","next":"M21-GAP-01329"},"M21-GAP-01329":{"line":4584,"offset":813673,"length":211,"previous":"M21-GAP-01328","next":"M21-GAP-01330"},"M21-GAP-01330":{"line":4585,"offset":813884,"length":211,"previous":"M21-GAP-01329","next":"M21-GAP-01331"},"M21-GAP-01331":{"line":4586,"offset":814095,"length":208,"previous":"M21-GAP-01330","next":"M21-GAP-01332"},"M21-GAP-01332":{"line":4587,"offset":814303,"length":215,"previous":"M21-GAP-01331","next":"M21-GAP-01333"},"M21-GAP-01333":{"line":4588,"offset":814518,"length":215,"previous":"M21-GAP-01332","next":"M21-GAP-01334"},"M21-GAP-01334":{"line":4589,"offset":814733,"length":215,"previous":"M21-GAP-01333","next":"M21-GAP-01335"},"M21-GAP-01335":{"line":4590,"offset":814948,"length":204,"previous":"M21-GAP-01334","next":"M21-GAP-01336"},"M21-GAP-01336":{"line":4591,"offset":815152,"length":204,"previous":"M21-GAP-01335","next":"M21-GAP-01337"},"M21-GAP-01337":{"line":4592,"offset":815356,"length":204,"previous":"M21-GAP-01336","next":"M21-GAP-01338"},"M21-GAP-01338":{"line":4593,"offset":815560,"length":199,"previous":"M21-GAP-01337","next":"M21-GAP-01339"},"M21-GAP-01339":{"line":4594,"offset":815759,"length":203,"previous":"M21-GAP-01338","next":"M21-GAP-01340"},"M21-GAP-01340":{"line":4595,"offset":815962,"length":203,"previous":"M21-GAP-01339","next":"M21-GAP-01341"},"M21-GAP-01341":{"line":4596,"offset":816165,"length":201,"previous":"M21-GAP-01340","next":"M21-GAP-01342"},"M21-GAP-01342":{"line":4597,"offset":816366,"length":201,"previous":"M21-GAP-01341","next":"M21-GAP-01343"},"M21-GAP-01343":{"line":4598,"offset":816567,"length":201,"previous":"M21-GAP-01342","next":"M21-GAP-01344"},"M21-GAP-01344":{"line":4599,"offset":816768,"length":201,"previous":"M21-GAP-01343","next":"M21-GAP-01345"},"M21-GAP-01345":{"line":4600,"offset":816969,"length":201,"previous":"M21-GAP-01344","next":"M21-GAP-01346"},"M21-GAP-01346":{"line":4601,"offset":817170,"length":201,"previous":"M21-GAP-01345","next":"M21-GAP-01347"},"M21-GAP-01347":{"line":4602,"offset":817371,"length":202,"previous":"M21-GAP-01346","next":"M21-GAP-01348"},"M21-GAP-01348":{"line":4603,"offset":817573,"length":202,"previous":"M21-GAP-01347","next":"M21-GAP-01349"},"M21-GAP-01349":{"line":4604,"offset":817775,"length":202,"previous":"M21-GAP-01348","next":"M21-GAP-01350"},"M21-GAP-01350":{"line":4605,"offset":817977,"length":202,"previous":"M21-GAP-01349","next":"M21-GAP-01351"},"M21-GAP-01351":{"line":4606,"offset":818179,"length":202,"previous":"M21-GAP-01350","next":"M21-GAP-01352"},"M21-GAP-01352":{"line":4607,"offset":818381,"length":202,"previous":"M21-GAP-01351","next":"M21-GAP-01353"},"M21-GAP-01353":{"line":4608,"offset":818583,"length":202,"previous":"M21-GAP-01352","next":"M21-GAP-01354"},"M21-GAP-01354":{"line":4609,"offset":818785,"length":202,"previous":"M21-GAP-01353","next":"M21-GAP-01355"},"M21-GAP-01355":{"line":4610,"offset":818987,"length":202,"previous":"M21-GAP-01354","next":"M21-GAP-01356"},"M21-GAP-01356":{"line":4611,"offset":819189,"length":202,"previous":"M21-GAP-01355","next":"M21-GAP-01357"},"M21-GAP-01357":{"line":4612,"offset":819391,"length":207,"previous":"M21-GAP-01356","next":"M21-GAP-01358"},"M21-GAP-01358":{"line":4613,"offset":819598,"length":203,"previous":"M21-GAP-01357","next":"M21-GAP-01359"},"M21-GAP-01359":{"line":4614,"offset":819801,"length":202,"previous":"M21-GAP-01358","next":"M21-GAP-01360"},"M21-GAP-01360":{"line":4615,"offset":820003,"length":218,"previous":"M21-GAP-01359","next":"M21-GAP-01361"},"M21-GAP-01361":{"line":4616,"offset":820221,"length":218,"previous":"M21-GAP-01360","next":"M21-GAP-01362"},"M21-GAP-01362":{"line":4617,"offset":820439,"length":218,"previous":"M21-GAP-01361","next":"M21-GAP-01363"},"M21-GAP-01363":{"line":4618,"offset":820657,"length":207,"previous":"M21-GAP-01362","next":"M21-GAP-01364"},"M21-GAP-01364":{"line":4619,"offset":820864,"length":207,"previous":"M21-GAP-01363","next":"M21-GAP-01365"},"M21-GAP-01365":{"line":4620,"offset":821071,"length":207,"previous":"M21-GAP-01364","next":"M21-GAP-01366"},"M21-GAP-01366":{"line":4621,"offset":821278,"length":221,"previous":"M21-GAP-01365","next":"M21-GAP-01367"},"M21-GAP-01367":{"line":4622,"offset":821499,"length":221,"previous":"M21-GAP-01366","next":"M21-GAP-01368"},"M21-GAP-01368":{"line":4623,"offset":821720,"length":221,"previous":"M21-GAP-01367","next":"M21-GAP-01369"},"M21-GAP-01369":{"line":4624,"offset":821941,"length":210,"previous":"M21-GAP-01368","next":"M21-GAP-01370"},"M21-GAP-01370":{"line":4625,"offset":822151,"length":210,"previous":"M21-GAP-01369","next":"M21-GAP-01371"},"M21-GAP-01371":{"line":4626,"offset":822361,"length":210,"previous":"M21-GAP-01370","next":"M21-GAP-01372"},"M21-GAP-01372":{"line":4627,"offset":822571,"length":220,"previous":"M21-GAP-01371","next":"M21-GAP-01373"},"M21-GAP-01373":{"line":4628,"offset":822791,"length":220,"previous":"M21-GAP-01372","next":"M21-GAP-01374"},"M21-GAP-01374":{"line":4629,"offset":823011,"length":220,"previous":"M21-GAP-01373","next":"M21-GAP-01375"},"M21-GAP-01375":{"line":4630,"offset":823231,"length":209,"previous":"M21-GAP-01374","next":"M21-GAP-01376"},"M21-GAP-01376":{"line":4631,"offset":823440,"length":209,"previous":"M21-GAP-01375","next":"M21-GAP-01377"},"M21-GAP-01377":{"line":4632,"offset":823649,"length":209,"previous":"M21-GAP-01376","next":"M21-GAP-01378"},"M21-GAP-01378":{"line":4633,"offset":823858,"length":213,"previous":"M21-GAP-01377","next":"M21-GAP-01379"},"M21-GAP-01379":{"line":4634,"offset":824071,"length":213,"previous":"M21-GAP-01378","next":"M21-GAP-01380"},"M21-GAP-01380":{"line":4635,"offset":824284,"length":213,"previous":"M21-GAP-01379","next":"M21-GAP-01381"},"M21-GAP-01381":{"line":4636,"offset":824497,"length":202,"previous":"M21-GAP-01380","next":"M21-GAP-01382"},"M21-GAP-01382":{"line":4637,"offset":824699,"length":202,"previous":"M21-GAP-01381","next":"M21-GAP-01383"},"M21-GAP-01383":{"line":4638,"offset":824901,"length":202,"previous":"M21-GAP-01382","next":"M21-GAP-01384"},"M21-GAP-01384":{"line":4639,"offset":825103,"length":187,"previous":"M21-GAP-01383","next":"M21-GAP-01385"},"M21-GAP-01385":{"line":4640,"offset":825290,"length":187,"previous":"M21-GAP-01384","next":"M21-GAP-01386"},"M21-GAP-01386":{"line":4641,"offset":825477,"length":188,"previous":"M21-GAP-01385","next":"M21-GAP-01387"},"M21-GAP-01387":{"line":4642,"offset":825665,"length":187,"previous":"M21-GAP-01386","next":"M21-GAP-01388"},"M21-GAP-01388":{"line":4643,"offset":825852,"length":187,"previous":"M21-GAP-01387","next":"M21-GAP-01389"},"M21-GAP-01389":{"line":4644,"offset":826039,"length":187,"previous":"M21-GAP-01388","next":"M21-GAP-01390"},"M21-GAP-01390":{"line":4645,"offset":826226,"length":187,"previous":"M21-GAP-01389","next":"M21-GAP-01391"},"M21-GAP-01391":{"line":4646,"offset":826413,"length":187,"previous":"M21-GAP-01390","next":"M21-GAP-01392"},"M21-GAP-01392":{"line":4647,"offset":826600,"length":187,"previous":"M21-GAP-01391","next":"M21-GAP-01393"},"M21-GAP-01393":{"line":4648,"offset":826787,"length":187,"previous":"M21-GAP-01392","next":"M21-GAP-01394"},"M21-GAP-01394":{"line":4649,"offset":826974,"length":187,"previous":"M21-GAP-01393","next":"M21-GAP-01395"},"M21-GAP-01395":{"line":4650,"offset":827161,"length":178,"previous":"M21-GAP-01394","next":"M21-GAP-01396"},"M21-GAP-01396":{"line":4651,"offset":827339,"length":178,"previous":"M21-GAP-01395","next":"M21-GAP-01397"},"M21-GAP-01397":{"line":4652,"offset":827517,"length":179,"previous":"M21-GAP-01396","next":"M21-GAP-01398"},"M21-GAP-01398":{"line":4653,"offset":827696,"length":179,"previous":"M21-GAP-01397","next":"M21-GAP-01399"},"M21-GAP-01399":{"line":4654,"offset":827875,"length":179,"previous":"M21-GAP-01398","next":"M21-GAP-01400"},"M21-GAP-01400":{"line":4655,"offset":828054,"length":179,"previous":"M21-GAP-01399","next":"M21-GAP-01401"},"M21-GAP-01401":{"line":4656,"offset":828233,"length":179,"previous":"M21-GAP-01400","next":"M21-GAP-01402"},"M21-GAP-01402":{"line":4657,"offset":828412,"length":179,"previous":"M21-GAP-01401","next":"M21-GAP-01403"},"M21-GAP-01403":{"line":4658,"offset":828591,"length":179,"previous":"M21-GAP-01402","next":"M21-GAP-01404"},"M21-GAP-01404":{"line":4659,"offset":828770,"length":179,"previous":"M21-GAP-01403","next":"M21-GAP-01405"},"M21-GAP-01405":{"line":4660,"offset":828949,"length":179,"previous":"M21-GAP-01404","next":"M21-GAP-01406"},"M21-GAP-01406":{"line":4661,"offset":829128,"length":179,"previous":"M21-GAP-01405","next":"M21-GAP-01407"},"M21-GAP-01407":{"line":4662,"offset":829307,"length":178,"previous":"M21-GAP-01406","next":"M21-GAP-01408"},"M21-GAP-01408":{"line":4663,"offset":829485,"length":179,"previous":"M21-GAP-01407","next":"M21-GAP-01409"},"M21-GAP-01409":{"line":4664,"offset":829664,"length":179,"previous":"M21-GAP-01408","next":"M21-GAP-01410"},"M21-GAP-01410":{"line":4665,"offset":829843,"length":179,"previous":"M21-GAP-01409","next":"M21-GAP-01411"},"M21-GAP-01411":{"line":4666,"offset":830022,"length":179,"previous":"M21-GAP-01410","next":"M21-GAP-01412"},"M21-GAP-01412":{"line":4667,"offset":830201,"length":179,"previous":"M21-GAP-01411","next":"M21-GAP-01413"},"M21-GAP-01413":{"line":4668,"offset":830380,"length":179,"previous":"M21-GAP-01412","next":"M21-GAP-01414"},"M21-GAP-01414":{"line":4669,"offset":830559,"length":178,"previous":"M21-GAP-01413","next":"M21-GAP-01415"},"M21-GAP-01415":{"line":4670,"offset":830737,"length":178,"previous":"M21-GAP-01414","next":"M21-GAP-01416"},"M21-GAP-01416":{"line":4671,"offset":830915,"length":178,"previous":"M21-GAP-01415","next":"M21-GAP-01417"},"M21-GAP-01417":{"line":4672,"offset":831093,"length":178,"previous":"M21-GAP-01416","next":"M21-GAP-01418"},"M21-GAP-01418":{"line":4673,"offset":831271,"length":178,"previous":"M21-GAP-01417","next":"M21-GAP-01419"},"M21-GAP-01419":{"line":4674,"offset":831449,"length":178,"previous":"M21-GAP-01418","next":"M21-GAP-01420"},"M21-GAP-01420":{"line":4675,"offset":831627,"length":178,"previous":"M21-GAP-01419","next":"M21-GAP-01421"},"M21-GAP-01421":{"line":4676,"offset":831805,"length":179,"previous":"M21-GAP-01420","next":"M21-GAP-01422"},"M21-GAP-01422":{"line":4677,"offset":831984,"length":179,"previous":"M21-GAP-01421","next":"M21-GAP-01423"},"M21-GAP-01423":{"line":4678,"offset":832163,"length":180,"previous":"M21-GAP-01422","next":"M21-GAP-01424"},"M21-GAP-01424":{"line":4679,"offset":832343,"length":180,"previous":"M21-GAP-01423","next":"M21-GAP-01425"},"M21-GAP-01425":{"line":4680,"offset":832523,"length":180,"previous":"M21-GAP-01424","next":"M21-GAP-01426"},"M21-GAP-01426":{"line":4681,"offset":832703,"length":180,"previous":"M21-GAP-01425","next":"M21-GAP-01427"},"M21-GAP-01427":{"line":4682,"offset":832883,"length":180,"previous":"M21-GAP-01426","next":"M21-GAP-01428"},"M21-GAP-01428":{"line":4683,"offset":833063,"length":180,"previous":"M21-GAP-01427","next":"M21-GAP-01429"},"M21-GAP-01429":{"line":4684,"offset":833243,"length":180,"previous":"M21-GAP-01428","next":"M21-GAP-01430"},"M21-GAP-01430":{"line":4685,"offset":833423,"length":180,"previous":"M21-GAP-01429","next":"M21-GAP-01431"},"M21-GAP-01431":{"line":4686,"offset":833603,"length":180,"previous":"M21-GAP-01430","next":"M21-GAP-01432"},"M21-GAP-01432":{"line":4687,"offset":833783,"length":180,"previous":"M21-GAP-01431","next":"M21-GAP-01433"},"M21-GAP-01433":{"line":4688,"offset":833963,"length":179,"previous":"M21-GAP-01432","next":"M21-GAP-01434"},"M21-GAP-01434":{"line":4689,"offset":834142,"length":180,"previous":"M21-GAP-01433","next":"M21-GAP-01435"},"M21-GAP-01435":{"line":4690,"offset":834322,"length":180,"previous":"M21-GAP-01434","next":"M21-GAP-01436"},"M21-GAP-01436":{"line":4691,"offset":834502,"length":180,"previous":"M21-GAP-01435","next":"M21-GAP-01437"},"M21-GAP-01437":{"line":4692,"offset":834682,"length":180,"previous":"M21-GAP-01436","next":"M21-GAP-01438"},"M21-GAP-01438":{"line":4693,"offset":834862,"length":180,"previous":"M21-GAP-01437","next":"M21-GAP-01439"},"M21-GAP-01439":{"line":4694,"offset":835042,"length":180,"previous":"M21-GAP-01438","next":"M21-GAP-01440"},"M21-GAP-01440":{"line":4695,"offset":835222,"length":180,"previous":"M21-GAP-01439","next":"M21-GAP-01441"},"M21-GAP-01441":{"line":4696,"offset":835402,"length":180,"previous":"M21-GAP-01440","next":"M21-GAP-01442"},"M21-GAP-01442":{"line":4697,"offset":835582,"length":180,"previous":"M21-GAP-01441","next":"M21-GAP-01443"},"M21-GAP-01443":{"line":4698,"offset":835762,"length":180,"previous":"M21-GAP-01442","next":"M21-GAP-01444"},"M21-GAP-01444":{"line":4699,"offset":835942,"length":179,"previous":"M21-GAP-01443","next":"M21-GAP-01445"},"M21-GAP-01445":{"line":4700,"offset":836121,"length":180,"previous":"M21-GAP-01444","next":"M21-GAP-01446"},"M21-GAP-01446":{"line":4701,"offset":836301,"length":180,"previous":"M21-GAP-01445","next":"M21-GAP-01447"},"M21-GAP-01447":{"line":4702,"offset":836481,"length":180,"previous":"M21-GAP-01446","next":"M21-GAP-01448"},"M21-GAP-01448":{"line":4703,"offset":836661,"length":180,"previous":"M21-GAP-01447","next":"M21-GAP-01449"},"M21-GAP-01449":{"line":4704,"offset":836841,"length":180,"previous":"M21-GAP-01448","next":"M21-GAP-01450"},"M21-GAP-01450":{"line":4705,"offset":837021,"length":180,"previous":"M21-GAP-01449","next":"M21-GAP-01451"},"M21-GAP-01451":{"line":4706,"offset":837201,"length":180,"previous":"M21-GAP-01450","next":"M21-GAP-01452"},"M21-GAP-01452":{"line":4707,"offset":837381,"length":180,"previous":"M21-GAP-01451","next":"M21-GAP-01453"},"M21-GAP-01453":{"line":4708,"offset":837561,"length":180,"previous":"M21-GAP-01452","next":"M21-GAP-01454"},"M21-GAP-01454":{"line":4709,"offset":837741,"length":180,"previous":"M21-GAP-01453","next":"M21-GAP-01455"},"M21-GAP-01455":{"line":4710,"offset":837921,"length":179,"previous":"M21-GAP-01454","next":"M21-GAP-01456"},"M21-GAP-01456":{"line":4711,"offset":838100,"length":180,"previous":"M21-GAP-01455","next":"M21-GAP-01457"},"M21-GAP-01457":{"line":4712,"offset":838280,"length":180,"previous":"M21-GAP-01456","next":"M21-GAP-01458"},"M21-GAP-01458":{"line":4713,"offset":838460,"length":180,"previous":"M21-GAP-01457","next":"M21-GAP-01459"},"M21-GAP-01459":{"line":4714,"offset":838640,"length":180,"previous":"M21-GAP-01458","next":"M21-GAP-01460"},"M21-GAP-01460":{"line":4715,"offset":838820,"length":180,"previous":"M21-GAP-01459","next":"M21-GAP-01461"},"M21-GAP-01461":{"line":4716,"offset":839000,"length":180,"previous":"M21-GAP-01460","next":"M21-GAP-01462"},"M21-GAP-01462":{"line":4717,"offset":839180,"length":180,"previous":"M21-GAP-01461","next":"M21-GAP-01463"},"M21-GAP-01463":{"line":4718,"offset":839360,"length":180,"previous":"M21-GAP-01462","next":"M21-GAP-01464"},"M21-GAP-01464":{"line":4719,"offset":839540,"length":180,"previous":"M21-GAP-01463","next":"M21-GAP-01465"},"M21-GAP-01465":{"line":4720,"offset":839720,"length":180,"previous":"M21-GAP-01464","next":"M21-GAP-01466"},"M21-GAP-01466":{"line":4721,"offset":839900,"length":179,"previous":"M21-GAP-01465","next":"M21-GAP-01467"},"M21-GAP-01467":{"line":4722,"offset":840079,"length":180,"previous":"M21-GAP-01466","next":"M21-GAP-01468"},"M21-GAP-01468":{"line":4723,"offset":840259,"length":179,"previous":"M21-GAP-01467","next":"M21-GAP-01469"},"M21-GAP-01469":{"line":4724,"offset":840438,"length":179,"previous":"M21-GAP-01468","next":"M21-GAP-01470"},"M21-GAP-01470":{"line":4725,"offset":840617,"length":179,"previous":"M21-GAP-01469","next":"M21-GAP-01471"},"M21-GAP-01471":{"line":4726,"offset":840796,"length":179,"previous":"M21-GAP-01470","next":"M21-GAP-01472"},"M21-GAP-01472":{"line":4727,"offset":840975,"length":170,"previous":"M21-GAP-01471","next":"M21-GAP-01473"},"M21-GAP-01473":{"line":4728,"offset":841145,"length":170,"previous":"M21-GAP-01472","next":"M21-GAP-01474"},"M21-GAP-01474":{"line":4729,"offset":841315,"length":171,"previous":"M21-GAP-01473","next":"M21-GAP-01475"},"M21-GAP-01475":{"line":4730,"offset":841486,"length":171,"previous":"M21-GAP-01474","next":"M21-GAP-01476"},"M21-GAP-01476":{"line":4731,"offset":841657,"length":171,"previous":"M21-GAP-01475","next":"M21-GAP-01477"},"M21-GAP-01477":{"line":4732,"offset":841828,"length":171,"previous":"M21-GAP-01476","next":"M21-GAP-01478"},"M21-GAP-01478":{"line":4733,"offset":841999,"length":170,"previous":"M21-GAP-01477","next":"M21-GAP-01479"},"M21-GAP-01479":{"line":4734,"offset":842169,"length":170,"previous":"M21-GAP-01478","next":"M21-GAP-01480"},"M21-GAP-01480":{"line":4735,"offset":842339,"length":170,"previous":"M21-GAP-01479","next":"M21-GAP-01481"},"M21-GAP-01481":{"line":4736,"offset":842509,"length":170,"previous":"M21-GAP-01480","next":"M21-GAP-01482"},"M21-GAP-01482":{"line":4737,"offset":842679,"length":170,"previous":"M21-GAP-01481","next":"M21-GAP-01483"},"M21-GAP-01483":{"line":4738,"offset":842849,"length":170,"previous":"M21-GAP-01482","next":"M21-GAP-01484"},"M21-GAP-01484":{"line":4739,"offset":843019,"length":170,"previous":"M21-GAP-01483","next":"M21-GAP-01485"},"M21-GAP-01485":{"line":4740,"offset":843189,"length":170,"previous":"M21-GAP-01484","next":"M21-GAP-01486"},"M21-GAP-01486":{"line":4741,"offset":843359,"length":193,"previous":"M21-GAP-01485","next":"M21-GAP-01487"},"M21-GAP-01487":{"line":4742,"offset":843552,"length":193,"previous":"M21-GAP-01486","next":"M21-GAP-01488"},"M21-GAP-01488":{"line":4743,"offset":843745,"length":193,"previous":"M21-GAP-01487","next":"M21-GAP-01489"},"M21-GAP-01489":{"line":4744,"offset":843938,"length":193,"previous":"M21-GAP-01488","next":"M21-GAP-01490"},"M21-GAP-01490":{"line":4745,"offset":844131,"length":193,"previous":"M21-GAP-01489","next":"M21-GAP-01491"},"M21-GAP-01491":{"line":4746,"offset":844324,"length":193,"previous":"M21-GAP-01490","next":"M21-GAP-01492"},"M21-GAP-01492":{"line":4747,"offset":844517,"length":193,"previous":"M21-GAP-01491","next":"M21-GAP-01493"},"M21-GAP-01493":{"line":4748,"offset":844710,"length":187,"previous":"M21-GAP-01492","next":"M21-GAP-01494"},"M21-GAP-01494":{"line":4749,"offset":844897,"length":187,"previous":"M21-GAP-01493","next":"M21-GAP-01495"},"M21-GAP-01495":{"line":4750,"offset":845084,"length":188,"previous":"M21-GAP-01494","next":"M21-GAP-01496"},"M21-GAP-01496":{"line":4751,"offset":845272,"length":188,"previous":"M21-GAP-01495","next":"M21-GAP-01497"},"M21-GAP-01497":{"line":4752,"offset":845460,"length":188,"previous":"M21-GAP-01496","next":"M21-GAP-01498"},"M21-GAP-01498":{"line":4753,"offset":845648,"length":188,"previous":"M21-GAP-01497","next":"M21-GAP-01499"},"M21-GAP-01499":{"line":4754,"offset":845836,"length":188,"previous":"M21-GAP-01498","next":"M21-GAP-01500"},"M21-GAP-01500":{"line":4755,"offset":846024,"length":188,"previous":"M21-GAP-01499","next":"M21-GAP-01501"},"M21-GAP-01501":{"line":4756,"offset":846212,"length":188,"previous":"M21-GAP-01500","next":"M21-GAP-01502"},"M21-GAP-01502":{"line":4757,"offset":846400,"length":188,"previous":"M21-GAP-01501","next":"M21-GAP-01503"},"M21-GAP-01503":{"line":4758,"offset":846588,"length":188,"previous":"M21-GAP-01502","next":"M21-GAP-01504"},"M21-GAP-01504":{"line":4759,"offset":846776,"length":188,"previous":"M21-GAP-01503","next":"M21-GAP-01505"},"M21-GAP-01505":{"line":4760,"offset":846964,"length":187,"previous":"M21-GAP-01504","next":"M21-GAP-01506"},"M21-GAP-01506":{"line":4761,"offset":847151,"length":188,"previous":"M21-GAP-01505","next":"M21-GAP-01507"},"M21-GAP-01507":{"line":4762,"offset":847339,"length":188,"previous":"M21-GAP-01506","next":"M21-GAP-01508"},"M21-GAP-01508":{"line":4763,"offset":847527,"length":188,"previous":"M21-GAP-01507","next":"M21-GAP-01509"},"M21-GAP-01509":{"line":4764,"offset":847715,"length":188,"previous":"M21-GAP-01508","next":"M21-GAP-01510"},"M21-GAP-01510":{"line":4765,"offset":847903,"length":188,"previous":"M21-GAP-01509","next":"M21-GAP-01511"},"M21-GAP-01511":{"line":4766,"offset":848091,"length":187,"previous":"M21-GAP-01510","next":"M21-GAP-01512"},"M21-GAP-01512":{"line":4767,"offset":848278,"length":187,"previous":"M21-GAP-01511","next":"M21-GAP-01513"},"M21-GAP-01513":{"line":4768,"offset":848465,"length":187,"previous":"M21-GAP-01512","next":"M21-GAP-01514"},"M21-GAP-01514":{"line":4769,"offset":848652,"length":187,"previous":"M21-GAP-01513","next":"M21-GAP-01515"},"M21-GAP-01515":{"line":4770,"offset":848839,"length":187,"previous":"M21-GAP-01514","next":"M21-GAP-01516"},"M21-GAP-01516":{"line":4771,"offset":849026,"length":187,"previous":"M21-GAP-01515","next":"M21-GAP-01517"},"M21-GAP-01517":{"line":4772,"offset":849213,"length":187,"previous":"M21-GAP-01516","next":"M21-GAP-01518"},"M21-GAP-01518":{"line":4773,"offset":849400,"length":174,"previous":"M21-GAP-01517","next":"M21-GAP-01519"},"M21-GAP-01519":{"line":4774,"offset":849574,"length":174,"previous":"M21-GAP-01518","next":"M21-GAP-01520"},"M21-GAP-01520":{"line":4775,"offset":849748,"length":175,"previous":"M21-GAP-01519","next":"M21-GAP-01521"},"M21-GAP-01521":{"line":4776,"offset":849923,"length":175,"previous":"M21-GAP-01520","next":"M21-GAP-01522"},"M21-GAP-01522":{"line":4777,"offset":850098,"length":175,"previous":"M21-GAP-01521","next":"M21-GAP-01523"},"M21-GAP-01523":{"line":4778,"offset":850273,"length":175,"previous":"M21-GAP-01522","next":"M21-GAP-01524"},"M21-GAP-01524":{"line":4779,"offset":850448,"length":175,"previous":"M21-GAP-01523","next":"M21-GAP-01525"},"M21-GAP-01525":{"line":4780,"offset":850623,"length":175,"previous":"M21-GAP-01524","next":"M21-GAP-01526"},"M21-GAP-01526":{"line":4781,"offset":850798,"length":175,"previous":"M21-GAP-01525","next":"M21-GAP-01527"},"M21-GAP-01527":{"line":4782,"offset":850973,"length":175,"previous":"M21-GAP-01526","next":"M21-GAP-01528"},"M21-GAP-01528":{"line":4783,"offset":851148,"length":175,"previous":"M21-GAP-01527","next":"M21-GAP-01529"},"M21-GAP-01529":{"line":4784,"offset":851323,"length":175,"previous":"M21-GAP-01528","next":"M21-GAP-01530"},"M21-GAP-01530":{"line":4785,"offset":851498,"length":174,"previous":"M21-GAP-01529","next":"M21-GAP-01531"},"M21-GAP-01531":{"line":4786,"offset":851672,"length":175,"previous":"M21-GAP-01530","next":"M21-GAP-01532"},"M21-GAP-01532":{"line":4787,"offset":851847,"length":174,"previous":"M21-GAP-01531","next":"M21-GAP-01533"},"M21-GAP-01533":{"line":4788,"offset":852021,"length":174,"previous":"M21-GAP-01532","next":"M21-GAP-01534"},"M21-GAP-01534":{"line":4789,"offset":852195,"length":174,"previous":"M21-GAP-01533","next":"M21-GAP-01535"},"M21-GAP-01535":{"line":4790,"offset":852369,"length":174,"previous":"M21-GAP-01534","next":"M21-GAP-01536"},"M21-GAP-01536":{"line":4791,"offset":852543,"length":174,"previous":"M21-GAP-01535","next":"M21-GAP-01537"},"M21-GAP-01537":{"line":4792,"offset":852717,"length":174,"previous":"M21-GAP-01536","next":"M21-GAP-01538"},"M21-GAP-01538":{"line":4793,"offset":852891,"length":174,"previous":"M21-GAP-01537","next":"M21-GAP-01539"},"M21-GAP-01539":{"line":4794,"offset":853065,"length":174,"previous":"M21-GAP-01538","next":"M21-GAP-01540"},"M21-GAP-01540":{"line":4795,"offset":853239,"length":174,"previous":"M21-GAP-01539","next":"M21-GAP-01541"},"M21-GAP-01541":{"line":4796,"offset":853413,"length":175,"previous":"M21-GAP-01540","next":"M21-GAP-01542"},"M21-GAP-01542":{"line":4797,"offset":853588,"length":175,"previous":"M21-GAP-01541","next":"M21-GAP-01543"},"M21-GAP-01543":{"line":4798,"offset":853763,"length":175,"previous":"M21-GAP-01542","next":"M21-GAP-01544"},"M21-GAP-01544":{"line":4799,"offset":853938,"length":175,"previous":"M21-GAP-01543","next":"M21-GAP-01545"},"M21-GAP-01545":{"line":4800,"offset":854113,"length":175,"previous":"M21-GAP-01544","next":"M21-GAP-01546"},"M21-GAP-01546":{"line":4801,"offset":854288,"length":175,"previous":"M21-GAP-01545","next":"M21-GAP-01547"},"M21-GAP-01547":{"line":4802,"offset":854463,"length":175,"previous":"M21-GAP-01546","next":"M21-GAP-01548"},"M21-GAP-01548":{"line":4803,"offset":854638,"length":175,"previous":"M21-GAP-01547","next":"M21-GAP-01549"},"M21-GAP-01549":{"line":4804,"offset":854813,"length":175,"previous":"M21-GAP-01548","next":"M21-GAP-01550"},"M21-GAP-01550":{"line":4805,"offset":854988,"length":175,"previous":"M21-GAP-01549","next":"M21-GAP-01551"},"M21-GAP-01551":{"line":4806,"offset":855163,"length":174,"previous":"M21-GAP-01550","next":"M21-GAP-01552"},"M21-GAP-01552":{"line":4807,"offset":855337,"length":175,"previous":"M21-GAP-01551","next":"M21-GAP-01553"},"M21-GAP-01553":{"line":4808,"offset":855512,"length":175,"previous":"M21-GAP-01552","next":"M21-GAP-01554"},"M21-GAP-01554":{"line":4809,"offset":855687,"length":175,"previous":"M21-GAP-01553","next":"M21-GAP-01555"},"M21-GAP-01555":{"line":4810,"offset":855862,"length":175,"previous":"M21-GAP-01554","next":"M21-GAP-01556"},"M21-GAP-01556":{"line":4811,"offset":856037,"length":175,"previous":"M21-GAP-01555","next":"M21-GAP-01557"},"M21-GAP-01557":{"line":4812,"offset":856212,"length":174,"previous":"M21-GAP-01556","next":"M21-GAP-01558"},"M21-GAP-01558":{"line":4813,"offset":856386,"length":174,"previous":"M21-GAP-01557","next":"M21-GAP-01559"},"M21-GAP-01559":{"line":4814,"offset":856560,"length":174,"previous":"M21-GAP-01558","next":"M21-GAP-01560"},"M21-GAP-01560":{"line":4815,"offset":856734,"length":174,"previous":"M21-GAP-01559","next":"M21-GAP-01561"},"M21-GAP-01561":{"line":4816,"offset":856908,"length":174,"previous":"M21-GAP-01560","next":"M21-GAP-01562"},"M21-GAP-01562":{"line":4817,"offset":857082,"length":174,"previous":"M21-GAP-01561","next":"M21-GAP-01563"},"M21-GAP-01563":{"line":4818,"offset":857256,"length":174,"previous":"M21-GAP-01562","next":"M21-GAP-01564"},"M21-GAP-01564":{"line":4819,"offset":857430,"length":179,"previous":"M21-GAP-01563","next":"M21-GAP-01565"},"M21-GAP-01565":{"line":4820,"offset":857609,"length":179,"previous":"M21-GAP-01564","next":"M21-GAP-01566"},"M21-GAP-01566":{"line":4821,"offset":857788,"length":180,"previous":"M21-GAP-01565","next":"M21-GAP-01567"},"M21-GAP-01567":{"line":4822,"offset":857968,"length":180,"previous":"M21-GAP-01566","next":"M21-GAP-01568"},"M21-GAP-01568":{"line":4823,"offset":858148,"length":180,"previous":"M21-GAP-01567","next":"M21-GAP-01569"},"M21-GAP-01569":{"line":4824,"offset":858328,"length":180,"previous":"M21-GAP-01568","next":"M21-GAP-01570"},"M21-GAP-01570":{"line":4825,"offset":858508,"length":180,"previous":"M21-GAP-01569","next":"M21-GAP-01571"},"M21-GAP-01571":{"line":4826,"offset":858688,"length":180,"previous":"M21-GAP-01570","next":"M21-GAP-01572"},"M21-GAP-01572":{"line":4827,"offset":858868,"length":180,"previous":"M21-GAP-01571","next":"M21-GAP-01573"},"M21-GAP-01573":{"line":4828,"offset":859048,"length":180,"previous":"M21-GAP-01572","next":"M21-GAP-01574"},"M21-GAP-01574":{"line":4829,"offset":859228,"length":180,"previous":"M21-GAP-01573","next":"M21-GAP-01575"},"M21-GAP-01575":{"line":4830,"offset":859408,"length":180,"previous":"M21-GAP-01574","next":"M21-GAP-01576"},"M21-GAP-01576":{"line":4831,"offset":859588,"length":179,"previous":"M21-GAP-01575","next":"M21-GAP-01577"},"M21-GAP-01577":{"line":4832,"offset":859767,"length":180,"previous":"M21-GAP-01576","next":"M21-GAP-01578"},"M21-GAP-01578":{"line":4833,"offset":859947,"length":180,"previous":"M21-GAP-01577","next":"M21-GAP-01579"},"M21-GAP-01579":{"line":4834,"offset":860127,"length":180,"previous":"M21-GAP-01578","next":"M21-GAP-01580"},"M21-GAP-01580":{"line":4835,"offset":860307,"length":180,"previous":"M21-GAP-01579","next":"M21-GAP-01581"},"M21-GAP-01581":{"line":4836,"offset":860487,"length":180,"previous":"M21-GAP-01580","next":"M21-GAP-01582"},"M21-GAP-01582":{"line":4837,"offset":860667,"length":180,"previous":"M21-GAP-01581","next":"M21-GAP-01583"},"M21-GAP-01583":{"line":4838,"offset":860847,"length":180,"previous":"M21-GAP-01582","next":"M21-GAP-01584"},"M21-GAP-01584":{"line":4839,"offset":861027,"length":180,"previous":"M21-GAP-01583","next":"M21-GAP-01585"},"M21-GAP-01585":{"line":4840,"offset":861207,"length":180,"previous":"M21-GAP-01584","next":"M21-GAP-01586"},"M21-GAP-01586":{"line":4841,"offset":861387,"length":180,"previous":"M21-GAP-01585","next":"M21-GAP-01587"},"M21-GAP-01587":{"line":4842,"offset":861567,"length":179,"previous":"M21-GAP-01586","next":"M21-GAP-01588"},"M21-GAP-01588":{"line":4843,"offset":861746,"length":180,"previous":"M21-GAP-01587","next":"M21-GAP-01589"},"M21-GAP-01589":{"line":4844,"offset":861926,"length":180,"previous":"M21-GAP-01588","next":"M21-GAP-01590"},"M21-GAP-01590":{"line":4845,"offset":862106,"length":180,"previous":"M21-GAP-01589","next":"M21-GAP-01591"},"M21-GAP-01591":{"line":4846,"offset":862286,"length":180,"previous":"M21-GAP-01590","next":"M21-GAP-01592"},"M21-GAP-01592":{"line":4847,"offset":862466,"length":180,"previous":"M21-GAP-01591","next":"M21-GAP-01593"},"M21-GAP-01593":{"line":4848,"offset":862646,"length":180,"previous":"M21-GAP-01592","next":"M21-GAP-01594"},"M21-GAP-01594":{"line":4849,"offset":862826,"length":180,"previous":"M21-GAP-01593","next":"M21-GAP-01595"},"M21-GAP-01595":{"line":4850,"offset":863006,"length":180,"previous":"M21-GAP-01594","next":"M21-GAP-01596"},"M21-GAP-01596":{"line":4851,"offset":863186,"length":180,"previous":"M21-GAP-01595","next":"M21-GAP-01597"},"M21-GAP-01597":{"line":4852,"offset":863366,"length":180,"previous":"M21-GAP-01596","next":"M21-GAP-01598"},"M21-GAP-01598":{"line":4853,"offset":863546,"length":179,"previous":"M21-GAP-01597","next":"M21-GAP-01599"},"M21-GAP-01599":{"line":4854,"offset":863725,"length":180,"previous":"M21-GAP-01598","next":"M21-GAP-01600"},"M21-GAP-01600":{"line":4855,"offset":863905,"length":180,"previous":"M21-GAP-01599","next":"M21-GAP-01601"},"M21-GAP-01601":{"line":4856,"offset":864085,"length":180,"previous":"M21-GAP-01600","next":"M21-GAP-01602"},"M21-GAP-01602":{"line":4857,"offset":864265,"length":180,"previous":"M21-GAP-01601","next":"M21-GAP-01603"},"M21-GAP-01603":{"line":4858,"offset":864445,"length":180,"previous":"M21-GAP-01602","next":"M21-GAP-01604"},"M21-GAP-01604":{"line":4859,"offset":864625,"length":180,"previous":"M21-GAP-01603","next":"M21-GAP-01605"},"M21-GAP-01605":{"line":4860,"offset":864805,"length":180,"previous":"M21-GAP-01604","next":"M21-GAP-01606"},"M21-GAP-01606":{"line":4861,"offset":864985,"length":180,"previous":"M21-GAP-01605","next":"M21-GAP-01607"},"M21-GAP-01607":{"line":4862,"offset":865165,"length":179,"previous":"M21-GAP-01606","next":"M21-GAP-01608"},"M21-GAP-01608":{"line":4863,"offset":865344,"length":179,"previous":"M21-GAP-01607","next":"M21-GAP-01609"},"M21-GAP-01609":{"line":4864,"offset":865523,"length":179,"previous":"M21-GAP-01608","next":"M21-GAP-01610"},"M21-GAP-01610":{"line":4865,"offset":865702,"length":179,"previous":"M21-GAP-01609","next":"M21-GAP-01611"},"M21-GAP-01611":{"line":4866,"offset":865881,"length":179,"previous":"M21-GAP-01610","next":"M21-GAP-01612"},"M21-GAP-01612":{"line":4867,"offset":866060,"length":188,"previous":"M21-GAP-01611","next":"M21-GAP-01613"},"M21-GAP-01613":{"line":4868,"offset":866248,"length":188,"previous":"M21-GAP-01612","next":"M21-GAP-01614"},"M21-GAP-01614":{"line":4869,"offset":866436,"length":188,"previous":"M21-GAP-01613","next":"M21-GAP-01615"},"M21-GAP-01615":{"line":4870,"offset":866624,"length":188,"previous":"M21-GAP-01614","next":"M21-GAP-01616"},"M21-GAP-01616":{"line":4871,"offset":866812,"length":188,"previous":"M21-GAP-01615","next":"M21-GAP-01617"},"M21-GAP-01617":{"line":4872,"offset":867000,"length":188,"previous":"M21-GAP-01616","next":"M21-GAP-01618"},"M21-GAP-01618":{"line":4873,"offset":867188,"length":171,"previous":"M21-GAP-01617","next":"M21-GAP-01619"},"M21-GAP-01619":{"line":4874,"offset":867359,"length":171,"previous":"M21-GAP-01618","next":"M21-GAP-01620"},"M21-GAP-01620":{"line":4875,"offset":867530,"length":172,"previous":"M21-GAP-01619","next":"M21-GAP-01621"},"M21-GAP-01621":{"line":4876,"offset":867702,"length":172,"previous":"M21-GAP-01620","next":"M21-GAP-01622"},"M21-GAP-01622":{"line":4877,"offset":867874,"length":172,"previous":"M21-GAP-01621","next":"M21-GAP-01623"},"M21-GAP-01623":{"line":4878,"offset":868046,"length":172,"previous":"M21-GAP-01622","next":"M21-GAP-01624"},"M21-GAP-01624":{"line":4879,"offset":868218,"length":172,"previous":"M21-GAP-01623","next":"M21-GAP-01625"},"M21-GAP-01625":{"line":4880,"offset":868390,"length":172,"previous":"M21-GAP-01624","next":"M21-GAP-01626"},"M21-GAP-01626":{"line":4881,"offset":868562,"length":172,"previous":"M21-GAP-01625","next":"M21-GAP-01627"},"M21-GAP-01627":{"line":4882,"offset":868734,"length":172,"previous":"M21-GAP-01626","next":"M21-GAP-01628"},"M21-GAP-01628":{"line":4883,"offset":868906,"length":172,"previous":"M21-GAP-01627","next":"M21-GAP-01629"},"M21-GAP-01629":{"line":4884,"offset":869078,"length":172,"previous":"M21-GAP-01628","next":"M21-GAP-01630"},"M21-GAP-01630":{"line":4885,"offset":869250,"length":171,"previous":"M21-GAP-01629","next":"M21-GAP-01631"},"M21-GAP-01631":{"line":4886,"offset":869421,"length":172,"previous":"M21-GAP-01630","next":"M21-GAP-01632"},"M21-GAP-01632":{"line":4887,"offset":869593,"length":172,"previous":"M21-GAP-01631","next":"M21-GAP-01633"},"M21-GAP-01633":{"line":4888,"offset":869765,"length":172,"previous":"M21-GAP-01632","next":"M21-GAP-01634"},"M21-GAP-01634":{"line":4889,"offset":869937,"length":172,"previous":"M21-GAP-01633","next":"M21-GAP-01635"},"M21-GAP-01635":{"line":4890,"offset":870109,"length":172,"previous":"M21-GAP-01634","next":"M21-GAP-01636"},"M21-GAP-01636":{"line":4891,"offset":870281,"length":172,"previous":"M21-GAP-01635","next":"M21-GAP-01637"},"M21-GAP-01637":{"line":4892,"offset":870453,"length":172,"previous":"M21-GAP-01636","next":"M21-GAP-01638"},"M21-GAP-01638":{"line":4893,"offset":870625,"length":172,"previous":"M21-GAP-01637","next":"M21-GAP-01639"},"M21-GAP-01639":{"line":4894,"offset":870797,"length":172,"previous":"M21-GAP-01638","next":"M21-GAP-01640"},"M21-GAP-01640":{"line":4895,"offset":870969,"length":172,"previous":"M21-GAP-01639","next":"M21-GAP-01641"},"M21-GAP-01641":{"line":4896,"offset":871141,"length":171,"previous":"M21-GAP-01640","next":"M21-GAP-01642"},"M21-GAP-01642":{"line":4897,"offset":871312,"length":172,"previous":"M21-GAP-01641","next":"M21-GAP-01643"},"M21-GAP-01643":{"line":4898,"offset":871484,"length":172,"previous":"M21-GAP-01642","next":"M21-GAP-01644"},"M21-GAP-01644":{"line":4899,"offset":871656,"length":172,"previous":"M21-GAP-01643","next":"M21-GAP-01645"},"M21-GAP-01645":{"line":4900,"offset":871828,"length":172,"previous":"M21-GAP-01644","next":"M21-GAP-01646"},"M21-GAP-01646":{"line":4901,"offset":872000,"length":172,"previous":"M21-GAP-01645","next":"M21-GAP-01647"},"M21-GAP-01647":{"line":4902,"offset":872172,"length":172,"previous":"M21-GAP-01646","next":"M21-GAP-01648"},"M21-GAP-01648":{"line":4903,"offset":872344,"length":172,"previous":"M21-GAP-01647","next":"M21-GAP-01649"},"M21-GAP-01649":{"line":4904,"offset":872516,"length":172,"previous":"M21-GAP-01648","next":"M21-GAP-01650"},"M21-GAP-01650":{"line":4905,"offset":872688,"length":172,"previous":"M21-GAP-01649","next":"M21-GAP-01651"},"M21-GAP-01651":{"line":4906,"offset":872860,"length":172,"previous":"M21-GAP-01650","next":"M21-GAP-01652"},"M21-GAP-01652":{"line":4907,"offset":873032,"length":171,"previous":"M21-GAP-01651","next":"M21-GAP-01653"},"M21-GAP-01653":{"line":4908,"offset":873203,"length":172,"previous":"M21-GAP-01652","next":"M21-GAP-01654"},"M21-GAP-01654":{"line":4909,"offset":873375,"length":172,"previous":"M21-GAP-01653","next":"M21-GAP-01655"},"M21-GAP-01655":{"line":4910,"offset":873547,"length":172,"previous":"M21-GAP-01654","next":"M21-GAP-01656"},"M21-GAP-01656":{"line":4911,"offset":873719,"length":172,"previous":"M21-GAP-01655","next":"M21-GAP-01657"},"M21-GAP-01657":{"line":4912,"offset":873891,"length":172,"previous":"M21-GAP-01656","next":"M21-GAP-01658"},"M21-GAP-01658":{"line":4913,"offset":874063,"length":172,"previous":"M21-GAP-01657","next":"M21-GAP-01659"},"M21-GAP-01659":{"line":4914,"offset":874235,"length":172,"previous":"M21-GAP-01658","next":"M21-GAP-01660"},"M21-GAP-01660":{"line":4915,"offset":874407,"length":172,"previous":"M21-GAP-01659","next":"M21-GAP-01661"},"M21-GAP-01661":{"line":4916,"offset":874579,"length":172,"previous":"M21-GAP-01660","next":"M21-GAP-01662"},"M21-GAP-01662":{"line":4917,"offset":874751,"length":172,"previous":"M21-GAP-01661","next":"M21-GAP-01663"},"M21-GAP-01663":{"line":4918,"offset":874923,"length":171,"previous":"M21-GAP-01662","next":"M21-GAP-01664"},"M21-GAP-01664":{"line":4919,"offset":875094,"length":172,"previous":"M21-GAP-01663","next":"M21-GAP-01665"},"M21-GAP-01665":{"line":4920,"offset":875266,"length":172,"previous":"M21-GAP-01664","next":"M21-GAP-01666"},"M21-GAP-01666":{"line":4921,"offset":875438,"length":172,"previous":"M21-GAP-01665","next":"M21-GAP-01667"},"M21-GAP-01667":{"line":4922,"offset":875610,"length":172,"previous":"M21-GAP-01666","next":"M21-GAP-01668"},"M21-GAP-01668":{"line":4923,"offset":875782,"length":172,"previous":"M21-GAP-01667","next":"M21-GAP-01669"},"M21-GAP-01669":{"line":4924,"offset":875954,"length":172,"previous":"M21-GAP-01668","next":"M21-GAP-01670"},"M21-GAP-01670":{"line":4925,"offset":876126,"length":172,"previous":"M21-GAP-01669","next":"M21-GAP-01671"},"M21-GAP-01671":{"line":4926,"offset":876298,"length":172,"previous":"M21-GAP-01670","next":"M21-GAP-01672"},"M21-GAP-01672":{"line":4927,"offset":876470,"length":172,"previous":"M21-GAP-01671","next":"M21-GAP-01673"},"M21-GAP-01673":{"line":4928,"offset":876642,"length":172,"previous":"M21-GAP-01672","next":"M21-GAP-01674"},"M21-GAP-01674":{"line":4929,"offset":876814,"length":171,"previous":"M21-GAP-01673","next":"M21-GAP-01675"},"M21-GAP-01675":{"line":4930,"offset":876985,"length":172,"previous":"M21-GAP-01674","next":"M21-GAP-01676"},"M21-GAP-01676":{"line":4931,"offset":877157,"length":172,"previous":"M21-GAP-01675","next":"M21-GAP-01677"},"M21-GAP-01677":{"line":4932,"offset":877329,"length":172,"previous":"M21-GAP-01676","next":"M21-GAP-01678"},"M21-GAP-01678":{"line":4933,"offset":877501,"length":172,"previous":"M21-GAP-01677","next":"M21-GAP-01679"},"M21-GAP-01679":{"line":4934,"offset":877673,"length":172,"previous":"M21-GAP-01678","next":"M21-GAP-01680"},"M21-GAP-01680":{"line":4935,"offset":877845,"length":172,"previous":"M21-GAP-01679","next":"M21-GAP-01681"},"M21-GAP-01681":{"line":4936,"offset":878017,"length":172,"previous":"M21-GAP-01680","next":"M21-GAP-01682"},"M21-GAP-01682":{"line":4937,"offset":878189,"length":172,"previous":"M21-GAP-01681","next":"M21-GAP-01683"},"M21-GAP-01683":{"line":4938,"offset":878361,"length":172,"previous":"M21-GAP-01682","next":"M21-GAP-01684"},"M21-GAP-01684":{"line":4939,"offset":878533,"length":172,"previous":"M21-GAP-01683","next":"M21-GAP-01685"},"M21-GAP-01685":{"line":4940,"offset":878705,"length":171,"previous":"M21-GAP-01684","next":"M21-GAP-01686"},"M21-GAP-01686":{"line":4941,"offset":878876,"length":172,"previous":"M21-GAP-01685","next":"M21-GAP-01687"},"M21-GAP-01687":{"line":4942,"offset":879048,"length":172,"previous":"M21-GAP-01686","next":"M21-GAP-01688"},"M21-GAP-01688":{"line":4943,"offset":879220,"length":172,"previous":"M21-GAP-01687","next":"M21-GAP-01689"},"M21-GAP-01689":{"line":4944,"offset":879392,"length":172,"previous":"M21-GAP-01688","next":"M21-GAP-01690"},"M21-GAP-01690":{"line":4945,"offset":879564,"length":172,"previous":"M21-GAP-01689","next":"M21-GAP-01691"},"M21-GAP-01691":{"line":4946,"offset":879736,"length":172,"previous":"M21-GAP-01690","next":"M21-GAP-01692"},"M21-GAP-01692":{"line":4947,"offset":879908,"length":172,"previous":"M21-GAP-01691","next":"M21-GAP-01693"},"M21-GAP-01693":{"line":4948,"offset":880080,"length":172,"previous":"M21-GAP-01692","next":"M21-GAP-01694"},"M21-GAP-01694":{"line":4949,"offset":880252,"length":172,"previous":"M21-GAP-01693","next":"M21-GAP-01695"},"M21-GAP-01695":{"line":4950,"offset":880424,"length":172,"previous":"M21-GAP-01694","next":"M21-GAP-01696"},"M21-GAP-01696":{"line":4951,"offset":880596,"length":171,"previous":"M21-GAP-01695","next":"M21-GAP-01697"},"M21-GAP-01697":{"line":4952,"offset":880767,"length":172,"previous":"M21-GAP-01696","next":"M21-GAP-01698"},"M21-GAP-01698":{"line":4953,"offset":880939,"length":172,"previous":"M21-GAP-01697","next":"M21-GAP-01699"},"M21-GAP-01699":{"line":4954,"offset":881111,"length":172,"previous":"M21-GAP-01698","next":"M21-GAP-01700"},"M21-GAP-01700":{"line":4955,"offset":881283,"length":172,"previous":"M21-GAP-01699","next":"M21-GAP-01701"},"M21-GAP-01701":{"line":4956,"offset":881455,"length":172,"previous":"M21-GAP-01700","next":"M21-GAP-01702"},"M21-GAP-01702":{"line":4957,"offset":881627,"length":172,"previous":"M21-GAP-01701","next":"M21-GAP-01703"},"M21-GAP-01703":{"line":4958,"offset":881799,"length":172,"previous":"M21-GAP-01702","next":"M21-GAP-01704"},"M21-GAP-01704":{"line":4959,"offset":881971,"length":172,"previous":"M21-GAP-01703","next":"M21-GAP-01705"},"M21-GAP-01705":{"line":4960,"offset":882143,"length":172,"previous":"M21-GAP-01704","next":"M21-GAP-01706"},"M21-GAP-01706":{"line":4961,"offset":882315,"length":172,"previous":"M21-GAP-01705","next":"M21-GAP-01707"},"M21-GAP-01707":{"line":4962,"offset":882487,"length":171,"previous":"M21-GAP-01706","next":"M21-GAP-01708"},"M21-GAP-01708":{"line":4963,"offset":882658,"length":172,"previous":"M21-GAP-01707","next":"M21-GAP-01709"},"M21-GAP-01709":{"line":4964,"offset":882830,"length":172,"previous":"M21-GAP-01708","next":"M21-GAP-01710"},"M21-GAP-01710":{"line":4965,"offset":883002,"length":172,"previous":"M21-GAP-01709","next":"M21-GAP-01711"},"M21-GAP-01711":{"line":4966,"offset":883174,"length":175,"previous":"M21-GAP-01710","next":"M21-GAP-01712"},"M21-GAP-01712":{"line":4967,"offset":883349,"length":175,"previous":"M21-GAP-01711","next":"M21-GAP-01713"},"M21-GAP-01713":{"line":4968,"offset":883524,"length":176,"previous":"M21-GAP-01712","next":"M21-GAP-01714"},"M21-GAP-01714":{"line":4969,"offset":883700,"length":176,"previous":"M21-GAP-01713","next":"M21-GAP-01715"},"M21-GAP-01715":{"line":4970,"offset":883876,"length":176,"previous":"M21-GAP-01714","next":"M21-GAP-01716"},"M21-GAP-01716":{"line":4971,"offset":884052,"length":176,"previous":"M21-GAP-01715","next":"M21-GAP-01717"},"M21-GAP-01717":{"line":4972,"offset":884228,"length":176,"previous":"M21-GAP-01716","next":"M21-GAP-01718"},"M21-GAP-01718":{"line":4973,"offset":884404,"length":176,"previous":"M21-GAP-01717","next":"M21-GAP-01719"},"M21-GAP-01719":{"line":4974,"offset":884580,"length":176,"previous":"M21-GAP-01718","next":"M21-GAP-01720"},"M21-GAP-01720":{"line":4975,"offset":884756,"length":176,"previous":"M21-GAP-01719","next":"M21-GAP-01721"},"M21-GAP-01721":{"line":4976,"offset":884932,"length":176,"previous":"M21-GAP-01720","next":"M21-GAP-01722"},"M21-GAP-01722":{"line":4977,"offset":885108,"length":176,"previous":"M21-GAP-01721","next":"M21-GAP-01723"},"M21-GAP-01723":{"line":4978,"offset":885284,"length":175,"previous":"M21-GAP-01722","next":"M21-GAP-01724"},"M21-GAP-01724":{"line":4979,"offset":885459,"length":176,"previous":"M21-GAP-01723","next":"M21-GAP-01725"},"M21-GAP-01725":{"line":4980,"offset":885635,"length":176,"previous":"M21-GAP-01724","next":"M21-GAP-01726"},"M21-GAP-01726":{"line":4981,"offset":885811,"length":175,"previous":"M21-GAP-01725","next":"M21-GAP-01727"},"M21-GAP-01727":{"line":4982,"offset":885986,"length":175,"previous":"M21-GAP-01726","next":"M21-GAP-01728"},"M21-GAP-01728":{"line":4983,"offset":886161,"length":175,"previous":"M21-GAP-01727","next":"M21-GAP-01729"},"M21-GAP-01729":{"line":4984,"offset":886336,"length":175,"previous":"M21-GAP-01728","next":"M21-GAP-01730"},"M21-GAP-01730":{"line":4985,"offset":886511,"length":175,"previous":"M21-GAP-01729","next":"M21-GAP-01731"},"M21-GAP-01731":{"line":4986,"offset":886686,"length":175,"previous":"M21-GAP-01730","next":"M21-GAP-01732"},"M21-GAP-01732":{"line":4987,"offset":886861,"length":175,"previous":"M21-GAP-01731","next":"M21-GAP-01733"},"M21-GAP-01733":{"line":4988,"offset":887036,"length":182,"previous":"M21-GAP-01732","next":"M21-GAP-01734"},"M21-GAP-01734":{"line":4989,"offset":887218,"length":182,"previous":"M21-GAP-01733","next":"M21-GAP-01735"},"M21-GAP-01735":{"line":4990,"offset":887400,"length":183,"previous":"M21-GAP-01734","next":"M21-GAP-01736"},"M21-GAP-01736":{"line":4991,"offset":887583,"length":183,"previous":"M21-GAP-01735","next":"M21-GAP-01737"},"M21-GAP-01737":{"line":4992,"offset":887766,"length":183,"previous":"M21-GAP-01736","next":"M21-GAP-01738"},"M21-GAP-01738":{"line":4993,"offset":887949,"length":183,"previous":"M21-GAP-01737","next":"M21-GAP-01739"},"M21-GAP-01739":{"line":4994,"offset":888132,"length":183,"previous":"M21-GAP-01738","next":"M21-GAP-01740"},"M21-GAP-01740":{"line":4995,"offset":888315,"length":183,"previous":"M21-GAP-01739","next":"M21-GAP-01741"},"M21-GAP-01741":{"line":4996,"offset":888498,"length":183,"previous":"M21-GAP-01740","next":"M21-GAP-01742"},"M21-GAP-01742":{"line":4997,"offset":888681,"length":183,"previous":"M21-GAP-01741","next":"M21-GAP-01743"},"M21-GAP-01743":{"line":4998,"offset":888864,"length":183,"previous":"M21-GAP-01742","next":"M21-GAP-01744"},"M21-GAP-01744":{"line":4999,"offset":889047,"length":183,"previous":"M21-GAP-01743","next":"M21-GAP-01745"},"M21-GAP-01745":{"line":5000,"offset":889230,"length":182,"previous":"M21-GAP-01744","next":"M21-GAP-01746"},"M21-GAP-01746":{"line":5001,"offset":889412,"length":183,"previous":"M21-GAP-01745","next":"M21-GAP-01747"},"M21-GAP-01747":{"line":5002,"offset":889595,"length":183,"previous":"M21-GAP-01746","next":"M21-GAP-01748"},"M21-GAP-01748":{"line":5003,"offset":889778,"length":183,"previous":"M21-GAP-01747","next":"M21-GAP-01749"},"M21-GAP-01749":{"line":5004,"offset":889961,"length":183,"previous":"M21-GAP-01748","next":"M21-GAP-01750"},"M21-GAP-01750":{"line":5005,"offset":890144,"length":183,"previous":"M21-GAP-01749","next":"M21-GAP-01751"},"M21-GAP-01751":{"line":5006,"offset":890327,"length":183,"previous":"M21-GAP-01750","next":"M21-GAP-01752"},"M21-GAP-01752":{"line":5007,"offset":890510,"length":183,"previous":"M21-GAP-01751","next":"M21-GAP-01753"},"M21-GAP-01753":{"line":5008,"offset":890693,"length":183,"previous":"M21-GAP-01752","next":"M21-GAP-01754"},"M21-GAP-01754":{"line":5009,"offset":890876,"length":183,"previous":"M21-GAP-01753","next":"M21-GAP-01755"},"M21-GAP-01755":{"line":5010,"offset":891059,"length":183,"previous":"M21-GAP-01754","next":"M21-GAP-01756"},"M21-GAP-01756":{"line":5011,"offset":891242,"length":182,"previous":"M21-GAP-01755","next":"M21-GAP-01757"},"M21-GAP-01757":{"line":5012,"offset":891424,"length":183,"previous":"M21-GAP-01756","next":"M21-GAP-01758"},"M21-GAP-01758":{"line":5013,"offset":891607,"length":183,"previous":"M21-GAP-01757","next":"M21-GAP-01759"},"M21-GAP-01759":{"line":5014,"offset":891790,"length":183,"previous":"M21-GAP-01758","next":"M21-GAP-01760"},"M21-GAP-01760":{"line":5015,"offset":891973,"length":183,"previous":"M21-GAP-01759","next":"M21-GAP-01761"},"M21-GAP-01761":{"line":5016,"offset":892156,"length":183,"previous":"M21-GAP-01760","next":"M21-GAP-01762"},"M21-GAP-01762":{"line":5017,"offset":892339,"length":183,"previous":"M21-GAP-01761","next":"M21-GAP-01763"},"M21-GAP-01763":{"line":5018,"offset":892522,"length":183,"previous":"M21-GAP-01762","next":"M21-GAP-01764"},"M21-GAP-01764":{"line":5019,"offset":892705,"length":183,"previous":"M21-GAP-01763","next":"M21-GAP-01765"},"M21-GAP-01765":{"line":5020,"offset":892888,"length":183,"previous":"M21-GAP-01764","next":"M21-GAP-01766"},"M21-GAP-01766":{"line":5021,"offset":893071,"length":183,"previous":"M21-GAP-01765","next":"M21-GAP-01767"},"M21-GAP-01767":{"line":5022,"offset":893254,"length":182,"previous":"M21-GAP-01766","next":"M21-GAP-01768"},"M21-GAP-01768":{"line":5023,"offset":893436,"length":183,"previous":"M21-GAP-01767","next":"M21-GAP-01769"},"M21-GAP-01769":{"line":5024,"offset":893619,"length":183,"previous":"M21-GAP-01768","next":"M21-GAP-01770"},"M21-GAP-01770":{"line":5025,"offset":893802,"length":183,"previous":"M21-GAP-01769","next":"M21-GAP-01771"},"M21-GAP-01771":{"line":5026,"offset":893985,"length":183,"previous":"M21-GAP-01770","next":"M21-GAP-01772"},"M21-GAP-01772":{"line":5027,"offset":894168,"length":183,"previous":"M21-GAP-01771","next":"M21-GAP-01773"},"M21-GAP-01773":{"line":5028,"offset":894351,"length":183,"previous":"M21-GAP-01772","next":"M21-GAP-01774"},"M21-GAP-01774":{"line":5029,"offset":894534,"length":183,"previous":"M21-GAP-01773","next":"M21-GAP-01775"},"M21-GAP-01775":{"line":5030,"offset":894717,"length":183,"previous":"M21-GAP-01774","next":"M21-GAP-01776"},"M21-GAP-01776":{"line":5031,"offset":894900,"length":183,"previous":"M21-GAP-01775","next":"M21-GAP-01777"},"M21-GAP-01777":{"line":5032,"offset":895083,"length":182,"previous":"M21-GAP-01776","next":"M21-GAP-01778"},"M21-GAP-01778":{"line":5033,"offset":895265,"length":182,"previous":"M21-GAP-01777","next":"M21-GAP-01779"},"M21-GAP-01779":{"line":5034,"offset":895447,"length":182,"previous":"M21-GAP-01778","next":"M21-GAP-01780"},"M21-GAP-01780":{"line":5035,"offset":895629,"length":182,"previous":"M21-GAP-01779","next":"M21-GAP-01781"},"M21-GAP-01781":{"line":5036,"offset":895811,"length":182,"previous":"M21-GAP-01780","next":"M21-GAP-01782"},"M21-GAP-01782":{"line":5037,"offset":895993,"length":183,"previous":"M21-GAP-01781","next":"M21-GAP-01783"},"M21-GAP-01783":{"line":5038,"offset":896176,"length":183,"previous":"M21-GAP-01782","next":"M21-GAP-01784"},"M21-GAP-01784":{"line":5039,"offset":896359,"length":183,"previous":"M21-GAP-01783","next":"M21-GAP-01785"},"M21-GAP-01785":{"line":5040,"offset":896542,"length":183,"previous":"M21-GAP-01784","next":"M21-GAP-01786"},"M21-GAP-01786":{"line":5041,"offset":896725,"length":183,"previous":"M21-GAP-01785","next":"M21-GAP-01787"},"M21-GAP-01787":{"line":5042,"offset":896908,"length":183,"previous":"M21-GAP-01786","next":"M21-GAP-01788"},"M21-GAP-01788":{"line":5043,"offset":897091,"length":182,"previous":"M21-GAP-01787","next":"M21-GAP-01789"},"M21-GAP-01789":{"line":5044,"offset":897273,"length":182,"previous":"M21-GAP-01788","next":"M21-GAP-01790"},"M21-GAP-01790":{"line":5045,"offset":897455,"length":182,"previous":"M21-GAP-01789","next":"M21-GAP-01791"},"M21-GAP-01791":{"line":5046,"offset":897637,"length":182,"previous":"M21-GAP-01790","next":"M21-GAP-01792"},"M21-GAP-01792":{"line":5047,"offset":897819,"length":182,"previous":"M21-GAP-01791","next":"M21-GAP-01793"},"M21-GAP-01793":{"line":5048,"offset":898001,"length":182,"previous":"M21-GAP-01792","next":"M21-GAP-01794"},"M21-GAP-01794":{"line":5049,"offset":898183,"length":182,"previous":"M21-GAP-01793","next":"M21-GAP-01795"},"M21-GAP-01795":{"line":5050,"offset":898365,"length":182,"previous":"M21-GAP-01794","next":"M21-GAP-01796"},"M21-GAP-01796":{"line":5051,"offset":898547,"length":184,"previous":"M21-GAP-01795","next":"M21-GAP-01797"},"M21-GAP-01797":{"line":5052,"offset":898731,"length":184,"previous":"M21-GAP-01796","next":"M21-GAP-01798"},"M21-GAP-01798":{"line":5053,"offset":898915,"length":185,"previous":"M21-GAP-01797","next":"M21-GAP-01799"},"M21-GAP-01799":{"line":5054,"offset":899100,"length":186,"previous":"M21-GAP-01798","next":"M21-GAP-01800"},"M21-GAP-01800":{"line":5055,"offset":899286,"length":186,"previous":"M21-GAP-01799","next":"M21-GAP-01801"},"M21-GAP-01801":{"line":5056,"offset":899472,"length":186,"previous":"M21-GAP-01800","next":"M21-GAP-01802"},"M21-GAP-01802":{"line":5057,"offset":899658,"length":186,"previous":"M21-GAP-01801","next":"M21-GAP-01803"},"M21-GAP-01803":{"line":5058,"offset":899844,"length":185,"previous":"M21-GAP-01802","next":"M21-GAP-01804"},"M21-GAP-01804":{"line":5059,"offset":900029,"length":185,"previous":"M21-GAP-01803","next":"M21-GAP-01805"},"M21-GAP-01805":{"line":5060,"offset":900214,"length":185,"previous":"M21-GAP-01804","next":"M21-GAP-01806"},"M21-GAP-01806":{"line":5061,"offset":900399,"length":185,"previous":"M21-GAP-01805","next":"M21-GAP-01807"},"M21-GAP-01807":{"line":5062,"offset":900584,"length":185,"previous":"M21-GAP-01806","next":"M21-GAP-01808"},"M21-GAP-01808":{"line":5063,"offset":900769,"length":185,"previous":"M21-GAP-01807","next":"M21-GAP-01809"},"M21-GAP-01809":{"line":5064,"offset":900954,"length":185,"previous":"M21-GAP-01808","next":"M21-GAP-01810"},"M21-GAP-01810":{"line":5065,"offset":901139,"length":185,"previous":"M21-GAP-01809","next":"M21-GAP-01811"},"M21-GAP-01811":{"line":5066,"offset":901324,"length":185,"previous":"M21-GAP-01810","next":"M21-GAP-01812"},"M21-GAP-01812":{"line":5067,"offset":901509,"length":184,"previous":"M21-GAP-01811","next":"M21-GAP-01813"},"M21-GAP-01813":{"line":5068,"offset":901693,"length":185,"previous":"M21-GAP-01812","next":"M21-GAP-01814"},"M21-GAP-01814":{"line":5069,"offset":901878,"length":185,"previous":"M21-GAP-01813","next":"M21-GAP-01815"},"M21-GAP-01815":{"line":5070,"offset":902063,"length":185,"previous":"M21-GAP-01814","next":"M21-GAP-01816"},"M21-GAP-01816":{"line":5071,"offset":902248,"length":185,"previous":"M21-GAP-01815","next":"M21-GAP-01817"},"M21-GAP-01817":{"line":5072,"offset":902433,"length":185,"previous":"M21-GAP-01816","next":"M21-GAP-01818"},"M21-GAP-01818":{"line":5073,"offset":902618,"length":185,"previous":"M21-GAP-01817","next":"M21-GAP-01819"},"M21-GAP-01819":{"line":5074,"offset":902803,"length":185,"previous":"M21-GAP-01818","next":"M21-GAP-01820"},"M21-GAP-01820":{"line":5075,"offset":902988,"length":185,"previous":"M21-GAP-01819","next":"M21-GAP-01821"},"M21-GAP-01821":{"line":5076,"offset":903173,"length":185,"previous":"M21-GAP-01820","next":"M21-GAP-01822"},"M21-GAP-01822":{"line":5077,"offset":903358,"length":185,"previous":"M21-GAP-01821","next":"M21-GAP-01823"},"M21-GAP-01823":{"line":5078,"offset":903543,"length":184,"previous":"M21-GAP-01822","next":"M21-GAP-01824"},"M21-GAP-01824":{"line":5079,"offset":903727,"length":185,"previous":"M21-GAP-01823","next":"M21-GAP-01825"},"M21-GAP-01825":{"line":5080,"offset":903912,"length":185,"previous":"M21-GAP-01824","next":"M21-GAP-01826"},"M21-GAP-01826":{"line":5081,"offset":904097,"length":185,"previous":"M21-GAP-01825","next":"M21-GAP-01827"},"M21-GAP-01827":{"line":5082,"offset":904282,"length":185,"previous":"M21-GAP-01826","next":"M21-GAP-01828"},"M21-GAP-01828":{"line":5083,"offset":904467,"length":185,"previous":"M21-GAP-01827","next":"M21-GAP-01829"},"M21-GAP-01829":{"line":5084,"offset":904652,"length":185,"previous":"M21-GAP-01828","next":"M21-GAP-01830"},"M21-GAP-01830":{"line":5085,"offset":904837,"length":185,"previous":"M21-GAP-01829","next":"M21-GAP-01831"},"M21-GAP-01831":{"line":5086,"offset":905022,"length":185,"previous":"M21-GAP-01830","next":"M21-GAP-01832"},"M21-GAP-01832":{"line":5087,"offset":905207,"length":185,"previous":"M21-GAP-01831","next":"M21-GAP-01833"},"M21-GAP-01833":{"line":5088,"offset":905392,"length":185,"previous":"M21-GAP-01832","next":"M21-GAP-01834"},"M21-GAP-01834":{"line":5089,"offset":905577,"length":184,"previous":"M21-GAP-01833","next":"M21-GAP-01835"},"M21-GAP-01835":{"line":5090,"offset":905761,"length":185,"previous":"M21-GAP-01834","next":"M21-GAP-01836"},"M21-GAP-01836":{"line":5091,"offset":905946,"length":185,"previous":"M21-GAP-01835","next":"M21-GAP-01837"},"M21-GAP-01837":{"line":5092,"offset":906131,"length":185,"previous":"M21-GAP-01836","next":"M21-GAP-01838"},"M21-GAP-01838":{"line":5093,"offset":906316,"length":185,"previous":"M21-GAP-01837","next":"M21-GAP-01839"},"M21-GAP-01839":{"line":5094,"offset":906501,"length":185,"previous":"M21-GAP-01838","next":"M21-GAP-01840"},"M21-GAP-01840":{"line":5095,"offset":906686,"length":185,"previous":"M21-GAP-01839","next":"M21-GAP-01841"},"M21-GAP-01841":{"line":5096,"offset":906871,"length":185,"previous":"M21-GAP-01840","next":"M21-GAP-01842"},"M21-GAP-01842":{"line":5097,"offset":907056,"length":185,"previous":"M21-GAP-01841","next":"M21-GAP-01843"},"M21-GAP-01843":{"line":5098,"offset":907241,"length":185,"previous":"M21-GAP-01842","next":"M21-GAP-01844"},"M21-GAP-01844":{"line":5099,"offset":907426,"length":185,"previous":"M21-GAP-01843","next":"M21-GAP-01845"},"M21-GAP-01845":{"line":5100,"offset":907611,"length":184,"previous":"M21-GAP-01844","next":"M21-GAP-01846"},"M21-GAP-01846":{"line":5101,"offset":907795,"length":185,"previous":"M21-GAP-01845","next":"M21-GAP-01847"},"M21-GAP-01847":{"line":5102,"offset":907980,"length":185,"previous":"M21-GAP-01846","next":"M21-GAP-01848"},"M21-GAP-01848":{"line":5103,"offset":908165,"length":185,"previous":"M21-GAP-01847","next":"M21-GAP-01849"},"M21-GAP-01849":{"line":5104,"offset":908350,"length":185,"previous":"M21-GAP-01848","next":"M21-GAP-01850"},"M21-GAP-01850":{"line":5105,"offset":908535,"length":185,"previous":"M21-GAP-01849","next":"M21-GAP-01851"},"M21-GAP-01851":{"line":5106,"offset":908720,"length":185,"previous":"M21-GAP-01850","next":"M21-GAP-01852"},"M21-GAP-01852":{"line":5107,"offset":908905,"length":185,"previous":"M21-GAP-01851","next":"M21-GAP-01853"},"M21-GAP-01853":{"line":5108,"offset":909090,"length":185,"previous":"M21-GAP-01852","next":"M21-GAP-01854"},"M21-GAP-01854":{"line":5109,"offset":909275,"length":185,"previous":"M21-GAP-01853","next":"M21-GAP-01855"},"M21-GAP-01855":{"line":5110,"offset":909460,"length":185,"previous":"M21-GAP-01854","next":"M21-GAP-01856"},"M21-GAP-01856":{"line":5111,"offset":909645,"length":184,"previous":"M21-GAP-01855","next":"M21-GAP-01857"},"M21-GAP-01857":{"line":5112,"offset":909829,"length":185,"previous":"M21-GAP-01856","next":"M21-GAP-01858"},"M21-GAP-01858":{"line":5113,"offset":910014,"length":185,"previous":"M21-GAP-01857","next":"M21-GAP-01859"},"M21-GAP-01859":{"line":5114,"offset":910199,"length":185,"previous":"M21-GAP-01858","next":"M21-GAP-01860"},"M21-GAP-01860":{"line":5115,"offset":910384,"length":185,"previous":"M21-GAP-01859","next":"M21-GAP-01861"},"M21-GAP-01861":{"line":5116,"offset":910569,"length":185,"previous":"M21-GAP-01860","next":"M21-GAP-01862"},"M21-GAP-01862":{"line":5117,"offset":910754,"length":185,"previous":"M21-GAP-01861","next":"M21-GAP-01863"},"M21-GAP-01863":{"line":5118,"offset":910939,"length":185,"previous":"M21-GAP-01862","next":"M21-GAP-01864"},"M21-GAP-01864":{"line":5119,"offset":911124,"length":185,"previous":"M21-GAP-01863","next":"M21-GAP-01865"},"M21-GAP-01865":{"line":5120,"offset":911309,"length":185,"previous":"M21-GAP-01864","next":"M21-GAP-01866"},"M21-GAP-01866":{"line":5121,"offset":911494,"length":185,"previous":"M21-GAP-01865","next":"M21-GAP-01867"},"M21-GAP-01867":{"line":5122,"offset":911679,"length":184,"previous":"M21-GAP-01866","next":"M21-GAP-01868"},"M21-GAP-01868":{"line":5123,"offset":911863,"length":185,"previous":"M21-GAP-01867","next":"M21-GAP-01869"},"M21-GAP-01869":{"line":5124,"offset":912048,"length":185,"previous":"M21-GAP-01868","next":"M21-GAP-01870"},"M21-GAP-01870":{"line":5125,"offset":912233,"length":185,"previous":"M21-GAP-01869","next":"M21-GAP-01871"},"M21-GAP-01871":{"line":5126,"offset":912418,"length":185,"previous":"M21-GAP-01870","next":"M21-GAP-01872"},"M21-GAP-01872":{"line":5127,"offset":912603,"length":185,"previous":"M21-GAP-01871","next":"M21-GAP-01873"},"M21-GAP-01873":{"line":5128,"offset":912788,"length":185,"previous":"M21-GAP-01872","next":"M21-GAP-01874"},"M21-GAP-01874":{"line":5129,"offset":912973,"length":185,"previous":"M21-GAP-01873","next":"M21-GAP-01875"},"M21-GAP-01875":{"line":5130,"offset":913158,"length":185,"previous":"M21-GAP-01874","next":"M21-GAP-01876"},"M21-GAP-01876":{"line":5131,"offset":913343,"length":185,"previous":"M21-GAP-01875","next":"M21-GAP-01877"},"M21-GAP-01877":{"line":5132,"offset":913528,"length":185,"previous":"M21-GAP-01876","next":"M21-GAP-01878"},"M21-GAP-01878":{"line":5133,"offset":913713,"length":184,"previous":"M21-GAP-01877","next":"M21-GAP-01879"},"M21-GAP-01879":{"line":5134,"offset":913897,"length":185,"previous":"M21-GAP-01878","next":"M21-GAP-01880"},"M21-GAP-01880":{"line":5135,"offset":914082,"length":185,"previous":"M21-GAP-01879","next":"M21-GAP-01881"},"M21-GAP-01881":{"line":5136,"offset":914267,"length":185,"previous":"M21-GAP-01880","next":"M21-GAP-01882"},"M21-GAP-01882":{"line":5137,"offset":914452,"length":185,"previous":"M21-GAP-01881","next":"M21-GAP-01883"},"M21-GAP-01883":{"line":5138,"offset":914637,"length":185,"previous":"M21-GAP-01882","next":"M21-GAP-01884"},"M21-GAP-01884":{"line":5139,"offset":914822,"length":185,"previous":"M21-GAP-01883","next":"M21-GAP-01885"},"M21-GAP-01885":{"line":5140,"offset":915007,"length":185,"previous":"M21-GAP-01884","next":"M21-GAP-01886"},"M21-GAP-01886":{"line":5141,"offset":915192,"length":185,"previous":"M21-GAP-01885","next":"M21-GAP-01887"},"M21-GAP-01887":{"line":5142,"offset":915377,"length":185,"previous":"M21-GAP-01886","next":"M21-GAP-01888"},"M21-GAP-01888":{"line":5143,"offset":915562,"length":185,"previous":"M21-GAP-01887","next":"M21-GAP-01889"},"M21-GAP-01889":{"line":5144,"offset":915747,"length":184,"previous":"M21-GAP-01888","next":"M21-GAP-01890"},"M21-GAP-01890":{"line":5145,"offset":915931,"length":185,"previous":"M21-GAP-01889","next":"M21-GAP-01891"},"M21-GAP-01891":{"line":5146,"offset":916116,"length":185,"previous":"M21-GAP-01890","next":"M21-GAP-01892"},"M21-GAP-01892":{"line":5147,"offset":916301,"length":185,"previous":"M21-GAP-01891","next":"M21-GAP-01893"},"M21-GAP-01893":{"line":5148,"offset":916486,"length":185,"previous":"M21-GAP-01892","next":"M21-GAP-01894"},"M21-GAP-01894":{"line":5149,"offset":916671,"length":185,"previous":"M21-GAP-01893","next":"M21-GAP-01895"},"M21-GAP-01895":{"line":5150,"offset":916856,"length":185,"previous":"M21-GAP-01894","next":"M21-GAP-01896"},"M21-GAP-01896":{"line":5151,"offset":917041,"length":185,"previous":"M21-GAP-01895","next":"M21-GAP-01897"},"M21-GAP-01897":{"line":5152,"offset":917226,"length":185,"previous":"M21-GAP-01896","next":"M21-GAP-01898"},"M21-GAP-01898":{"line":5153,"offset":917411,"length":185,"previous":"M21-GAP-01897","next":"M21-GAP-01899"},"M21-GAP-01899":{"line":5154,"offset":917596,"length":185,"previous":"M21-GAP-01898","next":"M21-GAP-01900"},"M21-GAP-01900":{"line":5155,"offset":917781,"length":185,"previous":"M21-GAP-01899","next":"M21-GAP-01901"},"M21-GAP-01901":{"line":5156,"offset":917966,"length":185,"previous":"M21-GAP-01900","next":"M21-GAP-01902"},"M21-GAP-01902":{"line":5157,"offset":918151,"length":186,"previous":"M21-GAP-01901","next":"M21-GAP-01903"},"M21-GAP-01903":{"line":5158,"offset":918337,"length":186,"previous":"M21-GAP-01902","next":"M21-GAP-01904"},"M21-GAP-01904":{"line":5159,"offset":918523,"length":186,"previous":"M21-GAP-01903","next":"M21-GAP-01905"},"M21-GAP-01905":{"line":5160,"offset":918709,"length":186,"previous":"M21-GAP-01904","next":"M21-GAP-01906"},"M21-GAP-01906":{"line":5161,"offset":918895,"length":186,"previous":"M21-GAP-01905","next":"M21-GAP-01907"},"M21-GAP-01907":{"line":5162,"offset":919081,"length":186,"previous":"M21-GAP-01906","next":"M21-GAP-01908"},"M21-GAP-01908":{"line":5163,"offset":919267,"length":188,"previous":"M21-GAP-01907","next":"M21-GAP-01909"},"M21-GAP-01909":{"line":5164,"offset":919455,"length":188,"previous":"M21-GAP-01908","next":"M21-GAP-01910"},"M21-GAP-01910":{"line":5165,"offset":919643,"length":188,"previous":"M21-GAP-01909","next":"M21-GAP-01911"},"M21-GAP-01911":{"line":5166,"offset":919831,"length":188,"previous":"M21-GAP-01910","next":"M21-GAP-01912"},"M21-GAP-01912":{"line":5167,"offset":920019,"length":188,"previous":"M21-GAP-01911","next":"M21-GAP-01913"},"M21-GAP-01913":{"line":5168,"offset":920207,"length":188,"previous":"M21-GAP-01912","next":"M21-GAP-01914"},"M21-GAP-01914":{"line":5169,"offset":920395,"length":188,"previous":"M21-GAP-01913","next":"M21-GAP-01915"},"M21-GAP-01915":{"line":5170,"offset":920583,"length":195,"previous":"M21-GAP-01914","next":"M21-GAP-01916"},"M21-GAP-01916":{"line":5171,"offset":920778,"length":193,"previous":"M21-GAP-01915","next":"M21-GAP-01917"},"M21-GAP-01917":{"line":5172,"offset":920971,"length":194,"previous":"M21-GAP-01916","next":"M21-GAP-01918"},"M21-GAP-01918":{"line":5173,"offset":921165,"length":205,"previous":"M21-GAP-01917","next":"M21-GAP-01919"},"M21-GAP-01919":{"line":5174,"offset":921370,"length":205,"previous":"M21-GAP-01918","next":"M21-GAP-01920"},"M21-GAP-01920":{"line":5175,"offset":921575,"length":206,"previous":"M21-GAP-01919","next":"M21-GAP-01921"},"M21-GAP-01921":{"line":5176,"offset":921781,"length":206,"previous":"M21-GAP-01920","next":"M21-GAP-01922"},"M21-GAP-01922":{"line":5177,"offset":921987,"length":205,"previous":"M21-GAP-01921","next":"M21-GAP-01923"},"M21-GAP-01923":{"line":5178,"offset":922192,"length":205,"previous":"M21-GAP-01922","next":"M21-GAP-01924"},"M21-GAP-01924":{"line":5179,"offset":922397,"length":205,"previous":"M21-GAP-01923","next":"M21-GAP-01925"},"M21-GAP-01925":{"line":5180,"offset":922602,"length":205,"previous":"M21-GAP-01924","next":"M21-GAP-01926"},"M21-GAP-01926":{"line":5181,"offset":922807,"length":205,"previous":"M21-GAP-01925","next":"M21-GAP-01927"},"M21-GAP-01927":{"line":5182,"offset":923012,"length":205,"previous":"M21-GAP-01926","next":"M21-GAP-01928"},"M21-GAP-01928":{"line":5183,"offset":923217,"length":205,"previous":"M21-GAP-01927","next":"M21-GAP-01929"},"M21-GAP-01929":{"line":5184,"offset":923422,"length":205,"previous":"M21-GAP-01928","next":"M21-GAP-01930"},"M21-GAP-01930":{"line":5185,"offset":923627,"length":194,"previous":"M21-GAP-01929","next":"M21-GAP-01931"},"M21-GAP-01931":{"line":5186,"offset":923821,"length":194,"previous":"M21-GAP-01930","next":"M21-GAP-01932"},"M21-GAP-01932":{"line":5187,"offset":924015,"length":195,"previous":"M21-GAP-01931","next":"M21-GAP-01933"},"M21-GAP-01933":{"line":5188,"offset":924210,"length":195,"previous":"M21-GAP-01932","next":"M21-GAP-01934"},"M21-GAP-01934":{"line":5189,"offset":924405,"length":194,"previous":"M21-GAP-01933","next":"M21-GAP-01935"},"M21-GAP-01935":{"line":5190,"offset":924599,"length":194,"previous":"M21-GAP-01934","next":"M21-GAP-01936"},"M21-GAP-01936":{"line":5191,"offset":924793,"length":194,"previous":"M21-GAP-01935","next":"M21-GAP-01937"},"M21-GAP-01937":{"line":5192,"offset":924987,"length":194,"previous":"M21-GAP-01936","next":"M21-GAP-01938"},"M21-GAP-01938":{"line":5193,"offset":925181,"length":194,"previous":"M21-GAP-01937","next":"M21-GAP-01939"},"M21-GAP-01939":{"line":5194,"offset":925375,"length":194,"previous":"M21-GAP-01938","next":"M21-GAP-01940"},"M21-GAP-01940":{"line":5195,"offset":925569,"length":194,"previous":"M21-GAP-01939","next":"M21-GAP-01941"},"M21-GAP-01941":{"line":5196,"offset":925763,"length":194,"previous":"M21-GAP-01940","next":"M21-GAP-01942"},"M21-GAP-01942":{"line":5197,"offset":925957,"length":208,"previous":"M21-GAP-01941","next":"M21-GAP-01943"},"M21-GAP-01943":{"line":5198,"offset":926165,"length":208,"previous":"M21-GAP-01942","next":"M21-GAP-01944"},"M21-GAP-01944":{"line":5199,"offset":926373,"length":208,"previous":"M21-GAP-01943","next":"M21-GAP-01945"},"M21-GAP-01945":{"line":5200,"offset":926581,"length":197,"previous":"M21-GAP-01944","next":"M21-GAP-01946"},"M21-GAP-01946":{"line":5201,"offset":926778,"length":197,"previous":"M21-GAP-01945","next":"M21-GAP-01947"},"M21-GAP-01947":{"line":5202,"offset":926975,"length":197,"previous":"M21-GAP-01946","next":"M21-GAP-01948"},"M21-GAP-01948":{"line":5203,"offset":927172,"length":207,"previous":"M21-GAP-01947","next":"M21-GAP-01949"},"M21-GAP-01949":{"line":5204,"offset":927379,"length":207,"previous":"M21-GAP-01948","next":"M21-GAP-01950"},"M21-GAP-01950":{"line":5205,"offset":927586,"length":207,"previous":"M21-GAP-01949","next":"M21-GAP-01951"},"M21-GAP-01951":{"line":5206,"offset":927793,"length":196,"previous":"M21-GAP-01950","next":"M21-GAP-01952"},"M21-GAP-01952":{"line":5207,"offset":927989,"length":196,"previous":"M21-GAP-01951","next":"M21-GAP-01953"},"M21-GAP-01953":{"line":5208,"offset":928185,"length":196,"previous":"M21-GAP-01952","next":"M21-GAP-01954"},"M21-GAP-01954":{"line":5209,"offset":928381,"length":200,"previous":"M21-GAP-01953","next":"M21-GAP-01955"},"M21-GAP-01955":{"line":5210,"offset":928581,"length":200,"previous":"M21-GAP-01954","next":"M21-GAP-01956"},"M21-GAP-01956":{"line":5211,"offset":928781,"length":200,"previous":"M21-GAP-01955","next":"M21-GAP-01957"},"M21-GAP-01957":{"line":5212,"offset":928981,"length":200,"previous":"M21-GAP-01956","next":"M21-GAP-01958"},"M21-GAP-01958":{"line":5213,"offset":929181,"length":200,"previous":"M21-GAP-01957","next":"M21-GAP-01959"},"M21-GAP-01959":{"line":5214,"offset":929381,"length":200,"previous":"M21-GAP-01958","next":"M21-GAP-01960"},"M21-GAP-01960":{"line":5215,"offset":929581,"length":200,"previous":"M21-GAP-01959","next":"M21-GAP-01961"},"M21-GAP-01961":{"line":5216,"offset":929781,"length":200,"previous":"M21-GAP-01960","next":"M21-GAP-01962"},"M21-GAP-01962":{"line":5217,"offset":929981,"length":200,"previous":"M21-GAP-01961","next":"M21-GAP-01963"},"M21-GAP-01963":{"line":5218,"offset":930181,"length":189,"previous":"M21-GAP-01962","next":"M21-GAP-01964"},"M21-GAP-01964":{"line":5219,"offset":930370,"length":189,"previous":"M21-GAP-01963","next":"M21-GAP-01965"},"M21-GAP-01965":{"line":5220,"offset":930559,"length":189,"previous":"M21-GAP-01964","next":"M21-GAP-01966"},"M21-GAP-01966":{"line":5221,"offset":930748,"length":189,"previous":"M21-GAP-01965","next":"M21-GAP-01967"},"M21-GAP-01967":{"line":5222,"offset":930937,"length":189,"previous":"M21-GAP-01966","next":"M21-GAP-01968"},"M21-GAP-01968":{"line":5223,"offset":931126,"length":189,"previous":"M21-GAP-01967","next":"M21-GAP-01969"},"M21-GAP-01969":{"line":5224,"offset":931315,"length":189,"previous":"M21-GAP-01968","next":"M21-GAP-01970"},"M21-GAP-01970":{"line":5225,"offset":931504,"length":189,"previous":"M21-GAP-01969","next":"M21-GAP-01971"},"M21-GAP-01971":{"line":5226,"offset":931693,"length":189,"previous":"M21-GAP-01970","next":"M21-GAP-01972"},"M21-GAP-01972":{"line":5227,"offset":931882,"length":178,"previous":"M21-GAP-01971","next":"M21-GAP-01973"},"M21-GAP-01973":{"line":5228,"offset":932060,"length":178,"previous":"M21-GAP-01972","next":"M21-GAP-01974"},"M21-GAP-01974":{"line":5229,"offset":932238,"length":179,"previous":"M21-GAP-01973","next":"M21-GAP-01975"},"M21-GAP-01975":{"line":5230,"offset":932417,"length":179,"previous":"M21-GAP-01974","next":"M21-GAP-01976"},"M21-GAP-01976":{"line":5231,"offset":932596,"length":179,"previous":"M21-GAP-01975","next":"M21-GAP-01977"},"M21-GAP-01977":{"line":5232,"offset":932775,"length":179,"previous":"M21-GAP-01976","next":"M21-GAP-01978"},"M21-GAP-01978":{"line":5233,"offset":932954,"length":179,"previous":"M21-GAP-01977","next":"M21-GAP-01979"},"M21-GAP-01979":{"line":5234,"offset":933133,"length":179,"previous":"M21-GAP-01978","next":"M21-GAP-01980"},"M21-GAP-01980":{"line":5235,"offset":933312,"length":179,"previous":"M21-GAP-01979","next":"M21-GAP-01981"},"M21-GAP-01981":{"line":5236,"offset":933491,"length":179,"previous":"M21-GAP-01980","next":"M21-GAP-01982"},"M21-GAP-01982":{"line":5237,"offset":933670,"length":179,"previous":"M21-GAP-01981","next":"M21-GAP-01983"},"M21-GAP-01983":{"line":5238,"offset":933849,"length":179,"previous":"M21-GAP-01982","next":"M21-GAP-01984"},"M21-GAP-01984":{"line":5239,"offset":934028,"length":178,"previous":"M21-GAP-01983","next":"M21-GAP-01985"},"M21-GAP-01985":{"line":5240,"offset":934206,"length":179,"previous":"M21-GAP-01984","next":"M21-GAP-01986"},"M21-GAP-01986":{"line":5241,"offset":934385,"length":179,"previous":"M21-GAP-01985","next":"M21-GAP-01987"},"M21-GAP-01987":{"line":5242,"offset":934564,"length":179,"previous":"M21-GAP-01986","next":"M21-GAP-01988"},"M21-GAP-01988":{"line":5243,"offset":934743,"length":179,"previous":"M21-GAP-01987","next":"M21-GAP-01989"},"M21-GAP-01989":{"line":5244,"offset":934922,"length":179,"previous":"M21-GAP-01988","next":"M21-GAP-01990"},"M21-GAP-01990":{"line":5245,"offset":935101,"length":179,"previous":"M21-GAP-01989","next":"M21-GAP-01991"},"M21-GAP-01991":{"line":5246,"offset":935280,"length":179,"previous":"M21-GAP-01990","next":"M21-GAP-01992"},"M21-GAP-01992":{"line":5247,"offset":935459,"length":179,"previous":"M21-GAP-01991","next":"M21-GAP-01993"},"M21-GAP-01993":{"line":5248,"offset":935638,"length":179,"previous":"M21-GAP-01992","next":"M21-GAP-01994"},"M21-GAP-01994":{"line":5249,"offset":935817,"length":179,"previous":"M21-GAP-01993","next":"M21-GAP-01995"},"M21-GAP-01995":{"line":5250,"offset":935996,"length":178,"previous":"M21-GAP-01994","next":"M21-GAP-01996"},"M21-GAP-01996":{"line":5251,"offset":936174,"length":179,"previous":"M21-GAP-01995","next":"M21-GAP-01997"},"M21-GAP-01997":{"line":5252,"offset":936353,"length":179,"previous":"M21-GAP-01996","next":"M21-GAP-01998"},"M21-GAP-01998":{"line":5253,"offset":936532,"length":179,"previous":"M21-GAP-01997","next":"M21-GAP-01999"},"M21-GAP-01999":{"line":5254,"offset":936711,"length":179,"previous":"M21-GAP-01998","next":"M21-GAP-02000"},"M21-GAP-02000":{"line":5255,"offset":936890,"length":179,"previous":"M21-GAP-01999","next":"M21-GAP-02001"},"M21-GAP-02001":{"line":5256,"offset":937069,"length":179,"previous":"M21-GAP-02000","next":"M21-GAP-02002"},"M21-GAP-02002":{"line":5257,"offset":937248,"length":179,"previous":"M21-GAP-02001","next":"M21-GAP-02003"},"M21-GAP-02003":{"line":5258,"offset":937427,"length":179,"previous":"M21-GAP-02002","next":"M21-GAP-02004"},"M21-GAP-02004":{"line":5259,"offset":937606,"length":179,"previous":"M21-GAP-02003","next":"M21-GAP-02005"},"M21-GAP-02005":{"line":5260,"offset":937785,"length":179,"previous":"M21-GAP-02004","next":"M21-GAP-02006"},"M21-GAP-02006":{"line":5261,"offset":937964,"length":178,"previous":"M21-GAP-02005","next":"M21-GAP-02007"},"M21-GAP-02007":{"line":5262,"offset":938142,"length":179,"previous":"M21-GAP-02006","next":"M21-GAP-02008"},"M21-GAP-02008":{"line":5263,"offset":938321,"length":179,"previous":"M21-GAP-02007","next":"M21-GAP-02009"},"M21-GAP-02009":{"line":5264,"offset":938500,"length":179,"previous":"M21-GAP-02008","next":"M21-GAP-02010"},"M21-GAP-02010":{"line":5265,"offset":938679,"length":179,"previous":"M21-GAP-02009","next":"M21-GAP-02011"},"M21-GAP-02011":{"line":5266,"offset":938858,"length":179,"previous":"M21-GAP-02010","next":"M21-GAP-02012"},"M21-GAP-02012":{"line":5267,"offset":939037,"length":179,"previous":"M21-GAP-02011","next":"M21-GAP-02013"},"M21-GAP-02013":{"line":5268,"offset":939216,"length":179,"previous":"M21-GAP-02012","next":"M21-GAP-02014"},"M21-GAP-02014":{"line":5269,"offset":939395,"length":179,"previous":"M21-GAP-02013","next":"M21-GAP-02015"},"M21-GAP-02015":{"line":5270,"offset":939574,"length":179,"previous":"M21-GAP-02014","next":"M21-GAP-02016"},"M21-GAP-02016":{"line":5271,"offset":939753,"length":179,"previous":"M21-GAP-02015","next":"M21-GAP-02017"},"M21-GAP-02017":{"line":5272,"offset":939932,"length":178,"previous":"M21-GAP-02016","next":"M21-GAP-02018"},"M21-GAP-02018":{"line":5273,"offset":940110,"length":179,"previous":"M21-GAP-02017","next":"M21-GAP-02019"},"M21-GAP-02019":{"line":5274,"offset":940289,"length":179,"previous":"M21-GAP-02018","next":"M21-GAP-02020"},"M21-GAP-02020":{"line":5275,"offset":940468,"length":179,"previous":"M21-GAP-02019","next":"M21-GAP-02021"},"M21-GAP-02021":{"line":5276,"offset":940647,"length":179,"previous":"M21-GAP-02020","next":"M21-GAP-02022"},"M21-GAP-02022":{"line":5277,"offset":940826,"length":179,"previous":"M21-GAP-02021","next":"M21-GAP-02023"},"M21-GAP-02023":{"line":5278,"offset":941005,"length":179,"previous":"M21-GAP-02022","next":"M21-GAP-02024"},"M21-GAP-02024":{"line":5279,"offset":941184,"length":179,"previous":"M21-GAP-02023","next":"M21-GAP-02025"},"M21-GAP-02025":{"line":5280,"offset":941363,"length":179,"previous":"M21-GAP-02024","next":"M21-GAP-02026"},"M21-GAP-02026":{"line":5281,"offset":941542,"length":179,"previous":"M21-GAP-02025","next":"M21-GAP-02027"},"M21-GAP-02027":{"line":5282,"offset":941721,"length":178,"previous":"M21-GAP-02026","next":"M21-GAP-02028"},"M21-GAP-02028":{"line":5283,"offset":941899,"length":178,"previous":"M21-GAP-02027","next":"M21-GAP-02029"},"M21-GAP-02029":{"line":5284,"offset":942077,"length":178,"previous":"M21-GAP-02028","next":"M21-GAP-02030"},"M21-GAP-02030":{"line":5285,"offset":942255,"length":178,"previous":"M21-GAP-02029","next":"M21-GAP-02031"},"M21-GAP-02031":{"line":5286,"offset":942433,"length":183,"previous":"M21-GAP-02030","next":"M21-GAP-02032"},"M21-GAP-02032":{"line":5287,"offset":942616,"length":183,"previous":"M21-GAP-02031","next":"M21-GAP-02033"},"M21-GAP-02033":{"line":5288,"offset":942799,"length":183,"previous":"M21-GAP-02032","next":"M21-GAP-02034"},"M21-GAP-02034":{"line":5289,"offset":942982,"length":178,"previous":"M21-GAP-02033","next":"M21-GAP-02035"},"M21-GAP-02035":{"line":5290,"offset":943160,"length":178,"previous":"M21-GAP-02034","next":"M21-GAP-02036"},"M21-GAP-02036":{"line":5291,"offset":943338,"length":179,"previous":"M21-GAP-02035","next":"M21-GAP-02037"},"M21-GAP-02037":{"line":5292,"offset":943517,"length":180,"previous":"M21-GAP-02036","next":"M21-GAP-02038"},"M21-GAP-02038":{"line":5293,"offset":943697,"length":180,"previous":"M21-GAP-02037","next":"M21-GAP-02039"},"M21-GAP-02039":{"line":5294,"offset":943877,"length":180,"previous":"M21-GAP-02038","next":"M21-GAP-02040"},"M21-GAP-02040":{"line":5295,"offset":944057,"length":179,"previous":"M21-GAP-02039","next":"M21-GAP-02041"},"M21-GAP-02041":{"line":5296,"offset":944236,"length":179,"previous":"M21-GAP-02040","next":"M21-GAP-02042"},"M21-GAP-02042":{"line":5297,"offset":944415,"length":179,"previous":"M21-GAP-02041","next":"M21-GAP-02043"},"M21-GAP-02043":{"line":5298,"offset":944594,"length":179,"previous":"M21-GAP-02042","next":"M21-GAP-02044"},"M21-GAP-02044":{"line":5299,"offset":944773,"length":179,"previous":"M21-GAP-02043","next":"M21-GAP-02045"},"M21-GAP-02045":{"line":5300,"offset":944952,"length":179,"previous":"M21-GAP-02044","next":"M21-GAP-02046"},"M21-GAP-02046":{"line":5301,"offset":945131,"length":179,"previous":"M21-GAP-02045","next":"M21-GAP-02047"},"M21-GAP-02047":{"line":5302,"offset":945310,"length":179,"previous":"M21-GAP-02046","next":"M21-GAP-02048"},"M21-GAP-02048":{"line":5303,"offset":945489,"length":179,"previous":"M21-GAP-02047","next":"M21-GAP-02049"},"M21-GAP-02049":{"line":5304,"offset":945668,"length":178,"previous":"M21-GAP-02048","next":"M21-GAP-02050"},"M21-GAP-02050":{"line":5305,"offset":945846,"length":179,"previous":"M21-GAP-02049","next":"M21-GAP-02051"},"M21-GAP-02051":{"line":5306,"offset":946025,"length":179,"previous":"M21-GAP-02050","next":"M21-GAP-02052"},"M21-GAP-02052":{"line":5307,"offset":946204,"length":179,"previous":"M21-GAP-02051","next":"M21-GAP-02053"},"M21-GAP-02053":{"line":5308,"offset":946383,"length":179,"previous":"M21-GAP-02052","next":"M21-GAP-02054"},"M21-GAP-02054":{"line":5309,"offset":946562,"length":179,"previous":"M21-GAP-02053","next":"M21-GAP-02055"},"M21-GAP-02055":{"line":5310,"offset":946741,"length":179,"previous":"M21-GAP-02054","next":"M21-GAP-02056"},"M21-GAP-02056":{"line":5311,"offset":946920,"length":179,"previous":"M21-GAP-02055","next":"M21-GAP-02057"},"M21-GAP-02057":{"line":5312,"offset":947099,"length":179,"previous":"M21-GAP-02056","next":"M21-GAP-02058"},"M21-GAP-02058":{"line":5313,"offset":947278,"length":179,"previous":"M21-GAP-02057","next":"M21-GAP-02059"},"M21-GAP-02059":{"line":5314,"offset":947457,"length":179,"previous":"M21-GAP-02058","next":"M21-GAP-02060"},"M21-GAP-02060":{"line":5315,"offset":947636,"length":178,"previous":"M21-GAP-02059","next":"M21-GAP-02061"},"M21-GAP-02061":{"line":5316,"offset":947814,"length":179,"previous":"M21-GAP-02060","next":"M21-GAP-02062"},"M21-GAP-02062":{"line":5317,"offset":947993,"length":179,"previous":"M21-GAP-02061","next":"M21-GAP-02063"},"M21-GAP-02063":{"line":5318,"offset":948172,"length":179,"previous":"M21-GAP-02062","next":"M21-GAP-02064"},"M21-GAP-02064":{"line":5319,"offset":948351,"length":179,"previous":"M21-GAP-02063","next":"M21-GAP-02065"},"M21-GAP-02065":{"line":5320,"offset":948530,"length":179,"previous":"M21-GAP-02064","next":"M21-GAP-02066"},"M21-GAP-02066":{"line":5321,"offset":948709,"length":179,"previous":"M21-GAP-02065","next":"M21-GAP-02067"},"M21-GAP-02067":{"line":5322,"offset":948888,"length":179,"previous":"M21-GAP-02066","next":"M21-GAP-02068"},"M21-GAP-02068":{"line":5323,"offset":949067,"length":179,"previous":"M21-GAP-02067","next":"M21-GAP-02069"},"M21-GAP-02069":{"line":5324,"offset":949246,"length":179,"previous":"M21-GAP-02068","next":"M21-GAP-02070"},"M21-GAP-02070":{"line":5325,"offset":949425,"length":179,"previous":"M21-GAP-02069","next":"M21-GAP-02071"},"M21-GAP-02071":{"line":5326,"offset":949604,"length":178,"previous":"M21-GAP-02070","next":"M21-GAP-02072"},"M21-GAP-02072":{"line":5327,"offset":949782,"length":179,"previous":"M21-GAP-02071","next":"M21-GAP-02073"},"M21-GAP-02073":{"line":5328,"offset":949961,"length":179,"previous":"M21-GAP-02072","next":"M21-GAP-02074"},"M21-GAP-02074":{"line":5329,"offset":950140,"length":179,"previous":"M21-GAP-02073","next":"M21-GAP-02075"},"M21-GAP-02075":{"line":5330,"offset":950319,"length":179,"previous":"M21-GAP-02074","next":"M21-GAP-02076"},"M21-GAP-02076":{"line":5331,"offset":950498,"length":179,"previous":"M21-GAP-02075","next":"M21-GAP-02077"},"M21-GAP-02077":{"line":5332,"offset":950677,"length":179,"previous":"M21-GAP-02076","next":"M21-GAP-02078"},"M21-GAP-02078":{"line":5333,"offset":950856,"length":179,"previous":"M21-GAP-02077","next":"M21-GAP-02079"},"M21-GAP-02079":{"line":5334,"offset":951035,"length":179,"previous":"M21-GAP-02078","next":"M21-GAP-02080"},"M21-GAP-02080":{"line":5335,"offset":951214,"length":179,"previous":"M21-GAP-02079","next":"M21-GAP-02081"},"M21-GAP-02081":{"line":5336,"offset":951393,"length":179,"previous":"M21-GAP-02080","next":"M21-GAP-02082"},"M21-GAP-02082":{"line":5337,"offset":951572,"length":178,"previous":"M21-GAP-02081","next":"M21-GAP-02083"},"M21-GAP-02083":{"line":5338,"offset":951750,"length":179,"previous":"M21-GAP-02082","next":"M21-GAP-02084"},"M21-GAP-02084":{"line":5339,"offset":951929,"length":179,"previous":"M21-GAP-02083","next":"M21-GAP-02085"},"M21-GAP-02085":{"line":5340,"offset":952108,"length":179,"previous":"M21-GAP-02084","next":"M21-GAP-02086"},"M21-GAP-02086":{"line":5341,"offset":952287,"length":179,"previous":"M21-GAP-02085","next":"M21-GAP-02087"},"M21-GAP-02087":{"line":5342,"offset":952466,"length":179,"previous":"M21-GAP-02086","next":"M21-GAP-02088"},"M21-GAP-02088":{"line":5343,"offset":952645,"length":179,"previous":"M21-GAP-02087","next":"M21-GAP-02089"},"M21-GAP-02089":{"line":5344,"offset":952824,"length":179,"previous":"M21-GAP-02088","next":"M21-GAP-02090"},"M21-GAP-02090":{"line":5345,"offset":953003,"length":179,"previous":"M21-GAP-02089","next":"M21-GAP-02091"},"M21-GAP-02091":{"line":5346,"offset":953182,"length":179,"previous":"M21-GAP-02090","next":"M21-GAP-02092"},"M21-GAP-02092":{"line":5347,"offset":953361,"length":179,"previous":"M21-GAP-02091","next":"M21-GAP-02093"},"M21-GAP-02093":{"line":5348,"offset":953540,"length":178,"previous":"M21-GAP-02092","next":"M21-GAP-02094"},"M21-GAP-02094":{"line":5349,"offset":953718,"length":179,"previous":"M21-GAP-02093","next":"M21-GAP-02095"},"M21-GAP-02095":{"line":5350,"offset":953897,"length":179,"previous":"M21-GAP-02094","next":"M21-GAP-02096"},"M21-GAP-02096":{"line":5351,"offset":954076,"length":179,"previous":"M21-GAP-02095","next":"M21-GAP-02097"},"M21-GAP-02097":{"line":5352,"offset":954255,"length":179,"previous":"M21-GAP-02096","next":"M21-GAP-02098"},"M21-GAP-02098":{"line":5353,"offset":954434,"length":179,"previous":"M21-GAP-02097","next":"M21-GAP-02099"},"M21-GAP-02099":{"line":5354,"offset":954613,"length":179,"previous":"M21-GAP-02098","next":"M21-GAP-02100"},"M21-GAP-02100":{"line":5355,"offset":954792,"length":179,"previous":"M21-GAP-02099","next":"M21-GAP-02101"},"M21-GAP-02101":{"line":5356,"offset":954971,"length":179,"previous":"M21-GAP-02100","next":"M21-GAP-02102"},"M21-GAP-02102":{"line":5357,"offset":955150,"length":179,"previous":"M21-GAP-02101","next":"M21-GAP-02103"},"M21-GAP-02103":{"line":5358,"offset":955329,"length":179,"previous":"M21-GAP-02102","next":"M21-GAP-02104"},"M21-GAP-02104":{"line":5359,"offset":955508,"length":178,"previous":"M21-GAP-02103","next":"M21-GAP-02105"},"M21-GAP-02105":{"line":5360,"offset":955686,"length":179,"previous":"M21-GAP-02104","next":"M21-GAP-02106"},"M21-GAP-02106":{"line":5361,"offset":955865,"length":179,"previous":"M21-GAP-02105","next":"M21-GAP-02107"},"M21-GAP-02107":{"line":5362,"offset":956044,"length":179,"previous":"M21-GAP-02106","next":"M21-GAP-02108"},"M21-GAP-02108":{"line":5363,"offset":956223,"length":179,"previous":"M21-GAP-02107","next":"M21-GAP-02109"},"M21-GAP-02109":{"line":5364,"offset":956402,"length":179,"previous":"M21-GAP-02108","next":"M21-GAP-02110"},"M21-GAP-02110":{"line":5365,"offset":956581,"length":179,"previous":"M21-GAP-02109","next":"M21-GAP-02111"},"M21-GAP-02111":{"line":5366,"offset":956760,"length":179,"previous":"M21-GAP-02110","next":"M21-GAP-02112"},"M21-GAP-02112":{"line":5367,"offset":956939,"length":179,"previous":"M21-GAP-02111","next":"M21-GAP-02113"},"M21-GAP-02113":{"line":5368,"offset":957118,"length":179,"previous":"M21-GAP-02112","next":"M21-GAP-02114"},"M21-GAP-02114":{"line":5369,"offset":957297,"length":179,"previous":"M21-GAP-02113","next":"M21-GAP-02115"},"M21-GAP-02115":{"line":5370,"offset":957476,"length":178,"previous":"M21-GAP-02114","next":"M21-GAP-02116"},"M21-GAP-02116":{"line":5371,"offset":957654,"length":179,"previous":"M21-GAP-02115","next":"M21-GAP-02117"},"M21-GAP-02117":{"line":5372,"offset":957833,"length":179,"previous":"M21-GAP-02116","next":"M21-GAP-02118"},"M21-GAP-02118":{"line":5373,"offset":958012,"length":179,"previous":"M21-GAP-02117","next":"M21-GAP-02119"},"M21-GAP-02119":{"line":5374,"offset":958191,"length":179,"previous":"M21-GAP-02118","next":"M21-GAP-02120"},"M21-GAP-02120":{"line":5375,"offset":958370,"length":179,"previous":"M21-GAP-02119","next":"M21-GAP-02121"},"M21-GAP-02121":{"line":5376,"offset":958549,"length":179,"previous":"M21-GAP-02120","next":"M21-GAP-02122"},"M21-GAP-02122":{"line":5377,"offset":958728,"length":179,"previous":"M21-GAP-02121","next":"M21-GAP-02123"},"M21-GAP-02123":{"line":5378,"offset":958907,"length":179,"previous":"M21-GAP-02122","next":"M21-GAP-02124"},"M21-GAP-02124":{"line":5379,"offset":959086,"length":179,"previous":"M21-GAP-02123","next":"M21-GAP-02125"},"M21-GAP-02125":{"line":5380,"offset":959265,"length":179,"previous":"M21-GAP-02124","next":"M21-GAP-02126"},"M21-GAP-02126":{"line":5381,"offset":959444,"length":178,"previous":"M21-GAP-02125","next":"M21-GAP-02127"},"M21-GAP-02127":{"line":5382,"offset":959622,"length":179,"previous":"M21-GAP-02126","next":"M21-GAP-02128"},"M21-GAP-02128":{"line":5383,"offset":959801,"length":179,"previous":"M21-GAP-02127","next":"M21-GAP-02129"},"M21-GAP-02129":{"line":5384,"offset":959980,"length":179,"previous":"M21-GAP-02128","next":"M21-GAP-02130"},"M21-GAP-02130":{"line":5385,"offset":960159,"length":179,"previous":"M21-GAP-02129","next":"M21-GAP-02131"},"M21-GAP-02131":{"line":5386,"offset":960338,"length":179,"previous":"M21-GAP-02130","next":"M21-GAP-02132"},"M21-GAP-02132":{"line":5387,"offset":960517,"length":179,"previous":"M21-GAP-02131","next":"M21-GAP-02133"},"M21-GAP-02133":{"line":5388,"offset":960696,"length":179,"previous":"M21-GAP-02132","next":"M21-GAP-02134"},"M21-GAP-02134":{"line":5389,"offset":960875,"length":179,"previous":"M21-GAP-02133","next":"M21-GAP-02135"},"M21-GAP-02135":{"line":5390,"offset":961054,"length":179,"previous":"M21-GAP-02134","next":"M21-GAP-02136"},"M21-GAP-02136":{"line":5391,"offset":961233,"length":179,"previous":"M21-GAP-02135","next":"M21-GAP-02137"},"M21-GAP-02137":{"line":5392,"offset":961412,"length":178,"previous":"M21-GAP-02136","next":"M21-GAP-02138"},"M21-GAP-02138":{"line":5393,"offset":961590,"length":178,"previous":"M21-GAP-02137","next":"M21-GAP-02139"},"M21-GAP-02139":{"line":5394,"offset":961768,"length":179,"previous":"M21-GAP-02138","next":"M21-GAP-02140"},"M21-GAP-02140":{"line":5395,"offset":961947,"length":179,"previous":"M21-GAP-02139","next":"M21-GAP-02141"},"M21-GAP-02141":{"line":5396,"offset":962126,"length":179,"previous":"M21-GAP-02140","next":"M21-GAP-02142"},"M21-GAP-02142":{"line":5397,"offset":962305,"length":179,"previous":"M21-GAP-02141","next":"M21-GAP-02143"},"M21-GAP-02143":{"line":5398,"offset":962484,"length":179,"previous":"M21-GAP-02142","next":"M21-GAP-02144"},"M21-GAP-02144":{"line":5399,"offset":962663,"length":178,"previous":"M21-GAP-02143","next":"M21-GAP-02145"},"M21-GAP-02145":{"line":5400,"offset":962841,"length":178,"previous":"M21-GAP-02144","next":"M21-GAP-02146"},"M21-GAP-02146":{"line":5401,"offset":963019,"length":178,"previous":"M21-GAP-02145","next":"M21-GAP-02147"},"M21-GAP-02147":{"line":5402,"offset":963197,"length":178,"previous":"M21-GAP-02146","next":"M21-GAP-02148"},"M21-GAP-02148":{"line":5403,"offset":963375,"length":178,"previous":"M21-GAP-02147","next":"M21-GAP-02149"},"M21-GAP-02149":{"line":5404,"offset":963553,"length":178,"previous":"M21-GAP-02148","next":"M21-GAP-02150"},"M21-GAP-02150":{"line":5405,"offset":963731,"length":178,"previous":"M21-GAP-02149","next":"M21-GAP-02151"},"M21-GAP-02151":{"line":5406,"offset":963909,"length":178,"previous":"M21-GAP-02150","next":"M21-GAP-02152"},"M21-GAP-02152":{"line":5407,"offset":964087,"length":208,"previous":"M21-GAP-02151","next":"M21-GAP-02153"},"M21-GAP-02153":{"line":5408,"offset":964295,"length":208,"previous":"M21-GAP-02152","next":"M21-GAP-02154"},"M21-GAP-02154":{"line":5409,"offset":964503,"length":209,"previous":"M21-GAP-02153","next":"M21-GAP-02155"},"M21-GAP-02155":{"line":5410,"offset":964712,"length":209,"previous":"M21-GAP-02154","next":"M21-GAP-02156"},"M21-GAP-02156":{"line":5411,"offset":964921,"length":209,"previous":"M21-GAP-02155","next":"M21-GAP-02157"},"M21-GAP-02157":{"line":5412,"offset":965130,"length":209,"previous":"M21-GAP-02156","next":"M21-GAP-02158"},"M21-GAP-02158":{"line":5413,"offset":965339,"length":208,"previous":"M21-GAP-02157","next":"M21-GAP-02159"},"M21-GAP-02159":{"line":5414,"offset":965547,"length":208,"previous":"M21-GAP-02158","next":"M21-GAP-02160"},"M21-GAP-02160":{"line":5415,"offset":965755,"length":208,"previous":"M21-GAP-02159","next":"M21-GAP-02161"},"M21-GAP-02161":{"line":5416,"offset":965963,"length":208,"previous":"M21-GAP-02160","next":"M21-GAP-02162"},"M21-GAP-02162":{"line":5417,"offset":966171,"length":208,"previous":"M21-GAP-02161","next":"M21-GAP-02163"},"M21-GAP-02163":{"line":5418,"offset":966379,"length":208,"previous":"M21-GAP-02162","next":"M21-GAP-02164"},"M21-GAP-02164":{"line":5419,"offset":966587,"length":208,"previous":"M21-GAP-02163","next":"M21-GAP-02165"},"M21-GAP-02165":{"line":5420,"offset":966795,"length":208,"previous":"M21-GAP-02164","next":"M21-GAP-02166"},"M21-GAP-02166":{"line":5421,"offset":967003,"length":185,"previous":"M21-GAP-02165","next":"M21-GAP-02167"},"M21-GAP-02167":{"line":5422,"offset":967188,"length":206,"previous":"M21-GAP-02166","next":"M21-GAP-02168"},"M21-GAP-02168":{"line":5423,"offset":967394,"length":206,"previous":"M21-GAP-02167","next":"M21-GAP-02169"},"M21-GAP-02169":{"line":5424,"offset":967600,"length":207,"previous":"M21-GAP-02168","next":"M21-GAP-02170"},"M21-GAP-02170":{"line":5425,"offset":967807,"length":207,"previous":"M21-GAP-02169","next":"M21-GAP-02171"},"M21-GAP-02171":{"line":5426,"offset":968014,"length":207,"previous":"M21-GAP-02170","next":"M21-GAP-02172"},"M21-GAP-02172":{"line":5427,"offset":968221,"length":207,"previous":"M21-GAP-02171","next":"M21-GAP-02173"},"M21-GAP-02173":{"line":5428,"offset":968428,"length":207,"previous":"M21-GAP-02172","next":"M21-GAP-02174"},"M21-GAP-02174":{"line":5429,"offset":968635,"length":207,"previous":"M21-GAP-02173","next":"M21-GAP-02175"},"M21-GAP-02175":{"line":5430,"offset":968842,"length":206,"previous":"M21-GAP-02174","next":"M21-GAP-02176"},"M21-GAP-02176":{"line":5431,"offset":969048,"length":206,"previous":"M21-GAP-02175","next":"M21-GAP-02177"},"M21-GAP-02177":{"line":5432,"offset":969254,"length":206,"previous":"M21-GAP-02176","next":"M21-GAP-02178"},"M21-GAP-02178":{"line":5433,"offset":969460,"length":206,"previous":"M21-GAP-02177","next":"M21-GAP-02179"},"M21-GAP-02179":{"line":5434,"offset":969666,"length":206,"previous":"M21-GAP-02178","next":"M21-GAP-02180"},"M21-GAP-02180":{"line":5435,"offset":969872,"length":206,"previous":"M21-GAP-02179","next":"M21-GAP-02181"},"M21-GAP-02181":{"line":5436,"offset":970078,"length":206,"previous":"M21-GAP-02180","next":"M21-GAP-02182"},"M21-GAP-02182":{"line":5437,"offset":970284,"length":206,"previous":"M21-GAP-02181","next":"M21-GAP-02183"},"M21-GAP-02183":{"line":5438,"offset":970490,"length":175,"previous":"M21-GAP-02182","next":"M21-GAP-02184"},"M21-GAP-02184":{"line":5439,"offset":970665,"length":175,"previous":"M21-GAP-02183","next":"M21-GAP-02185"},"M21-GAP-02185":{"line":5440,"offset":970840,"length":176,"previous":"M21-GAP-02184","next":"M21-GAP-02186"},"M21-GAP-02186":{"line":5441,"offset":971016,"length":176,"previous":"M21-GAP-02185","next":"M21-GAP-02187"},"M21-GAP-02187":{"line":5442,"offset":971192,"length":176,"previous":"M21-GAP-02186","next":"M21-GAP-02188"},"M21-GAP-02188":{"line":5443,"offset":971368,"length":176,"previous":"M21-GAP-02187","next":"M21-GAP-02189"},"M21-GAP-02189":{"line":5444,"offset":971544,"length":176,"previous":"M21-GAP-02188","next":"M21-GAP-02190"},"M21-GAP-02190":{"line":5445,"offset":971720,"length":176,"previous":"M21-GAP-02189","next":"M21-GAP-02191"},"M21-GAP-02191":{"line":5446,"offset":971896,"length":176,"previous":"M21-GAP-02190","next":"M21-GAP-02192"},"M21-GAP-02192":{"line":5447,"offset":972072,"length":176,"previous":"M21-GAP-02191","next":"M21-GAP-02193"},"M21-GAP-02193":{"line":5448,"offset":972248,"length":176,"previous":"M21-GAP-02192","next":"M21-GAP-02194"},"M21-GAP-02194":{"line":5449,"offset":972424,"length":176,"previous":"M21-GAP-02193","next":"M21-GAP-02195"},"M21-GAP-02195":{"line":5450,"offset":972600,"length":175,"previous":"M21-GAP-02194","next":"M21-GAP-02196"},"M21-GAP-02196":{"line":5451,"offset":972775,"length":176,"previous":"M21-GAP-02195","next":"M21-GAP-02197"},"M21-GAP-02197":{"line":5452,"offset":972951,"length":176,"previous":"M21-GAP-02196","next":"M21-GAP-02198"},"M21-GAP-02198":{"line":5453,"offset":973127,"length":176,"previous":"M21-GAP-02197","next":"M21-GAP-02199"},"M21-GAP-02199":{"line":5454,"offset":973303,"length":176,"previous":"M21-GAP-02198","next":"M21-GAP-02200"},"M21-GAP-02200":{"line":5455,"offset":973479,"length":176,"previous":"M21-GAP-02199","next":"M21-GAP-02201"},"M21-GAP-02201":{"line":5456,"offset":973655,"length":176,"previous":"M21-GAP-02200","next":"M21-GAP-02202"},"M21-GAP-02202":{"line":5457,"offset":973831,"length":176,"previous":"M21-GAP-02201","next":"M21-GAP-02203"},"M21-GAP-02203":{"line":5458,"offset":974007,"length":176,"previous":"M21-GAP-02202","next":"M21-GAP-02204"},"M21-GAP-02204":{"line":5459,"offset":974183,"length":176,"previous":"M21-GAP-02203","next":"M21-GAP-02205"},"M21-GAP-02205":{"line":5460,"offset":974359,"length":176,"previous":"M21-GAP-02204","next":"M21-GAP-02206"},"M21-GAP-02206":{"line":5461,"offset":974535,"length":175,"previous":"M21-GAP-02205","next":"M21-GAP-02207"},"M21-GAP-02207":{"line":5462,"offset":974710,"length":175,"previous":"M21-GAP-02206","next":"M21-GAP-02208"},"M21-GAP-02208":{"line":5463,"offset":974885,"length":175,"previous":"M21-GAP-02207","next":"M21-GAP-02209"},"M21-GAP-02209":{"line":5464,"offset":975060,"length":175,"previous":"M21-GAP-02208","next":"M21-GAP-02210"},"M21-GAP-02210":{"line":5465,"offset":975235,"length":175,"previous":"M21-GAP-02209","next":"M21-GAP-02211"},"M21-GAP-02211":{"line":5466,"offset":975410,"length":175,"previous":"M21-GAP-02210","next":"M21-GAP-02212"},"M21-GAP-02212":{"line":5467,"offset":975585,"length":175,"previous":"M21-GAP-02211","next":"M21-GAP-02213"},"M21-GAP-02213":{"line":5468,"offset":975760,"length":185,"previous":"M21-GAP-02212","next":"M21-GAP-02214"},"M21-GAP-02214":{"line":5469,"offset":975945,"length":185,"previous":"M21-GAP-02213","next":"M21-GAP-02215"},"M21-GAP-02215":{"line":5470,"offset":976130,"length":185,"previous":"M21-GAP-02214","next":"M21-GAP-02216"},"M21-GAP-02216":{"line":5471,"offset":976315,"length":178,"previous":"M21-GAP-02215","next":"M21-GAP-02217"},"M21-GAP-02217":{"line":5472,"offset":976493,"length":178,"previous":"M21-GAP-02216","next":"M21-GAP-02218"},"M21-GAP-02218":{"line":5473,"offset":976671,"length":179,"previous":"M21-GAP-02217","next":"M21-GAP-02219"},"M21-GAP-02219":{"line":5474,"offset":976850,"length":179,"previous":"M21-GAP-02218","next":"M21-GAP-02220"},"M21-GAP-02220":{"line":5475,"offset":977029,"length":179,"previous":"M21-GAP-02219","next":"M21-GAP-02221"},"M21-GAP-02221":{"line":5476,"offset":977208,"length":179,"previous":"M21-GAP-02220","next":"M21-GAP-02222"},"M21-GAP-02222":{"line":5477,"offset":977387,"length":179,"previous":"M21-GAP-02221","next":"M21-GAP-02223"},"M21-GAP-02223":{"line":5478,"offset":977566,"length":179,"previous":"M21-GAP-02222","next":"M21-GAP-02224"},"M21-GAP-02224":{"line":5479,"offset":977745,"length":179,"previous":"M21-GAP-02223","next":"M21-GAP-02225"},"M21-GAP-02225":{"line":5480,"offset":977924,"length":179,"previous":"M21-GAP-02224","next":"M21-GAP-02226"},"M21-GAP-02226":{"line":5481,"offset":978103,"length":178,"previous":"M21-GAP-02225","next":"M21-GAP-02227"},"M21-GAP-02227":{"line":5482,"offset":978281,"length":178,"previous":"M21-GAP-02226","next":"M21-GAP-02228"},"M21-GAP-02228":{"line":5483,"offset":978459,"length":178,"previous":"M21-GAP-02227","next":"M21-GAP-02229"},"M21-GAP-02229":{"line":5484,"offset":978637,"length":178,"previous":"M21-GAP-02228","next":"M21-GAP-02230"},"M21-GAP-02230":{"line":5485,"offset":978815,"length":178,"previous":"M21-GAP-02229","next":"M21-GAP-02231"},"M21-GAP-02231":{"line":5486,"offset":978993,"length":178,"previous":"M21-GAP-02230","next":"M21-GAP-02232"},"M21-GAP-02232":{"line":5487,"offset":979171,"length":178,"previous":"M21-GAP-02231","next":"M21-GAP-02233"},"M21-GAP-02233":{"line":5488,"offset":979349,"length":178,"previous":"M21-GAP-02232","next":"M21-GAP-02234"},"M21-GAP-02234":{"line":5489,"offset":979527,"length":171,"previous":"M21-GAP-02233","next":"M21-GAP-02235"},"M21-GAP-02235":{"line":5490,"offset":979698,"length":171,"previous":"M21-GAP-02234","next":"M21-GAP-02236"},"M21-GAP-02236":{"line":5491,"offset":979869,"length":172,"previous":"M21-GAP-02235","next":"M21-GAP-02237"},"M21-GAP-02237":{"line":5492,"offset":980041,"length":172,"previous":"M21-GAP-02236","next":"M21-GAP-02238"},"M21-GAP-02238":{"line":5493,"offset":980213,"length":172,"previous":"M21-GAP-02237","next":"M21-GAP-02239"},"M21-GAP-02239":{"line":5494,"offset":980385,"length":172,"previous":"M21-GAP-02238","next":"M21-GAP-02240"},"M21-GAP-02240":{"line":5495,"offset":980557,"length":172,"previous":"M21-GAP-02239","next":"M21-GAP-02241"},"M21-GAP-02241":{"line":5496,"offset":980729,"length":172,"previous":"M21-GAP-02240","next":"M21-GAP-02242"},"M21-GAP-02242":{"line":5497,"offset":980901,"length":172,"previous":"M21-GAP-02241","next":"M21-GAP-02243"},"M21-GAP-02243":{"line":5498,"offset":981073,"length":172,"previous":"M21-GAP-02242","next":"M21-GAP-02244"},"M21-GAP-02244":{"line":5499,"offset":981245,"length":172,"previous":"M21-GAP-02243","next":"M21-GAP-02245"},"M21-GAP-02245":{"line":5500,"offset":981417,"length":172,"previous":"M21-GAP-02244","next":"M21-GAP-02246"},"M21-GAP-02246":{"line":5501,"offset":981589,"length":171,"previous":"M21-GAP-02245","next":"M21-GAP-02247"},"M21-GAP-02247":{"line":5502,"offset":981760,"length":172,"previous":"M21-GAP-02246","next":"M21-GAP-02248"},"M21-GAP-02248":{"line":5503,"offset":981932,"length":172,"previous":"M21-GAP-02247","next":"M21-GAP-02249"},"M21-GAP-02249":{"line":5504,"offset":982104,"length":172,"previous":"M21-GAP-02248","next":"M21-GAP-02250"},"M21-GAP-02250":{"line":5505,"offset":982276,"length":172,"previous":"M21-GAP-02249","next":"M21-GAP-02251"},"M21-GAP-02251":{"line":5506,"offset":982448,"length":172,"previous":"M21-GAP-02250","next":"M21-GAP-02252"},"M21-GAP-02252":{"line":5507,"offset":982620,"length":172,"previous":"M21-GAP-02251","next":"M21-GAP-02253"},"M21-GAP-02253":{"line":5508,"offset":982792,"length":172,"previous":"M21-GAP-02252","next":"M21-GAP-02254"},"M21-GAP-02254":{"line":5509,"offset":982964,"length":172,"previous":"M21-GAP-02253","next":"M21-GAP-02255"},"M21-GAP-02255":{"line":5510,"offset":983136,"length":172,"previous":"M21-GAP-02254","next":"M21-GAP-02256"},"M21-GAP-02256":{"line":5511,"offset":983308,"length":172,"previous":"M21-GAP-02255","next":"M21-GAP-02257"},"M21-GAP-02257":{"line":5512,"offset":983480,"length":171,"previous":"M21-GAP-02256","next":"M21-GAP-02258"},"M21-GAP-02258":{"line":5513,"offset":983651,"length":172,"previous":"M21-GAP-02257","next":"M21-GAP-02259"},"M21-GAP-02259":{"line":5514,"offset":983823,"length":172,"previous":"M21-GAP-02258","next":"M21-GAP-02260"},"M21-GAP-02260":{"line":5515,"offset":983995,"length":172,"previous":"M21-GAP-02259","next":"M21-GAP-02261"},"M21-GAP-02261":{"line":5516,"offset":984167,"length":172,"previous":"M21-GAP-02260","next":"M21-GAP-02262"},"M21-GAP-02262":{"line":5517,"offset":984339,"length":172,"previous":"M21-GAP-02261","next":"M21-GAP-02263"},"M21-GAP-02263":{"line":5518,"offset":984511,"length":172,"previous":"M21-GAP-02262","next":"M21-GAP-02264"},"M21-GAP-02264":{"line":5519,"offset":984683,"length":172,"previous":"M21-GAP-02263","next":"M21-GAP-02265"},"M21-GAP-02265":{"line":5520,"offset":984855,"length":172,"previous":"M21-GAP-02264","next":"M21-GAP-02266"},"M21-GAP-02266":{"line":5521,"offset":985027,"length":172,"previous":"M21-GAP-02265","next":"M21-GAP-02267"},"M21-GAP-02267":{"line":5522,"offset":985199,"length":172,"previous":"M21-GAP-02266","next":"M21-GAP-02268"},"M21-GAP-02268":{"line":5523,"offset":985371,"length":171,"previous":"M21-GAP-02267","next":"M21-GAP-02269"},"M21-GAP-02269":{"line":5524,"offset":985542,"length":172,"previous":"M21-GAP-02268","next":"M21-GAP-02270"},"M21-GAP-02270":{"line":5525,"offset":985714,"length":172,"previous":"M21-GAP-02269","next":"M21-GAP-02271"},"M21-GAP-02271":{"line":5526,"offset":985886,"length":172,"previous":"M21-GAP-02270","next":"M21-GAP-02272"},"M21-GAP-02272":{"line":5527,"offset":986058,"length":172,"previous":"M21-GAP-02271","next":"M21-GAP-02273"},"M21-GAP-02273":{"line":5528,"offset":986230,"length":172,"previous":"M21-GAP-02272","next":"M21-GAP-02274"},"M21-GAP-02274":{"line":5529,"offset":986402,"length":172,"previous":"M21-GAP-02273","next":"M21-GAP-02275"},"M21-GAP-02275":{"line":5530,"offset":986574,"length":172,"previous":"M21-GAP-02274","next":"M21-GAP-02276"},"M21-GAP-02276":{"line":5531,"offset":986746,"length":172,"previous":"M21-GAP-02275","next":"M21-GAP-02277"},"M21-GAP-02277":{"line":5532,"offset":986918,"length":172,"previous":"M21-GAP-02276","next":"M21-GAP-02278"},"M21-GAP-02278":{"line":5533,"offset":987090,"length":172,"previous":"M21-GAP-02277","next":"M21-GAP-02279"},"M21-GAP-02279":{"line":5534,"offset":987262,"length":171,"previous":"M21-GAP-02278","next":"M21-GAP-02280"},"M21-GAP-02280":{"line":5535,"offset":987433,"length":172,"previous":"M21-GAP-02279","next":"M21-GAP-02281"},"M21-GAP-02281":{"line":5536,"offset":987605,"length":172,"previous":"M21-GAP-02280","next":"M21-GAP-02282"},"M21-GAP-02282":{"line":5537,"offset":987777,"length":172,"previous":"M21-GAP-02281","next":"M21-GAP-02283"},"M21-GAP-02283":{"line":5538,"offset":987949,"length":171,"previous":"M21-GAP-02282","next":"M21-GAP-02284"},"M21-GAP-02284":{"line":5539,"offset":988120,"length":171,"previous":"M21-GAP-02283","next":"M21-GAP-02285"},"M21-GAP-02285":{"line":5540,"offset":988291,"length":171,"previous":"M21-GAP-02284","next":"M21-GAP-02286"},"M21-GAP-02286":{"line":5541,"offset":988462,"length":171,"previous":"M21-GAP-02285","next":"M21-GAP-02287"},"M21-GAP-02287":{"line":5542,"offset":988633,"length":184,"previous":"M21-GAP-02286","next":"M21-GAP-02288"},"M21-GAP-02288":{"line":5543,"offset":988817,"length":184,"previous":"M21-GAP-02287","next":"M21-GAP-02289"},"M21-GAP-02289":{"line":5544,"offset":989001,"length":184,"previous":"M21-GAP-02288","next":"M21-GAP-02290"},"M21-GAP-02290":{"line":5545,"offset":989185,"length":184,"previous":"M21-GAP-02289","next":"M21-GAP-02291"},"M21-GAP-02291":{"line":5546,"offset":989369,"length":197,"previous":"M21-GAP-02290","next":"M21-GAP-02292"},"M21-GAP-02292":{"line":5547,"offset":989566,"length":197,"previous":"M21-GAP-02291","next":"M21-GAP-02293"},"M21-GAP-02293":{"line":5548,"offset":989763,"length":195,"previous":"M21-GAP-02292","next":"M21-GAP-02294"},"M21-GAP-02294":{"line":5549,"offset":989958,"length":197,"previous":"M21-GAP-02293","next":"M21-GAP-02295"},"M21-GAP-02295":{"line":5550,"offset":990155,"length":197,"previous":"M21-GAP-02294","next":"M21-GAP-02296"},"M21-GAP-02296":{"line":5551,"offset":990352,"length":196,"previous":"M21-GAP-02295","next":"M21-GAP-02297"},"M21-GAP-02297":{"line":5552,"offset":990548,"length":212,"previous":"M21-GAP-02296","next":"M21-GAP-02298"},"M21-GAP-02298":{"line":5553,"offset":990760,"length":212,"previous":"M21-GAP-02297","next":"M21-GAP-02299"},"M21-GAP-02299":{"line":5554,"offset":990972,"length":212,"previous":"M21-GAP-02298","next":"M21-GAP-02300"},"M21-GAP-02300":{"line":5555,"offset":991184,"length":212,"previous":"M21-GAP-02299","next":"M21-GAP-02301"},"M21-GAP-02301":{"line":5556,"offset":991396,"length":212,"previous":"M21-GAP-02300","next":"M21-GAP-02302"},"M21-GAP-02302":{"line":5557,"offset":991608,"length":201,"previous":"M21-GAP-02301","next":"M21-GAP-02303"},"M21-GAP-02303":{"line":5558,"offset":991809,"length":201,"previous":"M21-GAP-02302","next":"M21-GAP-02304"},"M21-GAP-02304":{"line":5559,"offset":992010,"length":201,"previous":"M21-GAP-02303","next":"M21-GAP-02305"},"M21-GAP-02305":{"line":5560,"offset":992211,"length":201,"previous":"M21-GAP-02304","next":"M21-GAP-02306"},"M21-GAP-02306":{"line":5561,"offset":992412,"length":201,"previous":"M21-GAP-02305","next":"M21-GAP-02307"},"M21-GAP-02307":{"line":5562,"offset":992613,"length":215,"previous":"M21-GAP-02306","next":"M21-GAP-02308"},"M21-GAP-02308":{"line":5563,"offset":992828,"length":215,"previous":"M21-GAP-02307","next":"M21-GAP-02309"},"M21-GAP-02309":{"line":5564,"offset":993043,"length":215,"previous":"M21-GAP-02308","next":"M21-GAP-02310"},"M21-GAP-02310":{"line":5565,"offset":993258,"length":204,"previous":"M21-GAP-02309","next":"M21-GAP-02311"},"M21-GAP-02311":{"line":5566,"offset":993462,"length":204,"previous":"M21-GAP-02310","next":"M21-GAP-02312"},"M21-GAP-02312":{"line":5567,"offset":993666,"length":204,"previous":"M21-GAP-02311","next":"M21-GAP-02313"},"M21-GAP-02313":{"line":5568,"offset":993870,"length":214,"previous":"M21-GAP-02312","next":"M21-GAP-02314"},"M21-GAP-02314":{"line":5569,"offset":994084,"length":214,"previous":"M21-GAP-02313","next":"M21-GAP-02315"},"M21-GAP-02315":{"line":5570,"offset":994298,"length":214,"previous":"M21-GAP-02314","next":"M21-GAP-02316"},"M21-GAP-02316":{"line":5571,"offset":994512,"length":203,"previous":"M21-GAP-02315","next":"M21-GAP-02317"},"M21-GAP-02317":{"line":5572,"offset":994715,"length":203,"previous":"M21-GAP-02316","next":"M21-GAP-02318"},"M21-GAP-02318":{"line":5573,"offset":994918,"length":203,"previous":"M21-GAP-02317","next":"M21-GAP-02319"},"M21-GAP-02319":{"line":5574,"offset":995121,"length":207,"previous":"M21-GAP-02318","next":"M21-GAP-02320"},"M21-GAP-02320":{"line":5575,"offset":995328,"length":207,"previous":"M21-GAP-02319","next":"M21-GAP-02321"},"M21-GAP-02321":{"line":5576,"offset":995535,"length":207,"previous":"M21-GAP-02320","next":"M21-GAP-02322"},"M21-GAP-02322":{"line":5577,"offset":995742,"length":207,"previous":"M21-GAP-02321","next":"M21-GAP-02323"},"M21-GAP-02323":{"line":5578,"offset":995949,"length":207,"previous":"M21-GAP-02322","next":"M21-GAP-02324"},"M21-GAP-02324":{"line":5579,"offset":996156,"length":196,"previous":"M21-GAP-02323","next":"M21-GAP-02325"},"M21-GAP-02325":{"line":5580,"offset":996352,"length":196,"previous":"M21-GAP-02324","next":"M21-GAP-02326"},"M21-GAP-02326":{"line":5581,"offset":996548,"length":196,"previous":"M21-GAP-02325","next":"M21-GAP-02327"},"M21-GAP-02327":{"line":5582,"offset":996744,"length":196,"previous":"M21-GAP-02326","next":"M21-GAP-02328"},"M21-GAP-02328":{"line":5583,"offset":996940,"length":196,"previous":"M21-GAP-02327","next":"M21-GAP-02329"},"M21-GAP-02329":{"line":5584,"offset":997136,"length":184,"previous":"M21-GAP-02328","next":"M21-GAP-02330"},"M21-GAP-02330":{"line":5585,"offset":997320,"length":184,"previous":"M21-GAP-02329","next":"M21-GAP-02331"},"M21-GAP-02331":{"line":5586,"offset":997504,"length":185,"previous":"M21-GAP-02330","next":"M21-GAP-02332"},"M21-GAP-02332":{"line":5587,"offset":997689,"length":185,"previous":"M21-GAP-02331","next":"M21-GAP-02333"},"M21-GAP-02333":{"line":5588,"offset":997874,"length":185,"previous":"M21-GAP-02332","next":"M21-GAP-02334"},"M21-GAP-02334":{"line":5589,"offset":998059,"length":185,"previous":"M21-GAP-02333","next":"M21-GAP-02335"},"M21-GAP-02335":{"line":5590,"offset":998244,"length":185,"previous":"M21-GAP-02334","next":"M21-GAP-02336"},"M21-GAP-02336":{"line":5591,"offset":998429,"length":185,"previous":"M21-GAP-02335","next":"M21-GAP-02337"},"M21-GAP-02337":{"line":5592,"offset":998614,"length":185,"previous":"M21-GAP-02336","next":"M21-GAP-02338"},"M21-GAP-02338":{"line":5593,"offset":998799,"length":185,"previous":"M21-GAP-02337","next":"M21-GAP-02339"},"M21-GAP-02339":{"line":5594,"offset":998984,"length":185,"previous":"M21-GAP-02338","next":"M21-GAP-02340"},"M21-GAP-02340":{"line":5595,"offset":999169,"length":185,"previous":"M21-GAP-02339","next":"M21-GAP-02341"},"M21-GAP-02341":{"line":5596,"offset":999354,"length":184,"previous":"M21-GAP-02340","next":"M21-GAP-02342"},"M21-GAP-02342":{"line":5597,"offset":999538,"length":185,"previous":"M21-GAP-02341","next":"M21-GAP-02343"},"M21-GAP-02343":{"line":5598,"offset":999723,"length":185,"previous":"M21-GAP-02342","next":"M21-GAP-02344"},"M21-GAP-02344":{"line":5599,"offset":999908,"length":185,"previous":"M21-GAP-02343","next":"M21-GAP-02345"},"M21-GAP-02345":{"line":5600,"offset":1000093,"length":185,"previous":"M21-GAP-02344","next":"M21-GAP-02346"},"M21-GAP-02346":{"line":5601,"offset":1000278,"length":185,"previous":"M21-GAP-02345","next":"M21-GAP-02347"},"M21-GAP-02347":{"line":5602,"offset":1000463,"length":185,"previous":"M21-GAP-02346","next":"M21-GAP-02348"},"M21-GAP-02348":{"line":5603,"offset":1000648,"length":185,"previous":"M21-GAP-02347","next":"M21-GAP-02349"},"M21-GAP-02349":{"line":5604,"offset":1000833,"length":185,"previous":"M21-GAP-02348","next":"M21-GAP-02350"},"M21-GAP-02350":{"line":5605,"offset":1001018,"length":185,"previous":"M21-GAP-02349","next":"M21-GAP-02351"},"M21-GAP-02351":{"line":5606,"offset":1001203,"length":185,"previous":"M21-GAP-02350","next":"M21-GAP-02352"},"M21-GAP-02352":{"line":5607,"offset":1001388,"length":184,"previous":"M21-GAP-02351","next":"M21-GAP-02353"},"M21-GAP-02353":{"line":5608,"offset":1001572,"length":185,"previous":"M21-GAP-02352","next":"M21-GAP-02354"},"M21-GAP-02354":{"line":5609,"offset":1001757,"length":185,"previous":"M21-GAP-02353","next":"M21-GAP-02355"},"M21-GAP-02355":{"line":5610,"offset":1001942,"length":185,"previous":"M21-GAP-02354","next":"M21-GAP-02356"},"M21-GAP-02356":{"line":5611,"offset":1002127,"length":185,"previous":"M21-GAP-02355","next":"M21-GAP-02357"},"M21-GAP-02357":{"line":5612,"offset":1002312,"length":185,"previous":"M21-GAP-02356","next":"M21-GAP-02358"},"M21-GAP-02358":{"line":5613,"offset":1002497,"length":185,"previous":"M21-GAP-02357","next":"M21-GAP-02359"},"M21-GAP-02359":{"line":5614,"offset":1002682,"length":185,"previous":"M21-GAP-02358","next":"M21-GAP-02360"},"M21-GAP-02360":{"line":5615,"offset":1002867,"length":185,"previous":"M21-GAP-02359","next":"M21-GAP-02361"},"M21-GAP-02361":{"line":5616,"offset":1003052,"length":185,"previous":"M21-GAP-02360","next":"M21-GAP-02362"},"M21-GAP-02362":{"line":5617,"offset":1003237,"length":185,"previous":"M21-GAP-02361","next":"M21-GAP-02363"},"M21-GAP-02363":{"line":5618,"offset":1003422,"length":184,"previous":"M21-GAP-02362","next":"M21-GAP-02364"},"M21-GAP-02364":{"line":5619,"offset":1003606,"length":185,"previous":"M21-GAP-02363","next":"M21-GAP-02365"},"M21-GAP-02365":{"line":5620,"offset":1003791,"length":185,"previous":"M21-GAP-02364","next":"M21-GAP-02366"},"M21-GAP-02366":{"line":5621,"offset":1003976,"length":185,"previous":"M21-GAP-02365","next":"M21-GAP-02367"},"M21-GAP-02367":{"line":5622,"offset":1004161,"length":185,"previous":"M21-GAP-02366","next":"M21-GAP-02368"},"M21-GAP-02368":{"line":5623,"offset":1004346,"length":185,"previous":"M21-GAP-02367","next":"M21-GAP-02369"},"M21-GAP-02369":{"line":5624,"offset":1004531,"length":185,"previous":"M21-GAP-02368","next":"M21-GAP-02370"},"M21-GAP-02370":{"line":5625,"offset":1004716,"length":185,"previous":"M21-GAP-02369","next":"M21-GAP-02371"},"M21-GAP-02371":{"line":5626,"offset":1004901,"length":185,"previous":"M21-GAP-02370","next":"M21-GAP-02372"},"M21-GAP-02372":{"line":5627,"offset":1005086,"length":185,"previous":"M21-GAP-02371","next":"M21-GAP-02373"},"M21-GAP-02373":{"line":5628,"offset":1005271,"length":185,"previous":"M21-GAP-02372","next":"M21-GAP-02374"},"M21-GAP-02374":{"line":5629,"offset":1005456,"length":184,"previous":"M21-GAP-02373","next":"M21-GAP-02375"},"M21-GAP-02375":{"line":5630,"offset":1005640,"length":185,"previous":"M21-GAP-02374","next":"M21-GAP-02376"},"M21-GAP-02376":{"line":5631,"offset":1005825,"length":185,"previous":"M21-GAP-02375","next":"M21-GAP-02377"},"M21-GAP-02377":{"line":5632,"offset":1006010,"length":185,"previous":"M21-GAP-02376","next":"M21-GAP-02378"},"M21-GAP-02378":{"line":5633,"offset":1006195,"length":185,"previous":"M21-GAP-02377","next":"M21-GAP-02379"},"M21-GAP-02379":{"line":5634,"offset":1006380,"length":185,"previous":"M21-GAP-02378","next":"M21-GAP-02380"},"M21-GAP-02380":{"line":5635,"offset":1006565,"length":185,"previous":"M21-GAP-02379","next":"M21-GAP-02381"},"M21-GAP-02381":{"line":5636,"offset":1006750,"length":185,"previous":"M21-GAP-02380","next":"M21-GAP-02382"},"M21-GAP-02382":{"line":5637,"offset":1006935,"length":185,"previous":"M21-GAP-02381","next":"M21-GAP-02383"},"M21-GAP-02383":{"line":5638,"offset":1007120,"length":185,"previous":"M21-GAP-02382","next":"M21-GAP-02384"},"M21-GAP-02384":{"line":5639,"offset":1007305,"length":185,"previous":"M21-GAP-02383","next":"M21-GAP-02385"},"M21-GAP-02385":{"line":5640,"offset":1007490,"length":184,"previous":"M21-GAP-02384","next":"M21-GAP-02386"},"M21-GAP-02386":{"line":5641,"offset":1007674,"length":185,"previous":"M21-GAP-02385","next":"M21-GAP-02387"},"M21-GAP-02387":{"line":5642,"offset":1007859,"length":185,"previous":"M21-GAP-02386","next":"M21-GAP-02388"},"M21-GAP-02388":{"line":5643,"offset":1008044,"length":185,"previous":"M21-GAP-02387","next":"M21-GAP-02389"},"M21-GAP-02389":{"line":5644,"offset":1008229,"length":185,"previous":"M21-GAP-02388","next":"M21-GAP-02390"},"M21-GAP-02390":{"line":5645,"offset":1008414,"length":185,"previous":"M21-GAP-02389","next":"M21-GAP-02391"},"M21-GAP-02391":{"line":5646,"offset":1008599,"length":185,"previous":"M21-GAP-02390","next":"M21-GAP-02392"},"M21-GAP-02392":{"line":5647,"offset":1008784,"length":185,"previous":"M21-GAP-02391","next":"M21-GAP-02393"},"M21-GAP-02393":{"line":5648,"offset":1008969,"length":185,"previous":"M21-GAP-02392","next":"M21-GAP-02394"},"M21-GAP-02394":{"line":5649,"offset":1009154,"length":185,"previous":"M21-GAP-02393","next":"M21-GAP-02395"},"M21-GAP-02395":{"line":5650,"offset":1009339,"length":185,"previous":"M21-GAP-02394","next":"M21-GAP-02396"},"M21-GAP-02396":{"line":5651,"offset":1009524,"length":184,"previous":"M21-GAP-02395","next":"M21-GAP-02397"},"M21-GAP-02397":{"line":5652,"offset":1009708,"length":185,"previous":"M21-GAP-02396","next":"M21-GAP-02398"},"M21-GAP-02398":{"line":5653,"offset":1009893,"length":185,"previous":"M21-GAP-02397","next":"M21-GAP-02399"},"M21-GAP-02399":{"line":5654,"offset":1010078,"length":185,"previous":"M21-GAP-02398","next":"M21-GAP-02400"},"M21-GAP-02400":{"line":5655,"offset":1010263,"length":185,"previous":"M21-GAP-02399","next":"M21-GAP-02401"},"M21-GAP-02401":{"line":5656,"offset":1010448,"length":185,"previous":"M21-GAP-02400","next":"M21-GAP-02402"},"M21-GAP-02402":{"line":5657,"offset":1010633,"length":185,"previous":"M21-GAP-02401","next":"M21-GAP-02403"},"M21-GAP-02403":{"line":5658,"offset":1010818,"length":185,"previous":"M21-GAP-02402","next":"M21-GAP-02404"},"M21-GAP-02404":{"line":5659,"offset":1011003,"length":185,"previous":"M21-GAP-02403","next":"M21-GAP-02405"},"M21-GAP-02405":{"line":5660,"offset":1011188,"length":185,"previous":"M21-GAP-02404","next":"M21-GAP-02406"},"M21-GAP-02406":{"line":5661,"offset":1011373,"length":185,"previous":"M21-GAP-02405","next":"M21-GAP-02407"},"M21-GAP-02407":{"line":5662,"offset":1011558,"length":184,"previous":"M21-GAP-02406","next":"M21-GAP-02408"},"M21-GAP-02408":{"line":5663,"offset":1011742,"length":185,"previous":"M21-GAP-02407","next":"M21-GAP-02409"},"M21-GAP-02409":{"line":5664,"offset":1011927,"length":185,"previous":"M21-GAP-02408","next":"M21-GAP-02410"},"M21-GAP-02410":{"line":5665,"offset":1012112,"length":185,"previous":"M21-GAP-02409","next":"M21-GAP-02411"},"M21-GAP-02411":{"line":5666,"offset":1012297,"length":185,"previous":"M21-GAP-02410","next":"M21-GAP-02412"},"M21-GAP-02412":{"line":5667,"offset":1012482,"length":185,"previous":"M21-GAP-02411","next":"M21-GAP-02413"},"M21-GAP-02413":{"line":5668,"offset":1012667,"length":185,"previous":"M21-GAP-02412","next":"M21-GAP-02414"},"M21-GAP-02414":{"line":5669,"offset":1012852,"length":185,"previous":"M21-GAP-02413","next":"M21-GAP-02415"},"M21-GAP-02415":{"line":5670,"offset":1013037,"length":185,"previous":"M21-GAP-02414","next":"M21-GAP-02416"},"M21-GAP-02416":{"line":5671,"offset":1013222,"length":184,"previous":"M21-GAP-02415","next":"M21-GAP-02417"},"M21-GAP-02417":{"line":5672,"offset":1013406,"length":191,"previous":"M21-GAP-02416","next":"M21-GAP-02418"},"M21-GAP-02418":{"line":5673,"offset":1013597,"length":191,"previous":"M21-GAP-02417","next":"M21-GAP-02419"},"M21-GAP-02419":{"line":5674,"offset":1013788,"length":192,"previous":"M21-GAP-02418","next":"M21-GAP-02420"},"M21-GAP-02420":{"line":5675,"offset":1013980,"length":192,"previous":"M21-GAP-02419","next":"M21-GAP-02421"},"M21-GAP-02421":{"line":5676,"offset":1014172,"length":192,"previous":"M21-GAP-02420","next":"M21-GAP-02422"},"M21-GAP-02422":{"line":5677,"offset":1014364,"length":192,"previous":"M21-GAP-02421","next":"M21-GAP-02423"},"M21-GAP-02423":{"line":5678,"offset":1014556,"length":191,"previous":"M21-GAP-02422","next":"M21-GAP-02424"},"M21-GAP-02424":{"line":5679,"offset":1014747,"length":191,"previous":"M21-GAP-02423","next":"M21-GAP-02425"},"M21-GAP-02425":{"line":5680,"offset":1014938,"length":191,"previous":"M21-GAP-02424","next":"M21-GAP-02426"},"M21-GAP-02426":{"line":5681,"offset":1015129,"length":191,"previous":"M21-GAP-02425","next":"M21-GAP-02427"},"M21-GAP-02427":{"line":5682,"offset":1015320,"length":191,"previous":"M21-GAP-02426","next":"M21-GAP-02428"},"M21-GAP-02428":{"line":5683,"offset":1015511,"length":191,"previous":"M21-GAP-02427","next":"M21-GAP-02429"},"M21-GAP-02429":{"line":5684,"offset":1015702,"length":191,"previous":"M21-GAP-02428","next":"M21-GAP-02430"},"M21-GAP-02430":{"line":5685,"offset":1015893,"length":191,"previous":"M21-GAP-02429","next":"M21-GAP-02431"},"M21-GAP-02431":{"line":5686,"offset":1016084,"length":187,"previous":"M21-GAP-02430","next":"M21-GAP-02432"},"M21-GAP-02432":{"line":5687,"offset":1016271,"length":187,"previous":"M21-GAP-02431","next":"M21-GAP-02433"},"M21-GAP-02433":{"line":5688,"offset":1016458,"length":188,"previous":"M21-GAP-02432","next":"M21-GAP-02434"},"M21-GAP-02434":{"line":5689,"offset":1016646,"length":188,"previous":"M21-GAP-02433","next":"M21-GAP-02435"},"M21-GAP-02435":{"line":5690,"offset":1016834,"length":188,"previous":"M21-GAP-02434","next":"M21-GAP-02436"},"M21-GAP-02436":{"line":5691,"offset":1017022,"length":188,"previous":"M21-GAP-02435","next":"M21-GAP-02437"},"M21-GAP-02437":{"line":5692,"offset":1017210,"length":188,"previous":"M21-GAP-02436","next":"M21-GAP-02438"},"M21-GAP-02438":{"line":5693,"offset":1017398,"length":188,"previous":"M21-GAP-02437","next":"M21-GAP-02439"},"M21-GAP-02439":{"line":5694,"offset":1017586,"length":188,"previous":"M21-GAP-02438","next":"M21-GAP-02440"},"M21-GAP-02440":{"line":5695,"offset":1017774,"length":188,"previous":"M21-GAP-02439","next":"M21-GAP-02441"},"M21-GAP-02441":{"line":5696,"offset":1017962,"length":188,"previous":"M21-GAP-02440","next":"M21-GAP-02442"},"M21-GAP-02442":{"line":5697,"offset":1018150,"length":188,"previous":"M21-GAP-02441","next":"M21-GAP-02443"},"M21-GAP-02443":{"line":5698,"offset":1018338,"length":187,"previous":"M21-GAP-02442","next":"M21-GAP-02444"},"M21-GAP-02444":{"line":5699,"offset":1018525,"length":187,"previous":"M21-GAP-02443","next":"M21-GAP-02445"},"M21-GAP-02445":{"line":5700,"offset":1018712,"length":187,"previous":"M21-GAP-02444","next":"M21-GAP-02446"},"M21-GAP-02446":{"line":5701,"offset":1018899,"length":187,"previous":"M21-GAP-02445","next":"M21-GAP-02447"},"M21-GAP-02447":{"line":5702,"offset":1019086,"length":187,"previous":"M21-GAP-02446","next":"M21-GAP-02448"},"M21-GAP-02448":{"line":5703,"offset":1019273,"length":187,"previous":"M21-GAP-02447","next":"M21-GAP-02449"},"M21-GAP-02449":{"line":5704,"offset":1019460,"length":187,"previous":"M21-GAP-02448","next":"M21-GAP-02450"},"M21-GAP-02450":{"line":5705,"offset":1019647,"length":187,"previous":"M21-GAP-02449","next":"M21-GAP-02451"},"M21-GAP-02451":{"line":5706,"offset":1019834,"length":186,"previous":"M21-GAP-02450","next":"M21-GAP-02452"},"M21-GAP-02452":{"line":5707,"offset":1020020,"length":181,"previous":"M21-GAP-02451","next":"M21-GAP-02453"},"M21-GAP-02453":{"line":5708,"offset":1020201,"length":181,"previous":"M21-GAP-02452","next":"M21-GAP-02454"},"M21-GAP-02454":{"line":5709,"offset":1020382,"length":182,"previous":"M21-GAP-02453","next":"M21-GAP-02455"},"M21-GAP-02455":{"line":5710,"offset":1020564,"length":182,"previous":"M21-GAP-02454","next":"M21-GAP-02456"},"M21-GAP-02456":{"line":5711,"offset":1020746,"length":182,"previous":"M21-GAP-02455","next":"M21-GAP-02457"},"M21-GAP-02457":{"line":5712,"offset":1020928,"length":182,"previous":"M21-GAP-02456","next":"M21-GAP-02458"},"M21-GAP-02458":{"line":5713,"offset":1021110,"length":181,"previous":"M21-GAP-02457","next":"M21-GAP-02459"},"M21-GAP-02459":{"line":5714,"offset":1021291,"length":181,"previous":"M21-GAP-02458","next":"M21-GAP-02460"},"M21-GAP-02460":{"line":5715,"offset":1021472,"length":181,"previous":"M21-GAP-02459","next":"M21-GAP-02461"},"M21-GAP-02461":{"line":5716,"offset":1021653,"length":181,"previous":"M21-GAP-02460","next":"M21-GAP-02462"},"M21-GAP-02462":{"line":5717,"offset":1021834,"length":181,"previous":"M21-GAP-02461","next":"M21-GAP-02463"},"M21-GAP-02463":{"line":5718,"offset":1022015,"length":181,"previous":"M21-GAP-02462","next":"M21-GAP-02464"},"M21-GAP-02464":{"line":5719,"offset":1022196,"length":181,"previous":"M21-GAP-02463","next":"M21-GAP-02465"},"M21-GAP-02465":{"line":5720,"offset":1022377,"length":181,"previous":"M21-GAP-02464","next":"M21-GAP-02466"},"M21-GAP-02466":{"line":5721,"offset":1022558,"length":173,"previous":"M21-GAP-02465","next":"M21-GAP-02467"},"M21-GAP-02467":{"line":5722,"offset":1022731,"length":173,"previous":"M21-GAP-02466","next":"M21-GAP-02468"},"M21-GAP-02468":{"line":5723,"offset":1022904,"length":174,"previous":"M21-GAP-02467","next":"M21-GAP-02469"},"M21-GAP-02469":{"line":5724,"offset":1023078,"length":174,"previous":"M21-GAP-02468","next":"M21-GAP-02470"},"M21-GAP-02470":{"line":5725,"offset":1023252,"length":174,"previous":"M21-GAP-02469","next":"M21-GAP-02471"},"M21-GAP-02471":{"line":5726,"offset":1023426,"length":174,"previous":"M21-GAP-02470","next":"M21-GAP-02472"},"M21-GAP-02472":{"line":5727,"offset":1023600,"length":174,"previous":"M21-GAP-02471","next":"M21-GAP-02473"},"M21-GAP-02473":{"line":5728,"offset":1023774,"length":174,"previous":"M21-GAP-02472","next":"M21-GAP-02474"},"M21-GAP-02474":{"line":5729,"offset":1023948,"length":174,"previous":"M21-GAP-02473","next":"M21-GAP-02475"},"M21-GAP-02475":{"line":5730,"offset":1024122,"length":174,"previous":"M21-GAP-02474","next":"M21-GAP-02476"},"M21-GAP-02476":{"line":5731,"offset":1024296,"length":174,"previous":"M21-GAP-02475","next":"M21-GAP-02477"},"M21-GAP-02477":{"line":5732,"offset":1024470,"length":174,"previous":"M21-GAP-02476","next":"M21-GAP-02478"},"M21-GAP-02478":{"line":5733,"offset":1024644,"length":173,"previous":"M21-GAP-02477","next":"M21-GAP-02479"},"M21-GAP-02479":{"line":5734,"offset":1024817,"length":174,"previous":"M21-GAP-02478","next":"M21-GAP-02480"},"M21-GAP-02480":{"line":5735,"offset":1024991,"length":174,"previous":"M21-GAP-02479","next":"M21-GAP-02481"},"M21-GAP-02481":{"line":5736,"offset":1025165,"length":174,"previous":"M21-GAP-02480","next":"M21-GAP-02482"},"M21-GAP-02482":{"line":5737,"offset":1025339,"length":174,"previous":"M21-GAP-02481","next":"M21-GAP-02483"},"M21-GAP-02483":{"line":5738,"offset":1025513,"length":174,"previous":"M21-GAP-02482","next":"M21-GAP-02484"},"M21-GAP-02484":{"line":5739,"offset":1025687,"length":174,"previous":"M21-GAP-02483","next":"M21-GAP-02485"},"M21-GAP-02485":{"line":5740,"offset":1025861,"length":173,"previous":"M21-GAP-02484","next":"M21-GAP-02486"},"M21-GAP-02486":{"line":5741,"offset":1026034,"length":173,"previous":"M21-GAP-02485","next":"M21-GAP-02487"},"M21-GAP-02487":{"line":5742,"offset":1026207,"length":173,"previous":"M21-GAP-02486","next":"M21-GAP-02488"},"M21-GAP-02488":{"line":5743,"offset":1026380,"length":173,"previous":"M21-GAP-02487","next":"M21-GAP-02489"},"M21-GAP-02489":{"line":5744,"offset":1026553,"length":173,"previous":"M21-GAP-02488","next":"M21-GAP-02490"},"M21-GAP-02490":{"line":5745,"offset":1026726,"length":173,"previous":"M21-GAP-02489","next":"M21-GAP-02491"},"M21-GAP-02491":{"line":5746,"offset":1026899,"length":173,"previous":"M21-GAP-02490","next":"M21-GAP-02492"},"M21-GAP-02492":{"line":5747,"offset":1027072,"length":180,"previous":"M21-GAP-02491","next":"M21-GAP-02493"},"M21-GAP-02493":{"line":5748,"offset":1027252,"length":180,"previous":"M21-GAP-02492","next":"M21-GAP-02494"},"M21-GAP-02494":{"line":5749,"offset":1027432,"length":181,"previous":"M21-GAP-02493","next":"M21-GAP-02495"},"M21-GAP-02495":{"line":5750,"offset":1027613,"length":181,"previous":"M21-GAP-02494","next":"M21-GAP-02496"},"M21-GAP-02496":{"line":5751,"offset":1027794,"length":181,"previous":"M21-GAP-02495","next":"M21-GAP-02497"},"M21-GAP-02497":{"line":5752,"offset":1027975,"length":181,"previous":"M21-GAP-02496","next":"M21-GAP-02498"},"M21-GAP-02498":{"line":5753,"offset":1028156,"length":181,"previous":"M21-GAP-02497","next":"M21-GAP-02499"},"M21-GAP-02499":{"line":5754,"offset":1028337,"length":181,"previous":"M21-GAP-02498","next":"M21-GAP-02500"},"M21-GAP-02500":{"line":5755,"offset":1028518,"length":180,"previous":"M21-GAP-02499","next":"M21-GAP-02501"},"M21-GAP-02501":{"line":5756,"offset":1028698,"length":180,"previous":"M21-GAP-02500","next":"M21-GAP-02502"},"M21-GAP-02502":{"line":5757,"offset":1028878,"length":180,"previous":"M21-GAP-02501","next":"M21-GAP-02503"},"M21-GAP-02503":{"line":5758,"offset":1029058,"length":180,"previous":"M21-GAP-02502","next":"M21-GAP-02504"},"M21-GAP-02504":{"line":5759,"offset":1029238,"length":180,"previous":"M21-GAP-02503","next":"M21-GAP-02505"},"M21-GAP-02505":{"line":5760,"offset":1029418,"length":180,"previous":"M21-GAP-02504","next":"M21-GAP-02506"},"M21-GAP-02506":{"line":5761,"offset":1029598,"length":180,"previous":"M21-GAP-02505","next":"M21-GAP-02507"},"M21-GAP-02507":{"line":5762,"offset":1029778,"length":180,"previous":"M21-GAP-02506","next":"M21-GAP-02508"},"M21-GAP-02508":{"line":5763,"offset":1029958,"length":186,"previous":"M21-GAP-02507","next":"M21-GAP-02509"},"M21-GAP-02509":{"line":5764,"offset":1030144,"length":186,"previous":"M21-GAP-02508","next":"M21-GAP-02510"},"M21-GAP-02510":{"line":5765,"offset":1030330,"length":187,"previous":"M21-GAP-02509","next":"M21-GAP-02511"},"M21-GAP-02511":{"line":5766,"offset":1030517,"length":187,"previous":"M21-GAP-02510","next":"M21-GAP-02512"},"M21-GAP-02512":{"line":5767,"offset":1030704,"length":187,"previous":"M21-GAP-02511","next":"M21-GAP-02513"},"M21-GAP-02513":{"line":5768,"offset":1030891,"length":187,"previous":"M21-GAP-02512","next":"M21-GAP-02514"},"M21-GAP-02514":{"line":5769,"offset":1031078,"length":187,"previous":"M21-GAP-02513","next":"M21-GAP-02515"},"M21-GAP-02515":{"line":5770,"offset":1031265,"length":187,"previous":"M21-GAP-02514","next":"M21-GAP-02516"},"M21-GAP-02516":{"line":5771,"offset":1031452,"length":187,"previous":"M21-GAP-02515","next":"M21-GAP-02517"},"M21-GAP-02517":{"line":5772,"offset":1031639,"length":187,"previous":"M21-GAP-02516","next":"M21-GAP-02518"},"M21-GAP-02518":{"line":5773,"offset":1031826,"length":187,"previous":"M21-GAP-02517","next":"M21-GAP-02519"},"M21-GAP-02519":{"line":5774,"offset":1032013,"length":187,"previous":"M21-GAP-02518","next":"M21-GAP-02520"},"M21-GAP-02520":{"line":5775,"offset":1032200,"length":186,"previous":"M21-GAP-02519","next":"M21-GAP-02521"},"M21-GAP-02521":{"line":5776,"offset":1032386,"length":187,"previous":"M21-GAP-02520","next":"M21-GAP-02522"},"M21-GAP-02522":{"line":5777,"offset":1032573,"length":187,"previous":"M21-GAP-02521","next":"M21-GAP-02523"},"M21-GAP-02523":{"line":5778,"offset":1032760,"length":187,"previous":"M21-GAP-02522","next":"M21-GAP-02524"},"M21-GAP-02524":{"line":5779,"offset":1032947,"length":187,"previous":"M21-GAP-02523","next":"M21-GAP-02525"},"M21-GAP-02525":{"line":5780,"offset":1033134,"length":187,"previous":"M21-GAP-02524","next":"M21-GAP-02526"},"M21-GAP-02526":{"line":5781,"offset":1033321,"length":186,"previous":"M21-GAP-02525","next":"M21-GAP-02527"},"M21-GAP-02527":{"line":5782,"offset":1033507,"length":186,"previous":"M21-GAP-02526","next":"M21-GAP-02528"},"M21-GAP-02528":{"line":5783,"offset":1033693,"length":186,"previous":"M21-GAP-02527","next":"M21-GAP-02529"},"M21-GAP-02529":{"line":5784,"offset":1033879,"length":186,"previous":"M21-GAP-02528","next":"M21-GAP-02530"},"M21-GAP-02530":{"line":5785,"offset":1034065,"length":186,"previous":"M21-GAP-02529","next":"M21-GAP-02531"},"M21-GAP-02531":{"line":5786,"offset":1034251,"length":186,"previous":"M21-GAP-02530","next":"M21-GAP-02532"},"M21-GAP-02532":{"line":5787,"offset":1034437,"length":186,"previous":"M21-GAP-02531","next":"M21-GAP-02533"},"M21-GAP-02533":{"line":5788,"offset":1034623,"length":173,"previous":"M21-GAP-02532","next":"M21-GAP-02534"},"M21-GAP-02534":{"line":5789,"offset":1034796,"length":173,"previous":"M21-GAP-02533","next":"M21-GAP-02535"},"M21-GAP-02535":{"line":5790,"offset":1034969,"length":174,"previous":"M21-GAP-02534","next":"M21-GAP-02536"},"M21-GAP-02536":{"line":5791,"offset":1035143,"length":174,"previous":"M21-GAP-02535","next":"M21-GAP-02537"},"M21-GAP-02537":{"line":5792,"offset":1035317,"length":174,"previous":"M21-GAP-02536","next":"M21-GAP-02538"},"M21-GAP-02538":{"line":5793,"offset":1035491,"length":174,"previous":"M21-GAP-02537","next":"M21-GAP-02539"},"M21-GAP-02539":{"line":5794,"offset":1035665,"length":174,"previous":"M21-GAP-02538","next":"M21-GAP-02540"},"M21-GAP-02540":{"line":5795,"offset":1035839,"length":174,"previous":"M21-GAP-02539","next":"M21-GAP-02541"},"M21-GAP-02541":{"line":5796,"offset":1036013,"length":174,"previous":"M21-GAP-02540","next":"M21-GAP-02542"},"M21-GAP-02542":{"line":5797,"offset":1036187,"length":174,"previous":"M21-GAP-02541","next":"M21-GAP-02543"},"M21-GAP-02543":{"line":5798,"offset":1036361,"length":174,"previous":"M21-GAP-02542","next":"M21-GAP-02544"},"M21-GAP-02544":{"line":5799,"offset":1036535,"length":174,"previous":"M21-GAP-02543","next":"M21-GAP-02545"},"M21-GAP-02545":{"line":5800,"offset":1036709,"length":173,"previous":"M21-GAP-02544","next":"M21-GAP-02546"},"M21-GAP-02546":{"line":5801,"offset":1036882,"length":174,"previous":"M21-GAP-02545","next":"M21-GAP-02547"},"M21-GAP-02547":{"line":5802,"offset":1037056,"length":174,"previous":"M21-GAP-02546","next":"M21-GAP-02548"},"M21-GAP-02548":{"line":5803,"offset":1037230,"length":174,"previous":"M21-GAP-02547","next":"M21-GAP-02549"},"M21-GAP-02549":{"line":5804,"offset":1037404,"length":174,"previous":"M21-GAP-02548","next":"M21-GAP-02550"},"M21-GAP-02550":{"line":5805,"offset":1037578,"length":174,"previous":"M21-GAP-02549","next":"M21-GAP-02551"},"M21-GAP-02551":{"line":5806,"offset":1037752,"length":174,"previous":"M21-GAP-02550","next":"M21-GAP-02552"},"M21-GAP-02552":{"line":5807,"offset":1037926,"length":174,"previous":"M21-GAP-02551","next":"M21-GAP-02553"},"M21-GAP-02553":{"line":5808,"offset":1038100,"length":174,"previous":"M21-GAP-02552","next":"M21-GAP-02554"},"M21-GAP-02554":{"line":5809,"offset":1038274,"length":174,"previous":"M21-GAP-02553","next":"M21-GAP-02555"},"M21-GAP-02555":{"line":5810,"offset":1038448,"length":174,"previous":"M21-GAP-02554","next":"M21-GAP-02556"},"M21-GAP-02556":{"line":5811,"offset":1038622,"length":173,"previous":"M21-GAP-02555","next":"M21-GAP-02557"},"M21-GAP-02557":{"line":5812,"offset":1038795,"length":174,"previous":"M21-GAP-02556","next":"M21-GAP-02558"},"M21-GAP-02558":{"line":5813,"offset":1038969,"length":174,"previous":"M21-GAP-02557","next":"M21-GAP-02559"},"M21-GAP-02559":{"line":5814,"offset":1039143,"length":174,"previous":"M21-GAP-02558","next":"M21-GAP-02560"},"M21-GAP-02560":{"line":5815,"offset":1039317,"length":174,"previous":"M21-GAP-02559","next":"M21-GAP-02561"},"M21-GAP-02561":{"line":5816,"offset":1039491,"length":174,"previous":"M21-GAP-02560","next":"M21-GAP-02562"},"M21-GAP-02562":{"line":5817,"offset":1039665,"length":174,"previous":"M21-GAP-02561","next":"M21-GAP-02563"},"M21-GAP-02563":{"line":5818,"offset":1039839,"length":174,"previous":"M21-GAP-02562","next":"M21-GAP-02564"},"M21-GAP-02564":{"line":5819,"offset":1040013,"length":174,"previous":"M21-GAP-02563","next":"M21-GAP-02565"},"M21-GAP-02565":{"line":5820,"offset":1040187,"length":174,"previous":"M21-GAP-02564","next":"M21-GAP-02566"},"M21-GAP-02566":{"line":5821,"offset":1040361,"length":174,"previous":"M21-GAP-02565","next":"M21-GAP-02567"},"M21-GAP-02567":{"line":5822,"offset":1040535,"length":173,"previous":"M21-GAP-02566","next":"M21-GAP-02568"},"M21-GAP-02568":{"line":5823,"offset":1040708,"length":174,"previous":"M21-GAP-02567","next":"M21-GAP-02569"},"M21-GAP-02569":{"line":5824,"offset":1040882,"length":174,"previous":"M21-GAP-02568","next":"M21-GAP-02570"},"M21-GAP-02570":{"line":5825,"offset":1041056,"length":174,"previous":"M21-GAP-02569","next":"M21-GAP-02571"},"M21-GAP-02571":{"line":5826,"offset":1041230,"length":174,"previous":"M21-GAP-02570","next":"M21-GAP-02572"},"M21-GAP-02572":{"line":5827,"offset":1041404,"length":174,"previous":"M21-GAP-02571","next":"M21-GAP-02573"},"M21-GAP-02573":{"line":5828,"offset":1041578,"length":174,"previous":"M21-GAP-02572","next":"M21-GAP-02574"},"M21-GAP-02574":{"line":5829,"offset":1041752,"length":174,"previous":"M21-GAP-02573","next":"M21-GAP-02575"},"M21-GAP-02575":{"line":5830,"offset":1041926,"length":174,"previous":"M21-GAP-02574","next":"M21-GAP-02576"},"M21-GAP-02576":{"line":5831,"offset":1042100,"length":174,"previous":"M21-GAP-02575","next":"M21-GAP-02577"},"M21-GAP-02577":{"line":5832,"offset":1042274,"length":174,"previous":"M21-GAP-02576","next":"M21-GAP-02578"},"M21-GAP-02578":{"line":5833,"offset":1042448,"length":173,"previous":"M21-GAP-02577","next":"M21-GAP-02579"},"M21-GAP-02579":{"line":5834,"offset":1042621,"length":174,"previous":"M21-GAP-02578","next":"M21-GAP-02580"},"M21-GAP-02580":{"line":5835,"offset":1042795,"length":174,"previous":"M21-GAP-02579","next":"M21-GAP-02581"},"M21-GAP-02581":{"line":5836,"offset":1042969,"length":174,"previous":"M21-GAP-02580","next":"M21-GAP-02582"},"M21-GAP-02582":{"line":5837,"offset":1043143,"length":174,"previous":"M21-GAP-02581","next":"M21-GAP-02583"},"M21-GAP-02583":{"line":5838,"offset":1043317,"length":174,"previous":"M21-GAP-02582","next":"M21-GAP-02584"},"M21-GAP-02584":{"line":5839,"offset":1043491,"length":174,"previous":"M21-GAP-02583","next":"M21-GAP-02585"},"M21-GAP-02585":{"line":5840,"offset":1043665,"length":174,"previous":"M21-GAP-02584","next":"M21-GAP-02586"},"M21-GAP-02586":{"line":5841,"offset":1043839,"length":174,"previous":"M21-GAP-02585","next":"M21-GAP-02587"},"M21-GAP-02587":{"line":5842,"offset":1044013,"length":174,"previous":"M21-GAP-02586","next":"M21-GAP-02588"},"M21-GAP-02588":{"line":5843,"offset":1044187,"length":174,"previous":"M21-GAP-02587","next":"M21-GAP-02589"},"M21-GAP-02589":{"line":5844,"offset":1044361,"length":173,"previous":"M21-GAP-02588","next":"M21-GAP-02590"},"M21-GAP-02590":{"line":5845,"offset":1044534,"length":174,"previous":"M21-GAP-02589","next":"M21-GAP-02591"},"M21-GAP-02591":{"line":5846,"offset":1044708,"length":174,"previous":"M21-GAP-02590","next":"M21-GAP-02592"},"M21-GAP-02592":{"line":5847,"offset":1044882,"length":174,"previous":"M21-GAP-02591","next":"M21-GAP-02593"},"M21-GAP-02593":{"line":5848,"offset":1045056,"length":174,"previous":"M21-GAP-02592","next":"M21-GAP-02594"},"M21-GAP-02594":{"line":5849,"offset":1045230,"length":174,"previous":"M21-GAP-02593","next":"M21-GAP-02595"},"M21-GAP-02595":{"line":5850,"offset":1045404,"length":174,"previous":"M21-GAP-02594","next":"M21-GAP-02596"},"M21-GAP-02596":{"line":5851,"offset":1045578,"length":174,"previous":"M21-GAP-02595","next":"M21-GAP-02597"},"M21-GAP-02597":{"line":5852,"offset":1045752,"length":173,"previous":"M21-GAP-02596","next":"M21-GAP-02598"},"M21-GAP-02598":{"line":5853,"offset":1045925,"length":173,"previous":"M21-GAP-02597","next":"M21-GAP-02599"},"M21-GAP-02599":{"line":5854,"offset":1046098,"length":173,"previous":"M21-GAP-02598","next":"M21-GAP-02600"},"M21-GAP-02600":{"line":5855,"offset":1046271,"length":195,"previous":"M21-GAP-02599","next":"M21-GAP-02601"},"M21-GAP-02601":{"line":5856,"offset":1046466,"length":195,"previous":"M21-GAP-02600","next":"M21-GAP-02602"},"M21-GAP-02602":{"line":5857,"offset":1046661,"length":198,"previous":"M21-GAP-02601","next":"M21-GAP-02603"},"M21-GAP-02603":{"line":5858,"offset":1046859,"length":198,"previous":"M21-GAP-02602","next":"M21-GAP-02604"},"M21-GAP-02604":{"line":5859,"offset":1047057,"length":198,"previous":"M21-GAP-02603","next":"M21-GAP-02605"},"M21-GAP-02605":{"line":5860,"offset":1047255,"length":198,"previous":"M21-GAP-02604","next":"M21-GAP-02606"},"M21-GAP-02606":{"line":5861,"offset":1047453,"length":198,"previous":"M21-GAP-02605","next":"M21-GAP-02607"},"M21-GAP-02607":{"line":5862,"offset":1047651,"length":198,"previous":"M21-GAP-02606","next":"M21-GAP-02608"},"M21-GAP-02608":{"line":5863,"offset":1047849,"length":214,"previous":"M21-GAP-02607","next":"M21-GAP-02609"},"M21-GAP-02609":{"line":5864,"offset":1048063,"length":214,"previous":"M21-GAP-02608","next":"M21-GAP-02610"},"M21-GAP-02610":{"line":5865,"offset":1048277,"length":214,"previous":"M21-GAP-02609","next":"M21-GAP-02611"},"M21-GAP-02611":{"line":5866,"offset":1048491,"length":214,"previous":"M21-GAP-02610","next":"M21-GAP-02612"},"M21-GAP-02612":{"line":5867,"offset":1048705,"length":214,"previous":"M21-GAP-02611","next":"M21-GAP-02613"},"M21-GAP-02613":{"line":5868,"offset":1048919,"length":214,"previous":"M21-GAP-02612","next":"M21-GAP-02614"},"M21-GAP-02614":{"line":5869,"offset":1049133,"length":203,"previous":"M21-GAP-02613","next":"M21-GAP-02615"},"M21-GAP-02615":{"line":5870,"offset":1049336,"length":203,"previous":"M21-GAP-02614","next":"M21-GAP-02616"},"M21-GAP-02616":{"line":5871,"offset":1049539,"length":203,"previous":"M21-GAP-02615","next":"M21-GAP-02617"},"M21-GAP-02617":{"line":5872,"offset":1049742,"length":203,"previous":"M21-GAP-02616","next":"M21-GAP-02618"},"M21-GAP-02618":{"line":5873,"offset":1049945,"length":203,"previous":"M21-GAP-02617","next":"M21-GAP-02619"},"M21-GAP-02619":{"line":5874,"offset":1050148,"length":203,"previous":"M21-GAP-02618","next":"M21-GAP-02620"},"M21-GAP-02620":{"line":5875,"offset":1050351,"length":217,"previous":"M21-GAP-02619","next":"M21-GAP-02621"},"M21-GAP-02621":{"line":5876,"offset":1050568,"length":217,"previous":"M21-GAP-02620","next":"M21-GAP-02622"},"M21-GAP-02622":{"line":5877,"offset":1050785,"length":217,"previous":"M21-GAP-02621","next":"M21-GAP-02623"},"M21-GAP-02623":{"line":5878,"offset":1051002,"length":206,"previous":"M21-GAP-02622","next":"M21-GAP-02624"},"M21-GAP-02624":{"line":5879,"offset":1051208,"length":206,"previous":"M21-GAP-02623","next":"M21-GAP-02625"},"M21-GAP-02625":{"line":5880,"offset":1051414,"length":206,"previous":"M21-GAP-02624","next":"M21-GAP-02626"},"M21-GAP-02626":{"line":5881,"offset":1051620,"length":216,"previous":"M21-GAP-02625","next":"M21-GAP-02627"},"M21-GAP-02627":{"line":5882,"offset":1051836,"length":216,"previous":"M21-GAP-02626","next":"M21-GAP-02628"},"M21-GAP-02628":{"line":5883,"offset":1052052,"length":216,"previous":"M21-GAP-02627","next":"M21-GAP-02629"},"M21-GAP-02629":{"line":5884,"offset":1052268,"length":205,"previous":"M21-GAP-02628","next":"M21-GAP-02630"},"M21-GAP-02630":{"line":5885,"offset":1052473,"length":205,"previous":"M21-GAP-02629","next":"M21-GAP-02631"},"M21-GAP-02631":{"line":5886,"offset":1052678,"length":205,"previous":"M21-GAP-02630","next":"M21-GAP-02632"},"M21-GAP-02632":{"line":5887,"offset":1052883,"length":197,"previous":"M21-GAP-02631","next":"M21-GAP-02633"},"M21-GAP-02633":{"line":5888,"offset":1053080,"length":197,"previous":"M21-GAP-02632","next":"M21-GAP-02634"},"M21-GAP-02634":{"line":5889,"offset":1053277,"length":186,"previous":"M21-GAP-02633","next":"M21-GAP-02635"},"M21-GAP-02635":{"line":5890,"offset":1053463,"length":186,"previous":"M21-GAP-02634","next":"M21-GAP-02636"},"M21-GAP-02636":{"line":5891,"offset":1053649,"length":187,"previous":"M21-GAP-02635","next":"M21-GAP-02637"},"M21-GAP-02637":{"line":5892,"offset":1053836,"length":187,"previous":"M21-GAP-02636","next":"M21-GAP-02638"},"M21-GAP-02638":{"line":5893,"offset":1054023,"length":187,"previous":"M21-GAP-02637","next":"M21-GAP-02639"},"M21-GAP-02639":{"line":5894,"offset":1054210,"length":187,"previous":"M21-GAP-02638","next":"M21-GAP-02640"},"M21-GAP-02640":{"line":5895,"offset":1054397,"length":187,"previous":"M21-GAP-02639","next":"M21-GAP-02641"},"M21-GAP-02641":{"line":5896,"offset":1054584,"length":187,"previous":"M21-GAP-02640","next":"M21-GAP-02642"},"M21-GAP-02642":{"line":5897,"offset":1054771,"length":187,"previous":"M21-GAP-02641","next":"M21-GAP-02643"},"M21-GAP-02643":{"line":5898,"offset":1054958,"length":187,"previous":"M21-GAP-02642","next":"M21-GAP-02644"},"M21-GAP-02644":{"line":5899,"offset":1055145,"length":187,"previous":"M21-GAP-02643","next":"M21-GAP-02645"},"M21-GAP-02645":{"line":5900,"offset":1055332,"length":187,"previous":"M21-GAP-02644","next":"M21-GAP-02646"},"M21-GAP-02646":{"line":5901,"offset":1055519,"length":186,"previous":"M21-GAP-02645","next":"M21-GAP-02647"},"M21-GAP-02647":{"line":5902,"offset":1055705,"length":187,"previous":"M21-GAP-02646","next":"M21-GAP-02648"},"M21-GAP-02648":{"line":5903,"offset":1055892,"length":187,"previous":"M21-GAP-02647","next":"M21-GAP-02649"},"M21-GAP-02649":{"line":5904,"offset":1056079,"length":187,"previous":"M21-GAP-02648","next":"M21-GAP-02650"},"M21-GAP-02650":{"line":5905,"offset":1056266,"length":187,"previous":"M21-GAP-02649","next":"M21-GAP-02651"},"M21-GAP-02651":{"line":5906,"offset":1056453,"length":187,"previous":"M21-GAP-02650","next":"M21-GAP-02652"},"M21-GAP-02652":{"line":5907,"offset":1056640,"length":187,"previous":"M21-GAP-02651","next":"M21-GAP-02653"},"M21-GAP-02653":{"line":5908,"offset":1056827,"length":187,"previous":"M21-GAP-02652","next":"M21-GAP-02654"},"M21-GAP-02654":{"line":5909,"offset":1057014,"length":187,"previous":"M21-GAP-02653","next":"M21-GAP-02655"},"M21-GAP-02655":{"line":5910,"offset":1057201,"length":187,"previous":"M21-GAP-02654","next":"M21-GAP-02656"},"M21-GAP-02656":{"line":5911,"offset":1057388,"length":187,"previous":"M21-GAP-02655","next":"M21-GAP-02657"},"M21-GAP-02657":{"line":5912,"offset":1057575,"length":186,"previous":"M21-GAP-02656","next":"M21-GAP-02658"},"M21-GAP-02658":{"line":5913,"offset":1057761,"length":187,"previous":"M21-GAP-02657","next":"M21-GAP-02659"},"M21-GAP-02659":{"line":5914,"offset":1057948,"length":187,"previous":"M21-GAP-02658","next":"M21-GAP-02660"},"M21-GAP-02660":{"line":5915,"offset":1058135,"length":187,"previous":"M21-GAP-02659","next":"M21-GAP-02661"},"M21-GAP-02661":{"line":5916,"offset":1058322,"length":187,"previous":"M21-GAP-02660","next":"M21-GAP-02662"},"M21-GAP-02662":{"line":5917,"offset":1058509,"length":187,"previous":"M21-GAP-02661","next":"M21-GAP-02663"},"M21-GAP-02663":{"line":5918,"offset":1058696,"length":187,"previous":"M21-GAP-02662","next":"M21-GAP-02664"},"M21-GAP-02664":{"line":5919,"offset":1058883,"length":187,"previous":"M21-GAP-02663","next":"M21-GAP-02665"},"M21-GAP-02665":{"line":5920,"offset":1059070,"length":187,"previous":"M21-GAP-02664","next":"M21-GAP-02666"},"M21-GAP-02666":{"line":5921,"offset":1059257,"length":187,"previous":"M21-GAP-02665","next":"M21-GAP-02667"},"M21-GAP-02667":{"line":5922,"offset":1059444,"length":187,"previous":"M21-GAP-02666","next":"M21-GAP-02668"},"M21-GAP-02668":{"line":5923,"offset":1059631,"length":186,"previous":"M21-GAP-02667","next":"M21-GAP-02669"},"M21-GAP-02669":{"line":5924,"offset":1059817,"length":187,"previous":"M21-GAP-02668","next":"M21-GAP-02670"},"M21-GAP-02670":{"line":5925,"offset":1060004,"length":187,"previous":"M21-GAP-02669","next":"M21-GAP-02671"},"M21-GAP-02671":{"line":5926,"offset":1060191,"length":187,"previous":"M21-GAP-02670","next":"M21-GAP-02672"},"M21-GAP-02672":{"line":5927,"offset":1060378,"length":187,"previous":"M21-GAP-02671","next":"M21-GAP-02673"},"M21-GAP-02673":{"line":5928,"offset":1060565,"length":187,"previous":"M21-GAP-02672","next":"M21-GAP-02674"},"M21-GAP-02674":{"line":5929,"offset":1060752,"length":187,"previous":"M21-GAP-02673","next":"M21-GAP-02675"},"M21-GAP-02675":{"line":5930,"offset":1060939,"length":187,"previous":"M21-GAP-02674","next":"M21-GAP-02676"},"M21-GAP-02676":{"line":5931,"offset":1061126,"length":187,"previous":"M21-GAP-02675","next":"M21-GAP-02677"},"M21-GAP-02677":{"line":5932,"offset":1061313,"length":187,"previous":"M21-GAP-02676","next":"M21-GAP-02678"},"M21-GAP-02678":{"line":5933,"offset":1061500,"length":187,"previous":"M21-GAP-02677","next":"M21-GAP-02679"},"M21-GAP-02679":{"line":5934,"offset":1061687,"length":186,"previous":"M21-GAP-02678","next":"M21-GAP-02680"},"M21-GAP-02680":{"line":5935,"offset":1061873,"length":187,"previous":"M21-GAP-02679","next":"M21-GAP-02681"},"M21-GAP-02681":{"line":5936,"offset":1062060,"length":187,"previous":"M21-GAP-02680","next":"M21-GAP-02682"},"M21-GAP-02682":{"line":5937,"offset":1062247,"length":187,"previous":"M21-GAP-02681","next":"M21-GAP-02683"},"M21-GAP-02683":{"line":5938,"offset":1062434,"length":187,"previous":"M21-GAP-02682","next":"M21-GAP-02684"},"M21-GAP-02684":{"line":5939,"offset":1062621,"length":187,"previous":"M21-GAP-02683","next":"M21-GAP-02685"},"M21-GAP-02685":{"line":5940,"offset":1062808,"length":187,"previous":"M21-GAP-02684","next":"M21-GAP-02686"},"M21-GAP-02686":{"line":5941,"offset":1062995,"length":187,"previous":"M21-GAP-02685","next":"M21-GAP-02687"},"M21-GAP-02687":{"line":5942,"offset":1063182,"length":187,"previous":"M21-GAP-02686","next":"M21-GAP-02688"},"M21-GAP-02688":{"line":5943,"offset":1063369,"length":187,"previous":"M21-GAP-02687","next":"M21-GAP-02689"},"M21-GAP-02689":{"line":5944,"offset":1063556,"length":187,"previous":"M21-GAP-02688","next":"M21-GAP-02690"},"M21-GAP-02690":{"line":5945,"offset":1063743,"length":186,"previous":"M21-GAP-02689","next":"M21-GAP-02691"},"M21-GAP-02691":{"line":5946,"offset":1063929,"length":187,"previous":"M21-GAP-02690","next":"M21-GAP-02692"},"M21-GAP-02692":{"line":5947,"offset":1064116,"length":187,"previous":"M21-GAP-02691","next":"M21-GAP-02693"},"M21-GAP-02693":{"line":5948,"offset":1064303,"length":187,"previous":"M21-GAP-02692","next":"M21-GAP-02694"},"M21-GAP-02694":{"line":5949,"offset":1064490,"length":187,"previous":"M21-GAP-02693","next":"M21-GAP-02695"},"M21-GAP-02695":{"line":5950,"offset":1064677,"length":187,"previous":"M21-GAP-02694","next":"M21-GAP-02696"},"M21-GAP-02696":{"line":5951,"offset":1064864,"length":187,"previous":"M21-GAP-02695","next":"M21-GAP-02697"},"M21-GAP-02697":{"line":5952,"offset":1065051,"length":187,"previous":"M21-GAP-02696","next":"M21-GAP-02698"},"M21-GAP-02698":{"line":5953,"offset":1065238,"length":187,"previous":"M21-GAP-02697","next":"M21-GAP-02699"},"M21-GAP-02699":{"line":5954,"offset":1065425,"length":187,"previous":"M21-GAP-02698","next":"M21-GAP-02700"},"M21-GAP-02700":{"line":5955,"offset":1065612,"length":187,"previous":"M21-GAP-02699","next":"M21-GAP-02701"},"M21-GAP-02701":{"line":5956,"offset":1065799,"length":186,"previous":"M21-GAP-02700","next":"M21-GAP-02702"},"M21-GAP-02702":{"line":5957,"offset":1065985,"length":187,"previous":"M21-GAP-02701","next":"M21-GAP-02703"},"M21-GAP-02703":{"line":5958,"offset":1066172,"length":187,"previous":"M21-GAP-02702","next":"M21-GAP-02704"},"M21-GAP-02704":{"line":5959,"offset":1066359,"length":187,"previous":"M21-GAP-02703","next":"M21-GAP-02705"},"M21-GAP-02705":{"line":5960,"offset":1066546,"length":187,"previous":"M21-GAP-02704","next":"M21-GAP-02706"},"M21-GAP-02706":{"line":5961,"offset":1066733,"length":187,"previous":"M21-GAP-02705","next":"M21-GAP-02707"},"M21-GAP-02707":{"line":5962,"offset":1066920,"length":187,"previous":"M21-GAP-02706","next":"M21-GAP-02708"},"M21-GAP-02708":{"line":5963,"offset":1067107,"length":187,"previous":"M21-GAP-02707","next":"M21-GAP-02709"},"M21-GAP-02709":{"line":5964,"offset":1067294,"length":187,"previous":"M21-GAP-02708","next":"M21-GAP-02710"},"M21-GAP-02710":{"line":5965,"offset":1067481,"length":187,"previous":"M21-GAP-02709","next":"M21-GAP-02711"},"M21-GAP-02711":{"line":5966,"offset":1067668,"length":187,"previous":"M21-GAP-02710","next":"M21-GAP-02712"},"M21-GAP-02712":{"line":5967,"offset":1067855,"length":186,"previous":"M21-GAP-02711","next":"M21-GAP-02713"},"M21-GAP-02713":{"line":5968,"offset":1068041,"length":187,"previous":"M21-GAP-02712","next":"M21-GAP-02714"},"M21-GAP-02714":{"line":5969,"offset":1068228,"length":187,"previous":"M21-GAP-02713","next":"M21-GAP-02715"},"M21-GAP-02715":{"line":5970,"offset":1068415,"length":187,"previous":"M21-GAP-02714","next":"M21-GAP-02716"},"M21-GAP-02716":{"line":5971,"offset":1068602,"length":187,"previous":"M21-GAP-02715","next":"M21-GAP-02717"},"M21-GAP-02717":{"line":5972,"offset":1068789,"length":187,"previous":"M21-GAP-02716","next":"M21-GAP-02718"},"M21-GAP-02718":{"line":5973,"offset":1068976,"length":187,"previous":"M21-GAP-02717","next":"M21-GAP-02719"},"M21-GAP-02719":{"line":5974,"offset":1069163,"length":187,"previous":"M21-GAP-02718","next":"M21-GAP-02720"},"M21-GAP-02720":{"line":5975,"offset":1069350,"length":187,"previous":"M21-GAP-02719","next":"M21-GAP-02721"},"M21-GAP-02721":{"line":5976,"offset":1069537,"length":187,"previous":"M21-GAP-02720","next":"M21-GAP-02722"},"M21-GAP-02722":{"line":5977,"offset":1069724,"length":187,"previous":"M21-GAP-02721","next":"M21-GAP-02723"},"M21-GAP-02723":{"line":5978,"offset":1069911,"length":186,"previous":"M21-GAP-02722","next":"M21-GAP-02724"},"M21-GAP-02724":{"line":5979,"offset":1070097,"length":187,"previous":"M21-GAP-02723","next":"M21-GAP-02725"},"M21-GAP-02725":{"line":5980,"offset":1070284,"length":187,"previous":"M21-GAP-02724","next":"M21-GAP-02726"},"M21-GAP-02726":{"line":5981,"offset":1070471,"length":187,"previous":"M21-GAP-02725","next":"M21-GAP-02727"},"M21-GAP-02727":{"line":5982,"offset":1070658,"length":187,"previous":"M21-GAP-02726","next":"M21-GAP-02728"},"M21-GAP-02728":{"line":5983,"offset":1070845,"length":187,"previous":"M21-GAP-02727","next":"M21-GAP-02729"},"M21-GAP-02729":{"line":5984,"offset":1071032,"length":177,"previous":"M21-GAP-02728","next":"M21-GAP-02730"},"M21-GAP-02730":{"line":5985,"offset":1071209,"length":177,"previous":"M21-GAP-02729","next":"M21-GAP-02731"},"M21-GAP-02731":{"line":5986,"offset":1071386,"length":178,"previous":"M21-GAP-02730","next":"M21-GAP-02732"},"M21-GAP-02732":{"line":5987,"offset":1071564,"length":178,"previous":"M21-GAP-02731","next":"M21-GAP-02733"},"M21-GAP-02733":{"line":5988,"offset":1071742,"length":177,"previous":"M21-GAP-02732","next":"M21-GAP-02734"},"M21-GAP-02734":{"line":5989,"offset":1071919,"length":177,"previous":"M21-GAP-02733","next":"M21-GAP-02735"},"M21-GAP-02735":{"line":5990,"offset":1072096,"length":177,"previous":"M21-GAP-02734","next":"M21-GAP-02736"},"M21-GAP-02736":{"line":5991,"offset":1072273,"length":177,"previous":"M21-GAP-02735","next":"M21-GAP-02737"},"M21-GAP-02737":{"line":5992,"offset":1072450,"length":177,"previous":"M21-GAP-02736","next":"M21-GAP-02738"},"M21-GAP-02738":{"line":5993,"offset":1072627,"length":177,"previous":"M21-GAP-02737","next":"M21-GAP-02739"},"M21-GAP-02739":{"line":5994,"offset":1072804,"length":177,"previous":"M21-GAP-02738","next":"M21-GAP-02740"},"M21-GAP-02740":{"line":5995,"offset":1072981,"length":177,"previous":"M21-GAP-02739","next":"M21-GAP-02741"},"M21-GAP-02741":{"line":5996,"offset":1073158,"length":192,"previous":"M21-GAP-02740","next":"M21-GAP-02742"},"M21-GAP-02742":{"line":5997,"offset":1073350,"length":192,"previous":"M21-GAP-02741","next":"M21-GAP-02743"},"M21-GAP-02743":{"line":5998,"offset":1073542,"length":192,"previous":"M21-GAP-02742","next":"M21-GAP-02744"},"M21-GAP-02744":{"line":5999,"offset":1073734,"length":192,"previous":"M21-GAP-02743","next":"M21-GAP-02745"},"M21-GAP-02745":{"line":6000,"offset":1073926,"length":192,"previous":"M21-GAP-02744","next":"M21-GAP-02746"},"M21-GAP-02746":{"line":6001,"offset":1074118,"length":185,"previous":"M21-GAP-02745","next":"M21-GAP-02747"},"M21-GAP-02747":{"line":6002,"offset":1074303,"length":185,"previous":"M21-GAP-02746","next":"M21-GAP-02748"},"M21-GAP-02748":{"line":6003,"offset":1074488,"length":185,"previous":"M21-GAP-02747","next":"M21-GAP-02749"},"M21-GAP-02749":{"line":6004,"offset":1074673,"length":185,"previous":"M21-GAP-02748","next":"M21-GAP-02750"},"M21-GAP-02750":{"line":6005,"offset":1074858,"length":185,"previous":"M21-GAP-02749","next":"M21-GAP-02751"},"M21-GAP-02751":{"line":6006,"offset":1075043,"length":185,"previous":"M21-GAP-02750","next":"M21-GAP-02752"},"M21-GAP-02752":{"line":6007,"offset":1075228,"length":185,"previous":"M21-GAP-02751","next":"M21-GAP-02753"},"M21-GAP-02753":{"line":6008,"offset":1075413,"length":185,"previous":"M21-GAP-02752","next":"M21-GAP-02754"},"M21-GAP-02754":{"line":6009,"offset":1075598,"length":185,"previous":"M21-GAP-02753","next":"M21-GAP-02755"},"M21-GAP-02755":{"line":6010,"offset":1075783,"length":185,"previous":"M21-GAP-02754","next":"M21-GAP-02756"},"M21-GAP-02756":{"line":6011,"offset":1075968,"length":185,"previous":"M21-GAP-02755","next":"M21-GAP-02757"},"M21-GAP-02757":{"line":6012,"offset":1076153,"length":185,"previous":"M21-GAP-02756","next":"M21-GAP-02758"},"M21-GAP-02758":{"line":6013,"offset":1076338,"length":185,"previous":"M21-GAP-02757","next":"M21-GAP-02759"},"M21-GAP-02759":{"line":6014,"offset":1076523,"length":177,"previous":"M21-GAP-02758","next":"M21-GAP-02760"},"M21-GAP-02760":{"line":6015,"offset":1076700,"length":177,"previous":"M21-GAP-02759","next":"M21-GAP-02761"},"M21-GAP-02761":{"line":6016,"offset":1076877,"length":178,"previous":"M21-GAP-02760","next":"M21-GAP-02762"},"M21-GAP-02762":{"line":6017,"offset":1077055,"length":178,"previous":"M21-GAP-02761","next":"M21-GAP-02763"},"M21-GAP-02763":{"line":6018,"offset":1077233,"length":178,"previous":"M21-GAP-02762","next":"M21-GAP-02764"},"M21-GAP-02764":{"line":6019,"offset":1077411,"length":178,"previous":"M21-GAP-02763","next":"M21-GAP-02765"},"M21-GAP-02765":{"line":6020,"offset":1077589,"length":178,"previous":"M21-GAP-02764","next":"M21-GAP-02766"},"M21-GAP-02766":{"line":6021,"offset":1077767,"length":178,"previous":"M21-GAP-02765","next":"M21-GAP-02767"},"M21-GAP-02767":{"line":6022,"offset":1077945,"length":178,"previous":"M21-GAP-02766","next":"M21-GAP-02768"},"M21-GAP-02768":{"line":6023,"offset":1078123,"length":178,"previous":"M21-GAP-02767","next":"M21-GAP-02769"},"M21-GAP-02769":{"line":6024,"offset":1078301,"length":178,"previous":"M21-GAP-02768","next":"M21-GAP-02770"},"M21-GAP-02770":{"line":6025,"offset":1078479,"length":178,"previous":"M21-GAP-02769","next":"M21-GAP-02771"},"M21-GAP-02771":{"line":6026,"offset":1078657,"length":177,"previous":"M21-GAP-02770","next":"M21-GAP-02772"},"M21-GAP-02772":{"line":6027,"offset":1078834,"length":178,"previous":"M21-GAP-02771","next":"M21-GAP-02773"},"M21-GAP-02773":{"line":6028,"offset":1079012,"length":178,"previous":"M21-GAP-02772","next":"M21-GAP-02774"},"M21-GAP-02774":{"line":6029,"offset":1079190,"length":178,"previous":"M21-GAP-02773","next":"M21-GAP-02775"},"M21-GAP-02775":{"line":6030,"offset":1079368,"length":178,"previous":"M21-GAP-02774","next":"M21-GAP-02776"},"M21-GAP-02776":{"line":6031,"offset":1079546,"length":178,"previous":"M21-GAP-02775","next":"M21-GAP-02777"},"M21-GAP-02777":{"line":6032,"offset":1079724,"length":178,"previous":"M21-GAP-02776","next":"M21-GAP-02778"},"M21-GAP-02778":{"line":6033,"offset":1079902,"length":178,"previous":"M21-GAP-02777","next":"M21-GAP-02779"},"M21-GAP-02779":{"line":6034,"offset":1080080,"length":178,"previous":"M21-GAP-02778","next":"M21-GAP-02780"},"M21-GAP-02780":{"line":6035,"offset":1080258,"length":178,"previous":"M21-GAP-02779","next":"M21-GAP-02781"},"M21-GAP-02781":{"line":6036,"offset":1080436,"length":178,"previous":"M21-GAP-02780","next":"M21-GAP-02782"},"M21-GAP-02782":{"line":6037,"offset":1080614,"length":177,"previous":"M21-GAP-02781","next":"M21-GAP-02783"},"M21-GAP-02783":{"line":6038,"offset":1080791,"length":178,"previous":"M21-GAP-02782","next":"M21-GAP-02784"},"M21-GAP-02784":{"line":6039,"offset":1080969,"length":178,"previous":"M21-GAP-02783","next":"M21-GAP-02785"},"M21-GAP-02785":{"line":6040,"offset":1081147,"length":178,"previous":"M21-GAP-02784","next":"M21-GAP-02786"},"M21-GAP-02786":{"line":6041,"offset":1081325,"length":178,"previous":"M21-GAP-02785","next":"M21-GAP-02787"},"M21-GAP-02787":{"line":6042,"offset":1081503,"length":178,"previous":"M21-GAP-02786","next":"M21-GAP-02788"},"M21-GAP-02788":{"line":6043,"offset":1081681,"length":178,"previous":"M21-GAP-02787","next":"M21-GAP-02789"},"M21-GAP-02789":{"line":6044,"offset":1081859,"length":178,"previous":"M21-GAP-02788","next":"M21-GAP-02790"},"M21-GAP-02790":{"line":6045,"offset":1082037,"length":178,"previous":"M21-GAP-02789","next":"M21-GAP-02791"},"M21-GAP-02791":{"line":6046,"offset":1082215,"length":178,"previous":"M21-GAP-02790","next":"M21-GAP-02792"},"M21-GAP-02792":{"line":6047,"offset":1082393,"length":178,"previous":"M21-GAP-02791","next":"M21-GAP-02793"},"M21-GAP-02793":{"line":6048,"offset":1082571,"length":177,"previous":"M21-GAP-02792","next":"M21-GAP-02794"},"M21-GAP-02794":{"line":6049,"offset":1082748,"length":178,"previous":"M21-GAP-02793","next":"M21-GAP-02795"},"M21-GAP-02795":{"line":6050,"offset":1082926,"length":178,"previous":"M21-GAP-02794","next":"M21-GAP-02796"},"M21-GAP-02796":{"line":6051,"offset":1083104,"length":178,"previous":"M21-GAP-02795","next":"M21-GAP-02797"},"M21-GAP-02797":{"line":6052,"offset":1083282,"length":178,"previous":"M21-GAP-02796","next":"M21-GAP-02798"},"M21-GAP-02798":{"line":6053,"offset":1083460,"length":178,"previous":"M21-GAP-02797","next":"M21-GAP-02799"},"M21-GAP-02799":{"line":6054,"offset":1083638,"length":178,"previous":"M21-GAP-02798","next":"M21-GAP-02800"},"M21-GAP-02800":{"line":6055,"offset":1083816,"length":178,"previous":"M21-GAP-02799","next":"M21-GAP-02801"},"M21-GAP-02801":{"line":6056,"offset":1083994,"length":178,"previous":"M21-GAP-02800","next":"M21-GAP-02802"},"M21-GAP-02802":{"line":6057,"offset":1084172,"length":178,"previous":"M21-GAP-02801","next":"M21-GAP-02803"},"M21-GAP-02803":{"line":6058,"offset":1084350,"length":178,"previous":"M21-GAP-02802","next":"M21-GAP-02804"},"M21-GAP-02804":{"line":6059,"offset":1084528,"length":177,"previous":"M21-GAP-02803","next":"M21-GAP-02805"},"M21-GAP-02805":{"line":6060,"offset":1084705,"length":178,"previous":"M21-GAP-02804","next":"M21-GAP-02806"},"M21-GAP-02806":{"line":6061,"offset":1084883,"length":178,"previous":"M21-GAP-02805","next":"M21-GAP-02807"},"M21-GAP-02807":{"line":6062,"offset":1085061,"length":178,"previous":"M21-GAP-02806","next":"M21-GAP-02808"},"M21-GAP-02808":{"line":6063,"offset":1085239,"length":178,"previous":"M21-GAP-02807","next":"M21-GAP-02809"},"M21-GAP-02809":{"line":6064,"offset":1085417,"length":178,"previous":"M21-GAP-02808","next":"M21-GAP-02810"},"M21-GAP-02810":{"line":6065,"offset":1085595,"length":178,"previous":"M21-GAP-02809","next":"M21-GAP-02811"},"M21-GAP-02811":{"line":6066,"offset":1085773,"length":178,"previous":"M21-GAP-02810","next":"M21-GAP-02812"},"M21-GAP-02812":{"line":6067,"offset":1085951,"length":178,"previous":"M21-GAP-02811","next":"M21-GAP-02813"},"M21-GAP-02813":{"line":6068,"offset":1086129,"length":178,"previous":"M21-GAP-02812","next":"M21-GAP-02814"},"M21-GAP-02814":{"line":6069,"offset":1086307,"length":178,"previous":"M21-GAP-02813","next":"M21-GAP-02815"},"M21-GAP-02815":{"line":6070,"offset":1086485,"length":177,"previous":"M21-GAP-02814","next":"M21-GAP-02816"},"M21-GAP-02816":{"line":6071,"offset":1086662,"length":178,"previous":"M21-GAP-02815","next":"M21-GAP-02817"},"M21-GAP-02817":{"line":6072,"offset":1086840,"length":178,"previous":"M21-GAP-02816","next":"M21-GAP-02818"},"M21-GAP-02818":{"line":6073,"offset":1087018,"length":178,"previous":"M21-GAP-02817","next":"M21-GAP-02819"},"M21-GAP-02819":{"line":6074,"offset":1087196,"length":178,"previous":"M21-GAP-02818","next":"M21-GAP-02820"},"M21-GAP-02820":{"line":6075,"offset":1087374,"length":178,"previous":"M21-GAP-02819","next":"M21-GAP-02821"},"M21-GAP-02821":{"line":6076,"offset":1087552,"length":178,"previous":"M21-GAP-02820","next":"M21-GAP-02822"},"M21-GAP-02822":{"line":6077,"offset":1087730,"length":178,"previous":"M21-GAP-02821","next":"M21-GAP-02823"},"M21-GAP-02823":{"line":6078,"offset":1087908,"length":178,"previous":"M21-GAP-02822","next":"M21-GAP-02824"},"M21-GAP-02824":{"line":6079,"offset":1088086,"length":178,"previous":"M21-GAP-02823","next":"M21-GAP-02825"},"M21-GAP-02825":{"line":6080,"offset":1088264,"length":178,"previous":"M21-GAP-02824","next":"M21-GAP-02826"},"M21-GAP-02826":{"line":6081,"offset":1088442,"length":177,"previous":"M21-GAP-02825","next":"M21-GAP-02827"},"M21-GAP-02827":{"line":6082,"offset":1088619,"length":178,"previous":"M21-GAP-02826","next":"M21-GAP-02828"},"M21-GAP-02828":{"line":6083,"offset":1088797,"length":177,"previous":"M21-GAP-02827","next":"M21-GAP-02829"},"M21-GAP-02829":{"line":6084,"offset":1088974,"length":177,"previous":"M21-GAP-02828","next":"M21-GAP-02830"},"M21-GAP-02830":{"line":6085,"offset":1089151,"length":177,"previous":"M21-GAP-02829","next":"M21-GAP-02831"},"M21-GAP-02831":{"line":6086,"offset":1089328,"length":183,"previous":"M21-GAP-02830","next":"M21-GAP-02832"},"M21-GAP-02832":{"line":6087,"offset":1089511,"length":183,"previous":"M21-GAP-02831","next":"M21-GAP-02833"},"M21-GAP-02833":{"line":6088,"offset":1089694,"length":183,"previous":"M21-GAP-02832","next":"M21-GAP-02834"},"M21-GAP-02834":{"line":6089,"offset":1089877,"length":183,"previous":"M21-GAP-02833","next":"M21-GAP-02835"},"M21-GAP-02835":{"line":6090,"offset":1090060,"length":183,"previous":"M21-GAP-02834","next":"M21-GAP-02836"},"M21-GAP-02836":{"line":6091,"offset":1090243,"length":198,"previous":"M21-GAP-02835","next":"M21-GAP-02837"},"M21-GAP-02837":{"line":6092,"offset":1090441,"length":198,"previous":"M21-GAP-02836","next":"M21-GAP-02838"},"M21-GAP-02838":{"line":6093,"offset":1090639,"length":198,"previous":"M21-GAP-02837","next":"M21-GAP-02839"},"M21-GAP-02839":{"line":6094,"offset":1090837,"length":198,"previous":"M21-GAP-02838","next":"M21-GAP-02840"},"M21-GAP-02840":{"line":6095,"offset":1091035,"length":198,"previous":"M21-GAP-02839","next":"M21-GAP-02841"},"M21-GAP-02841":{"line":6096,"offset":1091233,"length":198,"previous":"M21-GAP-02840","next":"M21-GAP-02842"},"M21-GAP-02842":{"line":6097,"offset":1091431,"length":198,"previous":"M21-GAP-02841","next":"M21-GAP-02843"},"M21-GAP-02843":{"line":6098,"offset":1091629,"length":198,"previous":"M21-GAP-02842","next":"M21-GAP-02844"},"M21-GAP-02844":{"line":6099,"offset":1091827,"length":198,"previous":"M21-GAP-02843","next":"M21-GAP-02845"},"M21-GAP-02845":{"line":6100,"offset":1092025,"length":186,"previous":"M21-GAP-02844","next":"M21-GAP-02846"},"M21-GAP-02846":{"line":6101,"offset":1092211,"length":186,"previous":"M21-GAP-02845","next":"M21-GAP-02847"},"M21-GAP-02847":{"line":6102,"offset":1092397,"length":187,"previous":"M21-GAP-02846","next":"M21-GAP-02848"},"M21-GAP-02848":{"line":6103,"offset":1092584,"length":187,"previous":"M21-GAP-02847","next":"M21-GAP-02849"},"M21-GAP-02849":{"line":6104,"offset":1092771,"length":187,"previous":"M21-GAP-02848","next":"M21-GAP-02850"},"M21-GAP-02850":{"line":6105,"offset":1092958,"length":187,"previous":"M21-GAP-02849","next":"M21-GAP-02851"},"M21-GAP-02851":{"line":6106,"offset":1093145,"length":187,"previous":"M21-GAP-02850","next":"M21-GAP-02852"},"M21-GAP-02852":{"line":6107,"offset":1093332,"length":187,"previous":"M21-GAP-02851","next":"M21-GAP-02853"},"M21-GAP-02853":{"line":6108,"offset":1093519,"length":187,"previous":"M21-GAP-02852","next":"M21-GAP-02854"},"M21-GAP-02854":{"line":6109,"offset":1093706,"length":187,"previous":"M21-GAP-02853","next":"M21-GAP-02855"},"M21-GAP-02855":{"line":6110,"offset":1093893,"length":187,"previous":"M21-GAP-02854","next":"M21-GAP-02856"},"M21-GAP-02856":{"line":6111,"offset":1094080,"length":187,"previous":"M21-GAP-02855","next":"M21-GAP-02857"},"M21-GAP-02857":{"line":6112,"offset":1094267,"length":186,"previous":"M21-GAP-02856","next":"M21-GAP-02858"},"M21-GAP-02858":{"line":6113,"offset":1094453,"length":187,"previous":"M21-GAP-02857","next":"M21-GAP-02859"},"M21-GAP-02859":{"line":6114,"offset":1094640,"length":187,"previous":"M21-GAP-02858","next":"M21-GAP-02860"},"M21-GAP-02860":{"line":6115,"offset":1094827,"length":187,"previous":"M21-GAP-02859","next":"M21-GAP-02861"},"M21-GAP-02861":{"line":6116,"offset":1095014,"length":187,"previous":"M21-GAP-02860","next":"M21-GAP-02862"},"M21-GAP-02862":{"line":6117,"offset":1095201,"length":187,"previous":"M21-GAP-02861","next":"M21-GAP-02863"},"M21-GAP-02863":{"line":6118,"offset":1095388,"length":187,"previous":"M21-GAP-02862","next":"M21-GAP-02864"},"M21-GAP-02864":{"line":6119,"offset":1095575,"length":187,"previous":"M21-GAP-02863","next":"M21-GAP-02865"},"M21-GAP-02865":{"line":6120,"offset":1095762,"length":187,"previous":"M21-GAP-02864","next":"M21-GAP-02866"},"M21-GAP-02866":{"line":6121,"offset":1095949,"length":187,"previous":"M21-GAP-02865","next":"M21-GAP-02867"},"M21-GAP-02867":{"line":6122,"offset":1096136,"length":187,"previous":"M21-GAP-02866","next":"M21-GAP-02868"},"M21-GAP-02868":{"line":6123,"offset":1096323,"length":186,"previous":"M21-GAP-02867","next":"M21-GAP-02869"},"M21-GAP-02869":{"line":6124,"offset":1096509,"length":187,"previous":"M21-GAP-02868","next":"M21-GAP-02870"},"M21-GAP-02870":{"line":6125,"offset":1096696,"length":187,"previous":"M21-GAP-02869","next":"M21-GAP-02871"},"M21-GAP-02871":{"line":6126,"offset":1096883,"length":187,"previous":"M21-GAP-02870","next":"M21-GAP-02872"},"M21-GAP-02872":{"line":6127,"offset":1097070,"length":187,"previous":"M21-GAP-02871","next":"M21-GAP-02873"},"M21-GAP-02873":{"line":6128,"offset":1097257,"length":187,"previous":"M21-GAP-02872","next":"M21-GAP-02874"},"M21-GAP-02874":{"line":6129,"offset":1097444,"length":187,"previous":"M21-GAP-02873","next":"M21-GAP-02875"},"M21-GAP-02875":{"line":6130,"offset":1097631,"length":187,"previous":"M21-GAP-02874","next":"M21-GAP-02876"},"M21-GAP-02876":{"line":6131,"offset":1097818,"length":187,"previous":"M21-GAP-02875","next":"M21-GAP-02877"},"M21-GAP-02877":{"line":6132,"offset":1098005,"length":187,"previous":"M21-GAP-02876","next":"M21-GAP-02878"},"M21-GAP-02878":{"line":6133,"offset":1098192,"length":187,"previous":"M21-GAP-02877","next":"M21-GAP-02879"},"M21-GAP-02879":{"line":6134,"offset":1098379,"length":186,"previous":"M21-GAP-02878","next":"M21-GAP-02880"},"M21-GAP-02880":{"line":6135,"offset":1098565,"length":187,"previous":"M21-GAP-02879","next":"M21-GAP-02881"},"M21-GAP-02881":{"line":6136,"offset":1098752,"length":187,"previous":"M21-GAP-02880","next":"M21-GAP-02882"},"M21-GAP-02882":{"line":6137,"offset":1098939,"length":187,"previous":"M21-GAP-02881","next":"M21-GAP-02883"},"M21-GAP-02883":{"line":6138,"offset":1099126,"length":187,"previous":"M21-GAP-02882","next":"M21-GAP-02884"},"M21-GAP-02884":{"line":6139,"offset":1099313,"length":187,"previous":"M21-GAP-02883","next":"M21-GAP-02885"},"M21-GAP-02885":{"line":6140,"offset":1099500,"length":187,"previous":"M21-GAP-02884","next":"M21-GAP-02886"},"M21-GAP-02886":{"line":6141,"offset":1099687,"length":187,"previous":"M21-GAP-02885","next":"M21-GAP-02887"},"M21-GAP-02887":{"line":6142,"offset":1099874,"length":187,"previous":"M21-GAP-02886","next":"M21-GAP-02888"},"M21-GAP-02888":{"line":6143,"offset":1100061,"length":187,"previous":"M21-GAP-02887","next":"M21-GAP-02889"},"M21-GAP-02889":{"line":6144,"offset":1100248,"length":187,"previous":"M21-GAP-02888","next":"M21-GAP-02890"},"M21-GAP-02890":{"line":6145,"offset":1100435,"length":186,"previous":"M21-GAP-02889","next":"M21-GAP-02891"},"M21-GAP-02891":{"line":6146,"offset":1100621,"length":187,"previous":"M21-GAP-02890","next":"M21-GAP-02892"},"M21-GAP-02892":{"line":6147,"offset":1100808,"length":187,"previous":"M21-GAP-02891","next":"M21-GAP-02893"},"M21-GAP-02893":{"line":6148,"offset":1100995,"length":187,"previous":"M21-GAP-02892","next":"M21-GAP-02894"},"M21-GAP-02894":{"line":6149,"offset":1101182,"length":187,"previous":"M21-GAP-02893","next":"M21-GAP-02895"},"M21-GAP-02895":{"line":6150,"offset":1101369,"length":187,"previous":"M21-GAP-02894","next":"M21-GAP-02896"},"M21-GAP-02896":{"line":6151,"offset":1101556,"length":187,"previous":"M21-GAP-02895","next":"M21-GAP-02897"},"M21-GAP-02897":{"line":6152,"offset":1101743,"length":186,"previous":"M21-GAP-02896","next":"M21-GAP-02898"},"M21-GAP-02898":{"line":6153,"offset":1101929,"length":186,"previous":"M21-GAP-02897","next":"M21-GAP-02899"},"M21-GAP-02899":{"line":6154,"offset":1102115,"length":186,"previous":"M21-GAP-02898","next":"M21-GAP-02900"},"M21-GAP-02900":{"line":6155,"offset":1102301,"length":186,"previous":"M21-GAP-02899","next":"M21-GAP-02901"},"M21-GAP-02901":{"line":6156,"offset":1102487,"length":176,"previous":"M21-GAP-02900","next":"M21-GAP-02902"},"M21-GAP-02902":{"line":6157,"offset":1102663,"length":176,"previous":"M21-GAP-02901","next":"M21-GAP-02903"},"M21-GAP-02903":{"line":6158,"offset":1102839,"length":177,"previous":"M21-GAP-02902","next":"M21-GAP-02904"},"M21-GAP-02904":{"line":6159,"offset":1103016,"length":177,"previous":"M21-GAP-02903","next":"M21-GAP-02905"},"M21-GAP-02905":{"line":6160,"offset":1103193,"length":177,"previous":"M21-GAP-02904","next":"M21-GAP-02906"},"M21-GAP-02906":{"line":6161,"offset":1103370,"length":177,"previous":"M21-GAP-02905","next":"M21-GAP-02907"},"M21-GAP-02907":{"line":6162,"offset":1103547,"length":177,"previous":"M21-GAP-02906","next":"M21-GAP-02908"},"M21-GAP-02908":{"line":6163,"offset":1103724,"length":177,"previous":"M21-GAP-02907","next":"M21-GAP-02909"},"M21-GAP-02909":{"line":6164,"offset":1103901,"length":177,"previous":"M21-GAP-02908","next":"M21-GAP-02910"},"M21-GAP-02910":{"line":6165,"offset":1104078,"length":177,"previous":"M21-GAP-02909","next":"M21-GAP-02911"},"M21-GAP-02911":{"line":6166,"offset":1104255,"length":177,"previous":"M21-GAP-02910","next":"M21-GAP-02912"},"M21-GAP-02912":{"line":6167,"offset":1104432,"length":177,"previous":"M21-GAP-02911","next":"M21-GAP-02913"},"M21-GAP-02913":{"line":6168,"offset":1104609,"length":176,"previous":"M21-GAP-02912","next":"M21-GAP-02914"},"M21-GAP-02914":{"line":6169,"offset":1104785,"length":177,"previous":"M21-GAP-02913","next":"M21-GAP-02915"},"M21-GAP-02915":{"line":6170,"offset":1104962,"length":177,"previous":"M21-GAP-02914","next":"M21-GAP-02916"},"M21-GAP-02916":{"line":6171,"offset":1105139,"length":177,"previous":"M21-GAP-02915","next":"M21-GAP-02917"},"M21-GAP-02917":{"line":6172,"offset":1105316,"length":177,"previous":"M21-GAP-02916","next":"M21-GAP-02918"},"M21-GAP-02918":{"line":6173,"offset":1105493,"length":177,"previous":"M21-GAP-02917","next":"M21-GAP-02919"},"M21-GAP-02919":{"line":6174,"offset":1105670,"length":177,"previous":"M21-GAP-02918","next":"M21-GAP-02920"},"M21-GAP-02920":{"line":6175,"offset":1105847,"length":177,"previous":"M21-GAP-02919","next":"M21-GAP-02921"},"M21-GAP-02921":{"line":6176,"offset":1106024,"length":177,"previous":"M21-GAP-02920","next":"M21-GAP-02922"},"M21-GAP-02922":{"line":6177,"offset":1106201,"length":177,"previous":"M21-GAP-02921","next":"M21-GAP-02923"},"M21-GAP-02923":{"line":6178,"offset":1106378,"length":177,"previous":"M21-GAP-02922","next":"M21-GAP-02924"},"M21-GAP-02924":{"line":6179,"offset":1106555,"length":176,"previous":"M21-GAP-02923","next":"M21-GAP-02925"},"M21-GAP-02925":{"line":6180,"offset":1106731,"length":177,"previous":"M21-GAP-02924","next":"M21-GAP-02926"},"M21-GAP-02926":{"line":6181,"offset":1106908,"length":177,"previous":"M21-GAP-02925","next":"M21-GAP-02927"},"M21-GAP-02927":{"line":6182,"offset":1107085,"length":177,"previous":"M21-GAP-02926","next":"M21-GAP-02928"},"M21-GAP-02928":{"line":6183,"offset":1107262,"length":177,"previous":"M21-GAP-02927","next":"M21-GAP-02929"},"M21-GAP-02929":{"line":6184,"offset":1107439,"length":177,"previous":"M21-GAP-02928","next":"M21-GAP-02930"},"M21-GAP-02930":{"line":6185,"offset":1107616,"length":177,"previous":"M21-GAP-02929","next":"M21-GAP-02931"},"M21-GAP-02931":{"line":6186,"offset":1107793,"length":177,"previous":"M21-GAP-02930","next":"M21-GAP-02932"},"M21-GAP-02932":{"line":6187,"offset":1107970,"length":177,"previous":"M21-GAP-02931","next":"M21-GAP-02933"},"M21-GAP-02933":{"line":6188,"offset":1108147,"length":177,"previous":"M21-GAP-02932","next":"M21-GAP-02934"},"M21-GAP-02934":{"line":6189,"offset":1108324,"length":177,"previous":"M21-GAP-02933","next":"M21-GAP-02935"},"M21-GAP-02935":{"line":6190,"offset":1108501,"length":176,"previous":"M21-GAP-02934","next":"M21-GAP-02936"},"M21-GAP-02936":{"line":6191,"offset":1108677,"length":177,"previous":"M21-GAP-02935","next":"M21-GAP-02937"},"M21-GAP-02937":{"line":6192,"offset":1108854,"length":177,"previous":"M21-GAP-02936","next":"M21-GAP-02938"},"M21-GAP-02938":{"line":6193,"offset":1109031,"length":177,"previous":"M21-GAP-02937","next":"M21-GAP-02939"},"M21-GAP-02939":{"line":6194,"offset":1109208,"length":177,"previous":"M21-GAP-02938","next":"M21-GAP-02940"},"M21-GAP-02940":{"line":6195,"offset":1109385,"length":177,"previous":"M21-GAP-02939","next":"M21-GAP-02941"},"M21-GAP-02941":{"line":6196,"offset":1109562,"length":177,"previous":"M21-GAP-02940","next":"M21-GAP-02942"},"M21-GAP-02942":{"line":6197,"offset":1109739,"length":177,"previous":"M21-GAP-02941","next":"M21-GAP-02943"},"M21-GAP-02943":{"line":6198,"offset":1109916,"length":177,"previous":"M21-GAP-02942","next":"M21-GAP-02944"},"M21-GAP-02944":{"line":6199,"offset":1110093,"length":177,"previous":"M21-GAP-02943","next":"M21-GAP-02945"},"M21-GAP-02945":{"line":6200,"offset":1110270,"length":177,"previous":"M21-GAP-02944","next":"M21-GAP-02946"},"M21-GAP-02946":{"line":6201,"offset":1110447,"length":176,"previous":"M21-GAP-02945","next":"M21-GAP-02947"},"M21-GAP-02947":{"line":6202,"offset":1110623,"length":177,"previous":"M21-GAP-02946","next":"M21-GAP-02948"},"M21-GAP-02948":{"line":6203,"offset":1110800,"length":177,"previous":"M21-GAP-02947","next":"M21-GAP-02949"},"M21-GAP-02949":{"line":6204,"offset":1110977,"length":177,"previous":"M21-GAP-02948","next":"M21-GAP-02950"},"M21-GAP-02950":{"line":6205,"offset":1111154,"length":177,"previous":"M21-GAP-02949","next":"M21-GAP-02951"},"M21-GAP-02951":{"line":6206,"offset":1111331,"length":177,"previous":"M21-GAP-02950","next":"M21-GAP-02952"},"M21-GAP-02952":{"line":6207,"offset":1111508,"length":177,"previous":"M21-GAP-02951","next":"M21-GAP-02953"},"M21-GAP-02953":{"line":6208,"offset":1111685,"length":177,"previous":"M21-GAP-02952","next":"M21-GAP-02954"},"M21-GAP-02954":{"line":6209,"offset":1111862,"length":177,"previous":"M21-GAP-02953","next":"M21-GAP-02955"},"M21-GAP-02955":{"line":6210,"offset":1112039,"length":177,"previous":"M21-GAP-02954","next":"M21-GAP-02956"},"M21-GAP-02956":{"line":6211,"offset":1112216,"length":177,"previous":"M21-GAP-02955","next":"M21-GAP-02957"},"M21-GAP-02957":{"line":6212,"offset":1112393,"length":176,"previous":"M21-GAP-02956","next":"M21-GAP-02958"},"M21-GAP-02958":{"line":6213,"offset":1112569,"length":177,"previous":"M21-GAP-02957","next":"M21-GAP-02959"},"M21-GAP-02959":{"line":6214,"offset":1112746,"length":177,"previous":"M21-GAP-02958","next":"M21-GAP-02960"},"M21-GAP-02960":{"line":6215,"offset":1112923,"length":177,"previous":"M21-GAP-02959","next":"M21-GAP-02961"},"M21-GAP-02961":{"line":6216,"offset":1113100,"length":177,"previous":"M21-GAP-02960","next":"M21-GAP-02962"},"M21-GAP-02962":{"line":6217,"offset":1113277,"length":177,"previous":"M21-GAP-02961","next":"M21-GAP-02963"},"M21-GAP-02963":{"line":6218,"offset":1113454,"length":177,"previous":"M21-GAP-02962","next":"M21-GAP-02964"},"M21-GAP-02964":{"line":6219,"offset":1113631,"length":177,"previous":"M21-GAP-02963","next":"M21-GAP-02965"},"M21-GAP-02965":{"line":6220,"offset":1113808,"length":177,"previous":"M21-GAP-02964","next":"M21-GAP-02966"},"M21-GAP-02966":{"line":6221,"offset":1113985,"length":177,"previous":"M21-GAP-02965","next":"M21-GAP-02967"},"M21-GAP-02967":{"line":6222,"offset":1114162,"length":177,"previous":"M21-GAP-02966","next":"M21-GAP-02968"},"M21-GAP-02968":{"line":6223,"offset":1114339,"length":176,"previous":"M21-GAP-02967","next":"M21-GAP-02969"},"M21-GAP-02969":{"line":6224,"offset":1114515,"length":177,"previous":"M21-GAP-02968","next":"M21-GAP-02970"},"M21-GAP-02970":{"line":6225,"offset":1114692,"length":177,"previous":"M21-GAP-02969","next":"M21-GAP-02971"},"M21-GAP-02971":{"line":6226,"offset":1114869,"length":177,"previous":"M21-GAP-02970","next":"M21-GAP-02972"},"M21-GAP-02972":{"line":6227,"offset":1115046,"length":177,"previous":"M21-GAP-02971","next":"M21-GAP-02973"},"M21-GAP-02973":{"line":6228,"offset":1115223,"length":177,"previous":"M21-GAP-02972","next":"M21-GAP-02974"},"M21-GAP-02974":{"line":6229,"offset":1115400,"length":177,"previous":"M21-GAP-02973","next":"M21-GAP-02975"},"M21-GAP-02975":{"line":6230,"offset":1115577,"length":177,"previous":"M21-GAP-02974","next":"M21-GAP-02976"},"M21-GAP-02976":{"line":6231,"offset":1115754,"length":177,"previous":"M21-GAP-02975","next":"M21-GAP-02977"},"M21-GAP-02977":{"line":6232,"offset":1115931,"length":177,"previous":"M21-GAP-02976","next":"M21-GAP-02978"},"M21-GAP-02978":{"line":6233,"offset":1116108,"length":177,"previous":"M21-GAP-02977","next":"M21-GAP-02979"},"M21-GAP-02979":{"line":6234,"offset":1116285,"length":176,"previous":"M21-GAP-02978","next":"M21-GAP-02980"},"M21-GAP-02980":{"line":6235,"offset":1116461,"length":177,"previous":"M21-GAP-02979","next":"M21-GAP-02981"},"M21-GAP-02981":{"line":6236,"offset":1116638,"length":177,"previous":"M21-GAP-02980","next":"M21-GAP-02982"},"M21-GAP-02982":{"line":6237,"offset":1116815,"length":177,"previous":"M21-GAP-02981","next":"M21-GAP-02983"},"M21-GAP-02983":{"line":6238,"offset":1116992,"length":177,"previous":"M21-GAP-02982","next":"M21-GAP-02984"},"M21-GAP-02984":{"line":6239,"offset":1117169,"length":177,"previous":"M21-GAP-02983","next":"M21-GAP-02985"},"M21-GAP-02985":{"line":6240,"offset":1117346,"length":177,"previous":"M21-GAP-02984","next":"M21-GAP-02986"},"M21-GAP-02986":{"line":6241,"offset":1117523,"length":177,"previous":"M21-GAP-02985","next":"M21-GAP-02987"},"M21-GAP-02987":{"line":6242,"offset":1117700,"length":177,"previous":"M21-GAP-02986","next":"M21-GAP-02988"},"M21-GAP-02988":{"line":6243,"offset":1117877,"length":176,"previous":"M21-GAP-02987","next":"M21-GAP-02989"},"M21-GAP-02989":{"line":6244,"offset":1118053,"length":181,"previous":"M21-GAP-02988","next":"M21-GAP-02990"},"M21-GAP-02990":{"line":6245,"offset":1118234,"length":181,"previous":"M21-GAP-02989","next":"M21-GAP-02991"},"M21-GAP-02991":{"line":6246,"offset":1118415,"length":182,"previous":"M21-GAP-02990","next":"M21-GAP-02992"},"M21-GAP-02992":{"line":6247,"offset":1118597,"length":182,"previous":"M21-GAP-02991","next":"M21-GAP-02993"},"M21-GAP-02993":{"line":6248,"offset":1118779,"length":182,"previous":"M21-GAP-02992","next":"M21-GAP-02994"},"M21-GAP-02994":{"line":6249,"offset":1118961,"length":182,"previous":"M21-GAP-02993","next":"M21-GAP-02995"},"M21-GAP-02995":{"line":6250,"offset":1119143,"length":182,"previous":"M21-GAP-02994","next":"M21-GAP-02996"},"M21-GAP-02996":{"line":6251,"offset":1119325,"length":182,"previous":"M21-GAP-02995","next":"M21-GAP-02997"},"M21-GAP-02997":{"line":6252,"offset":1119507,"length":182,"previous":"M21-GAP-02996","next":"M21-GAP-02998"},"M21-GAP-02998":{"line":6253,"offset":1119689,"length":182,"previous":"M21-GAP-02997","next":"M21-GAP-02999"},"M21-GAP-02999":{"line":6254,"offset":1119871,"length":182,"previous":"M21-GAP-02998","next":"M21-GAP-03000"},"M21-GAP-03000":{"line":6255,"offset":1120053,"length":182,"previous":"M21-GAP-02999","next":"M21-GAP-03001"},"M21-GAP-03001":{"line":6256,"offset":1120235,"length":181,"previous":"M21-GAP-03000","next":"M21-GAP-03002"},"M21-GAP-03002":{"line":6257,"offset":1120416,"length":182,"previous":"M21-GAP-03001","next":"M21-GAP-03003"},"M21-GAP-03003":{"line":6258,"offset":1120598,"length":182,"previous":"M21-GAP-03002","next":"M21-GAP-03004"},"M21-GAP-03004":{"line":6259,"offset":1120780,"length":182,"previous":"M21-GAP-03003","next":"M21-GAP-03005"},"M21-GAP-03005":{"line":6260,"offset":1120962,"length":182,"previous":"M21-GAP-03004","next":"M21-GAP-03006"},"M21-GAP-03006":{"line":6261,"offset":1121144,"length":182,"previous":"M21-GAP-03005","next":"M21-GAP-03007"},"M21-GAP-03007":{"line":6262,"offset":1121326,"length":182,"previous":"M21-GAP-03006","next":"M21-GAP-03008"},"M21-GAP-03008":{"line":6263,"offset":1121508,"length":182,"previous":"M21-GAP-03007","next":"M21-GAP-03009"},"M21-GAP-03009":{"line":6264,"offset":1121690,"length":182,"previous":"M21-GAP-03008","next":"M21-GAP-03010"},"M21-GAP-03010":{"line":6265,"offset":1121872,"length":182,"previous":"M21-GAP-03009","next":"M21-GAP-03011"},"M21-GAP-03011":{"line":6266,"offset":1122054,"length":182,"previous":"M21-GAP-03010","next":"M21-GAP-03012"},"M21-GAP-03012":{"line":6267,"offset":1122236,"length":181,"previous":"M21-GAP-03011","next":"M21-GAP-03013"},"M21-GAP-03013":{"line":6268,"offset":1122417,"length":182,"previous":"M21-GAP-03012","next":"M21-GAP-03014"},"M21-GAP-03014":{"line":6269,"offset":1122599,"length":182,"previous":"M21-GAP-03013","next":"M21-GAP-03015"},"M21-GAP-03015":{"line":6270,"offset":1122781,"length":182,"previous":"M21-GAP-03014","next":"M21-GAP-03016"},"M21-GAP-03016":{"line":6271,"offset":1122963,"length":181,"previous":"M21-GAP-03015","next":"M21-GAP-03017"},"M21-GAP-03017":{"line":6272,"offset":1123144,"length":181,"previous":"M21-GAP-03016","next":"M21-GAP-03018"},"M21-GAP-03018":{"line":6273,"offset":1123325,"length":181,"previous":"M21-GAP-03017","next":"M21-GAP-03019"},"M21-GAP-03019":{"line":6274,"offset":1123506,"length":181,"previous":"M21-GAP-03018","next":"M21-GAP-03020"},"M21-GAP-03020":{"line":6275,"offset":1123687,"length":181,"previous":"M21-GAP-03019","next":"M21-GAP-03021"},"M21-GAP-03021":{"line":6276,"offset":1123868,"length":181,"previous":"M21-GAP-03020","next":"M21-GAP-03022"},"M21-GAP-03022":{"line":6277,"offset":1124049,"length":179,"previous":"M21-GAP-03021","next":"M21-GAP-03023"},"M21-GAP-03023":{"line":6278,"offset":1124228,"length":179,"previous":"M21-GAP-03022","next":"M21-GAP-03024"},"M21-GAP-03024":{"line":6279,"offset":1124407,"length":180,"previous":"M21-GAP-03023","next":"M21-GAP-03025"},"M21-GAP-03025":{"line":6280,"offset":1124587,"length":180,"previous":"M21-GAP-03024","next":"M21-GAP-03026"},"M21-GAP-03026":{"line":6281,"offset":1124767,"length":180,"previous":"M21-GAP-03025","next":"M21-GAP-03027"},"M21-GAP-03027":{"line":6282,"offset":1124947,"length":180,"previous":"M21-GAP-03026","next":"M21-GAP-03028"},"M21-GAP-03028":{"line":6283,"offset":1125127,"length":180,"previous":"M21-GAP-03027","next":"M21-GAP-03029"},"M21-GAP-03029":{"line":6284,"offset":1125307,"length":180,"previous":"M21-GAP-03028","next":"M21-GAP-03030"},"M21-GAP-03030":{"line":6285,"offset":1125487,"length":180,"previous":"M21-GAP-03029","next":"M21-GAP-03031"},"M21-GAP-03031":{"line":6286,"offset":1125667,"length":180,"previous":"M21-GAP-03030","next":"M21-GAP-03032"},"M21-GAP-03032":{"line":6287,"offset":1125847,"length":180,"previous":"M21-GAP-03031","next":"M21-GAP-03033"},"M21-GAP-03033":{"line":6288,"offset":1126027,"length":180,"previous":"M21-GAP-03032","next":"M21-GAP-03034"},"M21-GAP-03034":{"line":6289,"offset":1126207,"length":179,"previous":"M21-GAP-03033","next":"M21-GAP-03035"},"M21-GAP-03035":{"line":6290,"offset":1126386,"length":180,"previous":"M21-GAP-03034","next":"M21-GAP-03036"},"M21-GAP-03036":{"line":6291,"offset":1126566,"length":180,"previous":"M21-GAP-03035","next":"M21-GAP-03037"},"M21-GAP-03037":{"line":6292,"offset":1126746,"length":180,"previous":"M21-GAP-03036","next":"M21-GAP-03038"},"M21-GAP-03038":{"line":6293,"offset":1126926,"length":180,"previous":"M21-GAP-03037","next":"M21-GAP-03039"},"M21-GAP-03039":{"line":6294,"offset":1127106,"length":180,"previous":"M21-GAP-03038","next":"M21-GAP-03040"},"M21-GAP-03040":{"line":6295,"offset":1127286,"length":180,"previous":"M21-GAP-03039","next":"M21-GAP-03041"},"M21-GAP-03041":{"line":6296,"offset":1127466,"length":179,"previous":"M21-GAP-03040","next":"M21-GAP-03042"},"M21-GAP-03042":{"line":6297,"offset":1127645,"length":179,"previous":"M21-GAP-03041","next":"M21-GAP-03043"},"M21-GAP-03043":{"line":6298,"offset":1127824,"length":179,"previous":"M21-GAP-03042","next":"M21-GAP-03044"},"M21-GAP-03044":{"line":6299,"offset":1128003,"length":179,"previous":"M21-GAP-03043","next":"M21-GAP-03045"},"M21-GAP-03045":{"line":6300,"offset":1128182,"length":179,"previous":"M21-GAP-03044","next":"M21-GAP-03046"},"M21-GAP-03046":{"line":6301,"offset":1128361,"length":179,"previous":"M21-GAP-03045","next":"M21-GAP-03047"},"M21-GAP-03047":{"line":6302,"offset":1128540,"length":179,"previous":"M21-GAP-03046","next":"M21-GAP-03048"},"M21-GAP-03048":{"line":6303,"offset":1128719,"length":198,"previous":"M21-GAP-03047","next":"M21-GAP-03049"},"M21-GAP-03049":{"line":6304,"offset":1128917,"length":198,"previous":"M21-GAP-03048","next":"M21-GAP-03050"},"M21-GAP-03050":{"line":6305,"offset":1129115,"length":198,"previous":"M21-GAP-03049","next":"M21-GAP-03051"},"M21-GAP-03051":{"line":6306,"offset":1129313,"length":198,"previous":"M21-GAP-03050","next":"M21-GAP-03052"},"M21-GAP-03052":{"line":6307,"offset":1129511,"length":198,"previous":"M21-GAP-03051","next":"M21-GAP-03053"},"M21-GAP-03053":{"line":6308,"offset":1129709,"length":198,"previous":"M21-GAP-03052","next":"M21-GAP-03054"},"M21-GAP-03054":{"line":6309,"offset":1129907,"length":198,"previous":"M21-GAP-03053","next":"M21-GAP-03055"},"M21-GAP-03055":{"line":6310,"offset":1130105,"length":186,"previous":"M21-GAP-03054","next":"M21-GAP-03056"},"M21-GAP-03056":{"line":6311,"offset":1130291,"length":186,"previous":"M21-GAP-03055","next":"M21-GAP-03057"},"M21-GAP-03057":{"line":6312,"offset":1130477,"length":187,"previous":"M21-GAP-03056","next":"M21-GAP-03058"},"M21-GAP-03058":{"line":6313,"offset":1130664,"length":187,"previous":"M21-GAP-03057","next":"M21-GAP-03059"},"M21-GAP-03059":{"line":6314,"offset":1130851,"length":187,"previous":"M21-GAP-03058","next":"M21-GAP-03060"},"M21-GAP-03060":{"line":6315,"offset":1131038,"length":187,"previous":"M21-GAP-03059","next":"M21-GAP-03061"},"M21-GAP-03061":{"line":6316,"offset":1131225,"length":186,"previous":"M21-GAP-03060","next":"M21-GAP-03062"},"M21-GAP-03062":{"line":6317,"offset":1131411,"length":186,"previous":"M21-GAP-03061","next":"M21-GAP-03063"},"M21-GAP-03063":{"line":6318,"offset":1131597,"length":186,"previous":"M21-GAP-03062","next":"M21-GAP-03064"},"M21-GAP-03064":{"line":6319,"offset":1131783,"length":186,"previous":"M21-GAP-03063","next":"M21-GAP-03065"},"M21-GAP-03065":{"line":6320,"offset":1131969,"length":186,"previous":"M21-GAP-03064","next":"M21-GAP-03066"},"M21-GAP-03066":{"line":6321,"offset":1132155,"length":186,"previous":"M21-GAP-03065","next":"M21-GAP-03067"},"M21-GAP-03067":{"line":6322,"offset":1132341,"length":186,"previous":"M21-GAP-03066","next":"M21-GAP-03068"},"M21-GAP-03068":{"line":6323,"offset":1132527,"length":186,"previous":"M21-GAP-03067","next":"M21-GAP-03069"},"M21-GAP-03069":{"line":6324,"offset":1132713,"length":173,"previous":"M21-GAP-03068","next":"M21-GAP-03070"},"M21-GAP-03070":{"line":6325,"offset":1132886,"length":173,"previous":"M21-GAP-03069","next":"M21-GAP-03071"},"M21-GAP-03071":{"line":6326,"offset":1133059,"length":174,"previous":"M21-GAP-03070","next":"M21-GAP-03072"},"M21-GAP-03072":{"line":6327,"offset":1133233,"length":174,"previous":"M21-GAP-03071","next":"M21-GAP-03073"},"M21-GAP-03073":{"line":6328,"offset":1133407,"length":174,"previous":"M21-GAP-03072","next":"M21-GAP-03074"},"M21-GAP-03074":{"line":6329,"offset":1133581,"length":174,"previous":"M21-GAP-03073","next":"M21-GAP-03075"},"M21-GAP-03075":{"line":6330,"offset":1133755,"length":174,"previous":"M21-GAP-03074","next":"M21-GAP-03076"},"M21-GAP-03076":{"line":6331,"offset":1133929,"length":174,"previous":"M21-GAP-03075","next":"M21-GAP-03077"},"M21-GAP-03077":{"line":6332,"offset":1134103,"length":174,"previous":"M21-GAP-03076","next":"M21-GAP-03078"},"M21-GAP-03078":{"line":6333,"offset":1134277,"length":174,"previous":"M21-GAP-03077","next":"M21-GAP-03079"},"M21-GAP-03079":{"line":6334,"offset":1134451,"length":174,"previous":"M21-GAP-03078","next":"M21-GAP-03080"},"M21-GAP-03080":{"line":6335,"offset":1134625,"length":174,"previous":"M21-GAP-03079","next":"M21-GAP-03081"},"M21-GAP-03081":{"line":6336,"offset":1134799,"length":173,"previous":"M21-GAP-03080","next":"M21-GAP-03082"},"M21-GAP-03082":{"line":6337,"offset":1134972,"length":174,"previous":"M21-GAP-03081","next":"M21-GAP-03083"},"M21-GAP-03083":{"line":6338,"offset":1135146,"length":174,"previous":"M21-GAP-03082","next":"M21-GAP-03084"},"M21-GAP-03084":{"line":6339,"offset":1135320,"length":174,"previous":"M21-GAP-03083","next":"M21-GAP-03085"},"M21-GAP-03085":{"line":6340,"offset":1135494,"length":174,"previous":"M21-GAP-03084","next":"M21-GAP-03086"},"M21-GAP-03086":{"line":6341,"offset":1135668,"length":174,"previous":"M21-GAP-03085","next":"M21-GAP-03087"},"M21-GAP-03087":{"line":6342,"offset":1135842,"length":173,"previous":"M21-GAP-03086","next":"M21-GAP-03088"},"M21-GAP-03088":{"line":6343,"offset":1136015,"length":173,"previous":"M21-GAP-03087","next":"M21-GAP-03089"},"M21-GAP-03089":{"line":6344,"offset":1136188,"length":173,"previous":"M21-GAP-03088","next":"M21-GAP-03090"},"M21-GAP-03090":{"line":6345,"offset":1136361,"length":173,"previous":"M21-GAP-03089","next":"M21-GAP-03091"},"M21-GAP-03091":{"line":6346,"offset":1136534,"length":173,"previous":"M21-GAP-03090","next":"M21-GAP-03092"},"M21-GAP-03092":{"line":6347,"offset":1136707,"length":173,"previous":"M21-GAP-03091","next":"M21-GAP-03093"},"M21-GAP-03093":{"line":6348,"offset":1136880,"length":173,"previous":"M21-GAP-03092","next":"M21-GAP-03094"},"M21-GAP-03094":{"line":6349,"offset":1137053,"length":185,"previous":"M21-GAP-03093","next":"M21-GAP-03095"},"M21-GAP-03095":{"line":6350,"offset":1137238,"length":183,"previous":"M21-GAP-03094","next":"M21-GAP-03096"},"M21-GAP-03096":{"line":6351,"offset":1137421,"length":183,"previous":"M21-GAP-03095","next":"M21-GAP-03097"},"M21-GAP-03097":{"line":6352,"offset":1137604,"length":184,"previous":"M21-GAP-03096","next":"M21-GAP-03098"},"M21-GAP-03098":{"line":6353,"offset":1137788,"length":184,"previous":"M21-GAP-03097","next":"M21-GAP-03099"},"M21-GAP-03099":{"line":6354,"offset":1137972,"length":184,"previous":"M21-GAP-03098","next":"M21-GAP-03100"},"M21-GAP-03100":{"line":6355,"offset":1138156,"length":184,"previous":"M21-GAP-03099","next":"M21-GAP-03101"},"M21-GAP-03101":{"line":6356,"offset":1138340,"length":184,"previous":"M21-GAP-03100","next":"M21-GAP-03102"},"M21-GAP-03102":{"line":6357,"offset":1138524,"length":184,"previous":"M21-GAP-03101","next":"M21-GAP-03103"},"M21-GAP-03103":{"line":6358,"offset":1138708,"length":184,"previous":"M21-GAP-03102","next":"M21-GAP-03104"},"M21-GAP-03104":{"line":6359,"offset":1138892,"length":184,"previous":"M21-GAP-03103","next":"M21-GAP-03105"},"M21-GAP-03105":{"line":6360,"offset":1139076,"length":184,"previous":"M21-GAP-03104","next":"M21-GAP-03106"},"M21-GAP-03106":{"line":6361,"offset":1139260,"length":184,"previous":"M21-GAP-03105","next":"M21-GAP-03107"},"M21-GAP-03107":{"line":6362,"offset":1139444,"length":183,"previous":"M21-GAP-03106","next":"M21-GAP-03108"},"M21-GAP-03108":{"line":6363,"offset":1139627,"length":184,"previous":"M21-GAP-03107","next":"M21-GAP-03109"},"M21-GAP-03109":{"line":6364,"offset":1139811,"length":184,"previous":"M21-GAP-03108","next":"M21-GAP-03110"},"M21-GAP-03110":{"line":6365,"offset":1139995,"length":184,"previous":"M21-GAP-03109","next":"M21-GAP-03111"},"M21-GAP-03111":{"line":6366,"offset":1140179,"length":184,"previous":"M21-GAP-03110","next":"M21-GAP-03112"},"M21-GAP-03112":{"line":6367,"offset":1140363,"length":184,"previous":"M21-GAP-03111","next":"M21-GAP-03113"},"M21-GAP-03113":{"line":6368,"offset":1140547,"length":184,"previous":"M21-GAP-03112","next":"M21-GAP-03114"},"M21-GAP-03114":{"line":6369,"offset":1140731,"length":184,"previous":"M21-GAP-03113","next":"M21-GAP-03115"},"M21-GAP-03115":{"line":6370,"offset":1140915,"length":184,"previous":"M21-GAP-03114","next":"M21-GAP-03116"},"M21-GAP-03116":{"line":6371,"offset":1141099,"length":184,"previous":"M21-GAP-03115","next":"M21-GAP-03117"},"M21-GAP-03117":{"line":6372,"offset":1141283,"length":184,"previous":"M21-GAP-03116","next":"M21-GAP-03118"},"M21-GAP-03118":{"line":6373,"offset":1141467,"length":183,"previous":"M21-GAP-03117","next":"M21-GAP-03119"},"M21-GAP-03119":{"line":6374,"offset":1141650,"length":184,"previous":"M21-GAP-03118","next":"M21-GAP-03120"},"M21-GAP-03120":{"line":6375,"offset":1141834,"length":184,"previous":"M21-GAP-03119","next":"M21-GAP-03121"},"M21-GAP-03121":{"line":6376,"offset":1142018,"length":184,"previous":"M21-GAP-03120","next":"M21-GAP-03122"},"M21-GAP-03122":{"line":6377,"offset":1142202,"length":184,"previous":"M21-GAP-03121","next":"M21-GAP-03123"},"M21-GAP-03123":{"line":6378,"offset":1142386,"length":184,"previous":"M21-GAP-03122","next":"M21-GAP-03124"},"M21-GAP-03124":{"line":6379,"offset":1142570,"length":184,"previous":"M21-GAP-03123","next":"M21-GAP-03125"},"M21-GAP-03125":{"line":6380,"offset":1142754,"length":184,"previous":"M21-GAP-03124","next":"M21-GAP-03126"},"M21-GAP-03126":{"line":6381,"offset":1142938,"length":184,"previous":"M21-GAP-03125","next":"M21-GAP-03127"},"M21-GAP-03127":{"line":6382,"offset":1143122,"length":184,"previous":"M21-GAP-03126","next":"M21-GAP-03128"},"M21-GAP-03128":{"line":6383,"offset":1143306,"length":183,"previous":"M21-GAP-03127","next":"M21-GAP-03129"},"M21-GAP-03129":{"line":6384,"offset":1143489,"length":183,"previous":"M21-GAP-03128","next":"M21-GAP-03130"},"M21-GAP-03130":{"line":6385,"offset":1143672,"length":183,"previous":"M21-GAP-03129","next":"M21-GAP-03131"},"M21-GAP-03131":{"line":6386,"offset":1143855,"length":183,"previous":"M21-GAP-03130","next":"M21-GAP-03132"},"M21-GAP-03132":{"line":6387,"offset":1144038,"length":183,"previous":"M21-GAP-03131","next":"M21-GAP-03133"},"M21-GAP-03133":{"line":6388,"offset":1144221,"length":183,"previous":"M21-GAP-03132","next":"M21-GAP-03134"},"M21-GAP-03134":{"line":6389,"offset":1144404,"length":188,"previous":"M21-GAP-03133","next":"M21-GAP-03135"},"M21-GAP-03135":{"line":6390,"offset":1144592,"length":188,"previous":"M21-GAP-03134","next":"M21-GAP-03136"},"M21-GAP-03136":{"line":6391,"offset":1144780,"length":189,"previous":"M21-GAP-03135","next":"M21-GAP-03137"},"M21-GAP-03137":{"line":6392,"offset":1144969,"length":189,"previous":"M21-GAP-03136","next":"M21-GAP-03138"},"M21-GAP-03138":{"line":6393,"offset":1145158,"length":189,"previous":"M21-GAP-03137","next":"M21-GAP-03139"},"M21-GAP-03139":{"line":6394,"offset":1145347,"length":189,"previous":"M21-GAP-03138","next":"M21-GAP-03140"},"M21-GAP-03140":{"line":6395,"offset":1145536,"length":188,"previous":"M21-GAP-03139","next":"M21-GAP-03141"},"M21-GAP-03141":{"line":6396,"offset":1145724,"length":188,"previous":"M21-GAP-03140","next":"M21-GAP-03142"},"M21-GAP-03142":{"line":6397,"offset":1145912,"length":188,"previous":"M21-GAP-03141","next":"M21-GAP-03143"},"M21-GAP-03143":{"line":6398,"offset":1146100,"length":188,"previous":"M21-GAP-03142","next":"M21-GAP-03144"},"M21-GAP-03144":{"line":6399,"offset":1146288,"length":188,"previous":"M21-GAP-03143","next":"M21-GAP-03145"},"M21-GAP-03145":{"line":6400,"offset":1146476,"length":188,"previous":"M21-GAP-03144","next":"M21-GAP-03146"},"M21-GAP-03146":{"line":6401,"offset":1146664,"length":188,"previous":"M21-GAP-03145","next":"M21-GAP-03147"},"M21-GAP-03147":{"line":6402,"offset":1146852,"length":188,"previous":"M21-GAP-03146","next":"M21-GAP-03148"},"M21-GAP-03148":{"line":6403,"offset":1147040,"length":184,"previous":"M21-GAP-03147","next":"M21-GAP-03149"},"M21-GAP-03149":{"line":6404,"offset":1147224,"length":189,"previous":"M21-GAP-03148","next":"M21-GAP-03150"},"M21-GAP-03150":{"line":6405,"offset":1147413,"length":189,"previous":"M21-GAP-03149","next":"M21-GAP-03151"},"M21-GAP-03151":{"line":6406,"offset":1147602,"length":190,"previous":"M21-GAP-03150","next":"M21-GAP-03152"},"M21-GAP-03152":{"line":6407,"offset":1147792,"length":190,"previous":"M21-GAP-03151","next":"M21-GAP-03153"},"M21-GAP-03153":{"line":6408,"offset":1147982,"length":189,"previous":"M21-GAP-03152","next":"M21-GAP-03154"},"M21-GAP-03154":{"line":6409,"offset":1148171,"length":189,"previous":"M21-GAP-03153","next":"M21-GAP-03155"},"M21-GAP-03155":{"line":6410,"offset":1148360,"length":189,"previous":"M21-GAP-03154","next":"M21-GAP-03156"},"M21-GAP-03156":{"line":6411,"offset":1148549,"length":189,"previous":"M21-GAP-03155","next":"M21-GAP-03157"},"M21-GAP-03157":{"line":6412,"offset":1148738,"length":189,"previous":"M21-GAP-03156","next":"M21-GAP-03158"},"M21-GAP-03158":{"line":6413,"offset":1148927,"length":189,"previous":"M21-GAP-03157","next":"M21-GAP-03159"},"M21-GAP-03159":{"line":6414,"offset":1149116,"length":189,"previous":"M21-GAP-03158","next":"M21-GAP-03160"},"M21-GAP-03160":{"line":6415,"offset":1149305,"length":189,"previous":"M21-GAP-03159","next":"M21-GAP-03161"},"M21-GAP-03161":{"line":6416,"offset":1149494,"length":186,"previous":"M21-GAP-03160","next":"M21-GAP-03162"},"M21-GAP-03162":{"line":6417,"offset":1149680,"length":186,"previous":"M21-GAP-03161","next":"M21-GAP-03163"},"M21-GAP-03163":{"line":6418,"offset":1149866,"length":186,"previous":"M21-GAP-03162","next":"M21-GAP-03164"},"M21-GAP-03164":{"line":6419,"offset":1150052,"length":186,"previous":"M21-GAP-03163","next":"M21-GAP-03165"},"M21-GAP-03165":{"line":6420,"offset":1150238,"length":186,"previous":"M21-GAP-03164","next":"M21-GAP-03166"},"M21-GAP-03166":{"line":6421,"offset":1150424,"length":215,"previous":"M21-GAP-03165","next":"M21-GAP-03167"},"M21-GAP-03167":{"line":6422,"offset":1150639,"length":215,"previous":"M21-GAP-03166","next":"M21-GAP-03168"},"M21-GAP-03168":{"line":6423,"offset":1150854,"length":215,"previous":"M21-GAP-03167","next":"M21-GAP-03169"},"M21-GAP-03169":{"line":6424,"offset":1151069,"length":215,"previous":"M21-GAP-03168","next":"M21-GAP-03170"},"M21-GAP-03170":{"line":6425,"offset":1151284,"length":215,"previous":"M21-GAP-03169","next":"M21-GAP-03171"},"M21-GAP-03171":{"line":6426,"offset":1151499,"length":215,"previous":"M21-GAP-03170","next":"M21-GAP-03172"},"M21-GAP-03172":{"line":6427,"offset":1151714,"length":184,"previous":"M21-GAP-03171","next":"M21-GAP-03173"},"M21-GAP-03173":{"line":6428,"offset":1151898,"length":184,"previous":"M21-GAP-03172","next":"M21-GAP-03174"},"M21-GAP-03174":{"line":6429,"offset":1152082,"length":185,"previous":"M21-GAP-03173","next":"M21-GAP-03175"},"M21-GAP-03175":{"line":6430,"offset":1152267,"length":185,"previous":"M21-GAP-03174","next":"M21-GAP-03176"},"M21-GAP-03176":{"line":6431,"offset":1152452,"length":185,"previous":"M21-GAP-03175","next":"M21-GAP-03177"},"M21-GAP-03177":{"line":6432,"offset":1152637,"length":185,"previous":"M21-GAP-03176","next":"M21-GAP-03178"},"M21-GAP-03178":{"line":6433,"offset":1152822,"length":185,"previous":"M21-GAP-03177","next":"M21-GAP-03179"},"M21-GAP-03179":{"line":6434,"offset":1153007,"length":185,"previous":"M21-GAP-03178","next":"M21-GAP-03180"},"M21-GAP-03180":{"line":6435,"offset":1153192,"length":185,"previous":"M21-GAP-03179","next":"M21-GAP-03181"},"M21-GAP-03181":{"line":6436,"offset":1153377,"length":185,"previous":"M21-GAP-03180","next":"M21-GAP-03182"},"M21-GAP-03182":{"line":6437,"offset":1153562,"length":185,"previous":"M21-GAP-03181","next":"M21-GAP-03183"},"M21-GAP-03183":{"line":6438,"offset":1153747,"length":185,"previous":"M21-GAP-03182","next":"M21-GAP-03184"},"M21-GAP-03184":{"line":6439,"offset":1153932,"length":184,"previous":"M21-GAP-03183","next":"M21-GAP-03185"},"M21-GAP-03185":{"line":6440,"offset":1154116,"length":185,"previous":"M21-GAP-03184","next":"M21-GAP-03186"},"M21-GAP-03186":{"line":6441,"offset":1154301,"length":185,"previous":"M21-GAP-03185","next":"M21-GAP-03187"},"M21-GAP-03187":{"line":6442,"offset":1154486,"length":185,"previous":"M21-GAP-03186","next":"M21-GAP-03188"},"M21-GAP-03188":{"line":6443,"offset":1154671,"length":185,"previous":"M21-GAP-03187","next":"M21-GAP-03189"},"M21-GAP-03189":{"line":6444,"offset":1154856,"length":185,"previous":"M21-GAP-03188","next":"M21-GAP-03190"},"M21-GAP-03190":{"line":6445,"offset":1155041,"length":185,"previous":"M21-GAP-03189","next":"M21-GAP-03191"},"M21-GAP-03191":{"line":6446,"offset":1155226,"length":185,"previous":"M21-GAP-03190","next":"M21-GAP-03192"},"M21-GAP-03192":{"line":6447,"offset":1155411,"length":185,"previous":"M21-GAP-03191","next":"M21-GAP-03193"},"M21-GAP-03193":{"line":6448,"offset":1155596,"length":185,"previous":"M21-GAP-03192","next":"M21-GAP-03194"},"M21-GAP-03194":{"line":6449,"offset":1155781,"length":185,"previous":"M21-GAP-03193","next":"M21-GAP-03195"},"M21-GAP-03195":{"line":6450,"offset":1155966,"length":184,"previous":"M21-GAP-03194","next":"M21-GAP-03196"},"M21-GAP-03196":{"line":6451,"offset":1156150,"length":185,"previous":"M21-GAP-03195","next":"M21-GAP-03197"},"M21-GAP-03197":{"line":6452,"offset":1156335,"length":185,"previous":"M21-GAP-03196","next":"M21-GAP-03198"},"M21-GAP-03198":{"line":6453,"offset":1156520,"length":185,"previous":"M21-GAP-03197","next":"M21-GAP-03199"},"M21-GAP-03199":{"line":6454,"offset":1156705,"length":185,"previous":"M21-GAP-03198","next":"M21-GAP-03200"},"M21-GAP-03200":{"line":6455,"offset":1156890,"length":185,"previous":"M21-GAP-03199","next":"M21-GAP-03201"},"M21-GAP-03201":{"line":6456,"offset":1157075,"length":185,"previous":"M21-GAP-03200","next":"M21-GAP-03202"},"M21-GAP-03202":{"line":6457,"offset":1157260,"length":185,"previous":"M21-GAP-03201","next":"M21-GAP-03203"},"M21-GAP-03203":{"line":6458,"offset":1157445,"length":185,"previous":"M21-GAP-03202","next":"M21-GAP-03204"},"M21-GAP-03204":{"line":6459,"offset":1157630,"length":185,"previous":"M21-GAP-03203","next":"M21-GAP-03205"},"M21-GAP-03205":{"line":6460,"offset":1157815,"length":185,"previous":"M21-GAP-03204","next":"M21-GAP-03206"},"M21-GAP-03206":{"line":6461,"offset":1158000,"length":184,"previous":"M21-GAP-03205","next":"M21-GAP-03207"},"M21-GAP-03207":{"line":6462,"offset":1158184,"length":185,"previous":"M21-GAP-03206","next":"M21-GAP-03208"},"M21-GAP-03208":{"line":6463,"offset":1158369,"length":185,"previous":"M21-GAP-03207","next":"M21-GAP-03209"},"M21-GAP-03209":{"line":6464,"offset":1158554,"length":185,"previous":"M21-GAP-03208","next":"M21-GAP-03210"},"M21-GAP-03210":{"line":6465,"offset":1158739,"length":185,"previous":"M21-GAP-03209","next":"M21-GAP-03211"},"M21-GAP-03211":{"line":6466,"offset":1158924,"length":185,"previous":"M21-GAP-03210","next":"M21-GAP-03212"},"M21-GAP-03212":{"line":6467,"offset":1159109,"length":185,"previous":"M21-GAP-03211","next":"M21-GAP-03213"},"M21-GAP-03213":{"line":6468,"offset":1159294,"length":185,"previous":"M21-GAP-03212","next":"M21-GAP-03214"},"M21-GAP-03214":{"line":6469,"offset":1159479,"length":185,"previous":"M21-GAP-03213","next":"M21-GAP-03215"},"M21-GAP-03215":{"line":6470,"offset":1159664,"length":185,"previous":"M21-GAP-03214","next":"M21-GAP-03216"},"M21-GAP-03216":{"line":6471,"offset":1159849,"length":185,"previous":"M21-GAP-03215","next":"M21-GAP-03217"},"M21-GAP-03217":{"line":6472,"offset":1160034,"length":184,"previous":"M21-GAP-03216","next":"M21-GAP-03218"},"M21-GAP-03218":{"line":6473,"offset":1160218,"length":184,"previous":"M21-GAP-03217","next":"M21-GAP-03219"},"M21-GAP-03219":{"line":6474,"offset":1160402,"length":184,"previous":"M21-GAP-03218","next":"M21-GAP-03220"},"M21-GAP-03220":{"line":6475,"offset":1160586,"length":184,"previous":"M21-GAP-03219","next":"M21-GAP-03221"},"M21-GAP-03221":{"line":6476,"offset":1160770,"length":184,"previous":"M21-GAP-03220","next":"M21-GAP-03222"},"M21-GAP-03222":{"line":6477,"offset":1160954,"length":184,"previous":"M21-GAP-03221","next":"M21-GAP-03223"},"M21-GAP-03223":{"line":6478,"offset":1161138,"length":179,"previous":"M21-GAP-03222","next":"M21-GAP-03224"},"M21-GAP-03224":{"line":6479,"offset":1161317,"length":179,"previous":"M21-GAP-03223","next":"M21-GAP-03225"},"M21-GAP-03225":{"line":6480,"offset":1161496,"length":180,"previous":"M21-GAP-03224","next":"M21-GAP-03226"},"M21-GAP-03226":{"line":6481,"offset":1161676,"length":180,"previous":"M21-GAP-03225","next":"M21-GAP-03227"},"M21-GAP-03227":{"line":6482,"offset":1161856,"length":180,"previous":"M21-GAP-03226","next":"M21-GAP-03228"},"M21-GAP-03228":{"line":6483,"offset":1162036,"length":180,"previous":"M21-GAP-03227","next":"M21-GAP-03229"},"M21-GAP-03229":{"line":6484,"offset":1162216,"length":180,"previous":"M21-GAP-03228","next":"M21-GAP-03230"},"M21-GAP-03230":{"line":6485,"offset":1162396,"length":180,"previous":"M21-GAP-03229","next":"M21-GAP-03231"},"M21-GAP-03231":{"line":6486,"offset":1162576,"length":180,"previous":"M21-GAP-03230","next":"M21-GAP-03232"},"M21-GAP-03232":{"line":6487,"offset":1162756,"length":180,"previous":"M21-GAP-03231","next":"M21-GAP-03233"},"M21-GAP-03233":{"line":6488,"offset":1162936,"length":180,"previous":"M21-GAP-03232","next":"M21-GAP-03234"},"M21-GAP-03234":{"line":6489,"offset":1163116,"length":180,"previous":"M21-GAP-03233","next":"M21-GAP-03235"},"M21-GAP-03235":{"line":6490,"offset":1163296,"length":179,"previous":"M21-GAP-03234","next":"M21-GAP-03236"},"M21-GAP-03236":{"line":6491,"offset":1163475,"length":180,"previous":"M21-GAP-03235","next":"M21-GAP-03237"},"M21-GAP-03237":{"line":6492,"offset":1163655,"length":180,"previous":"M21-GAP-03236","next":"M21-GAP-03238"},"M21-GAP-03238":{"line":6493,"offset":1163835,"length":180,"previous":"M21-GAP-03237","next":"M21-GAP-03239"},"M21-GAP-03239":{"line":6494,"offset":1164015,"length":180,"previous":"M21-GAP-03238","next":"M21-GAP-03240"},"M21-GAP-03240":{"line":6495,"offset":1164195,"length":180,"previous":"M21-GAP-03239","next":"M21-GAP-03241"},"M21-GAP-03241":{"line":6496,"offset":1164375,"length":179,"previous":"M21-GAP-03240","next":"M21-GAP-03242"},"M21-GAP-03242":{"line":6497,"offset":1164554,"length":179,"previous":"M21-GAP-03241","next":"M21-GAP-03243"},"M21-GAP-03243":{"line":6498,"offset":1164733,"length":179,"previous":"M21-GAP-03242","next":"M21-GAP-03244"},"M21-GAP-03244":{"line":6499,"offset":1164912,"length":179,"previous":"M21-GAP-03243","next":"M21-GAP-03245"},"M21-GAP-03245":{"line":6500,"offset":1165091,"length":179,"previous":"M21-GAP-03244","next":"M21-GAP-03246"},"M21-GAP-03246":{"line":6501,"offset":1165270,"length":179,"previous":"M21-GAP-03245","next":"M21-GAP-03247"},"M21-GAP-03247":{"line":6502,"offset":1165449,"length":179,"previous":"M21-GAP-03246","next":"M21-GAP-03248"},"M21-GAP-03248":{"line":6503,"offset":1165628,"length":173,"previous":"M21-GAP-03247","next":"M21-GAP-03249"},"M21-GAP-03249":{"line":6504,"offset":1165801,"length":173,"previous":"M21-GAP-03248","next":"M21-GAP-03250"},"M21-GAP-03250":{"line":6505,"offset":1165974,"length":174,"previous":"M21-GAP-03249","next":"M21-GAP-03251"},"M21-GAP-03251":{"line":6506,"offset":1166148,"length":174,"previous":"M21-GAP-03250","next":"M21-GAP-03252"},"M21-GAP-03252":{"line":6507,"offset":1166322,"length":174,"previous":"M21-GAP-03251","next":"M21-GAP-03253"},"M21-GAP-03253":{"line":6508,"offset":1166496,"length":174,"previous":"M21-GAP-03252","next":"M21-GAP-03254"},"M21-GAP-03254":{"line":6509,"offset":1166670,"length":174,"previous":"M21-GAP-03253","next":"M21-GAP-03255"},"M21-GAP-03255":{"line":6510,"offset":1166844,"length":174,"previous":"M21-GAP-03254","next":"M21-GAP-03256"},"M21-GAP-03256":{"line":6511,"offset":1167018,"length":174,"previous":"M21-GAP-03255","next":"M21-GAP-03257"},"M21-GAP-03257":{"line":6512,"offset":1167192,"length":174,"previous":"M21-GAP-03256","next":"M21-GAP-03258"},"M21-GAP-03258":{"line":6513,"offset":1167366,"length":174,"previous":"M21-GAP-03257","next":"M21-GAP-03259"},"M21-GAP-03259":{"line":6514,"offset":1167540,"length":174,"previous":"M21-GAP-03258","next":"M21-GAP-03260"},"M21-GAP-03260":{"line":6515,"offset":1167714,"length":173,"previous":"M21-GAP-03259","next":"M21-GAP-03261"},"M21-GAP-03261":{"line":6516,"offset":1167887,"length":174,"previous":"M21-GAP-03260","next":"M21-GAP-03262"},"M21-GAP-03262":{"line":6517,"offset":1168061,"length":174,"previous":"M21-GAP-03261","next":"M21-GAP-03263"},"M21-GAP-03263":{"line":6518,"offset":1168235,"length":174,"previous":"M21-GAP-03262","next":"M21-GAP-03264"},"M21-GAP-03264":{"line":6519,"offset":1168409,"length":174,"previous":"M21-GAP-03263","next":"M21-GAP-03265"},"M21-GAP-03265":{"line":6520,"offset":1168583,"length":174,"previous":"M21-GAP-03264","next":"M21-GAP-03266"},"M21-GAP-03266":{"line":6521,"offset":1168757,"length":174,"previous":"M21-GAP-03265","next":"M21-GAP-03267"},"M21-GAP-03267":{"line":6522,"offset":1168931,"length":174,"previous":"M21-GAP-03266","next":"M21-GAP-03268"},"M21-GAP-03268":{"line":6523,"offset":1169105,"length":174,"previous":"M21-GAP-03267","next":"M21-GAP-03269"},"M21-GAP-03269":{"line":6524,"offset":1169279,"length":174,"previous":"M21-GAP-03268","next":"M21-GAP-03270"},"M21-GAP-03270":{"line":6525,"offset":1169453,"length":174,"previous":"M21-GAP-03269","next":"M21-GAP-03271"},"M21-GAP-03271":{"line":6526,"offset":1169627,"length":173,"previous":"M21-GAP-03270","next":"M21-GAP-03272"},"M21-GAP-03272":{"line":6527,"offset":1169800,"length":174,"previous":"M21-GAP-03271","next":"M21-GAP-03273"},"M21-GAP-03273":{"line":6528,"offset":1169974,"length":174,"previous":"M21-GAP-03272","next":"M21-GAP-03274"},"M21-GAP-03274":{"line":6529,"offset":1170148,"length":174,"previous":"M21-GAP-03273","next":"M21-GAP-03275"},"M21-GAP-03275":{"line":6530,"offset":1170322,"length":173,"previous":"M21-GAP-03274","next":"M21-GAP-03276"},"M21-GAP-03276":{"line":6531,"offset":1170495,"length":173,"previous":"M21-GAP-03275","next":"M21-GAP-03277"},"M21-GAP-03277":{"line":6532,"offset":1170668,"length":173,"previous":"M21-GAP-03276","next":"M21-GAP-03278"},"M21-GAP-03278":{"line":6533,"offset":1170841,"length":173,"previous":"M21-GAP-03277","next":"M21-GAP-03279"},"M21-GAP-03279":{"line":6534,"offset":1171014,"length":173,"previous":"M21-GAP-03278","next":"M21-GAP-03280"},"M21-GAP-03280":{"line":6535,"offset":1171187,"length":173,"previous":"M21-GAP-03279","next":"M21-GAP-03281"},"M21-GAP-03281":{"line":6536,"offset":1171360,"length":177,"previous":"M21-GAP-03280","next":"M21-GAP-03282"},"M21-GAP-03282":{"line":6537,"offset":1171537,"length":180,"previous":"M21-GAP-03281","next":"M21-GAP-03283"},"M21-GAP-03283":{"line":6538,"offset":1171717,"length":187,"previous":"M21-GAP-03282","next":"M21-GAP-03284"},"M21-GAP-03284":{"line":6539,"offset":1171904,"length":182,"previous":"M21-GAP-03283","next":"M21-GAP-03285"},"M21-GAP-03285":{"line":6540,"offset":1172086,"length":202,"previous":"M21-GAP-03284","next":"M21-GAP-03286"},"M21-GAP-03286":{"line":6541,"offset":1172288,"length":204,"previous":"M21-GAP-03285","next":"M21-GAP-03287"},"M21-GAP-03287":{"line":6542,"offset":1172492,"length":208,"previous":"M21-GAP-03286","next":"M21-GAP-03288"},"M21-GAP-03288":{"line":6543,"offset":1172700,"length":198,"previous":"M21-GAP-03287","next":"M21-GAP-03289"},"M21-GAP-03289":{"line":6544,"offset":1172898,"length":195,"previous":"M21-GAP-03288","next":"M21-GAP-03290"},"M21-GAP-03290":{"line":6545,"offset":1173093,"length":197,"previous":"M21-GAP-03289","next":"M21-GAP-03291"},"M21-GAP-03291":{"line":6546,"offset":1173290,"length":192,"previous":"M21-GAP-03290","next":"M21-GAP-03292"},"M21-GAP-03292":{"line":6547,"offset":1173482,"length":205,"previous":"M21-GAP-03291","next":"M21-GAP-03293"},"M21-GAP-03293":{"line":6548,"offset":1173687,"length":195,"previous":"M21-GAP-03292","next":"M21-GAP-03294"},"M21-GAP-03294":{"line":6549,"offset":1173882,"length":194,"previous":"M21-GAP-03293","next":"M21-GAP-03295"},"M21-GAP-03295":{"line":6550,"offset":1174076,"length":197,"previous":"M21-GAP-03294","next":"M21-GAP-03296"},"M21-GAP-03296":{"line":6551,"offset":1174273,"length":192,"previous":"M21-GAP-03295","next":"M21-GAP-03297"},"M21-GAP-03297":{"line":6552,"offset":1174465,"length":193,"previous":"M21-GAP-03296","next":"M21-GAP-03298"},"M21-GAP-03298":{"line":6553,"offset":1174658,"length":192,"previous":"M21-GAP-03297","next":"M21-GAP-03299"},"M21-GAP-03299":{"line":6554,"offset":1174850,"length":204,"previous":"M21-GAP-03298","next":"M21-GAP-03300"},"M21-GAP-03300":{"line":6555,"offset":1175054,"length":207,"previous":"M21-GAP-03299","next":"M21-GAP-03301"},"M21-GAP-03301":{"line":6556,"offset":1175261,"length":199,"previous":"M21-GAP-03300","next":"M21-GAP-03302"},"M21-GAP-03302":{"line":6557,"offset":1175460,"length":192,"previous":"M21-GAP-03301","next":"M21-GAP-03303"},"M21-GAP-03303":{"line":6558,"offset":1175652,"length":193,"previous":"M21-GAP-03302","next":"M21-GAP-03304"},"M21-GAP-03304":{"line":6559,"offset":1175845,"length":197,"previous":"M21-GAP-03303","next":"M21-GAP-03305"},"M21-GAP-03305":{"line":6560,"offset":1176042,"length":208,"previous":"M21-GAP-03304","next":"M21-GAP-03306"},"M21-GAP-03306":{"line":6561,"offset":1176250,"length":205,"previous":"M21-GAP-03305","next":"M21-GAP-03307"},"M21-GAP-03307":{"line":6562,"offset":1176455,"length":203,"previous":"M21-GAP-03306","next":"M21-GAP-03308"},"M21-GAP-03308":{"line":6563,"offset":1176658,"length":201,"previous":"M21-GAP-03307","next":"M21-GAP-03309"},"M21-GAP-03309":{"line":6564,"offset":1176859,"length":204,"previous":"M21-GAP-03308","next":"M21-GAP-03310"},"M21-GAP-03310":{"line":6565,"offset":1177063,"length":198,"previous":"M21-GAP-03309","next":"M21-GAP-03311"},"M21-GAP-03311":{"line":6566,"offset":1177261,"length":192,"previous":"M21-GAP-03310","next":"M21-GAP-03312"},"M21-GAP-03312":{"line":6567,"offset":1177453,"length":195,"previous":"M21-GAP-03311","next":"M21-GAP-03313"},"M21-GAP-03313":{"line":6568,"offset":1177648,"length":207,"previous":"M21-GAP-03312","next":"M21-GAP-03314"},"M21-GAP-03314":{"line":6569,"offset":1177855,"length":197,"previous":"M21-GAP-03313","next":"M21-GAP-03315"},"M21-GAP-03315":{"line":6570,"offset":1178052,"length":196,"previous":"M21-GAP-03314","next":"M21-GAP-03316"},"M21-GAP-03316":{"line":6571,"offset":1178248,"length":196,"previous":"M21-GAP-03315","next":"M21-GAP-03317"},"M21-GAP-03317":{"line":6572,"offset":1178444,"length":195,"previous":"M21-GAP-03316","next":"M21-GAP-03318"},"M21-GAP-03318":{"line":6573,"offset":1178639,"length":197,"previous":"M21-GAP-03317","next":"M21-GAP-03319"},"M21-GAP-03319":{"line":6574,"offset":1178836,"length":200,"previous":"M21-GAP-03318","next":"M21-GAP-03320"},"M21-GAP-03320":{"line":6575,"offset":1179036,"length":193,"previous":"M21-GAP-03319","next":"M21-GAP-03321"},"M21-GAP-03321":{"line":6576,"offset":1179229,"length":202,"previous":"M21-GAP-03320","next":"M21-GAP-03322"},"M21-GAP-03322":{"line":6577,"offset":1179431,"length":191,"previous":"M21-GAP-03321","next":"M21-GAP-03323"},"M21-GAP-03323":{"line":6578,"offset":1179622,"length":196,"previous":"M21-GAP-03322","next":"M21-GAP-03324"},"M21-GAP-03324":{"line":6579,"offset":1179818,"length":199,"previous":"M21-GAP-03323","next":"M21-GAP-03325"},"M21-GAP-03325":{"line":6580,"offset":1180017,"length":198,"previous":"M21-GAP-03324","next":"M21-GAP-03326"},"M21-GAP-03326":{"line":6581,"offset":1180215,"length":183,"previous":"M21-GAP-03325","next":"M21-GAP-03327"},"M21-GAP-03327":{"line":6582,"offset":1180398,"length":180,"previous":"M21-GAP-03326","next":"M21-GAP-03328"},"M21-GAP-03328":{"line":6583,"offset":1180578,"length":197,"previous":"M21-GAP-03327","next":"M21-GAP-03329"},"M21-GAP-03329":{"line":6584,"offset":1180775,"length":200,"previous":"M21-GAP-03328","next":"M21-GAP-03330"},"M21-GAP-03330":{"line":6585,"offset":1180975,"length":200,"previous":"M21-GAP-03329","next":"M21-GAP-03331"},"M21-GAP-03331":{"line":6586,"offset":1181175,"length":203,"previous":"M21-GAP-03330","next":"M21-GAP-03332"},"M21-GAP-03332":{"line":6587,"offset":1181378,"length":202,"previous":"M21-GAP-03331","next":"M21-GAP-03333"},"M21-GAP-03333":{"line":6588,"offset":1181580,"length":207,"previous":"M21-GAP-03332","next":"M21-GAP-03334"},"M21-GAP-03334":{"line":6589,"offset":1181787,"length":208,"previous":"M21-GAP-03333","next":"M21-GAP-03335"},"M21-GAP-03335":{"line":6590,"offset":1181995,"length":201,"previous":"M21-GAP-03334","next":"M21-GAP-03336"},"M21-GAP-03336":{"line":6591,"offset":1182196,"length":205,"previous":"M21-GAP-03335","next":"M21-GAP-03337"},"M21-GAP-03337":{"line":6592,"offset":1182401,"length":201,"previous":"M21-GAP-03336","next":"M21-GAP-03338"},"M21-GAP-03338":{"line":6593,"offset":1182602,"length":198,"previous":"M21-GAP-03337","next":"M21-GAP-03339"},"M21-GAP-03339":{"line":6594,"offset":1182800,"length":209,"previous":"M21-GAP-03338","next":"M21-GAP-03340"},"M21-GAP-03340":{"line":6595,"offset":1183009,"length":203,"previous":"M21-GAP-03339","next":"M21-GAP-03341"},"M21-GAP-03341":{"line":6596,"offset":1183212,"length":180,"previous":"M21-GAP-03340","next":"M21-GAP-03342"},"M21-GAP-03342":{"line":6597,"offset":1183392,"length":181,"previous":"M21-GAP-03341","next":"M21-GAP-03343"},"M21-GAP-03343":{"line":6598,"offset":1183573,"length":182,"previous":"M21-GAP-03342","next":"M21-GAP-03344"},"M21-GAP-03344":{"line":6599,"offset":1183755,"length":181,"previous":"M21-GAP-03343","next":"M21-GAP-03345"},"M21-GAP-03345":{"line":6600,"offset":1183936,"length":196,"previous":"M21-GAP-03344","next":"M21-GAP-03346"},"M21-GAP-03346":{"line":6601,"offset":1184132,"length":192,"previous":"M21-GAP-03345","next":"M21-GAP-03347"},"M21-GAP-03347":{"line":6602,"offset":1184324,"length":192,"previous":"M21-GAP-03346","next":"M21-GAP-03348"},"M21-GAP-03348":{"line":6603,"offset":1184516,"length":192,"previous":"M21-GAP-03347","next":"M21-GAP-03349"},"M21-GAP-03349":{"line":6604,"offset":1184708,"length":196,"previous":"M21-GAP-03348","next":"M21-GAP-03350"},"M21-GAP-03350":{"line":6605,"offset":1184904,"length":196,"previous":"M21-GAP-03349","next":"M21-GAP-03351"},"M21-GAP-03351":{"line":6606,"offset":1185100,"length":197,"previous":"M21-GAP-03350","next":"M21-GAP-03352"},"M21-GAP-03352":{"line":6607,"offset":1185297,"length":198,"previous":"M21-GAP-03351","next":"M21-GAP-03353"},"M21-GAP-03353":{"line":6608,"offset":1185495,"length":194,"previous":"M21-GAP-03352","next":"M21-GAP-03354"},"M21-GAP-03354":{"line":6609,"offset":1185689,"length":194,"previous":"M21-GAP-03353","next":"M21-GAP-03355"},"M21-GAP-03355":{"line":6610,"offset":1185883,"length":194,"previous":"M21-GAP-03354","next":"M21-GAP-03356"},"M21-GAP-03356":{"line":6611,"offset":1186077,"length":197,"previous":"M21-GAP-03355","next":"M21-GAP-03357"},"M21-GAP-03357":{"line":6612,"offset":1186274,"length":193,"previous":"M21-GAP-03356","next":"M21-GAP-03358"},"M21-GAP-03358":{"line":6613,"offset":1186467,"length":193,"previous":"M21-GAP-03357","next":"M21-GAP-03359"},"M21-GAP-03359":{"line":6614,"offset":1186660,"length":196,"previous":"M21-GAP-03358","next":"M21-GAP-03360"},"M21-GAP-03360":{"line":6615,"offset":1186856,"length":193,"previous":"M21-GAP-03359","next":"M21-GAP-03361"},"M21-GAP-03361":{"line":6616,"offset":1187049,"length":197,"previous":"M21-GAP-03360","next":"M21-GAP-03362"},"M21-GAP-03362":{"line":6617,"offset":1187246,"length":195,"previous":"M21-GAP-03361","next":"M21-GAP-03363"},"M21-GAP-03363":{"line":6618,"offset":1187441,"length":201,"previous":"M21-GAP-03362","next":"M21-GAP-03364"},"M21-GAP-03364":{"line":6619,"offset":1187642,"length":197,"previous":"M21-GAP-03363","next":"M21-GAP-03365"},"M21-GAP-03365":{"line":6620,"offset":1187839,"length":197,"previous":"M21-GAP-03364","next":"M21-GAP-03366"},"M21-GAP-03366":{"line":6621,"offset":1188036,"length":197,"previous":"M21-GAP-03365","next":"M21-GAP-03367"},"M21-GAP-03367":{"line":6622,"offset":1188233,"length":197,"previous":"M21-GAP-03366","next":"M21-GAP-03368"},"M21-GAP-03368":{"line":6623,"offset":1188430,"length":186,"previous":"M21-GAP-03367","next":"M21-GAP-03369"},"M21-GAP-03369":{"line":6624,"offset":1188616,"length":200,"previous":"M21-GAP-03368","next":"M21-GAP-03370"},"M21-GAP-03370":{"line":6625,"offset":1188816,"length":189,"previous":"M21-GAP-03369","next":"M21-GAP-03371"},"M21-GAP-03371":{"line":6626,"offset":1189005,"length":199,"previous":"M21-GAP-03370","next":"M21-GAP-03372"},"M21-GAP-03372":{"line":6627,"offset":1189204,"length":188,"previous":"M21-GAP-03371","next":"M21-GAP-03373"},"M21-GAP-03373":{"line":6628,"offset":1189392,"length":181,"previous":"M21-GAP-03372","next":"M21-GAP-03374"},"M21-GAP-03374":{"line":6629,"offset":1189573,"length":185,"previous":"M21-GAP-03373","next":"M21-GAP-03375"},"M21-GAP-03375":{"line":6630,"offset":1189758,"length":192,"previous":"M21-GAP-03374","next":"M21-GAP-03376"},"M21-GAP-03376":{"line":6631,"offset":1189950,"length":181,"previous":"M21-GAP-03375","next":"M21-GAP-03377"},"M21-GAP-03377":{"line":6632,"offset":1190131,"length":169,"previous":"M21-GAP-03376","next":"M21-GAP-03378"},"M21-GAP-03378":{"line":6633,"offset":1190300,"length":178,"previous":"M21-GAP-03377","next":"M21-GAP-03379"},"M21-GAP-03379":{"line":6634,"offset":1190478,"length":169,"previous":"M21-GAP-03378","next":"M21-GAP-03380"},"M21-GAP-03380":{"line":6635,"offset":1190647,"length":168,"previous":"M21-GAP-03379","next":"M21-GAP-03381"},"M21-GAP-03381":{"line":6636,"offset":1190815,"length":175,"previous":"M21-GAP-03380","next":"M21-GAP-03382"},"M21-GAP-03382":{"line":6637,"offset":1190990,"length":187,"previous":"M21-GAP-03381","next":"M21-GAP-03383"},"M21-GAP-03383":{"line":6638,"offset":1191177,"length":177,"previous":"M21-GAP-03382","next":"M21-GAP-03384"},"M21-GAP-03384":{"line":6639,"offset":1191354,"length":183,"previous":"M21-GAP-03383","next":"M21-GAP-03385"},"M21-GAP-03385":{"line":6640,"offset":1191537,"length":182,"previous":"M21-GAP-03384","next":"M21-GAP-03386"},"M21-GAP-03386":{"line":6641,"offset":1191719,"length":170,"previous":"M21-GAP-03385","next":"M21-GAP-03387"},"M21-GAP-03387":{"line":6642,"offset":1191889,"length":169,"previous":"M21-GAP-03386","next":"M21-GAP-03388"},"M21-GAP-03388":{"line":6643,"offset":1192058,"length":179,"previous":"M21-GAP-03387","next":"M21-GAP-03389"},"M21-GAP-03389":{"line":6644,"offset":1192237,"length":165,"previous":"M21-GAP-03388","next":"M21-GAP-03390"},"M21-GAP-03390":{"line":6645,"offset":1192402,"length":166,"previous":"M21-GAP-03389","next":"M21-GAP-03391"},"M21-GAP-03391":{"line":6646,"offset":1192568,"length":184,"previous":"M21-GAP-03390","next":"M21-GAP-03392"},"M21-GAP-03392":{"line":6647,"offset":1192752,"length":188,"previous":"M21-GAP-03391","next":"M21-GAP-03393"},"M21-GAP-03393":{"line":6648,"offset":1192940,"length":180,"previous":"M21-GAP-03392","next":"M21-GAP-03394"},"M21-GAP-03394":{"line":6649,"offset":1193120,"length":198,"previous":"M21-GAP-03393","next":"M21-GAP-03395"},"M21-GAP-03395":{"line":6650,"offset":1193318,"length":180,"previous":"M21-GAP-03394","next":"M21-GAP-03396"},"M21-GAP-03396":{"line":6651,"offset":1193498,"length":187,"previous":"M21-GAP-03395","next":"M21-GAP-03397"},"M21-GAP-03397":{"line":6652,"offset":1193685,"length":184,"previous":"M21-GAP-03396","next":"M21-GAP-03398"},"M21-GAP-03398":{"line":6653,"offset":1193869,"length":179,"previous":"M21-GAP-03397","next":"M21-GAP-03399"},"M21-GAP-03399":{"line":6654,"offset":1194048,"length":179,"previous":"M21-GAP-03398","next":"M21-GAP-03400"},"M21-GAP-03400":{"line":6655,"offset":1194227,"length":164,"previous":"M21-GAP-03399","next":"M21-GAP-03401"},"M21-GAP-03401":{"line":6656,"offset":1194391,"length":166,"previous":"M21-GAP-03400","next":"M21-GAP-03402"},"M21-GAP-03402":{"line":6657,"offset":1194557,"length":184,"previous":"M21-GAP-03401","next":"M21-GAP-03403"},"M21-GAP-03403":{"line":6658,"offset":1194741,"length":178,"previous":"M21-GAP-03402","next":"M21-GAP-03404"},"M21-GAP-03404":{"line":6659,"offset":1194919,"length":184,"previous":"M21-GAP-03403","next":"M21-GAP-03405"},"M21-GAP-03405":{"line":6660,"offset":1195103,"length":180,"previous":"M21-GAP-03404","next":"M21-GAP-03406"},"M21-GAP-03406":{"line":6661,"offset":1195283,"length":189,"previous":"M21-GAP-03405","next":"M21-GAP-03407"},"M21-GAP-03407":{"line":6662,"offset":1195472,"length":173,"previous":"M21-GAP-03406","next":"M21-GAP-03408"},"M21-GAP-03408":{"line":6663,"offset":1195645,"length":189,"previous":"M21-GAP-03407","next":"M21-GAP-03409"},"M21-GAP-03409":{"line":6664,"offset":1195834,"length":187,"previous":"M21-GAP-03408","next":"M21-GAP-03410"},"M21-GAP-03410":{"line":6665,"offset":1196021,"length":190,"previous":"M21-GAP-03409","next":"M21-GAP-03411"},"M21-GAP-03411":{"line":6666,"offset":1196211,"length":182,"previous":"M21-GAP-03410","next":"M21-GAP-03412"},"M21-GAP-03412":{"line":6667,"offset":1196393,"length":171,"previous":"M21-GAP-03411","next":"M21-GAP-03413"},"M21-GAP-03413":{"line":6668,"offset":1196564,"length":173,"previous":"M21-GAP-03412","next":"M21-GAP-03414"},"M21-GAP-03414":{"line":6669,"offset":1196737,"length":176,"previous":"M21-GAP-03413","next":"M21-GAP-03415"},"M21-GAP-03415":{"line":6670,"offset":1196913,"length":181,"previous":"M21-GAP-03414","next":"M21-GAP-03416"},"M21-GAP-03416":{"line":6671,"offset":1197094,"length":179,"previous":"M21-GAP-03415","next":"M21-GAP-03417"},"M21-GAP-03417":{"line":6672,"offset":1197273,"length":187,"previous":"M21-GAP-03416","next":"M21-GAP-03418"},"M21-GAP-03418":{"line":6673,"offset":1197460,"length":179,"previous":"M21-GAP-03417","next":"M21-GAP-03419"},"M21-GAP-03419":{"line":6674,"offset":1197639,"length":186,"previous":"M21-GAP-03418","next":"M21-GAP-03420"},"M21-GAP-03420":{"line":6675,"offset":1197825,"length":183,"previous":"M21-GAP-03419","next":"M21-GAP-03421"},"M21-GAP-03421":{"line":6676,"offset":1198008,"length":183,"previous":"M21-GAP-03420","next":"M21-GAP-03422"},"M21-GAP-03422":{"line":6677,"offset":1198191,"length":183,"previous":"M21-GAP-03421","next":"M21-GAP-03423"},"M21-GAP-03423":{"line":6678,"offset":1198374,"length":185,"previous":"M21-GAP-03422","next":"M21-GAP-03424"},"M21-GAP-03424":{"line":6679,"offset":1198559,"length":183,"previous":"M21-GAP-03423","next":"M21-GAP-03425"},"M21-GAP-03425":{"line":6680,"offset":1198742,"length":186,"previous":"M21-GAP-03424","next":"M21-GAP-03426"},"M21-GAP-03426":{"line":6681,"offset":1198928,"length":186,"previous":"M21-GAP-03425","next":"M21-GAP-03427"},"M21-GAP-03427":{"line":6682,"offset":1199114,"length":173,"previous":"M21-GAP-03426","next":"M21-GAP-03428"},"M21-GAP-03428":{"line":6683,"offset":1199287,"length":195,"previous":"M21-GAP-03427","next":"M21-GAP-03429"},"M21-GAP-03429":{"line":6684,"offset":1199482,"length":198,"previous":"M21-GAP-03428","next":"M21-GAP-03430"},"M21-GAP-03430":{"line":6685,"offset":1199680,"length":198,"previous":"M21-GAP-03429","next":"M21-GAP-03431"},"M21-GAP-03431":{"line":6686,"offset":1199878,"length":196,"previous":"M21-GAP-03430","next":"M21-GAP-03432"},"M21-GAP-03432":{"line":6687,"offset":1200074,"length":198,"previous":"M21-GAP-03431","next":"M21-GAP-03433"},"M21-GAP-03433":{"line":6688,"offset":1200272,"length":197,"previous":"M21-GAP-03432","next":"M21-GAP-03434"},"M21-GAP-03434":{"line":6689,"offset":1200469,"length":213,"previous":"M21-GAP-03433","next":"M21-GAP-03435"},"M21-GAP-03435":{"line":6690,"offset":1200682,"length":202,"previous":"M21-GAP-03434","next":"M21-GAP-03436"},"M21-GAP-03436":{"line":6691,"offset":1200884,"length":216,"previous":"M21-GAP-03435","next":"M21-GAP-03437"},"M21-GAP-03437":{"line":6692,"offset":1201100,"length":205,"previous":"M21-GAP-03436","next":"M21-GAP-03438"},"M21-GAP-03438":{"line":6693,"offset":1201305,"length":215,"previous":"M21-GAP-03437","next":"M21-GAP-03439"},"M21-GAP-03439":{"line":6694,"offset":1201520,"length":204,"previous":"M21-GAP-03438","next":"M21-GAP-03440"},"M21-GAP-03440":{"line":6695,"offset":1201724,"length":201,"previous":"M21-GAP-03439","next":"M21-GAP-03441"},"M21-GAP-03441":{"line":6696,"offset":1201925,"length":208,"previous":"M21-GAP-03440","next":"M21-GAP-03442"},"M21-GAP-03442":{"line":6697,"offset":1202133,"length":197,"previous":"M21-GAP-03441","next":"M21-GAP-03443"},"M21-GAP-03443":{"line":6698,"offset":1202330,"length":192,"previous":"M21-GAP-03442","next":"M21-GAP-03444"},"M21-GAP-03444":{"line":6699,"offset":1202522,"length":196,"previous":"M21-GAP-03443","next":"M21-GAP-03445"},"M21-GAP-03445":{"line":6700,"offset":1202718,"length":194,"previous":"M21-GAP-03444","next":"M21-GAP-03446"},"M21-GAP-03446":{"line":6701,"offset":1202912,"length":194,"previous":"M21-GAP-03445","next":"M21-GAP-03447"},"M21-GAP-03447":{"line":6702,"offset":1203106,"length":195,"previous":"M21-GAP-03446","next":"M21-GAP-03448"},"M21-GAP-03448":{"line":6703,"offset":1203301,"length":195,"previous":"M21-GAP-03447","next":"M21-GAP-03449"},"M21-GAP-03449":{"line":6704,"offset":1203496,"length":200,"previous":"M21-GAP-03448","next":"M21-GAP-03450"},"M21-GAP-03450":{"line":6705,"offset":1203696,"length":196,"previous":"M21-GAP-03449","next":"M21-GAP-03451"},"M21-GAP-03451":{"line":6706,"offset":1203892,"length":195,"previous":"M21-GAP-03450","next":"M21-GAP-03452"},"M21-GAP-03452":{"line":6707,"offset":1204087,"length":211,"previous":"M21-GAP-03451","next":"M21-GAP-03453"},"M21-GAP-03453":{"line":6708,"offset":1204298,"length":200,"previous":"M21-GAP-03452","next":"M21-GAP-03454"},"M21-GAP-03454":{"line":6709,"offset":1204498,"length":214,"previous":"M21-GAP-03453","next":"M21-GAP-03455"},"M21-GAP-03455":{"line":6710,"offset":1204712,"length":203,"previous":"M21-GAP-03454","next":"M21-GAP-03456"},"M21-GAP-03456":{"line":6711,"offset":1204915,"length":213,"previous":"M21-GAP-03455","next":"M21-GAP-03457"},"M21-GAP-03457":{"line":6712,"offset":1205128,"length":202,"previous":"M21-GAP-03456","next":"M21-GAP-03458"},"M21-GAP-03458":{"line":6713,"offset":1205330,"length":206,"previous":"M21-GAP-03457","next":"M21-GAP-03459"},"M21-GAP-03459":{"line":6714,"offset":1205536,"length":195,"previous":"M21-GAP-03458","next":"M21-GAP-03460"},"M21-GAP-03460":{"line":6715,"offset":1205731,"length":180,"previous":"M21-GAP-03459","next":"M21-GAP-03461"},"M21-GAP-03461":{"line":6716,"offset":1205911,"length":171,"previous":"M21-GAP-03460","next":"M21-GAP-03462"},"M21-GAP-03462":{"line":6717,"offset":1206082,"length":172,"previous":"M21-GAP-03461","next":"M21-GAP-03463"},"M21-GAP-03463":{"line":6718,"offset":1206254,"length":163,"previous":"M21-GAP-03462","next":"M21-GAP-03464"},"M21-GAP-03464":{"line":6719,"offset":1206417,"length":186,"previous":"M21-GAP-03463","next":"M21-GAP-03465"},"M21-GAP-03465":{"line":6720,"offset":1206603,"length":180,"previous":"M21-GAP-03464","next":"M21-GAP-03466"},"M21-GAP-03466":{"line":6721,"offset":1206783,"length":167,"previous":"M21-GAP-03465","next":"M21-GAP-03467"},"M21-GAP-03467":{"line":6722,"offset":1206950,"length":167,"previous":"M21-GAP-03466","next":"M21-GAP-03468"},"M21-GAP-03468":{"line":6723,"offset":1207117,"length":172,"previous":"M21-GAP-03467","next":"M21-GAP-03469"},"M21-GAP-03469":{"line":6724,"offset":1207289,"length":181,"previous":"M21-GAP-03468","next":"M21-GAP-03470"},"M21-GAP-03470":{"line":6725,"offset":1207470,"length":164,"previous":"M21-GAP-03469","next":"M21-GAP-03471"},"M21-GAP-03471":{"line":6726,"offset":1207634,"length":168,"previous":"M21-GAP-03470","next":"M21-GAP-03472"},"M21-GAP-03472":{"line":6727,"offset":1207802,"length":175,"previous":"M21-GAP-03471","next":"M21-GAP-03473"},"M21-GAP-03473":{"line":6728,"offset":1207977,"length":176,"previous":"M21-GAP-03472","next":"M21-GAP-03474"},"M21-GAP-03474":{"line":6729,"offset":1208153,"length":175,"previous":"M21-GAP-03473","next":"M21-GAP-03475"},"M21-GAP-03475":{"line":6730,"offset":1208328,"length":177,"previous":"M21-GAP-03474","next":"M21-GAP-03476"},"M21-GAP-03476":{"line":6731,"offset":1208505,"length":178,"previous":"M21-GAP-03475","next":"M21-GAP-03477"},"M21-GAP-03477":{"line":6732,"offset":1208683,"length":179,"previous":"M21-GAP-03476","next":"M21-GAP-03478"},"M21-GAP-03478":{"line":6733,"offset":1208862,"length":181,"previous":"M21-GAP-03477","next":"M21-GAP-03479"},"M21-GAP-03479":{"line":6734,"offset":1209043,"length":188,"previous":"M21-GAP-03478","next":"M21-GAP-03480"},"M21-GAP-03480":{"line":6735,"offset":1209231,"length":186,"previous":"M21-GAP-03479","next":"M21-GAP-03481"},"M21-GAP-03481":{"line":6736,"offset":1209417,"length":187,"previous":"M21-GAP-03480","next":"M21-GAP-03482"},"M21-GAP-03482":{"line":6737,"offset":1209604,"length":198,"previous":"M21-GAP-03481","next":"M21-GAP-03483"},"M21-GAP-03483":{"line":6738,"offset":1209802,"length":187,"previous":"M21-GAP-03482","next":"M21-GAP-03484"},"M21-GAP-03484":{"line":6739,"offset":1209989,"length":201,"previous":"M21-GAP-03483","next":"M21-GAP-03485"},"M21-GAP-03485":{"line":6740,"offset":1210190,"length":190,"previous":"M21-GAP-03484","next":"M21-GAP-03486"},"M21-GAP-03486":{"line":6741,"offset":1210380,"length":200,"previous":"M21-GAP-03485","next":"M21-GAP-03487"},"M21-GAP-03487":{"line":6742,"offset":1210580,"length":189,"previous":"M21-GAP-03486","next":"M21-GAP-03488"},"M21-GAP-03488":{"line":6743,"offset":1210769,"length":193,"previous":"M21-GAP-03487","next":"M21-GAP-03489"},"M21-GAP-03489":{"line":6744,"offset":1210962,"length":182,"previous":"M21-GAP-03488","next":"M21-GAP-03490"},"M21-GAP-03490":{"line":6745,"offset":1211144,"length":171,"previous":"M21-GAP-03489","next":"M21-GAP-03491"},"M21-GAP-03491":{"line":6746,"offset":1211315,"length":176,"previous":"M21-GAP-03490","next":"M21-GAP-03492"},"M21-GAP-03492":{"line":6747,"offset":1211491,"length":171,"previous":"M21-GAP-03491","next":"M21-GAP-03493"},"M21-GAP-03493":{"line":6748,"offset":1211662,"length":171,"previous":"M21-GAP-03492","next":"M21-GAP-03494"},"M21-GAP-03494":{"line":6749,"offset":1211833,"length":201,"previous":"M21-GAP-03493","next":"M21-GAP-03495"},"M21-GAP-03495":{"line":6750,"offset":1212034,"length":178,"previous":"M21-GAP-03494","next":"M21-GAP-03496"},"M21-GAP-03496":{"line":6751,"offset":1212212,"length":199,"previous":"M21-GAP-03495","next":"M21-GAP-03497"},"M21-GAP-03497":{"line":6752,"offset":1212411,"length":168,"previous":"M21-GAP-03496","next":"M21-GAP-03498"},"M21-GAP-03498":{"line":6753,"offset":1212579,"length":178,"previous":"M21-GAP-03497","next":"M21-GAP-03499"},"M21-GAP-03499":{"line":6754,"offset":1212757,"length":171,"previous":"M21-GAP-03498","next":"M21-GAP-03500"},"M21-GAP-03500":{"line":6755,"offset":1212928,"length":164,"previous":"M21-GAP-03499","next":"M21-GAP-03501"},"M21-GAP-03501":{"line":6756,"offset":1213092,"length":177,"previous":"M21-GAP-03500","next":"M21-GAP-03502"},"M21-GAP-03502":{"line":6757,"offset":1213269,"length":177,"previous":"M21-GAP-03501","next":"M21-GAP-03503"},"M21-GAP-03503":{"line":6758,"offset":1213446,"length":190,"previous":"M21-GAP-03502","next":"M21-GAP-03504"},"M21-GAP-03504":{"line":6759,"offset":1213636,"length":188,"previous":"M21-GAP-03503","next":"M21-GAP-03505"},"M21-GAP-03505":{"line":6760,"offset":1213824,"length":190,"previous":"M21-GAP-03504","next":"M21-GAP-03506"},"M21-GAP-03506":{"line":6761,"offset":1214014,"length":190,"previous":"M21-GAP-03505","next":"M21-GAP-03507"},"M21-GAP-03507":{"line":6762,"offset":1214204,"length":189,"previous":"M21-GAP-03506","next":"M21-GAP-03508"},"M21-GAP-03508":{"line":6763,"offset":1214393,"length":205,"previous":"M21-GAP-03507","next":"M21-GAP-03509"},"M21-GAP-03509":{"line":6764,"offset":1214598,"length":194,"previous":"M21-GAP-03508","next":"M21-GAP-03510"},"M21-GAP-03510":{"line":6765,"offset":1214792,"length":208,"previous":"M21-GAP-03509","next":"M21-GAP-03511"},"M21-GAP-03511":{"line":6766,"offset":1215000,"length":197,"previous":"M21-GAP-03510","next":"M21-GAP-03512"},"M21-GAP-03512":{"line":6767,"offset":1215197,"length":207,"previous":"M21-GAP-03511","next":"M21-GAP-03513"},"M21-GAP-03513":{"line":6768,"offset":1215404,"length":196,"previous":"M21-GAP-03512","next":"M21-GAP-03514"},"M21-GAP-03514":{"line":6769,"offset":1215600,"length":200,"previous":"M21-GAP-03513","next":"M21-GAP-03515"},"M21-GAP-03515":{"line":6770,"offset":1215800,"length":189,"previous":"M21-GAP-03514","next":"M21-GAP-03516"},"M21-GAP-03516":{"line":6771,"offset":1215989,"length":177,"previous":"M21-GAP-03515","next":"M21-GAP-03517"},"M21-GAP-03517":{"line":6772,"offset":1216166,"length":184,"previous":"M21-GAP-03516","next":"M21-GAP-03518"},"M21-GAP-03518":{"line":6773,"offset":1216350,"length":180,"previous":"M21-GAP-03517","next":"M21-GAP-03519"},"M21-GAP-03519":{"line":6774,"offset":1216530,"length":179,"previous":"M21-GAP-03518","next":"M21-GAP-03520"},"M21-GAP-03520":{"line":6775,"offset":1216709,"length":174,"previous":"M21-GAP-03519","next":"M21-GAP-03521"},"M21-GAP-03521":{"line":6776,"offset":1216883,"length":166,"previous":"M21-GAP-03520","next":"M21-GAP-03522"},"M21-GAP-03522":{"line":6777,"offset":1217049,"length":173,"previous":"M21-GAP-03521","next":"M21-GAP-03523"},"M21-GAP-03523":{"line":6778,"offset":1217222,"length":179,"previous":"M21-GAP-03522","next":"M21-GAP-03524"},"M21-GAP-03524":{"line":6779,"offset":1217401,"length":166,"previous":"M21-GAP-03523","next":"M21-GAP-03525"},"M21-GAP-03525":{"line":6780,"offset":1217567,"length":188,"previous":"M21-GAP-03524","next":"M21-GAP-03526"},"M21-GAP-03526":{"line":6781,"offset":1217755,"length":191,"previous":"M21-GAP-03525","next":"M21-GAP-03527"},"M21-GAP-03527":{"line":6782,"offset":1217946,"length":207,"previous":"M21-GAP-03526","next":"M21-GAP-03528"},"M21-GAP-03528":{"line":6783,"offset":1218153,"length":196,"previous":"M21-GAP-03527","next":"M21-GAP-03529"},"M21-GAP-03529":{"line":6784,"offset":1218349,"length":210,"previous":"M21-GAP-03528","next":"M21-GAP-03530"},"M21-GAP-03530":{"line":6785,"offset":1218559,"length":199,"previous":"M21-GAP-03529","next":"M21-GAP-03531"},"M21-GAP-03531":{"line":6786,"offset":1218758,"length":209,"previous":"M21-GAP-03530","next":"M21-GAP-03532"},"M21-GAP-03532":{"line":6787,"offset":1218967,"length":198,"previous":"M21-GAP-03531","next":"M21-GAP-03533"},"M21-GAP-03533":{"line":6788,"offset":1219165,"length":190,"previous":"M21-GAP-03532","next":"M21-GAP-03534"},"M21-GAP-03534":{"line":6789,"offset":1219355,"length":179,"previous":"M21-GAP-03533","next":"M21-GAP-03535"},"M21-GAP-03535":{"line":6790,"offset":1219534,"length":170,"previous":"M21-GAP-03534","next":"M21-GAP-03536"},"M21-GAP-03536":{"line":6791,"offset":1219704,"length":185,"previous":"M21-GAP-03535","next":"M21-GAP-03537"},"M21-GAP-03537":{"line":6792,"offset":1219889,"length":178,"previous":"M21-GAP-03536","next":"M21-GAP-03538"},"M21-GAP-03538":{"line":6793,"offset":1220067,"length":178,"previous":"M21-GAP-03537","next":"M21-GAP-03539"},"M21-GAP-03539":{"line":6794,"offset":1220245,"length":170,"previous":"M21-GAP-03538","next":"M21-GAP-03540"},"M21-GAP-03540":{"line":6795,"offset":1220415,"length":170,"previous":"M21-GAP-03539","next":"M21-GAP-03541"},"M21-GAP-03541":{"line":6796,"offset":1220585,"length":176,"previous":"M21-GAP-03540","next":"M21-GAP-03542"},"M21-GAP-03542":{"line":6797,"offset":1220761,"length":191,"previous":"M21-GAP-03541","next":"M21-GAP-03543"},"M21-GAP-03543":{"line":6798,"offset":1220952,"length":179,"previous":"M21-GAP-03542","next":"M21-GAP-03544"},"M21-GAP-03544":{"line":6799,"offset":1221131,"length":169,"previous":"M21-GAP-03543","next":"M21-GAP-03545"},"M21-GAP-03545":{"line":6800,"offset":1221300,"length":174,"previous":"M21-GAP-03544","next":"M21-GAP-03546"},"M21-GAP-03546":{"line":6801,"offset":1221474,"length":172,"previous":"M21-GAP-03545","next":"M21-GAP-03547"},"M21-GAP-03547":{"line":6802,"offset":1221646,"length":191,"previous":"M21-GAP-03546","next":"M21-GAP-03548"},"M21-GAP-03548":{"line":6803,"offset":1221837,"length":179,"previous":"M21-GAP-03547","next":"M21-GAP-03549"},"M21-GAP-03549":{"line":6804,"offset":1222016,"length":166,"previous":"M21-GAP-03548","next":"M21-GAP-03550"},"M21-GAP-03550":{"line":6805,"offset":1222182,"length":178,"previous":"M21-GAP-03549","next":"M21-GAP-03551"},"M21-GAP-03551":{"line":6806,"offset":1222360,"length":176,"previous":"M21-GAP-03550","next":"M21-GAP-03552"},"M21-GAP-03552":{"line":6807,"offset":1222536,"length":181,"previous":"M21-GAP-03551","next":"M21-GAP-03553"},"M21-GAP-03553":{"line":6808,"offset":1222717,"length":177,"previous":"M21-GAP-03552","next":"M21-GAP-03554"},"M21-GAP-03554":{"line":6809,"offset":1222894,"length":182,"previous":"M21-GAP-03553","next":"M21-GAP-03555"},"M21-GAP-03555":{"line":6810,"offset":1223076,"length":179,"previous":"M21-GAP-03554","next":"M21-GAP-03556"},"M21-GAP-03556":{"line":6811,"offset":1223255,"length":208,"previous":"M21-GAP-03555","next":"M21-GAP-03557"},"M21-GAP-03557":{"line":6812,"offset":1223463,"length":177,"previous":"M21-GAP-03556","next":"M21-GAP-03558"},"M21-GAP-03558":{"line":6813,"offset":1223640,"length":177,"previous":"M21-GAP-03557","next":"M21-GAP-03559"},"M21-GAP-03559":{"line":6814,"offset":1223817,"length":172,"previous":"M21-GAP-03558","next":"M21-GAP-03560"},"M21-GAP-03560":{"line":6815,"offset":1223989,"length":166,"previous":"M21-GAP-03559","next":"M21-GAP-03561"},"M21-GAP-03561":{"line":6816,"offset":1224155,"length":158,"previous":"M21-GAP-03560","next":"M21-GAP-03562"},"M21-GAP-03562":{"line":6817,"offset":1224313,"length":165,"previous":"M21-GAP-03561","next":"M21-GAP-03563"},"M21-GAP-03563":{"line":6818,"offset":1224478,"length":155,"previous":"M21-GAP-03562","next":"M21-GAP-03564"},"M21-GAP-03564":{"line":6819,"offset":1224633,"length":154,"previous":"M21-GAP-03563","next":"M21-GAP-03565"},"M21-GAP-03565":{"line":6820,"offset":1224787,"length":153,"previous":"M21-GAP-03564","next":"M21-GAP-03566"},"M21-GAP-03566":{"line":6821,"offset":1224940,"length":153,"previous":"M21-GAP-03565","next":"M21-GAP-03567"},"M21-GAP-03567":{"line":6822,"offset":1225093,"length":150,"previous":"M21-GAP-03566","next":"M21-GAP-03568"},"M21-GAP-03568":{"line":6823,"offset":1225243,"length":161,"previous":"M21-GAP-03567","next":"M21-GAP-03569"},"M21-GAP-03569":{"line":6824,"offset":1225404,"length":154,"previous":"M21-GAP-03568","next":"M21-GAP-03570"},"M21-GAP-03570":{"line":6825,"offset":1225558,"length":156,"previous":"M21-GAP-03569","next":"M21-GAP-03571"},"M21-GAP-03571":{"line":6826,"offset":1225714,"length":156,"previous":"M21-GAP-03570","next":"M21-GAP-03572"},"M21-GAP-03572":{"line":6827,"offset":1225870,"length":152,"previous":"M21-GAP-03571","next":"M21-GAP-03573"},"M21-GAP-03573":{"line":6828,"offset":1226022,"length":158,"previous":"M21-GAP-03572","next":"M21-GAP-03574"},"M21-GAP-03574":{"line":6829,"offset":1226180,"length":157,"previous":"M21-GAP-03573","next":"M21-GAP-03575"},"M21-GAP-03575":{"line":6830,"offset":1226337,"length":149,"previous":"M21-GAP-03574","next":"M21-GAP-03576"},"M21-GAP-03576":{"line":6831,"offset":1226486,"length":153,"previous":"M21-GAP-03575","next":"M21-GAP-03577"},"M21-GAP-03577":{"line":6832,"offset":1226639,"length":149,"previous":"M21-GAP-03576","next":"M21-GAP-03578"},"M21-GAP-03578":{"line":6833,"offset":1226788,"length":166,"previous":"M21-GAP-03577","next":"M21-GAP-03579"},"M21-GAP-03579":{"line":6834,"offset":1226954,"length":163,"previous":"M21-GAP-03578","next":"M21-GAP-03580"},"M21-GAP-03580":{"line":6835,"offset":1227117,"length":171,"previous":"M21-GAP-03579","next":"M21-GAP-03581"},"M21-GAP-03581":{"line":6836,"offset":1227288,"length":167,"previous":"M21-GAP-03580","next":"M21-GAP-03582"},"M21-GAP-03582":{"line":6837,"offset":1227455,"length":167,"previous":"M21-GAP-03581","next":"M21-GAP-03583"},"M21-GAP-03583":{"line":6838,"offset":1227622,"length":167,"previous":"M21-GAP-03582","next":"M21-GAP-03584"},"M21-GAP-03584":{"line":6839,"offset":1227789,"length":160,"previous":"M21-GAP-03583","next":"M21-GAP-03585"},"M21-GAP-03585":{"line":6840,"offset":1227949,"length":159,"previous":"M21-GAP-03584","next":"M21-GAP-03586"},"M21-GAP-03586":{"line":6841,"offset":1228108,"length":166,"previous":"M21-GAP-03585","next":"M21-GAP-03587"},"M21-GAP-03587":{"line":6842,"offset":1228274,"length":164,"previous":"M21-GAP-03586","next":"M21-GAP-03588"},"M21-GAP-03588":{"line":6843,"offset":1228438,"length":167,"previous":"M21-GAP-03587","next":"M21-GAP-03589"},"M21-GAP-03589":{"line":6844,"offset":1228605,"length":166,"previous":"M21-GAP-03588","next":"M21-GAP-03590"},"M21-GAP-03590":{"line":6845,"offset":1228771,"length":170,"previous":"M21-GAP-03589","next":"M21-GAP-03591"},"M21-GAP-03591":{"line":6846,"offset":1228941,"length":167,"previous":"M21-GAP-03590","next":"M21-GAP-03592"},"M21-GAP-03592":{"line":6847,"offset":1229108,"length":166,"previous":"M21-GAP-03591","next":"M21-GAP-03593"},"M21-GAP-03593":{"line":6848,"offset":1229274,"length":162,"previous":"M21-GAP-03592","next":"M21-GAP-03594"},"M21-GAP-03594":{"line":6849,"offset":1229436,"length":156,"previous":"M21-GAP-03593","next":"M21-GAP-03595"},"M21-GAP-03595":{"line":6850,"offset":1229592,"length":152,"previous":"M21-GAP-03594","next":"M21-GAP-03596"},"M21-GAP-03596":{"line":6851,"offset":1229744,"length":161,"previous":"M21-GAP-03595","next":"M21-GAP-03597"},"M21-GAP-03597":{"line":6852,"offset":1229905,"length":150,"previous":"M21-GAP-03596","next":"M21-GAP-03598"},"M21-GAP-03598":{"line":6853,"offset":1230055,"length":157,"previous":"M21-GAP-03597","next":"M21-GAP-03599"},"M21-GAP-03599":{"line":6854,"offset":1230212,"length":157,"previous":"M21-GAP-03598","next":"M21-GAP-03600"},"M21-GAP-03600":{"line":6855,"offset":1230369,"length":157,"previous":"M21-GAP-03599","next":"M21-GAP-03601"},"M21-GAP-03601":{"line":6856,"offset":1230526,"length":149,"previous":"M21-GAP-03600","next":"M21-GAP-03602"},"M21-GAP-03602":{"line":6857,"offset":1230675,"length":155,"previous":"M21-GAP-03601","next":"M21-GAP-03603"},"M21-GAP-03603":{"line":6858,"offset":1230830,"length":156,"previous":"M21-GAP-03602","next":"M21-GAP-03604"},"M21-GAP-03604":{"line":6859,"offset":1230986,"length":153,"previous":"M21-GAP-03603","next":"M21-GAP-03605"},"M21-GAP-03605":{"line":6860,"offset":1231139,"length":156,"previous":"M21-GAP-03604","next":"M21-GAP-03606"},"M21-GAP-03606":{"line":6861,"offset":1231295,"length":155,"previous":"M21-GAP-03605","next":"M21-GAP-03607"},"M21-GAP-03607":{"line":6862,"offset":1231450,"length":160,"previous":"M21-GAP-03606","next":"M21-GAP-03608"},"M21-GAP-03608":{"line":6863,"offset":1231610,"length":156,"previous":"M21-GAP-03607","next":"M21-GAP-03609"},"M21-GAP-03609":{"line":6864,"offset":1231766,"length":154,"previous":"M21-GAP-03608","next":"M21-GAP-03610"},"M21-GAP-03610":{"line":6865,"offset":1231920,"length":156,"previous":"M21-GAP-03609","next":"M21-GAP-03611"},"M21-GAP-03611":{"line":6866,"offset":1232076,"length":151,"previous":"M21-GAP-03610","next":"M21-GAP-03612"},"M21-GAP-03612":{"line":6867,"offset":1232227,"length":152,"previous":"M21-GAP-03611","next":"M21-GAP-03613"},"M21-GAP-03613":{"line":6868,"offset":1232379,"length":157,"previous":"M21-GAP-03612","next":"M21-GAP-03614"},"M21-GAP-03614":{"line":6869,"offset":1232536,"length":165,"previous":"M21-GAP-03613","next":"M21-GAP-03615"},"M21-GAP-03615":{"line":6870,"offset":1232701,"length":159,"previous":"M21-GAP-03614","next":"M21-GAP-03616"},"M21-GAP-03616":{"line":6871,"offset":1232860,"length":172,"previous":"M21-GAP-03615","next":"M21-GAP-03617"},"M21-GAP-03617":{"line":6872,"offset":1233032,"length":166,"previous":"M21-GAP-03616","next":"M21-GAP-03618"},"M21-GAP-03618":{"line":6873,"offset":1233198,"length":157,"previous":"M21-GAP-03617","next":"M21-GAP-03619"},"M21-GAP-03619":{"line":6874,"offset":1233355,"length":159,"previous":"M21-GAP-03618","next":"M21-GAP-03620"},"M21-GAP-03620":{"line":6875,"offset":1233514,"length":173,"previous":"M21-GAP-03619","next":"M21-GAP-03621"},"M21-GAP-03621":{"line":6876,"offset":1233687,"length":166,"previous":"M21-GAP-03620","next":"M21-GAP-03622"},"M21-GAP-03622":{"line":6877,"offset":1233853,"length":173,"previous":"M21-GAP-03621","next":"M21-GAP-03623"},"M21-GAP-03623":{"line":6878,"offset":1234026,"length":165,"previous":"M21-GAP-03622","next":"M21-GAP-03624"},"M21-GAP-03624":{"line":6879,"offset":1234191,"length":173,"previous":"M21-GAP-03623","next":"M21-GAP-03625"},"M21-GAP-03625":{"line":6880,"offset":1234364,"length":165,"previous":"M21-GAP-03624","next":"M22-GAP-00001"},"M22-GAP-00001":{"line":6881,"offset":1234529,"length":166,"previous":"M21-GAP-03625","next":"M22-GAP-00002"},"M22-GAP-00002":{"line":6882,"offset":1234695,"length":180,"previous":"M22-GAP-00001","next":"M22-GAP-00003"},"M22-GAP-00003":{"line":6883,"offset":1234875,"length":172,"previous":"M22-GAP-00002","next":"M22-GAP-00004"},"M22-GAP-00004":{"line":6884,"offset":1235047,"length":155,"previous":"M22-GAP-00003","next":"M22-GAP-00005"},"M22-GAP-00005":{"line":6885,"offset":1235202,"length":159,"previous":"M22-GAP-00004","next":"M22-GAP-00006"},"M22-GAP-00006":{"line":6886,"offset":1235361,"length":159,"previous":"M22-GAP-00005","next":"M22-GAP-00007"},"M22-GAP-00007":{"line":6887,"offset":1235520,"length":164,"previous":"M22-GAP-00006","next":"M22-GAP-00008"},"M22-GAP-00008":{"line":6888,"offset":1235684,"length":154,"previous":"M22-GAP-00007","next":"M22-GAP-00009"},"M22-GAP-00009":{"line":6889,"offset":1235838,"length":157,"previous":"M22-GAP-00008","next":"M22-GAP-00010"},"M22-GAP-00010":{"line":6890,"offset":1235995,"length":157,"previous":"M22-GAP-00009","next":"M22-GAP-00011"},"M22-GAP-00011":{"line":6891,"offset":1236152,"length":157,"previous":"M22-GAP-00010","next":"M22-GAP-00012"},"M22-GAP-00012":{"line":6892,"offset":1236309,"length":155,"previous":"M22-GAP-00011","next":"M22-GAP-00013"},"M22-GAP-00013":{"line":6893,"offset":1236464,"length":163,"previous":"M22-GAP-00012","next":"M22-GAP-00014"},"M22-GAP-00014":{"line":6894,"offset":1236627,"length":154,"previous":"M22-GAP-00013","next":"M22-GAP-00015"},"M22-GAP-00015":{"line":6895,"offset":1236781,"length":155,"previous":"M22-GAP-00014","next":"M22-GAP-00016"},"M22-GAP-00016":{"line":6896,"offset":1236936,"length":158,"previous":"M22-GAP-00015","next":"M22-GAP-00017"},"M22-GAP-00017":{"line":6897,"offset":1237094,"length":155,"previous":"M22-GAP-00016","next":"M22-GAP-00018"},"M22-GAP-00018":{"line":6898,"offset":1237249,"length":162,"previous":"M22-GAP-00017","next":"M22-GAP-00019"},"M22-GAP-00019":{"line":6899,"offset":1237411,"length":154,"previous":"M22-GAP-00018","next":null}}} +{"schemaVersion":1,"operation":"BLENDER_TASK_CONTEXT_INDEX","source":{"path":"tests/golden/M15-03A/next-task-plan.json","sha256":"5e5cd3a06099aab6137f4c02576c8164ce65d10ee7a3e6629282ea8191a298cc"},"catalog":{"path":"tests/golden/M15-03A/task-catalog.jsonl","sha256":"374c8d3ca2364f9dc59a2be173ad257ca94c2ef34d0cb0a44fb09efffd7a1ccb"},"taskCount":6900,"activeTask":"M16-GAP-00137","entries":{"M16-GAP-00001":{"line":0,"offset":0,"length":165,"previous":null,"next":"M16-GAP-00002"},"M16-GAP-00002":{"line":1,"offset":165,"length":167,"previous":"M16-GAP-00001","next":"M16-GAP-00003"},"M16-GAP-00003":{"line":2,"offset":332,"length":164,"previous":"M16-GAP-00002","next":"M16-GAP-00004"},"M16-GAP-00004":{"line":3,"offset":496,"length":165,"previous":"M16-GAP-00003","next":"M16-GAP-00005"},"M16-GAP-00005":{"line":4,"offset":661,"length":169,"previous":"M16-GAP-00004","next":"M16-GAP-00006"},"M16-GAP-00006":{"line":5,"offset":830,"length":164,"previous":"M16-GAP-00005","next":"M16-GAP-00007"},"M16-GAP-00007":{"line":6,"offset":994,"length":165,"previous":"M16-GAP-00006","next":"M16-GAP-00008"},"M16-GAP-00008":{"line":7,"offset":1159,"length":177,"previous":"M16-GAP-00007","next":"M16-GAP-00009"},"M16-GAP-00009":{"line":8,"offset":1336,"length":171,"previous":"M16-GAP-00008","next":"M16-GAP-00010"},"M16-GAP-00010":{"line":9,"offset":1507,"length":166,"previous":"M16-GAP-00009","next":"M16-GAP-00011"},"M16-GAP-00011":{"line":10,"offset":1673,"length":166,"previous":"M16-GAP-00010","next":"M16-GAP-00012"},"M16-GAP-00012":{"line":11,"offset":1839,"length":164,"previous":"M16-GAP-00011","next":"M16-GAP-00013"},"M16-GAP-00013":{"line":12,"offset":2003,"length":167,"previous":"M16-GAP-00012","next":"M16-GAP-00014"},"M16-GAP-00014":{"line":13,"offset":2170,"length":163,"previous":"M16-GAP-00013","next":"M16-GAP-00015"},"M16-GAP-00015":{"line":14,"offset":2333,"length":167,"previous":"M16-GAP-00014","next":"M16-GAP-00016"},"M16-GAP-00016":{"line":15,"offset":2500,"length":167,"previous":"M16-GAP-00015","next":"M16-GAP-00017"},"M16-GAP-00017":{"line":16,"offset":2667,"length":165,"previous":"M16-GAP-00016","next":"M16-GAP-00018"},"M16-GAP-00018":{"line":17,"offset":2832,"length":175,"previous":"M16-GAP-00017","next":"M16-GAP-00019"},"M16-GAP-00019":{"line":18,"offset":3007,"length":169,"previous":"M16-GAP-00018","next":"M16-GAP-00020"},"M16-GAP-00020":{"line":19,"offset":3176,"length":164,"previous":"M16-GAP-00019","next":"M16-GAP-00021"},"M16-GAP-00021":{"line":20,"offset":3340,"length":165,"previous":"M16-GAP-00020","next":"M16-GAP-00022"},"M16-GAP-00022":{"line":21,"offset":3505,"length":164,"previous":"M16-GAP-00021","next":"M16-GAP-00023"},"M16-GAP-00023":{"line":22,"offset":3669,"length":166,"previous":"M16-GAP-00022","next":"M16-GAP-00024"},"M16-GAP-00024":{"line":23,"offset":3835,"length":163,"previous":"M16-GAP-00023","next":"M16-GAP-00025"},"M16-GAP-00025":{"line":24,"offset":3998,"length":166,"previous":"M16-GAP-00024","next":"M16-GAP-00026"},"M16-GAP-00026":{"line":25,"offset":4164,"length":165,"previous":"M16-GAP-00025","next":"M16-GAP-00027"},"M16-GAP-00027":{"line":26,"offset":4329,"length":172,"previous":"M16-GAP-00026","next":"M16-GAP-00028"},"M16-GAP-00028":{"line":27,"offset":4501,"length":168,"previous":"M16-GAP-00027","next":"M16-GAP-00029"},"M16-GAP-00029":{"line":28,"offset":4669,"length":164,"previous":"M16-GAP-00028","next":"M16-GAP-00030"},"M16-GAP-00030":{"line":29,"offset":4833,"length":161,"previous":"M16-GAP-00029","next":"M16-GAP-00031"},"M16-GAP-00031":{"line":30,"offset":4994,"length":158,"previous":"M16-GAP-00030","next":"M16-GAP-00032"},"M16-GAP-00032":{"line":31,"offset":5152,"length":158,"previous":"M16-GAP-00031","next":"M16-GAP-00033"},"M16-GAP-00033":{"line":32,"offset":5310,"length":160,"previous":"M16-GAP-00032","next":"M16-GAP-00034"},"M16-GAP-00034":{"line":33,"offset":5470,"length":158,"previous":"M16-GAP-00033","next":"M16-GAP-00035"},"M16-GAP-00035":{"line":34,"offset":5628,"length":157,"previous":"M16-GAP-00034","next":"M16-GAP-00036"},"M16-GAP-00036":{"line":35,"offset":5785,"length":158,"previous":"M16-GAP-00035","next":"M16-GAP-00037"},"M16-GAP-00037":{"line":36,"offset":5943,"length":162,"previous":"M16-GAP-00036","next":"M16-GAP-00038"},"M16-GAP-00038":{"line":37,"offset":6105,"length":170,"previous":"M16-GAP-00037","next":"M16-GAP-00039"},"M16-GAP-00039":{"line":38,"offset":6275,"length":158,"previous":"M16-GAP-00038","next":"M16-GAP-00040"},"M16-GAP-00040":{"line":39,"offset":6433,"length":166,"previous":"M16-GAP-00039","next":"M16-GAP-00041"},"M16-GAP-00041":{"line":40,"offset":6599,"length":161,"previous":"M16-GAP-00040","next":"M16-GAP-00042"},"M16-GAP-00042":{"line":41,"offset":6760,"length":161,"previous":"M16-GAP-00041","next":"M16-GAP-00043"},"M16-GAP-00043":{"line":42,"offset":6921,"length":166,"previous":"M16-GAP-00042","next":"M16-GAP-00044"},"M16-GAP-00044":{"line":43,"offset":7087,"length":163,"previous":"M16-GAP-00043","next":"M16-GAP-00045"},"M16-GAP-00045":{"line":44,"offset":7250,"length":160,"previous":"M16-GAP-00044","next":"M16-GAP-00046"},"M16-GAP-00046":{"line":45,"offset":7410,"length":158,"previous":"M16-GAP-00045","next":"M16-GAP-00047"},"M16-GAP-00047":{"line":46,"offset":7568,"length":175,"previous":"M16-GAP-00046","next":"M16-GAP-00048"},"M16-GAP-00048":{"line":47,"offset":7743,"length":172,"previous":"M16-GAP-00047","next":"M16-GAP-00049"},"M16-GAP-00049":{"line":48,"offset":7915,"length":172,"previous":"M16-GAP-00048","next":"M16-GAP-00050"},"M16-GAP-00050":{"line":49,"offset":8087,"length":172,"previous":"M16-GAP-00049","next":"M16-GAP-00051"},"M16-GAP-00051":{"line":50,"offset":8259,"length":171,"previous":"M16-GAP-00050","next":"M16-GAP-00052"},"M16-GAP-00052":{"line":51,"offset":8430,"length":175,"previous":"M16-GAP-00051","next":"M16-GAP-00053"},"M16-GAP-00053":{"line":52,"offset":8605,"length":171,"previous":"M16-GAP-00052","next":"M16-GAP-00054"},"M16-GAP-00054":{"line":53,"offset":8776,"length":174,"previous":"M16-GAP-00053","next":"M16-GAP-00055"},"M16-GAP-00055":{"line":54,"offset":8950,"length":173,"previous":"M16-GAP-00054","next":"M16-GAP-00056"},"M16-GAP-00056":{"line":55,"offset":9123,"length":173,"previous":"M16-GAP-00055","next":"M16-GAP-00057"},"M16-GAP-00057":{"line":56,"offset":9296,"length":175,"previous":"M16-GAP-00056","next":"M16-GAP-00058"},"M16-GAP-00058":{"line":57,"offset":9471,"length":172,"previous":"M16-GAP-00057","next":"M16-GAP-00059"},"M16-GAP-00059":{"line":58,"offset":9643,"length":173,"previous":"M16-GAP-00058","next":"M16-GAP-00060"},"M16-GAP-00060":{"line":59,"offset":9816,"length":174,"previous":"M16-GAP-00059","next":"M16-GAP-00061"},"M16-GAP-00061":{"line":60,"offset":9990,"length":174,"previous":"M16-GAP-00060","next":"M16-GAP-00062"},"M16-GAP-00062":{"line":61,"offset":10164,"length":177,"previous":"M16-GAP-00061","next":"M16-GAP-00063"},"M16-GAP-00063":{"line":62,"offset":10341,"length":175,"previous":"M16-GAP-00062","next":"M16-GAP-00064"},"M16-GAP-00064":{"line":63,"offset":10516,"length":173,"previous":"M16-GAP-00063","next":"M16-GAP-00065"},"M16-GAP-00065":{"line":64,"offset":10689,"length":173,"previous":"M16-GAP-00064","next":"M16-GAP-00066"},"M16-GAP-00066":{"line":65,"offset":10862,"length":174,"previous":"M16-GAP-00065","next":"M16-GAP-00067"},"M16-GAP-00067":{"line":66,"offset":11036,"length":176,"previous":"M16-GAP-00066","next":"M16-GAP-00068"},"M16-GAP-00068":{"line":67,"offset":11212,"length":171,"previous":"M16-GAP-00067","next":"M16-GAP-00069"},"M16-GAP-00069":{"line":68,"offset":11383,"length":171,"previous":"M16-GAP-00068","next":"M16-GAP-00070"},"M16-GAP-00070":{"line":69,"offset":11554,"length":186,"previous":"M16-GAP-00069","next":"M16-GAP-00071"},"M16-GAP-00071":{"line":70,"offset":11740,"length":190,"previous":"M16-GAP-00070","next":"M16-GAP-00072"},"M16-GAP-00072":{"line":71,"offset":11930,"length":157,"previous":"M16-GAP-00071","next":"M16-GAP-00073"},"M16-GAP-00073":{"line":72,"offset":12087,"length":168,"previous":"M16-GAP-00072","next":"M16-GAP-00074"},"M16-GAP-00074":{"line":73,"offset":12255,"length":168,"previous":"M16-GAP-00073","next":"M16-GAP-00075"},"M16-GAP-00075":{"line":74,"offset":12423,"length":160,"previous":"M16-GAP-00074","next":"M16-GAP-00076"},"M16-GAP-00076":{"line":75,"offset":12583,"length":160,"previous":"M16-GAP-00075","next":"M16-GAP-00077"},"M16-GAP-00077":{"line":76,"offset":12743,"length":157,"previous":"M16-GAP-00076","next":"M16-GAP-00078"},"M16-GAP-00078":{"line":77,"offset":12900,"length":163,"previous":"M16-GAP-00077","next":"M16-GAP-00079"},"M16-GAP-00079":{"line":78,"offset":13063,"length":164,"previous":"M16-GAP-00078","next":"M16-GAP-00080"},"M16-GAP-00080":{"line":79,"offset":13227,"length":172,"previous":"M16-GAP-00079","next":"M16-GAP-00081"},"M16-GAP-00081":{"line":80,"offset":13399,"length":167,"previous":"M16-GAP-00080","next":"M16-GAP-00082"},"M16-GAP-00082":{"line":81,"offset":13566,"length":159,"previous":"M16-GAP-00081","next":"M16-GAP-00083"},"M16-GAP-00083":{"line":82,"offset":13725,"length":161,"previous":"M16-GAP-00082","next":"M16-GAP-00084"},"M16-GAP-00084":{"line":83,"offset":13886,"length":158,"previous":"M16-GAP-00083","next":"M16-GAP-00085"},"M16-GAP-00085":{"line":84,"offset":14044,"length":164,"previous":"M16-GAP-00084","next":"M16-GAP-00086"},"M16-GAP-00086":{"line":85,"offset":14208,"length":158,"previous":"M16-GAP-00085","next":"M16-GAP-00087"},"M16-GAP-00087":{"line":86,"offset":14366,"length":170,"previous":"M16-GAP-00086","next":"M16-GAP-00088"},"M16-GAP-00088":{"line":87,"offset":14536,"length":168,"previous":"M16-GAP-00087","next":"M16-GAP-00089"},"M16-GAP-00089":{"line":88,"offset":14704,"length":159,"previous":"M16-GAP-00088","next":"M16-GAP-00090"},"M16-GAP-00090":{"line":89,"offset":14863,"length":158,"previous":"M16-GAP-00089","next":"M16-GAP-00091"},"M16-GAP-00091":{"line":90,"offset":15021,"length":163,"previous":"M16-GAP-00090","next":"M16-GAP-00092"},"M16-GAP-00092":{"line":91,"offset":15184,"length":166,"previous":"M16-GAP-00091","next":"M16-GAP-00093"},"M16-GAP-00093":{"line":92,"offset":15350,"length":157,"previous":"M16-GAP-00092","next":"M16-GAP-00094"},"M16-GAP-00094":{"line":93,"offset":15507,"length":159,"previous":"M16-GAP-00093","next":"M16-GAP-00095"},"M16-GAP-00095":{"line":94,"offset":15666,"length":162,"previous":"M16-GAP-00094","next":"M16-GAP-00096"},"M16-GAP-00096":{"line":95,"offset":15828,"length":161,"previous":"M16-GAP-00095","next":"M16-GAP-00097"},"M16-GAP-00097":{"line":96,"offset":15989,"length":160,"previous":"M16-GAP-00096","next":"M16-GAP-00098"},"M16-GAP-00098":{"line":97,"offset":16149,"length":160,"previous":"M16-GAP-00097","next":"M16-GAP-00099"},"M16-GAP-00099":{"line":98,"offset":16309,"length":167,"previous":"M16-GAP-00098","next":"M16-GAP-00100"},"M16-GAP-00100":{"line":99,"offset":16476,"length":164,"previous":"M16-GAP-00099","next":"M16-GAP-00101"},"M16-GAP-00101":{"line":100,"offset":16640,"length":163,"previous":"M16-GAP-00100","next":"M16-GAP-00102"},"M16-GAP-00102":{"line":101,"offset":16803,"length":160,"previous":"M16-GAP-00101","next":"M16-GAP-00103"},"M16-GAP-00103":{"line":102,"offset":16963,"length":171,"previous":"M16-GAP-00102","next":"M16-GAP-00104"},"M16-GAP-00104":{"line":103,"offset":17134,"length":170,"previous":"M16-GAP-00103","next":"M16-GAP-00105"},"M16-GAP-00105":{"line":104,"offset":17304,"length":176,"previous":"M16-GAP-00104","next":"M16-GAP-00106"},"M16-GAP-00106":{"line":105,"offset":17480,"length":168,"previous":"M16-GAP-00105","next":"M16-GAP-00107"},"M16-GAP-00107":{"line":106,"offset":17648,"length":167,"previous":"M16-GAP-00106","next":"M16-GAP-00108"},"M16-GAP-00108":{"line":107,"offset":17815,"length":157,"previous":"M16-GAP-00107","next":"M16-GAP-00109"},"M16-GAP-00109":{"line":108,"offset":17972,"length":157,"previous":"M16-GAP-00108","next":"M16-GAP-00110"},"M16-GAP-00110":{"line":109,"offset":18129,"length":168,"previous":"M16-GAP-00109","next":"M16-GAP-00111"},"M16-GAP-00111":{"line":110,"offset":18297,"length":157,"previous":"M16-GAP-00110","next":"M16-GAP-00112"},"M16-GAP-00112":{"line":111,"offset":18454,"length":162,"previous":"M16-GAP-00111","next":"M16-GAP-00113"},"M16-GAP-00113":{"line":112,"offset":18616,"length":169,"previous":"M16-GAP-00112","next":"M16-GAP-00114"},"M16-GAP-00114":{"line":113,"offset":18785,"length":165,"previous":"M16-GAP-00113","next":"M16-GAP-00115"},"M16-GAP-00115":{"line":114,"offset":18950,"length":171,"previous":"M16-GAP-00114","next":"M16-GAP-00116"},"M16-GAP-00116":{"line":115,"offset":19121,"length":164,"previous":"M16-GAP-00115","next":"M16-GAP-00117"},"M16-GAP-00117":{"line":116,"offset":19285,"length":166,"previous":"M16-GAP-00116","next":"M16-GAP-00118"},"M16-GAP-00118":{"line":117,"offset":19451,"length":169,"previous":"M16-GAP-00117","next":"M16-GAP-00119"},"M16-GAP-00119":{"line":118,"offset":19620,"length":174,"previous":"M16-GAP-00118","next":"M16-GAP-00120"},"M16-GAP-00120":{"line":119,"offset":19794,"length":171,"previous":"M16-GAP-00119","next":"M16-GAP-00121"},"M16-GAP-00121":{"line":120,"offset":19965,"length":178,"previous":"M16-GAP-00120","next":"M16-GAP-00122"},"M16-GAP-00122":{"line":121,"offset":20143,"length":170,"previous":"M16-GAP-00121","next":"M16-GAP-00123"},"M16-GAP-00123":{"line":122,"offset":20313,"length":171,"previous":"M16-GAP-00122","next":"M16-GAP-00124"},"M16-GAP-00124":{"line":123,"offset":20484,"length":178,"previous":"M16-GAP-00123","next":"M16-GAP-00125"},"M16-GAP-00125":{"line":124,"offset":20662,"length":175,"previous":"M16-GAP-00124","next":"M16-GAP-00126"},"M16-GAP-00126":{"line":125,"offset":20837,"length":173,"previous":"M16-GAP-00125","next":"M16-GAP-00127"},"M16-GAP-00127":{"line":126,"offset":21010,"length":178,"previous":"M16-GAP-00126","next":"M16-GAP-00128"},"M16-GAP-00128":{"line":127,"offset":21188,"length":166,"previous":"M16-GAP-00127","next":"M16-GAP-00129"},"M16-GAP-00129":{"line":128,"offset":21354,"length":163,"previous":"M16-GAP-00128","next":"M16-GAP-00130"},"M16-GAP-00130":{"line":129,"offset":21517,"length":165,"previous":"M16-GAP-00129","next":"M16-GAP-00131"},"M16-GAP-00131":{"line":130,"offset":21682,"length":176,"previous":"M16-GAP-00130","next":"M16-GAP-00132"},"M16-GAP-00132":{"line":131,"offset":21858,"length":169,"previous":"M16-GAP-00131","next":"M16-GAP-00133"},"M16-GAP-00133":{"line":132,"offset":22027,"length":170,"previous":"M16-GAP-00132","next":"M16-GAP-00134"},"M16-GAP-00134":{"line":133,"offset":22197,"length":170,"previous":"M16-GAP-00133","next":"M16-GAP-00135"},"M16-GAP-00135":{"line":134,"offset":22367,"length":174,"previous":"M16-GAP-00134","next":"M16-GAP-00136"},"M16-GAP-00136":{"line":135,"offset":22541,"length":173,"previous":"M16-GAP-00135","next":"M16-GAP-00137"},"M16-GAP-00137":{"line":136,"offset":22714,"length":170,"previous":"M16-GAP-00136","next":"M16-GAP-00138"},"M16-GAP-00138":{"line":137,"offset":22884,"length":170,"previous":"M16-GAP-00137","next":"M16-GAP-00139"},"M16-GAP-00139":{"line":138,"offset":23054,"length":174,"previous":"M16-GAP-00138","next":"M16-GAP-00140"},"M16-GAP-00140":{"line":139,"offset":23228,"length":169,"previous":"M16-GAP-00139","next":"M16-GAP-00141"},"M16-GAP-00141":{"line":140,"offset":23397,"length":171,"previous":"M16-GAP-00140","next":"M16-GAP-00142"},"M16-GAP-00142":{"line":141,"offset":23568,"length":169,"previous":"M16-GAP-00141","next":"M16-GAP-00143"},"M16-GAP-00143":{"line":142,"offset":23737,"length":162,"previous":"M16-GAP-00142","next":"M16-GAP-00144"},"M16-GAP-00144":{"line":143,"offset":23899,"length":163,"previous":"M16-GAP-00143","next":"M16-GAP-00145"},"M16-GAP-00145":{"line":144,"offset":24062,"length":174,"previous":"M16-GAP-00144","next":"M16-GAP-00146"},"M16-GAP-00146":{"line":145,"offset":24236,"length":164,"previous":"M16-GAP-00145","next":"M16-GAP-00147"},"M16-GAP-00147":{"line":146,"offset":24400,"length":166,"previous":"M16-GAP-00146","next":"M16-GAP-00148"},"M16-GAP-00148":{"line":147,"offset":24566,"length":168,"previous":"M16-GAP-00147","next":"M16-GAP-00149"},"M16-GAP-00149":{"line":148,"offset":24734,"length":171,"previous":"M16-GAP-00148","next":"M16-GAP-00150"},"M16-GAP-00150":{"line":149,"offset":24905,"length":168,"previous":"M16-GAP-00149","next":"M16-GAP-00151"},"M16-GAP-00151":{"line":150,"offset":25073,"length":175,"previous":"M16-GAP-00150","next":"M16-GAP-00152"},"M16-GAP-00152":{"line":151,"offset":25248,"length":173,"previous":"M16-GAP-00151","next":"M16-GAP-00153"},"M16-GAP-00153":{"line":152,"offset":25421,"length":169,"previous":"M16-GAP-00152","next":"M16-GAP-00154"},"M16-GAP-00154":{"line":153,"offset":25590,"length":176,"previous":"M16-GAP-00153","next":"M16-GAP-00155"},"M16-GAP-00155":{"line":154,"offset":25766,"length":170,"previous":"M16-GAP-00154","next":"M16-GAP-00156"},"M16-GAP-00156":{"line":155,"offset":25936,"length":173,"previous":"M16-GAP-00155","next":"M16-GAP-00157"},"M16-GAP-00157":{"line":156,"offset":26109,"length":171,"previous":"M16-GAP-00156","next":"M16-GAP-00158"},"M16-GAP-00158":{"line":157,"offset":26280,"length":180,"previous":"M16-GAP-00157","next":"M16-GAP-00159"},"M16-GAP-00159":{"line":158,"offset":26460,"length":171,"previous":"M16-GAP-00158","next":"M16-GAP-00160"},"M16-GAP-00160":{"line":159,"offset":26631,"length":179,"previous":"M16-GAP-00159","next":"M16-GAP-00161"},"M16-GAP-00161":{"line":160,"offset":26810,"length":170,"previous":"M16-GAP-00160","next":"M16-GAP-00162"},"M16-GAP-00162":{"line":161,"offset":26980,"length":169,"previous":"M16-GAP-00161","next":"M16-GAP-00163"},"M16-GAP-00163":{"line":162,"offset":27149,"length":171,"previous":"M16-GAP-00162","next":"M16-GAP-00164"},"M16-GAP-00164":{"line":163,"offset":27320,"length":175,"previous":"M16-GAP-00163","next":"M16-GAP-00165"},"M16-GAP-00165":{"line":164,"offset":27495,"length":175,"previous":"M16-GAP-00164","next":"M16-GAP-00166"},"M16-GAP-00166":{"line":165,"offset":27670,"length":178,"previous":"M16-GAP-00165","next":"M16-GAP-00167"},"M16-GAP-00167":{"line":166,"offset":27848,"length":180,"previous":"M16-GAP-00166","next":"M16-GAP-00168"},"M16-GAP-00168":{"line":167,"offset":28028,"length":179,"previous":"M16-GAP-00167","next":"M16-GAP-00169"},"M16-GAP-00169":{"line":168,"offset":28207,"length":179,"previous":"M16-GAP-00168","next":"M16-GAP-00170"},"M16-GAP-00170":{"line":169,"offset":28386,"length":172,"previous":"M16-GAP-00169","next":"M16-GAP-00171"},"M16-GAP-00171":{"line":170,"offset":28558,"length":178,"previous":"M16-GAP-00170","next":"M16-GAP-00172"},"M16-GAP-00172":{"line":171,"offset":28736,"length":177,"previous":"M16-GAP-00171","next":"M16-GAP-00173"},"M16-GAP-00173":{"line":172,"offset":28913,"length":174,"previous":"M16-GAP-00172","next":"M16-GAP-00174"},"M16-GAP-00174":{"line":173,"offset":29087,"length":173,"previous":"M16-GAP-00173","next":"M16-GAP-00175"},"M16-GAP-00175":{"line":174,"offset":29260,"length":174,"previous":"M16-GAP-00174","next":"M16-GAP-00176"},"M16-GAP-00176":{"line":175,"offset":29434,"length":176,"previous":"M16-GAP-00175","next":"M16-GAP-00177"},"M16-GAP-00177":{"line":176,"offset":29610,"length":169,"previous":"M16-GAP-00176","next":"M16-GAP-00178"},"M16-GAP-00178":{"line":177,"offset":29779,"length":177,"previous":"M16-GAP-00177","next":"M16-GAP-00179"},"M16-GAP-00179":{"line":178,"offset":29956,"length":174,"previous":"M16-GAP-00178","next":"M16-GAP-00180"},"M16-GAP-00180":{"line":179,"offset":30130,"length":174,"previous":"M16-GAP-00179","next":"M16-GAP-00181"},"M16-GAP-00181":{"line":180,"offset":30304,"length":171,"previous":"M16-GAP-00180","next":"M16-GAP-00182"},"M16-GAP-00182":{"line":181,"offset":30475,"length":178,"previous":"M16-GAP-00181","next":"M16-GAP-00183"},"M16-GAP-00183":{"line":182,"offset":30653,"length":179,"previous":"M16-GAP-00182","next":"M16-GAP-00184"},"M16-GAP-00184":{"line":183,"offset":30832,"length":175,"previous":"M16-GAP-00183","next":"M16-GAP-00185"},"M16-GAP-00185":{"line":184,"offset":31007,"length":175,"previous":"M16-GAP-00184","next":"M16-GAP-00186"},"M16-GAP-00186":{"line":185,"offset":31182,"length":171,"previous":"M16-GAP-00185","next":"M16-GAP-00187"},"M16-GAP-00187":{"line":186,"offset":31353,"length":178,"previous":"M16-GAP-00186","next":"M16-GAP-00188"},"M16-GAP-00188":{"line":187,"offset":31531,"length":179,"previous":"M16-GAP-00187","next":"M16-GAP-00189"},"M16-GAP-00189":{"line":188,"offset":31710,"length":176,"previous":"M16-GAP-00188","next":"M16-GAP-00190"},"M16-GAP-00190":{"line":189,"offset":31886,"length":177,"previous":"M16-GAP-00189","next":"M16-GAP-00191"},"M16-GAP-00191":{"line":190,"offset":32063,"length":170,"previous":"M16-GAP-00190","next":"M16-GAP-00192"},"M16-GAP-00192":{"line":191,"offset":32233,"length":173,"previous":"M16-GAP-00191","next":"M16-GAP-00193"},"M16-GAP-00193":{"line":192,"offset":32406,"length":175,"previous":"M16-GAP-00192","next":"M16-GAP-00194"},"M16-GAP-00194":{"line":193,"offset":32581,"length":178,"previous":"M16-GAP-00193","next":"M16-GAP-00195"},"M16-GAP-00195":{"line":194,"offset":32759,"length":173,"previous":"M16-GAP-00194","next":"M16-GAP-00196"},"M16-GAP-00196":{"line":195,"offset":32932,"length":176,"previous":"M16-GAP-00195","next":"M16-GAP-00197"},"M16-GAP-00197":{"line":196,"offset":33108,"length":179,"previous":"M16-GAP-00196","next":"M16-GAP-00198"},"M16-GAP-00198":{"line":197,"offset":33287,"length":171,"previous":"M16-GAP-00197","next":"M16-GAP-00199"},"M16-GAP-00199":{"line":198,"offset":33458,"length":175,"previous":"M16-GAP-00198","next":"M16-GAP-00200"},"M16-GAP-00200":{"line":199,"offset":33633,"length":174,"previous":"M16-GAP-00199","next":"M16-GAP-00201"},"M16-GAP-00201":{"line":200,"offset":33807,"length":172,"previous":"M16-GAP-00200","next":"M16-GAP-00202"},"M16-GAP-00202":{"line":201,"offset":33979,"length":170,"previous":"M16-GAP-00201","next":"M16-GAP-00203"},"M16-GAP-00203":{"line":202,"offset":34149,"length":174,"previous":"M16-GAP-00202","next":"M16-GAP-00204"},"M16-GAP-00204":{"line":203,"offset":34323,"length":173,"previous":"M16-GAP-00203","next":"M16-GAP-00205"},"M16-GAP-00205":{"line":204,"offset":34496,"length":170,"previous":"M16-GAP-00204","next":"M16-GAP-00206"},"M16-GAP-00206":{"line":205,"offset":34666,"length":188,"previous":"M16-GAP-00205","next":"M16-GAP-00207"},"M16-GAP-00207":{"line":206,"offset":34854,"length":171,"previous":"M16-GAP-00206","next":"M16-GAP-00208"},"M16-GAP-00208":{"line":207,"offset":35025,"length":185,"previous":"M16-GAP-00207","next":"M16-GAP-00209"},"M16-GAP-00209":{"line":208,"offset":35210,"length":177,"previous":"M16-GAP-00208","next":"M16-GAP-00210"},"M16-GAP-00210":{"line":209,"offset":35387,"length":184,"previous":"M16-GAP-00209","next":"M16-GAP-00211"},"M16-GAP-00211":{"line":210,"offset":35571,"length":171,"previous":"M16-GAP-00210","next":"M16-GAP-00212"},"M16-GAP-00212":{"line":211,"offset":35742,"length":193,"previous":"M16-GAP-00211","next":"M16-GAP-00213"},"M16-GAP-00213":{"line":212,"offset":35935,"length":182,"previous":"M16-GAP-00212","next":"M16-GAP-00214"},"M16-GAP-00214":{"line":213,"offset":36117,"length":182,"previous":"M16-GAP-00213","next":"M16-GAP-00215"},"M16-GAP-00215":{"line":214,"offset":36299,"length":165,"previous":"M16-GAP-00214","next":"M16-GAP-00216"},"M16-GAP-00216":{"line":215,"offset":36464,"length":180,"previous":"M16-GAP-00215","next":"M16-GAP-00217"},"M16-GAP-00217":{"line":216,"offset":36644,"length":174,"previous":"M16-GAP-00216","next":"M16-GAP-00218"},"M16-GAP-00218":{"line":217,"offset":36818,"length":178,"previous":"M16-GAP-00217","next":"M16-GAP-00219"},"M16-GAP-00219":{"line":218,"offset":36996,"length":174,"previous":"M16-GAP-00218","next":"M16-GAP-00220"},"M16-GAP-00220":{"line":219,"offset":37170,"length":173,"previous":"M16-GAP-00219","next":"M16-GAP-00221"},"M16-GAP-00221":{"line":220,"offset":37343,"length":174,"previous":"M16-GAP-00220","next":"M16-GAP-00222"},"M16-GAP-00222":{"line":221,"offset":37517,"length":177,"previous":"M16-GAP-00221","next":"M16-GAP-00223"},"M16-GAP-00223":{"line":222,"offset":37694,"length":188,"previous":"M16-GAP-00222","next":"M16-GAP-00224"},"M16-GAP-00224":{"line":223,"offset":37882,"length":179,"previous":"M16-GAP-00223","next":"M16-GAP-00225"},"M16-GAP-00225":{"line":224,"offset":38061,"length":175,"previous":"M16-GAP-00224","next":"M16-GAP-00226"},"M16-GAP-00226":{"line":225,"offset":38236,"length":177,"previous":"M16-GAP-00225","next":"M16-GAP-00227"},"M16-GAP-00227":{"line":226,"offset":38413,"length":184,"previous":"M16-GAP-00226","next":"M16-GAP-00228"},"M16-GAP-00228":{"line":227,"offset":38597,"length":177,"previous":"M16-GAP-00227","next":"M16-GAP-00229"},"M16-GAP-00229":{"line":228,"offset":38774,"length":179,"previous":"M16-GAP-00228","next":"M16-GAP-00230"},"M16-GAP-00230":{"line":229,"offset":38953,"length":179,"previous":"M16-GAP-00229","next":"M16-GAP-00231"},"M16-GAP-00231":{"line":230,"offset":39132,"length":185,"previous":"M16-GAP-00230","next":"M16-GAP-00232"},"M16-GAP-00232":{"line":231,"offset":39317,"length":181,"previous":"M16-GAP-00231","next":"M16-GAP-00233"},"M16-GAP-00233":{"line":232,"offset":39498,"length":187,"previous":"M16-GAP-00232","next":"M16-GAP-00234"},"M16-GAP-00234":{"line":233,"offset":39685,"length":166,"previous":"M16-GAP-00233","next":"M16-GAP-00235"},"M16-GAP-00235":{"line":234,"offset":39851,"length":168,"previous":"M16-GAP-00234","next":"M16-GAP-00236"},"M16-GAP-00236":{"line":235,"offset":40019,"length":169,"previous":"M16-GAP-00235","next":"M16-GAP-00237"},"M16-GAP-00237":{"line":236,"offset":40188,"length":174,"previous":"M16-GAP-00236","next":"M16-GAP-00238"},"M16-GAP-00238":{"line":237,"offset":40362,"length":176,"previous":"M16-GAP-00237","next":"M16-GAP-00239"},"M16-GAP-00239":{"line":238,"offset":40538,"length":167,"previous":"M16-GAP-00238","next":"M16-GAP-00240"},"M16-GAP-00240":{"line":239,"offset":40705,"length":174,"previous":"M16-GAP-00239","next":"M16-GAP-00241"},"M16-GAP-00241":{"line":240,"offset":40879,"length":172,"previous":"M16-GAP-00240","next":"M16-GAP-00242"},"M16-GAP-00242":{"line":241,"offset":41051,"length":164,"previous":"M16-GAP-00241","next":"M16-GAP-00243"},"M16-GAP-00243":{"line":242,"offset":41215,"length":170,"previous":"M16-GAP-00242","next":"M16-GAP-00244"},"M16-GAP-00244":{"line":243,"offset":41385,"length":164,"previous":"M16-GAP-00243","next":"M16-GAP-00245"},"M16-GAP-00245":{"line":244,"offset":41549,"length":178,"previous":"M16-GAP-00244","next":"M16-GAP-00246"},"M16-GAP-00246":{"line":245,"offset":41727,"length":172,"previous":"M16-GAP-00245","next":"M16-GAP-00247"},"M16-GAP-00247":{"line":246,"offset":41899,"length":170,"previous":"M16-GAP-00246","next":"M16-GAP-00248"},"M16-GAP-00248":{"line":247,"offset":42069,"length":166,"previous":"M16-GAP-00247","next":"M16-GAP-00249"},"M16-GAP-00249":{"line":248,"offset":42235,"length":170,"previous":"M16-GAP-00248","next":"M16-GAP-00250"},"M16-GAP-00250":{"line":249,"offset":42405,"length":170,"previous":"M16-GAP-00249","next":"M16-GAP-00251"},"M16-GAP-00251":{"line":250,"offset":42575,"length":176,"previous":"M16-GAP-00250","next":"M16-GAP-00252"},"M16-GAP-00252":{"line":251,"offset":42751,"length":171,"previous":"M16-GAP-00251","next":"M16-GAP-00253"},"M16-GAP-00253":{"line":252,"offset":42922,"length":173,"previous":"M16-GAP-00252","next":"M16-GAP-00254"},"M16-GAP-00254":{"line":253,"offset":43095,"length":178,"previous":"M16-GAP-00253","next":"M16-GAP-00255"},"M16-GAP-00255":{"line":254,"offset":43273,"length":173,"previous":"M16-GAP-00254","next":"M16-GAP-00256"},"M16-GAP-00256":{"line":255,"offset":43446,"length":171,"previous":"M16-GAP-00255","next":"M16-GAP-00257"},"M16-GAP-00257":{"line":256,"offset":43617,"length":174,"previous":"M16-GAP-00256","next":"M16-GAP-00258"},"M16-GAP-00258":{"line":257,"offset":43791,"length":168,"previous":"M16-GAP-00257","next":"M16-GAP-00259"},"M16-GAP-00259":{"line":258,"offset":43959,"length":178,"previous":"M16-GAP-00258","next":"M16-GAP-00260"},"M16-GAP-00260":{"line":259,"offset":44137,"length":165,"previous":"M16-GAP-00259","next":"M16-GAP-00261"},"M16-GAP-00261":{"line":260,"offset":44302,"length":169,"previous":"M16-GAP-00260","next":"M16-GAP-00262"},"M16-GAP-00262":{"line":261,"offset":44471,"length":176,"previous":"M16-GAP-00261","next":"M16-GAP-00263"},"M16-GAP-00263":{"line":262,"offset":44647,"length":170,"previous":"M16-GAP-00262","next":"M16-GAP-00264"},"M16-GAP-00264":{"line":263,"offset":44817,"length":171,"previous":"M16-GAP-00263","next":"M16-GAP-00265"},"M16-GAP-00265":{"line":264,"offset":44988,"length":172,"previous":"M16-GAP-00264","next":"M16-GAP-00266"},"M16-GAP-00266":{"line":265,"offset":45160,"length":170,"previous":"M16-GAP-00265","next":"M16-GAP-00267"},"M16-GAP-00267":{"line":266,"offset":45330,"length":185,"previous":"M16-GAP-00266","next":"M16-GAP-00268"},"M16-GAP-00268":{"line":267,"offset":45515,"length":171,"previous":"M16-GAP-00267","next":"M16-GAP-00269"},"M16-GAP-00269":{"line":268,"offset":45686,"length":171,"previous":"M16-GAP-00268","next":"M16-GAP-00270"},"M16-GAP-00270":{"line":269,"offset":45857,"length":168,"previous":"M16-GAP-00269","next":"M16-GAP-00271"},"M16-GAP-00271":{"line":270,"offset":46025,"length":169,"previous":"M16-GAP-00270","next":"M16-GAP-00272"},"M16-GAP-00272":{"line":271,"offset":46194,"length":169,"previous":"M16-GAP-00271","next":"M16-GAP-00273"},"M16-GAP-00273":{"line":272,"offset":46363,"length":174,"previous":"M16-GAP-00272","next":"M16-GAP-00274"},"M16-GAP-00274":{"line":273,"offset":46537,"length":170,"previous":"M16-GAP-00273","next":"M16-GAP-00275"},"M16-GAP-00275":{"line":274,"offset":46707,"length":162,"previous":"M16-GAP-00274","next":"M16-GAP-00276"},"M16-GAP-00276":{"line":275,"offset":46869,"length":169,"previous":"M16-GAP-00275","next":"M16-GAP-00277"},"M16-GAP-00277":{"line":276,"offset":47038,"length":172,"previous":"M16-GAP-00276","next":"M16-GAP-00278"},"M16-GAP-00278":{"line":277,"offset":47210,"length":179,"previous":"M16-GAP-00277","next":"M16-GAP-00279"},"M16-GAP-00279":{"line":278,"offset":47389,"length":161,"previous":"M16-GAP-00278","next":"M16-GAP-00280"},"M16-GAP-00280":{"line":279,"offset":47550,"length":168,"previous":"M16-GAP-00279","next":"M16-GAP-00281"},"M16-GAP-00281":{"line":280,"offset":47718,"length":183,"previous":"M16-GAP-00280","next":"M16-GAP-00282"},"M16-GAP-00282":{"line":281,"offset":47901,"length":175,"previous":"M16-GAP-00281","next":"M16-GAP-00283"},"M16-GAP-00283":{"line":282,"offset":48076,"length":164,"previous":"M16-GAP-00282","next":"M16-GAP-00284"},"M16-GAP-00284":{"line":283,"offset":48240,"length":167,"previous":"M16-GAP-00283","next":"M16-GAP-00285"},"M16-GAP-00285":{"line":284,"offset":48407,"length":164,"previous":"M16-GAP-00284","next":"M16-GAP-00286"},"M16-GAP-00286":{"line":285,"offset":48571,"length":164,"previous":"M16-GAP-00285","next":"M16-GAP-00287"},"M16-GAP-00287":{"line":286,"offset":48735,"length":170,"previous":"M16-GAP-00286","next":"M16-GAP-00288"},"M16-GAP-00288":{"line":287,"offset":48905,"length":168,"previous":"M16-GAP-00287","next":"M16-GAP-00289"},"M16-GAP-00289":{"line":288,"offset":49073,"length":165,"previous":"M16-GAP-00288","next":"M16-GAP-00290"},"M16-GAP-00290":{"line":289,"offset":49238,"length":165,"previous":"M16-GAP-00289","next":"M16-GAP-00291"},"M16-GAP-00291":{"line":290,"offset":49403,"length":171,"previous":"M16-GAP-00290","next":"M16-GAP-00292"},"M16-GAP-00292":{"line":291,"offset":49574,"length":169,"previous":"M16-GAP-00291","next":"M16-GAP-00293"},"M16-GAP-00293":{"line":292,"offset":49743,"length":171,"previous":"M16-GAP-00292","next":"M16-GAP-00294"},"M16-GAP-00294":{"line":293,"offset":49914,"length":169,"previous":"M16-GAP-00293","next":"M16-GAP-00295"},"M16-GAP-00295":{"line":294,"offset":50083,"length":176,"previous":"M16-GAP-00294","next":"M16-GAP-00296"},"M16-GAP-00296":{"line":295,"offset":50259,"length":175,"previous":"M16-GAP-00295","next":"M16-GAP-00297"},"M16-GAP-00297":{"line":296,"offset":50434,"length":169,"previous":"M16-GAP-00296","next":"M16-GAP-00298"},"M16-GAP-00298":{"line":297,"offset":50603,"length":167,"previous":"M16-GAP-00297","next":"M16-GAP-00299"},"M16-GAP-00299":{"line":298,"offset":50770,"length":170,"previous":"M16-GAP-00298","next":"M16-GAP-00300"},"M16-GAP-00300":{"line":299,"offset":50940,"length":167,"previous":"M16-GAP-00299","next":"M16-GAP-00301"},"M16-GAP-00301":{"line":300,"offset":51107,"length":172,"previous":"M16-GAP-00300","next":"M16-GAP-00302"},"M16-GAP-00302":{"line":301,"offset":51279,"length":181,"previous":"M16-GAP-00301","next":"M16-GAP-00303"},"M16-GAP-00303":{"line":302,"offset":51460,"length":180,"previous":"M16-GAP-00302","next":"M16-GAP-00304"},"M16-GAP-00304":{"line":303,"offset":51640,"length":171,"previous":"M16-GAP-00303","next":"M16-GAP-00305"},"M16-GAP-00305":{"line":304,"offset":51811,"length":171,"previous":"M16-GAP-00304","next":"M16-GAP-00306"},"M16-GAP-00306":{"line":305,"offset":51982,"length":175,"previous":"M16-GAP-00305","next":"M16-GAP-00307"},"M16-GAP-00307":{"line":306,"offset":52157,"length":170,"previous":"M16-GAP-00306","next":"M16-GAP-00308"},"M16-GAP-00308":{"line":307,"offset":52327,"length":171,"previous":"M16-GAP-00307","next":"M16-GAP-00309"},"M16-GAP-00309":{"line":308,"offset":52498,"length":169,"previous":"M16-GAP-00308","next":"M16-GAP-00310"},"M16-GAP-00310":{"line":309,"offset":52667,"length":170,"previous":"M16-GAP-00309","next":"M16-GAP-00311"},"M16-GAP-00311":{"line":310,"offset":52837,"length":171,"previous":"M16-GAP-00310","next":"M16-GAP-00312"},"M16-GAP-00312":{"line":311,"offset":53008,"length":173,"previous":"M16-GAP-00311","next":"M16-GAP-00313"},"M16-GAP-00313":{"line":312,"offset":53181,"length":165,"previous":"M16-GAP-00312","next":"M16-GAP-00314"},"M16-GAP-00314":{"line":313,"offset":53346,"length":167,"previous":"M16-GAP-00313","next":"M16-GAP-00315"},"M16-GAP-00315":{"line":314,"offset":53513,"length":168,"previous":"M16-GAP-00314","next":"M16-GAP-00316"},"M16-GAP-00316":{"line":315,"offset":53681,"length":179,"previous":"M16-GAP-00315","next":"M16-GAP-00317"},"M16-GAP-00317":{"line":316,"offset":53860,"length":166,"previous":"M16-GAP-00316","next":"M16-GAP-00318"},"M16-GAP-00318":{"line":317,"offset":54026,"length":175,"previous":"M16-GAP-00317","next":"M16-GAP-00319"},"M16-GAP-00319":{"line":318,"offset":54201,"length":171,"previous":"M16-GAP-00318","next":"M16-GAP-00320"},"M16-GAP-00320":{"line":319,"offset":54372,"length":172,"previous":"M16-GAP-00319","next":"M16-GAP-00321"},"M16-GAP-00321":{"line":320,"offset":54544,"length":176,"previous":"M16-GAP-00320","next":"M16-GAP-00322"},"M16-GAP-00322":{"line":321,"offset":54720,"length":170,"previous":"M16-GAP-00321","next":"M16-GAP-00323"},"M16-GAP-00323":{"line":322,"offset":54890,"length":171,"previous":"M16-GAP-00322","next":"M16-GAP-00324"},"M16-GAP-00324":{"line":323,"offset":55061,"length":173,"previous":"M16-GAP-00323","next":"M16-GAP-00325"},"M16-GAP-00325":{"line":324,"offset":55234,"length":168,"previous":"M16-GAP-00324","next":"M16-GAP-00326"},"M16-GAP-00326":{"line":325,"offset":55402,"length":168,"previous":"M16-GAP-00325","next":"M16-GAP-00327"},"M16-GAP-00327":{"line":326,"offset":55570,"length":170,"previous":"M16-GAP-00326","next":"M16-GAP-00328"},"M16-GAP-00328":{"line":327,"offset":55740,"length":172,"previous":"M16-GAP-00327","next":"M16-GAP-00329"},"M16-GAP-00329":{"line":328,"offset":55912,"length":176,"previous":"M16-GAP-00328","next":"M16-GAP-00330"},"M16-GAP-00330":{"line":329,"offset":56088,"length":167,"previous":"M16-GAP-00329","next":"M16-GAP-00331"},"M16-GAP-00331":{"line":330,"offset":56255,"length":174,"previous":"M16-GAP-00330","next":"M16-GAP-00332"},"M16-GAP-00332":{"line":331,"offset":56429,"length":166,"previous":"M16-GAP-00331","next":"M16-GAP-00333"},"M16-GAP-00333":{"line":332,"offset":56595,"length":169,"previous":"M16-GAP-00332","next":"M16-GAP-00334"},"M16-GAP-00334":{"line":333,"offset":56764,"length":168,"previous":"M16-GAP-00333","next":"M16-GAP-00335"},"M16-GAP-00335":{"line":334,"offset":56932,"length":168,"previous":"M16-GAP-00334","next":"M16-GAP-00336"},"M16-GAP-00336":{"line":335,"offset":57100,"length":171,"previous":"M16-GAP-00335","next":"M16-GAP-00337"},"M16-GAP-00337":{"line":336,"offset":57271,"length":171,"previous":"M16-GAP-00336","next":"M16-GAP-00338"},"M16-GAP-00338":{"line":337,"offset":57442,"length":180,"previous":"M16-GAP-00337","next":"M16-GAP-00339"},"M16-GAP-00339":{"line":338,"offset":57622,"length":174,"previous":"M16-GAP-00338","next":"M16-GAP-00340"},"M16-GAP-00340":{"line":339,"offset":57796,"length":169,"previous":"M16-GAP-00339","next":"M16-GAP-00341"},"M16-GAP-00341":{"line":340,"offset":57965,"length":166,"previous":"M16-GAP-00340","next":"M16-GAP-00342"},"M16-GAP-00342":{"line":341,"offset":58131,"length":182,"previous":"M16-GAP-00341","next":"M16-GAP-00343"},"M16-GAP-00343":{"line":342,"offset":58313,"length":174,"previous":"M16-GAP-00342","next":"M16-GAP-00344"},"M16-GAP-00344":{"line":343,"offset":58487,"length":173,"previous":"M16-GAP-00343","next":"M16-GAP-00345"},"M16-GAP-00345":{"line":344,"offset":58660,"length":177,"previous":"M16-GAP-00344","next":"M16-GAP-00346"},"M16-GAP-00346":{"line":345,"offset":58837,"length":168,"previous":"M16-GAP-00345","next":"M16-GAP-00347"},"M16-GAP-00347":{"line":346,"offset":59005,"length":180,"previous":"M16-GAP-00346","next":"M16-GAP-00348"},"M16-GAP-00348":{"line":347,"offset":59185,"length":172,"previous":"M16-GAP-00347","next":"M16-GAP-00349"},"M16-GAP-00349":{"line":348,"offset":59357,"length":170,"previous":"M16-GAP-00348","next":"M16-GAP-00350"},"M16-GAP-00350":{"line":349,"offset":59527,"length":167,"previous":"M16-GAP-00349","next":"M16-GAP-00351"},"M16-GAP-00351":{"line":350,"offset":59694,"length":173,"previous":"M16-GAP-00350","next":"M16-GAP-00352"},"M16-GAP-00352":{"line":351,"offset":59867,"length":167,"previous":"M16-GAP-00351","next":"M16-GAP-00353"},"M16-GAP-00353":{"line":352,"offset":60034,"length":171,"previous":"M16-GAP-00352","next":"M16-GAP-00354"},"M16-GAP-00354":{"line":353,"offset":60205,"length":171,"previous":"M16-GAP-00353","next":"M16-GAP-00355"},"M16-GAP-00355":{"line":354,"offset":60376,"length":177,"previous":"M16-GAP-00354","next":"M16-GAP-00356"},"M16-GAP-00356":{"line":355,"offset":60553,"length":167,"previous":"M16-GAP-00355","next":"M16-GAP-00357"},"M16-GAP-00357":{"line":356,"offset":60720,"length":164,"previous":"M16-GAP-00356","next":"M16-GAP-00358"},"M16-GAP-00358":{"line":357,"offset":60884,"length":183,"previous":"M16-GAP-00357","next":"M16-GAP-00359"},"M16-GAP-00359":{"line":358,"offset":61067,"length":160,"previous":"M16-GAP-00358","next":"M16-GAP-00360"},"M16-GAP-00360":{"line":359,"offset":61227,"length":168,"previous":"M16-GAP-00359","next":"M16-GAP-00361"},"M16-GAP-00361":{"line":360,"offset":61395,"length":164,"previous":"M16-GAP-00360","next":"M16-GAP-00362"},"M16-GAP-00362":{"line":361,"offset":61559,"length":169,"previous":"M16-GAP-00361","next":"M16-GAP-00363"},"M16-GAP-00363":{"line":362,"offset":61728,"length":170,"previous":"M16-GAP-00362","next":"M16-GAP-00364"},"M16-GAP-00364":{"line":363,"offset":61898,"length":162,"previous":"M16-GAP-00363","next":"M16-GAP-00365"},"M16-GAP-00365":{"line":364,"offset":62060,"length":162,"previous":"M16-GAP-00364","next":"M16-GAP-00366"},"M16-GAP-00366":{"line":365,"offset":62222,"length":166,"previous":"M16-GAP-00365","next":"M16-GAP-00367"},"M16-GAP-00367":{"line":366,"offset":62388,"length":166,"previous":"M16-GAP-00366","next":"M16-GAP-00368"},"M16-GAP-00368":{"line":367,"offset":62554,"length":169,"previous":"M16-GAP-00367","next":"M16-GAP-00369"},"M16-GAP-00369":{"line":368,"offset":62723,"length":170,"previous":"M16-GAP-00368","next":"M16-GAP-00370"},"M16-GAP-00370":{"line":369,"offset":62893,"length":168,"previous":"M16-GAP-00369","next":"M16-GAP-00371"},"M16-GAP-00371":{"line":370,"offset":63061,"length":171,"previous":"M16-GAP-00370","next":"M16-GAP-00372"},"M16-GAP-00372":{"line":371,"offset":63232,"length":164,"previous":"M16-GAP-00371","next":"M16-GAP-00373"},"M16-GAP-00373":{"line":372,"offset":63396,"length":166,"previous":"M16-GAP-00372","next":"M16-GAP-00374"},"M16-GAP-00374":{"line":373,"offset":63562,"length":165,"previous":"M16-GAP-00373","next":"M16-GAP-00375"},"M16-GAP-00375":{"line":374,"offset":63727,"length":165,"previous":"M16-GAP-00374","next":"M16-GAP-00376"},"M16-GAP-00376":{"line":375,"offset":63892,"length":172,"previous":"M16-GAP-00375","next":"M16-GAP-00377"},"M16-GAP-00377":{"line":376,"offset":64064,"length":174,"previous":"M16-GAP-00376","next":"M16-GAP-00378"},"M16-GAP-00378":{"line":377,"offset":64238,"length":175,"previous":"M16-GAP-00377","next":"M16-GAP-00379"},"M16-GAP-00379":{"line":378,"offset":64413,"length":179,"previous":"M16-GAP-00378","next":"M16-GAP-00380"},"M16-GAP-00380":{"line":379,"offset":64592,"length":176,"previous":"M16-GAP-00379","next":"M16-GAP-00381"},"M16-GAP-00381":{"line":380,"offset":64768,"length":168,"previous":"M16-GAP-00380","next":"M16-GAP-00382"},"M16-GAP-00382":{"line":381,"offset":64936,"length":174,"previous":"M16-GAP-00381","next":"M16-GAP-00383"},"M16-GAP-00383":{"line":382,"offset":65110,"length":168,"previous":"M16-GAP-00382","next":"M16-GAP-00384"},"M16-GAP-00384":{"line":383,"offset":65278,"length":172,"previous":"M16-GAP-00383","next":"M16-GAP-00385"},"M16-GAP-00385":{"line":384,"offset":65450,"length":175,"previous":"M16-GAP-00384","next":"M16-GAP-00386"},"M16-GAP-00386":{"line":385,"offset":65625,"length":181,"previous":"M16-GAP-00385","next":"M16-GAP-00387"},"M16-GAP-00387":{"line":386,"offset":65806,"length":184,"previous":"M16-GAP-00386","next":"M16-GAP-00388"},"M16-GAP-00388":{"line":387,"offset":65990,"length":184,"previous":"M16-GAP-00387","next":"M16-GAP-00389"},"M16-GAP-00389":{"line":388,"offset":66174,"length":175,"previous":"M16-GAP-00388","next":"M16-GAP-00390"},"M16-GAP-00390":{"line":389,"offset":66349,"length":178,"previous":"M16-GAP-00389","next":"M16-GAP-00391"},"M16-GAP-00391":{"line":390,"offset":66527,"length":172,"previous":"M16-GAP-00390","next":"M16-GAP-00392"},"M16-GAP-00392":{"line":391,"offset":66699,"length":169,"previous":"M16-GAP-00391","next":"M16-GAP-00393"},"M16-GAP-00393":{"line":392,"offset":66868,"length":181,"previous":"M16-GAP-00392","next":"M16-GAP-00394"},"M16-GAP-00394":{"line":393,"offset":67049,"length":179,"previous":"M16-GAP-00393","next":"M16-GAP-00395"},"M16-GAP-00395":{"line":394,"offset":67228,"length":170,"previous":"M16-GAP-00394","next":"M16-GAP-00396"},"M16-GAP-00396":{"line":395,"offset":67398,"length":175,"previous":"M16-GAP-00395","next":"M16-GAP-00397"},"M16-GAP-00397":{"line":396,"offset":67573,"length":178,"previous":"M16-GAP-00396","next":"M16-GAP-00398"},"M16-GAP-00398":{"line":397,"offset":67751,"length":184,"previous":"M16-GAP-00397","next":"M16-GAP-00399"},"M16-GAP-00399":{"line":398,"offset":67935,"length":186,"previous":"M16-GAP-00398","next":"M16-GAP-00400"},"M16-GAP-00400":{"line":399,"offset":68121,"length":164,"previous":"M16-GAP-00399","next":"M16-GAP-00401"},"M16-GAP-00401":{"line":400,"offset":68285,"length":174,"previous":"M16-GAP-00400","next":"M16-GAP-00402"},"M16-GAP-00402":{"line":401,"offset":68459,"length":165,"previous":"M16-GAP-00401","next":"M16-GAP-00403"},"M16-GAP-00403":{"line":402,"offset":68624,"length":164,"previous":"M16-GAP-00402","next":"M16-GAP-00404"},"M16-GAP-00404":{"line":403,"offset":68788,"length":169,"previous":"M16-GAP-00403","next":"M16-GAP-00405"},"M16-GAP-00405":{"line":404,"offset":68957,"length":165,"previous":"M16-GAP-00404","next":"M16-GAP-00406"},"M16-GAP-00406":{"line":405,"offset":69122,"length":168,"previous":"M16-GAP-00405","next":"M16-GAP-00407"},"M16-GAP-00407":{"line":406,"offset":69290,"length":169,"previous":"M16-GAP-00406","next":"M16-GAP-00408"},"M16-GAP-00408":{"line":407,"offset":69459,"length":171,"previous":"M16-GAP-00407","next":"M16-GAP-00409"},"M16-GAP-00409":{"line":408,"offset":69630,"length":167,"previous":"M16-GAP-00408","next":"M16-GAP-00410"},"M16-GAP-00410":{"line":409,"offset":69797,"length":168,"previous":"M16-GAP-00409","next":"M16-GAP-00411"},"M16-GAP-00411":{"line":410,"offset":69965,"length":172,"previous":"M16-GAP-00410","next":"M16-GAP-00412"},"M16-GAP-00412":{"line":411,"offset":70137,"length":174,"previous":"M16-GAP-00411","next":"M16-GAP-00413"},"M16-GAP-00413":{"line":412,"offset":70311,"length":177,"previous":"M16-GAP-00412","next":"M16-GAP-00414"},"M16-GAP-00414":{"line":413,"offset":70488,"length":175,"previous":"M16-GAP-00413","next":"M16-GAP-00415"},"M16-GAP-00415":{"line":414,"offset":70663,"length":177,"previous":"M16-GAP-00414","next":"M16-GAP-00416"},"M16-GAP-00416":{"line":415,"offset":70840,"length":174,"previous":"M16-GAP-00415","next":"M16-GAP-00417"},"M16-GAP-00417":{"line":416,"offset":71014,"length":177,"previous":"M16-GAP-00416","next":"M16-GAP-00418"},"M16-GAP-00418":{"line":417,"offset":71191,"length":180,"previous":"M16-GAP-00417","next":"M16-GAP-00419"},"M16-GAP-00419":{"line":418,"offset":71371,"length":176,"previous":"M16-GAP-00418","next":"M16-GAP-00420"},"M16-GAP-00420":{"line":419,"offset":71547,"length":183,"previous":"M16-GAP-00419","next":"M16-GAP-00421"},"M16-GAP-00421":{"line":420,"offset":71730,"length":180,"previous":"M16-GAP-00420","next":"M16-GAP-00422"},"M16-GAP-00422":{"line":421,"offset":71910,"length":171,"previous":"M16-GAP-00421","next":"M16-GAP-00423"},"M16-GAP-00423":{"line":422,"offset":72081,"length":165,"previous":"M16-GAP-00422","next":"M16-GAP-00424"},"M16-GAP-00424":{"line":423,"offset":72246,"length":164,"previous":"M16-GAP-00423","next":"M16-GAP-00425"},"M16-GAP-00425":{"line":424,"offset":72410,"length":169,"previous":"M16-GAP-00424","next":"M16-GAP-00426"},"M16-GAP-00426":{"line":425,"offset":72579,"length":163,"previous":"M16-GAP-00425","next":"M16-GAP-00427"},"M16-GAP-00427":{"line":426,"offset":72742,"length":173,"previous":"M16-GAP-00426","next":"M16-GAP-00428"},"M16-GAP-00428":{"line":427,"offset":72915,"length":165,"previous":"M16-GAP-00427","next":"M16-GAP-00429"},"M16-GAP-00429":{"line":428,"offset":73080,"length":166,"previous":"M16-GAP-00428","next":"M16-GAP-00430"},"M16-GAP-00430":{"line":429,"offset":73246,"length":173,"previous":"M16-GAP-00429","next":"M16-GAP-00431"},"M16-GAP-00431":{"line":430,"offset":73419,"length":172,"previous":"M16-GAP-00430","next":"M16-GAP-00432"},"M16-GAP-00432":{"line":431,"offset":73591,"length":165,"previous":"M16-GAP-00431","next":"M16-GAP-00433"},"M16-GAP-00433":{"line":432,"offset":73756,"length":181,"previous":"M16-GAP-00432","next":"M16-GAP-00434"},"M16-GAP-00434":{"line":433,"offset":73937,"length":165,"previous":"M16-GAP-00433","next":"M16-GAP-00435"},"M16-GAP-00435":{"line":434,"offset":74102,"length":167,"previous":"M16-GAP-00434","next":"M16-GAP-00436"},"M16-GAP-00436":{"line":435,"offset":74269,"length":163,"previous":"M16-GAP-00435","next":"M16-GAP-00437"},"M16-GAP-00437":{"line":436,"offset":74432,"length":164,"previous":"M16-GAP-00436","next":"M16-GAP-00438"},"M16-GAP-00438":{"line":437,"offset":74596,"length":176,"previous":"M16-GAP-00437","next":"M16-GAP-00439"},"M16-GAP-00439":{"line":438,"offset":74772,"length":169,"previous":"M16-GAP-00438","next":"M16-GAP-00440"},"M16-GAP-00440":{"line":439,"offset":74941,"length":169,"previous":"M16-GAP-00439","next":"M16-GAP-00441"},"M16-GAP-00441":{"line":440,"offset":75110,"length":170,"previous":"M16-GAP-00440","next":"M16-GAP-00442"},"M16-GAP-00442":{"line":441,"offset":75280,"length":167,"previous":"M16-GAP-00441","next":"M16-GAP-00443"},"M16-GAP-00443":{"line":442,"offset":75447,"length":172,"previous":"M16-GAP-00442","next":"M16-GAP-00444"},"M16-GAP-00444":{"line":443,"offset":75619,"length":167,"previous":"M16-GAP-00443","next":"M16-GAP-00445"},"M16-GAP-00445":{"line":444,"offset":75786,"length":183,"previous":"M16-GAP-00444","next":"M16-GAP-00446"},"M16-GAP-00446":{"line":445,"offset":75969,"length":181,"previous":"M16-GAP-00445","next":"M16-GAP-00447"},"M16-GAP-00447":{"line":446,"offset":76150,"length":166,"previous":"M16-GAP-00446","next":"M16-GAP-00448"},"M16-GAP-00448":{"line":447,"offset":76316,"length":178,"previous":"M16-GAP-00447","next":"M16-GAP-00449"},"M16-GAP-00449":{"line":448,"offset":76494,"length":168,"previous":"M16-GAP-00448","next":"M16-GAP-00450"},"M16-GAP-00450":{"line":449,"offset":76662,"length":184,"previous":"M16-GAP-00449","next":"M16-GAP-00451"},"M16-GAP-00451":{"line":450,"offset":76846,"length":185,"previous":"M16-GAP-00450","next":"M16-GAP-00452"},"M16-GAP-00452":{"line":451,"offset":77031,"length":181,"previous":"M16-GAP-00451","next":"M16-GAP-00453"},"M16-GAP-00453":{"line":452,"offset":77212,"length":171,"previous":"M16-GAP-00452","next":"M16-GAP-00454"},"M16-GAP-00454":{"line":453,"offset":77383,"length":175,"previous":"M16-GAP-00453","next":"M16-GAP-00455"},"M16-GAP-00455":{"line":454,"offset":77558,"length":169,"previous":"M16-GAP-00454","next":"M16-GAP-00456"},"M16-GAP-00456":{"line":455,"offset":77727,"length":186,"previous":"M16-GAP-00455","next":"M16-GAP-00457"},"M16-GAP-00457":{"line":456,"offset":77913,"length":188,"previous":"M16-GAP-00456","next":"M16-GAP-00458"},"M16-GAP-00458":{"line":457,"offset":78101,"length":186,"previous":"M16-GAP-00457","next":"M16-GAP-00459"},"M16-GAP-00459":{"line":458,"offset":78287,"length":175,"previous":"M16-GAP-00458","next":"M16-GAP-00460"},"M16-GAP-00460":{"line":459,"offset":78462,"length":177,"previous":"M16-GAP-00459","next":"M16-GAP-00461"},"M16-GAP-00461":{"line":460,"offset":78639,"length":170,"previous":"M16-GAP-00460","next":"M16-GAP-00462"},"M16-GAP-00462":{"line":461,"offset":78809,"length":172,"previous":"M16-GAP-00461","next":"M16-GAP-00463"},"M16-GAP-00463":{"line":462,"offset":78981,"length":171,"previous":"M16-GAP-00462","next":"M16-GAP-00464"},"M16-GAP-00464":{"line":463,"offset":79152,"length":165,"previous":"M16-GAP-00463","next":"M16-GAP-00465"},"M16-GAP-00465":{"line":464,"offset":79317,"length":163,"previous":"M16-GAP-00464","next":"M16-GAP-00466"},"M16-GAP-00466":{"line":465,"offset":79480,"length":171,"previous":"M16-GAP-00465","next":"M16-GAP-00467"},"M16-GAP-00467":{"line":466,"offset":79651,"length":161,"previous":"M16-GAP-00466","next":"M16-GAP-00468"},"M16-GAP-00468":{"line":467,"offset":79812,"length":166,"previous":"M16-GAP-00467","next":"M16-GAP-00469"},"M16-GAP-00469":{"line":468,"offset":79978,"length":171,"previous":"M16-GAP-00468","next":"M16-GAP-00470"},"M16-GAP-00470":{"line":469,"offset":80149,"length":164,"previous":"M16-GAP-00469","next":"M16-GAP-00471"},"M16-GAP-00471":{"line":470,"offset":80313,"length":169,"previous":"M16-GAP-00470","next":"M16-GAP-00472"},"M16-GAP-00472":{"line":471,"offset":80482,"length":172,"previous":"M16-GAP-00471","next":"M16-GAP-00473"},"M16-GAP-00473":{"line":472,"offset":80654,"length":161,"previous":"M16-GAP-00472","next":"M16-GAP-00474"},"M16-GAP-00474":{"line":473,"offset":80815,"length":169,"previous":"M16-GAP-00473","next":"M16-GAP-00475"},"M16-GAP-00475":{"line":474,"offset":80984,"length":176,"previous":"M16-GAP-00474","next":"M16-GAP-00476"},"M16-GAP-00476":{"line":475,"offset":81160,"length":180,"previous":"M16-GAP-00475","next":"M16-GAP-00477"},"M16-GAP-00477":{"line":476,"offset":81340,"length":160,"previous":"M16-GAP-00476","next":"M16-GAP-00478"},"M16-GAP-00478":{"line":477,"offset":81500,"length":184,"previous":"M16-GAP-00477","next":"M16-GAP-00479"},"M16-GAP-00479":{"line":478,"offset":81684,"length":183,"previous":"M16-GAP-00478","next":"M16-GAP-00480"},"M16-GAP-00480":{"line":479,"offset":81867,"length":183,"previous":"M16-GAP-00479","next":"M16-GAP-00481"},"M16-GAP-00481":{"line":480,"offset":82050,"length":182,"previous":"M16-GAP-00480","next":"M16-GAP-00482"},"M16-GAP-00482":{"line":481,"offset":82232,"length":181,"previous":"M16-GAP-00481","next":"M16-GAP-00483"},"M16-GAP-00483":{"line":482,"offset":82413,"length":167,"previous":"M16-GAP-00482","next":"M16-GAP-00484"},"M16-GAP-00484":{"line":483,"offset":82580,"length":163,"previous":"M16-GAP-00483","next":"M16-GAP-00485"},"M16-GAP-00485":{"line":484,"offset":82743,"length":167,"previous":"M16-GAP-00484","next":"M16-GAP-00486"},"M16-GAP-00486":{"line":485,"offset":82910,"length":168,"previous":"M16-GAP-00485","next":"M16-GAP-00487"},"M16-GAP-00487":{"line":486,"offset":83078,"length":170,"previous":"M16-GAP-00486","next":"M16-GAP-00488"},"M16-GAP-00488":{"line":487,"offset":83248,"length":175,"previous":"M16-GAP-00487","next":"M16-GAP-00489"},"M16-GAP-00489":{"line":488,"offset":83423,"length":168,"previous":"M16-GAP-00488","next":"M16-GAP-00490"},"M16-GAP-00490":{"line":489,"offset":83591,"length":168,"previous":"M16-GAP-00489","next":"M16-GAP-00491"},"M16-GAP-00491":{"line":490,"offset":83759,"length":167,"previous":"M16-GAP-00490","next":"M16-GAP-00492"},"M16-GAP-00492":{"line":491,"offset":83926,"length":172,"previous":"M16-GAP-00491","next":"M16-GAP-00493"},"M16-GAP-00493":{"line":492,"offset":84098,"length":170,"previous":"M16-GAP-00492","next":"M16-GAP-00494"},"M16-GAP-00494":{"line":493,"offset":84268,"length":167,"previous":"M16-GAP-00493","next":"M16-GAP-00495"},"M16-GAP-00495":{"line":494,"offset":84435,"length":171,"previous":"M16-GAP-00494","next":"M16-GAP-00496"},"M16-GAP-00496":{"line":495,"offset":84606,"length":165,"previous":"M16-GAP-00495","next":"M16-GAP-00497"},"M16-GAP-00497":{"line":496,"offset":84771,"length":167,"previous":"M16-GAP-00496","next":"M16-GAP-00498"},"M16-GAP-00498":{"line":497,"offset":84938,"length":169,"previous":"M16-GAP-00497","next":"M16-GAP-00499"},"M16-GAP-00499":{"line":498,"offset":85107,"length":175,"previous":"M16-GAP-00498","next":"M16-GAP-00500"},"M16-GAP-00500":{"line":499,"offset":85282,"length":163,"previous":"M16-GAP-00499","next":"M16-GAP-00501"},"M16-GAP-00501":{"line":500,"offset":85445,"length":170,"previous":"M16-GAP-00500","next":"M16-GAP-00502"},"M16-GAP-00502":{"line":501,"offset":85615,"length":168,"previous":"M16-GAP-00501","next":"M16-GAP-00503"},"M16-GAP-00503":{"line":502,"offset":85783,"length":170,"previous":"M16-GAP-00502","next":"M16-GAP-00504"},"M16-GAP-00504":{"line":503,"offset":85953,"length":161,"previous":"M16-GAP-00503","next":"M16-GAP-00505"},"M16-GAP-00505":{"line":504,"offset":86114,"length":172,"previous":"M16-GAP-00504","next":"M16-GAP-00506"},"M16-GAP-00506":{"line":505,"offset":86286,"length":174,"previous":"M16-GAP-00505","next":"M16-GAP-00507"},"M16-GAP-00507":{"line":506,"offset":86460,"length":162,"previous":"M16-GAP-00506","next":"M16-GAP-00508"},"M16-GAP-00508":{"line":507,"offset":86622,"length":166,"previous":"M16-GAP-00507","next":"M16-GAP-00509"},"M16-GAP-00509":{"line":508,"offset":86788,"length":173,"previous":"M16-GAP-00508","next":"M16-GAP-00510"},"M16-GAP-00510":{"line":509,"offset":86961,"length":167,"previous":"M16-GAP-00509","next":"M16-GAP-00511"},"M16-GAP-00511":{"line":510,"offset":87128,"length":167,"previous":"M16-GAP-00510","next":"M16-GAP-00512"},"M16-GAP-00512":{"line":511,"offset":87295,"length":168,"previous":"M16-GAP-00511","next":"M16-GAP-00513"},"M16-GAP-00513":{"line":512,"offset":87463,"length":168,"previous":"M16-GAP-00512","next":"M16-GAP-00514"},"M16-GAP-00514":{"line":513,"offset":87631,"length":171,"previous":"M16-GAP-00513","next":"M16-GAP-00515"},"M16-GAP-00515":{"line":514,"offset":87802,"length":186,"previous":"M16-GAP-00514","next":"M16-GAP-00516"},"M16-GAP-00516":{"line":515,"offset":87988,"length":184,"previous":"M16-GAP-00515","next":"M16-GAP-00517"},"M16-GAP-00517":{"line":516,"offset":88172,"length":172,"previous":"M16-GAP-00516","next":"M16-GAP-00518"},"M16-GAP-00518":{"line":517,"offset":88344,"length":171,"previous":"M16-GAP-00517","next":"M16-GAP-00519"},"M16-GAP-00519":{"line":518,"offset":88515,"length":164,"previous":"M16-GAP-00518","next":"M16-GAP-00520"},"M16-GAP-00520":{"line":519,"offset":88679,"length":162,"previous":"M16-GAP-00519","next":"M16-GAP-00521"},"M16-GAP-00521":{"line":520,"offset":88841,"length":167,"previous":"M16-GAP-00520","next":"M16-GAP-00522"},"M16-GAP-00522":{"line":521,"offset":89008,"length":172,"previous":"M16-GAP-00521","next":"M16-GAP-00523"},"M16-GAP-00523":{"line":522,"offset":89180,"length":165,"previous":"M16-GAP-00522","next":"M16-GAP-00524"},"M16-GAP-00524":{"line":523,"offset":89345,"length":170,"previous":"M16-GAP-00523","next":"M16-GAP-00525"},"M16-GAP-00525":{"line":524,"offset":89515,"length":173,"previous":"M16-GAP-00524","next":"M16-GAP-00526"},"M16-GAP-00526":{"line":525,"offset":89688,"length":161,"previous":"M16-GAP-00525","next":"M16-GAP-00527"},"M16-GAP-00527":{"line":526,"offset":89849,"length":175,"previous":"M16-GAP-00526","next":"M16-GAP-00528"},"M16-GAP-00528":{"line":527,"offset":90024,"length":168,"previous":"M16-GAP-00527","next":"M16-GAP-00529"},"M16-GAP-00529":{"line":528,"offset":90192,"length":169,"previous":"M16-GAP-00528","next":"M16-GAP-00530"},"M16-GAP-00530":{"line":529,"offset":90361,"length":169,"previous":"M16-GAP-00529","next":"M16-GAP-00531"},"M16-GAP-00531":{"line":530,"offset":90530,"length":171,"previous":"M16-GAP-00530","next":"M16-GAP-00532"},"M16-GAP-00532":{"line":531,"offset":90701,"length":176,"previous":"M16-GAP-00531","next":"M16-GAP-00533"},"M16-GAP-00533":{"line":532,"offset":90877,"length":169,"previous":"M16-GAP-00532","next":"M16-GAP-00534"},"M16-GAP-00534":{"line":533,"offset":91046,"length":171,"previous":"M16-GAP-00533","next":"M16-GAP-00535"},"M16-GAP-00535":{"line":534,"offset":91217,"length":166,"previous":"M16-GAP-00534","next":"M16-GAP-00536"},"M16-GAP-00536":{"line":535,"offset":91383,"length":178,"previous":"M16-GAP-00535","next":"M16-GAP-00537"},"M16-GAP-00537":{"line":536,"offset":91561,"length":180,"previous":"M16-GAP-00536","next":"M16-GAP-00538"},"M16-GAP-00538":{"line":537,"offset":91741,"length":163,"previous":"M16-GAP-00537","next":"M16-GAP-00539"},"M16-GAP-00539":{"line":538,"offset":91904,"length":167,"previous":"M16-GAP-00538","next":"M16-GAP-00540"},"M16-GAP-00540":{"line":539,"offset":92071,"length":169,"previous":"M16-GAP-00539","next":"M16-GAP-00541"},"M16-GAP-00541":{"line":540,"offset":92240,"length":174,"previous":"M16-GAP-00540","next":"M16-GAP-00542"},"M16-GAP-00542":{"line":541,"offset":92414,"length":168,"previous":"M16-GAP-00541","next":"M16-GAP-00543"},"M16-GAP-00543":{"line":542,"offset":92582,"length":175,"previous":"M16-GAP-00542","next":"M16-GAP-00544"},"M16-GAP-00544":{"line":543,"offset":92757,"length":170,"previous":"M16-GAP-00543","next":"M16-GAP-00545"},"M16-GAP-00545":{"line":544,"offset":92927,"length":175,"previous":"M16-GAP-00544","next":"M16-GAP-00546"},"M16-GAP-00546":{"line":545,"offset":93102,"length":162,"previous":"M16-GAP-00545","next":"M16-GAP-00547"},"M16-GAP-00547":{"line":546,"offset":93264,"length":171,"previous":"M16-GAP-00546","next":"M16-GAP-00548"},"M16-GAP-00548":{"line":547,"offset":93435,"length":174,"previous":"M16-GAP-00547","next":"M16-GAP-00549"},"M16-GAP-00549":{"line":548,"offset":93609,"length":177,"previous":"M16-GAP-00548","next":"M16-GAP-00550"},"M16-GAP-00550":{"line":549,"offset":93786,"length":169,"previous":"M16-GAP-00549","next":"M16-GAP-00551"},"M16-GAP-00551":{"line":550,"offset":93955,"length":165,"previous":"M16-GAP-00550","next":"M16-GAP-00552"},"M16-GAP-00552":{"line":551,"offset":94120,"length":177,"previous":"M16-GAP-00551","next":"M16-GAP-00553"},"M16-GAP-00553":{"line":552,"offset":94297,"length":177,"previous":"M16-GAP-00552","next":"M16-GAP-00554"},"M16-GAP-00554":{"line":553,"offset":94474,"length":189,"previous":"M16-GAP-00553","next":"M16-GAP-00555"},"M16-GAP-00555":{"line":554,"offset":94663,"length":180,"previous":"M16-GAP-00554","next":"M16-GAP-00556"},"M16-GAP-00556":{"line":555,"offset":94843,"length":185,"previous":"M16-GAP-00555","next":"M16-GAP-00557"},"M16-GAP-00557":{"line":556,"offset":95028,"length":175,"previous":"M16-GAP-00556","next":"M16-GAP-00558"},"M16-GAP-00558":{"line":557,"offset":95203,"length":167,"previous":"M16-GAP-00557","next":"M16-GAP-00559"},"M16-GAP-00559":{"line":558,"offset":95370,"length":158,"previous":"M16-GAP-00558","next":"M16-GAP-00560"},"M16-GAP-00560":{"line":559,"offset":95528,"length":158,"previous":"M16-GAP-00559","next":"M16-GAP-00561"},"M16-GAP-00561":{"line":560,"offset":95686,"length":166,"previous":"M16-GAP-00560","next":"M16-GAP-00562"},"M16-GAP-00562":{"line":561,"offset":95852,"length":163,"previous":"M16-GAP-00561","next":"M16-GAP-00563"},"M16-GAP-00563":{"line":562,"offset":96015,"length":163,"previous":"M16-GAP-00562","next":"M16-GAP-00564"},"M16-GAP-00564":{"line":563,"offset":96178,"length":166,"previous":"M16-GAP-00563","next":"M16-GAP-00565"},"M16-GAP-00565":{"line":564,"offset":96344,"length":167,"previous":"M16-GAP-00564","next":"M16-GAP-00566"},"M16-GAP-00566":{"line":565,"offset":96511,"length":168,"previous":"M16-GAP-00565","next":"M16-GAP-00567"},"M16-GAP-00567":{"line":566,"offset":96679,"length":177,"previous":"M16-GAP-00566","next":"M16-GAP-00568"},"M16-GAP-00568":{"line":567,"offset":96856,"length":177,"previous":"M16-GAP-00567","next":"M16-GAP-00569"},"M16-GAP-00569":{"line":568,"offset":97033,"length":183,"previous":"M16-GAP-00568","next":"M16-GAP-00570"},"M16-GAP-00570":{"line":569,"offset":97216,"length":184,"previous":"M16-GAP-00569","next":"M16-GAP-00571"},"M16-GAP-00571":{"line":570,"offset":97400,"length":180,"previous":"M16-GAP-00570","next":"M16-GAP-00572"},"M16-GAP-00572":{"line":571,"offset":97580,"length":184,"previous":"M16-GAP-00571","next":"M16-GAP-00573"},"M16-GAP-00573":{"line":572,"offset":97764,"length":178,"previous":"M16-GAP-00572","next":"M16-GAP-00574"},"M16-GAP-00574":{"line":573,"offset":97942,"length":182,"previous":"M16-GAP-00573","next":"M16-GAP-00575"},"M16-GAP-00575":{"line":574,"offset":98124,"length":185,"previous":"M16-GAP-00574","next":"M16-GAP-00576"},"M16-GAP-00576":{"line":575,"offset":98309,"length":180,"previous":"M16-GAP-00575","next":"M16-GAP-00577"},"M16-GAP-00577":{"line":576,"offset":98489,"length":178,"previous":"M16-GAP-00576","next":"M16-GAP-00578"},"M16-GAP-00578":{"line":577,"offset":98667,"length":183,"previous":"M16-GAP-00577","next":"M16-GAP-00579"},"M16-GAP-00579":{"line":578,"offset":98850,"length":183,"previous":"M16-GAP-00578","next":"M16-GAP-00580"},"M16-GAP-00580":{"line":579,"offset":99033,"length":182,"previous":"M16-GAP-00579","next":"M16-GAP-00581"},"M16-GAP-00581":{"line":580,"offset":99215,"length":179,"previous":"M16-GAP-00580","next":"M16-GAP-00582"},"M16-GAP-00582":{"line":581,"offset":99394,"length":186,"previous":"M16-GAP-00581","next":"M16-GAP-00583"},"M16-GAP-00583":{"line":582,"offset":99580,"length":186,"previous":"M16-GAP-00582","next":"M16-GAP-00584"},"M16-GAP-00584":{"line":583,"offset":99766,"length":181,"previous":"M16-GAP-00583","next":"M16-GAP-00585"},"M16-GAP-00585":{"line":584,"offset":99947,"length":183,"previous":"M16-GAP-00584","next":"M16-GAP-00586"},"M16-GAP-00586":{"line":585,"offset":100130,"length":175,"previous":"M16-GAP-00585","next":"M16-GAP-00587"},"M16-GAP-00587":{"line":586,"offset":100305,"length":178,"previous":"M16-GAP-00586","next":"M16-GAP-00588"},"M16-GAP-00588":{"line":587,"offset":100483,"length":171,"previous":"M16-GAP-00587","next":"M16-GAP-00589"},"M16-GAP-00589":{"line":588,"offset":100654,"length":175,"previous":"M16-GAP-00588","next":"M16-GAP-00590"},"M16-GAP-00590":{"line":589,"offset":100829,"length":173,"previous":"M16-GAP-00589","next":"M16-GAP-00591"},"M16-GAP-00591":{"line":590,"offset":101002,"length":177,"previous":"M16-GAP-00590","next":"M16-GAP-00592"},"M16-GAP-00592":{"line":591,"offset":101179,"length":174,"previous":"M16-GAP-00591","next":"M16-GAP-00593"},"M16-GAP-00593":{"line":592,"offset":101353,"length":181,"previous":"M16-GAP-00592","next":"M16-GAP-00594"},"M16-GAP-00594":{"line":593,"offset":101534,"length":183,"previous":"M16-GAP-00593","next":"M16-GAP-00595"},"M16-GAP-00595":{"line":594,"offset":101717,"length":189,"previous":"M16-GAP-00594","next":"M16-GAP-00596"},"M16-GAP-00596":{"line":595,"offset":101906,"length":186,"previous":"M16-GAP-00595","next":"M16-GAP-00597"},"M16-GAP-00597":{"line":596,"offset":102092,"length":182,"previous":"M16-GAP-00596","next":"M16-GAP-00598"},"M16-GAP-00598":{"line":597,"offset":102274,"length":179,"previous":"M16-GAP-00597","next":"M16-GAP-00599"},"M16-GAP-00599":{"line":598,"offset":102453,"length":171,"previous":"M16-GAP-00598","next":"M16-GAP-00600"},"M16-GAP-00600":{"line":599,"offset":102624,"length":168,"previous":"M16-GAP-00599","next":"M16-GAP-00601"},"M16-GAP-00601":{"line":600,"offset":102792,"length":172,"previous":"M16-GAP-00600","next":"M16-GAP-00602"},"M16-GAP-00602":{"line":601,"offset":102964,"length":171,"previous":"M16-GAP-00601","next":"M16-GAP-00603"},"M16-GAP-00603":{"line":602,"offset":103135,"length":169,"previous":"M16-GAP-00602","next":"M16-GAP-00604"},"M16-GAP-00604":{"line":603,"offset":103304,"length":162,"previous":"M16-GAP-00603","next":"M16-GAP-00605"},"M16-GAP-00605":{"line":604,"offset":103466,"length":162,"previous":"M16-GAP-00604","next":"M16-GAP-00606"},"M16-GAP-00606":{"line":605,"offset":103628,"length":169,"previous":"M16-GAP-00605","next":"M16-GAP-00607"},"M16-GAP-00607":{"line":606,"offset":103797,"length":175,"previous":"M16-GAP-00606","next":"M16-GAP-00608"},"M16-GAP-00608":{"line":607,"offset":103972,"length":163,"previous":"M16-GAP-00607","next":"M16-GAP-00609"},"M16-GAP-00609":{"line":608,"offset":104135,"length":174,"previous":"M16-GAP-00608","next":"M16-GAP-00610"},"M16-GAP-00610":{"line":609,"offset":104309,"length":163,"previous":"M16-GAP-00609","next":"M16-GAP-00611"},"M16-GAP-00611":{"line":610,"offset":104472,"length":169,"previous":"M16-GAP-00610","next":"M16-GAP-00612"},"M16-GAP-00612":{"line":611,"offset":104641,"length":174,"previous":"M16-GAP-00611","next":"M16-GAP-00613"},"M16-GAP-00613":{"line":612,"offset":104815,"length":163,"previous":"M16-GAP-00612","next":"M16-GAP-00614"},"M16-GAP-00614":{"line":613,"offset":104978,"length":165,"previous":"M16-GAP-00613","next":"M16-GAP-00615"},"M16-GAP-00615":{"line":614,"offset":105143,"length":175,"previous":"M16-GAP-00614","next":"M16-GAP-00616"},"M16-GAP-00616":{"line":615,"offset":105318,"length":175,"previous":"M16-GAP-00615","next":"M16-GAP-00617"},"M16-GAP-00617":{"line":616,"offset":105493,"length":169,"previous":"M16-GAP-00616","next":"M16-GAP-00618"},"M16-GAP-00618":{"line":617,"offset":105662,"length":160,"previous":"M16-GAP-00617","next":"M16-GAP-00619"},"M16-GAP-00619":{"line":618,"offset":105822,"length":164,"previous":"M16-GAP-00618","next":"M16-GAP-00620"},"M16-GAP-00620":{"line":619,"offset":105986,"length":170,"previous":"M16-GAP-00619","next":"M16-GAP-00621"},"M16-GAP-00621":{"line":620,"offset":106156,"length":162,"previous":"M16-GAP-00620","next":"M16-GAP-00622"},"M16-GAP-00622":{"line":621,"offset":106318,"length":164,"previous":"M16-GAP-00621","next":"M16-GAP-00623"},"M16-GAP-00623":{"line":622,"offset":106482,"length":163,"previous":"M16-GAP-00622","next":"M16-GAP-00624"},"M16-GAP-00624":{"line":623,"offset":106645,"length":162,"previous":"M16-GAP-00623","next":"M16-GAP-00625"},"M16-GAP-00625":{"line":624,"offset":106807,"length":176,"previous":"M16-GAP-00624","next":"M16-GAP-00626"},"M16-GAP-00626":{"line":625,"offset":106983,"length":168,"previous":"M16-GAP-00625","next":"M16-GAP-00627"},"M16-GAP-00627":{"line":626,"offset":107151,"length":162,"previous":"M16-GAP-00626","next":"M16-GAP-00628"},"M16-GAP-00628":{"line":627,"offset":107313,"length":166,"previous":"M16-GAP-00627","next":"M16-GAP-00629"},"M16-GAP-00629":{"line":628,"offset":107479,"length":171,"previous":"M16-GAP-00628","next":"M16-GAP-00630"},"M16-GAP-00630":{"line":629,"offset":107650,"length":166,"previous":"M16-GAP-00629","next":"M16-GAP-00631"},"M16-GAP-00631":{"line":630,"offset":107816,"length":167,"previous":"M16-GAP-00630","next":"M16-GAP-00632"},"M16-GAP-00632":{"line":631,"offset":107983,"length":168,"previous":"M16-GAP-00631","next":"M16-GAP-00633"},"M16-GAP-00633":{"line":632,"offset":108151,"length":178,"previous":"M16-GAP-00632","next":"M16-GAP-00634"},"M16-GAP-00634":{"line":633,"offset":108329,"length":168,"previous":"M16-GAP-00633","next":"M16-GAP-00635"},"M16-GAP-00635":{"line":634,"offset":108497,"length":166,"previous":"M16-GAP-00634","next":"M16-GAP-00636"},"M16-GAP-00636":{"line":635,"offset":108663,"length":167,"previous":"M16-GAP-00635","next":"M16-GAP-00637"},"M16-GAP-00637":{"line":636,"offset":108830,"length":172,"previous":"M16-GAP-00636","next":"M16-GAP-00638"},"M16-GAP-00638":{"line":637,"offset":109002,"length":169,"previous":"M16-GAP-00637","next":"M16-GAP-00639"},"M16-GAP-00639":{"line":638,"offset":109171,"length":165,"previous":"M16-GAP-00638","next":"M16-GAP-00640"},"M16-GAP-00640":{"line":639,"offset":109336,"length":166,"previous":"M16-GAP-00639","next":"M16-GAP-00641"},"M16-GAP-00641":{"line":640,"offset":109502,"length":168,"previous":"M16-GAP-00640","next":"M16-GAP-00642"},"M16-GAP-00642":{"line":641,"offset":109670,"length":166,"previous":"M16-GAP-00641","next":"M16-GAP-00643"},"M16-GAP-00643":{"line":642,"offset":109836,"length":167,"previous":"M16-GAP-00642","next":"M16-GAP-00644"},"M16-GAP-00644":{"line":643,"offset":110003,"length":171,"previous":"M16-GAP-00643","next":"M16-GAP-00645"},"M16-GAP-00645":{"line":644,"offset":110174,"length":165,"previous":"M16-GAP-00644","next":"M16-GAP-00646"},"M16-GAP-00646":{"line":645,"offset":110339,"length":166,"previous":"M16-GAP-00645","next":"M16-GAP-00647"},"M16-GAP-00647":{"line":646,"offset":110505,"length":168,"previous":"M16-GAP-00646","next":"M16-GAP-00648"},"M16-GAP-00648":{"line":647,"offset":110673,"length":166,"previous":"M16-GAP-00647","next":"M16-GAP-00649"},"M16-GAP-00649":{"line":648,"offset":110839,"length":167,"previous":"M16-GAP-00648","next":"M16-GAP-00650"},"M16-GAP-00650":{"line":649,"offset":111006,"length":171,"previous":"M16-GAP-00649","next":"M16-GAP-00651"},"M16-GAP-00651":{"line":650,"offset":111177,"length":167,"previous":"M16-GAP-00650","next":"M16-GAP-00652"},"M16-GAP-00652":{"line":651,"offset":111344,"length":167,"previous":"M16-GAP-00651","next":"M16-GAP-00653"},"M16-GAP-00653":{"line":652,"offset":111511,"length":164,"previous":"M16-GAP-00652","next":"M16-GAP-00654"},"M16-GAP-00654":{"line":653,"offset":111675,"length":167,"previous":"M16-GAP-00653","next":"M16-GAP-00655"},"M16-GAP-00655":{"line":654,"offset":111842,"length":172,"previous":"M16-GAP-00654","next":"M16-GAP-00656"},"M16-GAP-00656":{"line":655,"offset":112014,"length":170,"previous":"M16-GAP-00655","next":"M16-GAP-00657"},"M16-GAP-00657":{"line":656,"offset":112184,"length":162,"previous":"M16-GAP-00656","next":"M16-GAP-00658"},"M16-GAP-00658":{"line":657,"offset":112346,"length":166,"previous":"M16-GAP-00657","next":"M16-GAP-00659"},"M16-GAP-00659":{"line":658,"offset":112512,"length":160,"previous":"M16-GAP-00658","next":"M16-GAP-00660"},"M16-GAP-00660":{"line":659,"offset":112672,"length":167,"previous":"M16-GAP-00659","next":"M16-GAP-00661"},"M16-GAP-00661":{"line":660,"offset":112839,"length":160,"previous":"M16-GAP-00660","next":"M16-GAP-00662"},"M16-GAP-00662":{"line":661,"offset":112999,"length":166,"previous":"M16-GAP-00661","next":"M16-GAP-00663"},"M16-GAP-00663":{"line":662,"offset":113165,"length":167,"previous":"M16-GAP-00662","next":"M16-GAP-00664"},"M16-GAP-00664":{"line":663,"offset":113332,"length":169,"previous":"M16-GAP-00663","next":"M16-GAP-00665"},"M16-GAP-00665":{"line":664,"offset":113501,"length":165,"previous":"M16-GAP-00664","next":"M16-GAP-00666"},"M16-GAP-00666":{"line":665,"offset":113666,"length":168,"previous":"M16-GAP-00665","next":"M16-GAP-00667"},"M16-GAP-00667":{"line":666,"offset":113834,"length":165,"previous":"M16-GAP-00666","next":"M16-GAP-00668"},"M16-GAP-00668":{"line":667,"offset":113999,"length":164,"previous":"M16-GAP-00667","next":"M16-GAP-00669"},"M16-GAP-00669":{"line":668,"offset":114163,"length":167,"previous":"M16-GAP-00668","next":"M16-GAP-00670"},"M16-GAP-00670":{"line":669,"offset":114330,"length":175,"previous":"M16-GAP-00669","next":"M16-GAP-00671"},"M16-GAP-00671":{"line":670,"offset":114505,"length":166,"previous":"M16-GAP-00670","next":"M16-GAP-00672"},"M16-GAP-00672":{"line":671,"offset":114671,"length":176,"previous":"M16-GAP-00671","next":"M16-GAP-00673"},"M16-GAP-00673":{"line":672,"offset":114847,"length":167,"previous":"M16-GAP-00672","next":"M16-GAP-00674"},"M16-GAP-00674":{"line":673,"offset":115014,"length":170,"previous":"M16-GAP-00673","next":"M16-GAP-00675"},"M16-GAP-00675":{"line":674,"offset":115184,"length":162,"previous":"M16-GAP-00674","next":"M16-GAP-00676"},"M16-GAP-00676":{"line":675,"offset":115346,"length":173,"previous":"M16-GAP-00675","next":"M16-GAP-00677"},"M16-GAP-00677":{"line":676,"offset":115519,"length":177,"previous":"M16-GAP-00676","next":"M16-GAP-00678"},"M16-GAP-00678":{"line":677,"offset":115696,"length":176,"previous":"M16-GAP-00677","next":"M16-GAP-00679"},"M16-GAP-00679":{"line":678,"offset":115872,"length":179,"previous":"M16-GAP-00678","next":"M16-GAP-00680"},"M16-GAP-00680":{"line":679,"offset":116051,"length":183,"previous":"M16-GAP-00679","next":"M16-GAP-00681"},"M16-GAP-00681":{"line":680,"offset":116234,"length":185,"previous":"M16-GAP-00680","next":"M16-GAP-00682"},"M16-GAP-00682":{"line":681,"offset":116419,"length":182,"previous":"M16-GAP-00681","next":"M16-GAP-00683"},"M16-GAP-00683":{"line":682,"offset":116601,"length":186,"previous":"M16-GAP-00682","next":"M16-GAP-00684"},"M16-GAP-00684":{"line":683,"offset":116787,"length":182,"previous":"M16-GAP-00683","next":"M16-GAP-00685"},"M16-GAP-00685":{"line":684,"offset":116969,"length":174,"previous":"M16-GAP-00684","next":"M16-GAP-00686"},"M16-GAP-00686":{"line":685,"offset":117143,"length":173,"previous":"M16-GAP-00685","next":"M16-GAP-00687"},"M16-GAP-00687":{"line":686,"offset":117316,"length":167,"previous":"M16-GAP-00686","next":"M16-GAP-00688"},"M16-GAP-00688":{"line":687,"offset":117483,"length":189,"previous":"M16-GAP-00687","next":"M16-GAP-00689"},"M16-GAP-00689":{"line":688,"offset":117672,"length":173,"previous":"M16-GAP-00688","next":"M16-GAP-00690"},"M16-GAP-00690":{"line":689,"offset":117845,"length":170,"previous":"M16-GAP-00689","next":"M16-GAP-00691"},"M16-GAP-00691":{"line":690,"offset":118015,"length":179,"previous":"M16-GAP-00690","next":"M16-GAP-00692"},"M16-GAP-00692":{"line":691,"offset":118194,"length":180,"previous":"M16-GAP-00691","next":"M16-GAP-00693"},"M16-GAP-00693":{"line":692,"offset":118374,"length":182,"previous":"M16-GAP-00692","next":"M16-GAP-00694"},"M16-GAP-00694":{"line":693,"offset":118556,"length":166,"previous":"M16-GAP-00693","next":"M16-GAP-00695"},"M16-GAP-00695":{"line":694,"offset":118722,"length":169,"previous":"M16-GAP-00694","next":"M16-GAP-00696"},"M16-GAP-00696":{"line":695,"offset":118891,"length":173,"previous":"M16-GAP-00695","next":"M16-GAP-00697"},"M16-GAP-00697":{"line":696,"offset":119064,"length":170,"previous":"M16-GAP-00696","next":"M16-GAP-00698"},"M16-GAP-00698":{"line":697,"offset":119234,"length":174,"previous":"M16-GAP-00697","next":"M16-GAP-00699"},"M16-GAP-00699":{"line":698,"offset":119408,"length":166,"previous":"M16-GAP-00698","next":"M16-GAP-00700"},"M16-GAP-00700":{"line":699,"offset":119574,"length":175,"previous":"M16-GAP-00699","next":"M16-GAP-00701"},"M16-GAP-00701":{"line":700,"offset":119749,"length":162,"previous":"M16-GAP-00700","next":"M16-GAP-00702"},"M16-GAP-00702":{"line":701,"offset":119911,"length":169,"previous":"M16-GAP-00701","next":"M16-GAP-00703"},"M16-GAP-00703":{"line":702,"offset":120080,"length":168,"previous":"M16-GAP-00702","next":"M16-GAP-00704"},"M16-GAP-00704":{"line":703,"offset":120248,"length":161,"previous":"M16-GAP-00703","next":"M16-GAP-00705"},"M16-GAP-00705":{"line":704,"offset":120409,"length":167,"previous":"M16-GAP-00704","next":"M16-GAP-00706"},"M16-GAP-00706":{"line":705,"offset":120576,"length":165,"previous":"M16-GAP-00705","next":"M16-GAP-00707"},"M16-GAP-00707":{"line":706,"offset":120741,"length":163,"previous":"M16-GAP-00706","next":"M16-GAP-00708"},"M16-GAP-00708":{"line":707,"offset":120904,"length":178,"previous":"M16-GAP-00707","next":"M16-GAP-00709"},"M16-GAP-00709":{"line":708,"offset":121082,"length":178,"previous":"M16-GAP-00708","next":"M16-GAP-00710"},"M16-GAP-00710":{"line":709,"offset":121260,"length":179,"previous":"M16-GAP-00709","next":"M16-GAP-00711"},"M16-GAP-00711":{"line":710,"offset":121439,"length":166,"previous":"M16-GAP-00710","next":"M16-GAP-00712"},"M16-GAP-00712":{"line":711,"offset":121605,"length":171,"previous":"M16-GAP-00711","next":"M16-GAP-00713"},"M16-GAP-00713":{"line":712,"offset":121776,"length":161,"previous":"M16-GAP-00712","next":"M16-GAP-00714"},"M16-GAP-00714":{"line":713,"offset":121937,"length":168,"previous":"M16-GAP-00713","next":"M16-GAP-00715"},"M16-GAP-00715":{"line":714,"offset":122105,"length":173,"previous":"M16-GAP-00714","next":"M16-GAP-00716"},"M16-GAP-00716":{"line":715,"offset":122278,"length":169,"previous":"M16-GAP-00715","next":"M16-GAP-00717"},"M16-GAP-00717":{"line":716,"offset":122447,"length":175,"previous":"M16-GAP-00716","next":"M16-GAP-00718"},"M16-GAP-00718":{"line":717,"offset":122622,"length":170,"previous":"M16-GAP-00717","next":"M16-GAP-00719"},"M16-GAP-00719":{"line":718,"offset":122792,"length":171,"previous":"M16-GAP-00718","next":"M16-GAP-00720"},"M16-GAP-00720":{"line":719,"offset":122963,"length":173,"previous":"M16-GAP-00719","next":"M16-GAP-00721"},"M16-GAP-00721":{"line":720,"offset":123136,"length":172,"previous":"M16-GAP-00720","next":"M16-GAP-00722"},"M16-GAP-00722":{"line":721,"offset":123308,"length":167,"previous":"M16-GAP-00721","next":"M16-GAP-00723"},"M16-GAP-00723":{"line":722,"offset":123475,"length":172,"previous":"M16-GAP-00722","next":"M16-GAP-00724"},"M16-GAP-00724":{"line":723,"offset":123647,"length":175,"previous":"M16-GAP-00723","next":"M16-GAP-00725"},"M16-GAP-00725":{"line":724,"offset":123822,"length":176,"previous":"M16-GAP-00724","next":"M16-GAP-00726"},"M16-GAP-00726":{"line":725,"offset":123998,"length":168,"previous":"M16-GAP-00725","next":"M16-GAP-00727"},"M16-GAP-00727":{"line":726,"offset":124166,"length":161,"previous":"M16-GAP-00726","next":"M16-GAP-00728"},"M16-GAP-00728":{"line":727,"offset":124327,"length":175,"previous":"M16-GAP-00727","next":"M16-GAP-00729"},"M16-GAP-00729":{"line":728,"offset":124502,"length":172,"previous":"M16-GAP-00728","next":"M16-GAP-00730"},"M16-GAP-00730":{"line":729,"offset":124674,"length":170,"previous":"M16-GAP-00729","next":"M16-GAP-00731"},"M16-GAP-00731":{"line":730,"offset":124844,"length":172,"previous":"M16-GAP-00730","next":"M16-GAP-00732"},"M16-GAP-00732":{"line":731,"offset":125016,"length":167,"previous":"M16-GAP-00731","next":"M16-GAP-00733"},"M16-GAP-00733":{"line":732,"offset":125183,"length":168,"previous":"M16-GAP-00732","next":"M16-GAP-00734"},"M16-GAP-00734":{"line":733,"offset":125351,"length":163,"previous":"M16-GAP-00733","next":"M16-GAP-00735"},"M16-GAP-00735":{"line":734,"offset":125514,"length":162,"previous":"M16-GAP-00734","next":"M16-GAP-00736"},"M16-GAP-00736":{"line":735,"offset":125676,"length":173,"previous":"M16-GAP-00735","next":"M16-GAP-00737"},"M16-GAP-00737":{"line":736,"offset":125849,"length":166,"previous":"M16-GAP-00736","next":"M16-GAP-00738"},"M16-GAP-00738":{"line":737,"offset":126015,"length":163,"previous":"M16-GAP-00737","next":"M16-GAP-00739"},"M16-GAP-00739":{"line":738,"offset":126178,"length":172,"previous":"M16-GAP-00738","next":"M16-GAP-00740"},"M16-GAP-00740":{"line":739,"offset":126350,"length":170,"previous":"M16-GAP-00739","next":"M16-GAP-00741"},"M16-GAP-00741":{"line":740,"offset":126520,"length":176,"previous":"M16-GAP-00740","next":"M16-GAP-00742"},"M16-GAP-00742":{"line":741,"offset":126696,"length":167,"previous":"M16-GAP-00741","next":"M16-GAP-00743"},"M16-GAP-00743":{"line":742,"offset":126863,"length":167,"previous":"M16-GAP-00742","next":"M16-GAP-00744"},"M16-GAP-00744":{"line":743,"offset":127030,"length":170,"previous":"M16-GAP-00743","next":"M16-GAP-00745"},"M16-GAP-00745":{"line":744,"offset":127200,"length":170,"previous":"M16-GAP-00744","next":"M16-GAP-00746"},"M16-GAP-00746":{"line":745,"offset":127370,"length":175,"previous":"M16-GAP-00745","next":"M16-GAP-00747"},"M16-GAP-00747":{"line":746,"offset":127545,"length":169,"previous":"M16-GAP-00746","next":"M16-GAP-00748"},"M16-GAP-00748":{"line":747,"offset":127714,"length":173,"previous":"M16-GAP-00747","next":"M16-GAP-00749"},"M16-GAP-00749":{"line":748,"offset":127887,"length":168,"previous":"M16-GAP-00748","next":"M16-GAP-00750"},"M16-GAP-00750":{"line":749,"offset":128055,"length":170,"previous":"M16-GAP-00749","next":"M16-GAP-00751"},"M16-GAP-00751":{"line":750,"offset":128225,"length":168,"previous":"M16-GAP-00750","next":"M16-GAP-00752"},"M16-GAP-00752":{"line":751,"offset":128393,"length":162,"previous":"M16-GAP-00751","next":"M16-GAP-00753"},"M16-GAP-00753":{"line":752,"offset":128555,"length":163,"previous":"M16-GAP-00752","next":"M16-GAP-00754"},"M16-GAP-00754":{"line":753,"offset":128718,"length":161,"previous":"M16-GAP-00753","next":"M16-GAP-00755"},"M16-GAP-00755":{"line":754,"offset":128879,"length":174,"previous":"M16-GAP-00754","next":"M16-GAP-00756"},"M16-GAP-00756":{"line":755,"offset":129053,"length":173,"previous":"M16-GAP-00755","next":"M16-GAP-00757"},"M16-GAP-00757":{"line":756,"offset":129226,"length":168,"previous":"M16-GAP-00756","next":"M16-GAP-00758"},"M16-GAP-00758":{"line":757,"offset":129394,"length":165,"previous":"M16-GAP-00757","next":"M16-GAP-00759"},"M16-GAP-00759":{"line":758,"offset":129559,"length":167,"previous":"M16-GAP-00758","next":"M16-GAP-00760"},"M16-GAP-00760":{"line":759,"offset":129726,"length":170,"previous":"M16-GAP-00759","next":"M16-GAP-00761"},"M16-GAP-00761":{"line":760,"offset":129896,"length":184,"previous":"M16-GAP-00760","next":"M16-GAP-00762"},"M16-GAP-00762":{"line":761,"offset":130080,"length":193,"previous":"M16-GAP-00761","next":"M16-GAP-00763"},"M16-GAP-00763":{"line":762,"offset":130273,"length":177,"previous":"M16-GAP-00762","next":"M16-GAP-00764"},"M16-GAP-00764":{"line":763,"offset":130450,"length":173,"previous":"M16-GAP-00763","next":"M16-GAP-00765"},"M16-GAP-00765":{"line":764,"offset":130623,"length":176,"previous":"M16-GAP-00764","next":"M16-GAP-00766"},"M16-GAP-00766":{"line":765,"offset":130799,"length":183,"previous":"M16-GAP-00765","next":"M16-GAP-00767"},"M16-GAP-00767":{"line":766,"offset":130982,"length":169,"previous":"M16-GAP-00766","next":"M16-GAP-00768"},"M16-GAP-00768":{"line":767,"offset":131151,"length":177,"previous":"M16-GAP-00767","next":"M16-GAP-00769"},"M16-GAP-00769":{"line":768,"offset":131328,"length":171,"previous":"M16-GAP-00768","next":"M16-GAP-00770"},"M16-GAP-00770":{"line":769,"offset":131499,"length":181,"previous":"M16-GAP-00769","next":"M16-GAP-00771"},"M16-GAP-00771":{"line":770,"offset":131680,"length":177,"previous":"M16-GAP-00770","next":"M16-GAP-00772"},"M16-GAP-00772":{"line":771,"offset":131857,"length":173,"previous":"M16-GAP-00771","next":"M16-GAP-00773"},"M16-GAP-00773":{"line":772,"offset":132030,"length":174,"previous":"M16-GAP-00772","next":"M16-GAP-00774"},"M16-GAP-00774":{"line":773,"offset":132204,"length":179,"previous":"M16-GAP-00773","next":"M16-GAP-00775"},"M16-GAP-00775":{"line":774,"offset":132383,"length":174,"previous":"M16-GAP-00774","next":"M16-GAP-00776"},"M16-GAP-00776":{"line":775,"offset":132557,"length":176,"previous":"M16-GAP-00775","next":"M16-GAP-00777"},"M16-GAP-00777":{"line":776,"offset":132733,"length":172,"previous":"M16-GAP-00776","next":"M16-GAP-00778"},"M16-GAP-00778":{"line":777,"offset":132905,"length":177,"previous":"M16-GAP-00777","next":"M16-GAP-00779"},"M16-GAP-00779":{"line":778,"offset":133082,"length":169,"previous":"M16-GAP-00778","next":"M16-GAP-00780"},"M16-GAP-00780":{"line":779,"offset":133251,"length":186,"previous":"M16-GAP-00779","next":"M16-GAP-00781"},"M16-GAP-00781":{"line":780,"offset":133437,"length":180,"previous":"M16-GAP-00780","next":"M16-GAP-00782"},"M16-GAP-00782":{"line":781,"offset":133617,"length":183,"previous":"M16-GAP-00781","next":"M16-GAP-00783"},"M16-GAP-00783":{"line":782,"offset":133800,"length":176,"previous":"M16-GAP-00782","next":"M16-GAP-00784"},"M16-GAP-00784":{"line":783,"offset":133976,"length":185,"previous":"M16-GAP-00783","next":"M16-GAP-00785"},"M16-GAP-00785":{"line":784,"offset":134161,"length":175,"previous":"M16-GAP-00784","next":"M16-GAP-00786"},"M16-GAP-00786":{"line":785,"offset":134336,"length":179,"previous":"M16-GAP-00785","next":"M16-GAP-00787"},"M16-GAP-00787":{"line":786,"offset":134515,"length":177,"previous":"M16-GAP-00786","next":"M16-GAP-00788"},"M16-GAP-00788":{"line":787,"offset":134692,"length":174,"previous":"M16-GAP-00787","next":"M16-GAP-00789"},"M16-GAP-00789":{"line":788,"offset":134866,"length":180,"previous":"M16-GAP-00788","next":"M16-GAP-00790"},"M16-GAP-00790":{"line":789,"offset":135046,"length":187,"previous":"M16-GAP-00789","next":"M16-GAP-00791"},"M16-GAP-00791":{"line":790,"offset":135233,"length":180,"previous":"M16-GAP-00790","next":"M16-GAP-00792"},"M16-GAP-00792":{"line":791,"offset":135413,"length":186,"previous":"M16-GAP-00791","next":"M16-GAP-00793"},"M16-GAP-00793":{"line":792,"offset":135599,"length":183,"previous":"M16-GAP-00792","next":"M16-GAP-00794"},"M16-GAP-00794":{"line":793,"offset":135782,"length":175,"previous":"M16-GAP-00793","next":"M16-GAP-00795"},"M16-GAP-00795":{"line":794,"offset":135957,"length":178,"previous":"M16-GAP-00794","next":"M16-GAP-00796"},"M16-GAP-00796":{"line":795,"offset":136135,"length":179,"previous":"M16-GAP-00795","next":"M16-GAP-00797"},"M16-GAP-00797":{"line":796,"offset":136314,"length":179,"previous":"M16-GAP-00796","next":"M16-GAP-00798"},"M16-GAP-00798":{"line":797,"offset":136493,"length":182,"previous":"M16-GAP-00797","next":"M16-GAP-00799"},"M16-GAP-00799":{"line":798,"offset":136675,"length":183,"previous":"M16-GAP-00798","next":"M16-GAP-00800"},"M16-GAP-00800":{"line":799,"offset":136858,"length":176,"previous":"M16-GAP-00799","next":"M16-GAP-00801"},"M16-GAP-00801":{"line":800,"offset":137034,"length":175,"previous":"M16-GAP-00800","next":"M16-GAP-00802"},"M16-GAP-00802":{"line":801,"offset":137209,"length":177,"previous":"M16-GAP-00801","next":"M16-GAP-00803"},"M16-GAP-00803":{"line":802,"offset":137386,"length":177,"previous":"M16-GAP-00802","next":"M16-GAP-00804"},"M16-GAP-00804":{"line":803,"offset":137563,"length":188,"previous":"M16-GAP-00803","next":"M16-GAP-00805"},"M16-GAP-00805":{"line":804,"offset":137751,"length":178,"previous":"M16-GAP-00804","next":"M16-GAP-00806"},"M16-GAP-00806":{"line":805,"offset":137929,"length":181,"previous":"M16-GAP-00805","next":"M16-GAP-00807"},"M16-GAP-00807":{"line":806,"offset":138110,"length":182,"previous":"M16-GAP-00806","next":"M16-GAP-00808"},"M16-GAP-00808":{"line":807,"offset":138292,"length":189,"previous":"M16-GAP-00807","next":"M16-GAP-00809"},"M16-GAP-00809":{"line":808,"offset":138481,"length":185,"previous":"M16-GAP-00808","next":"M16-GAP-00810"},"M16-GAP-00810":{"line":809,"offset":138666,"length":180,"previous":"M16-GAP-00809","next":"M16-GAP-00811"},"M16-GAP-00811":{"line":810,"offset":138846,"length":180,"previous":"M16-GAP-00810","next":"M16-GAP-00812"},"M16-GAP-00812":{"line":811,"offset":139026,"length":184,"previous":"M16-GAP-00811","next":"M16-GAP-00813"},"M16-GAP-00813":{"line":812,"offset":139210,"length":178,"previous":"M16-GAP-00812","next":"M16-GAP-00814"},"M16-GAP-00814":{"line":813,"offset":139388,"length":172,"previous":"M16-GAP-00813","next":"M16-GAP-00815"},"M16-GAP-00815":{"line":814,"offset":139560,"length":181,"previous":"M16-GAP-00814","next":"M16-GAP-00816"},"M16-GAP-00816":{"line":815,"offset":139741,"length":170,"previous":"M16-GAP-00815","next":"M16-GAP-00817"},"M16-GAP-00817":{"line":816,"offset":139911,"length":168,"previous":"M16-GAP-00816","next":"M16-GAP-00818"},"M16-GAP-00818":{"line":817,"offset":140079,"length":178,"previous":"M16-GAP-00817","next":"M16-GAP-00819"},"M16-GAP-00819":{"line":818,"offset":140257,"length":178,"previous":"M16-GAP-00818","next":"M16-GAP-00820"},"M16-GAP-00820":{"line":819,"offset":140435,"length":181,"previous":"M16-GAP-00819","next":"M16-GAP-00821"},"M16-GAP-00821":{"line":820,"offset":140616,"length":180,"previous":"M16-GAP-00820","next":"M16-GAP-00822"},"M16-GAP-00822":{"line":821,"offset":140796,"length":179,"previous":"M16-GAP-00821","next":"M16-GAP-00823"},"M16-GAP-00823":{"line":822,"offset":140975,"length":183,"previous":"M16-GAP-00822","next":"M16-GAP-00824"},"M16-GAP-00824":{"line":823,"offset":141158,"length":188,"previous":"M16-GAP-00823","next":"M16-GAP-00825"},"M16-GAP-00825":{"line":824,"offset":141346,"length":183,"previous":"M16-GAP-00824","next":"M16-GAP-00826"},"M16-GAP-00826":{"line":825,"offset":141529,"length":172,"previous":"M16-GAP-00825","next":"M16-GAP-00827"},"M16-GAP-00827":{"line":826,"offset":141701,"length":174,"previous":"M16-GAP-00826","next":"M16-GAP-00828"},"M16-GAP-00828":{"line":827,"offset":141875,"length":174,"previous":"M16-GAP-00827","next":"M16-GAP-00829"},"M16-GAP-00829":{"line":828,"offset":142049,"length":177,"previous":"M16-GAP-00828","next":"M16-GAP-00830"},"M16-GAP-00830":{"line":829,"offset":142226,"length":182,"previous":"M16-GAP-00829","next":"M16-GAP-00831"},"M16-GAP-00831":{"line":830,"offset":142408,"length":175,"previous":"M16-GAP-00830","next":"M16-GAP-00832"},"M16-GAP-00832":{"line":831,"offset":142583,"length":181,"previous":"M16-GAP-00831","next":"M16-GAP-00833"},"M16-GAP-00833":{"line":832,"offset":142764,"length":186,"previous":"M16-GAP-00832","next":"M16-GAP-00834"},"M16-GAP-00834":{"line":833,"offset":142950,"length":176,"previous":"M16-GAP-00833","next":"M16-GAP-00835"},"M16-GAP-00835":{"line":834,"offset":143126,"length":176,"previous":"M16-GAP-00834","next":"M16-GAP-00836"},"M16-GAP-00836":{"line":835,"offset":143302,"length":176,"previous":"M16-GAP-00835","next":"M16-GAP-00837"},"M16-GAP-00837":{"line":836,"offset":143478,"length":178,"previous":"M16-GAP-00836","next":"M16-GAP-00838"},"M16-GAP-00838":{"line":837,"offset":143656,"length":176,"previous":"M16-GAP-00837","next":"M16-GAP-00839"},"M16-GAP-00839":{"line":838,"offset":143832,"length":178,"previous":"M16-GAP-00838","next":"M16-GAP-00840"},"M16-GAP-00840":{"line":839,"offset":144010,"length":179,"previous":"M16-GAP-00839","next":"M16-GAP-00841"},"M16-GAP-00841":{"line":840,"offset":144189,"length":173,"previous":"M16-GAP-00840","next":"M16-GAP-00842"},"M16-GAP-00842":{"line":841,"offset":144362,"length":179,"previous":"M16-GAP-00841","next":"M16-GAP-00843"},"M16-GAP-00843":{"line":842,"offset":144541,"length":184,"previous":"M16-GAP-00842","next":"M16-GAP-00844"},"M16-GAP-00844":{"line":843,"offset":144725,"length":180,"previous":"M16-GAP-00843","next":"M16-GAP-00845"},"M16-GAP-00845":{"line":844,"offset":144905,"length":185,"previous":"M16-GAP-00844","next":"M16-GAP-00846"},"M16-GAP-00846":{"line":845,"offset":145090,"length":179,"previous":"M16-GAP-00845","next":"M16-GAP-00847"},"M16-GAP-00847":{"line":846,"offset":145269,"length":180,"previous":"M16-GAP-00846","next":"M16-GAP-00848"},"M16-GAP-00848":{"line":847,"offset":145449,"length":177,"previous":"M16-GAP-00847","next":"M16-GAP-00849"},"M16-GAP-00849":{"line":848,"offset":145626,"length":183,"previous":"M16-GAP-00848","next":"M16-GAP-00850"},"M16-GAP-00850":{"line":849,"offset":145809,"length":180,"previous":"M16-GAP-00849","next":"M16-GAP-00851"},"M16-GAP-00851":{"line":850,"offset":145989,"length":180,"previous":"M16-GAP-00850","next":"M16-GAP-00852"},"M16-GAP-00852":{"line":851,"offset":146169,"length":184,"previous":"M16-GAP-00851","next":"M16-GAP-00853"},"M16-GAP-00853":{"line":852,"offset":146353,"length":186,"previous":"M16-GAP-00852","next":"M16-GAP-00854"},"M16-GAP-00854":{"line":853,"offset":146539,"length":188,"previous":"M16-GAP-00853","next":"M16-GAP-00855"},"M16-GAP-00855":{"line":854,"offset":146727,"length":179,"previous":"M16-GAP-00854","next":"M16-GAP-00856"},"M16-GAP-00856":{"line":855,"offset":146906,"length":177,"previous":"M16-GAP-00855","next":"M16-GAP-00857"},"M16-GAP-00857":{"line":856,"offset":147083,"length":184,"previous":"M16-GAP-00856","next":"M16-GAP-00858"},"M16-GAP-00858":{"line":857,"offset":147267,"length":189,"previous":"M16-GAP-00857","next":"M16-GAP-00859"},"M16-GAP-00859":{"line":858,"offset":147456,"length":190,"previous":"M16-GAP-00858","next":"M16-GAP-00860"},"M16-GAP-00860":{"line":859,"offset":147646,"length":180,"previous":"M16-GAP-00859","next":"M16-GAP-00861"},"M16-GAP-00861":{"line":860,"offset":147826,"length":178,"previous":"M16-GAP-00860","next":"M16-GAP-00862"},"M16-GAP-00862":{"line":861,"offset":148004,"length":177,"previous":"M16-GAP-00861","next":"M16-GAP-00863"},"M16-GAP-00863":{"line":862,"offset":148181,"length":181,"previous":"M16-GAP-00862","next":"M16-GAP-00864"},"M16-GAP-00864":{"line":863,"offset":148362,"length":188,"previous":"M16-GAP-00863","next":"M16-GAP-00865"},"M16-GAP-00865":{"line":864,"offset":148550,"length":188,"previous":"M16-GAP-00864","next":"M16-GAP-00866"},"M16-GAP-00866":{"line":865,"offset":148738,"length":176,"previous":"M16-GAP-00865","next":"M16-GAP-00867"},"M16-GAP-00867":{"line":866,"offset":148914,"length":181,"previous":"M16-GAP-00866","next":"M16-GAP-00868"},"M16-GAP-00868":{"line":867,"offset":149095,"length":176,"previous":"M16-GAP-00867","next":"M16-GAP-00869"},"M16-GAP-00869":{"line":868,"offset":149271,"length":184,"previous":"M16-GAP-00868","next":"M16-GAP-00870"},"M16-GAP-00870":{"line":869,"offset":149455,"length":197,"previous":"M16-GAP-00869","next":"M16-GAP-00871"},"M16-GAP-00871":{"line":870,"offset":149652,"length":181,"previous":"M16-GAP-00870","next":"M16-GAP-00872"},"M16-GAP-00872":{"line":871,"offset":149833,"length":184,"previous":"M16-GAP-00871","next":"M16-GAP-00873"},"M16-GAP-00873":{"line":872,"offset":150017,"length":184,"previous":"M16-GAP-00872","next":"M16-GAP-00874"},"M16-GAP-00874":{"line":873,"offset":150201,"length":181,"previous":"M16-GAP-00873","next":"M16-GAP-00875"},"M16-GAP-00875":{"line":874,"offset":150382,"length":187,"previous":"M16-GAP-00874","next":"M16-GAP-00876"},"M16-GAP-00876":{"line":875,"offset":150569,"length":191,"previous":"M16-GAP-00875","next":"M16-GAP-00877"},"M16-GAP-00877":{"line":876,"offset":150760,"length":184,"previous":"M16-GAP-00876","next":"M16-GAP-00878"},"M16-GAP-00878":{"line":877,"offset":150944,"length":182,"previous":"M16-GAP-00877","next":"M16-GAP-00879"},"M16-GAP-00879":{"line":878,"offset":151126,"length":184,"previous":"M16-GAP-00878","next":"M16-GAP-00880"},"M16-GAP-00880":{"line":879,"offset":151310,"length":178,"previous":"M16-GAP-00879","next":"M16-GAP-00881"},"M16-GAP-00881":{"line":880,"offset":151488,"length":178,"previous":"M16-GAP-00880","next":"M16-GAP-00882"},"M16-GAP-00882":{"line":881,"offset":151666,"length":188,"previous":"M16-GAP-00881","next":"M16-GAP-00883"},"M16-GAP-00883":{"line":882,"offset":151854,"length":182,"previous":"M16-GAP-00882","next":"M16-GAP-00884"},"M16-GAP-00884":{"line":883,"offset":152036,"length":172,"previous":"M16-GAP-00883","next":"M16-GAP-00885"},"M16-GAP-00885":{"line":884,"offset":152208,"length":169,"previous":"M16-GAP-00884","next":"M16-GAP-00886"},"M16-GAP-00886":{"line":885,"offset":152377,"length":176,"previous":"M16-GAP-00885","next":"M16-GAP-00887"},"M16-GAP-00887":{"line":886,"offset":152553,"length":174,"previous":"M16-GAP-00886","next":"M16-GAP-00888"},"M16-GAP-00888":{"line":887,"offset":152727,"length":171,"previous":"M16-GAP-00887","next":"M16-GAP-00889"},"M16-GAP-00889":{"line":888,"offset":152898,"length":172,"previous":"M16-GAP-00888","next":"M16-GAP-00890"},"M16-GAP-00890":{"line":889,"offset":153070,"length":178,"previous":"M16-GAP-00889","next":"M16-GAP-00891"},"M16-GAP-00891":{"line":890,"offset":153248,"length":173,"previous":"M16-GAP-00890","next":"M16-GAP-00892"},"M16-GAP-00892":{"line":891,"offset":153421,"length":174,"previous":"M16-GAP-00891","next":"M16-GAP-00893"},"M16-GAP-00893":{"line":892,"offset":153595,"length":170,"previous":"M16-GAP-00892","next":"M16-GAP-00894"},"M16-GAP-00894":{"line":893,"offset":153765,"length":168,"previous":"M16-GAP-00893","next":"M16-GAP-00895"},"M16-GAP-00895":{"line":894,"offset":153933,"length":161,"previous":"M16-GAP-00894","next":"M16-GAP-00896"},"M16-GAP-00896":{"line":895,"offset":154094,"length":178,"previous":"M16-GAP-00895","next":"M16-GAP-00897"},"M16-GAP-00897":{"line":896,"offset":154272,"length":163,"previous":"M16-GAP-00896","next":"M16-GAP-00898"},"M16-GAP-00898":{"line":897,"offset":154435,"length":175,"previous":"M16-GAP-00897","next":"M16-GAP-00899"},"M16-GAP-00899":{"line":898,"offset":154610,"length":160,"previous":"M16-GAP-00898","next":"M16-GAP-00900"},"M16-GAP-00900":{"line":899,"offset":154770,"length":161,"previous":"M16-GAP-00899","next":"M16-GAP-00901"},"M16-GAP-00901":{"line":900,"offset":154931,"length":168,"previous":"M16-GAP-00900","next":"M16-GAP-00902"},"M16-GAP-00902":{"line":901,"offset":155099,"length":161,"previous":"M16-GAP-00901","next":"M16-GAP-00903"},"M16-GAP-00903":{"line":902,"offset":155260,"length":170,"previous":"M16-GAP-00902","next":"M16-GAP-00904"},"M16-GAP-00904":{"line":903,"offset":155430,"length":169,"previous":"M16-GAP-00903","next":"M16-GAP-00905"},"M16-GAP-00905":{"line":904,"offset":155599,"length":172,"previous":"M16-GAP-00904","next":"M16-GAP-00906"},"M16-GAP-00906":{"line":905,"offset":155771,"length":163,"previous":"M16-GAP-00905","next":"M16-GAP-00907"},"M16-GAP-00907":{"line":906,"offset":155934,"length":175,"previous":"M16-GAP-00906","next":"M16-GAP-00908"},"M16-GAP-00908":{"line":907,"offset":156109,"length":170,"previous":"M16-GAP-00907","next":"M16-GAP-00909"},"M16-GAP-00909":{"line":908,"offset":156279,"length":164,"previous":"M16-GAP-00908","next":"M16-GAP-00910"},"M16-GAP-00910":{"line":909,"offset":156443,"length":163,"previous":"M16-GAP-00909","next":"M16-GAP-00911"},"M16-GAP-00911":{"line":910,"offset":156606,"length":174,"previous":"M16-GAP-00910","next":"M16-GAP-00912"},"M16-GAP-00912":{"line":911,"offset":156780,"length":163,"previous":"M16-GAP-00911","next":"M16-GAP-00913"},"M16-GAP-00913":{"line":912,"offset":156943,"length":168,"previous":"M16-GAP-00912","next":"M16-GAP-00914"},"M16-GAP-00914":{"line":913,"offset":157111,"length":161,"previous":"M16-GAP-00913","next":"M16-GAP-00915"},"M16-GAP-00915":{"line":914,"offset":157272,"length":174,"previous":"M16-GAP-00914","next":"M16-GAP-00916"},"M16-GAP-00916":{"line":915,"offset":157446,"length":164,"previous":"M16-GAP-00915","next":"M16-GAP-00917"},"M16-GAP-00917":{"line":916,"offset":157610,"length":170,"previous":"M16-GAP-00916","next":"M16-GAP-00918"},"M16-GAP-00918":{"line":917,"offset":157780,"length":165,"previous":"M16-GAP-00917","next":"M16-GAP-00919"},"M16-GAP-00919":{"line":918,"offset":157945,"length":166,"previous":"M16-GAP-00918","next":"M16-GAP-00920"},"M16-GAP-00920":{"line":919,"offset":158111,"length":168,"previous":"M16-GAP-00919","next":"M16-GAP-00921"},"M16-GAP-00921":{"line":920,"offset":158279,"length":163,"previous":"M16-GAP-00920","next":"M16-GAP-00922"},"M16-GAP-00922":{"line":921,"offset":158442,"length":165,"previous":"M16-GAP-00921","next":"M16-GAP-00923"},"M16-GAP-00923":{"line":922,"offset":158607,"length":175,"previous":"M16-GAP-00922","next":"M16-GAP-00924"},"M16-GAP-00924":{"line":923,"offset":158782,"length":175,"previous":"M16-GAP-00923","next":"M16-GAP-00925"},"M16-GAP-00925":{"line":924,"offset":158957,"length":166,"previous":"M16-GAP-00924","next":"M16-GAP-00926"},"M16-GAP-00926":{"line":925,"offset":159123,"length":165,"previous":"M16-GAP-00925","next":"M16-GAP-00927"},"M16-GAP-00927":{"line":926,"offset":159288,"length":170,"previous":"M16-GAP-00926","next":"M16-GAP-00928"},"M16-GAP-00928":{"line":927,"offset":159458,"length":166,"previous":"M16-GAP-00927","next":"M16-GAP-00929"},"M16-GAP-00929":{"line":928,"offset":159624,"length":173,"previous":"M16-GAP-00928","next":"M16-GAP-00930"},"M16-GAP-00930":{"line":929,"offset":159797,"length":169,"previous":"M16-GAP-00929","next":"M16-GAP-00931"},"M16-GAP-00931":{"line":930,"offset":159966,"length":170,"previous":"M16-GAP-00930","next":"M16-GAP-00932"},"M16-GAP-00932":{"line":931,"offset":160136,"length":172,"previous":"M16-GAP-00931","next":"M16-GAP-00933"},"M16-GAP-00933":{"line":932,"offset":160308,"length":166,"previous":"M16-GAP-00932","next":"M16-GAP-00934"},"M16-GAP-00934":{"line":933,"offset":160474,"length":167,"previous":"M16-GAP-00933","next":"M16-GAP-00935"},"M16-GAP-00935":{"line":934,"offset":160641,"length":167,"previous":"M16-GAP-00934","next":"M16-GAP-00936"},"M16-GAP-00936":{"line":935,"offset":160808,"length":168,"previous":"M16-GAP-00935","next":"M16-GAP-00937"},"M16-GAP-00937":{"line":936,"offset":160976,"length":167,"previous":"M16-GAP-00936","next":"M16-GAP-00938"},"M16-GAP-00938":{"line":937,"offset":161143,"length":169,"previous":"M16-GAP-00937","next":"M16-GAP-00939"},"M16-GAP-00939":{"line":938,"offset":161312,"length":169,"previous":"M16-GAP-00938","next":"M16-GAP-00940"},"M16-GAP-00940":{"line":939,"offset":161481,"length":178,"previous":"M16-GAP-00939","next":"M16-GAP-00941"},"M16-GAP-00941":{"line":940,"offset":161659,"length":166,"previous":"M16-GAP-00940","next":"M16-GAP-00942"},"M16-GAP-00942":{"line":941,"offset":161825,"length":166,"previous":"M16-GAP-00941","next":"M16-GAP-00943"},"M16-GAP-00943":{"line":942,"offset":161991,"length":167,"previous":"M16-GAP-00942","next":"M16-GAP-00944"},"M16-GAP-00944":{"line":943,"offset":162158,"length":163,"previous":"M16-GAP-00943","next":"M16-GAP-00945"},"M16-GAP-00945":{"line":944,"offset":162321,"length":171,"previous":"M16-GAP-00944","next":"M16-GAP-00946"},"M16-GAP-00946":{"line":945,"offset":162492,"length":169,"previous":"M16-GAP-00945","next":"M16-GAP-00947"},"M16-GAP-00947":{"line":946,"offset":162661,"length":170,"previous":"M16-GAP-00946","next":"M16-GAP-00948"},"M16-GAP-00948":{"line":947,"offset":162831,"length":172,"previous":"M16-GAP-00947","next":"M16-GAP-00949"},"M16-GAP-00949":{"line":948,"offset":163003,"length":170,"previous":"M16-GAP-00948","next":"M16-GAP-00950"},"M16-GAP-00950":{"line":949,"offset":163173,"length":172,"previous":"M16-GAP-00949","next":"M16-GAP-00951"},"M16-GAP-00951":{"line":950,"offset":163345,"length":175,"previous":"M16-GAP-00950","next":"M16-GAP-00952"},"M16-GAP-00952":{"line":951,"offset":163520,"length":161,"previous":"M16-GAP-00951","next":"M16-GAP-00953"},"M16-GAP-00953":{"line":952,"offset":163681,"length":169,"previous":"M16-GAP-00952","next":"M16-GAP-00954"},"M16-GAP-00954":{"line":953,"offset":163850,"length":164,"previous":"M16-GAP-00953","next":"M16-GAP-00955"},"M16-GAP-00955":{"line":954,"offset":164014,"length":167,"previous":"M16-GAP-00954","next":"M16-GAP-00956"},"M16-GAP-00956":{"line":955,"offset":164181,"length":174,"previous":"M16-GAP-00955","next":"M16-GAP-00957"},"M16-GAP-00957":{"line":956,"offset":164355,"length":162,"previous":"M16-GAP-00956","next":"M16-GAP-00958"},"M16-GAP-00958":{"line":957,"offset":164517,"length":164,"previous":"M16-GAP-00957","next":"M16-GAP-00959"},"M16-GAP-00959":{"line":958,"offset":164681,"length":164,"previous":"M16-GAP-00958","next":"M16-GAP-00960"},"M16-GAP-00960":{"line":959,"offset":164845,"length":168,"previous":"M16-GAP-00959","next":"M16-GAP-00961"},"M16-GAP-00961":{"line":960,"offset":165013,"length":168,"previous":"M16-GAP-00960","next":"M16-GAP-00962"},"M16-GAP-00962":{"line":961,"offset":165181,"length":174,"previous":"M16-GAP-00961","next":"M16-GAP-00963"},"M16-GAP-00963":{"line":962,"offset":165355,"length":174,"previous":"M16-GAP-00962","next":"M16-GAP-00964"},"M16-GAP-00964":{"line":963,"offset":165529,"length":180,"previous":"M16-GAP-00963","next":"M16-GAP-00965"},"M16-GAP-00965":{"line":964,"offset":165709,"length":166,"previous":"M16-GAP-00964","next":"M16-GAP-00966"},"M16-GAP-00966":{"line":965,"offset":165875,"length":172,"previous":"M16-GAP-00965","next":"M16-GAP-00967"},"M16-GAP-00967":{"line":966,"offset":166047,"length":168,"previous":"M16-GAP-00966","next":"M16-GAP-00968"},"M16-GAP-00968":{"line":967,"offset":166215,"length":169,"previous":"M16-GAP-00967","next":"M16-GAP-00969"},"M16-GAP-00969":{"line":968,"offset":166384,"length":162,"previous":"M16-GAP-00968","next":"M16-GAP-00970"},"M16-GAP-00970":{"line":969,"offset":166546,"length":165,"previous":"M16-GAP-00969","next":"M16-GAP-00971"},"M16-GAP-00971":{"line":970,"offset":166711,"length":170,"previous":"M16-GAP-00970","next":"M16-GAP-00972"},"M16-GAP-00972":{"line":971,"offset":166881,"length":176,"previous":"M16-GAP-00971","next":"M16-GAP-00973"},"M16-GAP-00973":{"line":972,"offset":167057,"length":171,"previous":"M16-GAP-00972","next":"M16-GAP-00974"},"M16-GAP-00974":{"line":973,"offset":167228,"length":171,"previous":"M16-GAP-00973","next":"M16-GAP-00975"},"M16-GAP-00975":{"line":974,"offset":167399,"length":169,"previous":"M16-GAP-00974","next":"M16-GAP-00976"},"M16-GAP-00976":{"line":975,"offset":167568,"length":166,"previous":"M16-GAP-00975","next":"M16-GAP-00977"},"M16-GAP-00977":{"line":976,"offset":167734,"length":165,"previous":"M16-GAP-00976","next":"M16-GAP-00978"},"M16-GAP-00978":{"line":977,"offset":167899,"length":168,"previous":"M16-GAP-00977","next":"M16-GAP-00979"},"M16-GAP-00979":{"line":978,"offset":168067,"length":169,"previous":"M16-GAP-00978","next":"M16-GAP-00980"},"M16-GAP-00980":{"line":979,"offset":168236,"length":159,"previous":"M16-GAP-00979","next":"M16-GAP-00981"},"M16-GAP-00981":{"line":980,"offset":168395,"length":179,"previous":"M16-GAP-00980","next":"M16-GAP-00982"},"M16-GAP-00982":{"line":981,"offset":168574,"length":168,"previous":"M16-GAP-00981","next":"M16-GAP-00983"},"M16-GAP-00983":{"line":982,"offset":168742,"length":166,"previous":"M16-GAP-00982","next":"M16-GAP-00984"},"M16-GAP-00984":{"line":983,"offset":168908,"length":169,"previous":"M16-GAP-00983","next":"M16-GAP-00985"},"M16-GAP-00985":{"line":984,"offset":169077,"length":176,"previous":"M16-GAP-00984","next":"M16-GAP-00986"},"M16-GAP-00986":{"line":985,"offset":169253,"length":176,"previous":"M16-GAP-00985","next":"M16-GAP-00987"},"M16-GAP-00987":{"line":986,"offset":169429,"length":162,"previous":"M16-GAP-00986","next":"M16-GAP-00988"},"M16-GAP-00988":{"line":987,"offset":169591,"length":166,"previous":"M16-GAP-00987","next":"M16-GAP-00989"},"M16-GAP-00989":{"line":988,"offset":169757,"length":166,"previous":"M16-GAP-00988","next":"M16-GAP-00990"},"M16-GAP-00990":{"line":989,"offset":169923,"length":169,"previous":"M16-GAP-00989","next":"M16-GAP-00991"},"M16-GAP-00991":{"line":990,"offset":170092,"length":168,"previous":"M16-GAP-00990","next":"M16-GAP-00992"},"M16-GAP-00992":{"line":991,"offset":170260,"length":167,"previous":"M16-GAP-00991","next":"M16-GAP-00993"},"M16-GAP-00993":{"line":992,"offset":170427,"length":169,"previous":"M16-GAP-00992","next":"M16-GAP-00994"},"M16-GAP-00994":{"line":993,"offset":170596,"length":174,"previous":"M16-GAP-00993","next":"M16-GAP-00995"},"M16-GAP-00995":{"line":994,"offset":170770,"length":167,"previous":"M16-GAP-00994","next":"M16-GAP-00996"},"M16-GAP-00996":{"line":995,"offset":170937,"length":171,"previous":"M16-GAP-00995","next":"M16-GAP-00997"},"M16-GAP-00997":{"line":996,"offset":171108,"length":179,"previous":"M16-GAP-00996","next":"M16-GAP-00998"},"M16-GAP-00998":{"line":997,"offset":171287,"length":172,"previous":"M16-GAP-00997","next":"M16-GAP-00999"},"M16-GAP-00999":{"line":998,"offset":171459,"length":171,"previous":"M16-GAP-00998","next":"M16-GAP-01000"},"M16-GAP-01000":{"line":999,"offset":171630,"length":167,"previous":"M16-GAP-00999","next":"M16-GAP-01001"},"M16-GAP-01001":{"line":1000,"offset":171797,"length":178,"previous":"M16-GAP-01000","next":"M16-GAP-01002"},"M16-GAP-01002":{"line":1001,"offset":171975,"length":172,"previous":"M16-GAP-01001","next":"M16-GAP-01003"},"M16-GAP-01003":{"line":1002,"offset":172147,"length":164,"previous":"M16-GAP-01002","next":"M16-GAP-01004"},"M16-GAP-01004":{"line":1003,"offset":172311,"length":163,"previous":"M16-GAP-01003","next":"M16-GAP-01005"},"M16-GAP-01005":{"line":1004,"offset":172474,"length":165,"previous":"M16-GAP-01004","next":"M16-GAP-01006"},"M16-GAP-01006":{"line":1005,"offset":172639,"length":173,"previous":"M16-GAP-01005","next":"M16-GAP-01007"},"M16-GAP-01007":{"line":1006,"offset":172812,"length":176,"previous":"M16-GAP-01006","next":"M16-GAP-01008"},"M16-GAP-01008":{"line":1007,"offset":172988,"length":171,"previous":"M16-GAP-01007","next":"M16-GAP-01009"},"M16-GAP-01009":{"line":1008,"offset":173159,"length":171,"previous":"M16-GAP-01008","next":"M16-GAP-01010"},"M16-GAP-01010":{"line":1009,"offset":173330,"length":173,"previous":"M16-GAP-01009","next":"M16-GAP-01011"},"M16-GAP-01011":{"line":1010,"offset":173503,"length":167,"previous":"M16-GAP-01010","next":"M16-GAP-01012"},"M16-GAP-01012":{"line":1011,"offset":173670,"length":180,"previous":"M16-GAP-01011","next":"M16-GAP-01013"},"M16-GAP-01013":{"line":1012,"offset":173850,"length":171,"previous":"M16-GAP-01012","next":"M16-GAP-01014"},"M16-GAP-01014":{"line":1013,"offset":174021,"length":169,"previous":"M16-GAP-01013","next":"M16-GAP-01015"},"M16-GAP-01015":{"line":1014,"offset":174190,"length":171,"previous":"M16-GAP-01014","next":"M16-GAP-01016"},"M16-GAP-01016":{"line":1015,"offset":174361,"length":169,"previous":"M16-GAP-01015","next":"M16-GAP-01017"},"M16-GAP-01017":{"line":1016,"offset":174530,"length":161,"previous":"M16-GAP-01016","next":"M16-GAP-01018"},"M16-GAP-01018":{"line":1017,"offset":174691,"length":162,"previous":"M16-GAP-01017","next":"M16-GAP-01019"},"M16-GAP-01019":{"line":1018,"offset":174853,"length":172,"previous":"M16-GAP-01018","next":"M16-GAP-01020"},"M16-GAP-01020":{"line":1019,"offset":175025,"length":173,"previous":"M16-GAP-01019","next":"M16-GAP-01021"},"M16-GAP-01021":{"line":1020,"offset":175198,"length":167,"previous":"M16-GAP-01020","next":"M16-GAP-01022"},"M16-GAP-01022":{"line":1021,"offset":175365,"length":170,"previous":"M16-GAP-01021","next":"M16-GAP-01023"},"M16-GAP-01023":{"line":1022,"offset":175535,"length":169,"previous":"M16-GAP-01022","next":"M16-GAP-01024"},"M16-GAP-01024":{"line":1023,"offset":175704,"length":167,"previous":"M16-GAP-01023","next":"M16-GAP-01025"},"M16-GAP-01025":{"line":1024,"offset":175871,"length":190,"previous":"M16-GAP-01024","next":"M16-GAP-01026"},"M16-GAP-01026":{"line":1025,"offset":176061,"length":192,"previous":"M16-GAP-01025","next":"M16-GAP-01027"},"M16-GAP-01027":{"line":1026,"offset":176253,"length":182,"previous":"M16-GAP-01026","next":"M16-GAP-01028"},"M16-GAP-01028":{"line":1027,"offset":176435,"length":177,"previous":"M16-GAP-01027","next":"M16-GAP-01029"},"M16-GAP-01029":{"line":1028,"offset":176612,"length":175,"previous":"M16-GAP-01028","next":"M16-GAP-01030"},"M16-GAP-01030":{"line":1029,"offset":176787,"length":177,"previous":"M16-GAP-01029","next":"M16-GAP-01031"},"M16-GAP-01031":{"line":1030,"offset":176964,"length":164,"previous":"M16-GAP-01030","next":"M16-GAP-01032"},"M16-GAP-01032":{"line":1031,"offset":177128,"length":162,"previous":"M16-GAP-01031","next":"M16-GAP-01033"},"M16-GAP-01033":{"line":1032,"offset":177290,"length":171,"previous":"M16-GAP-01032","next":"M16-GAP-01034"},"M16-GAP-01034":{"line":1033,"offset":177461,"length":168,"previous":"M16-GAP-01033","next":"M16-GAP-01035"},"M16-GAP-01035":{"line":1034,"offset":177629,"length":175,"previous":"M16-GAP-01034","next":"M16-GAP-01036"},"M16-GAP-01036":{"line":1035,"offset":177804,"length":170,"previous":"M16-GAP-01035","next":"M16-GAP-01037"},"M16-GAP-01037":{"line":1036,"offset":177974,"length":170,"previous":"M16-GAP-01036","next":"M16-GAP-01038"},"M16-GAP-01038":{"line":1037,"offset":178144,"length":172,"previous":"M16-GAP-01037","next":"M16-GAP-01039"},"M16-GAP-01039":{"line":1038,"offset":178316,"length":169,"previous":"M16-GAP-01038","next":"M16-GAP-01040"},"M16-GAP-01040":{"line":1039,"offset":178485,"length":170,"previous":"M16-GAP-01039","next":"M16-GAP-01041"},"M16-GAP-01041":{"line":1040,"offset":178655,"length":176,"previous":"M16-GAP-01040","next":"M16-GAP-01042"},"M16-GAP-01042":{"line":1041,"offset":178831,"length":165,"previous":"M16-GAP-01041","next":"M16-GAP-01043"},"M16-GAP-01043":{"line":1042,"offset":178996,"length":170,"previous":"M16-GAP-01042","next":"M16-GAP-01044"},"M16-GAP-01044":{"line":1043,"offset":179166,"length":169,"previous":"M16-GAP-01043","next":"M16-GAP-01045"},"M16-GAP-01045":{"line":1044,"offset":179335,"length":169,"previous":"M16-GAP-01044","next":"M16-GAP-01046"},"M16-GAP-01046":{"line":1045,"offset":179504,"length":167,"previous":"M16-GAP-01045","next":"M16-GAP-01047"},"M16-GAP-01047":{"line":1046,"offset":179671,"length":166,"previous":"M16-GAP-01046","next":"M16-GAP-01048"},"M16-GAP-01048":{"line":1047,"offset":179837,"length":171,"previous":"M16-GAP-01047","next":"M16-GAP-01049"},"M16-GAP-01049":{"line":1048,"offset":180008,"length":174,"previous":"M16-GAP-01048","next":"M16-GAP-01050"},"M16-GAP-01050":{"line":1049,"offset":180182,"length":171,"previous":"M16-GAP-01049","next":"M16-GAP-01051"},"M16-GAP-01051":{"line":1050,"offset":180353,"length":176,"previous":"M16-GAP-01050","next":"M16-GAP-01052"},"M16-GAP-01052":{"line":1051,"offset":180529,"length":175,"previous":"M16-GAP-01051","next":"M16-GAP-01053"},"M16-GAP-01053":{"line":1052,"offset":180704,"length":174,"previous":"M16-GAP-01052","next":"M16-GAP-01054"},"M16-GAP-01054":{"line":1053,"offset":180878,"length":175,"previous":"M16-GAP-01053","next":"M16-GAP-01055"},"M16-GAP-01055":{"line":1054,"offset":181053,"length":174,"previous":"M16-GAP-01054","next":"M16-GAP-01056"},"M16-GAP-01056":{"line":1055,"offset":181227,"length":172,"previous":"M16-GAP-01055","next":"M16-GAP-01057"},"M16-GAP-01057":{"line":1056,"offset":181399,"length":170,"previous":"M16-GAP-01056","next":"M16-GAP-01058"},"M16-GAP-01058":{"line":1057,"offset":181569,"length":175,"previous":"M16-GAP-01057","next":"M16-GAP-01059"},"M16-GAP-01059":{"line":1058,"offset":181744,"length":184,"previous":"M16-GAP-01058","next":"M16-GAP-01060"},"M16-GAP-01060":{"line":1059,"offset":181928,"length":170,"previous":"M16-GAP-01059","next":"M16-GAP-01061"},"M16-GAP-01061":{"line":1060,"offset":182098,"length":177,"previous":"M16-GAP-01060","next":"M16-GAP-01062"},"M16-GAP-01062":{"line":1061,"offset":182275,"length":175,"previous":"M16-GAP-01061","next":"M16-GAP-01063"},"M16-GAP-01063":{"line":1062,"offset":182450,"length":172,"previous":"M16-GAP-01062","next":"M16-GAP-01064"},"M16-GAP-01064":{"line":1063,"offset":182622,"length":175,"previous":"M16-GAP-01063","next":"M16-GAP-01065"},"M16-GAP-01065":{"line":1064,"offset":182797,"length":180,"previous":"M16-GAP-01064","next":"M16-GAP-01066"},"M16-GAP-01066":{"line":1065,"offset":182977,"length":172,"previous":"M16-GAP-01065","next":"M16-GAP-01067"},"M16-GAP-01067":{"line":1066,"offset":183149,"length":174,"previous":"M16-GAP-01066","next":"M16-GAP-01068"},"M16-GAP-01068":{"line":1067,"offset":183323,"length":160,"previous":"M16-GAP-01067","next":"M16-GAP-01069"},"M16-GAP-01069":{"line":1068,"offset":183483,"length":165,"previous":"M16-GAP-01068","next":"M16-GAP-01070"},"M16-GAP-01070":{"line":1069,"offset":183648,"length":166,"previous":"M16-GAP-01069","next":"M16-GAP-01071"},"M16-GAP-01071":{"line":1070,"offset":183814,"length":163,"previous":"M16-GAP-01070","next":"M16-GAP-01072"},"M16-GAP-01072":{"line":1071,"offset":183977,"length":168,"previous":"M16-GAP-01071","next":"M16-GAP-01073"},"M16-GAP-01073":{"line":1072,"offset":184145,"length":178,"previous":"M16-GAP-01072","next":"M16-GAP-01074"},"M16-GAP-01074":{"line":1073,"offset":184323,"length":160,"previous":"M16-GAP-01073","next":"M16-GAP-01075"},"M16-GAP-01075":{"line":1074,"offset":184483,"length":161,"previous":"M16-GAP-01074","next":"M16-GAP-01076"},"M16-GAP-01076":{"line":1075,"offset":184644,"length":165,"previous":"M16-GAP-01075","next":"M16-GAP-01077"},"M16-GAP-01077":{"line":1076,"offset":184809,"length":173,"previous":"M16-GAP-01076","next":"M16-GAP-01078"},"M16-GAP-01078":{"line":1077,"offset":184982,"length":169,"previous":"M16-GAP-01077","next":"M16-GAP-01079"},"M16-GAP-01079":{"line":1078,"offset":185151,"length":166,"previous":"M16-GAP-01078","next":"M16-GAP-01080"},"M16-GAP-01080":{"line":1079,"offset":185317,"length":167,"previous":"M16-GAP-01079","next":"M16-GAP-01081"},"M16-GAP-01081":{"line":1080,"offset":185484,"length":170,"previous":"M16-GAP-01080","next":"M16-GAP-01082"},"M16-GAP-01082":{"line":1081,"offset":185654,"length":163,"previous":"M16-GAP-01081","next":"M16-GAP-01083"},"M16-GAP-01083":{"line":1082,"offset":185817,"length":169,"previous":"M16-GAP-01082","next":"M16-GAP-01084"},"M16-GAP-01084":{"line":1083,"offset":185986,"length":175,"previous":"M16-GAP-01083","next":"M16-GAP-01085"},"M16-GAP-01085":{"line":1084,"offset":186161,"length":175,"previous":"M16-GAP-01084","next":"M16-GAP-01086"},"M16-GAP-01086":{"line":1085,"offset":186336,"length":165,"previous":"M16-GAP-01085","next":"M16-GAP-01087"},"M16-GAP-01087":{"line":1086,"offset":186501,"length":166,"previous":"M16-GAP-01086","next":"M16-GAP-01088"},"M16-GAP-01088":{"line":1087,"offset":186667,"length":161,"previous":"M16-GAP-01087","next":"M16-GAP-01089"},"M16-GAP-01089":{"line":1088,"offset":186828,"length":169,"previous":"M16-GAP-01088","next":"M16-GAP-01090"},"M16-GAP-01090":{"line":1089,"offset":186997,"length":177,"previous":"M16-GAP-01089","next":"M16-GAP-01091"},"M16-GAP-01091":{"line":1090,"offset":187174,"length":179,"previous":"M16-GAP-01090","next":"M16-GAP-01092"},"M16-GAP-01092":{"line":1091,"offset":187353,"length":169,"previous":"M16-GAP-01091","next":"M16-GAP-01093"},"M16-GAP-01093":{"line":1092,"offset":187522,"length":173,"previous":"M16-GAP-01092","next":"M16-GAP-01094"},"M16-GAP-01094":{"line":1093,"offset":187695,"length":179,"previous":"M16-GAP-01093","next":"M16-GAP-01095"},"M16-GAP-01095":{"line":1094,"offset":187874,"length":169,"previous":"M16-GAP-01094","next":"M16-GAP-01096"},"M16-GAP-01096":{"line":1095,"offset":188043,"length":160,"previous":"M16-GAP-01095","next":"M16-GAP-01097"},"M16-GAP-01097":{"line":1096,"offset":188203,"length":182,"previous":"M16-GAP-01096","next":"M16-GAP-01098"},"M16-GAP-01098":{"line":1097,"offset":188385,"length":184,"previous":"M16-GAP-01097","next":"M16-GAP-01099"},"M16-GAP-01099":{"line":1098,"offset":188569,"length":188,"previous":"M16-GAP-01098","next":"M16-GAP-01100"},"M16-GAP-01100":{"line":1099,"offset":188757,"length":180,"previous":"M16-GAP-01099","next":"M16-GAP-01101"},"M16-GAP-01101":{"line":1100,"offset":188937,"length":185,"previous":"M16-GAP-01100","next":"M16-GAP-01102"},"M16-GAP-01102":{"line":1101,"offset":189122,"length":181,"previous":"M16-GAP-01101","next":"M16-GAP-01103"},"M16-GAP-01103":{"line":1102,"offset":189303,"length":186,"previous":"M16-GAP-01102","next":"M16-GAP-01104"},"M16-GAP-01104":{"line":1103,"offset":189489,"length":185,"previous":"M16-GAP-01103","next":"M16-GAP-01105"},"M16-GAP-01105":{"line":1104,"offset":189674,"length":190,"previous":"M16-GAP-01104","next":"M16-GAP-01106"},"M16-GAP-01106":{"line":1105,"offset":189864,"length":176,"previous":"M16-GAP-01105","next":"M16-GAP-01107"},"M16-GAP-01107":{"line":1106,"offset":190040,"length":174,"previous":"M16-GAP-01106","next":"M16-GAP-01108"},"M16-GAP-01108":{"line":1107,"offset":190214,"length":174,"previous":"M16-GAP-01107","next":"M16-GAP-01109"},"M16-GAP-01109":{"line":1108,"offset":190388,"length":180,"previous":"M16-GAP-01108","next":"M16-GAP-01110"},"M16-GAP-01110":{"line":1109,"offset":190568,"length":178,"previous":"M16-GAP-01109","next":"M16-GAP-01111"},"M16-GAP-01111":{"line":1110,"offset":190746,"length":174,"previous":"M16-GAP-01110","next":"M16-GAP-01112"},"M16-GAP-01112":{"line":1111,"offset":190920,"length":180,"previous":"M16-GAP-01111","next":"M16-GAP-01113"},"M16-GAP-01113":{"line":1112,"offset":191100,"length":176,"previous":"M16-GAP-01112","next":"M16-GAP-01114"},"M16-GAP-01114":{"line":1113,"offset":191276,"length":175,"previous":"M16-GAP-01113","next":"M16-GAP-01115"},"M16-GAP-01115":{"line":1114,"offset":191451,"length":175,"previous":"M16-GAP-01114","next":"M16-GAP-01116"},"M16-GAP-01116":{"line":1115,"offset":191626,"length":179,"previous":"M16-GAP-01115","next":"M16-GAP-01117"},"M16-GAP-01117":{"line":1116,"offset":191805,"length":177,"previous":"M16-GAP-01116","next":"M16-GAP-01118"},"M16-GAP-01118":{"line":1117,"offset":191982,"length":170,"previous":"M16-GAP-01117","next":"M16-GAP-01119"},"M16-GAP-01119":{"line":1118,"offset":192152,"length":170,"previous":"M16-GAP-01118","next":"M16-GAP-01120"},"M16-GAP-01120":{"line":1119,"offset":192322,"length":180,"previous":"M16-GAP-01119","next":"M16-GAP-01121"},"M16-GAP-01121":{"line":1120,"offset":192502,"length":162,"previous":"M16-GAP-01120","next":"M16-GAP-01122"},"M16-GAP-01122":{"line":1121,"offset":192664,"length":159,"previous":"M16-GAP-01121","next":"M16-GAP-01123"},"M16-GAP-01123":{"line":1122,"offset":192823,"length":164,"previous":"M16-GAP-01122","next":"M16-GAP-01124"},"M16-GAP-01124":{"line":1123,"offset":192987,"length":169,"previous":"M16-GAP-01123","next":"M16-GAP-01125"},"M16-GAP-01125":{"line":1124,"offset":193156,"length":164,"previous":"M16-GAP-01124","next":"M16-GAP-01126"},"M16-GAP-01126":{"line":1125,"offset":193320,"length":161,"previous":"M16-GAP-01125","next":"M16-GAP-01127"},"M16-GAP-01127":{"line":1126,"offset":193481,"length":166,"previous":"M16-GAP-01126","next":"M16-GAP-01128"},"M16-GAP-01128":{"line":1127,"offset":193647,"length":167,"previous":"M16-GAP-01127","next":"M16-GAP-01129"},"M16-GAP-01129":{"line":1128,"offset":193814,"length":182,"previous":"M16-GAP-01128","next":"M16-GAP-01130"},"M16-GAP-01130":{"line":1129,"offset":193996,"length":175,"previous":"M16-GAP-01129","next":"M16-GAP-01131"},"M16-GAP-01131":{"line":1130,"offset":194171,"length":176,"previous":"M16-GAP-01130","next":"M16-GAP-01132"},"M16-GAP-01132":{"line":1131,"offset":194347,"length":178,"previous":"M16-GAP-01131","next":"M16-GAP-01133"},"M16-GAP-01133":{"line":1132,"offset":194525,"length":178,"previous":"M16-GAP-01132","next":"M16-GAP-01134"},"M16-GAP-01134":{"line":1133,"offset":194703,"length":176,"previous":"M16-GAP-01133","next":"M16-GAP-01135"},"M16-GAP-01135":{"line":1134,"offset":194879,"length":177,"previous":"M16-GAP-01134","next":"M16-GAP-01136"},"M16-GAP-01136":{"line":1135,"offset":195056,"length":167,"previous":"M16-GAP-01135","next":"M16-GAP-01137"},"M16-GAP-01137":{"line":1136,"offset":195223,"length":169,"previous":"M16-GAP-01136","next":"M16-GAP-01138"},"M16-GAP-01138":{"line":1137,"offset":195392,"length":174,"previous":"M16-GAP-01137","next":"M16-GAP-01139"},"M16-GAP-01139":{"line":1138,"offset":195566,"length":168,"previous":"M16-GAP-01138","next":"M16-GAP-01140"},"M16-GAP-01140":{"line":1139,"offset":195734,"length":169,"previous":"M16-GAP-01139","next":"M16-GAP-01141"},"M16-GAP-01141":{"line":1140,"offset":195903,"length":167,"previous":"M16-GAP-01140","next":"M16-GAP-01142"},"M16-GAP-01142":{"line":1141,"offset":196070,"length":167,"previous":"M16-GAP-01141","next":"M16-GAP-01143"},"M16-GAP-01143":{"line":1142,"offset":196237,"length":172,"previous":"M16-GAP-01142","next":"M16-GAP-01144"},"M16-GAP-01144":{"line":1143,"offset":196409,"length":175,"previous":"M16-GAP-01143","next":"M16-GAP-01145"},"M16-GAP-01145":{"line":1144,"offset":196584,"length":166,"previous":"M16-GAP-01144","next":"M16-GAP-01146"},"M16-GAP-01146":{"line":1145,"offset":196750,"length":172,"previous":"M16-GAP-01145","next":"M16-GAP-01147"},"M16-GAP-01147":{"line":1146,"offset":196922,"length":169,"previous":"M16-GAP-01146","next":"M16-GAP-01148"},"M16-GAP-01148":{"line":1147,"offset":197091,"length":170,"previous":"M16-GAP-01147","next":"M16-GAP-01149"},"M16-GAP-01149":{"line":1148,"offset":197261,"length":177,"previous":"M16-GAP-01148","next":"M16-GAP-01150"},"M16-GAP-01150":{"line":1149,"offset":197438,"length":172,"previous":"M16-GAP-01149","next":"M16-GAP-01151"},"M16-GAP-01151":{"line":1150,"offset":197610,"length":164,"previous":"M16-GAP-01150","next":"M16-GAP-01152"},"M16-GAP-01152":{"line":1151,"offset":197774,"length":178,"previous":"M16-GAP-01151","next":"M16-GAP-01153"},"M16-GAP-01153":{"line":1152,"offset":197952,"length":178,"previous":"M16-GAP-01152","next":"M16-GAP-01154"},"M16-GAP-01154":{"line":1153,"offset":198130,"length":178,"previous":"M16-GAP-01153","next":"M16-GAP-01155"},"M16-GAP-01155":{"line":1154,"offset":198308,"length":174,"previous":"M16-GAP-01154","next":"M16-GAP-01156"},"M16-GAP-01156":{"line":1155,"offset":198482,"length":176,"previous":"M16-GAP-01155","next":"M16-GAP-01157"},"M16-GAP-01157":{"line":1156,"offset":198658,"length":170,"previous":"M16-GAP-01156","next":"M16-GAP-01158"},"M16-GAP-01158":{"line":1157,"offset":198828,"length":164,"previous":"M16-GAP-01157","next":"M16-GAP-01159"},"M16-GAP-01159":{"line":1158,"offset":198992,"length":169,"previous":"M16-GAP-01158","next":"M16-GAP-01160"},"M16-GAP-01160":{"line":1159,"offset":199161,"length":179,"previous":"M16-GAP-01159","next":"M16-GAP-01161"},"M16-GAP-01161":{"line":1160,"offset":199340,"length":160,"previous":"M16-GAP-01160","next":"M16-GAP-01162"},"M16-GAP-01162":{"line":1161,"offset":199500,"length":161,"previous":"M16-GAP-01161","next":"M16-GAP-01163"},"M16-GAP-01163":{"line":1162,"offset":199661,"length":169,"previous":"M16-GAP-01162","next":"M16-GAP-01164"},"M16-GAP-01164":{"line":1163,"offset":199830,"length":165,"previous":"M16-GAP-01163","next":"M16-GAP-01165"},"M16-GAP-01165":{"line":1164,"offset":199995,"length":174,"previous":"M16-GAP-01164","next":"M16-GAP-01166"},"M16-GAP-01166":{"line":1165,"offset":200169,"length":166,"previous":"M16-GAP-01165","next":"M16-GAP-01167"},"M16-GAP-01167":{"line":1166,"offset":200335,"length":169,"previous":"M16-GAP-01166","next":"M16-GAP-01168"},"M16-GAP-01168":{"line":1167,"offset":200504,"length":177,"previous":"M16-GAP-01167","next":"M16-GAP-01169"},"M16-GAP-01169":{"line":1168,"offset":200681,"length":167,"previous":"M16-GAP-01168","next":"M16-GAP-01170"},"M16-GAP-01170":{"line":1169,"offset":200848,"length":170,"previous":"M16-GAP-01169","next":"M16-GAP-01171"},"M16-GAP-01171":{"line":1170,"offset":201018,"length":173,"previous":"M16-GAP-01170","next":"M16-GAP-01172"},"M16-GAP-01172":{"line":1171,"offset":201191,"length":167,"previous":"M16-GAP-01171","next":"M16-GAP-01173"},"M16-GAP-01173":{"line":1172,"offset":201358,"length":166,"previous":"M16-GAP-01172","next":"M16-GAP-01174"},"M16-GAP-01174":{"line":1173,"offset":201524,"length":168,"previous":"M16-GAP-01173","next":"M16-GAP-01175"},"M16-GAP-01175":{"line":1174,"offset":201692,"length":176,"previous":"M16-GAP-01174","next":"M16-GAP-01176"},"M16-GAP-01176":{"line":1175,"offset":201868,"length":178,"previous":"M16-GAP-01175","next":"M16-GAP-01177"},"M16-GAP-01177":{"line":1176,"offset":202046,"length":173,"previous":"M16-GAP-01176","next":"M16-GAP-01178"},"M16-GAP-01178":{"line":1177,"offset":202219,"length":171,"previous":"M16-GAP-01177","next":"M16-GAP-01179"},"M16-GAP-01179":{"line":1178,"offset":202390,"length":181,"previous":"M16-GAP-01178","next":"M16-GAP-01180"},"M16-GAP-01180":{"line":1179,"offset":202571,"length":165,"previous":"M16-GAP-01179","next":"M16-GAP-01181"},"M16-GAP-01181":{"line":1180,"offset":202736,"length":170,"previous":"M16-GAP-01180","next":"M16-GAP-01182"},"M16-GAP-01182":{"line":1181,"offset":202906,"length":173,"previous":"M16-GAP-01181","next":"M16-GAP-01183"},"M16-GAP-01183":{"line":1182,"offset":203079,"length":168,"previous":"M16-GAP-01182","next":"M16-GAP-01184"},"M16-GAP-01184":{"line":1183,"offset":203247,"length":169,"previous":"M16-GAP-01183","next":"M16-GAP-01185"},"M16-GAP-01185":{"line":1184,"offset":203416,"length":166,"previous":"M16-GAP-01184","next":"M16-GAP-01186"},"M16-GAP-01186":{"line":1185,"offset":203582,"length":159,"previous":"M16-GAP-01185","next":"M16-GAP-01187"},"M16-GAP-01187":{"line":1186,"offset":203741,"length":169,"previous":"M16-GAP-01186","next":"M16-GAP-01188"},"M16-GAP-01188":{"line":1187,"offset":203910,"length":166,"previous":"M16-GAP-01187","next":"M16-GAP-01189"},"M16-GAP-01189":{"line":1188,"offset":204076,"length":167,"previous":"M16-GAP-01188","next":"M16-GAP-01190"},"M16-GAP-01190":{"line":1189,"offset":204243,"length":161,"previous":"M16-GAP-01189","next":"M16-GAP-01191"},"M16-GAP-01191":{"line":1190,"offset":204404,"length":164,"previous":"M16-GAP-01190","next":"M16-GAP-01192"},"M16-GAP-01192":{"line":1191,"offset":204568,"length":176,"previous":"M16-GAP-01191","next":"M16-GAP-01193"},"M16-GAP-01193":{"line":1192,"offset":204744,"length":169,"previous":"M16-GAP-01192","next":"M16-GAP-01194"},"M16-GAP-01194":{"line":1193,"offset":204913,"length":168,"previous":"M16-GAP-01193","next":"M16-GAP-01195"},"M16-GAP-01195":{"line":1194,"offset":205081,"length":169,"previous":"M16-GAP-01194","next":"M16-GAP-01196"},"M16-GAP-01196":{"line":1195,"offset":205250,"length":170,"previous":"M16-GAP-01195","next":"M16-GAP-01197"},"M16-GAP-01197":{"line":1196,"offset":205420,"length":171,"previous":"M16-GAP-01196","next":"M16-GAP-01198"},"M16-GAP-01198":{"line":1197,"offset":205591,"length":163,"previous":"M16-GAP-01197","next":"M16-GAP-01199"},"M16-GAP-01199":{"line":1198,"offset":205754,"length":166,"previous":"M16-GAP-01198","next":"M16-GAP-01200"},"M16-GAP-01200":{"line":1199,"offset":205920,"length":164,"previous":"M16-GAP-01199","next":"M16-GAP-01201"},"M16-GAP-01201":{"line":1200,"offset":206084,"length":162,"previous":"M16-GAP-01200","next":"M16-GAP-01202"},"M16-GAP-01202":{"line":1201,"offset":206246,"length":166,"previous":"M16-GAP-01201","next":"M16-GAP-01203"},"M16-GAP-01203":{"line":1202,"offset":206412,"length":171,"previous":"M16-GAP-01202","next":"M16-GAP-01204"},"M16-GAP-01204":{"line":1203,"offset":206583,"length":165,"previous":"M16-GAP-01203","next":"M16-GAP-01205"},"M16-GAP-01205":{"line":1204,"offset":206748,"length":165,"previous":"M16-GAP-01204","next":"M16-GAP-01206"},"M16-GAP-01206":{"line":1205,"offset":206913,"length":171,"previous":"M16-GAP-01205","next":"M16-GAP-01207"},"M16-GAP-01207":{"line":1206,"offset":207084,"length":175,"previous":"M16-GAP-01206","next":"M16-GAP-01208"},"M16-GAP-01208":{"line":1207,"offset":207259,"length":159,"previous":"M16-GAP-01207","next":"M16-GAP-01209"},"M16-GAP-01209":{"line":1208,"offset":207418,"length":168,"previous":"M16-GAP-01208","next":"M16-GAP-01210"},"M16-GAP-01210":{"line":1209,"offset":207586,"length":160,"previous":"M16-GAP-01209","next":"M16-GAP-01211"},"M16-GAP-01211":{"line":1210,"offset":207746,"length":159,"previous":"M16-GAP-01210","next":"M16-GAP-01212"},"M16-GAP-01212":{"line":1211,"offset":207905,"length":165,"previous":"M16-GAP-01211","next":"M16-GAP-01213"},"M16-GAP-01213":{"line":1212,"offset":208070,"length":168,"previous":"M16-GAP-01212","next":"M16-GAP-01214"},"M16-GAP-01214":{"line":1213,"offset":208238,"length":169,"previous":"M16-GAP-01213","next":"M16-GAP-01215"},"M16-GAP-01215":{"line":1214,"offset":208407,"length":170,"previous":"M16-GAP-01214","next":"M16-GAP-01216"},"M16-GAP-01216":{"line":1215,"offset":208577,"length":169,"previous":"M16-GAP-01215","next":"M16-GAP-01217"},"M16-GAP-01217":{"line":1216,"offset":208746,"length":163,"previous":"M16-GAP-01216","next":"M16-GAP-01218"},"M16-GAP-01218":{"line":1217,"offset":208909,"length":165,"previous":"M16-GAP-01217","next":"M16-GAP-01219"},"M16-GAP-01219":{"line":1218,"offset":209074,"length":168,"previous":"M16-GAP-01218","next":"M16-GAP-01220"},"M16-GAP-01220":{"line":1219,"offset":209242,"length":171,"previous":"M16-GAP-01219","next":"M16-GAP-01221"},"M16-GAP-01221":{"line":1220,"offset":209413,"length":172,"previous":"M16-GAP-01220","next":"M16-GAP-01222"},"M16-GAP-01222":{"line":1221,"offset":209585,"length":170,"previous":"M16-GAP-01221","next":"M16-GAP-01223"},"M16-GAP-01223":{"line":1222,"offset":209755,"length":165,"previous":"M16-GAP-01222","next":"M16-GAP-01224"},"M16-GAP-01224":{"line":1223,"offset":209920,"length":171,"previous":"M16-GAP-01223","next":"M16-GAP-01225"},"M16-GAP-01225":{"line":1224,"offset":210091,"length":189,"previous":"M16-GAP-01224","next":"M16-GAP-01226"},"M16-GAP-01226":{"line":1225,"offset":210280,"length":165,"previous":"M16-GAP-01225","next":"M16-GAP-01227"},"M16-GAP-01227":{"line":1226,"offset":210445,"length":171,"previous":"M16-GAP-01226","next":"M16-GAP-01228"},"M16-GAP-01228":{"line":1227,"offset":210616,"length":176,"previous":"M16-GAP-01227","next":"M16-GAP-01229"},"M16-GAP-01229":{"line":1228,"offset":210792,"length":165,"previous":"M16-GAP-01228","next":"M16-GAP-01230"},"M16-GAP-01230":{"line":1229,"offset":210957,"length":171,"previous":"M16-GAP-01229","next":"M16-GAP-01231"},"M16-GAP-01231":{"line":1230,"offset":211128,"length":164,"previous":"M16-GAP-01230","next":"M16-GAP-01232"},"M16-GAP-01232":{"line":1231,"offset":211292,"length":168,"previous":"M16-GAP-01231","next":"M16-GAP-01233"},"M16-GAP-01233":{"line":1232,"offset":211460,"length":164,"previous":"M16-GAP-01232","next":"M16-GAP-01234"},"M16-GAP-01234":{"line":1233,"offset":211624,"length":166,"previous":"M16-GAP-01233","next":"M16-GAP-01235"},"M16-GAP-01235":{"line":1234,"offset":211790,"length":171,"previous":"M16-GAP-01234","next":"M16-GAP-01236"},"M16-GAP-01236":{"line":1235,"offset":211961,"length":167,"previous":"M16-GAP-01235","next":"M16-GAP-01237"},"M16-GAP-01237":{"line":1236,"offset":212128,"length":175,"previous":"M16-GAP-01236","next":"M16-GAP-01238"},"M16-GAP-01238":{"line":1237,"offset":212303,"length":172,"previous":"M16-GAP-01237","next":"M16-GAP-01239"},"M16-GAP-01239":{"line":1238,"offset":212475,"length":164,"previous":"M16-GAP-01238","next":"M16-GAP-01240"},"M16-GAP-01240":{"line":1239,"offset":212639,"length":162,"previous":"M16-GAP-01239","next":"M16-GAP-01241"},"M16-GAP-01241":{"line":1240,"offset":212801,"length":169,"previous":"M16-GAP-01240","next":"M16-GAP-01242"},"M16-GAP-01242":{"line":1241,"offset":212970,"length":170,"previous":"M16-GAP-01241","next":"M16-GAP-01243"},"M16-GAP-01243":{"line":1242,"offset":213140,"length":172,"previous":"M16-GAP-01242","next":"M16-GAP-01244"},"M16-GAP-01244":{"line":1243,"offset":213312,"length":170,"previous":"M16-GAP-01243","next":"M16-GAP-01245"},"M16-GAP-01245":{"line":1244,"offset":213482,"length":174,"previous":"M16-GAP-01244","next":"M16-GAP-01246"},"M16-GAP-01246":{"line":1245,"offset":213656,"length":175,"previous":"M16-GAP-01245","next":"M16-GAP-01247"},"M16-GAP-01247":{"line":1246,"offset":213831,"length":177,"previous":"M16-GAP-01246","next":"M16-GAP-01248"},"M16-GAP-01248":{"line":1247,"offset":214008,"length":182,"previous":"M16-GAP-01247","next":"M16-GAP-01249"},"M16-GAP-01249":{"line":1248,"offset":214190,"length":183,"previous":"M16-GAP-01248","next":"M16-GAP-01250"},"M16-GAP-01250":{"line":1249,"offset":214373,"length":185,"previous":"M16-GAP-01249","next":"M16-GAP-01251"},"M16-GAP-01251":{"line":1250,"offset":214558,"length":175,"previous":"M16-GAP-01250","next":"M16-GAP-01252"},"M16-GAP-01252":{"line":1251,"offset":214733,"length":170,"previous":"M16-GAP-01251","next":"M16-GAP-01253"},"M16-GAP-01253":{"line":1252,"offset":214903,"length":171,"previous":"M16-GAP-01252","next":"M16-GAP-01254"},"M16-GAP-01254":{"line":1253,"offset":215074,"length":178,"previous":"M16-GAP-01253","next":"M16-GAP-01255"},"M16-GAP-01255":{"line":1254,"offset":215252,"length":179,"previous":"M16-GAP-01254","next":"M16-GAP-01256"},"M16-GAP-01256":{"line":1255,"offset":215431,"length":181,"previous":"M16-GAP-01255","next":"M16-GAP-01257"},"M16-GAP-01257":{"line":1256,"offset":215612,"length":179,"previous":"M16-GAP-01256","next":"M16-GAP-01258"},"M16-GAP-01258":{"line":1257,"offset":215791,"length":180,"previous":"M16-GAP-01257","next":"M16-GAP-01259"},"M16-GAP-01259":{"line":1258,"offset":215971,"length":182,"previous":"M16-GAP-01258","next":"M16-GAP-01260"},"M16-GAP-01260":{"line":1259,"offset":216153,"length":180,"previous":"M16-GAP-01259","next":"M16-GAP-01261"},"M16-GAP-01261":{"line":1260,"offset":216333,"length":181,"previous":"M16-GAP-01260","next":"M16-GAP-01262"},"M16-GAP-01262":{"line":1261,"offset":216514,"length":183,"previous":"M16-GAP-01261","next":"M16-GAP-01263"},"M16-GAP-01263":{"line":1262,"offset":216697,"length":183,"previous":"M16-GAP-01262","next":"M16-GAP-01264"},"M16-GAP-01264":{"line":1263,"offset":216880,"length":179,"previous":"M16-GAP-01263","next":"M16-GAP-01265"},"M16-GAP-01265":{"line":1264,"offset":217059,"length":180,"previous":"M16-GAP-01264","next":"M16-GAP-01266"},"M16-GAP-01266":{"line":1265,"offset":217239,"length":182,"previous":"M16-GAP-01265","next":"M16-GAP-01267"},"M16-GAP-01267":{"line":1266,"offset":217421,"length":173,"previous":"M16-GAP-01266","next":"M16-GAP-01268"},"M16-GAP-01268":{"line":1267,"offset":217594,"length":177,"previous":"M16-GAP-01267","next":"M16-GAP-01269"},"M16-GAP-01269":{"line":1268,"offset":217771,"length":180,"previous":"M16-GAP-01268","next":"M16-GAP-01270"},"M16-GAP-01270":{"line":1269,"offset":217951,"length":173,"previous":"M16-GAP-01269","next":"M16-GAP-01271"},"M16-GAP-01271":{"line":1270,"offset":218124,"length":179,"previous":"M16-GAP-01270","next":"M16-GAP-01272"},"M16-GAP-01272":{"line":1271,"offset":218303,"length":162,"previous":"M16-GAP-01271","next":"M16-GAP-01273"},"M16-GAP-01273":{"line":1272,"offset":218465,"length":177,"previous":"M16-GAP-01272","next":"M16-GAP-01274"},"M16-GAP-01274":{"line":1273,"offset":218642,"length":172,"previous":"M16-GAP-01273","next":"M16-GAP-01275"},"M16-GAP-01275":{"line":1274,"offset":218814,"length":162,"previous":"M16-GAP-01274","next":"M16-GAP-01276"},"M16-GAP-01276":{"line":1275,"offset":218976,"length":179,"previous":"M16-GAP-01275","next":"M16-GAP-01277"},"M16-GAP-01277":{"line":1276,"offset":219155,"length":165,"previous":"M16-GAP-01276","next":"M16-GAP-01278"},"M16-GAP-01278":{"line":1277,"offset":219320,"length":197,"previous":"M16-GAP-01277","next":"M16-GAP-01279"},"M16-GAP-01279":{"line":1278,"offset":219517,"length":188,"previous":"M16-GAP-01278","next":"M16-GAP-01280"},"M16-GAP-01280":{"line":1279,"offset":219705,"length":170,"previous":"M16-GAP-01279","next":"M16-GAP-01281"},"M16-GAP-01281":{"line":1280,"offset":219875,"length":182,"previous":"M16-GAP-01280","next":"M16-GAP-01282"},"M16-GAP-01282":{"line":1281,"offset":220057,"length":177,"previous":"M16-GAP-01281","next":"M16-GAP-01283"},"M16-GAP-01283":{"line":1282,"offset":220234,"length":180,"previous":"M16-GAP-01282","next":"M16-GAP-01284"},"M16-GAP-01284":{"line":1283,"offset":220414,"length":181,"previous":"M16-GAP-01283","next":"M16-GAP-01285"},"M16-GAP-01285":{"line":1284,"offset":220595,"length":183,"previous":"M16-GAP-01284","next":"M16-GAP-01286"},"M16-GAP-01286":{"line":1285,"offset":220778,"length":187,"previous":"M16-GAP-01285","next":"M16-GAP-01287"},"M16-GAP-01287":{"line":1286,"offset":220965,"length":188,"previous":"M16-GAP-01286","next":"M16-GAP-01288"},"M16-GAP-01288":{"line":1287,"offset":221153,"length":190,"previous":"M16-GAP-01287","next":"M16-GAP-01289"},"M16-GAP-01289":{"line":1288,"offset":221343,"length":188,"previous":"M16-GAP-01288","next":"M16-GAP-01290"},"M16-GAP-01290":{"line":1289,"offset":221531,"length":189,"previous":"M16-GAP-01289","next":"M16-GAP-01291"},"M16-GAP-01291":{"line":1290,"offset":221720,"length":191,"previous":"M16-GAP-01290","next":"M16-GAP-01292"},"M16-GAP-01292":{"line":1291,"offset":221911,"length":178,"previous":"M16-GAP-01291","next":"M16-GAP-01293"},"M16-GAP-01293":{"line":1292,"offset":222089,"length":179,"previous":"M16-GAP-01292","next":"M16-GAP-01294"},"M16-GAP-01294":{"line":1293,"offset":222268,"length":181,"previous":"M16-GAP-01293","next":"M16-GAP-01295"},"M16-GAP-01295":{"line":1294,"offset":222449,"length":178,"previous":"M16-GAP-01294","next":"M16-GAP-01296"},"M16-GAP-01296":{"line":1295,"offset":222627,"length":179,"previous":"M16-GAP-01295","next":"M16-GAP-01297"},"M16-GAP-01297":{"line":1296,"offset":222806,"length":181,"previous":"M16-GAP-01296","next":"M16-GAP-01298"},"M16-GAP-01298":{"line":1297,"offset":222987,"length":176,"previous":"M16-GAP-01297","next":"M16-GAP-01299"},"M16-GAP-01299":{"line":1298,"offset":223163,"length":177,"previous":"M16-GAP-01298","next":"M16-GAP-01300"},"M16-GAP-01300":{"line":1299,"offset":223340,"length":179,"previous":"M16-GAP-01299","next":"M16-GAP-01301"},"M16-GAP-01301":{"line":1300,"offset":223519,"length":165,"previous":"M16-GAP-01300","next":"M16-GAP-01302"},"M16-GAP-01302":{"line":1301,"offset":223684,"length":205,"previous":"M16-GAP-01301","next":"M16-GAP-01303"},"M16-GAP-01303":{"line":1302,"offset":223889,"length":206,"previous":"M16-GAP-01302","next":"M16-GAP-01304"},"M16-GAP-01304":{"line":1303,"offset":224095,"length":208,"previous":"M16-GAP-01303","next":"M16-GAP-01305"},"M16-GAP-01305":{"line":1304,"offset":224303,"length":200,"previous":"M16-GAP-01304","next":"M16-GAP-01306"},"M16-GAP-01306":{"line":1305,"offset":224503,"length":201,"previous":"M16-GAP-01305","next":"M16-GAP-01307"},"M16-GAP-01307":{"line":1306,"offset":224704,"length":203,"previous":"M16-GAP-01306","next":"M16-GAP-01308"},"M16-GAP-01308":{"line":1307,"offset":224907,"length":199,"previous":"M16-GAP-01307","next":"M16-GAP-01309"},"M16-GAP-01309":{"line":1308,"offset":225106,"length":200,"previous":"M16-GAP-01308","next":"M16-GAP-01310"},"M16-GAP-01310":{"line":1309,"offset":225306,"length":202,"previous":"M16-GAP-01309","next":"M16-GAP-01311"},"M16-GAP-01311":{"line":1310,"offset":225508,"length":178,"previous":"M16-GAP-01310","next":"M16-GAP-01312"},"M16-GAP-01312":{"line":1311,"offset":225686,"length":179,"previous":"M16-GAP-01311","next":"M16-GAP-01313"},"M16-GAP-01313":{"line":1312,"offset":225865,"length":181,"previous":"M16-GAP-01312","next":"M16-GAP-01314"},"M16-GAP-01314":{"line":1313,"offset":226046,"length":186,"previous":"M16-GAP-01313","next":"M16-GAP-01315"},"M16-GAP-01315":{"line":1314,"offset":226232,"length":187,"previous":"M16-GAP-01314","next":"M16-GAP-01316"},"M16-GAP-01316":{"line":1315,"offset":226419,"length":189,"previous":"M16-GAP-01315","next":"M16-GAP-01317"},"M16-GAP-01317":{"line":1316,"offset":226608,"length":183,"previous":"M16-GAP-01316","next":"M16-GAP-01318"},"M16-GAP-01318":{"line":1317,"offset":226791,"length":166,"previous":"M16-GAP-01317","next":"M16-GAP-01319"},"M16-GAP-01319":{"line":1318,"offset":226957,"length":172,"previous":"M16-GAP-01318","next":"M16-GAP-01320"},"M16-GAP-01320":{"line":1319,"offset":227129,"length":168,"previous":"M16-GAP-01319","next":"M16-GAP-01321"},"M16-GAP-01321":{"line":1320,"offset":227297,"length":166,"previous":"M16-GAP-01320","next":"M16-GAP-01322"},"M16-GAP-01322":{"line":1321,"offset":227463,"length":170,"previous":"M16-GAP-01321","next":"M16-GAP-01323"},"M16-GAP-01323":{"line":1322,"offset":227633,"length":169,"previous":"M16-GAP-01322","next":"M16-GAP-01324"},"M16-GAP-01324":{"line":1323,"offset":227802,"length":174,"previous":"M16-GAP-01323","next":"M16-GAP-01325"},"M16-GAP-01325":{"line":1324,"offset":227976,"length":167,"previous":"M16-GAP-01324","next":"M16-GAP-01326"},"M16-GAP-01326":{"line":1325,"offset":228143,"length":177,"previous":"M16-GAP-01325","next":"M16-GAP-01327"},"M16-GAP-01327":{"line":1326,"offset":228320,"length":178,"previous":"M16-GAP-01326","next":"M16-GAP-01328"},"M16-GAP-01328":{"line":1327,"offset":228498,"length":180,"previous":"M16-GAP-01327","next":"M16-GAP-01329"},"M16-GAP-01329":{"line":1328,"offset":228678,"length":169,"previous":"M16-GAP-01328","next":"M16-GAP-01330"},"M16-GAP-01330":{"line":1329,"offset":228847,"length":180,"previous":"M16-GAP-01329","next":"M16-GAP-01331"},"M16-GAP-01331":{"line":1330,"offset":229027,"length":188,"previous":"M16-GAP-01330","next":"M16-GAP-01332"},"M16-GAP-01332":{"line":1331,"offset":229215,"length":174,"previous":"M16-GAP-01331","next":"M16-GAP-01333"},"M16-GAP-01333":{"line":1332,"offset":229389,"length":187,"previous":"M16-GAP-01332","next":"M16-GAP-01334"},"M16-GAP-01334":{"line":1333,"offset":229576,"length":177,"previous":"M16-GAP-01333","next":"M16-GAP-01335"},"M16-GAP-01335":{"line":1334,"offset":229753,"length":190,"previous":"M16-GAP-01334","next":"M16-GAP-01336"},"M16-GAP-01336":{"line":1335,"offset":229943,"length":160,"previous":"M16-GAP-01335","next":"M16-GAP-01337"},"M16-GAP-01337":{"line":1336,"offset":230103,"length":166,"previous":"M16-GAP-01336","next":"M16-GAP-01338"},"M16-GAP-01338":{"line":1337,"offset":230269,"length":166,"previous":"M16-GAP-01337","next":"M16-GAP-01339"},"M16-GAP-01339":{"line":1338,"offset":230435,"length":160,"previous":"M16-GAP-01338","next":"M16-GAP-01340"},"M16-GAP-01340":{"line":1339,"offset":230595,"length":180,"previous":"M16-GAP-01339","next":"M16-GAP-01341"},"M16-GAP-01341":{"line":1340,"offset":230775,"length":165,"previous":"M16-GAP-01340","next":"M16-GAP-01342"},"M16-GAP-01342":{"line":1341,"offset":230940,"length":167,"previous":"M16-GAP-01341","next":"M16-GAP-01343"},"M16-GAP-01343":{"line":1342,"offset":231107,"length":165,"previous":"M16-GAP-01342","next":"M16-GAP-01344"},"M16-GAP-01344":{"line":1343,"offset":231272,"length":168,"previous":"M16-GAP-01343","next":"M16-GAP-01345"},"M16-GAP-01345":{"line":1344,"offset":231440,"length":166,"previous":"M16-GAP-01344","next":"M16-GAP-01346"},"M16-GAP-01346":{"line":1345,"offset":231606,"length":173,"previous":"M16-GAP-01345","next":"M16-GAP-01347"},"M16-GAP-01347":{"line":1346,"offset":231779,"length":181,"previous":"M16-GAP-01346","next":"M16-GAP-01348"},"M16-GAP-01348":{"line":1347,"offset":231960,"length":167,"previous":"M16-GAP-01347","next":"M16-GAP-01349"},"M16-GAP-01349":{"line":1348,"offset":232127,"length":182,"previous":"M16-GAP-01348","next":"M16-GAP-01350"},"M16-GAP-01350":{"line":1349,"offset":232309,"length":191,"previous":"M16-GAP-01349","next":"M16-GAP-01351"},"M16-GAP-01351":{"line":1350,"offset":232500,"length":186,"previous":"M16-GAP-01350","next":"M16-GAP-01352"},"M16-GAP-01352":{"line":1351,"offset":232686,"length":184,"previous":"M16-GAP-01351","next":"M16-GAP-01353"},"M16-GAP-01353":{"line":1352,"offset":232870,"length":183,"previous":"M16-GAP-01352","next":"M16-GAP-01354"},"M16-GAP-01354":{"line":1353,"offset":233053,"length":169,"previous":"M16-GAP-01353","next":"M16-GAP-01355"},"M16-GAP-01355":{"line":1354,"offset":233222,"length":177,"previous":"M16-GAP-01354","next":"M16-GAP-01356"},"M16-GAP-01356":{"line":1355,"offset":233399,"length":171,"previous":"M16-GAP-01355","next":"M16-GAP-01357"},"M16-GAP-01357":{"line":1356,"offset":233570,"length":170,"previous":"M16-GAP-01356","next":"M16-GAP-01358"},"M16-GAP-01358":{"line":1357,"offset":233740,"length":166,"previous":"M16-GAP-01357","next":"M16-GAP-01359"},"M16-GAP-01359":{"line":1358,"offset":233906,"length":170,"previous":"M16-GAP-01358","next":"M16-GAP-01360"},"M16-GAP-01360":{"line":1359,"offset":234076,"length":171,"previous":"M16-GAP-01359","next":"M16-GAP-01361"},"M16-GAP-01361":{"line":1360,"offset":234247,"length":170,"previous":"M16-GAP-01360","next":"M16-GAP-01362"},"M16-GAP-01362":{"line":1361,"offset":234417,"length":176,"previous":"M16-GAP-01361","next":"M16-GAP-01363"},"M16-GAP-01363":{"line":1362,"offset":234593,"length":177,"previous":"M16-GAP-01362","next":"M16-GAP-01364"},"M16-GAP-01364":{"line":1363,"offset":234770,"length":179,"previous":"M16-GAP-01363","next":"M16-GAP-01365"},"M16-GAP-01365":{"line":1364,"offset":234949,"length":162,"previous":"M16-GAP-01364","next":"M16-GAP-01366"},"M16-GAP-01366":{"line":1365,"offset":235111,"length":187,"previous":"M16-GAP-01365","next":"M16-GAP-01367"},"M16-GAP-01367":{"line":1366,"offset":235298,"length":188,"previous":"M16-GAP-01366","next":"M16-GAP-01368"},"M16-GAP-01368":{"line":1367,"offset":235486,"length":190,"previous":"M16-GAP-01367","next":"M16-GAP-01369"},"M16-GAP-01369":{"line":1368,"offset":235676,"length":162,"previous":"M16-GAP-01368","next":"M16-GAP-01370"},"M16-GAP-01370":{"line":1369,"offset":235838,"length":166,"previous":"M16-GAP-01369","next":"M16-GAP-01371"},"M16-GAP-01371":{"line":1370,"offset":236004,"length":166,"previous":"M16-GAP-01370","next":"M16-GAP-01372"},"M16-GAP-01372":{"line":1371,"offset":236170,"length":169,"previous":"M16-GAP-01371","next":"M16-GAP-01373"},"M16-GAP-01373":{"line":1372,"offset":236339,"length":170,"previous":"M16-GAP-01372","next":"M16-GAP-01374"},"M16-GAP-01374":{"line":1373,"offset":236509,"length":168,"previous":"M16-GAP-01373","next":"M16-GAP-01375"},"M16-GAP-01375":{"line":1374,"offset":236677,"length":174,"previous":"M16-GAP-01374","next":"M16-GAP-01376"},"M16-GAP-01376":{"line":1375,"offset":236851,"length":174,"previous":"M16-GAP-01375","next":"M16-GAP-01377"},"M16-GAP-01377":{"line":1376,"offset":237025,"length":172,"previous":"M16-GAP-01376","next":"M16-GAP-01378"},"M16-GAP-01378":{"line":1377,"offset":237197,"length":177,"previous":"M16-GAP-01377","next":"M16-GAP-01379"},"M16-GAP-01379":{"line":1378,"offset":237374,"length":180,"previous":"M16-GAP-01378","next":"M16-GAP-01380"},"M16-GAP-01380":{"line":1379,"offset":237554,"length":181,"previous":"M16-GAP-01379","next":"M16-GAP-01381"},"M16-GAP-01381":{"line":1380,"offset":237735,"length":183,"previous":"M16-GAP-01380","next":"M16-GAP-01382"},"M16-GAP-01382":{"line":1381,"offset":237918,"length":176,"previous":"M16-GAP-01381","next":"M16-GAP-01383"},"M16-GAP-01383":{"line":1382,"offset":238094,"length":180,"previous":"M16-GAP-01382","next":"M16-GAP-01384"},"M16-GAP-01384":{"line":1383,"offset":238274,"length":181,"previous":"M16-GAP-01383","next":"M16-GAP-01385"},"M16-GAP-01385":{"line":1384,"offset":238455,"length":183,"previous":"M16-GAP-01384","next":"M16-GAP-01386"},"M16-GAP-01386":{"line":1385,"offset":238638,"length":168,"previous":"M16-GAP-01385","next":"M16-GAP-01387"},"M16-GAP-01387":{"line":1386,"offset":238806,"length":172,"previous":"M16-GAP-01386","next":"M16-GAP-01388"},"M16-GAP-01388":{"line":1387,"offset":238978,"length":172,"previous":"M16-GAP-01387","next":"M16-GAP-01389"},"M16-GAP-01389":{"line":1388,"offset":239150,"length":165,"previous":"M16-GAP-01388","next":"M16-GAP-01390"},"M16-GAP-01390":{"line":1389,"offset":239315,"length":173,"previous":"M16-GAP-01389","next":"M16-GAP-01391"},"M16-GAP-01391":{"line":1390,"offset":239488,"length":165,"previous":"M16-GAP-01390","next":"M16-GAP-01392"},"M16-GAP-01392":{"line":1391,"offset":239653,"length":182,"previous":"M16-GAP-01391","next":"M16-GAP-01393"},"M16-GAP-01393":{"line":1392,"offset":239835,"length":169,"previous":"M16-GAP-01392","next":"M16-GAP-01394"},"M16-GAP-01394":{"line":1393,"offset":240004,"length":172,"previous":"M16-GAP-01393","next":"M16-GAP-01395"},"M16-GAP-01395":{"line":1394,"offset":240176,"length":189,"previous":"M16-GAP-01394","next":"M16-GAP-01396"},"M16-GAP-01396":{"line":1395,"offset":240365,"length":172,"previous":"M16-GAP-01395","next":"M16-GAP-01397"},"M16-GAP-01397":{"line":1396,"offset":240537,"length":164,"previous":"M16-GAP-01396","next":"M16-GAP-01398"},"M16-GAP-01398":{"line":1397,"offset":240701,"length":169,"previous":"M16-GAP-01397","next":"M16-GAP-01399"},"M16-GAP-01399":{"line":1398,"offset":240870,"length":169,"previous":"M16-GAP-01398","next":"M16-GAP-01400"},"M16-GAP-01400":{"line":1399,"offset":241039,"length":175,"previous":"M16-GAP-01399","next":"M16-GAP-01401"},"M16-GAP-01401":{"line":1400,"offset":241214,"length":175,"previous":"M16-GAP-01400","next":"M16-GAP-01402"},"M16-GAP-01402":{"line":1401,"offset":241389,"length":161,"previous":"M16-GAP-01401","next":"M16-GAP-01403"},"M16-GAP-01403":{"line":1402,"offset":241550,"length":175,"previous":"M16-GAP-01402","next":"M16-GAP-01404"},"M16-GAP-01404":{"line":1403,"offset":241725,"length":167,"previous":"M16-GAP-01403","next":"M16-GAP-01405"},"M16-GAP-01405":{"line":1404,"offset":241892,"length":163,"previous":"M16-GAP-01404","next":"M16-GAP-01406"},"M16-GAP-01406":{"line":1405,"offset":242055,"length":183,"previous":"M16-GAP-01405","next":"M16-GAP-01407"},"M16-GAP-01407":{"line":1406,"offset":242238,"length":170,"previous":"M16-GAP-01406","next":"M16-GAP-01408"},"M16-GAP-01408":{"line":1407,"offset":242408,"length":182,"previous":"M16-GAP-01407","next":"M16-GAP-01409"},"M16-GAP-01409":{"line":1408,"offset":242590,"length":162,"previous":"M16-GAP-01408","next":"M16-GAP-01410"},"M16-GAP-01410":{"line":1409,"offset":242752,"length":168,"previous":"M16-GAP-01409","next":"M16-GAP-01411"},"M16-GAP-01411":{"line":1410,"offset":242920,"length":168,"previous":"M16-GAP-01410","next":"M16-GAP-01412"},"M16-GAP-01412":{"line":1411,"offset":243088,"length":178,"previous":"M16-GAP-01411","next":"M16-GAP-01413"},"M16-GAP-01413":{"line":1412,"offset":243266,"length":180,"previous":"M16-GAP-01412","next":"M16-GAP-01414"},"M16-GAP-01414":{"line":1413,"offset":243446,"length":172,"previous":"M16-GAP-01413","next":"M16-GAP-01415"},"M16-GAP-01415":{"line":1414,"offset":243618,"length":188,"previous":"M16-GAP-01414","next":"M16-GAP-01416"},"M16-GAP-01416":{"line":1415,"offset":243806,"length":181,"previous":"M16-GAP-01415","next":"M16-GAP-01417"},"M16-GAP-01417":{"line":1416,"offset":243987,"length":173,"previous":"M16-GAP-01416","next":"M16-GAP-01418"},"M16-GAP-01418":{"line":1417,"offset":244160,"length":183,"previous":"M16-GAP-01417","next":"M16-GAP-01419"},"M16-GAP-01419":{"line":1418,"offset":244343,"length":175,"previous":"M16-GAP-01418","next":"M16-GAP-01420"},"M16-GAP-01420":{"line":1419,"offset":244518,"length":175,"previous":"M16-GAP-01419","next":"M16-GAP-01421"},"M16-GAP-01421":{"line":1420,"offset":244693,"length":172,"previous":"M16-GAP-01420","next":"M16-GAP-01422"},"M16-GAP-01422":{"line":1421,"offset":244865,"length":185,"previous":"M16-GAP-01421","next":"M16-GAP-01423"},"M16-GAP-01423":{"line":1422,"offset":245050,"length":175,"previous":"M16-GAP-01422","next":"M16-GAP-01424"},"M16-GAP-01424":{"line":1423,"offset":245225,"length":174,"previous":"M16-GAP-01423","next":"M16-GAP-01425"},"M16-GAP-01425":{"line":1424,"offset":245399,"length":165,"previous":"M16-GAP-01424","next":"M16-GAP-01426"},"M16-GAP-01426":{"line":1425,"offset":245564,"length":179,"previous":"M16-GAP-01425","next":"M16-GAP-01427"},"M16-GAP-01427":{"line":1426,"offset":245743,"length":181,"previous":"M16-GAP-01426","next":"M16-GAP-01428"},"M16-GAP-01428":{"line":1427,"offset":245924,"length":179,"previous":"M16-GAP-01427","next":"M16-GAP-01429"},"M16-GAP-01429":{"line":1428,"offset":246103,"length":179,"previous":"M16-GAP-01428","next":"M16-GAP-01430"},"M16-GAP-01430":{"line":1429,"offset":246282,"length":175,"previous":"M16-GAP-01429","next":"M16-GAP-01431"},"M16-GAP-01431":{"line":1430,"offset":246457,"length":175,"previous":"M16-GAP-01430","next":"M16-GAP-01432"},"M16-GAP-01432":{"line":1431,"offset":246632,"length":171,"previous":"M16-GAP-01431","next":"M16-GAP-01433"},"M16-GAP-01433":{"line":1432,"offset":246803,"length":177,"previous":"M16-GAP-01432","next":"M16-GAP-01434"},"M16-GAP-01434":{"line":1433,"offset":246980,"length":164,"previous":"M16-GAP-01433","next":"M16-GAP-01435"},"M16-GAP-01435":{"line":1434,"offset":247144,"length":183,"previous":"M16-GAP-01434","next":"M16-GAP-01436"},"M16-GAP-01436":{"line":1435,"offset":247327,"length":177,"previous":"M16-GAP-01435","next":"M16-GAP-01437"},"M16-GAP-01437":{"line":1436,"offset":247504,"length":177,"previous":"M16-GAP-01436","next":"M16-GAP-01438"},"M16-GAP-01438":{"line":1437,"offset":247681,"length":167,"previous":"M16-GAP-01437","next":"M16-GAP-01439"},"M16-GAP-01439":{"line":1438,"offset":247848,"length":172,"previous":"M16-GAP-01438","next":"M16-GAP-01440"},"M16-GAP-01440":{"line":1439,"offset":248020,"length":179,"previous":"M16-GAP-01439","next":"M16-GAP-01441"},"M16-GAP-01441":{"line":1440,"offset":248199,"length":178,"previous":"M16-GAP-01440","next":"M16-GAP-01442"},"M16-GAP-01442":{"line":1441,"offset":248377,"length":173,"previous":"M16-GAP-01441","next":"M16-GAP-01443"},"M16-GAP-01443":{"line":1442,"offset":248550,"length":170,"previous":"M16-GAP-01442","next":"M16-GAP-01444"},"M16-GAP-01444":{"line":1443,"offset":248720,"length":167,"previous":"M16-GAP-01443","next":"M16-GAP-01445"},"M16-GAP-01445":{"line":1444,"offset":248887,"length":173,"previous":"M16-GAP-01444","next":"M16-GAP-01446"},"M16-GAP-01446":{"line":1445,"offset":249060,"length":173,"previous":"M16-GAP-01445","next":"M16-GAP-01447"},"M16-GAP-01447":{"line":1446,"offset":249233,"length":171,"previous":"M16-GAP-01446","next":"M16-GAP-01448"},"M16-GAP-01448":{"line":1447,"offset":249404,"length":175,"previous":"M16-GAP-01447","next":"M16-GAP-01449"},"M16-GAP-01449":{"line":1448,"offset":249579,"length":190,"previous":"M16-GAP-01448","next":"M16-GAP-01450"},"M16-GAP-01450":{"line":1449,"offset":249769,"length":188,"previous":"M16-GAP-01449","next":"M16-GAP-01451"},"M16-GAP-01451":{"line":1450,"offset":249957,"length":183,"previous":"M16-GAP-01450","next":"M16-GAP-01452"},"M16-GAP-01452":{"line":1451,"offset":250140,"length":190,"previous":"M16-GAP-01451","next":"M16-GAP-01453"},"M16-GAP-01453":{"line":1452,"offset":250330,"length":188,"previous":"M16-GAP-01452","next":"M16-GAP-01454"},"M16-GAP-01454":{"line":1453,"offset":250518,"length":195,"previous":"M16-GAP-01453","next":"M16-GAP-01455"},"M16-GAP-01455":{"line":1454,"offset":250713,"length":186,"previous":"M16-GAP-01454","next":"M16-GAP-01456"},"M16-GAP-01456":{"line":1455,"offset":250899,"length":175,"previous":"M16-GAP-01455","next":"M16-GAP-01457"},"M16-GAP-01457":{"line":1456,"offset":251074,"length":197,"previous":"M16-GAP-01456","next":"M16-GAP-01458"},"M16-GAP-01458":{"line":1457,"offset":251271,"length":198,"previous":"M16-GAP-01457","next":"M16-GAP-01459"},"M16-GAP-01459":{"line":1458,"offset":251469,"length":200,"previous":"M16-GAP-01458","next":"M16-GAP-01460"},"M16-GAP-01460":{"line":1459,"offset":251669,"length":197,"previous":"M16-GAP-01459","next":"M16-GAP-01461"},"M16-GAP-01461":{"line":1460,"offset":251866,"length":198,"previous":"M16-GAP-01460","next":"M16-GAP-01462"},"M16-GAP-01462":{"line":1461,"offset":252064,"length":200,"previous":"M16-GAP-01461","next":"M16-GAP-01463"},"M16-GAP-01463":{"line":1462,"offset":252264,"length":173,"previous":"M16-GAP-01462","next":"M16-GAP-01464"},"M16-GAP-01464":{"line":1463,"offset":252437,"length":179,"previous":"M16-GAP-01463","next":"M16-GAP-01465"},"M16-GAP-01465":{"line":1464,"offset":252616,"length":173,"previous":"M16-GAP-01464","next":"M16-GAP-01466"},"M16-GAP-01466":{"line":1465,"offset":252789,"length":171,"previous":"M16-GAP-01465","next":"M16-GAP-01467"},"M16-GAP-01467":{"line":1466,"offset":252960,"length":172,"previous":"M16-GAP-01466","next":"M16-GAP-01468"},"M16-GAP-01468":{"line":1467,"offset":253132,"length":172,"previous":"M16-GAP-01467","next":"M16-GAP-01469"},"M16-GAP-01469":{"line":1468,"offset":253304,"length":169,"previous":"M16-GAP-01468","next":"M16-GAP-01470"},"M16-GAP-01470":{"line":1469,"offset":253473,"length":171,"previous":"M16-GAP-01469","next":"M16-GAP-01471"},"M16-GAP-01471":{"line":1470,"offset":253644,"length":169,"previous":"M16-GAP-01470","next":"M16-GAP-01472"},"M16-GAP-01472":{"line":1471,"offset":253813,"length":168,"previous":"M16-GAP-01471","next":"M16-GAP-01473"},"M16-GAP-01473":{"line":1472,"offset":253981,"length":169,"previous":"M16-GAP-01472","next":"M16-GAP-01474"},"M16-GAP-01474":{"line":1473,"offset":254150,"length":185,"previous":"M16-GAP-01473","next":"M16-GAP-01475"},"M16-GAP-01475":{"line":1474,"offset":254335,"length":185,"previous":"M16-GAP-01474","next":"M16-GAP-01476"},"M16-GAP-01476":{"line":1475,"offset":254520,"length":183,"previous":"M16-GAP-01475","next":"M16-GAP-01477"},"M16-GAP-01477":{"line":1476,"offset":254703,"length":177,"previous":"M16-GAP-01476","next":"M16-GAP-01478"},"M16-GAP-01478":{"line":1477,"offset":254880,"length":162,"previous":"M16-GAP-01477","next":"M16-GAP-01479"},"M16-GAP-01479":{"line":1478,"offset":255042,"length":169,"previous":"M16-GAP-01478","next":"M16-GAP-01480"},"M16-GAP-01480":{"line":1479,"offset":255211,"length":166,"previous":"M16-GAP-01479","next":"M16-GAP-01481"},"M16-GAP-01481":{"line":1480,"offset":255377,"length":178,"previous":"M16-GAP-01480","next":"M16-GAP-01482"},"M16-GAP-01482":{"line":1481,"offset":255555,"length":181,"previous":"M16-GAP-01481","next":"M16-GAP-01483"},"M16-GAP-01483":{"line":1482,"offset":255736,"length":167,"previous":"M16-GAP-01482","next":"M16-GAP-01484"},"M16-GAP-01484":{"line":1483,"offset":255903,"length":194,"previous":"M16-GAP-01483","next":"M16-GAP-01485"},"M16-GAP-01485":{"line":1484,"offset":256097,"length":185,"previous":"M16-GAP-01484","next":"M16-GAP-01486"},"M16-GAP-01486":{"line":1485,"offset":256282,"length":187,"previous":"M16-GAP-01485","next":"M16-GAP-01487"},"M16-GAP-01487":{"line":1486,"offset":256469,"length":195,"previous":"M16-GAP-01486","next":"M16-GAP-01488"},"M16-GAP-01488":{"line":1487,"offset":256664,"length":186,"previous":"M16-GAP-01487","next":"M16-GAP-01489"},"M16-GAP-01489":{"line":1488,"offset":256850,"length":188,"previous":"M16-GAP-01488","next":"M16-GAP-01490"},"M16-GAP-01490":{"line":1489,"offset":257038,"length":194,"previous":"M16-GAP-01489","next":"M16-GAP-01491"},"M16-GAP-01491":{"line":1490,"offset":257232,"length":172,"previous":"M16-GAP-01490","next":"M16-GAP-01492"},"M16-GAP-01492":{"line":1491,"offset":257404,"length":179,"previous":"M16-GAP-01491","next":"M16-GAP-01493"},"M16-GAP-01493":{"line":1492,"offset":257583,"length":179,"previous":"M16-GAP-01492","next":"M16-GAP-01494"},"M16-GAP-01494":{"line":1493,"offset":257762,"length":178,"previous":"M16-GAP-01493","next":"M16-GAP-01495"},"M16-GAP-01495":{"line":1494,"offset":257940,"length":171,"previous":"M16-GAP-01494","next":"M16-GAP-01496"},"M16-GAP-01496":{"line":1495,"offset":258111,"length":176,"previous":"M16-GAP-01495","next":"M16-GAP-01497"},"M16-GAP-01497":{"line":1496,"offset":258287,"length":172,"previous":"M16-GAP-01496","next":"M16-GAP-01498"},"M16-GAP-01498":{"line":1497,"offset":258459,"length":173,"previous":"M16-GAP-01497","next":"M16-GAP-01499"},"M16-GAP-01499":{"line":1498,"offset":258632,"length":173,"previous":"M16-GAP-01498","next":"M16-GAP-01500"},"M16-GAP-01500":{"line":1499,"offset":258805,"length":174,"previous":"M16-GAP-01499","next":"M16-GAP-01501"},"M16-GAP-01501":{"line":1500,"offset":258979,"length":168,"previous":"M16-GAP-01500","next":"M16-GAP-01502"},"M16-GAP-01502":{"line":1501,"offset":259147,"length":179,"previous":"M16-GAP-01501","next":"M16-GAP-01503"},"M16-GAP-01503":{"line":1502,"offset":259326,"length":174,"previous":"M16-GAP-01502","next":"M16-GAP-01504"},"M16-GAP-01504":{"line":1503,"offset":259500,"length":175,"previous":"M16-GAP-01503","next":"M16-GAP-01505"},"M16-GAP-01505":{"line":1504,"offset":259675,"length":178,"previous":"M16-GAP-01504","next":"M16-GAP-01506"},"M16-GAP-01506":{"line":1505,"offset":259853,"length":176,"previous":"M16-GAP-01505","next":"M16-GAP-01507"},"M16-GAP-01507":{"line":1506,"offset":260029,"length":180,"previous":"M16-GAP-01506","next":"M16-GAP-01508"},"M16-GAP-01508":{"line":1507,"offset":260209,"length":176,"previous":"M16-GAP-01507","next":"M16-GAP-01509"},"M16-GAP-01509":{"line":1508,"offset":260385,"length":178,"previous":"M16-GAP-01508","next":"M16-GAP-01510"},"M16-GAP-01510":{"line":1509,"offset":260563,"length":182,"previous":"M16-GAP-01509","next":"M16-GAP-01511"},"M16-GAP-01511":{"line":1510,"offset":260745,"length":185,"previous":"M16-GAP-01510","next":"M16-GAP-01512"},"M16-GAP-01512":{"line":1511,"offset":260930,"length":178,"previous":"M16-GAP-01511","next":"M16-GAP-01513"},"M16-GAP-01513":{"line":1512,"offset":261108,"length":173,"previous":"M16-GAP-01512","next":"M16-GAP-01514"},"M16-GAP-01514":{"line":1513,"offset":261281,"length":170,"previous":"M16-GAP-01513","next":"M16-GAP-01515"},"M16-GAP-01515":{"line":1514,"offset":261451,"length":166,"previous":"M16-GAP-01514","next":"M16-GAP-01516"},"M16-GAP-01516":{"line":1515,"offset":261617,"length":179,"previous":"M16-GAP-01515","next":"M16-GAP-01517"},"M16-GAP-01517":{"line":1516,"offset":261796,"length":170,"previous":"M16-GAP-01516","next":"M16-GAP-01518"},"M16-GAP-01518":{"line":1517,"offset":261966,"length":181,"previous":"M16-GAP-01517","next":"M16-GAP-01519"},"M16-GAP-01519":{"line":1518,"offset":262147,"length":172,"previous":"M16-GAP-01518","next":"M16-GAP-01520"},"M16-GAP-01520":{"line":1519,"offset":262319,"length":184,"previous":"M16-GAP-01519","next":"M16-GAP-01521"},"M16-GAP-01521":{"line":1520,"offset":262503,"length":174,"previous":"M16-GAP-01520","next":"M16-GAP-01522"},"M16-GAP-01522":{"line":1521,"offset":262677,"length":171,"previous":"M16-GAP-01521","next":"M16-GAP-01523"},"M16-GAP-01523":{"line":1522,"offset":262848,"length":183,"previous":"M16-GAP-01522","next":"M16-GAP-01524"},"M16-GAP-01524":{"line":1523,"offset":263031,"length":176,"previous":"M16-GAP-01523","next":"M16-GAP-01525"},"M16-GAP-01525":{"line":1524,"offset":263207,"length":180,"previous":"M16-GAP-01524","next":"M16-GAP-01526"},"M16-GAP-01526":{"line":1525,"offset":263387,"length":174,"previous":"M16-GAP-01525","next":"M16-GAP-01527"},"M16-GAP-01527":{"line":1526,"offset":263561,"length":173,"previous":"M16-GAP-01526","next":"M16-GAP-01528"},"M16-GAP-01528":{"line":1527,"offset":263734,"length":177,"previous":"M16-GAP-01527","next":"M16-GAP-01529"},"M16-GAP-01529":{"line":1528,"offset":263911,"length":173,"previous":"M16-GAP-01528","next":"M16-GAP-01530"},"M16-GAP-01530":{"line":1529,"offset":264084,"length":184,"previous":"M16-GAP-01529","next":"M16-GAP-01531"},"M16-GAP-01531":{"line":1530,"offset":264268,"length":176,"previous":"M16-GAP-01530","next":"M16-GAP-01532"},"M16-GAP-01532":{"line":1531,"offset":264444,"length":177,"previous":"M16-GAP-01531","next":"M16-GAP-01533"},"M16-GAP-01533":{"line":1532,"offset":264621,"length":180,"previous":"M16-GAP-01532","next":"M16-GAP-01534"},"M16-GAP-01534":{"line":1533,"offset":264801,"length":180,"previous":"M16-GAP-01533","next":"M16-GAP-01535"},"M16-GAP-01535":{"line":1534,"offset":264981,"length":187,"previous":"M16-GAP-01534","next":"M16-GAP-01536"},"M16-GAP-01536":{"line":1535,"offset":265168,"length":181,"previous":"M16-GAP-01535","next":"M16-GAP-01537"},"M16-GAP-01537":{"line":1536,"offset":265349,"length":174,"previous":"M16-GAP-01536","next":"M16-GAP-01538"},"M16-GAP-01538":{"line":1537,"offset":265523,"length":176,"previous":"M16-GAP-01537","next":"M16-GAP-01539"},"M16-GAP-01539":{"line":1538,"offset":265699,"length":178,"previous":"M16-GAP-01538","next":"M16-GAP-01540"},"M16-GAP-01540":{"line":1539,"offset":265877,"length":168,"previous":"M16-GAP-01539","next":"M16-GAP-01541"},"M16-GAP-01541":{"line":1540,"offset":266045,"length":170,"previous":"M16-GAP-01540","next":"M16-GAP-01542"},"M16-GAP-01542":{"line":1541,"offset":266215,"length":168,"previous":"M16-GAP-01541","next":"M16-GAP-01543"},"M16-GAP-01543":{"line":1542,"offset":266383,"length":170,"previous":"M16-GAP-01542","next":"M16-GAP-01544"},"M16-GAP-01544":{"line":1543,"offset":266553,"length":178,"previous":"M16-GAP-01543","next":"M16-GAP-01545"},"M16-GAP-01545":{"line":1544,"offset":266731,"length":179,"previous":"M16-GAP-01544","next":"M16-GAP-01546"},"M16-GAP-01546":{"line":1545,"offset":266910,"length":168,"previous":"M16-GAP-01545","next":"M16-GAP-01547"},"M16-GAP-01547":{"line":1546,"offset":267078,"length":177,"previous":"M16-GAP-01546","next":"M16-GAP-01548"},"M16-GAP-01548":{"line":1547,"offset":267255,"length":180,"previous":"M16-GAP-01547","next":"M16-GAP-01549"},"M16-GAP-01549":{"line":1548,"offset":267435,"length":173,"previous":"M16-GAP-01548","next":"M16-GAP-01550"},"M16-GAP-01550":{"line":1549,"offset":267608,"length":173,"previous":"M16-GAP-01549","next":"M16-GAP-01551"},"M16-GAP-01551":{"line":1550,"offset":267781,"length":169,"previous":"M16-GAP-01550","next":"M16-GAP-01552"},"M16-GAP-01552":{"line":1551,"offset":267950,"length":170,"previous":"M16-GAP-01551","next":"M16-GAP-01553"},"M16-GAP-01553":{"line":1552,"offset":268120,"length":178,"previous":"M16-GAP-01552","next":"M16-GAP-01554"},"M16-GAP-01554":{"line":1553,"offset":268298,"length":179,"previous":"M16-GAP-01553","next":"M16-GAP-01555"},"M16-GAP-01555":{"line":1554,"offset":268477,"length":173,"previous":"M16-GAP-01554","next":"M16-GAP-01556"},"M16-GAP-01556":{"line":1555,"offset":268650,"length":175,"previous":"M16-GAP-01555","next":"M16-GAP-01557"},"M16-GAP-01557":{"line":1556,"offset":268825,"length":171,"previous":"M16-GAP-01556","next":"M16-GAP-01558"},"M16-GAP-01558":{"line":1557,"offset":268996,"length":167,"previous":"M16-GAP-01557","next":"M16-GAP-01559"},"M16-GAP-01559":{"line":1558,"offset":269163,"length":170,"previous":"M16-GAP-01558","next":"M16-GAP-01560"},"M16-GAP-01560":{"line":1559,"offset":269333,"length":169,"previous":"M16-GAP-01559","next":"M16-GAP-01561"},"M16-GAP-01561":{"line":1560,"offset":269502,"length":177,"previous":"M16-GAP-01560","next":"M16-GAP-01562"},"M16-GAP-01562":{"line":1561,"offset":269679,"length":180,"previous":"M16-GAP-01561","next":"M16-GAP-01563"},"M16-GAP-01563":{"line":1562,"offset":269859,"length":172,"previous":"M16-GAP-01562","next":"M16-GAP-01564"},"M16-GAP-01564":{"line":1563,"offset":270031,"length":169,"previous":"M16-GAP-01563","next":"M16-GAP-01565"},"M16-GAP-01565":{"line":1564,"offset":270200,"length":168,"previous":"M16-GAP-01564","next":"M16-GAP-01566"},"M16-GAP-01566":{"line":1565,"offset":270368,"length":172,"previous":"M16-GAP-01565","next":"M16-GAP-01567"},"M16-GAP-01567":{"line":1566,"offset":270540,"length":171,"previous":"M16-GAP-01566","next":"M16-GAP-01568"},"M16-GAP-01568":{"line":1567,"offset":270711,"length":172,"previous":"M16-GAP-01567","next":"M16-GAP-01569"},"M16-GAP-01569":{"line":1568,"offset":270883,"length":174,"previous":"M16-GAP-01568","next":"M16-GAP-01570"},"M16-GAP-01570":{"line":1569,"offset":271057,"length":169,"previous":"M16-GAP-01569","next":"M16-GAP-01571"},"M16-GAP-01571":{"line":1570,"offset":271226,"length":171,"previous":"M16-GAP-01570","next":"M16-GAP-01572"},"M16-GAP-01572":{"line":1571,"offset":271397,"length":171,"previous":"M16-GAP-01571","next":"M16-GAP-01573"},"M16-GAP-01573":{"line":1572,"offset":271568,"length":169,"previous":"M16-GAP-01572","next":"M16-GAP-01574"},"M16-GAP-01574":{"line":1573,"offset":271737,"length":172,"previous":"M16-GAP-01573","next":"M16-GAP-01575"},"M16-GAP-01575":{"line":1574,"offset":271909,"length":171,"previous":"M16-GAP-01574","next":"M16-GAP-01576"},"M16-GAP-01576":{"line":1575,"offset":272080,"length":180,"previous":"M16-GAP-01575","next":"M16-GAP-01577"},"M16-GAP-01577":{"line":1576,"offset":272260,"length":175,"previous":"M16-GAP-01576","next":"M16-GAP-01578"},"M16-GAP-01578":{"line":1577,"offset":272435,"length":168,"previous":"M16-GAP-01577","next":"M16-GAP-01579"},"M16-GAP-01579":{"line":1578,"offset":272603,"length":170,"previous":"M16-GAP-01578","next":"M16-GAP-01580"},"M16-GAP-01580":{"line":1579,"offset":272773,"length":179,"previous":"M16-GAP-01579","next":"M16-GAP-01581"},"M16-GAP-01581":{"line":1580,"offset":272952,"length":170,"previous":"M16-GAP-01580","next":"M16-GAP-01582"},"M16-GAP-01582":{"line":1581,"offset":273122,"length":171,"previous":"M16-GAP-01581","next":"M16-GAP-01583"},"M16-GAP-01583":{"line":1582,"offset":273293,"length":176,"previous":"M16-GAP-01582","next":"M16-GAP-01584"},"M16-GAP-01584":{"line":1583,"offset":273469,"length":180,"previous":"M16-GAP-01583","next":"M16-GAP-01585"},"M16-GAP-01585":{"line":1584,"offset":273649,"length":174,"previous":"M16-GAP-01584","next":"M16-GAP-01586"},"M16-GAP-01586":{"line":1585,"offset":273823,"length":173,"previous":"M16-GAP-01585","next":"M16-GAP-01587"},"M16-GAP-01587":{"line":1586,"offset":273996,"length":171,"previous":"M16-GAP-01586","next":"M16-GAP-01588"},"M16-GAP-01588":{"line":1587,"offset":274167,"length":182,"previous":"M16-GAP-01587","next":"M16-GAP-01589"},"M16-GAP-01589":{"line":1588,"offset":274349,"length":173,"previous":"M16-GAP-01588","next":"M16-GAP-01590"},"M16-GAP-01590":{"line":1589,"offset":274522,"length":172,"previous":"M16-GAP-01589","next":"M16-GAP-01591"},"M16-GAP-01591":{"line":1590,"offset":274694,"length":172,"previous":"M16-GAP-01590","next":"M16-GAP-01592"},"M16-GAP-01592":{"line":1591,"offset":274866,"length":178,"previous":"M16-GAP-01591","next":"M16-GAP-01593"},"M16-GAP-01593":{"line":1592,"offset":275044,"length":174,"previous":"M16-GAP-01592","next":"M16-GAP-01594"},"M16-GAP-01594":{"line":1593,"offset":275218,"length":172,"previous":"M16-GAP-01593","next":"M16-GAP-01595"},"M16-GAP-01595":{"line":1594,"offset":275390,"length":174,"previous":"M16-GAP-01594","next":"M16-GAP-01596"},"M16-GAP-01596":{"line":1595,"offset":275564,"length":174,"previous":"M16-GAP-01595","next":"M16-GAP-01597"},"M16-GAP-01597":{"line":1596,"offset":275738,"length":176,"previous":"M16-GAP-01596","next":"M16-GAP-01598"},"M16-GAP-01598":{"line":1597,"offset":275914,"length":185,"previous":"M16-GAP-01597","next":"M16-GAP-01599"},"M16-GAP-01599":{"line":1598,"offset":276099,"length":199,"previous":"M16-GAP-01598","next":"M16-GAP-01600"},"M16-GAP-01600":{"line":1599,"offset":276298,"length":187,"previous":"M16-GAP-01599","next":"M16-GAP-01601"},"M16-GAP-01601":{"line":1600,"offset":276485,"length":178,"previous":"M16-GAP-01600","next":"M16-GAP-01602"},"M16-GAP-01602":{"line":1601,"offset":276663,"length":179,"previous":"M16-GAP-01601","next":"M16-GAP-01603"},"M16-GAP-01603":{"line":1602,"offset":276842,"length":177,"previous":"M16-GAP-01602","next":"M16-GAP-01604"},"M16-GAP-01604":{"line":1603,"offset":277019,"length":172,"previous":"M16-GAP-01603","next":"M16-GAP-01605"},"M16-GAP-01605":{"line":1604,"offset":277191,"length":169,"previous":"M16-GAP-01604","next":"M16-GAP-01606"},"M16-GAP-01606":{"line":1605,"offset":277360,"length":173,"previous":"M16-GAP-01605","next":"M16-GAP-01607"},"M16-GAP-01607":{"line":1606,"offset":277533,"length":176,"previous":"M16-GAP-01606","next":"M16-GAP-01608"},"M16-GAP-01608":{"line":1607,"offset":277709,"length":166,"previous":"M16-GAP-01607","next":"M16-GAP-01609"},"M16-GAP-01609":{"line":1608,"offset":277875,"length":169,"previous":"M16-GAP-01608","next":"M16-GAP-01610"},"M16-GAP-01610":{"line":1609,"offset":278044,"length":167,"previous":"M16-GAP-01609","next":"M16-GAP-01611"},"M16-GAP-01611":{"line":1610,"offset":278211,"length":171,"previous":"M16-GAP-01610","next":"M16-GAP-01612"},"M16-GAP-01612":{"line":1611,"offset":278382,"length":173,"previous":"M16-GAP-01611","next":"M16-GAP-01613"},"M16-GAP-01613":{"line":1612,"offset":278555,"length":179,"previous":"M16-GAP-01612","next":"M16-GAP-01614"},"M16-GAP-01614":{"line":1613,"offset":278734,"length":176,"previous":"M16-GAP-01613","next":"M16-GAP-01615"},"M16-GAP-01615":{"line":1614,"offset":278910,"length":178,"previous":"M16-GAP-01614","next":"M16-GAP-01616"},"M16-GAP-01616":{"line":1615,"offset":279088,"length":169,"previous":"M16-GAP-01615","next":"M16-GAP-01617"},"M16-GAP-01617":{"line":1616,"offset":279257,"length":171,"previous":"M16-GAP-01616","next":"M16-GAP-01618"},"M16-GAP-01618":{"line":1617,"offset":279428,"length":174,"previous":"M16-GAP-01617","next":"M16-GAP-01619"},"M16-GAP-01619":{"line":1618,"offset":279602,"length":177,"previous":"M16-GAP-01618","next":"M16-GAP-01620"},"M16-GAP-01620":{"line":1619,"offset":279779,"length":181,"previous":"M16-GAP-01619","next":"M16-GAP-01621"},"M16-GAP-01621":{"line":1620,"offset":279960,"length":176,"previous":"M16-GAP-01620","next":"M16-GAP-01622"},"M16-GAP-01622":{"line":1621,"offset":280136,"length":175,"previous":"M16-GAP-01621","next":"M16-GAP-01623"},"M16-GAP-01623":{"line":1622,"offset":280311,"length":187,"previous":"M16-GAP-01622","next":"M16-GAP-01624"},"M16-GAP-01624":{"line":1623,"offset":280498,"length":179,"previous":"M16-GAP-01623","next":"M16-GAP-01625"},"M16-GAP-01625":{"line":1624,"offset":280677,"length":177,"previous":"M16-GAP-01624","next":"M16-GAP-01626"},"M16-GAP-01626":{"line":1625,"offset":280854,"length":177,"previous":"M16-GAP-01625","next":"M16-GAP-01627"},"M16-GAP-01627":{"line":1626,"offset":281031,"length":182,"previous":"M16-GAP-01626","next":"M16-GAP-01628"},"M16-GAP-01628":{"line":1627,"offset":281213,"length":175,"previous":"M16-GAP-01627","next":"M16-GAP-01629"},"M16-GAP-01629":{"line":1628,"offset":281388,"length":177,"previous":"M16-GAP-01628","next":"M16-GAP-01630"},"M16-GAP-01630":{"line":1629,"offset":281565,"length":175,"previous":"M16-GAP-01629","next":"M16-GAP-01631"},"M16-GAP-01631":{"line":1630,"offset":281740,"length":180,"previous":"M16-GAP-01630","next":"M16-GAP-01632"},"M16-GAP-01632":{"line":1631,"offset":281920,"length":184,"previous":"M16-GAP-01631","next":"M16-GAP-01633"},"M16-GAP-01633":{"line":1632,"offset":282104,"length":179,"previous":"M16-GAP-01632","next":"M16-GAP-01634"},"M16-GAP-01634":{"line":1633,"offset":282283,"length":177,"previous":"M16-GAP-01633","next":"M16-GAP-01635"},"M16-GAP-01635":{"line":1634,"offset":282460,"length":182,"previous":"M16-GAP-01634","next":"M16-GAP-01636"},"M16-GAP-01636":{"line":1635,"offset":282642,"length":177,"previous":"M16-GAP-01635","next":"M16-GAP-01637"},"M16-GAP-01637":{"line":1636,"offset":282819,"length":181,"previous":"M16-GAP-01636","next":"M16-GAP-01638"},"M16-GAP-01638":{"line":1637,"offset":283000,"length":177,"previous":"M16-GAP-01637","next":"M16-GAP-01639"},"M16-GAP-01639":{"line":1638,"offset":283177,"length":175,"previous":"M16-GAP-01638","next":"M16-GAP-01640"},"M16-GAP-01640":{"line":1639,"offset":283352,"length":175,"previous":"M16-GAP-01639","next":"M16-GAP-01641"},"M16-GAP-01641":{"line":1640,"offset":283527,"length":176,"previous":"M16-GAP-01640","next":"M16-GAP-01642"},"M16-GAP-01642":{"line":1641,"offset":283703,"length":178,"previous":"M16-GAP-01641","next":"M16-GAP-01643"},"M16-GAP-01643":{"line":1642,"offset":283881,"length":195,"previous":"M16-GAP-01642","next":"M16-GAP-01644"},"M16-GAP-01644":{"line":1643,"offset":284076,"length":177,"previous":"M16-GAP-01643","next":"M16-GAP-01645"},"M16-GAP-01645":{"line":1644,"offset":284253,"length":182,"previous":"M16-GAP-01644","next":"M16-GAP-01646"},"M16-GAP-01646":{"line":1645,"offset":284435,"length":184,"previous":"M16-GAP-01645","next":"M16-GAP-01647"},"M16-GAP-01647":{"line":1646,"offset":284619,"length":180,"previous":"M16-GAP-01646","next":"M16-GAP-01648"},"M16-GAP-01648":{"line":1647,"offset":284799,"length":168,"previous":"M16-GAP-01647","next":"M16-GAP-01649"},"M16-GAP-01649":{"line":1648,"offset":284967,"length":171,"previous":"M16-GAP-01648","next":"M16-GAP-01650"},"M16-GAP-01650":{"line":1649,"offset":285138,"length":170,"previous":"M16-GAP-01649","next":"M16-GAP-01651"},"M16-GAP-01651":{"line":1650,"offset":285308,"length":173,"previous":"M16-GAP-01650","next":"M16-GAP-01652"},"M16-GAP-01652":{"line":1651,"offset":285481,"length":170,"previous":"M16-GAP-01651","next":"M16-GAP-01653"},"M16-GAP-01653":{"line":1652,"offset":285651,"length":178,"previous":"M16-GAP-01652","next":"M16-GAP-01654"},"M16-GAP-01654":{"line":1653,"offset":285829,"length":172,"previous":"M16-GAP-01653","next":"M16-GAP-01655"},"M16-GAP-01655":{"line":1654,"offset":286001,"length":184,"previous":"M16-GAP-01654","next":"M16-GAP-01656"},"M16-GAP-01656":{"line":1655,"offset":286185,"length":178,"previous":"M16-GAP-01655","next":"M16-GAP-01657"},"M16-GAP-01657":{"line":1656,"offset":286363,"length":185,"previous":"M16-GAP-01656","next":"M16-GAP-01658"},"M16-GAP-01658":{"line":1657,"offset":286548,"length":175,"previous":"M16-GAP-01657","next":"M16-GAP-01659"},"M16-GAP-01659":{"line":1658,"offset":286723,"length":180,"previous":"M16-GAP-01658","next":"M16-GAP-01660"},"M16-GAP-01660":{"line":1659,"offset":286903,"length":187,"previous":"M16-GAP-01659","next":"M16-GAP-01661"},"M16-GAP-01661":{"line":1660,"offset":287090,"length":177,"previous":"M16-GAP-01660","next":"M16-GAP-01662"},"M16-GAP-01662":{"line":1661,"offset":287267,"length":184,"previous":"M16-GAP-01661","next":"M16-GAP-01663"},"M16-GAP-01663":{"line":1662,"offset":287451,"length":184,"previous":"M16-GAP-01662","next":"M16-GAP-01664"},"M16-GAP-01664":{"line":1663,"offset":287635,"length":182,"previous":"M16-GAP-01663","next":"M16-GAP-01665"},"M16-GAP-01665":{"line":1664,"offset":287817,"length":175,"previous":"M16-GAP-01664","next":"M16-GAP-01666"},"M16-GAP-01666":{"line":1665,"offset":287992,"length":182,"previous":"M16-GAP-01665","next":"M16-GAP-01667"},"M16-GAP-01667":{"line":1666,"offset":288174,"length":187,"previous":"M16-GAP-01666","next":"M16-GAP-01668"},"M16-GAP-01668":{"line":1667,"offset":288361,"length":184,"previous":"M16-GAP-01667","next":"M16-GAP-01669"},"M16-GAP-01669":{"line":1668,"offset":288545,"length":182,"previous":"M16-GAP-01668","next":"M16-GAP-01670"},"M16-GAP-01670":{"line":1669,"offset":288727,"length":190,"previous":"M16-GAP-01669","next":"M16-GAP-01671"},"M16-GAP-01671":{"line":1670,"offset":288917,"length":188,"previous":"M16-GAP-01670","next":"M16-GAP-01672"},"M16-GAP-01672":{"line":1671,"offset":289105,"length":179,"previous":"M16-GAP-01671","next":"M16-GAP-01673"},"M16-GAP-01673":{"line":1672,"offset":289284,"length":178,"previous":"M16-GAP-01672","next":"M16-GAP-01674"},"M16-GAP-01674":{"line":1673,"offset":289462,"length":175,"previous":"M16-GAP-01673","next":"M16-GAP-01675"},"M16-GAP-01675":{"line":1674,"offset":289637,"length":174,"previous":"M16-GAP-01674","next":"M16-GAP-01676"},"M16-GAP-01676":{"line":1675,"offset":289811,"length":187,"previous":"M16-GAP-01675","next":"M16-GAP-01677"},"M16-GAP-01677":{"line":1676,"offset":289998,"length":185,"previous":"M16-GAP-01676","next":"M16-GAP-01678"},"M16-GAP-01678":{"line":1677,"offset":290183,"length":175,"previous":"M16-GAP-01677","next":"M16-GAP-01679"},"M16-GAP-01679":{"line":1678,"offset":290358,"length":182,"previous":"M16-GAP-01678","next":"M16-GAP-01680"},"M16-GAP-01680":{"line":1679,"offset":290540,"length":180,"previous":"M16-GAP-01679","next":"M16-GAP-01681"},"M16-GAP-01681":{"line":1680,"offset":290720,"length":174,"previous":"M16-GAP-01680","next":"M16-GAP-01682"},"M16-GAP-01682":{"line":1681,"offset":290894,"length":174,"previous":"M16-GAP-01681","next":"M16-GAP-01683"},"M16-GAP-01683":{"line":1682,"offset":291068,"length":166,"previous":"M16-GAP-01682","next":"M16-GAP-01684"},"M16-GAP-01684":{"line":1683,"offset":291234,"length":180,"previous":"M16-GAP-01683","next":"M16-GAP-01685"},"M16-GAP-01685":{"line":1684,"offset":291414,"length":183,"previous":"M16-GAP-01684","next":"M16-GAP-01686"},"M16-GAP-01686":{"line":1685,"offset":291597,"length":175,"previous":"M16-GAP-01685","next":"M16-GAP-01687"},"M16-GAP-01687":{"line":1686,"offset":291772,"length":164,"previous":"M16-GAP-01686","next":"M16-GAP-01688"},"M16-GAP-01688":{"line":1687,"offset":291936,"length":176,"previous":"M16-GAP-01687","next":"M16-GAP-01689"},"M16-GAP-01689":{"line":1688,"offset":292112,"length":167,"previous":"M16-GAP-01688","next":"M16-GAP-01690"},"M16-GAP-01690":{"line":1689,"offset":292279,"length":169,"previous":"M16-GAP-01689","next":"M16-GAP-01691"},"M16-GAP-01691":{"line":1690,"offset":292448,"length":178,"previous":"M16-GAP-01690","next":"M16-GAP-01692"},"M16-GAP-01692":{"line":1691,"offset":292626,"length":172,"previous":"M16-GAP-01691","next":"M16-GAP-01693"},"M16-GAP-01693":{"line":1692,"offset":292798,"length":168,"previous":"M16-GAP-01692","next":"M16-GAP-01694"},"M16-GAP-01694":{"line":1693,"offset":292966,"length":168,"previous":"M16-GAP-01693","next":"M16-GAP-01695"},"M16-GAP-01695":{"line":1694,"offset":293134,"length":173,"previous":"M16-GAP-01694","next":"M16-GAP-01696"},"M16-GAP-01696":{"line":1695,"offset":293307,"length":174,"previous":"M16-GAP-01695","next":"M16-GAP-01697"},"M16-GAP-01697":{"line":1696,"offset":293481,"length":174,"previous":"M16-GAP-01696","next":"M16-GAP-01698"},"M16-GAP-01698":{"line":1697,"offset":293655,"length":171,"previous":"M16-GAP-01697","next":"M16-GAP-01699"},"M16-GAP-01699":{"line":1698,"offset":293826,"length":182,"previous":"M16-GAP-01698","next":"M16-GAP-01700"},"M16-GAP-01700":{"line":1699,"offset":294008,"length":185,"previous":"M16-GAP-01699","next":"M16-GAP-01701"},"M16-GAP-01701":{"line":1700,"offset":294193,"length":173,"previous":"M16-GAP-01700","next":"M16-GAP-01702"},"M16-GAP-01702":{"line":1701,"offset":294366,"length":172,"previous":"M16-GAP-01701","next":"M16-GAP-01703"},"M16-GAP-01703":{"line":1702,"offset":294538,"length":181,"previous":"M16-GAP-01702","next":"M16-GAP-01704"},"M16-GAP-01704":{"line":1703,"offset":294719,"length":187,"previous":"M16-GAP-01703","next":"M16-GAP-01705"},"M16-GAP-01705":{"line":1704,"offset":294906,"length":194,"previous":"M16-GAP-01704","next":"M16-GAP-01706"},"M16-GAP-01706":{"line":1705,"offset":295100,"length":173,"previous":"M16-GAP-01705","next":"M16-GAP-01707"},"M16-GAP-01707":{"line":1706,"offset":295273,"length":178,"previous":"M16-GAP-01706","next":"M16-GAP-01708"},"M16-GAP-01708":{"line":1707,"offset":295451,"length":176,"previous":"M16-GAP-01707","next":"M16-GAP-01709"},"M16-GAP-01709":{"line":1708,"offset":295627,"length":169,"previous":"M16-GAP-01708","next":"M16-GAP-01710"},"M16-GAP-01710":{"line":1709,"offset":295796,"length":174,"previous":"M16-GAP-01709","next":"M16-GAP-01711"},"M16-GAP-01711":{"line":1710,"offset":295970,"length":173,"previous":"M16-GAP-01710","next":"M16-GAP-01712"},"M16-GAP-01712":{"line":1711,"offset":296143,"length":172,"previous":"M16-GAP-01711","next":"M16-GAP-01713"},"M16-GAP-01713":{"line":1712,"offset":296315,"length":171,"previous":"M16-GAP-01712","next":"M16-GAP-01714"},"M16-GAP-01714":{"line":1713,"offset":296486,"length":170,"previous":"M16-GAP-01713","next":"M16-GAP-01715"},"M16-GAP-01715":{"line":1714,"offset":296656,"length":175,"previous":"M16-GAP-01714","next":"M16-GAP-01716"},"M16-GAP-01716":{"line":1715,"offset":296831,"length":171,"previous":"M16-GAP-01715","next":"M16-GAP-01717"},"M16-GAP-01717":{"line":1716,"offset":297002,"length":170,"previous":"M16-GAP-01716","next":"M16-GAP-01718"},"M16-GAP-01718":{"line":1717,"offset":297172,"length":170,"previous":"M16-GAP-01717","next":"M16-GAP-01719"},"M16-GAP-01719":{"line":1718,"offset":297342,"length":171,"previous":"M16-GAP-01718","next":"M16-GAP-01720"},"M16-GAP-01720":{"line":1719,"offset":297513,"length":171,"previous":"M16-GAP-01719","next":"M16-GAP-01721"},"M16-GAP-01721":{"line":1720,"offset":297684,"length":174,"previous":"M16-GAP-01720","next":"M16-GAP-01722"},"M16-GAP-01722":{"line":1721,"offset":297858,"length":174,"previous":"M16-GAP-01721","next":"M16-GAP-01723"},"M16-GAP-01723":{"line":1722,"offset":298032,"length":172,"previous":"M16-GAP-01722","next":"M16-GAP-01724"},"M16-GAP-01724":{"line":1723,"offset":298204,"length":170,"previous":"M16-GAP-01723","next":"M16-GAP-01725"},"M16-GAP-01725":{"line":1724,"offset":298374,"length":171,"previous":"M16-GAP-01724","next":"M16-GAP-01726"},"M16-GAP-01726":{"line":1725,"offset":298545,"length":179,"previous":"M16-GAP-01725","next":"M16-GAP-01727"},"M16-GAP-01727":{"line":1726,"offset":298724,"length":174,"previous":"M16-GAP-01726","next":"M16-GAP-01728"},"M16-GAP-01728":{"line":1727,"offset":298898,"length":172,"previous":"M16-GAP-01727","next":"M16-GAP-01729"},"M16-GAP-01729":{"line":1728,"offset":299070,"length":173,"previous":"M16-GAP-01728","next":"M16-GAP-01730"},"M16-GAP-01730":{"line":1729,"offset":299243,"length":173,"previous":"M16-GAP-01729","next":"M16-GAP-01731"},"M16-GAP-01731":{"line":1730,"offset":299416,"length":175,"previous":"M16-GAP-01730","next":"M16-GAP-01732"},"M16-GAP-01732":{"line":1731,"offset":299591,"length":180,"previous":"M16-GAP-01731","next":"M16-GAP-01733"},"M16-GAP-01733":{"line":1732,"offset":299771,"length":173,"previous":"M16-GAP-01732","next":"M16-GAP-01734"},"M16-GAP-01734":{"line":1733,"offset":299944,"length":173,"previous":"M16-GAP-01733","next":"M16-GAP-01735"},"M16-GAP-01735":{"line":1734,"offset":300117,"length":173,"previous":"M16-GAP-01734","next":"M16-GAP-01736"},"M16-GAP-01736":{"line":1735,"offset":300290,"length":167,"previous":"M16-GAP-01735","next":"M16-GAP-01737"},"M16-GAP-01737":{"line":1736,"offset":300457,"length":166,"previous":"M16-GAP-01736","next":"M16-GAP-01738"},"M16-GAP-01738":{"line":1737,"offset":300623,"length":170,"previous":"M16-GAP-01737","next":"M16-GAP-01739"},"M16-GAP-01739":{"line":1738,"offset":300793,"length":180,"previous":"M16-GAP-01738","next":"M16-GAP-01740"},"M16-GAP-01740":{"line":1739,"offset":300973,"length":179,"previous":"M16-GAP-01739","next":"M16-GAP-01741"},"M16-GAP-01741":{"line":1740,"offset":301152,"length":173,"previous":"M16-GAP-01740","next":"M16-GAP-01742"},"M16-GAP-01742":{"line":1741,"offset":301325,"length":183,"previous":"M16-GAP-01741","next":"M16-GAP-01743"},"M16-GAP-01743":{"line":1742,"offset":301508,"length":172,"previous":"M16-GAP-01742","next":"M16-GAP-01744"},"M16-GAP-01744":{"line":1743,"offset":301680,"length":168,"previous":"M16-GAP-01743","next":"M16-GAP-01745"},"M16-GAP-01745":{"line":1744,"offset":301848,"length":173,"previous":"M16-GAP-01744","next":"M16-GAP-01746"},"M16-GAP-01746":{"line":1745,"offset":302021,"length":172,"previous":"M16-GAP-01745","next":"M16-GAP-01747"},"M16-GAP-01747":{"line":1746,"offset":302193,"length":175,"previous":"M16-GAP-01746","next":"M16-GAP-01748"},"M16-GAP-01748":{"line":1747,"offset":302368,"length":174,"previous":"M16-GAP-01747","next":"M16-GAP-01749"},"M16-GAP-01749":{"line":1748,"offset":302542,"length":178,"previous":"M16-GAP-01748","next":"M16-GAP-01750"},"M16-GAP-01750":{"line":1749,"offset":302720,"length":170,"previous":"M16-GAP-01749","next":"M16-GAP-01751"},"M16-GAP-01751":{"line":1750,"offset":302890,"length":169,"previous":"M16-GAP-01750","next":"M16-GAP-01752"},"M16-GAP-01752":{"line":1751,"offset":303059,"length":177,"previous":"M16-GAP-01751","next":"M16-GAP-01753"},"M16-GAP-01753":{"line":1752,"offset":303236,"length":172,"previous":"M16-GAP-01752","next":"M16-GAP-01754"},"M16-GAP-01754":{"line":1753,"offset":303408,"length":173,"previous":"M16-GAP-01753","next":"M16-GAP-01755"},"M16-GAP-01755":{"line":1754,"offset":303581,"length":173,"previous":"M16-GAP-01754","next":"M16-GAP-01756"},"M16-GAP-01756":{"line":1755,"offset":303754,"length":175,"previous":"M16-GAP-01755","next":"M16-GAP-01757"},"M16-GAP-01757":{"line":1756,"offset":303929,"length":180,"previous":"M16-GAP-01756","next":"M16-GAP-01758"},"M16-GAP-01758":{"line":1757,"offset":304109,"length":173,"previous":"M16-GAP-01757","next":"M16-GAP-01759"},"M16-GAP-01759":{"line":1758,"offset":304282,"length":173,"previous":"M16-GAP-01758","next":"M16-GAP-01760"},"M16-GAP-01760":{"line":1759,"offset":304455,"length":178,"previous":"M16-GAP-01759","next":"M16-GAP-01761"},"M16-GAP-01761":{"line":1760,"offset":304633,"length":189,"previous":"M16-GAP-01760","next":"M16-GAP-01762"},"M16-GAP-01762":{"line":1761,"offset":304822,"length":174,"previous":"M16-GAP-01761","next":"M16-GAP-01763"},"M16-GAP-01763":{"line":1762,"offset":304996,"length":181,"previous":"M16-GAP-01762","next":"M16-GAP-01764"},"M16-GAP-01764":{"line":1763,"offset":305177,"length":173,"previous":"M16-GAP-01763","next":"M16-GAP-01765"},"M16-GAP-01765":{"line":1764,"offset":305350,"length":176,"previous":"M16-GAP-01764","next":"M16-GAP-01766"},"M16-GAP-01766":{"line":1765,"offset":305526,"length":176,"previous":"M16-GAP-01765","next":"M16-GAP-01767"},"M16-GAP-01767":{"line":1766,"offset":305702,"length":173,"previous":"M16-GAP-01766","next":"M16-GAP-01768"},"M16-GAP-01768":{"line":1767,"offset":305875,"length":176,"previous":"M16-GAP-01767","next":"M16-GAP-01769"},"M16-GAP-01769":{"line":1768,"offset":306051,"length":169,"previous":"M16-GAP-01768","next":"M16-GAP-01770"},"M16-GAP-01770":{"line":1769,"offset":306220,"length":176,"previous":"M16-GAP-01769","next":"M16-GAP-01771"},"M16-GAP-01771":{"line":1770,"offset":306396,"length":174,"previous":"M16-GAP-01770","next":"M16-GAP-01772"},"M16-GAP-01772":{"line":1771,"offset":306570,"length":174,"previous":"M16-GAP-01771","next":"M16-GAP-01773"},"M16-GAP-01773":{"line":1772,"offset":306744,"length":174,"previous":"M16-GAP-01772","next":"M16-GAP-01774"},"M16-GAP-01774":{"line":1773,"offset":306918,"length":172,"previous":"M16-GAP-01773","next":"M16-GAP-01775"},"M16-GAP-01775":{"line":1774,"offset":307090,"length":169,"previous":"M16-GAP-01774","next":"M16-GAP-01776"},"M16-GAP-01776":{"line":1775,"offset":307259,"length":176,"previous":"M16-GAP-01775","next":"M16-GAP-01777"},"M16-GAP-01777":{"line":1776,"offset":307435,"length":170,"previous":"M16-GAP-01776","next":"M16-GAP-01778"},"M16-GAP-01778":{"line":1777,"offset":307605,"length":176,"previous":"M16-GAP-01777","next":"M16-GAP-01779"},"M16-GAP-01779":{"line":1778,"offset":307781,"length":167,"previous":"M16-GAP-01778","next":"M16-GAP-01780"},"M16-GAP-01780":{"line":1779,"offset":307948,"length":171,"previous":"M16-GAP-01779","next":"M16-GAP-01781"},"M16-GAP-01781":{"line":1780,"offset":308119,"length":177,"previous":"M16-GAP-01780","next":"M16-GAP-01782"},"M16-GAP-01782":{"line":1781,"offset":308296,"length":168,"previous":"M16-GAP-01781","next":"M16-GAP-01783"},"M16-GAP-01783":{"line":1782,"offset":308464,"length":174,"previous":"M16-GAP-01782","next":"M16-GAP-01784"},"M16-GAP-01784":{"line":1783,"offset":308638,"length":166,"previous":"M16-GAP-01783","next":"M16-GAP-01785"},"M16-GAP-01785":{"line":1784,"offset":308804,"length":165,"previous":"M16-GAP-01784","next":"M16-GAP-01786"},"M16-GAP-01786":{"line":1785,"offset":308969,"length":168,"previous":"M16-GAP-01785","next":"M16-GAP-01787"},"M16-GAP-01787":{"line":1786,"offset":309137,"length":167,"previous":"M16-GAP-01786","next":"M16-GAP-01788"},"M16-GAP-01788":{"line":1787,"offset":309304,"length":168,"previous":"M16-GAP-01787","next":"M16-GAP-01789"},"M16-GAP-01789":{"line":1788,"offset":309472,"length":171,"previous":"M16-GAP-01788","next":"M16-GAP-01790"},"M16-GAP-01790":{"line":1789,"offset":309643,"length":169,"previous":"M16-GAP-01789","next":"M16-GAP-01791"},"M16-GAP-01791":{"line":1790,"offset":309812,"length":177,"previous":"M16-GAP-01790","next":"M16-GAP-01792"},"M16-GAP-01792":{"line":1791,"offset":309989,"length":163,"previous":"M16-GAP-01791","next":"M16-GAP-01793"},"M16-GAP-01793":{"line":1792,"offset":310152,"length":162,"previous":"M16-GAP-01792","next":"M16-GAP-01794"},"M16-GAP-01794":{"line":1793,"offset":310314,"length":163,"previous":"M16-GAP-01793","next":"M16-GAP-01795"},"M16-GAP-01795":{"line":1794,"offset":310477,"length":170,"previous":"M16-GAP-01794","next":"M16-GAP-01796"},"M16-GAP-01796":{"line":1795,"offset":310647,"length":172,"previous":"M16-GAP-01795","next":"M16-GAP-01797"},"M16-GAP-01797":{"line":1796,"offset":310819,"length":181,"previous":"M16-GAP-01796","next":"M16-GAP-01798"},"M16-GAP-01798":{"line":1797,"offset":311000,"length":166,"previous":"M16-GAP-01797","next":"M16-GAP-01799"},"M16-GAP-01799":{"line":1798,"offset":311166,"length":175,"previous":"M16-GAP-01798","next":"M16-GAP-01800"},"M16-GAP-01800":{"line":1799,"offset":311341,"length":185,"previous":"M16-GAP-01799","next":"M16-GAP-01801"},"M16-GAP-01801":{"line":1800,"offset":311526,"length":172,"previous":"M16-GAP-01800","next":"M16-GAP-01802"},"M16-GAP-01802":{"line":1801,"offset":311698,"length":177,"previous":"M16-GAP-01801","next":"M16-GAP-01803"},"M16-GAP-01803":{"line":1802,"offset":311875,"length":175,"previous":"M16-GAP-01802","next":"M16-GAP-01804"},"M16-GAP-01804":{"line":1803,"offset":312050,"length":175,"previous":"M16-GAP-01803","next":"M16-GAP-01805"},"M16-GAP-01805":{"line":1804,"offset":312225,"length":174,"previous":"M16-GAP-01804","next":"M16-GAP-01806"},"M16-GAP-01806":{"line":1805,"offset":312399,"length":172,"previous":"M16-GAP-01805","next":"M16-GAP-01807"},"M16-GAP-01807":{"line":1806,"offset":312571,"length":184,"previous":"M16-GAP-01806","next":"M16-GAP-01808"},"M16-GAP-01808":{"line":1807,"offset":312755,"length":164,"previous":"M16-GAP-01807","next":"M16-GAP-01809"},"M16-GAP-01809":{"line":1808,"offset":312919,"length":166,"previous":"M16-GAP-01808","next":"M16-GAP-01810"},"M16-GAP-01810":{"line":1809,"offset":313085,"length":163,"previous":"M16-GAP-01809","next":"M16-GAP-01811"},"M16-GAP-01811":{"line":1810,"offset":313248,"length":170,"previous":"M16-GAP-01810","next":"M16-GAP-01812"},"M16-GAP-01812":{"line":1811,"offset":313418,"length":180,"previous":"M16-GAP-01811","next":"M16-GAP-01813"},"M16-GAP-01813":{"line":1812,"offset":313598,"length":186,"previous":"M16-GAP-01812","next":"M16-GAP-01814"},"M16-GAP-01814":{"line":1813,"offset":313784,"length":165,"previous":"M16-GAP-01813","next":"M16-GAP-01815"},"M16-GAP-01815":{"line":1814,"offset":313949,"length":174,"previous":"M16-GAP-01814","next":"M16-GAP-01816"},"M16-GAP-01816":{"line":1815,"offset":314123,"length":166,"previous":"M16-GAP-01815","next":"M16-GAP-01817"},"M16-GAP-01817":{"line":1816,"offset":314289,"length":170,"previous":"M16-GAP-01816","next":"M16-GAP-01818"},"M16-GAP-01818":{"line":1817,"offset":314459,"length":171,"previous":"M16-GAP-01817","next":"M16-GAP-01819"},"M16-GAP-01819":{"line":1818,"offset":314630,"length":173,"previous":"M16-GAP-01818","next":"M16-GAP-01820"},"M16-GAP-01820":{"line":1819,"offset":314803,"length":178,"previous":"M16-GAP-01819","next":"M16-GAP-01821"},"M16-GAP-01821":{"line":1820,"offset":314981,"length":171,"previous":"M16-GAP-01820","next":"M16-GAP-01822"},"M16-GAP-01822":{"line":1821,"offset":315152,"length":173,"previous":"M16-GAP-01821","next":"M16-GAP-01823"},"M16-GAP-01823":{"line":1822,"offset":315325,"length":172,"previous":"M16-GAP-01822","next":"M16-GAP-01824"},"M16-GAP-01824":{"line":1823,"offset":315497,"length":171,"previous":"M16-GAP-01823","next":"M16-GAP-01825"},"M16-GAP-01825":{"line":1824,"offset":315668,"length":169,"previous":"M16-GAP-01824","next":"M16-GAP-01826"},"M16-GAP-01826":{"line":1825,"offset":315837,"length":169,"previous":"M16-GAP-01825","next":"M16-GAP-01827"},"M16-GAP-01827":{"line":1826,"offset":316006,"length":176,"previous":"M16-GAP-01826","next":"M16-GAP-01828"},"M16-GAP-01828":{"line":1827,"offset":316182,"length":174,"previous":"M16-GAP-01827","next":"M16-GAP-01829"},"M16-GAP-01829":{"line":1828,"offset":316356,"length":173,"previous":"M16-GAP-01828","next":"M16-GAP-01830"},"M16-GAP-01830":{"line":1829,"offset":316529,"length":172,"previous":"M16-GAP-01829","next":"M16-GAP-01831"},"M16-GAP-01831":{"line":1830,"offset":316701,"length":170,"previous":"M16-GAP-01830","next":"M16-GAP-01832"},"M16-GAP-01832":{"line":1831,"offset":316871,"length":175,"previous":"M16-GAP-01831","next":"M16-GAP-01833"},"M16-GAP-01833":{"line":1832,"offset":317046,"length":168,"previous":"M16-GAP-01832","next":"M16-GAP-01834"},"M16-GAP-01834":{"line":1833,"offset":317214,"length":171,"previous":"M16-GAP-01833","next":"M16-GAP-01835"},"M16-GAP-01835":{"line":1834,"offset":317385,"length":176,"previous":"M16-GAP-01834","next":"M16-GAP-01836"},"M16-GAP-01836":{"line":1835,"offset":317561,"length":172,"previous":"M16-GAP-01835","next":"M16-GAP-01837"},"M16-GAP-01837":{"line":1836,"offset":317733,"length":175,"previous":"M16-GAP-01836","next":"M16-GAP-01838"},"M16-GAP-01838":{"line":1837,"offset":317908,"length":170,"previous":"M16-GAP-01837","next":"M16-GAP-01839"},"M16-GAP-01839":{"line":1838,"offset":318078,"length":170,"previous":"M16-GAP-01838","next":"M16-GAP-01840"},"M16-GAP-01840":{"line":1839,"offset":318248,"length":170,"previous":"M16-GAP-01839","next":"M16-GAP-01841"},"M16-GAP-01841":{"line":1840,"offset":318418,"length":173,"previous":"M16-GAP-01840","next":"M16-GAP-01842"},"M16-GAP-01842":{"line":1841,"offset":318591,"length":171,"previous":"M16-GAP-01841","next":"M16-GAP-01843"},"M16-GAP-01843":{"line":1842,"offset":318762,"length":165,"previous":"M16-GAP-01842","next":"M16-GAP-01844"},"M16-GAP-01844":{"line":1843,"offset":318927,"length":170,"previous":"M16-GAP-01843","next":"M16-GAP-01845"},"M16-GAP-01845":{"line":1844,"offset":319097,"length":183,"previous":"M16-GAP-01844","next":"M16-GAP-01846"},"M16-GAP-01846":{"line":1845,"offset":319280,"length":173,"previous":"M16-GAP-01845","next":"M16-GAP-01847"},"M16-GAP-01847":{"line":1846,"offset":319453,"length":172,"previous":"M16-GAP-01846","next":"M16-GAP-01848"},"M16-GAP-01848":{"line":1847,"offset":319625,"length":160,"previous":"M16-GAP-01847","next":"M16-GAP-01849"},"M16-GAP-01849":{"line":1848,"offset":319785,"length":166,"previous":"M16-GAP-01848","next":"M16-GAP-01850"},"M16-GAP-01850":{"line":1849,"offset":319951,"length":160,"previous":"M16-GAP-01849","next":"M16-GAP-01851"},"M16-GAP-01851":{"line":1850,"offset":320111,"length":162,"previous":"M16-GAP-01850","next":"M16-GAP-01852"},"M16-GAP-01852":{"line":1851,"offset":320273,"length":164,"previous":"M16-GAP-01851","next":"M16-GAP-01853"},"M16-GAP-01853":{"line":1852,"offset":320437,"length":165,"previous":"M16-GAP-01852","next":"M16-GAP-01854"},"M16-GAP-01854":{"line":1853,"offset":320602,"length":161,"previous":"M16-GAP-01853","next":"M16-GAP-01855"},"M16-GAP-01855":{"line":1854,"offset":320763,"length":171,"previous":"M16-GAP-01854","next":"M16-GAP-01856"},"M16-GAP-01856":{"line":1855,"offset":320934,"length":167,"previous":"M16-GAP-01855","next":"M16-GAP-01857"},"M16-GAP-01857":{"line":1856,"offset":321101,"length":174,"previous":"M16-GAP-01856","next":"M16-GAP-01858"},"M16-GAP-01858":{"line":1857,"offset":321275,"length":168,"previous":"M16-GAP-01857","next":"M16-GAP-01859"},"M16-GAP-01859":{"line":1858,"offset":321443,"length":165,"previous":"M16-GAP-01858","next":"M16-GAP-01860"},"M16-GAP-01860":{"line":1859,"offset":321608,"length":160,"previous":"M16-GAP-01859","next":"M16-GAP-01861"},"M16-GAP-01861":{"line":1860,"offset":321768,"length":172,"previous":"M16-GAP-01860","next":"M16-GAP-01862"},"M16-GAP-01862":{"line":1861,"offset":321940,"length":161,"previous":"M16-GAP-01861","next":"M16-GAP-01863"},"M16-GAP-01863":{"line":1862,"offset":322101,"length":162,"previous":"M16-GAP-01862","next":"M16-GAP-01864"},"M16-GAP-01864":{"line":1863,"offset":322263,"length":165,"previous":"M16-GAP-01863","next":"M16-GAP-01865"},"M16-GAP-01865":{"line":1864,"offset":322428,"length":173,"previous":"M16-GAP-01864","next":"M16-GAP-01866"},"M16-GAP-01866":{"line":1865,"offset":322601,"length":167,"previous":"M16-GAP-01865","next":"M16-GAP-01867"},"M16-GAP-01867":{"line":1866,"offset":322768,"length":166,"previous":"M16-GAP-01866","next":"M16-GAP-01868"},"M16-GAP-01868":{"line":1867,"offset":322934,"length":180,"previous":"M16-GAP-01867","next":"M16-GAP-01869"},"M16-GAP-01869":{"line":1868,"offset":323114,"length":170,"previous":"M16-GAP-01868","next":"M16-GAP-01870"},"M16-GAP-01870":{"line":1869,"offset":323284,"length":172,"previous":"M16-GAP-01869","next":"M16-GAP-01871"},"M16-GAP-01871":{"line":1870,"offset":323456,"length":169,"previous":"M16-GAP-01870","next":"M16-GAP-01872"},"M16-GAP-01872":{"line":1871,"offset":323625,"length":174,"previous":"M16-GAP-01871","next":"M16-GAP-01873"},"M16-GAP-01873":{"line":1872,"offset":323799,"length":169,"previous":"M16-GAP-01872","next":"M16-GAP-01874"},"M16-GAP-01874":{"line":1873,"offset":323968,"length":169,"previous":"M16-GAP-01873","next":"M16-GAP-01875"},"M16-GAP-01875":{"line":1874,"offset":324137,"length":173,"previous":"M16-GAP-01874","next":"M16-GAP-01876"},"M16-GAP-01876":{"line":1875,"offset":324310,"length":184,"previous":"M16-GAP-01875","next":"M16-GAP-01877"},"M16-GAP-01877":{"line":1876,"offset":324494,"length":176,"previous":"M16-GAP-01876","next":"M16-GAP-01878"},"M16-GAP-01878":{"line":1877,"offset":324670,"length":174,"previous":"M16-GAP-01877","next":"M16-GAP-01879"},"M16-GAP-01879":{"line":1878,"offset":324844,"length":180,"previous":"M16-GAP-01878","next":"M16-GAP-01880"},"M16-GAP-01880":{"line":1879,"offset":325024,"length":178,"previous":"M16-GAP-01879","next":"M16-GAP-01881"},"M16-GAP-01881":{"line":1880,"offset":325202,"length":174,"previous":"M16-GAP-01880","next":"M16-GAP-01882"},"M16-GAP-01882":{"line":1881,"offset":325376,"length":175,"previous":"M16-GAP-01881","next":"M16-GAP-01883"},"M16-GAP-01883":{"line":1882,"offset":325551,"length":176,"previous":"M16-GAP-01882","next":"M16-GAP-01884"},"M16-GAP-01884":{"line":1883,"offset":325727,"length":182,"previous":"M16-GAP-01883","next":"M16-GAP-01885"},"M16-GAP-01885":{"line":1884,"offset":325909,"length":176,"previous":"M16-GAP-01884","next":"M16-GAP-01886"},"M16-GAP-01886":{"line":1885,"offset":326085,"length":178,"previous":"M16-GAP-01885","next":"M16-GAP-01887"},"M16-GAP-01887":{"line":1886,"offset":326263,"length":172,"previous":"M16-GAP-01886","next":"M16-GAP-01888"},"M16-GAP-01888":{"line":1887,"offset":326435,"length":177,"previous":"M16-GAP-01887","next":"M16-GAP-01889"},"M16-GAP-01889":{"line":1888,"offset":326612,"length":178,"previous":"M16-GAP-01888","next":"M16-GAP-01890"},"M16-GAP-01890":{"line":1889,"offset":326790,"length":175,"previous":"M16-GAP-01889","next":"M16-GAP-01891"},"M16-GAP-01891":{"line":1890,"offset":326965,"length":171,"previous":"M16-GAP-01890","next":"M16-GAP-01892"},"M16-GAP-01892":{"line":1891,"offset":327136,"length":171,"previous":"M16-GAP-01891","next":"M16-GAP-01893"},"M16-GAP-01893":{"line":1892,"offset":327307,"length":175,"previous":"M16-GAP-01892","next":"M16-GAP-01894"},"M16-GAP-01894":{"line":1893,"offset":327482,"length":172,"previous":"M16-GAP-01893","next":"M16-GAP-01895"},"M16-GAP-01895":{"line":1894,"offset":327654,"length":176,"previous":"M16-GAP-01894","next":"M16-GAP-01896"},"M16-GAP-01896":{"line":1895,"offset":327830,"length":170,"previous":"M16-GAP-01895","next":"M16-GAP-01897"},"M16-GAP-01897":{"line":1896,"offset":328000,"length":182,"previous":"M16-GAP-01896","next":"M16-GAP-01898"},"M16-GAP-01898":{"line":1897,"offset":328182,"length":182,"previous":"M16-GAP-01897","next":"M16-GAP-01899"},"M16-GAP-01899":{"line":1898,"offset":328364,"length":176,"previous":"M16-GAP-01898","next":"M16-GAP-01900"},"M16-GAP-01900":{"line":1899,"offset":328540,"length":175,"previous":"M16-GAP-01899","next":"M16-GAP-01901"},"M16-GAP-01901":{"line":1900,"offset":328715,"length":175,"previous":"M16-GAP-01900","next":"M16-GAP-01902"},"M16-GAP-01902":{"line":1901,"offset":328890,"length":176,"previous":"M16-GAP-01901","next":"M16-GAP-01903"},"M16-GAP-01903":{"line":1902,"offset":329066,"length":176,"previous":"M16-GAP-01902","next":"M16-GAP-01904"},"M16-GAP-01904":{"line":1903,"offset":329242,"length":175,"previous":"M16-GAP-01903","next":"M16-GAP-01905"},"M16-GAP-01905":{"line":1904,"offset":329417,"length":173,"previous":"M16-GAP-01904","next":"M16-GAP-01906"},"M16-GAP-01906":{"line":1905,"offset":329590,"length":183,"previous":"M16-GAP-01905","next":"M16-GAP-01907"},"M16-GAP-01907":{"line":1906,"offset":329773,"length":180,"previous":"M16-GAP-01906","next":"M16-GAP-01908"},"M16-GAP-01908":{"line":1907,"offset":329953,"length":183,"previous":"M16-GAP-01907","next":"M16-GAP-01909"},"M16-GAP-01909":{"line":1908,"offset":330136,"length":178,"previous":"M16-GAP-01908","next":"M16-GAP-01910"},"M16-GAP-01910":{"line":1909,"offset":330314,"length":180,"previous":"M16-GAP-01909","next":"M16-GAP-01911"},"M16-GAP-01911":{"line":1910,"offset":330494,"length":183,"previous":"M16-GAP-01910","next":"M16-GAP-01912"},"M16-GAP-01912":{"line":1911,"offset":330677,"length":175,"previous":"M16-GAP-01911","next":"M16-GAP-01913"},"M16-GAP-01913":{"line":1912,"offset":330852,"length":172,"previous":"M16-GAP-01912","next":"M16-GAP-01914"},"M16-GAP-01914":{"line":1913,"offset":331024,"length":181,"previous":"M16-GAP-01913","next":"M16-GAP-01915"},"M16-GAP-01915":{"line":1914,"offset":331205,"length":184,"previous":"M16-GAP-01914","next":"M16-GAP-01916"},"M16-GAP-01916":{"line":1915,"offset":331389,"length":181,"previous":"M16-GAP-01915","next":"M16-GAP-01917"},"M16-GAP-01917":{"line":1916,"offset":331570,"length":181,"previous":"M16-GAP-01916","next":"M16-GAP-01918"},"M16-GAP-01918":{"line":1917,"offset":331751,"length":179,"previous":"M16-GAP-01917","next":"M16-GAP-01919"},"M16-GAP-01919":{"line":1918,"offset":331930,"length":179,"previous":"M16-GAP-01918","next":"M16-GAP-01920"},"M16-GAP-01920":{"line":1919,"offset":332109,"length":179,"previous":"M16-GAP-01919","next":"M16-GAP-01921"},"M16-GAP-01921":{"line":1920,"offset":332288,"length":177,"previous":"M16-GAP-01920","next":"M16-GAP-01922"},"M16-GAP-01922":{"line":1921,"offset":332465,"length":174,"previous":"M16-GAP-01921","next":"M16-GAP-01923"},"M16-GAP-01923":{"line":1922,"offset":332639,"length":177,"previous":"M16-GAP-01922","next":"M16-GAP-01924"},"M16-GAP-01924":{"line":1923,"offset":332816,"length":178,"previous":"M16-GAP-01923","next":"M16-GAP-01925"},"M16-GAP-01925":{"line":1924,"offset":332994,"length":177,"previous":"M16-GAP-01924","next":"M16-GAP-01926"},"M16-GAP-01926":{"line":1925,"offset":333171,"length":182,"previous":"M16-GAP-01925","next":"M16-GAP-01927"},"M16-GAP-01927":{"line":1926,"offset":333353,"length":183,"previous":"M16-GAP-01926","next":"M16-GAP-01928"},"M16-GAP-01928":{"line":1927,"offset":333536,"length":186,"previous":"M16-GAP-01927","next":"M16-GAP-01929"},"M16-GAP-01929":{"line":1928,"offset":333722,"length":175,"previous":"M16-GAP-01928","next":"M16-GAP-01930"},"M16-GAP-01930":{"line":1929,"offset":333897,"length":188,"previous":"M16-GAP-01929","next":"M16-GAP-01931"},"M16-GAP-01931":{"line":1930,"offset":334085,"length":182,"previous":"M16-GAP-01930","next":"M16-GAP-01932"},"M16-GAP-01932":{"line":1931,"offset":334267,"length":178,"previous":"M16-GAP-01931","next":"M16-GAP-01933"},"M16-GAP-01933":{"line":1932,"offset":334445,"length":184,"previous":"M16-GAP-01932","next":"M16-GAP-01934"},"M16-GAP-01934":{"line":1933,"offset":334629,"length":176,"previous":"M16-GAP-01933","next":"M16-GAP-01935"},"M16-GAP-01935":{"line":1934,"offset":334805,"length":180,"previous":"M16-GAP-01934","next":"M16-GAP-01936"},"M16-GAP-01936":{"line":1935,"offset":334985,"length":162,"previous":"M16-GAP-01935","next":"M16-GAP-01937"},"M16-GAP-01937":{"line":1936,"offset":335147,"length":163,"previous":"M16-GAP-01936","next":"M16-GAP-01938"},"M16-GAP-01938":{"line":1937,"offset":335310,"length":167,"previous":"M16-GAP-01937","next":"M16-GAP-01939"},"M16-GAP-01939":{"line":1938,"offset":335477,"length":174,"previous":"M16-GAP-01938","next":"M16-GAP-01940"},"M16-GAP-01940":{"line":1939,"offset":335651,"length":168,"previous":"M16-GAP-01939","next":"M16-GAP-01941"},"M16-GAP-01941":{"line":1940,"offset":335819,"length":172,"previous":"M16-GAP-01940","next":"M16-GAP-01942"},"M16-GAP-01942":{"line":1941,"offset":335991,"length":165,"previous":"M16-GAP-01941","next":"M16-GAP-01943"},"M16-GAP-01943":{"line":1942,"offset":336156,"length":177,"previous":"M16-GAP-01942","next":"M16-GAP-01944"},"M16-GAP-01944":{"line":1943,"offset":336333,"length":199,"previous":"M16-GAP-01943","next":"M16-GAP-01945"},"M16-GAP-01945":{"line":1944,"offset":336532,"length":186,"previous":"M16-GAP-01944","next":"M16-GAP-01946"},"M16-GAP-01946":{"line":1945,"offset":336718,"length":187,"previous":"M16-GAP-01945","next":"M16-GAP-01947"},"M16-GAP-01947":{"line":1946,"offset":336905,"length":184,"previous":"M16-GAP-01946","next":"M16-GAP-01948"},"M16-GAP-01948":{"line":1947,"offset":337089,"length":193,"previous":"M16-GAP-01947","next":"M16-GAP-01949"},"M16-GAP-01949":{"line":1948,"offset":337282,"length":185,"previous":"M16-GAP-01948","next":"M16-GAP-01950"},"M16-GAP-01950":{"line":1949,"offset":337467,"length":180,"previous":"M16-GAP-01949","next":"M16-GAP-01951"},"M16-GAP-01951":{"line":1950,"offset":337647,"length":164,"previous":"M16-GAP-01950","next":"M16-GAP-01952"},"M16-GAP-01952":{"line":1951,"offset":337811,"length":176,"previous":"M16-GAP-01951","next":"M16-GAP-01953"},"M16-GAP-01953":{"line":1952,"offset":337987,"length":168,"previous":"M16-GAP-01952","next":"M16-GAP-01954"},"M16-GAP-01954":{"line":1953,"offset":338155,"length":164,"previous":"M16-GAP-01953","next":"M16-GAP-01955"},"M16-GAP-01955":{"line":1954,"offset":338319,"length":178,"previous":"M16-GAP-01954","next":"M16-GAP-01956"},"M16-GAP-01956":{"line":1955,"offset":338497,"length":173,"previous":"M16-GAP-01955","next":"M16-GAP-01957"},"M16-GAP-01957":{"line":1956,"offset":338670,"length":169,"previous":"M16-GAP-01956","next":"M16-GAP-01958"},"M16-GAP-01958":{"line":1957,"offset":338839,"length":167,"previous":"M16-GAP-01957","next":"M16-GAP-01959"},"M16-GAP-01959":{"line":1958,"offset":339006,"length":178,"previous":"M16-GAP-01958","next":"M16-GAP-01960"},"M16-GAP-01960":{"line":1959,"offset":339184,"length":168,"previous":"M16-GAP-01959","next":"M16-GAP-01961"},"M16-GAP-01961":{"line":1960,"offset":339352,"length":175,"previous":"M16-GAP-01960","next":"M16-GAP-01962"},"M16-GAP-01962":{"line":1961,"offset":339527,"length":178,"previous":"M16-GAP-01961","next":"M16-GAP-01963"},"M16-GAP-01963":{"line":1962,"offset":339705,"length":175,"previous":"M16-GAP-01962","next":"M16-GAP-01964"},"M16-GAP-01964":{"line":1963,"offset":339880,"length":171,"previous":"M16-GAP-01963","next":"M16-GAP-01965"},"M16-GAP-01965":{"line":1964,"offset":340051,"length":174,"previous":"M16-GAP-01964","next":"M16-GAP-01966"},"M16-GAP-01966":{"line":1965,"offset":340225,"length":181,"previous":"M16-GAP-01965","next":"M16-GAP-01967"},"M16-GAP-01967":{"line":1966,"offset":340406,"length":172,"previous":"M16-GAP-01966","next":"M16-GAP-01968"},"M16-GAP-01968":{"line":1967,"offset":340578,"length":175,"previous":"M16-GAP-01967","next":"M16-GAP-01969"},"M16-GAP-01969":{"line":1968,"offset":340753,"length":173,"previous":"M16-GAP-01968","next":"M16-GAP-01970"},"M16-GAP-01970":{"line":1969,"offset":340926,"length":170,"previous":"M16-GAP-01969","next":"M16-GAP-01971"},"M16-GAP-01971":{"line":1970,"offset":341096,"length":173,"previous":"M16-GAP-01970","next":"M16-GAP-01972"},"M16-GAP-01972":{"line":1971,"offset":341269,"length":163,"previous":"M16-GAP-01971","next":"M16-GAP-01973"},"M16-GAP-01973":{"line":1972,"offset":341432,"length":173,"previous":"M16-GAP-01972","next":"M16-GAP-01974"},"M16-GAP-01974":{"line":1973,"offset":341605,"length":195,"previous":"M16-GAP-01973","next":"M16-GAP-01975"},"M16-GAP-01975":{"line":1974,"offset":341800,"length":195,"previous":"M16-GAP-01974","next":"M16-GAP-01976"},"M16-GAP-01976":{"line":1975,"offset":341995,"length":185,"previous":"M16-GAP-01975","next":"M16-GAP-01977"},"M16-GAP-01977":{"line":1976,"offset":342180,"length":185,"previous":"M16-GAP-01976","next":"M16-GAP-01978"},"M16-GAP-01978":{"line":1977,"offset":342365,"length":190,"previous":"M16-GAP-01977","next":"M16-GAP-01979"},"M16-GAP-01979":{"line":1978,"offset":342555,"length":188,"previous":"M16-GAP-01978","next":"M16-GAP-01980"},"M16-GAP-01980":{"line":1979,"offset":342743,"length":178,"previous":"M16-GAP-01979","next":"M16-GAP-01981"},"M16-GAP-01981":{"line":1980,"offset":342921,"length":179,"previous":"M16-GAP-01980","next":"M16-GAP-01982"},"M16-GAP-01982":{"line":1981,"offset":343100,"length":179,"previous":"M16-GAP-01981","next":"M16-GAP-01983"},"M16-GAP-01983":{"line":1982,"offset":343279,"length":180,"previous":"M16-GAP-01982","next":"M16-GAP-01984"},"M16-GAP-01984":{"line":1983,"offset":343459,"length":181,"previous":"M16-GAP-01983","next":"M16-GAP-01985"},"M16-GAP-01985":{"line":1984,"offset":343640,"length":180,"previous":"M16-GAP-01984","next":"M16-GAP-01986"},"M16-GAP-01986":{"line":1985,"offset":343820,"length":180,"previous":"M16-GAP-01985","next":"M16-GAP-01987"},"M16-GAP-01987":{"line":1986,"offset":344000,"length":180,"previous":"M16-GAP-01986","next":"M16-GAP-01988"},"M16-GAP-01988":{"line":1987,"offset":344180,"length":182,"previous":"M16-GAP-01987","next":"M16-GAP-01989"},"M16-GAP-01989":{"line":1988,"offset":344362,"length":177,"previous":"M16-GAP-01988","next":"M16-GAP-01990"},"M16-GAP-01990":{"line":1989,"offset":344539,"length":178,"previous":"M16-GAP-01989","next":"M16-GAP-01991"},"M16-GAP-01991":{"line":1990,"offset":344717,"length":178,"previous":"M16-GAP-01990","next":"M16-GAP-01992"},"M16-GAP-01992":{"line":1991,"offset":344895,"length":180,"previous":"M16-GAP-01991","next":"M16-GAP-01993"},"M16-GAP-01993":{"line":1992,"offset":345075,"length":189,"previous":"M16-GAP-01992","next":"M16-GAP-01994"},"M16-GAP-01994":{"line":1993,"offset":345264,"length":189,"previous":"M16-GAP-01993","next":"M16-GAP-01995"},"M16-GAP-01995":{"line":1994,"offset":345453,"length":184,"previous":"M16-GAP-01994","next":"M16-GAP-01996"},"M16-GAP-01996":{"line":1995,"offset":345637,"length":181,"previous":"M16-GAP-01995","next":"M16-GAP-01997"},"M16-GAP-01997":{"line":1996,"offset":345818,"length":184,"previous":"M16-GAP-01996","next":"M16-GAP-01998"},"M16-GAP-01998":{"line":1997,"offset":346002,"length":160,"previous":"M16-GAP-01997","next":"M16-GAP-01999"},"M16-GAP-01999":{"line":1998,"offset":346162,"length":170,"previous":"M16-GAP-01998","next":"M16-GAP-02000"},"M16-GAP-02000":{"line":1999,"offset":346332,"length":176,"previous":"M16-GAP-01999","next":"M16-GAP-02001"},"M16-GAP-02001":{"line":2000,"offset":346508,"length":172,"previous":"M16-GAP-02000","next":"M16-GAP-02002"},"M16-GAP-02002":{"line":2001,"offset":346680,"length":175,"previous":"M16-GAP-02001","next":"M16-GAP-02003"},"M16-GAP-02003":{"line":2002,"offset":346855,"length":171,"previous":"M16-GAP-02002","next":"M16-GAP-02004"},"M16-GAP-02004":{"line":2003,"offset":347026,"length":175,"previous":"M16-GAP-02003","next":"M16-GAP-02005"},"M16-GAP-02005":{"line":2004,"offset":347201,"length":182,"previous":"M16-GAP-02004","next":"M16-GAP-02006"},"M16-GAP-02006":{"line":2005,"offset":347383,"length":188,"previous":"M16-GAP-02005","next":"M16-GAP-02007"},"M16-GAP-02007":{"line":2006,"offset":347571,"length":174,"previous":"M16-GAP-02006","next":"M16-GAP-02008"},"M16-GAP-02008":{"line":2007,"offset":347745,"length":178,"previous":"M16-GAP-02007","next":"M16-GAP-02009"},"M16-GAP-02009":{"line":2008,"offset":347923,"length":185,"previous":"M16-GAP-02008","next":"M16-GAP-02010"},"M16-GAP-02010":{"line":2009,"offset":348108,"length":193,"previous":"M16-GAP-02009","next":"M16-GAP-02011"},"M16-GAP-02011":{"line":2010,"offset":348301,"length":168,"previous":"M16-GAP-02010","next":"M16-GAP-02012"},"M16-GAP-02012":{"line":2011,"offset":348469,"length":174,"previous":"M16-GAP-02011","next":"M16-GAP-02013"},"M16-GAP-02013":{"line":2012,"offset":348643,"length":173,"previous":"M16-GAP-02012","next":"M16-GAP-02014"},"M16-GAP-02014":{"line":2013,"offset":348816,"length":172,"previous":"M16-GAP-02013","next":"M16-GAP-02015"},"M16-GAP-02015":{"line":2014,"offset":348988,"length":172,"previous":"M16-GAP-02014","next":"M16-GAP-02016"},"M16-GAP-02016":{"line":2015,"offset":349160,"length":168,"previous":"M16-GAP-02015","next":"M16-GAP-02017"},"M16-GAP-02017":{"line":2016,"offset":349328,"length":168,"previous":"M16-GAP-02016","next":"M16-GAP-02018"},"M16-GAP-02018":{"line":2017,"offset":349496,"length":167,"previous":"M16-GAP-02017","next":"M16-GAP-02019"},"M16-GAP-02019":{"line":2018,"offset":349663,"length":167,"previous":"M16-GAP-02018","next":"M16-GAP-02020"},"M16-GAP-02020":{"line":2019,"offset":349830,"length":170,"previous":"M16-GAP-02019","next":"M16-GAP-02021"},"M16-GAP-02021":{"line":2020,"offset":350000,"length":168,"previous":"M16-GAP-02020","next":"M16-GAP-02022"},"M16-GAP-02022":{"line":2021,"offset":350168,"length":167,"previous":"M16-GAP-02021","next":"M16-GAP-02023"},"M16-GAP-02023":{"line":2022,"offset":350335,"length":174,"previous":"M16-GAP-02022","next":"M16-GAP-02024"},"M16-GAP-02024":{"line":2023,"offset":350509,"length":164,"previous":"M16-GAP-02023","next":"M16-GAP-02025"},"M16-GAP-02025":{"line":2024,"offset":350673,"length":177,"previous":"M16-GAP-02024","next":"M16-GAP-02026"},"M16-GAP-02026":{"line":2025,"offset":350850,"length":168,"previous":"M16-GAP-02025","next":"M16-GAP-02027"},"M16-GAP-02027":{"line":2026,"offset":351018,"length":168,"previous":"M16-GAP-02026","next":"M16-GAP-02028"},"M16-GAP-02028":{"line":2027,"offset":351186,"length":170,"previous":"M16-GAP-02027","next":"M16-GAP-02029"},"M16-GAP-02029":{"line":2028,"offset":351356,"length":177,"previous":"M16-GAP-02028","next":"M16-GAP-02030"},"M16-GAP-02030":{"line":2029,"offset":351533,"length":171,"previous":"M16-GAP-02029","next":"M16-GAP-02031"},"M16-GAP-02031":{"line":2030,"offset":351704,"length":171,"previous":"M16-GAP-02030","next":"M16-GAP-02032"},"M16-GAP-02032":{"line":2031,"offset":351875,"length":169,"previous":"M16-GAP-02031","next":"M16-GAP-02033"},"M16-GAP-02033":{"line":2032,"offset":352044,"length":161,"previous":"M16-GAP-02032","next":"M16-GAP-02034"},"M16-GAP-02034":{"line":2033,"offset":352205,"length":171,"previous":"M16-GAP-02033","next":"M16-GAP-02035"},"M16-GAP-02035":{"line":2034,"offset":352376,"length":167,"previous":"M16-GAP-02034","next":"M16-GAP-02036"},"M16-GAP-02036":{"line":2035,"offset":352543,"length":170,"previous":"M16-GAP-02035","next":"M16-GAP-02037"},"M16-GAP-02037":{"line":2036,"offset":352713,"length":177,"previous":"M16-GAP-02036","next":"M16-GAP-02038"},"M16-GAP-02038":{"line":2037,"offset":352890,"length":169,"previous":"M16-GAP-02037","next":"M16-GAP-02039"},"M16-GAP-02039":{"line":2038,"offset":353059,"length":173,"previous":"M16-GAP-02038","next":"M16-GAP-02040"},"M16-GAP-02040":{"line":2039,"offset":353232,"length":170,"previous":"M16-GAP-02039","next":"M16-GAP-02041"},"M16-GAP-02041":{"line":2040,"offset":353402,"length":171,"previous":"M16-GAP-02040","next":"M16-GAP-02042"},"M16-GAP-02042":{"line":2041,"offset":353573,"length":172,"previous":"M16-GAP-02041","next":"M16-GAP-02043"},"M16-GAP-02043":{"line":2042,"offset":353745,"length":169,"previous":"M16-GAP-02042","next":"M16-GAP-02044"},"M16-GAP-02044":{"line":2043,"offset":353914,"length":174,"previous":"M16-GAP-02043","next":"M16-GAP-02045"},"M16-GAP-02045":{"line":2044,"offset":354088,"length":168,"previous":"M16-GAP-02044","next":"M16-GAP-02046"},"M16-GAP-02046":{"line":2045,"offset":354256,"length":168,"previous":"M16-GAP-02045","next":"M16-GAP-02047"},"M16-GAP-02047":{"line":2046,"offset":354424,"length":173,"previous":"M16-GAP-02046","next":"M16-GAP-02048"},"M16-GAP-02048":{"line":2047,"offset":354597,"length":177,"previous":"M16-GAP-02047","next":"M16-GAP-02049"},"M16-GAP-02049":{"line":2048,"offset":354774,"length":181,"previous":"M16-GAP-02048","next":"M16-GAP-02050"},"M16-GAP-02050":{"line":2049,"offset":354955,"length":175,"previous":"M16-GAP-02049","next":"M16-GAP-02051"},"M16-GAP-02051":{"line":2050,"offset":355130,"length":167,"previous":"M16-GAP-02050","next":"M16-GAP-02052"},"M16-GAP-02052":{"line":2051,"offset":355297,"length":171,"previous":"M16-GAP-02051","next":"M16-GAP-02053"},"M16-GAP-02053":{"line":2052,"offset":355468,"length":173,"previous":"M16-GAP-02052","next":"M16-GAP-02054"},"M16-GAP-02054":{"line":2053,"offset":355641,"length":172,"previous":"M16-GAP-02053","next":"M16-GAP-02055"},"M16-GAP-02055":{"line":2054,"offset":355813,"length":173,"previous":"M16-GAP-02054","next":"M16-GAP-02056"},"M16-GAP-02056":{"line":2055,"offset":355986,"length":164,"previous":"M16-GAP-02055","next":"M16-GAP-02057"},"M16-GAP-02057":{"line":2056,"offset":356150,"length":170,"previous":"M16-GAP-02056","next":"M16-GAP-02058"},"M16-GAP-02058":{"line":2057,"offset":356320,"length":170,"previous":"M16-GAP-02057","next":"M16-GAP-02059"},"M16-GAP-02059":{"line":2058,"offset":356490,"length":170,"previous":"M16-GAP-02058","next":"M16-GAP-02060"},"M16-GAP-02060":{"line":2059,"offset":356660,"length":175,"previous":"M16-GAP-02059","next":"M16-GAP-02061"},"M16-GAP-02061":{"line":2060,"offset":356835,"length":181,"previous":"M16-GAP-02060","next":"M16-GAP-02062"},"M16-GAP-02062":{"line":2061,"offset":357016,"length":182,"previous":"M16-GAP-02061","next":"M16-GAP-02063"},"M16-GAP-02063":{"line":2062,"offset":357198,"length":164,"previous":"M16-GAP-02062","next":"M16-GAP-02064"},"M16-GAP-02064":{"line":2063,"offset":357362,"length":178,"previous":"M16-GAP-02063","next":"M16-GAP-02065"},"M16-GAP-02065":{"line":2064,"offset":357540,"length":184,"previous":"M16-GAP-02064","next":"M16-GAP-02066"},"M16-GAP-02066":{"line":2065,"offset":357724,"length":171,"previous":"M16-GAP-02065","next":"M16-GAP-02067"},"M16-GAP-02067":{"line":2066,"offset":357895,"length":174,"previous":"M16-GAP-02066","next":"M16-GAP-02068"},"M16-GAP-02068":{"line":2067,"offset":358069,"length":180,"previous":"M16-GAP-02067","next":"M16-GAP-02069"},"M16-GAP-02069":{"line":2068,"offset":358249,"length":179,"previous":"M16-GAP-02068","next":"M16-GAP-02070"},"M16-GAP-02070":{"line":2069,"offset":358428,"length":183,"previous":"M16-GAP-02069","next":"M16-GAP-02071"},"M16-GAP-02071":{"line":2070,"offset":358611,"length":174,"previous":"M16-GAP-02070","next":"M16-GAP-02072"},"M16-GAP-02072":{"line":2071,"offset":358785,"length":172,"previous":"M16-GAP-02071","next":"M16-GAP-02073"},"M16-GAP-02073":{"line":2072,"offset":358957,"length":184,"previous":"M16-GAP-02072","next":"M16-GAP-02074"},"M16-GAP-02074":{"line":2073,"offset":359141,"length":171,"previous":"M16-GAP-02073","next":"M16-GAP-02075"},"M16-GAP-02075":{"line":2074,"offset":359312,"length":169,"previous":"M16-GAP-02074","next":"M16-GAP-02076"},"M16-GAP-02076":{"line":2075,"offset":359481,"length":176,"previous":"M16-GAP-02075","next":"M16-GAP-02077"},"M16-GAP-02077":{"line":2076,"offset":359657,"length":174,"previous":"M16-GAP-02076","next":"M16-GAP-02078"},"M16-GAP-02078":{"line":2077,"offset":359831,"length":167,"previous":"M16-GAP-02077","next":"M16-GAP-02079"},"M16-GAP-02079":{"line":2078,"offset":359998,"length":169,"previous":"M16-GAP-02078","next":"M16-GAP-02080"},"M16-GAP-02080":{"line":2079,"offset":360167,"length":166,"previous":"M16-GAP-02079","next":"M16-GAP-02081"},"M16-GAP-02081":{"line":2080,"offset":360333,"length":176,"previous":"M16-GAP-02080","next":"M16-GAP-02082"},"M16-GAP-02082":{"line":2081,"offset":360509,"length":174,"previous":"M16-GAP-02081","next":"M16-GAP-02083"},"M16-GAP-02083":{"line":2082,"offset":360683,"length":178,"previous":"M16-GAP-02082","next":"M16-GAP-02084"},"M16-GAP-02084":{"line":2083,"offset":360861,"length":176,"previous":"M16-GAP-02083","next":"M16-GAP-02085"},"M16-GAP-02085":{"line":2084,"offset":361037,"length":175,"previous":"M16-GAP-02084","next":"M16-GAP-02086"},"M16-GAP-02086":{"line":2085,"offset":361212,"length":177,"previous":"M16-GAP-02085","next":"M16-GAP-02087"},"M16-GAP-02087":{"line":2086,"offset":361389,"length":176,"previous":"M16-GAP-02086","next":"M16-GAP-02088"},"M16-GAP-02088":{"line":2087,"offset":361565,"length":168,"previous":"M16-GAP-02087","next":"M16-GAP-02089"},"M16-GAP-02089":{"line":2088,"offset":361733,"length":174,"previous":"M16-GAP-02088","next":"M16-GAP-02090"},"M16-GAP-02090":{"line":2089,"offset":361907,"length":176,"previous":"M16-GAP-02089","next":"M16-GAP-02091"},"M16-GAP-02091":{"line":2090,"offset":362083,"length":175,"previous":"M16-GAP-02090","next":"M16-GAP-02092"},"M16-GAP-02092":{"line":2091,"offset":362258,"length":179,"previous":"M16-GAP-02091","next":"M16-GAP-02093"},"M16-GAP-02093":{"line":2092,"offset":362437,"length":172,"previous":"M16-GAP-02092","next":"M16-GAP-02094"},"M16-GAP-02094":{"line":2093,"offset":362609,"length":173,"previous":"M16-GAP-02093","next":"M16-GAP-02095"},"M16-GAP-02095":{"line":2094,"offset":362782,"length":173,"previous":"M16-GAP-02094","next":"M16-GAP-02096"},"M16-GAP-02096":{"line":2095,"offset":362955,"length":177,"previous":"M16-GAP-02095","next":"M16-GAP-02097"},"M16-GAP-02097":{"line":2096,"offset":363132,"length":182,"previous":"M16-GAP-02096","next":"M16-GAP-02098"},"M16-GAP-02098":{"line":2097,"offset":363314,"length":176,"previous":"M16-GAP-02097","next":"M16-GAP-02099"},"M16-GAP-02099":{"line":2098,"offset":363490,"length":178,"previous":"M16-GAP-02098","next":"M16-GAP-02100"},"M16-GAP-02100":{"line":2099,"offset":363668,"length":193,"previous":"M16-GAP-02099","next":"M16-GAP-02101"},"M16-GAP-02101":{"line":2100,"offset":363861,"length":170,"previous":"M16-GAP-02100","next":"M16-GAP-02102"},"M16-GAP-02102":{"line":2101,"offset":364031,"length":179,"previous":"M16-GAP-02101","next":"M16-GAP-02103"},"M16-GAP-02103":{"line":2102,"offset":364210,"length":172,"previous":"M16-GAP-02102","next":"M16-GAP-02104"},"M16-GAP-02104":{"line":2103,"offset":364382,"length":173,"previous":"M16-GAP-02103","next":"M16-GAP-02105"},"M16-GAP-02105":{"line":2104,"offset":364555,"length":168,"previous":"M16-GAP-02104","next":"M16-GAP-02106"},"M16-GAP-02106":{"line":2105,"offset":364723,"length":165,"previous":"M16-GAP-02105","next":"M16-GAP-02107"},"M16-GAP-02107":{"line":2106,"offset":364888,"length":177,"previous":"M16-GAP-02106","next":"M16-GAP-02108"},"M16-GAP-02108":{"line":2107,"offset":365065,"length":171,"previous":"M16-GAP-02107","next":"M16-GAP-02109"},"M16-GAP-02109":{"line":2108,"offset":365236,"length":188,"previous":"M16-GAP-02108","next":"M16-GAP-02110"},"M16-GAP-02110":{"line":2109,"offset":365424,"length":167,"previous":"M16-GAP-02109","next":"M16-GAP-02111"},"M16-GAP-02111":{"line":2110,"offset":365591,"length":171,"previous":"M16-GAP-02110","next":"M16-GAP-02112"},"M16-GAP-02112":{"line":2111,"offset":365762,"length":170,"previous":"M16-GAP-02111","next":"M16-GAP-02113"},"M16-GAP-02113":{"line":2112,"offset":365932,"length":175,"previous":"M16-GAP-02112","next":"M16-GAP-02114"},"M16-GAP-02114":{"line":2113,"offset":366107,"length":182,"previous":"M16-GAP-02113","next":"M16-GAP-02115"},"M16-GAP-02115":{"line":2114,"offset":366289,"length":177,"previous":"M16-GAP-02114","next":"M16-GAP-02116"},"M16-GAP-02116":{"line":2115,"offset":366466,"length":175,"previous":"M16-GAP-02115","next":"M16-GAP-02117"},"M16-GAP-02117":{"line":2116,"offset":366641,"length":177,"previous":"M16-GAP-02116","next":"M16-GAP-02118"},"M16-GAP-02118":{"line":2117,"offset":366818,"length":170,"previous":"M16-GAP-02117","next":"M16-GAP-02119"},"M16-GAP-02119":{"line":2118,"offset":366988,"length":172,"previous":"M16-GAP-02118","next":"M16-GAP-02120"},"M16-GAP-02120":{"line":2119,"offset":367160,"length":171,"previous":"M16-GAP-02119","next":"M16-GAP-02121"},"M16-GAP-02121":{"line":2120,"offset":367331,"length":171,"previous":"M16-GAP-02120","next":"M16-GAP-02122"},"M16-GAP-02122":{"line":2121,"offset":367502,"length":176,"previous":"M16-GAP-02121","next":"M16-GAP-02123"},"M16-GAP-02123":{"line":2122,"offset":367678,"length":176,"previous":"M16-GAP-02122","next":"M16-GAP-02124"},"M16-GAP-02124":{"line":2123,"offset":367854,"length":165,"previous":"M16-GAP-02123","next":"M16-GAP-02125"},"M16-GAP-02125":{"line":2124,"offset":368019,"length":175,"previous":"M16-GAP-02124","next":"M16-GAP-02126"},"M16-GAP-02126":{"line":2125,"offset":368194,"length":170,"previous":"M16-GAP-02125","next":"M16-GAP-02127"},"M16-GAP-02127":{"line":2126,"offset":368364,"length":174,"previous":"M16-GAP-02126","next":"M16-GAP-02128"},"M16-GAP-02128":{"line":2127,"offset":368538,"length":172,"previous":"M16-GAP-02127","next":"M16-GAP-02129"},"M16-GAP-02129":{"line":2128,"offset":368710,"length":176,"previous":"M16-GAP-02128","next":"M16-GAP-02130"},"M16-GAP-02130":{"line":2129,"offset":368886,"length":180,"previous":"M16-GAP-02129","next":"M16-GAP-02131"},"M16-GAP-02131":{"line":2130,"offset":369066,"length":165,"previous":"M16-GAP-02130","next":"M16-GAP-02132"},"M16-GAP-02132":{"line":2131,"offset":369231,"length":173,"previous":"M16-GAP-02131","next":"M16-GAP-02133"},"M16-GAP-02133":{"line":2132,"offset":369404,"length":166,"previous":"M16-GAP-02132","next":"M16-GAP-02134"},"M16-GAP-02134":{"line":2133,"offset":369570,"length":183,"previous":"M16-GAP-02133","next":"M16-GAP-02135"},"M16-GAP-02135":{"line":2134,"offset":369753,"length":190,"previous":"M16-GAP-02134","next":"M16-GAP-02136"},"M16-GAP-02136":{"line":2135,"offset":369943,"length":176,"previous":"M16-GAP-02135","next":"M16-GAP-02137"},"M16-GAP-02137":{"line":2136,"offset":370119,"length":174,"previous":"M16-GAP-02136","next":"M16-GAP-02138"},"M16-GAP-02138":{"line":2137,"offset":370293,"length":172,"previous":"M16-GAP-02137","next":"M16-GAP-02139"},"M16-GAP-02139":{"line":2138,"offset":370465,"length":167,"previous":"M16-GAP-02138","next":"M16-GAP-02140"},"M16-GAP-02140":{"line":2139,"offset":370632,"length":175,"previous":"M16-GAP-02139","next":"M16-GAP-02141"},"M16-GAP-02141":{"line":2140,"offset":370807,"length":171,"previous":"M16-GAP-02140","next":"M16-GAP-02142"},"M16-GAP-02142":{"line":2141,"offset":370978,"length":192,"previous":"M16-GAP-02141","next":"M16-GAP-02143"},"M16-GAP-02143":{"line":2142,"offset":371170,"length":190,"previous":"M16-GAP-02142","next":"M16-GAP-02144"},"M16-GAP-02144":{"line":2143,"offset":371360,"length":186,"previous":"M16-GAP-02143","next":"M16-GAP-02145"},"M16-GAP-02145":{"line":2144,"offset":371546,"length":177,"previous":"M16-GAP-02144","next":"M16-GAP-02146"},"M16-GAP-02146":{"line":2145,"offset":371723,"length":180,"previous":"M16-GAP-02145","next":"M16-GAP-02147"},"M16-GAP-02147":{"line":2146,"offset":371903,"length":175,"previous":"M16-GAP-02146","next":"M16-GAP-02148"},"M16-GAP-02148":{"line":2147,"offset":372078,"length":187,"previous":"M16-GAP-02147","next":"M16-GAP-02149"},"M16-GAP-02149":{"line":2148,"offset":372265,"length":174,"previous":"M16-GAP-02148","next":"M16-GAP-02150"},"M16-GAP-02150":{"line":2149,"offset":372439,"length":184,"previous":"M16-GAP-02149","next":"M16-GAP-02151"},"M16-GAP-02151":{"line":2150,"offset":372623,"length":167,"previous":"M16-GAP-02150","next":"M16-GAP-02152"},"M16-GAP-02152":{"line":2151,"offset":372790,"length":185,"previous":"M16-GAP-02151","next":"M16-GAP-02153"},"M16-GAP-02153":{"line":2152,"offset":372975,"length":176,"previous":"M16-GAP-02152","next":"M16-GAP-02154"},"M16-GAP-02154":{"line":2153,"offset":373151,"length":180,"previous":"M16-GAP-02153","next":"M16-GAP-02155"},"M16-GAP-02155":{"line":2154,"offset":373331,"length":167,"previous":"M16-GAP-02154","next":"M16-GAP-02156"},"M16-GAP-02156":{"line":2155,"offset":373498,"length":171,"previous":"M16-GAP-02155","next":"M16-GAP-02157"},"M16-GAP-02157":{"line":2156,"offset":373669,"length":171,"previous":"M16-GAP-02156","next":"M16-GAP-02158"},"M16-GAP-02158":{"line":2157,"offset":373840,"length":174,"previous":"M16-GAP-02157","next":"M16-GAP-02159"},"M16-GAP-02159":{"line":2158,"offset":374014,"length":175,"previous":"M16-GAP-02158","next":"M16-GAP-02160"},"M16-GAP-02160":{"line":2159,"offset":374189,"length":174,"previous":"M16-GAP-02159","next":"M16-GAP-02161"},"M16-GAP-02161":{"line":2160,"offset":374363,"length":175,"previous":"M16-GAP-02160","next":"M16-GAP-02162"},"M16-GAP-02162":{"line":2161,"offset":374538,"length":173,"previous":"M16-GAP-02161","next":"M16-GAP-02163"},"M16-GAP-02163":{"line":2162,"offset":374711,"length":172,"previous":"M16-GAP-02162","next":"M16-GAP-02164"},"M16-GAP-02164":{"line":2163,"offset":374883,"length":174,"previous":"M16-GAP-02163","next":"M16-GAP-02165"},"M16-GAP-02165":{"line":2164,"offset":375057,"length":179,"previous":"M16-GAP-02164","next":"M16-GAP-02166"},"M16-GAP-02166":{"line":2165,"offset":375236,"length":172,"previous":"M16-GAP-02165","next":"M16-GAP-02167"},"M16-GAP-02167":{"line":2166,"offset":375408,"length":172,"previous":"M16-GAP-02166","next":"M16-GAP-02168"},"M16-GAP-02168":{"line":2167,"offset":375580,"length":181,"previous":"M16-GAP-02167","next":"M16-GAP-02169"},"M16-GAP-02169":{"line":2168,"offset":375761,"length":180,"previous":"M16-GAP-02168","next":"M16-GAP-02170"},"M16-GAP-02170":{"line":2169,"offset":375941,"length":165,"previous":"M16-GAP-02169","next":"M16-GAP-02171"},"M16-GAP-02171":{"line":2170,"offset":376106,"length":165,"previous":"M16-GAP-02170","next":"M16-GAP-02172"},"M16-GAP-02172":{"line":2171,"offset":376271,"length":176,"previous":"M16-GAP-02171","next":"M16-GAP-02173"},"M16-GAP-02173":{"line":2172,"offset":376447,"length":166,"previous":"M16-GAP-02172","next":"M16-GAP-02174"},"M16-GAP-02174":{"line":2173,"offset":376613,"length":175,"previous":"M16-GAP-02173","next":"M16-GAP-02175"},"M16-GAP-02175":{"line":2174,"offset":376788,"length":180,"previous":"M16-GAP-02174","next":"M16-GAP-02176"},"M16-GAP-02176":{"line":2175,"offset":376968,"length":171,"previous":"M16-GAP-02175","next":"M16-GAP-02177"},"M16-GAP-02177":{"line":2176,"offset":377139,"length":179,"previous":"M16-GAP-02176","next":"M16-GAP-02178"},"M16-GAP-02178":{"line":2177,"offset":377318,"length":190,"previous":"M16-GAP-02177","next":"M16-GAP-02179"},"M16-GAP-02179":{"line":2178,"offset":377508,"length":180,"previous":"M16-GAP-02178","next":"M16-GAP-02180"},"M16-GAP-02180":{"line":2179,"offset":377688,"length":185,"previous":"M16-GAP-02179","next":"M16-GAP-02181"},"M16-GAP-02181":{"line":2180,"offset":377873,"length":194,"previous":"M16-GAP-02180","next":"M16-GAP-02182"},"M16-GAP-02182":{"line":2181,"offset":378067,"length":180,"previous":"M16-GAP-02181","next":"M16-GAP-02183"},"M16-GAP-02183":{"line":2182,"offset":378247,"length":189,"previous":"M16-GAP-02182","next":"M16-GAP-02184"},"M16-GAP-02184":{"line":2183,"offset":378436,"length":182,"previous":"M16-GAP-02183","next":"M16-GAP-02185"},"M16-GAP-02185":{"line":2184,"offset":378618,"length":186,"previous":"M16-GAP-02184","next":"M16-GAP-02186"},"M16-GAP-02186":{"line":2185,"offset":378804,"length":182,"previous":"M16-GAP-02185","next":"M16-GAP-02187"},"M16-GAP-02187":{"line":2186,"offset":378986,"length":180,"previous":"M16-GAP-02186","next":"M16-GAP-02188"},"M16-GAP-02188":{"line":2187,"offset":379166,"length":165,"previous":"M16-GAP-02187","next":"M16-GAP-02189"},"M16-GAP-02189":{"line":2188,"offset":379331,"length":170,"previous":"M16-GAP-02188","next":"M16-GAP-02190"},"M16-GAP-02190":{"line":2189,"offset":379501,"length":172,"previous":"M16-GAP-02189","next":"M16-GAP-02191"},"M16-GAP-02191":{"line":2190,"offset":379673,"length":177,"previous":"M16-GAP-02190","next":"M16-GAP-02192"},"M16-GAP-02192":{"line":2191,"offset":379850,"length":176,"previous":"M16-GAP-02191","next":"M16-GAP-02193"},"M16-GAP-02193":{"line":2192,"offset":380026,"length":172,"previous":"M16-GAP-02192","next":"M16-GAP-02194"},"M16-GAP-02194":{"line":2193,"offset":380198,"length":178,"previous":"M16-GAP-02193","next":"M16-GAP-02195"},"M16-GAP-02195":{"line":2194,"offset":380376,"length":175,"previous":"M16-GAP-02194","next":"M16-GAP-02196"},"M16-GAP-02196":{"line":2195,"offset":380551,"length":174,"previous":"M16-GAP-02195","next":"M16-GAP-02197"},"M16-GAP-02197":{"line":2196,"offset":380725,"length":182,"previous":"M16-GAP-02196","next":"M16-GAP-02198"},"M16-GAP-02198":{"line":2197,"offset":380907,"length":176,"previous":"M16-GAP-02197","next":"M16-GAP-02199"},"M16-GAP-02199":{"line":2198,"offset":381083,"length":172,"previous":"M16-GAP-02198","next":"M16-GAP-02200"},"M16-GAP-02200":{"line":2199,"offset":381255,"length":176,"previous":"M16-GAP-02199","next":"M16-GAP-02201"},"M16-GAP-02201":{"line":2200,"offset":381431,"length":176,"previous":"M16-GAP-02200","next":"M16-GAP-02202"},"M16-GAP-02202":{"line":2201,"offset":381607,"length":188,"previous":"M16-GAP-02201","next":"M16-GAP-02203"},"M16-GAP-02203":{"line":2202,"offset":381795,"length":167,"previous":"M16-GAP-02202","next":"M16-GAP-02204"},"M16-GAP-02204":{"line":2203,"offset":381962,"length":167,"previous":"M16-GAP-02203","next":"M16-GAP-02205"},"M16-GAP-02205":{"line":2204,"offset":382129,"length":169,"previous":"M16-GAP-02204","next":"M16-GAP-02206"},"M16-GAP-02206":{"line":2205,"offset":382298,"length":177,"previous":"M16-GAP-02205","next":"M16-GAP-02207"},"M16-GAP-02207":{"line":2206,"offset":382475,"length":171,"previous":"M16-GAP-02206","next":"M16-GAP-02208"},"M16-GAP-02208":{"line":2207,"offset":382646,"length":178,"previous":"M16-GAP-02207","next":"M16-GAP-02209"},"M16-GAP-02209":{"line":2208,"offset":382824,"length":174,"previous":"M16-GAP-02208","next":"M16-GAP-02210"},"M16-GAP-02210":{"line":2209,"offset":382998,"length":176,"previous":"M16-GAP-02209","next":"M16-GAP-02211"},"M16-GAP-02211":{"line":2210,"offset":383174,"length":171,"previous":"M16-GAP-02210","next":"M16-GAP-02212"},"M16-GAP-02212":{"line":2211,"offset":383345,"length":164,"previous":"M16-GAP-02211","next":"M16-GAP-02213"},"M16-GAP-02213":{"line":2212,"offset":383509,"length":161,"previous":"M16-GAP-02212","next":"M16-GAP-02214"},"M16-GAP-02214":{"line":2213,"offset":383670,"length":166,"previous":"M16-GAP-02213","next":"M16-GAP-02215"},"M16-GAP-02215":{"line":2214,"offset":383836,"length":161,"previous":"M16-GAP-02214","next":"M16-GAP-02216"},"M16-GAP-02216":{"line":2215,"offset":383997,"length":163,"previous":"M16-GAP-02215","next":"M16-GAP-02217"},"M16-GAP-02217":{"line":2216,"offset":384160,"length":179,"previous":"M16-GAP-02216","next":"M16-GAP-02218"},"M16-GAP-02218":{"line":2217,"offset":384339,"length":182,"previous":"M16-GAP-02217","next":"M16-GAP-02219"},"M16-GAP-02219":{"line":2218,"offset":384521,"length":193,"previous":"M16-GAP-02218","next":"M16-GAP-02220"},"M16-GAP-02220":{"line":2219,"offset":384714,"length":173,"previous":"M16-GAP-02219","next":"M16-GAP-02221"},"M16-GAP-02221":{"line":2220,"offset":384887,"length":185,"previous":"M16-GAP-02220","next":"M16-GAP-02222"},"M16-GAP-02222":{"line":2221,"offset":385072,"length":178,"previous":"M16-GAP-02221","next":"M16-GAP-02223"},"M16-GAP-02223":{"line":2222,"offset":385250,"length":176,"previous":"M16-GAP-02222","next":"M16-GAP-02224"},"M16-GAP-02224":{"line":2223,"offset":385426,"length":173,"previous":"M16-GAP-02223","next":"M16-GAP-02225"},"M16-GAP-02225":{"line":2224,"offset":385599,"length":193,"previous":"M16-GAP-02224","next":"M16-GAP-02226"},"M16-GAP-02226":{"line":2225,"offset":385792,"length":192,"previous":"M16-GAP-02225","next":"M16-GAP-02227"},"M16-GAP-02227":{"line":2226,"offset":385984,"length":195,"previous":"M16-GAP-02226","next":"M16-GAP-02228"},"M16-GAP-02228":{"line":2227,"offset":386179,"length":193,"previous":"M16-GAP-02227","next":"M16-GAP-02229"},"M16-GAP-02229":{"line":2228,"offset":386372,"length":194,"previous":"M16-GAP-02228","next":"M16-GAP-02230"},"M16-GAP-02230":{"line":2229,"offset":386566,"length":192,"previous":"M16-GAP-02229","next":"M16-GAP-02231"},"M16-GAP-02231":{"line":2230,"offset":386758,"length":168,"previous":"M16-GAP-02230","next":"M16-GAP-02232"},"M16-GAP-02232":{"line":2231,"offset":386926,"length":170,"previous":"M16-GAP-02231","next":"M16-GAP-02233"},"M16-GAP-02233":{"line":2232,"offset":387096,"length":174,"previous":"M16-GAP-02232","next":"M16-GAP-02234"},"M16-GAP-02234":{"line":2233,"offset":387270,"length":160,"previous":"M16-GAP-02233","next":"M16-GAP-02235"},"M16-GAP-02235":{"line":2234,"offset":387430,"length":166,"previous":"M16-GAP-02234","next":"M16-GAP-02236"},"M16-GAP-02236":{"line":2235,"offset":387596,"length":159,"previous":"M16-GAP-02235","next":"M16-GAP-02237"},"M16-GAP-02237":{"line":2236,"offset":387755,"length":162,"previous":"M16-GAP-02236","next":"M16-GAP-02238"},"M16-GAP-02238":{"line":2237,"offset":387917,"length":170,"previous":"M16-GAP-02237","next":"M16-GAP-02239"},"M16-GAP-02239":{"line":2238,"offset":388087,"length":160,"previous":"M16-GAP-02238","next":"M16-GAP-02240"},"M16-GAP-02240":{"line":2239,"offset":388247,"length":173,"previous":"M16-GAP-02239","next":"M16-GAP-02241"},"M16-GAP-02241":{"line":2240,"offset":388420,"length":162,"previous":"M16-GAP-02240","next":"M16-GAP-02242"},"M16-GAP-02242":{"line":2241,"offset":388582,"length":178,"previous":"M16-GAP-02241","next":"M16-GAP-02243"},"M16-GAP-02243":{"line":2242,"offset":388760,"length":162,"previous":"M16-GAP-02242","next":"M16-GAP-02244"},"M16-GAP-02244":{"line":2243,"offset":388922,"length":160,"previous":"M16-GAP-02243","next":"M16-GAP-02245"},"M16-GAP-02245":{"line":2244,"offset":389082,"length":177,"previous":"M16-GAP-02244","next":"M16-GAP-02246"},"M16-GAP-02246":{"line":2245,"offset":389259,"length":166,"previous":"M16-GAP-02245","next":"M16-GAP-02247"},"M16-GAP-02247":{"line":2246,"offset":389425,"length":167,"previous":"M16-GAP-02246","next":"M16-GAP-02248"},"M16-GAP-02248":{"line":2247,"offset":389592,"length":169,"previous":"M16-GAP-02247","next":"M16-GAP-02249"},"M16-GAP-02249":{"line":2248,"offset":389761,"length":160,"previous":"M16-GAP-02248","next":"M16-GAP-02250"},"M16-GAP-02250":{"line":2249,"offset":389921,"length":166,"previous":"M16-GAP-02249","next":"M16-GAP-02251"},"M16-GAP-02251":{"line":2250,"offset":390087,"length":167,"previous":"M16-GAP-02250","next":"M16-GAP-02252"},"M16-GAP-02252":{"line":2251,"offset":390254,"length":159,"previous":"M16-GAP-02251","next":"M16-GAP-02253"},"M16-GAP-02253":{"line":2252,"offset":390413,"length":160,"previous":"M16-GAP-02252","next":"M16-GAP-02254"},"M16-GAP-02254":{"line":2253,"offset":390573,"length":172,"previous":"M16-GAP-02253","next":"M16-GAP-02255"},"M16-GAP-02255":{"line":2254,"offset":390745,"length":161,"previous":"M16-GAP-02254","next":"M16-GAP-02256"},"M16-GAP-02256":{"line":2255,"offset":390906,"length":162,"previous":"M16-GAP-02255","next":"M16-GAP-02257"},"M16-GAP-02257":{"line":2256,"offset":391068,"length":163,"previous":"M16-GAP-02256","next":"M16-GAP-02258"},"M16-GAP-02258":{"line":2257,"offset":391231,"length":176,"previous":"M16-GAP-02257","next":"M16-GAP-02259"},"M16-GAP-02259":{"line":2258,"offset":391407,"length":172,"previous":"M16-GAP-02258","next":"M16-GAP-02260"},"M16-GAP-02260":{"line":2259,"offset":391579,"length":166,"previous":"M16-GAP-02259","next":"M16-GAP-02261"},"M16-GAP-02261":{"line":2260,"offset":391745,"length":160,"previous":"M16-GAP-02260","next":"M16-GAP-02262"},"M16-GAP-02262":{"line":2261,"offset":391905,"length":163,"previous":"M16-GAP-02261","next":"M16-GAP-02263"},"M16-GAP-02263":{"line":2262,"offset":392068,"length":162,"previous":"M16-GAP-02262","next":"M16-GAP-02264"},"M16-GAP-02264":{"line":2263,"offset":392230,"length":166,"previous":"M16-GAP-02263","next":"M16-GAP-02265"},"M16-GAP-02265":{"line":2264,"offset":392396,"length":166,"previous":"M16-GAP-02264","next":"M16-GAP-02266"},"M16-GAP-02266":{"line":2265,"offset":392562,"length":167,"previous":"M16-GAP-02265","next":"M16-GAP-02267"},"M16-GAP-02267":{"line":2266,"offset":392729,"length":167,"previous":"M16-GAP-02266","next":"M16-GAP-02268"},"M16-GAP-02268":{"line":2267,"offset":392896,"length":169,"previous":"M16-GAP-02267","next":"M16-GAP-02269"},"M16-GAP-02269":{"line":2268,"offset":393065,"length":166,"previous":"M16-GAP-02268","next":"M16-GAP-02270"},"M16-GAP-02270":{"line":2269,"offset":393231,"length":168,"previous":"M16-GAP-02269","next":"M16-GAP-02271"},"M16-GAP-02271":{"line":2270,"offset":393399,"length":164,"previous":"M16-GAP-02270","next":"M16-GAP-02272"},"M16-GAP-02272":{"line":2271,"offset":393563,"length":162,"previous":"M16-GAP-02271","next":"M16-GAP-02273"},"M16-GAP-02273":{"line":2272,"offset":393725,"length":169,"previous":"M16-GAP-02272","next":"M16-GAP-02274"},"M16-GAP-02274":{"line":2273,"offset":393894,"length":173,"previous":"M16-GAP-02273","next":"M16-GAP-02275"},"M16-GAP-02275":{"line":2274,"offset":394067,"length":162,"previous":"M16-GAP-02274","next":"M16-GAP-02276"},"M16-GAP-02276":{"line":2275,"offset":394229,"length":168,"previous":"M16-GAP-02275","next":"M16-GAP-02277"},"M16-GAP-02277":{"line":2276,"offset":394397,"length":168,"previous":"M16-GAP-02276","next":"M16-GAP-02278"},"M16-GAP-02278":{"line":2277,"offset":394565,"length":169,"previous":"M16-GAP-02277","next":"M16-GAP-02279"},"M16-GAP-02279":{"line":2278,"offset":394734,"length":173,"previous":"M16-GAP-02278","next":"M16-GAP-02280"},"M16-GAP-02280":{"line":2279,"offset":394907,"length":165,"previous":"M16-GAP-02279","next":"M16-GAP-02281"},"M16-GAP-02281":{"line":2280,"offset":395072,"length":179,"previous":"M16-GAP-02280","next":"M16-GAP-02282"},"M16-GAP-02282":{"line":2281,"offset":395251,"length":179,"previous":"M16-GAP-02281","next":"M16-GAP-02283"},"M16-GAP-02283":{"line":2282,"offset":395430,"length":177,"previous":"M16-GAP-02282","next":"M16-GAP-02284"},"M16-GAP-02284":{"line":2283,"offset":395607,"length":172,"previous":"M16-GAP-02283","next":"M16-GAP-02285"},"M16-GAP-02285":{"line":2284,"offset":395779,"length":171,"previous":"M16-GAP-02284","next":"M16-GAP-02286"},"M16-GAP-02286":{"line":2285,"offset":395950,"length":171,"previous":"M16-GAP-02285","next":"M16-GAP-02287"},"M16-GAP-02287":{"line":2286,"offset":396121,"length":167,"previous":"M16-GAP-02286","next":"M16-GAP-02288"},"M16-GAP-02288":{"line":2287,"offset":396288,"length":170,"previous":"M16-GAP-02287","next":"M16-GAP-02289"},"M16-GAP-02289":{"line":2288,"offset":396458,"length":167,"previous":"M16-GAP-02288","next":"M16-GAP-02290"},"M16-GAP-02290":{"line":2289,"offset":396625,"length":167,"previous":"M16-GAP-02289","next":"M16-GAP-02291"},"M16-GAP-02291":{"line":2290,"offset":396792,"length":174,"previous":"M16-GAP-02290","next":"M16-GAP-02292"},"M16-GAP-02292":{"line":2291,"offset":396966,"length":179,"previous":"M16-GAP-02291","next":"M16-GAP-02293"},"M16-GAP-02293":{"line":2292,"offset":397145,"length":170,"previous":"M16-GAP-02292","next":"M16-GAP-02294"},"M16-GAP-02294":{"line":2293,"offset":397315,"length":166,"previous":"M16-GAP-02293","next":"M16-GAP-02295"},"M16-GAP-02295":{"line":2294,"offset":397481,"length":174,"previous":"M16-GAP-02294","next":"M16-GAP-02296"},"M16-GAP-02296":{"line":2295,"offset":397655,"length":172,"previous":"M16-GAP-02295","next":"M16-GAP-02297"},"M16-GAP-02297":{"line":2296,"offset":397827,"length":165,"previous":"M16-GAP-02296","next":"M16-GAP-02298"},"M16-GAP-02298":{"line":2297,"offset":397992,"length":169,"previous":"M16-GAP-02297","next":"M16-GAP-02299"},"M16-GAP-02299":{"line":2298,"offset":398161,"length":170,"previous":"M16-GAP-02298","next":"M16-GAP-02300"},"M16-GAP-02300":{"line":2299,"offset":398331,"length":170,"previous":"M16-GAP-02299","next":"M16-GAP-02301"},"M16-GAP-02301":{"line":2300,"offset":398501,"length":170,"previous":"M16-GAP-02300","next":"M16-GAP-02302"},"M16-GAP-02302":{"line":2301,"offset":398671,"length":172,"previous":"M16-GAP-02301","next":"M16-GAP-02303"},"M16-GAP-02303":{"line":2302,"offset":398843,"length":171,"previous":"M16-GAP-02302","next":"M16-GAP-02304"},"M16-GAP-02304":{"line":2303,"offset":399014,"length":174,"previous":"M16-GAP-02303","next":"M16-GAP-02305"},"M16-GAP-02305":{"line":2304,"offset":399188,"length":172,"previous":"M16-GAP-02304","next":"M16-GAP-02306"},"M16-GAP-02306":{"line":2305,"offset":399360,"length":175,"previous":"M16-GAP-02305","next":"M16-GAP-02307"},"M16-GAP-02307":{"line":2306,"offset":399535,"length":168,"previous":"M16-GAP-02306","next":"M16-GAP-02308"},"M16-GAP-02308":{"line":2307,"offset":399703,"length":173,"previous":"M16-GAP-02307","next":"M16-GAP-02309"},"M16-GAP-02309":{"line":2308,"offset":399876,"length":175,"previous":"M16-GAP-02308","next":"M16-GAP-02310"},"M16-GAP-02310":{"line":2309,"offset":400051,"length":175,"previous":"M16-GAP-02309","next":"M16-GAP-02311"},"M16-GAP-02311":{"line":2310,"offset":400226,"length":184,"previous":"M16-GAP-02310","next":"M16-GAP-02312"},"M16-GAP-02312":{"line":2311,"offset":400410,"length":180,"previous":"M16-GAP-02311","next":"M16-GAP-02313"},"M16-GAP-02313":{"line":2312,"offset":400590,"length":177,"previous":"M16-GAP-02312","next":"M16-GAP-02314"},"M16-GAP-02314":{"line":2313,"offset":400767,"length":164,"previous":"M16-GAP-02313","next":"M16-GAP-02315"},"M16-GAP-02315":{"line":2314,"offset":400931,"length":167,"previous":"M16-GAP-02314","next":"M16-GAP-02316"},"M16-GAP-02316":{"line":2315,"offset":401098,"length":163,"previous":"M16-GAP-02315","next":"M16-GAP-02317"},"M16-GAP-02317":{"line":2316,"offset":401261,"length":164,"previous":"M16-GAP-02316","next":"M16-GAP-02318"},"M16-GAP-02318":{"line":2317,"offset":401425,"length":169,"previous":"M16-GAP-02317","next":"M16-GAP-02319"},"M16-GAP-02319":{"line":2318,"offset":401594,"length":170,"previous":"M16-GAP-02318","next":"M16-GAP-02320"},"M16-GAP-02320":{"line":2319,"offset":401764,"length":174,"previous":"M16-GAP-02319","next":"M16-GAP-02321"},"M16-GAP-02321":{"line":2320,"offset":401938,"length":180,"previous":"M16-GAP-02320","next":"M16-GAP-02322"},"M16-GAP-02322":{"line":2321,"offset":402118,"length":170,"previous":"M16-GAP-02321","next":"M16-GAP-02323"},"M16-GAP-02323":{"line":2322,"offset":402288,"length":171,"previous":"M16-GAP-02322","next":"M16-GAP-02324"},"M16-GAP-02324":{"line":2323,"offset":402459,"length":184,"previous":"M16-GAP-02323","next":"M16-GAP-02325"},"M16-GAP-02325":{"line":2324,"offset":402643,"length":167,"previous":"M16-GAP-02324","next":"M16-GAP-02326"},"M16-GAP-02326":{"line":2325,"offset":402810,"length":175,"previous":"M16-GAP-02325","next":"M16-GAP-02327"},"M16-GAP-02327":{"line":2326,"offset":402985,"length":171,"previous":"M16-GAP-02326","next":"M16-GAP-02328"},"M16-GAP-02328":{"line":2327,"offset":403156,"length":173,"previous":"M16-GAP-02327","next":"M16-GAP-02329"},"M16-GAP-02329":{"line":2328,"offset":403329,"length":179,"previous":"M16-GAP-02328","next":"M16-GAP-02330"},"M16-GAP-02330":{"line":2329,"offset":403508,"length":178,"previous":"M16-GAP-02329","next":"M16-GAP-02331"},"M16-GAP-02331":{"line":2330,"offset":403686,"length":179,"previous":"M16-GAP-02330","next":"M16-GAP-02332"},"M16-GAP-02332":{"line":2331,"offset":403865,"length":176,"previous":"M16-GAP-02331","next":"M16-GAP-02333"},"M16-GAP-02333":{"line":2332,"offset":404041,"length":171,"previous":"M16-GAP-02332","next":"M16-GAP-02334"},"M16-GAP-02334":{"line":2333,"offset":404212,"length":174,"previous":"M16-GAP-02333","next":"M16-GAP-02335"},"M16-GAP-02335":{"line":2334,"offset":404386,"length":175,"previous":"M16-GAP-02334","next":"M16-GAP-02336"},"M16-GAP-02336":{"line":2335,"offset":404561,"length":163,"previous":"M16-GAP-02335","next":"M16-GAP-02337"},"M16-GAP-02337":{"line":2336,"offset":404724,"length":170,"previous":"M16-GAP-02336","next":"M16-GAP-02338"},"M16-GAP-02338":{"line":2337,"offset":404894,"length":169,"previous":"M16-GAP-02337","next":"M16-GAP-02339"},"M16-GAP-02339":{"line":2338,"offset":405063,"length":172,"previous":"M16-GAP-02338","next":"M16-GAP-02340"},"M16-GAP-02340":{"line":2339,"offset":405235,"length":170,"previous":"M16-GAP-02339","next":"M16-GAP-02341"},"M16-GAP-02341":{"line":2340,"offset":405405,"length":170,"previous":"M16-GAP-02340","next":"M16-GAP-02342"},"M16-GAP-02342":{"line":2341,"offset":405575,"length":165,"previous":"M16-GAP-02341","next":"M16-GAP-02343"},"M16-GAP-02343":{"line":2342,"offset":405740,"length":171,"previous":"M16-GAP-02342","next":"M16-GAP-02344"},"M16-GAP-02344":{"line":2343,"offset":405911,"length":167,"previous":"M16-GAP-02343","next":"M16-GAP-02345"},"M16-GAP-02345":{"line":2344,"offset":406078,"length":168,"previous":"M16-GAP-02344","next":"M16-GAP-02346"},"M16-GAP-02346":{"line":2345,"offset":406246,"length":170,"previous":"M16-GAP-02345","next":"M16-GAP-02347"},"M16-GAP-02347":{"line":2346,"offset":406416,"length":159,"previous":"M16-GAP-02346","next":"M16-GAP-02348"},"M16-GAP-02348":{"line":2347,"offset":406575,"length":168,"previous":"M16-GAP-02347","next":"M16-GAP-02349"},"M16-GAP-02349":{"line":2348,"offset":406743,"length":169,"previous":"M16-GAP-02348","next":"M16-GAP-02350"},"M16-GAP-02350":{"line":2349,"offset":406912,"length":175,"previous":"M16-GAP-02349","next":"M16-GAP-02351"},"M16-GAP-02351":{"line":2350,"offset":407087,"length":158,"previous":"M16-GAP-02350","next":"M16-GAP-02352"},"M16-GAP-02352":{"line":2351,"offset":407245,"length":173,"previous":"M16-GAP-02351","next":"M16-GAP-02353"},"M16-GAP-02353":{"line":2352,"offset":407418,"length":166,"previous":"M16-GAP-02352","next":"M16-GAP-02354"},"M16-GAP-02354":{"line":2353,"offset":407584,"length":164,"previous":"M16-GAP-02353","next":"M16-GAP-02355"},"M16-GAP-02355":{"line":2354,"offset":407748,"length":171,"previous":"M16-GAP-02354","next":"M16-GAP-02356"},"M16-GAP-02356":{"line":2355,"offset":407919,"length":170,"previous":"M16-GAP-02355","next":"M16-GAP-02357"},"M16-GAP-02357":{"line":2356,"offset":408089,"length":167,"previous":"M16-GAP-02356","next":"M16-GAP-02358"},"M16-GAP-02358":{"line":2357,"offset":408256,"length":173,"previous":"M16-GAP-02357","next":"M16-GAP-02359"},"M16-GAP-02359":{"line":2358,"offset":408429,"length":158,"previous":"M16-GAP-02358","next":"M16-GAP-02360"},"M16-GAP-02360":{"line":2359,"offset":408587,"length":167,"previous":"M16-GAP-02359","next":"M16-GAP-02361"},"M16-GAP-02361":{"line":2360,"offset":408754,"length":163,"previous":"M16-GAP-02360","next":"M16-GAP-02362"},"M16-GAP-02362":{"line":2361,"offset":408917,"length":170,"previous":"M16-GAP-02361","next":"M16-GAP-02363"},"M16-GAP-02363":{"line":2362,"offset":409087,"length":166,"previous":"M16-GAP-02362","next":"M16-GAP-02364"},"M16-GAP-02364":{"line":2363,"offset":409253,"length":166,"previous":"M16-GAP-02363","next":"M16-GAP-02365"},"M16-GAP-02365":{"line":2364,"offset":409419,"length":159,"previous":"M16-GAP-02364","next":"M16-GAP-02366"},"M16-GAP-02366":{"line":2365,"offset":409578,"length":157,"previous":"M16-GAP-02365","next":"M16-GAP-02367"},"M16-GAP-02367":{"line":2366,"offset":409735,"length":171,"previous":"M16-GAP-02366","next":"M16-GAP-02368"},"M16-GAP-02368":{"line":2367,"offset":409906,"length":176,"previous":"M16-GAP-02367","next":"M16-GAP-02369"},"M16-GAP-02369":{"line":2368,"offset":410082,"length":168,"previous":"M16-GAP-02368","next":"M16-GAP-02370"},"M16-GAP-02370":{"line":2369,"offset":410250,"length":159,"previous":"M16-GAP-02369","next":"M16-GAP-02371"},"M16-GAP-02371":{"line":2370,"offset":410409,"length":160,"previous":"M16-GAP-02370","next":"M16-GAP-02372"},"M16-GAP-02372":{"line":2371,"offset":410569,"length":157,"previous":"M16-GAP-02371","next":"M16-GAP-02373"},"M16-GAP-02373":{"line":2372,"offset":410726,"length":162,"previous":"M16-GAP-02372","next":"M16-GAP-02374"},"M16-GAP-02374":{"line":2373,"offset":410888,"length":172,"previous":"M16-GAP-02373","next":"M16-GAP-02375"},"M16-GAP-02375":{"line":2374,"offset":411060,"length":160,"previous":"M16-GAP-02374","next":"M16-GAP-02376"},"M16-GAP-02376":{"line":2375,"offset":411220,"length":164,"previous":"M16-GAP-02375","next":"M16-GAP-02377"},"M16-GAP-02377":{"line":2376,"offset":411384,"length":164,"previous":"M16-GAP-02376","next":"M16-GAP-02378"},"M16-GAP-02378":{"line":2377,"offset":411548,"length":171,"previous":"M16-GAP-02377","next":"M16-GAP-02379"},"M16-GAP-02379":{"line":2378,"offset":411719,"length":167,"previous":"M16-GAP-02378","next":"M16-GAP-02380"},"M16-GAP-02380":{"line":2379,"offset":411886,"length":170,"previous":"M16-GAP-02379","next":"M16-GAP-02381"},"M16-GAP-02381":{"line":2380,"offset":412056,"length":166,"previous":"M16-GAP-02380","next":"M16-GAP-02382"},"M16-GAP-02382":{"line":2381,"offset":412222,"length":165,"previous":"M16-GAP-02381","next":"M16-GAP-02383"},"M16-GAP-02383":{"line":2382,"offset":412387,"length":167,"previous":"M16-GAP-02382","next":"M16-GAP-02384"},"M16-GAP-02384":{"line":2383,"offset":412554,"length":172,"previous":"M16-GAP-02383","next":"M16-GAP-02385"},"M16-GAP-02385":{"line":2384,"offset":412726,"length":165,"previous":"M16-GAP-02384","next":"M16-GAP-02386"},"M16-GAP-02386":{"line":2385,"offset":412891,"length":165,"previous":"M16-GAP-02385","next":"M16-GAP-02387"},"M16-GAP-02387":{"line":2386,"offset":413056,"length":165,"previous":"M16-GAP-02386","next":"M16-GAP-02388"},"M16-GAP-02388":{"line":2387,"offset":413221,"length":168,"previous":"M16-GAP-02387","next":"M16-GAP-02389"},"M16-GAP-02389":{"line":2388,"offset":413389,"length":167,"previous":"M16-GAP-02388","next":"M16-GAP-02390"},"M16-GAP-02390":{"line":2389,"offset":413556,"length":168,"previous":"M16-GAP-02389","next":"M16-GAP-02391"},"M16-GAP-02391":{"line":2390,"offset":413724,"length":166,"previous":"M16-GAP-02390","next":"M16-GAP-02392"},"M16-GAP-02392":{"line":2391,"offset":413890,"length":165,"previous":"M16-GAP-02391","next":"M16-GAP-02393"},"M16-GAP-02393":{"line":2392,"offset":414055,"length":172,"previous":"M16-GAP-02392","next":"M16-GAP-02394"},"M16-GAP-02394":{"line":2393,"offset":414227,"length":174,"previous":"M16-GAP-02393","next":"M16-GAP-02395"},"M16-GAP-02395":{"line":2394,"offset":414401,"length":167,"previous":"M16-GAP-02394","next":"M16-GAP-02396"},"M16-GAP-02396":{"line":2395,"offset":414568,"length":165,"previous":"M16-GAP-02395","next":"M16-GAP-02397"},"M16-GAP-02397":{"line":2396,"offset":414733,"length":167,"previous":"M16-GAP-02396","next":"M16-GAP-02398"},"M16-GAP-02398":{"line":2397,"offset":414900,"length":168,"previous":"M16-GAP-02397","next":"M16-GAP-02399"},"M16-GAP-02399":{"line":2398,"offset":415068,"length":160,"previous":"M16-GAP-02398","next":"M16-GAP-02400"},"M16-GAP-02400":{"line":2399,"offset":415228,"length":160,"previous":"M16-GAP-02399","next":"M16-GAP-02401"},"M16-GAP-02401":{"line":2400,"offset":415388,"length":158,"previous":"M16-GAP-02400","next":"M16-GAP-02402"},"M16-GAP-02402":{"line":2401,"offset":415546,"length":166,"previous":"M16-GAP-02401","next":"M16-GAP-02403"},"M16-GAP-02403":{"line":2402,"offset":415712,"length":162,"previous":"M16-GAP-02402","next":"M16-GAP-02404"},"M16-GAP-02404":{"line":2403,"offset":415874,"length":161,"previous":"M16-GAP-02403","next":"M16-GAP-02405"},"M16-GAP-02405":{"line":2404,"offset":416035,"length":163,"previous":"M16-GAP-02404","next":"M16-GAP-02406"},"M16-GAP-02406":{"line":2405,"offset":416198,"length":169,"previous":"M16-GAP-02405","next":"M16-GAP-02407"},"M16-GAP-02407":{"line":2406,"offset":416367,"length":169,"previous":"M16-GAP-02406","next":"M16-GAP-02408"},"M16-GAP-02408":{"line":2407,"offset":416536,"length":170,"previous":"M16-GAP-02407","next":"M16-GAP-02409"},"M16-GAP-02409":{"line":2408,"offset":416706,"length":167,"previous":"M16-GAP-02408","next":"M16-GAP-02410"},"M16-GAP-02410":{"line":2409,"offset":416873,"length":175,"previous":"M16-GAP-02409","next":"M16-GAP-02411"},"M16-GAP-02411":{"line":2410,"offset":417048,"length":168,"previous":"M16-GAP-02410","next":"M16-GAP-02412"},"M16-GAP-02412":{"line":2411,"offset":417216,"length":162,"previous":"M16-GAP-02411","next":"M16-GAP-02413"},"M16-GAP-02413":{"line":2412,"offset":417378,"length":169,"previous":"M16-GAP-02412","next":"M16-GAP-02414"},"M16-GAP-02414":{"line":2413,"offset":417547,"length":165,"previous":"M16-GAP-02413","next":"M16-GAP-02415"},"M16-GAP-02415":{"line":2414,"offset":417712,"length":166,"previous":"M16-GAP-02414","next":"M16-GAP-02416"},"M16-GAP-02416":{"line":2415,"offset":417878,"length":174,"previous":"M16-GAP-02415","next":"M16-GAP-02417"},"M16-GAP-02417":{"line":2416,"offset":418052,"length":185,"previous":"M16-GAP-02416","next":"M16-GAP-02418"},"M16-GAP-02418":{"line":2417,"offset":418237,"length":188,"previous":"M16-GAP-02417","next":"M16-GAP-02419"},"M16-GAP-02419":{"line":2418,"offset":418425,"length":172,"previous":"M16-GAP-02418","next":"M16-GAP-02420"},"M16-GAP-02420":{"line":2419,"offset":418597,"length":181,"previous":"M16-GAP-02419","next":"M16-GAP-02421"},"M16-GAP-02421":{"line":2420,"offset":418778,"length":177,"previous":"M16-GAP-02420","next":"M16-GAP-02422"},"M16-GAP-02422":{"line":2421,"offset":418955,"length":169,"previous":"M16-GAP-02421","next":"M16-GAP-02423"},"M16-GAP-02423":{"line":2422,"offset":419124,"length":168,"previous":"M16-GAP-02422","next":"M16-GAP-02424"},"M16-GAP-02424":{"line":2423,"offset":419292,"length":166,"previous":"M16-GAP-02423","next":"M16-GAP-02425"},"M16-GAP-02425":{"line":2424,"offset":419458,"length":163,"previous":"M16-GAP-02424","next":"M16-GAP-02426"},"M16-GAP-02426":{"line":2425,"offset":419621,"length":168,"previous":"M16-GAP-02425","next":"M16-GAP-02427"},"M16-GAP-02427":{"line":2426,"offset":419789,"length":191,"previous":"M16-GAP-02426","next":"M16-GAP-02428"},"M16-GAP-02428":{"line":2427,"offset":419980,"length":191,"previous":"M16-GAP-02427","next":"M16-GAP-02429"},"M16-GAP-02429":{"line":2428,"offset":420171,"length":187,"previous":"M16-GAP-02428","next":"M16-GAP-02430"},"M16-GAP-02430":{"line":2429,"offset":420358,"length":194,"previous":"M16-GAP-02429","next":"M16-GAP-02431"},"M16-GAP-02431":{"line":2430,"offset":420552,"length":161,"previous":"M16-GAP-02430","next":"M16-GAP-02432"},"M16-GAP-02432":{"line":2431,"offset":420713,"length":173,"previous":"M16-GAP-02431","next":"M16-GAP-02433"},"M16-GAP-02433":{"line":2432,"offset":420886,"length":167,"previous":"M16-GAP-02432","next":"M16-GAP-02434"},"M16-GAP-02434":{"line":2433,"offset":421053,"length":179,"previous":"M16-GAP-02433","next":"M16-GAP-02435"},"M16-GAP-02435":{"line":2434,"offset":421232,"length":162,"previous":"M16-GAP-02434","next":"M16-GAP-02436"},"M16-GAP-02436":{"line":2435,"offset":421394,"length":166,"previous":"M16-GAP-02435","next":"M16-GAP-02437"},"M16-GAP-02437":{"line":2436,"offset":421560,"length":166,"previous":"M16-GAP-02436","next":"M16-GAP-02438"},"M16-GAP-02438":{"line":2437,"offset":421726,"length":168,"previous":"M16-GAP-02437","next":"M16-GAP-02439"},"M16-GAP-02439":{"line":2438,"offset":421894,"length":173,"previous":"M16-GAP-02438","next":"M16-GAP-02440"},"M16-GAP-02440":{"line":2439,"offset":422067,"length":166,"previous":"M16-GAP-02439","next":"M16-GAP-02441"},"M16-GAP-02441":{"line":2440,"offset":422233,"length":174,"previous":"M16-GAP-02440","next":"M16-GAP-02442"},"M16-GAP-02442":{"line":2441,"offset":422407,"length":183,"previous":"M16-GAP-02441","next":"M16-GAP-02443"},"M16-GAP-02443":{"line":2442,"offset":422590,"length":169,"previous":"M16-GAP-02442","next":"M16-GAP-02444"},"M16-GAP-02444":{"line":2443,"offset":422759,"length":171,"previous":"M16-GAP-02443","next":"M16-GAP-02445"},"M16-GAP-02445":{"line":2444,"offset":422930,"length":164,"previous":"M16-GAP-02444","next":"M16-GAP-02446"},"M16-GAP-02446":{"line":2445,"offset":423094,"length":167,"previous":"M16-GAP-02445","next":"M16-GAP-02447"},"M16-GAP-02447":{"line":2446,"offset":423261,"length":170,"previous":"M16-GAP-02446","next":"M16-GAP-02448"},"M16-GAP-02448":{"line":2447,"offset":423431,"length":164,"previous":"M16-GAP-02447","next":"M16-GAP-02449"},"M16-GAP-02449":{"line":2448,"offset":423595,"length":168,"previous":"M16-GAP-02448","next":"M16-GAP-02450"},"M16-GAP-02450":{"line":2449,"offset":423763,"length":171,"previous":"M16-GAP-02449","next":"M16-GAP-02451"},"M16-GAP-02451":{"line":2450,"offset":423934,"length":170,"previous":"M16-GAP-02450","next":"M16-GAP-02452"},"M16-GAP-02452":{"line":2451,"offset":424104,"length":169,"previous":"M16-GAP-02451","next":"M16-GAP-02453"},"M16-GAP-02453":{"line":2452,"offset":424273,"length":168,"previous":"M16-GAP-02452","next":"M16-GAP-02454"},"M16-GAP-02454":{"line":2453,"offset":424441,"length":179,"previous":"M16-GAP-02453","next":"M16-GAP-02455"},"M16-GAP-02455":{"line":2454,"offset":424620,"length":179,"previous":"M16-GAP-02454","next":"M16-GAP-02456"},"M16-GAP-02456":{"line":2455,"offset":424799,"length":177,"previous":"M16-GAP-02455","next":"M16-GAP-02457"},"M16-GAP-02457":{"line":2456,"offset":424976,"length":181,"previous":"M16-GAP-02456","next":"M16-GAP-02458"},"M16-GAP-02458":{"line":2457,"offset":425157,"length":181,"previous":"M16-GAP-02457","next":"M16-GAP-02459"},"M16-GAP-02459":{"line":2458,"offset":425338,"length":181,"previous":"M16-GAP-02458","next":"M16-GAP-02460"},"M16-GAP-02460":{"line":2459,"offset":425519,"length":179,"previous":"M16-GAP-02459","next":"M16-GAP-02461"},"M16-GAP-02461":{"line":2460,"offset":425698,"length":176,"previous":"M16-GAP-02460","next":"M16-GAP-02462"},"M16-GAP-02462":{"line":2461,"offset":425874,"length":172,"previous":"M16-GAP-02461","next":"M16-GAP-02463"},"M16-GAP-02463":{"line":2462,"offset":426046,"length":169,"previous":"M16-GAP-02462","next":"M16-GAP-02464"},"M16-GAP-02464":{"line":2463,"offset":426215,"length":177,"previous":"M16-GAP-02463","next":"M16-GAP-02465"},"M16-GAP-02465":{"line":2464,"offset":426392,"length":166,"previous":"M16-GAP-02464","next":"M16-GAP-02466"},"M16-GAP-02466":{"line":2465,"offset":426558,"length":167,"previous":"M16-GAP-02465","next":"M16-GAP-02467"},"M16-GAP-02467":{"line":2466,"offset":426725,"length":169,"previous":"M16-GAP-02466","next":"M16-GAP-02468"},"M16-GAP-02468":{"line":2467,"offset":426894,"length":176,"previous":"M16-GAP-02467","next":"M16-GAP-02469"},"M16-GAP-02469":{"line":2468,"offset":427070,"length":176,"previous":"M16-GAP-02468","next":"M16-GAP-02470"},"M16-GAP-02470":{"line":2469,"offset":427246,"length":174,"previous":"M16-GAP-02469","next":"M16-GAP-02471"},"M16-GAP-02471":{"line":2470,"offset":427420,"length":174,"previous":"M16-GAP-02470","next":"M16-GAP-02472"},"M16-GAP-02472":{"line":2471,"offset":427594,"length":173,"previous":"M16-GAP-02471","next":"M16-GAP-02473"},"M16-GAP-02473":{"line":2472,"offset":427767,"length":177,"previous":"M16-GAP-02472","next":"M16-GAP-02474"},"M16-GAP-02474":{"line":2473,"offset":427944,"length":168,"previous":"M16-GAP-02473","next":"M16-GAP-02475"},"M16-GAP-02475":{"line":2474,"offset":428112,"length":166,"previous":"M16-GAP-02474","next":"M16-GAP-02476"},"M16-GAP-02476":{"line":2475,"offset":428278,"length":173,"previous":"M16-GAP-02475","next":"M16-GAP-02477"},"M16-GAP-02477":{"line":2476,"offset":428451,"length":167,"previous":"M16-GAP-02476","next":"M16-GAP-02478"},"M16-GAP-02478":{"line":2477,"offset":428618,"length":171,"previous":"M16-GAP-02477","next":"M16-GAP-02479"},"M16-GAP-02479":{"line":2478,"offset":428789,"length":162,"previous":"M16-GAP-02478","next":"M16-GAP-02480"},"M16-GAP-02480":{"line":2479,"offset":428951,"length":162,"previous":"M16-GAP-02479","next":"M16-GAP-02481"},"M16-GAP-02481":{"line":2480,"offset":429113,"length":169,"previous":"M16-GAP-02480","next":"M16-GAP-02482"},"M16-GAP-02482":{"line":2481,"offset":429282,"length":176,"previous":"M16-GAP-02481","next":"M16-GAP-02483"},"M16-GAP-02483":{"line":2482,"offset":429458,"length":160,"previous":"M16-GAP-02482","next":"M16-GAP-02484"},"M16-GAP-02484":{"line":2483,"offset":429618,"length":166,"previous":"M16-GAP-02483","next":"M16-GAP-02485"},"M16-GAP-02485":{"line":2484,"offset":429784,"length":181,"previous":"M16-GAP-02484","next":"M16-GAP-02486"},"M16-GAP-02486":{"line":2485,"offset":429965,"length":178,"previous":"M16-GAP-02485","next":"M16-GAP-02487"},"M16-GAP-02487":{"line":2486,"offset":430143,"length":163,"previous":"M16-GAP-02486","next":"M16-GAP-02488"},"M16-GAP-02488":{"line":2487,"offset":430306,"length":167,"previous":"M16-GAP-02487","next":"M16-GAP-02489"},"M16-GAP-02489":{"line":2488,"offset":430473,"length":164,"previous":"M16-GAP-02488","next":"M16-GAP-02490"},"M16-GAP-02490":{"line":2489,"offset":430637,"length":172,"previous":"M16-GAP-02489","next":"M16-GAP-02491"},"M16-GAP-02491":{"line":2490,"offset":430809,"length":175,"previous":"M16-GAP-02490","next":"M16-GAP-02492"},"M16-GAP-02492":{"line":2491,"offset":430984,"length":184,"previous":"M16-GAP-02491","next":"M16-GAP-02493"},"M16-GAP-02493":{"line":2492,"offset":431168,"length":173,"previous":"M16-GAP-02492","next":"M16-GAP-02494"},"M16-GAP-02494":{"line":2493,"offset":431341,"length":172,"previous":"M16-GAP-02493","next":"M16-GAP-02495"},"M16-GAP-02495":{"line":2494,"offset":431513,"length":171,"previous":"M16-GAP-02494","next":"M16-GAP-02496"},"M16-GAP-02496":{"line":2495,"offset":431684,"length":171,"previous":"M16-GAP-02495","next":"M16-GAP-02497"},"M16-GAP-02497":{"line":2496,"offset":431855,"length":173,"previous":"M16-GAP-02496","next":"M16-GAP-02498"},"M16-GAP-02498":{"line":2497,"offset":432028,"length":170,"previous":"M16-GAP-02497","next":"M16-GAP-02499"},"M16-GAP-02499":{"line":2498,"offset":432198,"length":173,"previous":"M16-GAP-02498","next":"M16-GAP-02500"},"M16-GAP-02500":{"line":2499,"offset":432371,"length":171,"previous":"M16-GAP-02499","next":"M16-GAP-02501"},"M16-GAP-02501":{"line":2500,"offset":432542,"length":173,"previous":"M16-GAP-02500","next":"M16-GAP-02502"},"M16-GAP-02502":{"line":2501,"offset":432715,"length":170,"previous":"M16-GAP-02501","next":"M16-GAP-02503"},"M16-GAP-02503":{"line":2502,"offset":432885,"length":171,"previous":"M16-GAP-02502","next":"M16-GAP-02504"},"M16-GAP-02504":{"line":2503,"offset":433056,"length":168,"previous":"M16-GAP-02503","next":"M16-GAP-02505"},"M16-GAP-02505":{"line":2504,"offset":433224,"length":169,"previous":"M16-GAP-02504","next":"M16-GAP-02506"},"M16-GAP-02506":{"line":2505,"offset":433393,"length":172,"previous":"M16-GAP-02505","next":"M16-GAP-02507"},"M16-GAP-02507":{"line":2506,"offset":433565,"length":171,"previous":"M16-GAP-02506","next":"M16-GAP-02508"},"M16-GAP-02508":{"line":2507,"offset":433736,"length":168,"previous":"M16-GAP-02507","next":"M16-GAP-02509"},"M16-GAP-02509":{"line":2508,"offset":433904,"length":173,"previous":"M16-GAP-02508","next":"M16-GAP-02510"},"M16-GAP-02510":{"line":2509,"offset":434077,"length":164,"previous":"M16-GAP-02509","next":"M16-GAP-02511"},"M16-GAP-02511":{"line":2510,"offset":434241,"length":162,"previous":"M16-GAP-02510","next":"M16-GAP-02512"},"M16-GAP-02512":{"line":2511,"offset":434403,"length":169,"previous":"M16-GAP-02511","next":"M16-GAP-02513"},"M16-GAP-02513":{"line":2512,"offset":434572,"length":180,"previous":"M16-GAP-02512","next":"M16-GAP-02514"},"M16-GAP-02514":{"line":2513,"offset":434752,"length":169,"previous":"M16-GAP-02513","next":"M16-GAP-02515"},"M16-GAP-02515":{"line":2514,"offset":434921,"length":170,"previous":"M16-GAP-02514","next":"M16-GAP-02516"},"M16-GAP-02516":{"line":2515,"offset":435091,"length":164,"previous":"M16-GAP-02515","next":"M16-GAP-02517"},"M16-GAP-02517":{"line":2516,"offset":435255,"length":178,"previous":"M16-GAP-02516","next":"M16-GAP-02518"},"M16-GAP-02518":{"line":2517,"offset":435433,"length":178,"previous":"M16-GAP-02517","next":"M16-GAP-02519"},"M16-GAP-02519":{"line":2518,"offset":435611,"length":172,"previous":"M16-GAP-02518","next":"M16-GAP-02520"},"M16-GAP-02520":{"line":2519,"offset":435783,"length":180,"previous":"M16-GAP-02519","next":"M16-GAP-02521"},"M16-GAP-02521":{"line":2520,"offset":435963,"length":183,"previous":"M16-GAP-02520","next":"M16-GAP-02522"},"M16-GAP-02522":{"line":2521,"offset":436146,"length":181,"previous":"M16-GAP-02521","next":"M16-GAP-02523"},"M16-GAP-02523":{"line":2522,"offset":436327,"length":174,"previous":"M16-GAP-02522","next":"M16-GAP-02524"},"M16-GAP-02524":{"line":2523,"offset":436501,"length":177,"previous":"M16-GAP-02523","next":"M16-GAP-02525"},"M16-GAP-02525":{"line":2524,"offset":436678,"length":164,"previous":"M16-GAP-02524","next":"M16-GAP-02526"},"M16-GAP-02526":{"line":2525,"offset":436842,"length":166,"previous":"M16-GAP-02525","next":"M16-GAP-02527"},"M16-GAP-02527":{"line":2526,"offset":437008,"length":158,"previous":"M16-GAP-02526","next":"M16-GAP-02528"},"M16-GAP-02528":{"line":2527,"offset":437166,"length":171,"previous":"M16-GAP-02527","next":"M16-GAP-02529"},"M16-GAP-02529":{"line":2528,"offset":437337,"length":164,"previous":"M16-GAP-02528","next":"M16-GAP-02530"},"M16-GAP-02530":{"line":2529,"offset":437501,"length":164,"previous":"M16-GAP-02529","next":"M16-GAP-02531"},"M16-GAP-02531":{"line":2530,"offset":437665,"length":167,"previous":"M16-GAP-02530","next":"M16-GAP-02532"},"M16-GAP-02532":{"line":2531,"offset":437832,"length":174,"previous":"M16-GAP-02531","next":"M16-GAP-02533"},"M16-GAP-02533":{"line":2532,"offset":438006,"length":171,"previous":"M16-GAP-02532","next":"M16-GAP-02534"},"M16-GAP-02534":{"line":2533,"offset":438177,"length":171,"previous":"M16-GAP-02533","next":"M16-GAP-02535"},"M16-GAP-02535":{"line":2534,"offset":438348,"length":173,"previous":"M16-GAP-02534","next":"M16-GAP-02536"},"M16-GAP-02536":{"line":2535,"offset":438521,"length":178,"previous":"M16-GAP-02535","next":"M16-GAP-02537"},"M16-GAP-02537":{"line":2536,"offset":438699,"length":167,"previous":"M16-GAP-02536","next":"M16-GAP-02538"},"M16-GAP-02538":{"line":2537,"offset":438866,"length":166,"previous":"M16-GAP-02537","next":"M16-GAP-02539"},"M16-GAP-02539":{"line":2538,"offset":439032,"length":163,"previous":"M16-GAP-02538","next":"M16-GAP-02540"},"M16-GAP-02540":{"line":2539,"offset":439195,"length":164,"previous":"M16-GAP-02539","next":"M16-GAP-02541"},"M16-GAP-02541":{"line":2540,"offset":439359,"length":164,"previous":"M16-GAP-02540","next":"M16-GAP-02542"},"M16-GAP-02542":{"line":2541,"offset":439523,"length":174,"previous":"M16-GAP-02541","next":"M16-GAP-02543"},"M16-GAP-02543":{"line":2542,"offset":439697,"length":177,"previous":"M16-GAP-02542","next":"M16-GAP-02544"},"M16-GAP-02544":{"line":2543,"offset":439874,"length":168,"previous":"M16-GAP-02543","next":"M16-GAP-02545"},"M16-GAP-02545":{"line":2544,"offset":440042,"length":169,"previous":"M16-GAP-02544","next":"M16-GAP-02546"},"M16-GAP-02546":{"line":2545,"offset":440211,"length":168,"previous":"M16-GAP-02545","next":"M16-GAP-02547"},"M16-GAP-02547":{"line":2546,"offset":440379,"length":179,"previous":"M16-GAP-02546","next":"M16-GAP-02548"},"M16-GAP-02548":{"line":2547,"offset":440558,"length":169,"previous":"M16-GAP-02547","next":"M16-GAP-02549"},"M16-GAP-02549":{"line":2548,"offset":440727,"length":175,"previous":"M16-GAP-02548","next":"M16-GAP-02550"},"M16-GAP-02550":{"line":2549,"offset":440902,"length":171,"previous":"M16-GAP-02549","next":"M16-GAP-02551"},"M16-GAP-02551":{"line":2550,"offset":441073,"length":166,"previous":"M16-GAP-02550","next":"M16-GAP-02552"},"M16-GAP-02552":{"line":2551,"offset":441239,"length":168,"previous":"M16-GAP-02551","next":"M16-GAP-02553"},"M16-GAP-02553":{"line":2552,"offset":441407,"length":175,"previous":"M16-GAP-02552","next":"M16-GAP-02554"},"M16-GAP-02554":{"line":2553,"offset":441582,"length":175,"previous":"M16-GAP-02553","next":"M16-GAP-02555"},"M16-GAP-02555":{"line":2554,"offset":441757,"length":166,"previous":"M16-GAP-02554","next":"M16-GAP-02556"},"M16-GAP-02556":{"line":2555,"offset":441923,"length":167,"previous":"M16-GAP-02555","next":"M16-GAP-02557"},"M16-GAP-02557":{"line":2556,"offset":442090,"length":167,"previous":"M16-GAP-02556","next":"M16-GAP-02558"},"M16-GAP-02558":{"line":2557,"offset":442257,"length":171,"previous":"M16-GAP-02557","next":"M16-GAP-02559"},"M16-GAP-02559":{"line":2558,"offset":442428,"length":174,"previous":"M16-GAP-02558","next":"M16-GAP-02560"},"M16-GAP-02560":{"line":2559,"offset":442602,"length":166,"previous":"M16-GAP-02559","next":"M16-GAP-02561"},"M16-GAP-02561":{"line":2560,"offset":442768,"length":169,"previous":"M16-GAP-02560","next":"M16-GAP-02562"},"M16-GAP-02562":{"line":2561,"offset":442937,"length":170,"previous":"M16-GAP-02561","next":"M16-GAP-02563"},"M16-GAP-02563":{"line":2562,"offset":443107,"length":168,"previous":"M16-GAP-02562","next":"M16-GAP-02564"},"M16-GAP-02564":{"line":2563,"offset":443275,"length":167,"previous":"M16-GAP-02563","next":"M16-GAP-02565"},"M16-GAP-02565":{"line":2564,"offset":443442,"length":167,"previous":"M16-GAP-02564","next":"M16-GAP-02566"},"M16-GAP-02566":{"line":2565,"offset":443609,"length":167,"previous":"M16-GAP-02565","next":"M16-GAP-02567"},"M16-GAP-02567":{"line":2566,"offset":443776,"length":165,"previous":"M16-GAP-02566","next":"M16-GAP-02568"},"M16-GAP-02568":{"line":2567,"offset":443941,"length":169,"previous":"M16-GAP-02567","next":"M16-GAP-02569"},"M16-GAP-02569":{"line":2568,"offset":444110,"length":172,"previous":"M16-GAP-02568","next":"M16-GAP-02570"},"M16-GAP-02570":{"line":2569,"offset":444282,"length":167,"previous":"M16-GAP-02569","next":"M16-GAP-02571"},"M16-GAP-02571":{"line":2570,"offset":444449,"length":177,"previous":"M16-GAP-02570","next":"M16-GAP-02572"},"M16-GAP-02572":{"line":2571,"offset":444626,"length":160,"previous":"M16-GAP-02571","next":"M16-GAP-02573"},"M16-GAP-02573":{"line":2572,"offset":444786,"length":166,"previous":"M16-GAP-02572","next":"M16-GAP-02574"},"M16-GAP-02574":{"line":2573,"offset":444952,"length":164,"previous":"M16-GAP-02573","next":"M16-GAP-02575"},"M16-GAP-02575":{"line":2574,"offset":445116,"length":164,"previous":"M16-GAP-02574","next":"M16-GAP-02576"},"M16-GAP-02576":{"line":2575,"offset":445280,"length":161,"previous":"M16-GAP-02575","next":"M16-GAP-02577"},"M16-GAP-02577":{"line":2576,"offset":445441,"length":176,"previous":"M16-GAP-02576","next":"M16-GAP-02578"},"M16-GAP-02578":{"line":2577,"offset":445617,"length":168,"previous":"M16-GAP-02577","next":"M16-GAP-02579"},"M16-GAP-02579":{"line":2578,"offset":445785,"length":171,"previous":"M16-GAP-02578","next":"M16-GAP-02580"},"M16-GAP-02580":{"line":2579,"offset":445956,"length":161,"previous":"M16-GAP-02579","next":"M16-GAP-02581"},"M16-GAP-02581":{"line":2580,"offset":446117,"length":174,"previous":"M16-GAP-02580","next":"M16-GAP-02582"},"M16-GAP-02582":{"line":2581,"offset":446291,"length":168,"previous":"M16-GAP-02581","next":"M16-GAP-02583"},"M16-GAP-02583":{"line":2582,"offset":446459,"length":162,"previous":"M16-GAP-02582","next":"M16-GAP-02584"},"M16-GAP-02584":{"line":2583,"offset":446621,"length":169,"previous":"M16-GAP-02583","next":"M16-GAP-02585"},"M16-GAP-02585":{"line":2584,"offset":446790,"length":166,"previous":"M16-GAP-02584","next":"M16-GAP-02586"},"M16-GAP-02586":{"line":2585,"offset":446956,"length":178,"previous":"M16-GAP-02585","next":"M16-GAP-02587"},"M16-GAP-02587":{"line":2586,"offset":447134,"length":164,"previous":"M16-GAP-02586","next":"M16-GAP-02588"},"M16-GAP-02588":{"line":2587,"offset":447298,"length":169,"previous":"M16-GAP-02587","next":"M16-GAP-02589"},"M16-GAP-02589":{"line":2588,"offset":447467,"length":164,"previous":"M16-GAP-02588","next":"M16-GAP-02590"},"M16-GAP-02590":{"line":2589,"offset":447631,"length":176,"previous":"M16-GAP-02589","next":"M16-GAP-02591"},"M16-GAP-02591":{"line":2590,"offset":447807,"length":167,"previous":"M16-GAP-02590","next":"M16-GAP-02592"},"M16-GAP-02592":{"line":2591,"offset":447974,"length":178,"previous":"M16-GAP-02591","next":"M16-GAP-02593"},"M16-GAP-02593":{"line":2592,"offset":448152,"length":170,"previous":"M16-GAP-02592","next":"M16-GAP-02594"},"M16-GAP-02594":{"line":2593,"offset":448322,"length":176,"previous":"M16-GAP-02593","next":"M16-GAP-02595"},"M16-GAP-02595":{"line":2594,"offset":448498,"length":177,"previous":"M16-GAP-02594","next":"M16-GAP-02596"},"M16-GAP-02596":{"line":2595,"offset":448675,"length":177,"previous":"M16-GAP-02595","next":"M16-GAP-02597"},"M16-GAP-02597":{"line":2596,"offset":448852,"length":179,"previous":"M16-GAP-02596","next":"M16-GAP-02598"},"M16-GAP-02598":{"line":2597,"offset":449031,"length":160,"previous":"M16-GAP-02597","next":"M16-GAP-02599"},"M16-GAP-02599":{"line":2598,"offset":449191,"length":156,"previous":"M16-GAP-02598","next":"M16-GAP-02600"},"M16-GAP-02600":{"line":2599,"offset":449347,"length":163,"previous":"M16-GAP-02599","next":"M16-GAP-02601"},"M16-GAP-02601":{"line":2600,"offset":449510,"length":167,"previous":"M16-GAP-02600","next":"M16-GAP-02602"},"M16-GAP-02602":{"line":2601,"offset":449677,"length":165,"previous":"M16-GAP-02601","next":"M16-GAP-02603"},"M16-GAP-02603":{"line":2602,"offset":449842,"length":163,"previous":"M16-GAP-02602","next":"M16-GAP-02604"},"M16-GAP-02604":{"line":2603,"offset":450005,"length":166,"previous":"M16-GAP-02603","next":"M16-GAP-02605"},"M16-GAP-02605":{"line":2604,"offset":450171,"length":163,"previous":"M16-GAP-02604","next":"M16-GAP-02606"},"M16-GAP-02606":{"line":2605,"offset":450334,"length":167,"previous":"M16-GAP-02605","next":"M16-GAP-02607"},"M16-GAP-02607":{"line":2606,"offset":450501,"length":162,"previous":"M16-GAP-02606","next":"M16-GAP-02608"},"M16-GAP-02608":{"line":2607,"offset":450663,"length":161,"previous":"M16-GAP-02607","next":"M16-GAP-02609"},"M16-GAP-02609":{"line":2608,"offset":450824,"length":171,"previous":"M16-GAP-02608","next":"M16-GAP-02610"},"M16-GAP-02610":{"line":2609,"offset":450995,"length":166,"previous":"M16-GAP-02609","next":"M16-GAP-02611"},"M16-GAP-02611":{"line":2610,"offset":451161,"length":162,"previous":"M16-GAP-02610","next":"M16-GAP-02612"},"M16-GAP-02612":{"line":2611,"offset":451323,"length":164,"previous":"M16-GAP-02611","next":"M16-GAP-02613"},"M16-GAP-02613":{"line":2612,"offset":451487,"length":165,"previous":"M16-GAP-02612","next":"M16-GAP-02614"},"M16-GAP-02614":{"line":2613,"offset":451652,"length":162,"previous":"M16-GAP-02613","next":"M16-GAP-02615"},"M16-GAP-02615":{"line":2614,"offset":451814,"length":166,"previous":"M16-GAP-02614","next":"M16-GAP-02616"},"M16-GAP-02616":{"line":2615,"offset":451980,"length":161,"previous":"M16-GAP-02615","next":"M16-GAP-02617"},"M16-GAP-02617":{"line":2616,"offset":452141,"length":165,"previous":"M16-GAP-02616","next":"M16-GAP-02618"},"M16-GAP-02618":{"line":2617,"offset":452306,"length":162,"previous":"M16-GAP-02617","next":"M16-GAP-02619"},"M16-GAP-02619":{"line":2618,"offset":452468,"length":165,"previous":"M16-GAP-02618","next":"M16-GAP-02620"},"M16-GAP-02620":{"line":2619,"offset":452633,"length":166,"previous":"M16-GAP-02619","next":"M16-GAP-02621"},"M16-GAP-02621":{"line":2620,"offset":452799,"length":165,"previous":"M16-GAP-02620","next":"M16-GAP-02622"},"M16-GAP-02622":{"line":2621,"offset":452964,"length":163,"previous":"M16-GAP-02621","next":"M16-GAP-02623"},"M16-GAP-02623":{"line":2622,"offset":453127,"length":167,"previous":"M16-GAP-02622","next":"M16-GAP-02624"},"M16-GAP-02624":{"line":2623,"offset":453294,"length":164,"previous":"M16-GAP-02623","next":"M16-GAP-02625"},"M16-GAP-02625":{"line":2624,"offset":453458,"length":165,"previous":"M16-GAP-02624","next":"M16-GAP-02626"},"M16-GAP-02626":{"line":2625,"offset":453623,"length":167,"previous":"M16-GAP-02625","next":"M16-GAP-02627"},"M16-GAP-02627":{"line":2626,"offset":453790,"length":162,"previous":"M16-GAP-02626","next":"M16-GAP-02628"},"M16-GAP-02628":{"line":2627,"offset":453952,"length":162,"previous":"M16-GAP-02627","next":"M16-GAP-02629"},"M16-GAP-02629":{"line":2628,"offset":454114,"length":163,"previous":"M16-GAP-02628","next":"M16-GAP-02630"},"M16-GAP-02630":{"line":2629,"offset":454277,"length":162,"previous":"M16-GAP-02629","next":"M16-GAP-02631"},"M16-GAP-02631":{"line":2630,"offset":454439,"length":164,"previous":"M16-GAP-02630","next":"M16-GAP-02632"},"M16-GAP-02632":{"line":2631,"offset":454603,"length":161,"previous":"M16-GAP-02631","next":"M16-GAP-02633"},"M16-GAP-02633":{"line":2632,"offset":454764,"length":164,"previous":"M16-GAP-02632","next":"M16-GAP-02634"},"M16-GAP-02634":{"line":2633,"offset":454928,"length":163,"previous":"M16-GAP-02633","next":"M16-GAP-02635"},"M16-GAP-02635":{"line":2634,"offset":455091,"length":170,"previous":"M16-GAP-02634","next":"M16-GAP-02636"},"M16-GAP-02636":{"line":2635,"offset":455261,"length":166,"previous":"M16-GAP-02635","next":"M16-GAP-02637"},"M16-GAP-02637":{"line":2636,"offset":455427,"length":162,"previous":"M16-GAP-02636","next":"M16-GAP-02638"},"M16-GAP-02638":{"line":2637,"offset":455589,"length":156,"previous":"M16-GAP-02637","next":"M16-GAP-02639"},"M16-GAP-02639":{"line":2638,"offset":455745,"length":165,"previous":"M16-GAP-02638","next":"M16-GAP-02640"},"M16-GAP-02640":{"line":2639,"offset":455910,"length":160,"previous":"M16-GAP-02639","next":"M16-GAP-02641"},"M16-GAP-02641":{"line":2640,"offset":456070,"length":165,"previous":"M16-GAP-02640","next":"M16-GAP-02642"},"M16-GAP-02642":{"line":2641,"offset":456235,"length":161,"previous":"M16-GAP-02641","next":"M16-GAP-02643"},"M16-GAP-02643":{"line":2642,"offset":456396,"length":159,"previous":"M16-GAP-02642","next":"M16-GAP-02644"},"M16-GAP-02644":{"line":2643,"offset":456555,"length":151,"previous":"M16-GAP-02643","next":"M16-GAP-02645"},"M16-GAP-02645":{"line":2644,"offset":456706,"length":170,"previous":"M16-GAP-02644","next":"M16-GAP-02646"},"M16-GAP-02646":{"line":2645,"offset":456876,"length":164,"previous":"M16-GAP-02645","next":"M16-GAP-02647"},"M16-GAP-02647":{"line":2646,"offset":457040,"length":165,"previous":"M16-GAP-02646","next":"M16-GAP-02648"},"M16-GAP-02648":{"line":2647,"offset":457205,"length":155,"previous":"M16-GAP-02647","next":"M16-GAP-02649"},"M16-GAP-02649":{"line":2648,"offset":457360,"length":156,"previous":"M16-GAP-02648","next":"M16-GAP-02650"},"M16-GAP-02650":{"line":2649,"offset":457516,"length":155,"previous":"M16-GAP-02649","next":"M16-GAP-02651"},"M16-GAP-02651":{"line":2650,"offset":457671,"length":160,"previous":"M16-GAP-02650","next":"M16-GAP-02652"},"M16-GAP-02652":{"line":2651,"offset":457831,"length":165,"previous":"M16-GAP-02651","next":"M16-GAP-02653"},"M16-GAP-02653":{"line":2652,"offset":457996,"length":163,"previous":"M16-GAP-02652","next":"M16-GAP-02654"},"M16-GAP-02654":{"line":2653,"offset":458159,"length":164,"previous":"M16-GAP-02653","next":"M16-GAP-02655"},"M16-GAP-02655":{"line":2654,"offset":458323,"length":156,"previous":"M16-GAP-02654","next":"M16-GAP-02656"},"M16-GAP-02656":{"line":2655,"offset":458479,"length":162,"previous":"M16-GAP-02655","next":"M16-GAP-02657"},"M16-GAP-02657":{"line":2656,"offset":458641,"length":158,"previous":"M16-GAP-02656","next":"M16-GAP-02658"},"M16-GAP-02658":{"line":2657,"offset":458799,"length":159,"previous":"M16-GAP-02657","next":"M16-GAP-02659"},"M16-GAP-02659":{"line":2658,"offset":458958,"length":172,"previous":"M16-GAP-02658","next":"M16-GAP-02660"},"M16-GAP-02660":{"line":2659,"offset":459130,"length":161,"previous":"M16-GAP-02659","next":"M16-GAP-02661"},"M16-GAP-02661":{"line":2660,"offset":459291,"length":166,"previous":"M16-GAP-02660","next":"M16-GAP-02662"},"M16-GAP-02662":{"line":2661,"offset":459457,"length":158,"previous":"M16-GAP-02661","next":"M16-GAP-02663"},"M16-GAP-02663":{"line":2662,"offset":459615,"length":167,"previous":"M16-GAP-02662","next":"M16-GAP-02664"},"M16-GAP-02664":{"line":2663,"offset":459782,"length":157,"previous":"M16-GAP-02663","next":"M16-GAP-02665"},"M16-GAP-02665":{"line":2664,"offset":459939,"length":162,"previous":"M16-GAP-02664","next":"M16-GAP-02666"},"M16-GAP-02666":{"line":2665,"offset":460101,"length":157,"previous":"M16-GAP-02665","next":"M16-GAP-02667"},"M16-GAP-02667":{"line":2666,"offset":460258,"length":159,"previous":"M16-GAP-02666","next":"M17-GAP-00001"},"M17-GAP-00001":{"line":2667,"offset":460417,"length":161,"previous":"M16-GAP-02667","next":"M17-GAP-00002"},"M17-GAP-00002":{"line":2668,"offset":460578,"length":163,"previous":"M17-GAP-00001","next":"M17-GAP-00003"},"M17-GAP-00003":{"line":2669,"offset":460741,"length":168,"previous":"M17-GAP-00002","next":"M17-GAP-00004"},"M17-GAP-00004":{"line":2670,"offset":460909,"length":163,"previous":"M17-GAP-00003","next":"M17-GAP-00005"},"M17-GAP-00005":{"line":2671,"offset":461072,"length":163,"previous":"M17-GAP-00004","next":"M17-GAP-00006"},"M17-GAP-00006":{"line":2672,"offset":461235,"length":168,"previous":"M17-GAP-00005","next":"M17-GAP-00007"},"M17-GAP-00007":{"line":2673,"offset":461403,"length":168,"previous":"M17-GAP-00006","next":"M17-GAP-00008"},"M17-GAP-00008":{"line":2674,"offset":461571,"length":165,"previous":"M17-GAP-00007","next":"M17-GAP-00009"},"M17-GAP-00009":{"line":2675,"offset":461736,"length":170,"previous":"M17-GAP-00008","next":"M17-GAP-00010"},"M17-GAP-00010":{"line":2676,"offset":461906,"length":167,"previous":"M17-GAP-00009","next":"M17-GAP-00011"},"M17-GAP-00011":{"line":2677,"offset":462073,"length":160,"previous":"M17-GAP-00010","next":"M17-GAP-00012"},"M17-GAP-00012":{"line":2678,"offset":462233,"length":166,"previous":"M17-GAP-00011","next":"M17-GAP-00013"},"M17-GAP-00013":{"line":2679,"offset":462399,"length":167,"previous":"M17-GAP-00012","next":"M17-GAP-00014"},"M17-GAP-00014":{"line":2680,"offset":462566,"length":173,"previous":"M17-GAP-00013","next":"M17-GAP-00015"},"M17-GAP-00015":{"line":2681,"offset":462739,"length":157,"previous":"M17-GAP-00014","next":"M17-GAP-00016"},"M17-GAP-00016":{"line":2682,"offset":462896,"length":169,"previous":"M17-GAP-00015","next":"M17-GAP-00017"},"M17-GAP-00017":{"line":2683,"offset":463065,"length":169,"previous":"M17-GAP-00016","next":"M17-GAP-00018"},"M17-GAP-00018":{"line":2684,"offset":463234,"length":169,"previous":"M17-GAP-00017","next":"M17-GAP-00019"},"M17-GAP-00019":{"line":2685,"offset":463403,"length":166,"previous":"M17-GAP-00018","next":"M17-GAP-00020"},"M17-GAP-00020":{"line":2686,"offset":463569,"length":167,"previous":"M17-GAP-00019","next":"M17-GAP-00021"},"M17-GAP-00021":{"line":2687,"offset":463736,"length":170,"previous":"M17-GAP-00020","next":"M17-GAP-00022"},"M17-GAP-00022":{"line":2688,"offset":463906,"length":168,"previous":"M17-GAP-00021","next":"M17-GAP-00023"},"M17-GAP-00023":{"line":2689,"offset":464074,"length":160,"previous":"M17-GAP-00022","next":"M17-GAP-00024"},"M17-GAP-00024":{"line":2690,"offset":464234,"length":165,"previous":"M17-GAP-00023","next":"M17-GAP-00025"},"M17-GAP-00025":{"line":2691,"offset":464399,"length":164,"previous":"M17-GAP-00024","next":"M17-GAP-00026"},"M17-GAP-00026":{"line":2692,"offset":464563,"length":165,"previous":"M17-GAP-00025","next":"M17-GAP-00027"},"M17-GAP-00027":{"line":2693,"offset":464728,"length":163,"previous":"M17-GAP-00026","next":"M17-GAP-00028"},"M17-GAP-00028":{"line":2694,"offset":464891,"length":164,"previous":"M17-GAP-00027","next":"M17-GAP-00029"},"M17-GAP-00029":{"line":2695,"offset":465055,"length":170,"previous":"M17-GAP-00028","next":"M18-GAP-00001"},"M18-GAP-00001":{"line":2696,"offset":465225,"length":188,"previous":"M17-GAP-00029","next":"M18-GAP-00002"},"M18-GAP-00002":{"line":2697,"offset":465413,"length":191,"previous":"M18-GAP-00001","next":"M18-GAP-00003"},"M18-GAP-00003":{"line":2698,"offset":465604,"length":192,"previous":"M18-GAP-00002","next":"M18-GAP-00004"},"M18-GAP-00004":{"line":2699,"offset":465796,"length":189,"previous":"M18-GAP-00003","next":"M18-GAP-00005"},"M18-GAP-00005":{"line":2700,"offset":465985,"length":183,"previous":"M18-GAP-00004","next":"M18-GAP-00006"},"M18-GAP-00006":{"line":2701,"offset":466168,"length":188,"previous":"M18-GAP-00005","next":"M18-GAP-00007"},"M18-GAP-00007":{"line":2702,"offset":466356,"length":189,"previous":"M18-GAP-00006","next":"M18-GAP-00008"},"M18-GAP-00008":{"line":2703,"offset":466545,"length":186,"previous":"M18-GAP-00007","next":"M18-GAP-00009"},"M18-GAP-00009":{"line":2704,"offset":466731,"length":193,"previous":"M18-GAP-00008","next":"M18-GAP-00010"},"M18-GAP-00010":{"line":2705,"offset":466924,"length":191,"previous":"M18-GAP-00009","next":"M18-GAP-00011"},"M18-GAP-00011":{"line":2706,"offset":467115,"length":190,"previous":"M18-GAP-00010","next":"M18-GAP-00012"},"M18-GAP-00012":{"line":2707,"offset":467305,"length":191,"previous":"M18-GAP-00011","next":"M18-GAP-00013"},"M18-GAP-00013":{"line":2708,"offset":467496,"length":194,"previous":"M18-GAP-00012","next":"M18-GAP-00014"},"M18-GAP-00014":{"line":2709,"offset":467690,"length":189,"previous":"M18-GAP-00013","next":"M18-GAP-00015"},"M18-GAP-00015":{"line":2710,"offset":467879,"length":189,"previous":"M18-GAP-00014","next":"M18-GAP-00016"},"M18-GAP-00016":{"line":2711,"offset":468068,"length":191,"previous":"M18-GAP-00015","next":"M18-GAP-00017"},"M18-GAP-00017":{"line":2712,"offset":468259,"length":196,"previous":"M18-GAP-00016","next":"M18-GAP-00018"},"M18-GAP-00018":{"line":2713,"offset":468455,"length":195,"previous":"M18-GAP-00017","next":"M18-GAP-00019"},"M18-GAP-00019":{"line":2714,"offset":468650,"length":187,"previous":"M18-GAP-00018","next":"M18-GAP-00020"},"M18-GAP-00020":{"line":2715,"offset":468837,"length":188,"previous":"M18-GAP-00019","next":"M18-GAP-00021"},"M18-GAP-00021":{"line":2716,"offset":469025,"length":183,"previous":"M18-GAP-00020","next":"M18-GAP-00022"},"M18-GAP-00022":{"line":2717,"offset":469208,"length":190,"previous":"M18-GAP-00021","next":"M18-GAP-00023"},"M18-GAP-00023":{"line":2718,"offset":469398,"length":192,"previous":"M18-GAP-00022","next":"M18-GAP-00024"},"M18-GAP-00024":{"line":2719,"offset":469590,"length":187,"previous":"M18-GAP-00023","next":"M18-GAP-00025"},"M18-GAP-00025":{"line":2720,"offset":469777,"length":184,"previous":"M18-GAP-00024","next":"M18-GAP-00026"},"M18-GAP-00026":{"line":2721,"offset":469961,"length":186,"previous":"M18-GAP-00025","next":"M18-GAP-00027"},"M18-GAP-00027":{"line":2722,"offset":470147,"length":186,"previous":"M18-GAP-00026","next":"M18-GAP-00028"},"M18-GAP-00028":{"line":2723,"offset":470333,"length":188,"previous":"M18-GAP-00027","next":"M18-GAP-00029"},"M18-GAP-00029":{"line":2724,"offset":470521,"length":188,"previous":"M18-GAP-00028","next":"M18-GAP-00030"},"M18-GAP-00030":{"line":2725,"offset":470709,"length":190,"previous":"M18-GAP-00029","next":"M18-GAP-00031"},"M18-GAP-00031":{"line":2726,"offset":470899,"length":187,"previous":"M18-GAP-00030","next":"M18-GAP-00032"},"M18-GAP-00032":{"line":2727,"offset":471086,"length":192,"previous":"M18-GAP-00031","next":"M18-GAP-00033"},"M18-GAP-00033":{"line":2728,"offset":471278,"length":193,"previous":"M18-GAP-00032","next":"M18-GAP-00034"},"M18-GAP-00034":{"line":2729,"offset":471471,"length":190,"previous":"M18-GAP-00033","next":"M18-GAP-00035"},"M18-GAP-00035":{"line":2730,"offset":471661,"length":187,"previous":"M18-GAP-00034","next":"M18-GAP-00036"},"M18-GAP-00036":{"line":2731,"offset":471848,"length":185,"previous":"M18-GAP-00035","next":"M18-GAP-00037"},"M18-GAP-00037":{"line":2732,"offset":472033,"length":183,"previous":"M18-GAP-00036","next":"M18-GAP-00038"},"M18-GAP-00038":{"line":2733,"offset":472216,"length":184,"previous":"M18-GAP-00037","next":"M18-GAP-00039"},"M18-GAP-00039":{"line":2734,"offset":472400,"length":184,"previous":"M18-GAP-00038","next":"M18-GAP-00040"},"M18-GAP-00040":{"line":2735,"offset":472584,"length":189,"previous":"M18-GAP-00039","next":"M18-GAP-00041"},"M18-GAP-00041":{"line":2736,"offset":472773,"length":185,"previous":"M18-GAP-00040","next":"M18-GAP-00042"},"M18-GAP-00042":{"line":2737,"offset":472958,"length":185,"previous":"M18-GAP-00041","next":"M18-GAP-00043"},"M18-GAP-00043":{"line":2738,"offset":473143,"length":184,"previous":"M18-GAP-00042","next":"M18-GAP-00044"},"M18-GAP-00044":{"line":2739,"offset":473327,"length":195,"previous":"M18-GAP-00043","next":"M18-GAP-00045"},"M18-GAP-00045":{"line":2740,"offset":473522,"length":188,"previous":"M18-GAP-00044","next":"M18-GAP-00046"},"M18-GAP-00046":{"line":2741,"offset":473710,"length":186,"previous":"M18-GAP-00045","next":"M18-GAP-00047"},"M18-GAP-00047":{"line":2742,"offset":473896,"length":185,"previous":"M18-GAP-00046","next":"M18-GAP-00048"},"M18-GAP-00048":{"line":2743,"offset":474081,"length":185,"previous":"M18-GAP-00047","next":"M18-GAP-00049"},"M18-GAP-00049":{"line":2744,"offset":474266,"length":191,"previous":"M18-GAP-00048","next":"M18-GAP-00050"},"M18-GAP-00050":{"line":2745,"offset":474457,"length":187,"previous":"M18-GAP-00049","next":"M18-GAP-00051"},"M18-GAP-00051":{"line":2746,"offset":474644,"length":187,"previous":"M18-GAP-00050","next":"M18-GAP-00052"},"M18-GAP-00052":{"line":2747,"offset":474831,"length":185,"previous":"M18-GAP-00051","next":"M18-GAP-00053"},"M18-GAP-00053":{"line":2748,"offset":475016,"length":188,"previous":"M18-GAP-00052","next":"M18-GAP-00054"},"M18-GAP-00054":{"line":2749,"offset":475204,"length":184,"previous":"M18-GAP-00053","next":"M18-GAP-00055"},"M18-GAP-00055":{"line":2750,"offset":475388,"length":183,"previous":"M18-GAP-00054","next":"M18-GAP-00056"},"M18-GAP-00056":{"line":2751,"offset":475571,"length":188,"previous":"M18-GAP-00055","next":"M18-GAP-00057"},"M18-GAP-00057":{"line":2752,"offset":475759,"length":188,"previous":"M18-GAP-00056","next":"M18-GAP-00058"},"M18-GAP-00058":{"line":2753,"offset":475947,"length":194,"previous":"M18-GAP-00057","next":"M18-GAP-00059"},"M18-GAP-00059":{"line":2754,"offset":476141,"length":185,"previous":"M18-GAP-00058","next":"M18-GAP-00060"},"M18-GAP-00060":{"line":2755,"offset":476326,"length":188,"previous":"M18-GAP-00059","next":"M18-GAP-00061"},"M18-GAP-00061":{"line":2756,"offset":476514,"length":189,"previous":"M18-GAP-00060","next":"M18-GAP-00062"},"M18-GAP-00062":{"line":2757,"offset":476703,"length":187,"previous":"M18-GAP-00061","next":"M18-GAP-00063"},"M18-GAP-00063":{"line":2758,"offset":476890,"length":195,"previous":"M18-GAP-00062","next":"M18-GAP-00064"},"M18-GAP-00064":{"line":2759,"offset":477085,"length":188,"previous":"M18-GAP-00063","next":"M18-GAP-00065"},"M18-GAP-00065":{"line":2760,"offset":477273,"length":188,"previous":"M18-GAP-00064","next":"M18-GAP-00066"},"M18-GAP-00066":{"line":2761,"offset":477461,"length":182,"previous":"M18-GAP-00065","next":"M18-GAP-00067"},"M18-GAP-00067":{"line":2762,"offset":477643,"length":186,"previous":"M18-GAP-00066","next":"M18-GAP-00068"},"M18-GAP-00068":{"line":2763,"offset":477829,"length":186,"previous":"M18-GAP-00067","next":"M18-GAP-00069"},"M18-GAP-00069":{"line":2764,"offset":478015,"length":194,"previous":"M18-GAP-00068","next":"M18-GAP-00070"},"M18-GAP-00070":{"line":2765,"offset":478209,"length":185,"previous":"M18-GAP-00069","next":"M18-GAP-00071"},"M18-GAP-00071":{"line":2766,"offset":478394,"length":184,"previous":"M18-GAP-00070","next":"M18-GAP-00072"},"M18-GAP-00072":{"line":2767,"offset":478578,"length":188,"previous":"M18-GAP-00071","next":"M18-GAP-00073"},"M18-GAP-00073":{"line":2768,"offset":478766,"length":192,"previous":"M18-GAP-00072","next":"M18-GAP-00074"},"M18-GAP-00074":{"line":2769,"offset":478958,"length":197,"previous":"M18-GAP-00073","next":"M18-GAP-00075"},"M18-GAP-00075":{"line":2770,"offset":479155,"length":187,"previous":"M18-GAP-00074","next":"M18-GAP-00076"},"M18-GAP-00076":{"line":2771,"offset":479342,"length":184,"previous":"M18-GAP-00075","next":"M18-GAP-00077"},"M18-GAP-00077":{"line":2772,"offset":479526,"length":188,"previous":"M18-GAP-00076","next":"M18-GAP-00078"},"M18-GAP-00078":{"line":2773,"offset":479714,"length":192,"previous":"M18-GAP-00077","next":"M18-GAP-00079"},"M18-GAP-00079":{"line":2774,"offset":479906,"length":185,"previous":"M18-GAP-00078","next":"M18-GAP-00080"},"M18-GAP-00080":{"line":2775,"offset":480091,"length":189,"previous":"M18-GAP-00079","next":"M18-GAP-00081"},"M18-GAP-00081":{"line":2776,"offset":480280,"length":183,"previous":"M18-GAP-00080","next":"M18-GAP-00082"},"M18-GAP-00082":{"line":2777,"offset":480463,"length":186,"previous":"M18-GAP-00081","next":"M18-GAP-00083"},"M18-GAP-00083":{"line":2778,"offset":480649,"length":187,"previous":"M18-GAP-00082","next":"M18-GAP-00084"},"M18-GAP-00084":{"line":2779,"offset":480836,"length":188,"previous":"M18-GAP-00083","next":"M18-GAP-00085"},"M18-GAP-00085":{"line":2780,"offset":481024,"length":188,"previous":"M18-GAP-00084","next":"M18-GAP-00086"},"M18-GAP-00086":{"line":2781,"offset":481212,"length":186,"previous":"M18-GAP-00085","next":"M18-GAP-00087"},"M18-GAP-00087":{"line":2782,"offset":481398,"length":185,"previous":"M18-GAP-00086","next":"M18-GAP-00088"},"M18-GAP-00088":{"line":2783,"offset":481583,"length":187,"previous":"M18-GAP-00087","next":"M18-GAP-00089"},"M18-GAP-00089":{"line":2784,"offset":481770,"length":188,"previous":"M18-GAP-00088","next":"M18-GAP-00090"},"M18-GAP-00090":{"line":2785,"offset":481958,"length":192,"previous":"M18-GAP-00089","next":"M18-GAP-00091"},"M18-GAP-00091":{"line":2786,"offset":482150,"length":191,"previous":"M18-GAP-00090","next":"M18-GAP-00092"},"M18-GAP-00092":{"line":2787,"offset":482341,"length":177,"previous":"M18-GAP-00091","next":"M18-GAP-00093"},"M18-GAP-00093":{"line":2788,"offset":482518,"length":186,"previous":"M18-GAP-00092","next":"M18-GAP-00094"},"M18-GAP-00094":{"line":2789,"offset":482704,"length":181,"previous":"M18-GAP-00093","next":"M18-GAP-00095"},"M18-GAP-00095":{"line":2790,"offset":482885,"length":181,"previous":"M18-GAP-00094","next":"M18-GAP-00096"},"M18-GAP-00096":{"line":2791,"offset":483066,"length":183,"previous":"M18-GAP-00095","next":"M18-GAP-00097"},"M18-GAP-00097":{"line":2792,"offset":483249,"length":189,"previous":"M18-GAP-00096","next":"M18-GAP-00098"},"M18-GAP-00098":{"line":2793,"offset":483438,"length":186,"previous":"M18-GAP-00097","next":"M18-GAP-00099"},"M18-GAP-00099":{"line":2794,"offset":483624,"length":191,"previous":"M18-GAP-00098","next":"M18-GAP-00100"},"M18-GAP-00100":{"line":2795,"offset":483815,"length":190,"previous":"M18-GAP-00099","next":"M18-GAP-00101"},"M18-GAP-00101":{"line":2796,"offset":484005,"length":191,"previous":"M18-GAP-00100","next":"M18-GAP-00102"},"M18-GAP-00102":{"line":2797,"offset":484196,"length":187,"previous":"M18-GAP-00101","next":"M18-GAP-00103"},"M18-GAP-00103":{"line":2798,"offset":484383,"length":183,"previous":"M18-GAP-00102","next":"M18-GAP-00104"},"M18-GAP-00104":{"line":2799,"offset":484566,"length":186,"previous":"M18-GAP-00103","next":"M18-GAP-00105"},"M18-GAP-00105":{"line":2800,"offset":484752,"length":186,"previous":"M18-GAP-00104","next":"M18-GAP-00106"},"M18-GAP-00106":{"line":2801,"offset":484938,"length":188,"previous":"M18-GAP-00105","next":"M18-GAP-00107"},"M18-GAP-00107":{"line":2802,"offset":485126,"length":189,"previous":"M18-GAP-00106","next":"M18-GAP-00108"},"M18-GAP-00108":{"line":2803,"offset":485315,"length":181,"previous":"M18-GAP-00107","next":"M18-GAP-00109"},"M18-GAP-00109":{"line":2804,"offset":485496,"length":195,"previous":"M18-GAP-00108","next":"M18-GAP-00110"},"M18-GAP-00110":{"line":2805,"offset":485691,"length":197,"previous":"M18-GAP-00109","next":"M18-GAP-00111"},"M18-GAP-00111":{"line":2806,"offset":485888,"length":184,"previous":"M18-GAP-00110","next":"M18-GAP-00112"},"M18-GAP-00112":{"line":2807,"offset":486072,"length":185,"previous":"M18-GAP-00111","next":"M18-GAP-00113"},"M18-GAP-00113":{"line":2808,"offset":486257,"length":200,"previous":"M18-GAP-00112","next":"M18-GAP-00114"},"M18-GAP-00114":{"line":2809,"offset":486457,"length":193,"previous":"M18-GAP-00113","next":"M18-GAP-00115"},"M18-GAP-00115":{"line":2810,"offset":486650,"length":191,"previous":"M18-GAP-00114","next":"M18-GAP-00116"},"M18-GAP-00116":{"line":2811,"offset":486841,"length":200,"previous":"M18-GAP-00115","next":"M18-GAP-00117"},"M18-GAP-00117":{"line":2812,"offset":487041,"length":193,"previous":"M18-GAP-00116","next":"M18-GAP-00118"},"M18-GAP-00118":{"line":2813,"offset":487234,"length":188,"previous":"M18-GAP-00117","next":"M18-GAP-00119"},"M18-GAP-00119":{"line":2814,"offset":487422,"length":184,"previous":"M18-GAP-00118","next":"M18-GAP-00120"},"M18-GAP-00120":{"line":2815,"offset":487606,"length":188,"previous":"M18-GAP-00119","next":"M18-GAP-00121"},"M18-GAP-00121":{"line":2816,"offset":487794,"length":182,"previous":"M18-GAP-00120","next":"M18-GAP-00122"},"M18-GAP-00122":{"line":2817,"offset":487976,"length":184,"previous":"M18-GAP-00121","next":"M18-GAP-00123"},"M18-GAP-00123":{"line":2818,"offset":488160,"length":186,"previous":"M18-GAP-00122","next":"M18-GAP-00124"},"M18-GAP-00124":{"line":2819,"offset":488346,"length":193,"previous":"M18-GAP-00123","next":"M18-GAP-00125"},"M18-GAP-00125":{"line":2820,"offset":488539,"length":194,"previous":"M18-GAP-00124","next":"M18-GAP-00126"},"M18-GAP-00126":{"line":2821,"offset":488733,"length":187,"previous":"M18-GAP-00125","next":"M18-GAP-00127"},"M18-GAP-00127":{"line":2822,"offset":488920,"length":195,"previous":"M18-GAP-00126","next":"M18-GAP-00128"},"M18-GAP-00128":{"line":2823,"offset":489115,"length":197,"previous":"M18-GAP-00127","next":"M18-GAP-00129"},"M18-GAP-00129":{"line":2824,"offset":489312,"length":196,"previous":"M18-GAP-00128","next":"M18-GAP-00130"},"M18-GAP-00130":{"line":2825,"offset":489508,"length":181,"previous":"M18-GAP-00129","next":"M18-GAP-00131"},"M18-GAP-00131":{"line":2826,"offset":489689,"length":190,"previous":"M18-GAP-00130","next":"M18-GAP-00132"},"M18-GAP-00132":{"line":2827,"offset":489879,"length":190,"previous":"M18-GAP-00131","next":"M18-GAP-00133"},"M18-GAP-00133":{"line":2828,"offset":490069,"length":193,"previous":"M18-GAP-00132","next":"M18-GAP-00134"},"M18-GAP-00134":{"line":2829,"offset":490262,"length":186,"previous":"M18-GAP-00133","next":"M18-GAP-00135"},"M18-GAP-00135":{"line":2830,"offset":490448,"length":186,"previous":"M18-GAP-00134","next":"M18-GAP-00136"},"M18-GAP-00136":{"line":2831,"offset":490634,"length":190,"previous":"M18-GAP-00135","next":"M18-GAP-00137"},"M18-GAP-00137":{"line":2832,"offset":490824,"length":184,"previous":"M18-GAP-00136","next":"M18-GAP-00138"},"M18-GAP-00138":{"line":2833,"offset":491008,"length":185,"previous":"M18-GAP-00137","next":"M18-GAP-00139"},"M18-GAP-00139":{"line":2834,"offset":491193,"length":185,"previous":"M18-GAP-00138","next":"M18-GAP-00140"},"M18-GAP-00140":{"line":2835,"offset":491378,"length":185,"previous":"M18-GAP-00139","next":"M18-GAP-00141"},"M18-GAP-00141":{"line":2836,"offset":491563,"length":187,"previous":"M18-GAP-00140","next":"M18-GAP-00142"},"M18-GAP-00142":{"line":2837,"offset":491750,"length":186,"previous":"M18-GAP-00141","next":"M18-GAP-00143"},"M18-GAP-00143":{"line":2838,"offset":491936,"length":184,"previous":"M18-GAP-00142","next":"M18-GAP-00144"},"M18-GAP-00144":{"line":2839,"offset":492120,"length":184,"previous":"M18-GAP-00143","next":"M18-GAP-00145"},"M18-GAP-00145":{"line":2840,"offset":492304,"length":186,"previous":"M18-GAP-00144","next":"M18-GAP-00146"},"M18-GAP-00146":{"line":2841,"offset":492490,"length":182,"previous":"M18-GAP-00145","next":"M18-GAP-00147"},"M18-GAP-00147":{"line":2842,"offset":492672,"length":184,"previous":"M18-GAP-00146","next":"M18-GAP-00148"},"M18-GAP-00148":{"line":2843,"offset":492856,"length":183,"previous":"M18-GAP-00147","next":"M18-GAP-00149"},"M18-GAP-00149":{"line":2844,"offset":493039,"length":182,"previous":"M18-GAP-00148","next":"M18-GAP-00150"},"M18-GAP-00150":{"line":2845,"offset":493221,"length":200,"previous":"M18-GAP-00149","next":"M18-GAP-00151"},"M18-GAP-00151":{"line":2846,"offset":493421,"length":201,"previous":"M18-GAP-00150","next":"M18-GAP-00152"},"M18-GAP-00152":{"line":2847,"offset":493622,"length":191,"previous":"M18-GAP-00151","next":"M18-GAP-00153"},"M18-GAP-00153":{"line":2848,"offset":493813,"length":190,"previous":"M18-GAP-00152","next":"M18-GAP-00154"},"M18-GAP-00154":{"line":2849,"offset":494003,"length":190,"previous":"M18-GAP-00153","next":"M18-GAP-00155"},"M18-GAP-00155":{"line":2850,"offset":494193,"length":193,"previous":"M18-GAP-00154","next":"M18-GAP-00156"},"M18-GAP-00156":{"line":2851,"offset":494386,"length":185,"previous":"M18-GAP-00155","next":"M18-GAP-00157"},"M18-GAP-00157":{"line":2852,"offset":494571,"length":182,"previous":"M18-GAP-00156","next":"M18-GAP-00158"},"M18-GAP-00158":{"line":2853,"offset":494753,"length":184,"previous":"M18-GAP-00157","next":"M18-GAP-00159"},"M18-GAP-00159":{"line":2854,"offset":494937,"length":187,"previous":"M18-GAP-00158","next":"M18-GAP-00160"},"M18-GAP-00160":{"line":2855,"offset":495124,"length":193,"previous":"M18-GAP-00159","next":"M18-GAP-00161"},"M18-GAP-00161":{"line":2856,"offset":495317,"length":183,"previous":"M18-GAP-00160","next":"M18-GAP-00162"},"M18-GAP-00162":{"line":2857,"offset":495500,"length":181,"previous":"M18-GAP-00161","next":"M18-GAP-00163"},"M18-GAP-00163":{"line":2858,"offset":495681,"length":181,"previous":"M18-GAP-00162","next":"M18-GAP-00164"},"M18-GAP-00164":{"line":2859,"offset":495862,"length":191,"previous":"M18-GAP-00163","next":"M18-GAP-00165"},"M18-GAP-00165":{"line":2860,"offset":496053,"length":187,"previous":"M18-GAP-00164","next":"M18-GAP-00166"},"M18-GAP-00166":{"line":2861,"offset":496240,"length":185,"previous":"M18-GAP-00165","next":"M18-GAP-00167"},"M18-GAP-00167":{"line":2862,"offset":496425,"length":181,"previous":"M18-GAP-00166","next":"M18-GAP-00168"},"M18-GAP-00168":{"line":2863,"offset":496606,"length":186,"previous":"M18-GAP-00167","next":"M18-GAP-00169"},"M18-GAP-00169":{"line":2864,"offset":496792,"length":181,"previous":"M18-GAP-00168","next":"M18-GAP-00170"},"M18-GAP-00170":{"line":2865,"offset":496973,"length":183,"previous":"M18-GAP-00169","next":"M18-GAP-00171"},"M18-GAP-00171":{"line":2866,"offset":497156,"length":182,"previous":"M18-GAP-00170","next":"M18-GAP-00172"},"M18-GAP-00172":{"line":2867,"offset":497338,"length":183,"previous":"M18-GAP-00171","next":"M18-GAP-00173"},"M18-GAP-00173":{"line":2868,"offset":497521,"length":185,"previous":"M18-GAP-00172","next":"M18-GAP-00174"},"M18-GAP-00174":{"line":2869,"offset":497706,"length":185,"previous":"M18-GAP-00173","next":"M18-GAP-00175"},"M18-GAP-00175":{"line":2870,"offset":497891,"length":178,"previous":"M18-GAP-00174","next":"M18-GAP-00176"},"M18-GAP-00176":{"line":2871,"offset":498069,"length":182,"previous":"M18-GAP-00175","next":"M18-GAP-00177"},"M18-GAP-00177":{"line":2872,"offset":498251,"length":185,"previous":"M18-GAP-00176","next":"M18-GAP-00178"},"M18-GAP-00178":{"line":2873,"offset":498436,"length":182,"previous":"M18-GAP-00177","next":"M18-GAP-00179"},"M18-GAP-00179":{"line":2874,"offset":498618,"length":182,"previous":"M18-GAP-00178","next":"M18-GAP-00180"},"M18-GAP-00180":{"line":2875,"offset":498800,"length":182,"previous":"M18-GAP-00179","next":"M18-GAP-00181"},"M18-GAP-00181":{"line":2876,"offset":498982,"length":182,"previous":"M18-GAP-00180","next":"M18-GAP-00182"},"M18-GAP-00182":{"line":2877,"offset":499164,"length":183,"previous":"M18-GAP-00181","next":"M18-GAP-00183"},"M18-GAP-00183":{"line":2878,"offset":499347,"length":182,"previous":"M18-GAP-00182","next":"M18-GAP-00184"},"M18-GAP-00184":{"line":2879,"offset":499529,"length":187,"previous":"M18-GAP-00183","next":"M18-GAP-00185"},"M18-GAP-00185":{"line":2880,"offset":499716,"length":184,"previous":"M18-GAP-00184","next":"M18-GAP-00186"},"M18-GAP-00186":{"line":2881,"offset":499900,"length":190,"previous":"M18-GAP-00185","next":"M18-GAP-00187"},"M18-GAP-00187":{"line":2882,"offset":500090,"length":188,"previous":"M18-GAP-00186","next":"M18-GAP-00188"},"M18-GAP-00188":{"line":2883,"offset":500278,"length":198,"previous":"M18-GAP-00187","next":"M18-GAP-00189"},"M18-GAP-00189":{"line":2884,"offset":500476,"length":187,"previous":"M18-GAP-00188","next":"M18-GAP-00190"},"M18-GAP-00190":{"line":2885,"offset":500663,"length":188,"previous":"M18-GAP-00189","next":"M18-GAP-00191"},"M18-GAP-00191":{"line":2886,"offset":500851,"length":182,"previous":"M18-GAP-00190","next":"M18-GAP-00192"},"M18-GAP-00192":{"line":2887,"offset":501033,"length":180,"previous":"M18-GAP-00191","next":"M18-GAP-00193"},"M18-GAP-00193":{"line":2888,"offset":501213,"length":183,"previous":"M18-GAP-00192","next":"M18-GAP-00194"},"M18-GAP-00194":{"line":2889,"offset":501396,"length":183,"previous":"M18-GAP-00193","next":"M18-GAP-00195"},"M18-GAP-00195":{"line":2890,"offset":501579,"length":192,"previous":"M18-GAP-00194","next":"M18-GAP-00196"},"M18-GAP-00196":{"line":2891,"offset":501771,"length":195,"previous":"M18-GAP-00195","next":"M18-GAP-00197"},"M18-GAP-00197":{"line":2892,"offset":501966,"length":194,"previous":"M18-GAP-00196","next":"M18-GAP-00198"},"M18-GAP-00198":{"line":2893,"offset":502160,"length":191,"previous":"M18-GAP-00197","next":"M18-GAP-00199"},"M18-GAP-00199":{"line":2894,"offset":502351,"length":186,"previous":"M18-GAP-00198","next":"M18-GAP-00200"},"M18-GAP-00200":{"line":2895,"offset":502537,"length":191,"previous":"M18-GAP-00199","next":"M18-GAP-00201"},"M18-GAP-00201":{"line":2896,"offset":502728,"length":191,"previous":"M18-GAP-00200","next":"M18-GAP-00202"},"M18-GAP-00202":{"line":2897,"offset":502919,"length":195,"previous":"M18-GAP-00201","next":"M18-GAP-00203"},"M18-GAP-00203":{"line":2898,"offset":503114,"length":194,"previous":"M18-GAP-00202","next":"M18-GAP-00204"},"M18-GAP-00204":{"line":2899,"offset":503308,"length":190,"previous":"M18-GAP-00203","next":"M18-GAP-00205"},"M18-GAP-00205":{"line":2900,"offset":503498,"length":194,"previous":"M18-GAP-00204","next":"M18-GAP-00206"},"M18-GAP-00206":{"line":2901,"offset":503692,"length":195,"previous":"M18-GAP-00205","next":"M18-GAP-00207"},"M18-GAP-00207":{"line":2902,"offset":503887,"length":188,"previous":"M18-GAP-00206","next":"M18-GAP-00208"},"M18-GAP-00208":{"line":2903,"offset":504075,"length":197,"previous":"M18-GAP-00207","next":"M18-GAP-00209"},"M18-GAP-00209":{"line":2904,"offset":504272,"length":192,"previous":"M18-GAP-00208","next":"M18-GAP-00210"},"M18-GAP-00210":{"line":2905,"offset":504464,"length":197,"previous":"M18-GAP-00209","next":"M18-GAP-00211"},"M18-GAP-00211":{"line":2906,"offset":504661,"length":184,"previous":"M18-GAP-00210","next":"M18-GAP-00212"},"M18-GAP-00212":{"line":2907,"offset":504845,"length":184,"previous":"M18-GAP-00211","next":"M18-GAP-00213"},"M18-GAP-00213":{"line":2908,"offset":505029,"length":186,"previous":"M18-GAP-00212","next":"M18-GAP-00214"},"M18-GAP-00214":{"line":2909,"offset":505215,"length":184,"previous":"M18-GAP-00213","next":"M18-GAP-00215"},"M18-GAP-00215":{"line":2910,"offset":505399,"length":187,"previous":"M18-GAP-00214","next":"M18-GAP-00216"},"M18-GAP-00216":{"line":2911,"offset":505586,"length":189,"previous":"M18-GAP-00215","next":"M18-GAP-00217"},"M18-GAP-00217":{"line":2912,"offset":505775,"length":195,"previous":"M18-GAP-00216","next":"M18-GAP-00218"},"M18-GAP-00218":{"line":2913,"offset":505970,"length":190,"previous":"M18-GAP-00217","next":"M18-GAP-00219"},"M18-GAP-00219":{"line":2914,"offset":506160,"length":194,"previous":"M18-GAP-00218","next":"M18-GAP-00220"},"M18-GAP-00220":{"line":2915,"offset":506354,"length":185,"previous":"M18-GAP-00219","next":"M18-GAP-00221"},"M18-GAP-00221":{"line":2916,"offset":506539,"length":188,"previous":"M18-GAP-00220","next":"M18-GAP-00222"},"M18-GAP-00222":{"line":2917,"offset":506727,"length":189,"previous":"M18-GAP-00221","next":"M18-GAP-00223"},"M18-GAP-00223":{"line":2918,"offset":506916,"length":190,"previous":"M18-GAP-00222","next":"M18-GAP-00224"},"M18-GAP-00224":{"line":2919,"offset":507106,"length":190,"previous":"M18-GAP-00223","next":"M18-GAP-00225"},"M18-GAP-00225":{"line":2920,"offset":507296,"length":190,"previous":"M18-GAP-00224","next":"M18-GAP-00226"},"M18-GAP-00226":{"line":2921,"offset":507486,"length":183,"previous":"M18-GAP-00225","next":"M18-GAP-00227"},"M18-GAP-00227":{"line":2922,"offset":507669,"length":185,"previous":"M18-GAP-00226","next":"M18-GAP-00228"},"M18-GAP-00228":{"line":2923,"offset":507854,"length":184,"previous":"M18-GAP-00227","next":"M18-GAP-00229"},"M18-GAP-00229":{"line":2924,"offset":508038,"length":183,"previous":"M18-GAP-00228","next":"M18-GAP-00230"},"M18-GAP-00230":{"line":2925,"offset":508221,"length":190,"previous":"M18-GAP-00229","next":"M18-GAP-00231"},"M18-GAP-00231":{"line":2926,"offset":508411,"length":183,"previous":"M18-GAP-00230","next":"M18-GAP-00232"},"M18-GAP-00232":{"line":2927,"offset":508594,"length":188,"previous":"M18-GAP-00231","next":"M18-GAP-00233"},"M18-GAP-00233":{"line":2928,"offset":508782,"length":184,"previous":"M18-GAP-00232","next":"M18-GAP-00234"},"M18-GAP-00234":{"line":2929,"offset":508966,"length":184,"previous":"M18-GAP-00233","next":"M18-GAP-00235"},"M18-GAP-00235":{"line":2930,"offset":509150,"length":182,"previous":"M18-GAP-00234","next":"M18-GAP-00236"},"M18-GAP-00236":{"line":2931,"offset":509332,"length":184,"previous":"M18-GAP-00235","next":"M18-GAP-00237"},"M18-GAP-00237":{"line":2932,"offset":509516,"length":183,"previous":"M18-GAP-00236","next":"M18-GAP-00238"},"M18-GAP-00238":{"line":2933,"offset":509699,"length":181,"previous":"M18-GAP-00237","next":"M18-GAP-00239"},"M18-GAP-00239":{"line":2934,"offset":509880,"length":181,"previous":"M18-GAP-00238","next":"M18-GAP-00240"},"M18-GAP-00240":{"line":2935,"offset":510061,"length":185,"previous":"M18-GAP-00239","next":"M18-GAP-00241"},"M18-GAP-00241":{"line":2936,"offset":510246,"length":194,"previous":"M18-GAP-00240","next":"M18-GAP-00242"},"M18-GAP-00242":{"line":2937,"offset":510440,"length":181,"previous":"M18-GAP-00241","next":"M18-GAP-00243"},"M18-GAP-00243":{"line":2938,"offset":510621,"length":186,"previous":"M18-GAP-00242","next":"M18-GAP-00244"},"M18-GAP-00244":{"line":2939,"offset":510807,"length":181,"previous":"M18-GAP-00243","next":"M18-GAP-00245"},"M18-GAP-00245":{"line":2940,"offset":510988,"length":184,"previous":"M18-GAP-00244","next":"M18-GAP-00246"},"M18-GAP-00246":{"line":2941,"offset":511172,"length":190,"previous":"M18-GAP-00245","next":"M18-GAP-00247"},"M18-GAP-00247":{"line":2942,"offset":511362,"length":185,"previous":"M18-GAP-00246","next":"M18-GAP-00248"},"M18-GAP-00248":{"line":2943,"offset":511547,"length":186,"previous":"M18-GAP-00247","next":"M18-GAP-00249"},"M18-GAP-00249":{"line":2944,"offset":511733,"length":185,"previous":"M18-GAP-00248","next":"M18-GAP-00250"},"M18-GAP-00250":{"line":2945,"offset":511918,"length":185,"previous":"M18-GAP-00249","next":"M18-GAP-00251"},"M18-GAP-00251":{"line":2946,"offset":512103,"length":183,"previous":"M18-GAP-00250","next":"M18-GAP-00252"},"M18-GAP-00252":{"line":2947,"offset":512286,"length":191,"previous":"M18-GAP-00251","next":"M18-GAP-00253"},"M18-GAP-00253":{"line":2948,"offset":512477,"length":191,"previous":"M18-GAP-00252","next":"M18-GAP-00254"},"M18-GAP-00254":{"line":2949,"offset":512668,"length":179,"previous":"M18-GAP-00253","next":"M18-GAP-00255"},"M18-GAP-00255":{"line":2950,"offset":512847,"length":186,"previous":"M18-GAP-00254","next":"M18-GAP-00256"},"M18-GAP-00256":{"line":2951,"offset":513033,"length":187,"previous":"M18-GAP-00255","next":"M18-GAP-00257"},"M18-GAP-00257":{"line":2952,"offset":513220,"length":188,"previous":"M18-GAP-00256","next":"M18-GAP-00258"},"M18-GAP-00258":{"line":2953,"offset":513408,"length":189,"previous":"M18-GAP-00257","next":"M18-GAP-00259"},"M18-GAP-00259":{"line":2954,"offset":513597,"length":187,"previous":"M18-GAP-00258","next":"M18-GAP-00260"},"M18-GAP-00260":{"line":2955,"offset":513784,"length":182,"previous":"M18-GAP-00259","next":"M18-GAP-00261"},"M18-GAP-00261":{"line":2956,"offset":513966,"length":180,"previous":"M18-GAP-00260","next":"M18-GAP-00262"},"M18-GAP-00262":{"line":2957,"offset":514146,"length":189,"previous":"M18-GAP-00261","next":"M18-GAP-00263"},"M18-GAP-00263":{"line":2958,"offset":514335,"length":188,"previous":"M18-GAP-00262","next":"M18-GAP-00264"},"M18-GAP-00264":{"line":2959,"offset":514523,"length":188,"previous":"M18-GAP-00263","next":"M18-GAP-00265"},"M18-GAP-00265":{"line":2960,"offset":514711,"length":184,"previous":"M18-GAP-00264","next":"M18-GAP-00266"},"M18-GAP-00266":{"line":2961,"offset":514895,"length":185,"previous":"M18-GAP-00265","next":"M18-GAP-00267"},"M18-GAP-00267":{"line":2962,"offset":515080,"length":188,"previous":"M18-GAP-00266","next":"M18-GAP-00268"},"M18-GAP-00268":{"line":2963,"offset":515268,"length":186,"previous":"M18-GAP-00267","next":"M18-GAP-00269"},"M18-GAP-00269":{"line":2964,"offset":515454,"length":185,"previous":"M18-GAP-00268","next":"M18-GAP-00270"},"M18-GAP-00270":{"line":2965,"offset":515639,"length":188,"previous":"M18-GAP-00269","next":"M18-GAP-00271"},"M18-GAP-00271":{"line":2966,"offset":515827,"length":187,"previous":"M18-GAP-00270","next":"M18-GAP-00272"},"M18-GAP-00272":{"line":2967,"offset":516014,"length":186,"previous":"M18-GAP-00271","next":"M18-GAP-00273"},"M18-GAP-00273":{"line":2968,"offset":516200,"length":189,"previous":"M18-GAP-00272","next":"M18-GAP-00274"},"M18-GAP-00274":{"line":2969,"offset":516389,"length":184,"previous":"M18-GAP-00273","next":"M18-GAP-00275"},"M18-GAP-00275":{"line":2970,"offset":516573,"length":193,"previous":"M18-GAP-00274","next":"M18-GAP-00276"},"M18-GAP-00276":{"line":2971,"offset":516766,"length":186,"previous":"M18-GAP-00275","next":"M18-GAP-00277"},"M18-GAP-00277":{"line":2972,"offset":516952,"length":186,"previous":"M18-GAP-00276","next":"M18-GAP-00278"},"M18-GAP-00278":{"line":2973,"offset":517138,"length":184,"previous":"M18-GAP-00277","next":"M18-GAP-00279"},"M18-GAP-00279":{"line":2974,"offset":517322,"length":183,"previous":"M18-GAP-00278","next":"M18-GAP-00280"},"M18-GAP-00280":{"line":2975,"offset":517505,"length":188,"previous":"M18-GAP-00279","next":"M18-GAP-00281"},"M18-GAP-00281":{"line":2976,"offset":517693,"length":184,"previous":"M18-GAP-00280","next":"M18-GAP-00282"},"M18-GAP-00282":{"line":2977,"offset":517877,"length":186,"previous":"M18-GAP-00281","next":"M18-GAP-00283"},"M18-GAP-00283":{"line":2978,"offset":518063,"length":193,"previous":"M18-GAP-00282","next":"M18-GAP-00284"},"M18-GAP-00284":{"line":2979,"offset":518256,"length":195,"previous":"M18-GAP-00283","next":"M18-GAP-00285"},"M18-GAP-00285":{"line":2980,"offset":518451,"length":188,"previous":"M18-GAP-00284","next":"M18-GAP-00286"},"M18-GAP-00286":{"line":2981,"offset":518639,"length":186,"previous":"M18-GAP-00285","next":"M18-GAP-00287"},"M18-GAP-00287":{"line":2982,"offset":518825,"length":187,"previous":"M18-GAP-00286","next":"M18-GAP-00288"},"M18-GAP-00288":{"line":2983,"offset":519012,"length":183,"previous":"M18-GAP-00287","next":"M18-GAP-00289"},"M18-GAP-00289":{"line":2984,"offset":519195,"length":191,"previous":"M18-GAP-00288","next":"M18-GAP-00290"},"M18-GAP-00290":{"line":2985,"offset":519386,"length":189,"previous":"M18-GAP-00289","next":"M18-GAP-00291"},"M18-GAP-00291":{"line":2986,"offset":519575,"length":196,"previous":"M18-GAP-00290","next":"M18-GAP-00292"},"M18-GAP-00292":{"line":2987,"offset":519771,"length":187,"previous":"M18-GAP-00291","next":"M18-GAP-00293"},"M18-GAP-00293":{"line":2988,"offset":519958,"length":187,"previous":"M18-GAP-00292","next":"M18-GAP-00294"},"M18-GAP-00294":{"line":2989,"offset":520145,"length":185,"previous":"M18-GAP-00293","next":"M18-GAP-00295"},"M18-GAP-00295":{"line":2990,"offset":520330,"length":190,"previous":"M18-GAP-00294","next":"M18-GAP-00296"},"M18-GAP-00296":{"line":2991,"offset":520520,"length":188,"previous":"M18-GAP-00295","next":"M18-GAP-00297"},"M18-GAP-00297":{"line":2992,"offset":520708,"length":193,"previous":"M18-GAP-00296","next":"M18-GAP-00298"},"M18-GAP-00298":{"line":2993,"offset":520901,"length":193,"previous":"M18-GAP-00297","next":"M18-GAP-00299"},"M18-GAP-00299":{"line":2994,"offset":521094,"length":196,"previous":"M18-GAP-00298","next":"M18-GAP-00300"},"M18-GAP-00300":{"line":2995,"offset":521290,"length":190,"previous":"M18-GAP-00299","next":"M18-GAP-00301"},"M18-GAP-00301":{"line":2996,"offset":521480,"length":189,"previous":"M18-GAP-00300","next":"M18-GAP-00302"},"M18-GAP-00302":{"line":2997,"offset":521669,"length":178,"previous":"M18-GAP-00301","next":"M18-GAP-00303"},"M18-GAP-00303":{"line":2998,"offset":521847,"length":193,"previous":"M18-GAP-00302","next":"M18-GAP-00304"},"M18-GAP-00304":{"line":2999,"offset":522040,"length":184,"previous":"M18-GAP-00303","next":"M18-GAP-00305"},"M18-GAP-00305":{"line":3000,"offset":522224,"length":189,"previous":"M18-GAP-00304","next":"M18-GAP-00306"},"M18-GAP-00306":{"line":3001,"offset":522413,"length":186,"previous":"M18-GAP-00305","next":"M18-GAP-00307"},"M18-GAP-00307":{"line":3002,"offset":522599,"length":186,"previous":"M18-GAP-00306","next":"M18-GAP-00308"},"M18-GAP-00308":{"line":3003,"offset":522785,"length":187,"previous":"M18-GAP-00307","next":"M18-GAP-00309"},"M18-GAP-00309":{"line":3004,"offset":522972,"length":187,"previous":"M18-GAP-00308","next":"M18-GAP-00310"},"M18-GAP-00310":{"line":3005,"offset":523159,"length":184,"previous":"M18-GAP-00309","next":"M18-GAP-00311"},"M18-GAP-00311":{"line":3006,"offset":523343,"length":187,"previous":"M18-GAP-00310","next":"M18-GAP-00312"},"M18-GAP-00312":{"line":3007,"offset":523530,"length":188,"previous":"M18-GAP-00311","next":"M18-GAP-00313"},"M18-GAP-00313":{"line":3008,"offset":523718,"length":192,"previous":"M18-GAP-00312","next":"M18-GAP-00314"},"M18-GAP-00314":{"line":3009,"offset":523910,"length":188,"previous":"M18-GAP-00313","next":"M18-GAP-00315"},"M18-GAP-00315":{"line":3010,"offset":524098,"length":189,"previous":"M18-GAP-00314","next":"M18-GAP-00316"},"M18-GAP-00316":{"line":3011,"offset":524287,"length":185,"previous":"M18-GAP-00315","next":"M18-GAP-00317"},"M18-GAP-00317":{"line":3012,"offset":524472,"length":181,"previous":"M18-GAP-00316","next":"M18-GAP-00318"},"M18-GAP-00318":{"line":3013,"offset":524653,"length":185,"previous":"M18-GAP-00317","next":"M18-GAP-00319"},"M18-GAP-00319":{"line":3014,"offset":524838,"length":188,"previous":"M18-GAP-00318","next":"M18-GAP-00320"},"M18-GAP-00320":{"line":3015,"offset":525026,"length":183,"previous":"M18-GAP-00319","next":"M18-GAP-00321"},"M18-GAP-00321":{"line":3016,"offset":525209,"length":189,"previous":"M18-GAP-00320","next":"M18-GAP-00322"},"M18-GAP-00322":{"line":3017,"offset":525398,"length":192,"previous":"M18-GAP-00321","next":"M18-GAP-00323"},"M18-GAP-00323":{"line":3018,"offset":525590,"length":187,"previous":"M18-GAP-00322","next":"M18-GAP-00324"},"M18-GAP-00324":{"line":3019,"offset":525777,"length":183,"previous":"M18-GAP-00323","next":"M18-GAP-00325"},"M18-GAP-00325":{"line":3020,"offset":525960,"length":187,"previous":"M18-GAP-00324","next":"M18-GAP-00326"},"M18-GAP-00326":{"line":3021,"offset":526147,"length":187,"previous":"M18-GAP-00325","next":"M18-GAP-00327"},"M18-GAP-00327":{"line":3022,"offset":526334,"length":186,"previous":"M18-GAP-00326","next":"M18-GAP-00328"},"M18-GAP-00328":{"line":3023,"offset":526520,"length":191,"previous":"M18-GAP-00327","next":"M18-GAP-00329"},"M18-GAP-00329":{"line":3024,"offset":526711,"length":179,"previous":"M18-GAP-00328","next":"M18-GAP-00330"},"M18-GAP-00330":{"line":3025,"offset":526890,"length":182,"previous":"M18-GAP-00329","next":"M18-GAP-00331"},"M18-GAP-00331":{"line":3026,"offset":527072,"length":185,"previous":"M18-GAP-00330","next":"M18-GAP-00332"},"M18-GAP-00332":{"line":3027,"offset":527257,"length":190,"previous":"M18-GAP-00331","next":"M18-GAP-00333"},"M18-GAP-00333":{"line":3028,"offset":527447,"length":184,"previous":"M18-GAP-00332","next":"M18-GAP-00334"},"M18-GAP-00334":{"line":3029,"offset":527631,"length":190,"previous":"M18-GAP-00333","next":"M18-GAP-00335"},"M18-GAP-00335":{"line":3030,"offset":527821,"length":186,"previous":"M18-GAP-00334","next":"M18-GAP-00336"},"M18-GAP-00336":{"line":3031,"offset":528007,"length":187,"previous":"M18-GAP-00335","next":"M18-GAP-00337"},"M18-GAP-00337":{"line":3032,"offset":528194,"length":189,"previous":"M18-GAP-00336","next":"M18-GAP-00338"},"M18-GAP-00338":{"line":3033,"offset":528383,"length":191,"previous":"M18-GAP-00337","next":"M18-GAP-00339"},"M18-GAP-00339":{"line":3034,"offset":528574,"length":182,"previous":"M18-GAP-00338","next":"M18-GAP-00340"},"M18-GAP-00340":{"line":3035,"offset":528756,"length":191,"previous":"M18-GAP-00339","next":"M18-GAP-00341"},"M18-GAP-00341":{"line":3036,"offset":528947,"length":184,"previous":"M18-GAP-00340","next":"M18-GAP-00342"},"M18-GAP-00342":{"line":3037,"offset":529131,"length":182,"previous":"M18-GAP-00341","next":"M18-GAP-00343"},"M18-GAP-00343":{"line":3038,"offset":529313,"length":186,"previous":"M18-GAP-00342","next":"M18-GAP-00344"},"M18-GAP-00344":{"line":3039,"offset":529499,"length":182,"previous":"M18-GAP-00343","next":"M18-GAP-00345"},"M18-GAP-00345":{"line":3040,"offset":529681,"length":181,"previous":"M18-GAP-00344","next":"M18-GAP-00346"},"M18-GAP-00346":{"line":3041,"offset":529862,"length":187,"previous":"M18-GAP-00345","next":"M18-GAP-00347"},"M18-GAP-00347":{"line":3042,"offset":530049,"length":179,"previous":"M18-GAP-00346","next":"M18-GAP-00348"},"M18-GAP-00348":{"line":3043,"offset":530228,"length":190,"previous":"M18-GAP-00347","next":"M18-GAP-00349"},"M18-GAP-00349":{"line":3044,"offset":530418,"length":183,"previous":"M18-GAP-00348","next":"M18-GAP-00350"},"M18-GAP-00350":{"line":3045,"offset":530601,"length":185,"previous":"M18-GAP-00349","next":"M18-GAP-00351"},"M18-GAP-00351":{"line":3046,"offset":530786,"length":180,"previous":"M18-GAP-00350","next":"M18-GAP-00352"},"M18-GAP-00352":{"line":3047,"offset":530966,"length":183,"previous":"M18-GAP-00351","next":"M18-GAP-00353"},"M18-GAP-00353":{"line":3048,"offset":531149,"length":176,"previous":"M18-GAP-00352","next":"M18-GAP-00354"},"M18-GAP-00354":{"line":3049,"offset":531325,"length":183,"previous":"M18-GAP-00353","next":"M18-GAP-00355"},"M18-GAP-00355":{"line":3050,"offset":531508,"length":176,"previous":"M18-GAP-00354","next":"M18-GAP-00356"},"M18-GAP-00356":{"line":3051,"offset":531684,"length":177,"previous":"M18-GAP-00355","next":"M18-GAP-00357"},"M18-GAP-00357":{"line":3052,"offset":531861,"length":172,"previous":"M18-GAP-00356","next":"M18-GAP-00358"},"M18-GAP-00358":{"line":3053,"offset":532033,"length":176,"previous":"M18-GAP-00357","next":"M18-GAP-00359"},"M18-GAP-00359":{"line":3054,"offset":532209,"length":181,"previous":"M18-GAP-00358","next":"M18-GAP-00360"},"M18-GAP-00360":{"line":3055,"offset":532390,"length":182,"previous":"M18-GAP-00359","next":"M18-GAP-00361"},"M18-GAP-00361":{"line":3056,"offset":532572,"length":178,"previous":"M18-GAP-00360","next":"M18-GAP-00362"},"M18-GAP-00362":{"line":3057,"offset":532750,"length":176,"previous":"M18-GAP-00361","next":"M18-GAP-00363"},"M18-GAP-00363":{"line":3058,"offset":532926,"length":175,"previous":"M18-GAP-00362","next":"M18-GAP-00364"},"M18-GAP-00364":{"line":3059,"offset":533101,"length":185,"previous":"M18-GAP-00363","next":"M18-GAP-00365"},"M18-GAP-00365":{"line":3060,"offset":533286,"length":179,"previous":"M18-GAP-00364","next":"M18-GAP-00366"},"M18-GAP-00366":{"line":3061,"offset":533465,"length":181,"previous":"M18-GAP-00365","next":"M18-GAP-00367"},"M18-GAP-00367":{"line":3062,"offset":533646,"length":180,"previous":"M18-GAP-00366","next":"M18-GAP-00368"},"M18-GAP-00368":{"line":3063,"offset":533826,"length":181,"previous":"M18-GAP-00367","next":"M18-GAP-00369"},"M18-GAP-00369":{"line":3064,"offset":534007,"length":176,"previous":"M18-GAP-00368","next":"M18-GAP-00370"},"M18-GAP-00370":{"line":3065,"offset":534183,"length":175,"previous":"M18-GAP-00369","next":"M18-GAP-00371"},"M18-GAP-00371":{"line":3066,"offset":534358,"length":182,"previous":"M18-GAP-00370","next":"M18-GAP-00372"},"M18-GAP-00372":{"line":3067,"offset":534540,"length":182,"previous":"M18-GAP-00371","next":"M18-GAP-00373"},"M18-GAP-00373":{"line":3068,"offset":534722,"length":171,"previous":"M18-GAP-00372","next":"M18-GAP-00374"},"M18-GAP-00374":{"line":3069,"offset":534893,"length":177,"previous":"M18-GAP-00373","next":"M18-GAP-00375"},"M18-GAP-00375":{"line":3070,"offset":535070,"length":172,"previous":"M18-GAP-00374","next":"M18-GAP-00376"},"M18-GAP-00376":{"line":3071,"offset":535242,"length":179,"previous":"M18-GAP-00375","next":"M18-GAP-00377"},"M18-GAP-00377":{"line":3072,"offset":535421,"length":177,"previous":"M18-GAP-00376","next":"M18-GAP-00378"},"M18-GAP-00378":{"line":3073,"offset":535598,"length":179,"previous":"M18-GAP-00377","next":"M18-GAP-00379"},"M18-GAP-00379":{"line":3074,"offset":535777,"length":180,"previous":"M18-GAP-00378","next":"M18-GAP-00380"},"M18-GAP-00380":{"line":3075,"offset":535957,"length":175,"previous":"M18-GAP-00379","next":"M18-GAP-00381"},"M18-GAP-00381":{"line":3076,"offset":536132,"length":177,"previous":"M18-GAP-00380","next":"M18-GAP-00382"},"M18-GAP-00382":{"line":3077,"offset":536309,"length":174,"previous":"M18-GAP-00381","next":"M18-GAP-00383"},"M18-GAP-00383":{"line":3078,"offset":536483,"length":172,"previous":"M18-GAP-00382","next":"M18-GAP-00384"},"M18-GAP-00384":{"line":3079,"offset":536655,"length":172,"previous":"M18-GAP-00383","next":"M18-GAP-00385"},"M18-GAP-00385":{"line":3080,"offset":536827,"length":175,"previous":"M18-GAP-00384","next":"M18-GAP-00386"},"M18-GAP-00386":{"line":3081,"offset":537002,"length":174,"previous":"M18-GAP-00385","next":"M18-GAP-00387"},"M18-GAP-00387":{"line":3082,"offset":537176,"length":180,"previous":"M18-GAP-00386","next":"M18-GAP-00388"},"M18-GAP-00388":{"line":3083,"offset":537356,"length":173,"previous":"M18-GAP-00387","next":"M18-GAP-00389"},"M18-GAP-00389":{"line":3084,"offset":537529,"length":178,"previous":"M18-GAP-00388","next":"M18-GAP-00390"},"M18-GAP-00390":{"line":3085,"offset":537707,"length":179,"previous":"M18-GAP-00389","next":"M18-GAP-00391"},"M18-GAP-00391":{"line":3086,"offset":537886,"length":176,"previous":"M18-GAP-00390","next":"M18-GAP-00392"},"M18-GAP-00392":{"line":3087,"offset":538062,"length":175,"previous":"M18-GAP-00391","next":"M18-GAP-00393"},"M18-GAP-00393":{"line":3088,"offset":538237,"length":174,"previous":"M18-GAP-00392","next":"M18-GAP-00394"},"M18-GAP-00394":{"line":3089,"offset":538411,"length":171,"previous":"M18-GAP-00393","next":"M18-GAP-00395"},"M18-GAP-00395":{"line":3090,"offset":538582,"length":170,"previous":"M18-GAP-00394","next":"M18-GAP-00396"},"M18-GAP-00396":{"line":3091,"offset":538752,"length":173,"previous":"M18-GAP-00395","next":"M18-GAP-00397"},"M18-GAP-00397":{"line":3092,"offset":538925,"length":176,"previous":"M18-GAP-00396","next":"M18-GAP-00398"},"M18-GAP-00398":{"line":3093,"offset":539101,"length":178,"previous":"M18-GAP-00397","next":"M18-GAP-00399"},"M18-GAP-00399":{"line":3094,"offset":539279,"length":173,"previous":"M18-GAP-00398","next":"M18-GAP-00400"},"M18-GAP-00400":{"line":3095,"offset":539452,"length":176,"previous":"M18-GAP-00399","next":"M18-GAP-00401"},"M18-GAP-00401":{"line":3096,"offset":539628,"length":177,"previous":"M18-GAP-00400","next":"M18-GAP-00402"},"M18-GAP-00402":{"line":3097,"offset":539805,"length":176,"previous":"M18-GAP-00401","next":"M18-GAP-00403"},"M18-GAP-00403":{"line":3098,"offset":539981,"length":178,"previous":"M18-GAP-00402","next":"M18-GAP-00404"},"M18-GAP-00404":{"line":3099,"offset":540159,"length":182,"previous":"M18-GAP-00403","next":"M18-GAP-00405"},"M18-GAP-00405":{"line":3100,"offset":540341,"length":181,"previous":"M18-GAP-00404","next":"M18-GAP-00406"},"M18-GAP-00406":{"line":3101,"offset":540522,"length":178,"previous":"M18-GAP-00405","next":"M18-GAP-00407"},"M18-GAP-00407":{"line":3102,"offset":540700,"length":179,"previous":"M18-GAP-00406","next":"M18-GAP-00408"},"M18-GAP-00408":{"line":3103,"offset":540879,"length":176,"previous":"M18-GAP-00407","next":"M18-GAP-00409"},"M18-GAP-00409":{"line":3104,"offset":541055,"length":170,"previous":"M18-GAP-00408","next":"M18-GAP-00410"},"M18-GAP-00410":{"line":3105,"offset":541225,"length":175,"previous":"M18-GAP-00409","next":"M18-GAP-00411"},"M18-GAP-00411":{"line":3106,"offset":541400,"length":174,"previous":"M18-GAP-00410","next":"M18-GAP-00412"},"M18-GAP-00412":{"line":3107,"offset":541574,"length":179,"previous":"M18-GAP-00411","next":"M18-GAP-00413"},"M18-GAP-00413":{"line":3108,"offset":541753,"length":174,"previous":"M18-GAP-00412","next":"M18-GAP-00414"},"M18-GAP-00414":{"line":3109,"offset":541927,"length":173,"previous":"M18-GAP-00413","next":"M18-GAP-00415"},"M18-GAP-00415":{"line":3110,"offset":542100,"length":180,"previous":"M18-GAP-00414","next":"M18-GAP-00416"},"M18-GAP-00416":{"line":3111,"offset":542280,"length":178,"previous":"M18-GAP-00415","next":"M18-GAP-00417"},"M18-GAP-00417":{"line":3112,"offset":542458,"length":178,"previous":"M18-GAP-00416","next":"M18-GAP-00418"},"M18-GAP-00418":{"line":3113,"offset":542636,"length":174,"previous":"M18-GAP-00417","next":"M18-GAP-00419"},"M18-GAP-00419":{"line":3114,"offset":542810,"length":187,"previous":"M18-GAP-00418","next":"M18-GAP-00420"},"M18-GAP-00420":{"line":3115,"offset":542997,"length":174,"previous":"M18-GAP-00419","next":"M18-GAP-00421"},"M18-GAP-00421":{"line":3116,"offset":543171,"length":175,"previous":"M18-GAP-00420","next":"M18-GAP-00422"},"M18-GAP-00422":{"line":3117,"offset":543346,"length":177,"previous":"M18-GAP-00421","next":"M18-GAP-00423"},"M18-GAP-00423":{"line":3118,"offset":543523,"length":175,"previous":"M18-GAP-00422","next":"M18-GAP-00424"},"M18-GAP-00424":{"line":3119,"offset":543698,"length":181,"previous":"M18-GAP-00423","next":"M18-GAP-00425"},"M18-GAP-00425":{"line":3120,"offset":543879,"length":175,"previous":"M18-GAP-00424","next":"M18-GAP-00426"},"M18-GAP-00426":{"line":3121,"offset":544054,"length":178,"previous":"M18-GAP-00425","next":"M18-GAP-00427"},"M18-GAP-00427":{"line":3122,"offset":544232,"length":173,"previous":"M18-GAP-00426","next":"M18-GAP-00428"},"M18-GAP-00428":{"line":3123,"offset":544405,"length":175,"previous":"M18-GAP-00427","next":"M18-GAP-00429"},"M18-GAP-00429":{"line":3124,"offset":544580,"length":175,"previous":"M18-GAP-00428","next":"M18-GAP-00430"},"M18-GAP-00430":{"line":3125,"offset":544755,"length":175,"previous":"M18-GAP-00429","next":"M18-GAP-00431"},"M18-GAP-00431":{"line":3126,"offset":544930,"length":173,"previous":"M18-GAP-00430","next":"M18-GAP-00432"},"M18-GAP-00432":{"line":3127,"offset":545103,"length":177,"previous":"M18-GAP-00431","next":"M18-GAP-00433"},"M18-GAP-00433":{"line":3128,"offset":545280,"length":174,"previous":"M18-GAP-00432","next":"M18-GAP-00434"},"M18-GAP-00434":{"line":3129,"offset":545454,"length":180,"previous":"M18-GAP-00433","next":"M18-GAP-00435"},"M18-GAP-00435":{"line":3130,"offset":545634,"length":180,"previous":"M18-GAP-00434","next":"M18-GAP-00436"},"M18-GAP-00436":{"line":3131,"offset":545814,"length":172,"previous":"M18-GAP-00435","next":"M18-GAP-00437"},"M18-GAP-00437":{"line":3132,"offset":545986,"length":175,"previous":"M18-GAP-00436","next":"M18-GAP-00438"},"M18-GAP-00438":{"line":3133,"offset":546161,"length":172,"previous":"M18-GAP-00437","next":"M18-GAP-00439"},"M18-GAP-00439":{"line":3134,"offset":546333,"length":178,"previous":"M18-GAP-00438","next":"M18-GAP-00440"},"M18-GAP-00440":{"line":3135,"offset":546511,"length":185,"previous":"M18-GAP-00439","next":"M18-GAP-00441"},"M18-GAP-00441":{"line":3136,"offset":546696,"length":177,"previous":"M18-GAP-00440","next":"M18-GAP-00442"},"M18-GAP-00442":{"line":3137,"offset":546873,"length":179,"previous":"M18-GAP-00441","next":"M18-GAP-00443"},"M18-GAP-00443":{"line":3138,"offset":547052,"length":182,"previous":"M18-GAP-00442","next":"M18-GAP-00444"},"M18-GAP-00444":{"line":3139,"offset":547234,"length":178,"previous":"M18-GAP-00443","next":"M18-GAP-00445"},"M18-GAP-00445":{"line":3140,"offset":547412,"length":183,"previous":"M18-GAP-00444","next":"M18-GAP-00446"},"M18-GAP-00446":{"line":3141,"offset":547595,"length":185,"previous":"M18-GAP-00445","next":"M18-GAP-00447"},"M18-GAP-00447":{"line":3142,"offset":547780,"length":177,"previous":"M18-GAP-00446","next":"M18-GAP-00448"},"M18-GAP-00448":{"line":3143,"offset":547957,"length":183,"previous":"M18-GAP-00447","next":"M18-GAP-00449"},"M18-GAP-00449":{"line":3144,"offset":548140,"length":180,"previous":"M18-GAP-00448","next":"M18-GAP-00450"},"M18-GAP-00450":{"line":3145,"offset":548320,"length":177,"previous":"M18-GAP-00449","next":"M18-GAP-00451"},"M18-GAP-00451":{"line":3146,"offset":548497,"length":176,"previous":"M18-GAP-00450","next":"M19-GAP-00001"},"M19-GAP-00001":{"line":3147,"offset":548673,"length":153,"previous":"M18-GAP-00451","next":"M19-GAP-00002"},"M19-GAP-00002":{"line":3148,"offset":548826,"length":155,"previous":"M19-GAP-00001","next":"M19-GAP-00003"},"M19-GAP-00003":{"line":3149,"offset":548981,"length":152,"previous":"M19-GAP-00002","next":"M19-GAP-00004"},"M19-GAP-00004":{"line":3150,"offset":549133,"length":152,"previous":"M19-GAP-00003","next":"M19-GAP-00005"},"M19-GAP-00005":{"line":3151,"offset":549285,"length":153,"previous":"M19-GAP-00004","next":"M19-GAP-00006"},"M19-GAP-00006":{"line":3152,"offset":549438,"length":159,"previous":"M19-GAP-00005","next":"M19-GAP-00007"},"M19-GAP-00007":{"line":3153,"offset":549597,"length":149,"previous":"M19-GAP-00006","next":"M19-GAP-00008"},"M19-GAP-00008":{"line":3154,"offset":549746,"length":152,"previous":"M19-GAP-00007","next":"M19-GAP-00009"},"M19-GAP-00009":{"line":3155,"offset":549898,"length":150,"previous":"M19-GAP-00008","next":"M19-GAP-00010"},"M19-GAP-00010":{"line":3156,"offset":550048,"length":154,"previous":"M19-GAP-00009","next":"M19-GAP-00011"},"M19-GAP-00011":{"line":3157,"offset":550202,"length":151,"previous":"M19-GAP-00010","next":"M19-GAP-00012"},"M19-GAP-00012":{"line":3158,"offset":550353,"length":155,"previous":"M19-GAP-00011","next":"M19-GAP-00013"},"M19-GAP-00013":{"line":3159,"offset":550508,"length":156,"previous":"M19-GAP-00012","next":"M19-GAP-00014"},"M19-GAP-00014":{"line":3160,"offset":550664,"length":154,"previous":"M19-GAP-00013","next":"M19-GAP-00015"},"M19-GAP-00015":{"line":3161,"offset":550818,"length":163,"previous":"M19-GAP-00014","next":"M19-GAP-00016"},"M19-GAP-00016":{"line":3162,"offset":550981,"length":157,"previous":"M19-GAP-00015","next":"M19-GAP-00017"},"M19-GAP-00017":{"line":3163,"offset":551138,"length":152,"previous":"M19-GAP-00016","next":"M19-GAP-00018"},"M19-GAP-00018":{"line":3164,"offset":551290,"length":154,"previous":"M19-GAP-00017","next":"M19-GAP-00019"},"M19-GAP-00019":{"line":3165,"offset":551444,"length":151,"previous":"M19-GAP-00018","next":"M19-GAP-00020"},"M19-GAP-00020":{"line":3166,"offset":551595,"length":153,"previous":"M19-GAP-00019","next":"M20-GAP-00001"},"M20-GAP-00001":{"line":3167,"offset":551748,"length":161,"previous":"M19-GAP-00020","next":"M20-GAP-00002"},"M20-GAP-00002":{"line":3168,"offset":551909,"length":167,"previous":"M20-GAP-00001","next":"M20-GAP-00003"},"M20-GAP-00003":{"line":3169,"offset":552076,"length":157,"previous":"M20-GAP-00002","next":"M20-GAP-00004"},"M20-GAP-00004":{"line":3170,"offset":552233,"length":169,"previous":"M20-GAP-00003","next":"M20-GAP-00005"},"M20-GAP-00005":{"line":3171,"offset":552402,"length":162,"previous":"M20-GAP-00004","next":"M20-GAP-00006"},"M20-GAP-00006":{"line":3172,"offset":552564,"length":171,"previous":"M20-GAP-00005","next":"M20-GAP-00007"},"M20-GAP-00007":{"line":3173,"offset":552735,"length":162,"previous":"M20-GAP-00006","next":"M20-GAP-00008"},"M20-GAP-00008":{"line":3174,"offset":552897,"length":169,"previous":"M20-GAP-00007","next":"M20-GAP-00009"},"M20-GAP-00009":{"line":3175,"offset":553066,"length":161,"previous":"M20-GAP-00008","next":"M20-GAP-00010"},"M20-GAP-00010":{"line":3176,"offset":553227,"length":161,"previous":"M20-GAP-00009","next":"M20-GAP-00011"},"M20-GAP-00011":{"line":3177,"offset":553388,"length":158,"previous":"M20-GAP-00010","next":"M20-GAP-00012"},"M20-GAP-00012":{"line":3178,"offset":553546,"length":162,"previous":"M20-GAP-00011","next":"M20-GAP-00013"},"M20-GAP-00013":{"line":3179,"offset":553708,"length":171,"previous":"M20-GAP-00012","next":"M20-GAP-00014"},"M20-GAP-00014":{"line":3180,"offset":553879,"length":162,"previous":"M20-GAP-00013","next":"M20-GAP-00015"},"M20-GAP-00015":{"line":3181,"offset":554041,"length":162,"previous":"M20-GAP-00014","next":"M20-GAP-00016"},"M20-GAP-00016":{"line":3182,"offset":554203,"length":166,"previous":"M20-GAP-00015","next":"M20-GAP-00017"},"M20-GAP-00017":{"line":3183,"offset":554369,"length":166,"previous":"M20-GAP-00016","next":"M20-GAP-00018"},"M20-GAP-00018":{"line":3184,"offset":554535,"length":166,"previous":"M20-GAP-00017","next":"M20-GAP-00019"},"M20-GAP-00019":{"line":3185,"offset":554701,"length":174,"previous":"M20-GAP-00018","next":"M20-GAP-00020"},"M20-GAP-00020":{"line":3186,"offset":554875,"length":175,"previous":"M20-GAP-00019","next":"M20-GAP-00021"},"M20-GAP-00021":{"line":3187,"offset":555050,"length":169,"previous":"M20-GAP-00020","next":"M20-GAP-00022"},"M20-GAP-00022":{"line":3188,"offset":555219,"length":168,"previous":"M20-GAP-00021","next":"M20-GAP-00023"},"M20-GAP-00023":{"line":3189,"offset":555387,"length":169,"previous":"M20-GAP-00022","next":"M20-GAP-00024"},"M20-GAP-00024":{"line":3190,"offset":555556,"length":164,"previous":"M20-GAP-00023","next":"M20-GAP-00025"},"M20-GAP-00025":{"line":3191,"offset":555720,"length":162,"previous":"M20-GAP-00024","next":"M20-GAP-00026"},"M20-GAP-00026":{"line":3192,"offset":555882,"length":168,"previous":"M20-GAP-00025","next":"M20-GAP-00027"},"M20-GAP-00027":{"line":3193,"offset":556050,"length":170,"previous":"M20-GAP-00026","next":"M20-GAP-00028"},"M20-GAP-00028":{"line":3194,"offset":556220,"length":166,"previous":"M20-GAP-00027","next":"M20-GAP-00029"},"M20-GAP-00029":{"line":3195,"offset":556386,"length":162,"previous":"M20-GAP-00028","next":"M20-GAP-00030"},"M20-GAP-00030":{"line":3196,"offset":556548,"length":176,"previous":"M20-GAP-00029","next":"M20-GAP-00031"},"M20-GAP-00031":{"line":3197,"offset":556724,"length":173,"previous":"M20-GAP-00030","next":"M20-GAP-00032"},"M20-GAP-00032":{"line":3198,"offset":556897,"length":173,"previous":"M20-GAP-00031","next":"M20-GAP-00033"},"M20-GAP-00033":{"line":3199,"offset":557070,"length":175,"previous":"M20-GAP-00032","next":"M20-GAP-00034"},"M20-GAP-00034":{"line":3200,"offset":557245,"length":174,"previous":"M20-GAP-00033","next":"M20-GAP-00035"},"M20-GAP-00035":{"line":3201,"offset":557419,"length":172,"previous":"M20-GAP-00034","next":"M20-GAP-00036"},"M20-GAP-00036":{"line":3202,"offset":557591,"length":176,"previous":"M20-GAP-00035","next":"M20-GAP-00037"},"M20-GAP-00037":{"line":3203,"offset":557767,"length":177,"previous":"M20-GAP-00036","next":"M20-GAP-00038"},"M20-GAP-00038":{"line":3204,"offset":557944,"length":172,"previous":"M20-GAP-00037","next":"M20-GAP-00039"},"M20-GAP-00039":{"line":3205,"offset":558116,"length":176,"previous":"M20-GAP-00038","next":"M20-GAP-00040"},"M20-GAP-00040":{"line":3206,"offset":558292,"length":177,"previous":"M20-GAP-00039","next":"M20-GAP-00041"},"M20-GAP-00041":{"line":3207,"offset":558469,"length":174,"previous":"M20-GAP-00040","next":"M20-GAP-00042"},"M20-GAP-00042":{"line":3208,"offset":558643,"length":157,"previous":"M20-GAP-00041","next":"M20-GAP-00043"},"M20-GAP-00043":{"line":3209,"offset":558800,"length":162,"previous":"M20-GAP-00042","next":"M20-GAP-00044"},"M20-GAP-00044":{"line":3210,"offset":558962,"length":168,"previous":"M20-GAP-00043","next":"M20-GAP-00045"},"M20-GAP-00045":{"line":3211,"offset":559130,"length":161,"previous":"M20-GAP-00044","next":"M20-GAP-00046"},"M20-GAP-00046":{"line":3212,"offset":559291,"length":164,"previous":"M20-GAP-00045","next":"M20-GAP-00047"},"M20-GAP-00047":{"line":3213,"offset":559455,"length":173,"previous":"M20-GAP-00046","next":"M20-GAP-00048"},"M20-GAP-00048":{"line":3214,"offset":559628,"length":160,"previous":"M20-GAP-00047","next":"M20-GAP-00049"},"M20-GAP-00049":{"line":3215,"offset":559788,"length":165,"previous":"M20-GAP-00048","next":"M20-GAP-00050"},"M20-GAP-00050":{"line":3216,"offset":559953,"length":176,"previous":"M20-GAP-00049","next":"M20-GAP-00051"},"M20-GAP-00051":{"line":3217,"offset":560129,"length":177,"previous":"M20-GAP-00050","next":"M20-GAP-00052"},"M20-GAP-00052":{"line":3218,"offset":560306,"length":163,"previous":"M20-GAP-00051","next":"M20-GAP-00053"},"M20-GAP-00053":{"line":3219,"offset":560469,"length":171,"previous":"M20-GAP-00052","next":"M20-GAP-00054"},"M20-GAP-00054":{"line":3220,"offset":560640,"length":164,"previous":"M20-GAP-00053","next":"M20-GAP-00055"},"M20-GAP-00055":{"line":3221,"offset":560804,"length":163,"previous":"M20-GAP-00054","next":"M20-GAP-00056"},"M20-GAP-00056":{"line":3222,"offset":560967,"length":159,"previous":"M20-GAP-00055","next":"M20-GAP-00057"},"M20-GAP-00057":{"line":3223,"offset":561126,"length":163,"previous":"M20-GAP-00056","next":"M20-GAP-00058"},"M20-GAP-00058":{"line":3224,"offset":561289,"length":160,"previous":"M20-GAP-00057","next":"M20-GAP-00059"},"M20-GAP-00059":{"line":3225,"offset":561449,"length":168,"previous":"M20-GAP-00058","next":"M20-GAP-00060"},"M20-GAP-00060":{"line":3226,"offset":561617,"length":164,"previous":"M20-GAP-00059","next":"M20-GAP-00061"},"M20-GAP-00061":{"line":3227,"offset":561781,"length":163,"previous":"M20-GAP-00060","next":"M20-GAP-00062"},"M20-GAP-00062":{"line":3228,"offset":561944,"length":165,"previous":"M20-GAP-00061","next":"M20-GAP-00063"},"M20-GAP-00063":{"line":3229,"offset":562109,"length":171,"previous":"M20-GAP-00062","next":"M20-GAP-00064"},"M20-GAP-00064":{"line":3230,"offset":562280,"length":165,"previous":"M20-GAP-00063","next":"M20-GAP-00065"},"M20-GAP-00065":{"line":3231,"offset":562445,"length":165,"previous":"M20-GAP-00064","next":"M20-GAP-00066"},"M20-GAP-00066":{"line":3232,"offset":562610,"length":152,"previous":"M20-GAP-00065","next":"M20-GAP-00067"},"M20-GAP-00067":{"line":3233,"offset":562762,"length":159,"previous":"M20-GAP-00066","next":"M20-GAP-00068"},"M20-GAP-00068":{"line":3234,"offset":562921,"length":159,"previous":"M20-GAP-00067","next":"M20-GAP-00069"},"M20-GAP-00069":{"line":3235,"offset":563080,"length":160,"previous":"M20-GAP-00068","next":"M20-GAP-00070"},"M20-GAP-00070":{"line":3236,"offset":563240,"length":154,"previous":"M20-GAP-00069","next":"M20-GAP-00071"},"M20-GAP-00071":{"line":3237,"offset":563394,"length":157,"previous":"M20-GAP-00070","next":"M20-GAP-00072"},"M20-GAP-00072":{"line":3238,"offset":563551,"length":159,"previous":"M20-GAP-00071","next":"M20-GAP-00073"},"M20-GAP-00073":{"line":3239,"offset":563710,"length":154,"previous":"M20-GAP-00072","next":"M20-GAP-00074"},"M20-GAP-00074":{"line":3240,"offset":563864,"length":160,"previous":"M20-GAP-00073","next":"M20-GAP-00075"},"M20-GAP-00075":{"line":3241,"offset":564024,"length":162,"previous":"M20-GAP-00074","next":"M20-GAP-00076"},"M20-GAP-00076":{"line":3242,"offset":564186,"length":153,"previous":"M20-GAP-00075","next":"M20-GAP-00077"},"M20-GAP-00077":{"line":3243,"offset":564339,"length":154,"previous":"M20-GAP-00076","next":"M20-GAP-00078"},"M20-GAP-00078":{"line":3244,"offset":564493,"length":153,"previous":"M20-GAP-00077","next":"M20-GAP-00079"},"M20-GAP-00079":{"line":3245,"offset":564646,"length":153,"previous":"M20-GAP-00078","next":"M20-GAP-00080"},"M20-GAP-00080":{"line":3246,"offset":564799,"length":154,"previous":"M20-GAP-00079","next":"M20-GAP-00081"},"M20-GAP-00081":{"line":3247,"offset":564953,"length":158,"previous":"M20-GAP-00080","next":"M20-GAP-00082"},"M20-GAP-00082":{"line":3248,"offset":565111,"length":157,"previous":"M20-GAP-00081","next":"M20-GAP-00083"},"M20-GAP-00083":{"line":3249,"offset":565268,"length":157,"previous":"M20-GAP-00082","next":"M20-GAP-00084"},"M20-GAP-00084":{"line":3250,"offset":565425,"length":154,"previous":"M20-GAP-00083","next":"M20-GAP-00085"},"M20-GAP-00085":{"line":3251,"offset":565579,"length":154,"previous":"M20-GAP-00084","next":"M20-GAP-00086"},"M20-GAP-00086":{"line":3252,"offset":565733,"length":154,"previous":"M20-GAP-00085","next":"M20-GAP-00087"},"M20-GAP-00087":{"line":3253,"offset":565887,"length":157,"previous":"M20-GAP-00086","next":"M20-GAP-00088"},"M20-GAP-00088":{"line":3254,"offset":566044,"length":153,"previous":"M20-GAP-00087","next":"M20-GAP-00089"},"M20-GAP-00089":{"line":3255,"offset":566197,"length":153,"previous":"M20-GAP-00088","next":"M21-GAP-00001"},"M21-GAP-00001":{"line":3256,"offset":566350,"length":156,"previous":"M20-GAP-00089","next":"M21-GAP-00002"},"M21-GAP-00002":{"line":3257,"offset":566506,"length":152,"previous":"M21-GAP-00001","next":"M21-GAP-00003"},"M21-GAP-00003":{"line":3258,"offset":566658,"length":161,"previous":"M21-GAP-00002","next":"M21-GAP-00004"},"M21-GAP-00004":{"line":3259,"offset":566819,"length":150,"previous":"M21-GAP-00003","next":"M21-GAP-00005"},"M21-GAP-00005":{"line":3260,"offset":566969,"length":157,"previous":"M21-GAP-00004","next":"M21-GAP-00006"},"M21-GAP-00006":{"line":3261,"offset":567126,"length":157,"previous":"M21-GAP-00005","next":"M21-GAP-00007"},"M21-GAP-00007":{"line":3262,"offset":567283,"length":157,"previous":"M21-GAP-00006","next":"M21-GAP-00008"},"M21-GAP-00008":{"line":3263,"offset":567440,"length":149,"previous":"M21-GAP-00007","next":"M21-GAP-00009"},"M21-GAP-00009":{"line":3264,"offset":567589,"length":155,"previous":"M21-GAP-00008","next":"M21-GAP-00010"},"M21-GAP-00010":{"line":3265,"offset":567744,"length":156,"previous":"M21-GAP-00009","next":"M21-GAP-00011"},"M21-GAP-00011":{"line":3266,"offset":567900,"length":153,"previous":"M21-GAP-00010","next":"M21-GAP-00012"},"M21-GAP-00012":{"line":3267,"offset":568053,"length":156,"previous":"M21-GAP-00011","next":"M21-GAP-00013"},"M21-GAP-00013":{"line":3268,"offset":568209,"length":155,"previous":"M21-GAP-00012","next":"M21-GAP-00014"},"M21-GAP-00014":{"line":3269,"offset":568364,"length":160,"previous":"M21-GAP-00013","next":"M21-GAP-00015"},"M21-GAP-00015":{"line":3270,"offset":568524,"length":156,"previous":"M21-GAP-00014","next":"M21-GAP-00016"},"M21-GAP-00016":{"line":3271,"offset":568680,"length":154,"previous":"M21-GAP-00015","next":"M21-GAP-00017"},"M21-GAP-00017":{"line":3272,"offset":568834,"length":156,"previous":"M21-GAP-00016","next":"M21-GAP-00018"},"M21-GAP-00018":{"line":3273,"offset":568990,"length":151,"previous":"M21-GAP-00017","next":"M21-GAP-00019"},"M21-GAP-00019":{"line":3274,"offset":569141,"length":152,"previous":"M21-GAP-00018","next":"M21-GAP-00020"},"M21-GAP-00020":{"line":3275,"offset":569293,"length":172,"previous":"M21-GAP-00019","next":"M21-GAP-00021"},"M21-GAP-00021":{"line":3276,"offset":569465,"length":171,"previous":"M21-GAP-00020","next":"M21-GAP-00022"},"M21-GAP-00022":{"line":3277,"offset":569636,"length":173,"previous":"M21-GAP-00021","next":"M21-GAP-00023"},"M21-GAP-00023":{"line":3278,"offset":569809,"length":176,"previous":"M21-GAP-00022","next":"M21-GAP-00024"},"M21-GAP-00024":{"line":3279,"offset":569985,"length":174,"previous":"M21-GAP-00023","next":"M21-GAP-00025"},"M21-GAP-00025":{"line":3280,"offset":570159,"length":176,"previous":"M21-GAP-00024","next":"M21-GAP-00026"},"M21-GAP-00026":{"line":3281,"offset":570335,"length":173,"previous":"M21-GAP-00025","next":"M21-GAP-00027"},"M21-GAP-00027":{"line":3282,"offset":570508,"length":176,"previous":"M21-GAP-00026","next":"M21-GAP-00028"},"M21-GAP-00028":{"line":3283,"offset":570684,"length":165,"previous":"M21-GAP-00027","next":"M21-GAP-00029"},"M21-GAP-00029":{"line":3284,"offset":570849,"length":166,"previous":"M21-GAP-00028","next":"M21-GAP-00030"},"M21-GAP-00030":{"line":3285,"offset":571015,"length":167,"previous":"M21-GAP-00029","next":"M21-GAP-00031"},"M21-GAP-00031":{"line":3286,"offset":571182,"length":177,"previous":"M21-GAP-00030","next":"M21-GAP-00032"},"M21-GAP-00032":{"line":3287,"offset":571359,"length":165,"previous":"M21-GAP-00031","next":"M21-GAP-00033"},"M21-GAP-00033":{"line":3288,"offset":571524,"length":166,"previous":"M21-GAP-00032","next":"M21-GAP-00034"},"M21-GAP-00034":{"line":3289,"offset":571690,"length":166,"previous":"M21-GAP-00033","next":"M21-GAP-00035"},"M21-GAP-00035":{"line":3290,"offset":571856,"length":167,"previous":"M21-GAP-00034","next":"M21-GAP-00036"},"M21-GAP-00036":{"line":3291,"offset":572023,"length":170,"previous":"M21-GAP-00035","next":"M21-GAP-00037"},"M21-GAP-00037":{"line":3292,"offset":572193,"length":170,"previous":"M21-GAP-00036","next":"M21-GAP-00038"},"M21-GAP-00038":{"line":3293,"offset":572363,"length":178,"previous":"M21-GAP-00037","next":"M21-GAP-00039"},"M21-GAP-00039":{"line":3294,"offset":572541,"length":178,"previous":"M21-GAP-00038","next":"M21-GAP-00040"},"M21-GAP-00040":{"line":3295,"offset":572719,"length":176,"previous":"M21-GAP-00039","next":"M21-GAP-00041"},"M21-GAP-00041":{"line":3296,"offset":572895,"length":166,"previous":"M21-GAP-00040","next":"M21-GAP-00042"},"M21-GAP-00042":{"line":3297,"offset":573061,"length":174,"previous":"M21-GAP-00041","next":"M21-GAP-00043"},"M21-GAP-00043":{"line":3298,"offset":573235,"length":169,"previous":"M21-GAP-00042","next":"M21-GAP-00044"},"M21-GAP-00044":{"line":3299,"offset":573404,"length":163,"previous":"M21-GAP-00043","next":"M21-GAP-00045"},"M21-GAP-00045":{"line":3300,"offset":573567,"length":177,"previous":"M21-GAP-00044","next":"M21-GAP-00046"},"M21-GAP-00046":{"line":3301,"offset":573744,"length":177,"previous":"M21-GAP-00045","next":"M21-GAP-00047"},"M21-GAP-00047":{"line":3302,"offset":573921,"length":163,"previous":"M21-GAP-00046","next":"M21-GAP-00048"},"M21-GAP-00048":{"line":3303,"offset":574084,"length":163,"previous":"M21-GAP-00047","next":"M21-GAP-00049"},"M21-GAP-00049":{"line":3304,"offset":574247,"length":163,"previous":"M21-GAP-00048","next":"M21-GAP-00050"},"M21-GAP-00050":{"line":3305,"offset":574410,"length":163,"previous":"M21-GAP-00049","next":"M21-GAP-00051"},"M21-GAP-00051":{"line":3306,"offset":574573,"length":163,"previous":"M21-GAP-00050","next":"M21-GAP-00052"},"M21-GAP-00052":{"line":3307,"offset":574736,"length":163,"previous":"M21-GAP-00051","next":"M21-GAP-00053"},"M21-GAP-00053":{"line":3308,"offset":574899,"length":184,"previous":"M21-GAP-00052","next":"M21-GAP-00054"},"M21-GAP-00054":{"line":3309,"offset":575083,"length":184,"previous":"M21-GAP-00053","next":"M21-GAP-00055"},"M21-GAP-00055":{"line":3310,"offset":575267,"length":187,"previous":"M21-GAP-00054","next":"M21-GAP-00056"},"M21-GAP-00056":{"line":3311,"offset":575454,"length":194,"previous":"M21-GAP-00055","next":"M21-GAP-00057"},"M21-GAP-00057":{"line":3312,"offset":575648,"length":189,"previous":"M21-GAP-00056","next":"M21-GAP-00058"},"M21-GAP-00058":{"line":3313,"offset":575837,"length":189,"previous":"M21-GAP-00057","next":"M21-GAP-00059"},"M21-GAP-00059":{"line":3314,"offset":576026,"length":209,"previous":"M21-GAP-00058","next":"M21-GAP-00060"},"M21-GAP-00060":{"line":3315,"offset":576235,"length":211,"previous":"M21-GAP-00059","next":"M21-GAP-00061"},"M21-GAP-00061":{"line":3316,"offset":576446,"length":215,"previous":"M21-GAP-00060","next":"M21-GAP-00062"},"M21-GAP-00062":{"line":3317,"offset":576661,"length":205,"previous":"M21-GAP-00061","next":"M21-GAP-00063"},"M21-GAP-00063":{"line":3318,"offset":576866,"length":202,"previous":"M21-GAP-00062","next":"M21-GAP-00064"},"M21-GAP-00064":{"line":3319,"offset":577068,"length":204,"previous":"M21-GAP-00063","next":"M21-GAP-00065"},"M21-GAP-00065":{"line":3320,"offset":577272,"length":204,"previous":"M21-GAP-00064","next":"M21-GAP-00066"},"M21-GAP-00066":{"line":3321,"offset":577476,"length":204,"previous":"M21-GAP-00065","next":"M21-GAP-00067"},"M21-GAP-00067":{"line":3322,"offset":577680,"length":199,"previous":"M21-GAP-00066","next":"M21-GAP-00068"},"M21-GAP-00068":{"line":3323,"offset":577879,"length":212,"previous":"M21-GAP-00067","next":"M21-GAP-00069"},"M21-GAP-00069":{"line":3324,"offset":578091,"length":202,"previous":"M21-GAP-00068","next":"M21-GAP-00070"},"M21-GAP-00070":{"line":3325,"offset":578293,"length":201,"previous":"M21-GAP-00069","next":"M21-GAP-00071"},"M21-GAP-00071":{"line":3326,"offset":578494,"length":204,"previous":"M21-GAP-00070","next":"M21-GAP-00072"},"M21-GAP-00072":{"line":3327,"offset":578698,"length":199,"previous":"M21-GAP-00071","next":"M21-GAP-00073"},"M21-GAP-00073":{"line":3328,"offset":578897,"length":200,"previous":"M21-GAP-00072","next":"M21-GAP-00074"},"M21-GAP-00074":{"line":3329,"offset":579097,"length":199,"previous":"M21-GAP-00073","next":"M21-GAP-00075"},"M21-GAP-00075":{"line":3330,"offset":579296,"length":199,"previous":"M21-GAP-00074","next":"M21-GAP-00076"},"M21-GAP-00076":{"line":3331,"offset":579495,"length":199,"previous":"M21-GAP-00075","next":"M21-GAP-00077"},"M21-GAP-00077":{"line":3332,"offset":579694,"length":199,"previous":"M21-GAP-00076","next":"M21-GAP-00078"},"M21-GAP-00078":{"line":3333,"offset":579893,"length":211,"previous":"M21-GAP-00077","next":"M21-GAP-00079"},"M21-GAP-00079":{"line":3334,"offset":580104,"length":214,"previous":"M21-GAP-00078","next":"M21-GAP-00080"},"M21-GAP-00080":{"line":3335,"offset":580318,"length":206,"previous":"M21-GAP-00079","next":"M21-GAP-00081"},"M21-GAP-00081":{"line":3336,"offset":580524,"length":206,"previous":"M21-GAP-00080","next":"M21-GAP-00082"},"M21-GAP-00082":{"line":3337,"offset":580730,"length":206,"previous":"M21-GAP-00081","next":"M21-GAP-00083"},"M21-GAP-00083":{"line":3338,"offset":580936,"length":206,"previous":"M21-GAP-00082","next":"M21-GAP-00084"},"M21-GAP-00084":{"line":3339,"offset":581142,"length":199,"previous":"M21-GAP-00083","next":"M21-GAP-00085"},"M21-GAP-00085":{"line":3340,"offset":581341,"length":200,"previous":"M21-GAP-00084","next":"M21-GAP-00086"},"M21-GAP-00086":{"line":3341,"offset":581541,"length":204,"previous":"M21-GAP-00085","next":"M21-GAP-00087"},"M21-GAP-00087":{"line":3342,"offset":581745,"length":215,"previous":"M21-GAP-00086","next":"M21-GAP-00088"},"M21-GAP-00088":{"line":3343,"offset":581960,"length":212,"previous":"M21-GAP-00087","next":"M21-GAP-00089"},"M21-GAP-00089":{"line":3344,"offset":582172,"length":210,"previous":"M21-GAP-00088","next":"M21-GAP-00090"},"M21-GAP-00090":{"line":3345,"offset":582382,"length":208,"previous":"M21-GAP-00089","next":"M21-GAP-00091"},"M21-GAP-00091":{"line":3346,"offset":582590,"length":211,"previous":"M21-GAP-00090","next":"M21-GAP-00092"},"M21-GAP-00092":{"line":3347,"offset":582801,"length":205,"previous":"M21-GAP-00091","next":"M21-GAP-00093"},"M21-GAP-00093":{"line":3348,"offset":583006,"length":199,"previous":"M21-GAP-00092","next":"M21-GAP-00094"},"M21-GAP-00094":{"line":3349,"offset":583205,"length":202,"previous":"M21-GAP-00093","next":"M21-GAP-00095"},"M21-GAP-00095":{"line":3350,"offset":583407,"length":214,"previous":"M21-GAP-00094","next":"M21-GAP-00096"},"M21-GAP-00096":{"line":3351,"offset":583621,"length":204,"previous":"M21-GAP-00095","next":"M21-GAP-00097"},"M21-GAP-00097":{"line":3352,"offset":583825,"length":204,"previous":"M21-GAP-00096","next":"M21-GAP-00098"},"M21-GAP-00098":{"line":3353,"offset":584029,"length":204,"previous":"M21-GAP-00097","next":"M21-GAP-00099"},"M21-GAP-00099":{"line":3354,"offset":584233,"length":203,"previous":"M21-GAP-00098","next":"M21-GAP-00100"},"M21-GAP-00100":{"line":3355,"offset":584436,"length":203,"previous":"M21-GAP-00099","next":"M21-GAP-00101"},"M21-GAP-00101":{"line":3356,"offset":584639,"length":202,"previous":"M21-GAP-00100","next":"M21-GAP-00102"},"M21-GAP-00102":{"line":3357,"offset":584841,"length":204,"previous":"M21-GAP-00101","next":"M21-GAP-00103"},"M21-GAP-00103":{"line":3358,"offset":585045,"length":207,"previous":"M21-GAP-00102","next":"M21-GAP-00104"},"M21-GAP-00104":{"line":3359,"offset":585252,"length":200,"previous":"M21-GAP-00103","next":"M21-GAP-00105"},"M21-GAP-00105":{"line":3360,"offset":585452,"length":209,"previous":"M21-GAP-00104","next":"M21-GAP-00106"},"M21-GAP-00106":{"line":3361,"offset":585661,"length":198,"previous":"M21-GAP-00105","next":"M21-GAP-00107"},"M21-GAP-00107":{"line":3362,"offset":585859,"length":203,"previous":"M21-GAP-00106","next":"M21-GAP-00108"},"M21-GAP-00108":{"line":3363,"offset":586062,"length":206,"previous":"M21-GAP-00107","next":"M21-GAP-00109"},"M21-GAP-00109":{"line":3364,"offset":586268,"length":205,"previous":"M21-GAP-00108","next":"M21-GAP-00110"},"M21-GAP-00110":{"line":3365,"offset":586473,"length":205,"previous":"M21-GAP-00109","next":"M21-GAP-00111"},"M21-GAP-00111":{"line":3366,"offset":586678,"length":190,"previous":"M21-GAP-00110","next":"M21-GAP-00112"},"M21-GAP-00112":{"line":3367,"offset":586868,"length":190,"previous":"M21-GAP-00111","next":"M21-GAP-00113"},"M21-GAP-00113":{"line":3368,"offset":587058,"length":190,"previous":"M21-GAP-00112","next":"M21-GAP-00114"},"M21-GAP-00114":{"line":3369,"offset":587248,"length":187,"previous":"M21-GAP-00113","next":"M21-GAP-00115"},"M21-GAP-00115":{"line":3370,"offset":587435,"length":204,"previous":"M21-GAP-00114","next":"M21-GAP-00116"},"M21-GAP-00116":{"line":3371,"offset":587639,"length":207,"previous":"M21-GAP-00115","next":"M21-GAP-00117"},"M21-GAP-00117":{"line":3372,"offset":587846,"length":207,"previous":"M21-GAP-00116","next":"M21-GAP-00118"},"M21-GAP-00118":{"line":3373,"offset":588053,"length":207,"previous":"M21-GAP-00117","next":"M21-GAP-00119"},"M21-GAP-00119":{"line":3374,"offset":588260,"length":207,"previous":"M21-GAP-00118","next":"M21-GAP-00120"},"M21-GAP-00120":{"line":3375,"offset":588467,"length":207,"previous":"M21-GAP-00119","next":"M21-GAP-00121"},"M21-GAP-00121":{"line":3376,"offset":588674,"length":207,"previous":"M21-GAP-00120","next":"M21-GAP-00122"},"M21-GAP-00122":{"line":3377,"offset":588881,"length":210,"previous":"M21-GAP-00121","next":"M21-GAP-00123"},"M21-GAP-00123":{"line":3378,"offset":589091,"length":210,"previous":"M21-GAP-00122","next":"M21-GAP-00124"},"M21-GAP-00124":{"line":3379,"offset":589301,"length":210,"previous":"M21-GAP-00123","next":"M21-GAP-00125"},"M21-GAP-00125":{"line":3380,"offset":589511,"length":209,"previous":"M21-GAP-00124","next":"M21-GAP-00126"},"M21-GAP-00126":{"line":3381,"offset":589720,"length":214,"previous":"M21-GAP-00125","next":"M21-GAP-00127"},"M21-GAP-00127":{"line":3382,"offset":589934,"length":214,"previous":"M21-GAP-00126","next":"M21-GAP-00128"},"M21-GAP-00128":{"line":3383,"offset":590148,"length":214,"previous":"M21-GAP-00127","next":"M21-GAP-00129"},"M21-GAP-00129":{"line":3384,"offset":590362,"length":214,"previous":"M21-GAP-00128","next":"M21-GAP-00130"},"M21-GAP-00130":{"line":3385,"offset":590576,"length":215,"previous":"M21-GAP-00129","next":"M21-GAP-00131"},"M21-GAP-00131":{"line":3386,"offset":590791,"length":208,"previous":"M21-GAP-00130","next":"M21-GAP-00132"},"M21-GAP-00132":{"line":3387,"offset":590999,"length":208,"previous":"M21-GAP-00131","next":"M21-GAP-00133"},"M21-GAP-00133":{"line":3388,"offset":591207,"length":208,"previous":"M21-GAP-00132","next":"M21-GAP-00134"},"M21-GAP-00134":{"line":3389,"offset":591415,"length":212,"previous":"M21-GAP-00133","next":"M21-GAP-00135"},"M21-GAP-00135":{"line":3390,"offset":591627,"length":212,"previous":"M21-GAP-00134","next":"M21-GAP-00136"},"M21-GAP-00136":{"line":3391,"offset":591839,"length":208,"previous":"M21-GAP-00135","next":"M21-GAP-00137"},"M21-GAP-00137":{"line":3392,"offset":592047,"length":205,"previous":"M21-GAP-00136","next":"M21-GAP-00138"},"M21-GAP-00138":{"line":3393,"offset":592252,"length":216,"previous":"M21-GAP-00137","next":"M21-GAP-00139"},"M21-GAP-00139":{"line":3394,"offset":592468,"length":210,"previous":"M21-GAP-00138","next":"M21-GAP-00140"},"M21-GAP-00140":{"line":3395,"offset":592678,"length":210,"previous":"M21-GAP-00139","next":"M21-GAP-00141"},"M21-GAP-00141":{"line":3396,"offset":592888,"length":187,"previous":"M21-GAP-00140","next":"M21-GAP-00142"},"M21-GAP-00142":{"line":3397,"offset":593075,"length":188,"previous":"M21-GAP-00141","next":"M21-GAP-00143"},"M21-GAP-00143":{"line":3398,"offset":593263,"length":189,"previous":"M21-GAP-00142","next":"M21-GAP-00144"},"M21-GAP-00144":{"line":3399,"offset":593452,"length":188,"previous":"M21-GAP-00143","next":"M21-GAP-00145"},"M21-GAP-00145":{"line":3400,"offset":593640,"length":203,"previous":"M21-GAP-00144","next":"M21-GAP-00146"},"M21-GAP-00146":{"line":3401,"offset":593843,"length":199,"previous":"M21-GAP-00145","next":"M21-GAP-00147"},"M21-GAP-00147":{"line":3402,"offset":594042,"length":199,"previous":"M21-GAP-00146","next":"M21-GAP-00148"},"M21-GAP-00148":{"line":3403,"offset":594241,"length":199,"previous":"M21-GAP-00147","next":"M21-GAP-00149"},"M21-GAP-00149":{"line":3404,"offset":594440,"length":199,"previous":"M21-GAP-00148","next":"M21-GAP-00150"},"M21-GAP-00150":{"line":3405,"offset":594639,"length":199,"previous":"M21-GAP-00149","next":"M21-GAP-00151"},"M21-GAP-00151":{"line":3406,"offset":594838,"length":199,"previous":"M21-GAP-00150","next":"M21-GAP-00152"},"M21-GAP-00152":{"line":3407,"offset":595037,"length":203,"previous":"M21-GAP-00151","next":"M21-GAP-00153"},"M21-GAP-00153":{"line":3408,"offset":595240,"length":203,"previous":"M21-GAP-00152","next":"M21-GAP-00154"},"M21-GAP-00154":{"line":3409,"offset":595443,"length":203,"previous":"M21-GAP-00153","next":"M21-GAP-00155"},"M21-GAP-00155":{"line":3410,"offset":595646,"length":204,"previous":"M21-GAP-00154","next":"M21-GAP-00156"},"M21-GAP-00156":{"line":3411,"offset":595850,"length":205,"previous":"M21-GAP-00155","next":"M21-GAP-00157"},"M21-GAP-00157":{"line":3412,"offset":596055,"length":201,"previous":"M21-GAP-00156","next":"M21-GAP-00158"},"M21-GAP-00158":{"line":3413,"offset":596256,"length":201,"previous":"M21-GAP-00157","next":"M21-GAP-00159"},"M21-GAP-00159":{"line":3414,"offset":596457,"length":201,"previous":"M21-GAP-00158","next":"M21-GAP-00160"},"M21-GAP-00160":{"line":3415,"offset":596658,"length":201,"previous":"M21-GAP-00159","next":"M21-GAP-00161"},"M21-GAP-00161":{"line":3416,"offset":596859,"length":201,"previous":"M21-GAP-00160","next":"M21-GAP-00162"},"M21-GAP-00162":{"line":3417,"offset":597060,"length":201,"previous":"M21-GAP-00161","next":"M21-GAP-00163"},"M21-GAP-00163":{"line":3418,"offset":597261,"length":204,"previous":"M21-GAP-00162","next":"M21-GAP-00164"},"M21-GAP-00164":{"line":3419,"offset":597465,"length":200,"previous":"M21-GAP-00163","next":"M21-GAP-00165"},"M21-GAP-00165":{"line":3420,"offset":597665,"length":200,"previous":"M21-GAP-00164","next":"M21-GAP-00166"},"M21-GAP-00166":{"line":3421,"offset":597865,"length":200,"previous":"M21-GAP-00165","next":"M21-GAP-00167"},"M21-GAP-00167":{"line":3422,"offset":598065,"length":200,"previous":"M21-GAP-00166","next":"M21-GAP-00168"},"M21-GAP-00168":{"line":3423,"offset":598265,"length":200,"previous":"M21-GAP-00167","next":"M21-GAP-00169"},"M21-GAP-00169":{"line":3424,"offset":598465,"length":203,"previous":"M21-GAP-00168","next":"M21-GAP-00170"},"M21-GAP-00170":{"line":3425,"offset":598668,"length":200,"previous":"M21-GAP-00169","next":"M21-GAP-00171"},"M21-GAP-00171":{"line":3426,"offset":598868,"length":204,"previous":"M21-GAP-00170","next":"M21-GAP-00172"},"M21-GAP-00172":{"line":3427,"offset":599072,"length":202,"previous":"M21-GAP-00171","next":"M21-GAP-00173"},"M21-GAP-00173":{"line":3428,"offset":599274,"length":208,"previous":"M21-GAP-00172","next":"M21-GAP-00174"},"M21-GAP-00174":{"line":3429,"offset":599482,"length":204,"previous":"M21-GAP-00173","next":"M21-GAP-00175"},"M21-GAP-00175":{"line":3430,"offset":599686,"length":204,"previous":"M21-GAP-00174","next":"M21-GAP-00176"},"M21-GAP-00176":{"line":3431,"offset":599890,"length":204,"previous":"M21-GAP-00175","next":"M21-GAP-00177"},"M21-GAP-00177":{"line":3432,"offset":600094,"length":204,"previous":"M21-GAP-00176","next":"M21-GAP-00178"},"M21-GAP-00178":{"line":3433,"offset":600298,"length":204,"previous":"M21-GAP-00177","next":"M21-GAP-00179"},"M21-GAP-00179":{"line":3434,"offset":600502,"length":204,"previous":"M21-GAP-00178","next":"M21-GAP-00180"},"M21-GAP-00180":{"line":3435,"offset":600706,"length":204,"previous":"M21-GAP-00179","next":"M21-GAP-00181"},"M21-GAP-00181":{"line":3436,"offset":600910,"length":204,"previous":"M21-GAP-00180","next":"M21-GAP-00182"},"M21-GAP-00182":{"line":3437,"offset":601114,"length":204,"previous":"M21-GAP-00181","next":"M21-GAP-00183"},"M21-GAP-00183":{"line":3438,"offset":601318,"length":204,"previous":"M21-GAP-00182","next":"M21-GAP-00184"},"M21-GAP-00184":{"line":3439,"offset":601522,"length":204,"previous":"M21-GAP-00183","next":"M21-GAP-00185"},"M21-GAP-00185":{"line":3440,"offset":601726,"length":204,"previous":"M21-GAP-00184","next":"M21-GAP-00186"},"M21-GAP-00186":{"line":3441,"offset":601930,"length":204,"previous":"M21-GAP-00185","next":"M21-GAP-00187"},"M21-GAP-00187":{"line":3442,"offset":602134,"length":204,"previous":"M21-GAP-00186","next":"M21-GAP-00188"},"M21-GAP-00188":{"line":3443,"offset":602338,"length":204,"previous":"M21-GAP-00187","next":"M21-GAP-00189"},"M21-GAP-00189":{"line":3444,"offset":602542,"length":193,"previous":"M21-GAP-00188","next":"M21-GAP-00190"},"M21-GAP-00190":{"line":3445,"offset":602735,"length":193,"previous":"M21-GAP-00189","next":"M21-GAP-00191"},"M21-GAP-00191":{"line":3446,"offset":602928,"length":193,"previous":"M21-GAP-00190","next":"M21-GAP-00192"},"M21-GAP-00192":{"line":3447,"offset":603121,"length":193,"previous":"M21-GAP-00191","next":"M21-GAP-00193"},"M21-GAP-00193":{"line":3448,"offset":603314,"length":193,"previous":"M21-GAP-00192","next":"M21-GAP-00194"},"M21-GAP-00194":{"line":3449,"offset":603507,"length":193,"previous":"M21-GAP-00193","next":"M21-GAP-00195"},"M21-GAP-00195":{"line":3450,"offset":603700,"length":193,"previous":"M21-GAP-00194","next":"M21-GAP-00196"},"M21-GAP-00196":{"line":3451,"offset":603893,"length":193,"previous":"M21-GAP-00195","next":"M21-GAP-00197"},"M21-GAP-00197":{"line":3452,"offset":604086,"length":193,"previous":"M21-GAP-00196","next":"M21-GAP-00198"},"M21-GAP-00198":{"line":3453,"offset":604279,"length":193,"previous":"M21-GAP-00197","next":"M21-GAP-00199"},"M21-GAP-00199":{"line":3454,"offset":604472,"length":207,"previous":"M21-GAP-00198","next":"M21-GAP-00200"},"M21-GAP-00200":{"line":3455,"offset":604679,"length":207,"previous":"M21-GAP-00199","next":"M21-GAP-00201"},"M21-GAP-00201":{"line":3456,"offset":604886,"length":207,"previous":"M21-GAP-00200","next":"M21-GAP-00202"},"M21-GAP-00202":{"line":3457,"offset":605093,"length":207,"previous":"M21-GAP-00201","next":"M21-GAP-00203"},"M21-GAP-00203":{"line":3458,"offset":605300,"length":207,"previous":"M21-GAP-00202","next":"M21-GAP-00204"},"M21-GAP-00204":{"line":3459,"offset":605507,"length":207,"previous":"M21-GAP-00203","next":"M21-GAP-00205"},"M21-GAP-00205":{"line":3460,"offset":605714,"length":207,"previous":"M21-GAP-00204","next":"M21-GAP-00206"},"M21-GAP-00206":{"line":3461,"offset":605921,"length":207,"previous":"M21-GAP-00205","next":"M21-GAP-00207"},"M21-GAP-00207":{"line":3462,"offset":606128,"length":207,"previous":"M21-GAP-00206","next":"M21-GAP-00208"},"M21-GAP-00208":{"line":3463,"offset":606335,"length":196,"previous":"M21-GAP-00207","next":"M21-GAP-00209"},"M21-GAP-00209":{"line":3464,"offset":606531,"length":196,"previous":"M21-GAP-00208","next":"M21-GAP-00210"},"M21-GAP-00210":{"line":3465,"offset":606727,"length":196,"previous":"M21-GAP-00209","next":"M21-GAP-00211"},"M21-GAP-00211":{"line":3466,"offset":606923,"length":196,"previous":"M21-GAP-00210","next":"M21-GAP-00212"},"M21-GAP-00212":{"line":3467,"offset":607119,"length":196,"previous":"M21-GAP-00211","next":"M21-GAP-00213"},"M21-GAP-00213":{"line":3468,"offset":607315,"length":196,"previous":"M21-GAP-00212","next":"M21-GAP-00214"},"M21-GAP-00214":{"line":3469,"offset":607511,"length":196,"previous":"M21-GAP-00213","next":"M21-GAP-00215"},"M21-GAP-00215":{"line":3470,"offset":607707,"length":196,"previous":"M21-GAP-00214","next":"M21-GAP-00216"},"M21-GAP-00216":{"line":3471,"offset":607903,"length":196,"previous":"M21-GAP-00215","next":"M21-GAP-00217"},"M21-GAP-00217":{"line":3472,"offset":608099,"length":206,"previous":"M21-GAP-00216","next":"M21-GAP-00218"},"M21-GAP-00218":{"line":3473,"offset":608305,"length":206,"previous":"M21-GAP-00217","next":"M21-GAP-00219"},"M21-GAP-00219":{"line":3474,"offset":608511,"length":206,"previous":"M21-GAP-00218","next":"M21-GAP-00220"},"M21-GAP-00220":{"line":3475,"offset":608717,"length":206,"previous":"M21-GAP-00219","next":"M21-GAP-00221"},"M21-GAP-00221":{"line":3476,"offset":608923,"length":206,"previous":"M21-GAP-00220","next":"M21-GAP-00222"},"M21-GAP-00222":{"line":3477,"offset":609129,"length":206,"previous":"M21-GAP-00221","next":"M21-GAP-00223"},"M21-GAP-00223":{"line":3478,"offset":609335,"length":206,"previous":"M21-GAP-00222","next":"M21-GAP-00224"},"M21-GAP-00224":{"line":3479,"offset":609541,"length":206,"previous":"M21-GAP-00223","next":"M21-GAP-00225"},"M21-GAP-00225":{"line":3480,"offset":609747,"length":206,"previous":"M21-GAP-00224","next":"M21-GAP-00226"},"M21-GAP-00226":{"line":3481,"offset":609953,"length":206,"previous":"M21-GAP-00225","next":"M21-GAP-00227"},"M21-GAP-00227":{"line":3482,"offset":610159,"length":195,"previous":"M21-GAP-00226","next":"M21-GAP-00228"},"M21-GAP-00228":{"line":3483,"offset":610354,"length":195,"previous":"M21-GAP-00227","next":"M21-GAP-00229"},"M21-GAP-00229":{"line":3484,"offset":610549,"length":195,"previous":"M21-GAP-00228","next":"M21-GAP-00230"},"M21-GAP-00230":{"line":3485,"offset":610744,"length":195,"previous":"M21-GAP-00229","next":"M21-GAP-00231"},"M21-GAP-00231":{"line":3486,"offset":610939,"length":195,"previous":"M21-GAP-00230","next":"M21-GAP-00232"},"M21-GAP-00232":{"line":3487,"offset":611134,"length":195,"previous":"M21-GAP-00231","next":"M21-GAP-00233"},"M21-GAP-00233":{"line":3488,"offset":611329,"length":195,"previous":"M21-GAP-00232","next":"M21-GAP-00234"},"M21-GAP-00234":{"line":3489,"offset":611524,"length":195,"previous":"M21-GAP-00233","next":"M21-GAP-00235"},"M21-GAP-00235":{"line":3490,"offset":611719,"length":195,"previous":"M21-GAP-00234","next":"M21-GAP-00236"},"M21-GAP-00236":{"line":3491,"offset":611914,"length":195,"previous":"M21-GAP-00235","next":"M21-GAP-00237"},"M21-GAP-00237":{"line":3492,"offset":612109,"length":188,"previous":"M21-GAP-00236","next":"M21-GAP-00238"},"M21-GAP-00238":{"line":3493,"offset":612297,"length":188,"previous":"M21-GAP-00237","next":"M21-GAP-00239"},"M21-GAP-00239":{"line":3494,"offset":612485,"length":188,"previous":"M21-GAP-00238","next":"M21-GAP-00240"},"M21-GAP-00240":{"line":3495,"offset":612673,"length":192,"previous":"M21-GAP-00239","next":"M21-GAP-00241"},"M21-GAP-00241":{"line":3496,"offset":612865,"length":199,"previous":"M21-GAP-00240","next":"M21-GAP-00242"},"M21-GAP-00242":{"line":3497,"offset":613064,"length":199,"previous":"M21-GAP-00241","next":"M21-GAP-00243"},"M21-GAP-00243":{"line":3498,"offset":613263,"length":199,"previous":"M21-GAP-00242","next":"M21-GAP-00244"},"M21-GAP-00244":{"line":3499,"offset":613462,"length":199,"previous":"M21-GAP-00243","next":"M21-GAP-00245"},"M21-GAP-00245":{"line":3500,"offset":613661,"length":199,"previous":"M21-GAP-00244","next":"M21-GAP-00246"},"M21-GAP-00246":{"line":3501,"offset":613860,"length":199,"previous":"M21-GAP-00245","next":"M21-GAP-00247"},"M21-GAP-00247":{"line":3502,"offset":614059,"length":199,"previous":"M21-GAP-00246","next":"M21-GAP-00248"},"M21-GAP-00248":{"line":3503,"offset":614258,"length":199,"previous":"M21-GAP-00247","next":"M21-GAP-00249"},"M21-GAP-00249":{"line":3504,"offset":614457,"length":199,"previous":"M21-GAP-00248","next":"M21-GAP-00250"},"M21-GAP-00250":{"line":3505,"offset":614656,"length":188,"previous":"M21-GAP-00249","next":"M21-GAP-00251"},"M21-GAP-00251":{"line":3506,"offset":614844,"length":188,"previous":"M21-GAP-00250","next":"M21-GAP-00252"},"M21-GAP-00252":{"line":3507,"offset":615032,"length":188,"previous":"M21-GAP-00251","next":"M21-GAP-00253"},"M21-GAP-00253":{"line":3508,"offset":615220,"length":188,"previous":"M21-GAP-00252","next":"M21-GAP-00254"},"M21-GAP-00254":{"line":3509,"offset":615408,"length":188,"previous":"M21-GAP-00253","next":"M21-GAP-00255"},"M21-GAP-00255":{"line":3510,"offset":615596,"length":188,"previous":"M21-GAP-00254","next":"M21-GAP-00256"},"M21-GAP-00256":{"line":3511,"offset":615784,"length":188,"previous":"M21-GAP-00255","next":"M21-GAP-00257"},"M21-GAP-00257":{"line":3512,"offset":615972,"length":188,"previous":"M21-GAP-00256","next":"M21-GAP-00258"},"M21-GAP-00258":{"line":3513,"offset":616160,"length":188,"previous":"M21-GAP-00257","next":"M21-GAP-00259"},"M21-GAP-00259":{"line":3514,"offset":616348,"length":176,"previous":"M21-GAP-00258","next":"M21-GAP-00260"},"M21-GAP-00260":{"line":3515,"offset":616524,"length":176,"previous":"M21-GAP-00259","next":"M21-GAP-00261"},"M21-GAP-00261":{"line":3516,"offset":616700,"length":177,"previous":"M21-GAP-00260","next":"M21-GAP-00262"},"M21-GAP-00262":{"line":3517,"offset":616877,"length":178,"previous":"M21-GAP-00261","next":"M21-GAP-00263"},"M21-GAP-00263":{"line":3518,"offset":617055,"length":178,"previous":"M21-GAP-00262","next":"M21-GAP-00264"},"M21-GAP-00264":{"line":3519,"offset":617233,"length":178,"previous":"M21-GAP-00263","next":"M21-GAP-00265"},"M21-GAP-00265":{"line":3520,"offset":617411,"length":178,"previous":"M21-GAP-00264","next":"M21-GAP-00266"},"M21-GAP-00266":{"line":3521,"offset":617589,"length":178,"previous":"M21-GAP-00265","next":"M21-GAP-00267"},"M21-GAP-00267":{"line":3522,"offset":617767,"length":178,"previous":"M21-GAP-00266","next":"M21-GAP-00268"},"M21-GAP-00268":{"line":3523,"offset":617945,"length":178,"previous":"M21-GAP-00267","next":"M21-GAP-00269"},"M21-GAP-00269":{"line":3524,"offset":618123,"length":178,"previous":"M21-GAP-00268","next":"M21-GAP-00270"},"M21-GAP-00270":{"line":3525,"offset":618301,"length":178,"previous":"M21-GAP-00269","next":"M21-GAP-00271"},"M21-GAP-00271":{"line":3526,"offset":618479,"length":178,"previous":"M21-GAP-00270","next":"M21-GAP-00272"},"M21-GAP-00272":{"line":3527,"offset":618657,"length":177,"previous":"M21-GAP-00271","next":"M21-GAP-00273"},"M21-GAP-00273":{"line":3528,"offset":618834,"length":178,"previous":"M21-GAP-00272","next":"M21-GAP-00274"},"M21-GAP-00274":{"line":3529,"offset":619012,"length":178,"previous":"M21-GAP-00273","next":"M21-GAP-00275"},"M21-GAP-00275":{"line":3530,"offset":619190,"length":178,"previous":"M21-GAP-00274","next":"M21-GAP-00276"},"M21-GAP-00276":{"line":3531,"offset":619368,"length":178,"previous":"M21-GAP-00275","next":"M21-GAP-00277"},"M21-GAP-00277":{"line":3532,"offset":619546,"length":178,"previous":"M21-GAP-00276","next":"M21-GAP-00278"},"M21-GAP-00278":{"line":3533,"offset":619724,"length":178,"previous":"M21-GAP-00277","next":"M21-GAP-00279"},"M21-GAP-00279":{"line":3534,"offset":619902,"length":177,"previous":"M21-GAP-00278","next":"M21-GAP-00280"},"M21-GAP-00280":{"line":3535,"offset":620079,"length":177,"previous":"M21-GAP-00279","next":"M21-GAP-00281"},"M21-GAP-00281":{"line":3536,"offset":620256,"length":177,"previous":"M21-GAP-00280","next":"M21-GAP-00282"},"M21-GAP-00282":{"line":3537,"offset":620433,"length":177,"previous":"M21-GAP-00281","next":"M21-GAP-00283"},"M21-GAP-00283":{"line":3538,"offset":620610,"length":177,"previous":"M21-GAP-00282","next":"M21-GAP-00284"},"M21-GAP-00284":{"line":3539,"offset":620787,"length":177,"previous":"M21-GAP-00283","next":"M21-GAP-00285"},"M21-GAP-00285":{"line":3540,"offset":620964,"length":177,"previous":"M21-GAP-00284","next":"M21-GAP-00286"},"M21-GAP-00286":{"line":3541,"offset":621141,"length":177,"previous":"M21-GAP-00285","next":"M21-GAP-00287"},"M21-GAP-00287":{"line":3542,"offset":621318,"length":176,"previous":"M21-GAP-00286","next":"M21-GAP-00288"},"M21-GAP-00288":{"line":3543,"offset":621494,"length":177,"previous":"M21-GAP-00287","next":"M21-GAP-00289"},"M21-GAP-00289":{"line":3544,"offset":621671,"length":177,"previous":"M21-GAP-00288","next":"M21-GAP-00290"},"M21-GAP-00290":{"line":3545,"offset":621848,"length":177,"previous":"M21-GAP-00289","next":"M21-GAP-00291"},"M21-GAP-00291":{"line":3546,"offset":622025,"length":177,"previous":"M21-GAP-00290","next":"M21-GAP-00292"},"M21-GAP-00292":{"line":3547,"offset":622202,"length":177,"previous":"M21-GAP-00291","next":"M21-GAP-00293"},"M21-GAP-00293":{"line":3548,"offset":622379,"length":177,"previous":"M21-GAP-00292","next":"M21-GAP-00294"},"M21-GAP-00294":{"line":3549,"offset":622556,"length":177,"previous":"M21-GAP-00293","next":"M21-GAP-00295"},"M21-GAP-00295":{"line":3550,"offset":622733,"length":177,"previous":"M21-GAP-00294","next":"M21-GAP-00296"},"M21-GAP-00296":{"line":3551,"offset":622910,"length":177,"previous":"M21-GAP-00295","next":"M21-GAP-00297"},"M21-GAP-00297":{"line":3552,"offset":623087,"length":177,"previous":"M21-GAP-00296","next":"M21-GAP-00298"},"M21-GAP-00298":{"line":3553,"offset":623264,"length":176,"previous":"M21-GAP-00297","next":"M21-GAP-00299"},"M21-GAP-00299":{"line":3554,"offset":623440,"length":177,"previous":"M21-GAP-00298","next":"M21-GAP-00300"},"M21-GAP-00300":{"line":3555,"offset":623617,"length":177,"previous":"M21-GAP-00299","next":"M21-GAP-00301"},"M21-GAP-00301":{"line":3556,"offset":623794,"length":177,"previous":"M21-GAP-00300","next":"M21-GAP-00302"},"M21-GAP-00302":{"line":3557,"offset":623971,"length":177,"previous":"M21-GAP-00301","next":"M21-GAP-00303"},"M21-GAP-00303":{"line":3558,"offset":624148,"length":177,"previous":"M21-GAP-00302","next":"M21-GAP-00304"},"M21-GAP-00304":{"line":3559,"offset":624325,"length":177,"previous":"M21-GAP-00303","next":"M21-GAP-00305"},"M21-GAP-00305":{"line":3560,"offset":624502,"length":177,"previous":"M21-GAP-00304","next":"M21-GAP-00306"},"M21-GAP-00306":{"line":3561,"offset":624679,"length":177,"previous":"M21-GAP-00305","next":"M21-GAP-00307"},"M21-GAP-00307":{"line":3562,"offset":624856,"length":177,"previous":"M21-GAP-00306","next":"M21-GAP-00308"},"M21-GAP-00308":{"line":3563,"offset":625033,"length":177,"previous":"M21-GAP-00307","next":"M21-GAP-00309"},"M21-GAP-00309":{"line":3564,"offset":625210,"length":176,"previous":"M21-GAP-00308","next":"M21-GAP-00310"},"M21-GAP-00310":{"line":3565,"offset":625386,"length":177,"previous":"M21-GAP-00309","next":"M21-GAP-00311"},"M21-GAP-00311":{"line":3566,"offset":625563,"length":177,"previous":"M21-GAP-00310","next":"M21-GAP-00312"},"M21-GAP-00312":{"line":3567,"offset":625740,"length":177,"previous":"M21-GAP-00311","next":"M21-GAP-00313"},"M21-GAP-00313":{"line":3568,"offset":625917,"length":177,"previous":"M21-GAP-00312","next":"M21-GAP-00314"},"M21-GAP-00314":{"line":3569,"offset":626094,"length":177,"previous":"M21-GAP-00313","next":"M21-GAP-00315"},"M21-GAP-00315":{"line":3570,"offset":626271,"length":177,"previous":"M21-GAP-00314","next":"M21-GAP-00316"},"M21-GAP-00316":{"line":3571,"offset":626448,"length":177,"previous":"M21-GAP-00315","next":"M21-GAP-00317"},"M21-GAP-00317":{"line":3572,"offset":626625,"length":177,"previous":"M21-GAP-00316","next":"M21-GAP-00318"},"M21-GAP-00318":{"line":3573,"offset":626802,"length":177,"previous":"M21-GAP-00317","next":"M21-GAP-00319"},"M21-GAP-00319":{"line":3574,"offset":626979,"length":177,"previous":"M21-GAP-00318","next":"M21-GAP-00320"},"M21-GAP-00320":{"line":3575,"offset":627156,"length":176,"previous":"M21-GAP-00319","next":"M21-GAP-00321"},"M21-GAP-00321":{"line":3576,"offset":627332,"length":177,"previous":"M21-GAP-00320","next":"M21-GAP-00322"},"M21-GAP-00322":{"line":3577,"offset":627509,"length":177,"previous":"M21-GAP-00321","next":"M21-GAP-00323"},"M21-GAP-00323":{"line":3578,"offset":627686,"length":177,"previous":"M21-GAP-00322","next":"M21-GAP-00324"},"M21-GAP-00324":{"line":3579,"offset":627863,"length":177,"previous":"M21-GAP-00323","next":"M21-GAP-00325"},"M21-GAP-00325":{"line":3580,"offset":628040,"length":177,"previous":"M21-GAP-00324","next":"M21-GAP-00326"},"M21-GAP-00326":{"line":3581,"offset":628217,"length":177,"previous":"M21-GAP-00325","next":"M21-GAP-00327"},"M21-GAP-00327":{"line":3582,"offset":628394,"length":177,"previous":"M21-GAP-00326","next":"M21-GAP-00328"},"M21-GAP-00328":{"line":3583,"offset":628571,"length":177,"previous":"M21-GAP-00327","next":"M21-GAP-00329"},"M21-GAP-00329":{"line":3584,"offset":628748,"length":177,"previous":"M21-GAP-00328","next":"M21-GAP-00330"},"M21-GAP-00330":{"line":3585,"offset":628925,"length":177,"previous":"M21-GAP-00329","next":"M21-GAP-00331"},"M21-GAP-00331":{"line":3586,"offset":629102,"length":176,"previous":"M21-GAP-00330","next":"M21-GAP-00332"},"M21-GAP-00332":{"line":3587,"offset":629278,"length":177,"previous":"M21-GAP-00331","next":"M21-GAP-00333"},"M21-GAP-00333":{"line":3588,"offset":629455,"length":177,"previous":"M21-GAP-00332","next":"M21-GAP-00334"},"M21-GAP-00334":{"line":3589,"offset":629632,"length":177,"previous":"M21-GAP-00333","next":"M21-GAP-00335"},"M21-GAP-00335":{"line":3590,"offset":629809,"length":177,"previous":"M21-GAP-00334","next":"M21-GAP-00336"},"M21-GAP-00336":{"line":3591,"offset":629986,"length":177,"previous":"M21-GAP-00335","next":"M21-GAP-00337"},"M21-GAP-00337":{"line":3592,"offset":630163,"length":177,"previous":"M21-GAP-00336","next":"M21-GAP-00338"},"M21-GAP-00338":{"line":3593,"offset":630340,"length":177,"previous":"M21-GAP-00337","next":"M21-GAP-00339"},"M21-GAP-00339":{"line":3594,"offset":630517,"length":177,"previous":"M21-GAP-00338","next":"M21-GAP-00340"},"M21-GAP-00340":{"line":3595,"offset":630694,"length":177,"previous":"M21-GAP-00339","next":"M21-GAP-00341"},"M21-GAP-00341":{"line":3596,"offset":630871,"length":177,"previous":"M21-GAP-00340","next":"M21-GAP-00342"},"M21-GAP-00342":{"line":3597,"offset":631048,"length":176,"previous":"M21-GAP-00341","next":"M21-GAP-00343"},"M21-GAP-00343":{"line":3598,"offset":631224,"length":177,"previous":"M21-GAP-00342","next":"M21-GAP-00344"},"M21-GAP-00344":{"line":3599,"offset":631401,"length":177,"previous":"M21-GAP-00343","next":"M21-GAP-00345"},"M21-GAP-00345":{"line":3600,"offset":631578,"length":177,"previous":"M21-GAP-00344","next":"M21-GAP-00346"},"M21-GAP-00346":{"line":3601,"offset":631755,"length":177,"previous":"M21-GAP-00345","next":"M21-GAP-00347"},"M21-GAP-00347":{"line":3602,"offset":631932,"length":177,"previous":"M21-GAP-00346","next":"M21-GAP-00348"},"M21-GAP-00348":{"line":3603,"offset":632109,"length":177,"previous":"M21-GAP-00347","next":"M21-GAP-00349"},"M21-GAP-00349":{"line":3604,"offset":632286,"length":177,"previous":"M21-GAP-00348","next":"M21-GAP-00350"},"M21-GAP-00350":{"line":3605,"offset":632463,"length":177,"previous":"M21-GAP-00349","next":"M21-GAP-00351"},"M21-GAP-00351":{"line":3606,"offset":632640,"length":177,"previous":"M21-GAP-00350","next":"M21-GAP-00352"},"M21-GAP-00352":{"line":3607,"offset":632817,"length":177,"previous":"M21-GAP-00351","next":"M21-GAP-00353"},"M21-GAP-00353":{"line":3608,"offset":632994,"length":176,"previous":"M21-GAP-00352","next":"M21-GAP-00354"},"M21-GAP-00354":{"line":3609,"offset":633170,"length":177,"previous":"M21-GAP-00353","next":"M21-GAP-00355"},"M21-GAP-00355":{"line":3610,"offset":633347,"length":177,"previous":"M21-GAP-00354","next":"M21-GAP-00356"},"M21-GAP-00356":{"line":3611,"offset":633524,"length":177,"previous":"M21-GAP-00355","next":"M21-GAP-00357"},"M21-GAP-00357":{"line":3612,"offset":633701,"length":177,"previous":"M21-GAP-00356","next":"M21-GAP-00358"},"M21-GAP-00358":{"line":3613,"offset":633878,"length":177,"previous":"M21-GAP-00357","next":"M21-GAP-00359"},"M21-GAP-00359":{"line":3614,"offset":634055,"length":177,"previous":"M21-GAP-00358","next":"M21-GAP-00360"},"M21-GAP-00360":{"line":3615,"offset":634232,"length":177,"previous":"M21-GAP-00359","next":"M21-GAP-00361"},"M21-GAP-00361":{"line":3616,"offset":634409,"length":177,"previous":"M21-GAP-00360","next":"M21-GAP-00362"},"M21-GAP-00362":{"line":3617,"offset":634586,"length":177,"previous":"M21-GAP-00361","next":"M21-GAP-00363"},"M21-GAP-00363":{"line":3618,"offset":634763,"length":177,"previous":"M21-GAP-00362","next":"M21-GAP-00364"},"M21-GAP-00364":{"line":3619,"offset":634940,"length":176,"previous":"M21-GAP-00363","next":"M21-GAP-00365"},"M21-GAP-00365":{"line":3620,"offset":635116,"length":177,"previous":"M21-GAP-00364","next":"M21-GAP-00366"},"M21-GAP-00366":{"line":3621,"offset":635293,"length":177,"previous":"M21-GAP-00365","next":"M21-GAP-00367"},"M21-GAP-00367":{"line":3622,"offset":635470,"length":177,"previous":"M21-GAP-00366","next":"M21-GAP-00368"},"M21-GAP-00368":{"line":3623,"offset":635647,"length":177,"previous":"M21-GAP-00367","next":"M21-GAP-00369"},"M21-GAP-00369":{"line":3624,"offset":635824,"length":177,"previous":"M21-GAP-00368","next":"M21-GAP-00370"},"M21-GAP-00370":{"line":3625,"offset":636001,"length":177,"previous":"M21-GAP-00369","next":"M21-GAP-00371"},"M21-GAP-00371":{"line":3626,"offset":636178,"length":177,"previous":"M21-GAP-00370","next":"M21-GAP-00372"},"M21-GAP-00372":{"line":3627,"offset":636355,"length":177,"previous":"M21-GAP-00371","next":"M21-GAP-00373"},"M21-GAP-00373":{"line":3628,"offset":636532,"length":177,"previous":"M21-GAP-00372","next":"M21-GAP-00374"},"M21-GAP-00374":{"line":3629,"offset":636709,"length":177,"previous":"M21-GAP-00373","next":"M21-GAP-00375"},"M21-GAP-00375":{"line":3630,"offset":636886,"length":185,"previous":"M21-GAP-00374","next":"M21-GAP-00376"},"M21-GAP-00376":{"line":3631,"offset":637071,"length":185,"previous":"M21-GAP-00375","next":"M21-GAP-00377"},"M21-GAP-00377":{"line":3632,"offset":637256,"length":186,"previous":"M21-GAP-00376","next":"M21-GAP-00378"},"M21-GAP-00378":{"line":3633,"offset":637442,"length":186,"previous":"M21-GAP-00377","next":"M21-GAP-00379"},"M21-GAP-00379":{"line":3634,"offset":637628,"length":186,"previous":"M21-GAP-00378","next":"M21-GAP-00380"},"M21-GAP-00380":{"line":3635,"offset":637814,"length":186,"previous":"M21-GAP-00379","next":"M21-GAP-00381"},"M21-GAP-00381":{"line":3636,"offset":638000,"length":186,"previous":"M21-GAP-00380","next":"M21-GAP-00382"},"M21-GAP-00382":{"line":3637,"offset":638186,"length":186,"previous":"M21-GAP-00381","next":"M21-GAP-00383"},"M21-GAP-00383":{"line":3638,"offset":638372,"length":186,"previous":"M21-GAP-00382","next":"M21-GAP-00384"},"M21-GAP-00384":{"line":3639,"offset":638558,"length":186,"previous":"M21-GAP-00383","next":"M21-GAP-00385"},"M21-GAP-00385":{"line":3640,"offset":638744,"length":186,"previous":"M21-GAP-00384","next":"M21-GAP-00386"},"M21-GAP-00386":{"line":3641,"offset":638930,"length":186,"previous":"M21-GAP-00385","next":"M21-GAP-00387"},"M21-GAP-00387":{"line":3642,"offset":639116,"length":185,"previous":"M21-GAP-00386","next":"M21-GAP-00388"},"M21-GAP-00388":{"line":3643,"offset":639301,"length":186,"previous":"M21-GAP-00387","next":"M21-GAP-00389"},"M21-GAP-00389":{"line":3644,"offset":639487,"length":186,"previous":"M21-GAP-00388","next":"M21-GAP-00390"},"M21-GAP-00390":{"line":3645,"offset":639673,"length":186,"previous":"M21-GAP-00389","next":"M21-GAP-00391"},"M21-GAP-00391":{"line":3646,"offset":639859,"length":186,"previous":"M21-GAP-00390","next":"M21-GAP-00392"},"M21-GAP-00392":{"line":3647,"offset":640045,"length":186,"previous":"M21-GAP-00391","next":"M21-GAP-00393"},"M21-GAP-00393":{"line":3648,"offset":640231,"length":186,"previous":"M21-GAP-00392","next":"M21-GAP-00394"},"M21-GAP-00394":{"line":3649,"offset":640417,"length":186,"previous":"M21-GAP-00393","next":"M21-GAP-00395"},"M21-GAP-00395":{"line":3650,"offset":640603,"length":186,"previous":"M21-GAP-00394","next":"M21-GAP-00396"},"M21-GAP-00396":{"line":3651,"offset":640789,"length":186,"previous":"M21-GAP-00395","next":"M21-GAP-00397"},"M21-GAP-00397":{"line":3652,"offset":640975,"length":186,"previous":"M21-GAP-00396","next":"M21-GAP-00398"},"M21-GAP-00398":{"line":3653,"offset":641161,"length":185,"previous":"M21-GAP-00397","next":"M21-GAP-00399"},"M21-GAP-00399":{"line":3654,"offset":641346,"length":186,"previous":"M21-GAP-00398","next":"M21-GAP-00400"},"M21-GAP-00400":{"line":3655,"offset":641532,"length":186,"previous":"M21-GAP-00399","next":"M21-GAP-00401"},"M21-GAP-00401":{"line":3656,"offset":641718,"length":186,"previous":"M21-GAP-00400","next":"M21-GAP-00402"},"M21-GAP-00402":{"line":3657,"offset":641904,"length":186,"previous":"M21-GAP-00401","next":"M21-GAP-00403"},"M21-GAP-00403":{"line":3658,"offset":642090,"length":186,"previous":"M21-GAP-00402","next":"M21-GAP-00404"},"M21-GAP-00404":{"line":3659,"offset":642276,"length":186,"previous":"M21-GAP-00403","next":"M21-GAP-00405"},"M21-GAP-00405":{"line":3660,"offset":642462,"length":186,"previous":"M21-GAP-00404","next":"M21-GAP-00406"},"M21-GAP-00406":{"line":3661,"offset":642648,"length":185,"previous":"M21-GAP-00405","next":"M21-GAP-00407"},"M21-GAP-00407":{"line":3662,"offset":642833,"length":185,"previous":"M21-GAP-00406","next":"M21-GAP-00408"},"M21-GAP-00408":{"line":3663,"offset":643018,"length":185,"previous":"M21-GAP-00407","next":"M21-GAP-00409"},"M21-GAP-00409":{"line":3664,"offset":643203,"length":185,"previous":"M21-GAP-00408","next":"M21-GAP-00410"},"M21-GAP-00410":{"line":3665,"offset":643388,"length":185,"previous":"M21-GAP-00409","next":"M21-GAP-00411"},"M21-GAP-00411":{"line":3666,"offset":643573,"length":185,"previous":"M21-GAP-00410","next":"M21-GAP-00412"},"M21-GAP-00412":{"line":3667,"offset":643758,"length":176,"previous":"M21-GAP-00411","next":"M21-GAP-00413"},"M21-GAP-00413":{"line":3668,"offset":643934,"length":176,"previous":"M21-GAP-00412","next":"M21-GAP-00414"},"M21-GAP-00414":{"line":3669,"offset":644110,"length":176,"previous":"M21-GAP-00413","next":"M21-GAP-00415"},"M21-GAP-00415":{"line":3670,"offset":644286,"length":176,"previous":"M21-GAP-00414","next":"M21-GAP-00416"},"M21-GAP-00416":{"line":3671,"offset":644462,"length":176,"previous":"M21-GAP-00415","next":"M21-GAP-00417"},"M21-GAP-00417":{"line":3672,"offset":644638,"length":175,"previous":"M21-GAP-00416","next":"M21-GAP-00418"},"M21-GAP-00418":{"line":3673,"offset":644813,"length":175,"previous":"M21-GAP-00417","next":"M21-GAP-00419"},"M21-GAP-00419":{"line":3674,"offset":644988,"length":176,"previous":"M21-GAP-00418","next":"M21-GAP-00420"},"M21-GAP-00420":{"line":3675,"offset":645164,"length":176,"previous":"M21-GAP-00419","next":"M21-GAP-00421"},"M21-GAP-00421":{"line":3676,"offset":645340,"length":176,"previous":"M21-GAP-00420","next":"M21-GAP-00422"},"M21-GAP-00422":{"line":3677,"offset":645516,"length":176,"previous":"M21-GAP-00421","next":"M21-GAP-00423"},"M21-GAP-00423":{"line":3678,"offset":645692,"length":176,"previous":"M21-GAP-00422","next":"M21-GAP-00424"},"M21-GAP-00424":{"line":3679,"offset":645868,"length":176,"previous":"M21-GAP-00423","next":"M21-GAP-00425"},"M21-GAP-00425":{"line":3680,"offset":646044,"length":176,"previous":"M21-GAP-00424","next":"M21-GAP-00426"},"M21-GAP-00426":{"line":3681,"offset":646220,"length":176,"previous":"M21-GAP-00425","next":"M21-GAP-00427"},"M21-GAP-00427":{"line":3682,"offset":646396,"length":176,"previous":"M21-GAP-00426","next":"M21-GAP-00428"},"M21-GAP-00428":{"line":3683,"offset":646572,"length":176,"previous":"M21-GAP-00427","next":"M21-GAP-00429"},"M21-GAP-00429":{"line":3684,"offset":646748,"length":175,"previous":"M21-GAP-00428","next":"M21-GAP-00430"},"M21-GAP-00430":{"line":3685,"offset":646923,"length":176,"previous":"M21-GAP-00429","next":"M21-GAP-00431"},"M21-GAP-00431":{"line":3686,"offset":647099,"length":176,"previous":"M21-GAP-00430","next":"M21-GAP-00432"},"M21-GAP-00432":{"line":3687,"offset":647275,"length":176,"previous":"M21-GAP-00431","next":"M21-GAP-00433"},"M21-GAP-00433":{"line":3688,"offset":647451,"length":176,"previous":"M21-GAP-00432","next":"M21-GAP-00434"},"M21-GAP-00434":{"line":3689,"offset":647627,"length":176,"previous":"M21-GAP-00433","next":"M21-GAP-00435"},"M21-GAP-00435":{"line":3690,"offset":647803,"length":176,"previous":"M21-GAP-00434","next":"M21-GAP-00436"},"M21-GAP-00436":{"line":3691,"offset":647979,"length":176,"previous":"M21-GAP-00435","next":"M21-GAP-00437"},"M21-GAP-00437":{"line":3692,"offset":648155,"length":176,"previous":"M21-GAP-00436","next":"M21-GAP-00438"},"M21-GAP-00438":{"line":3693,"offset":648331,"length":176,"previous":"M21-GAP-00437","next":"M21-GAP-00439"},"M21-GAP-00439":{"line":3694,"offset":648507,"length":176,"previous":"M21-GAP-00438","next":"M21-GAP-00440"},"M21-GAP-00440":{"line":3695,"offset":648683,"length":175,"previous":"M21-GAP-00439","next":"M21-GAP-00441"},"M21-GAP-00441":{"line":3696,"offset":648858,"length":176,"previous":"M21-GAP-00440","next":"M21-GAP-00442"},"M21-GAP-00442":{"line":3697,"offset":649034,"length":176,"previous":"M21-GAP-00441","next":"M21-GAP-00443"},"M21-GAP-00443":{"line":3698,"offset":649210,"length":176,"previous":"M21-GAP-00442","next":"M21-GAP-00444"},"M21-GAP-00444":{"line":3699,"offset":649386,"length":176,"previous":"M21-GAP-00443","next":"M21-GAP-00445"},"M21-GAP-00445":{"line":3700,"offset":649562,"length":176,"previous":"M21-GAP-00444","next":"M21-GAP-00446"},"M21-GAP-00446":{"line":3701,"offset":649738,"length":176,"previous":"M21-GAP-00445","next":"M21-GAP-00447"},"M21-GAP-00447":{"line":3702,"offset":649914,"length":176,"previous":"M21-GAP-00446","next":"M21-GAP-00448"},"M21-GAP-00448":{"line":3703,"offset":650090,"length":176,"previous":"M21-GAP-00447","next":"M21-GAP-00449"},"M21-GAP-00449":{"line":3704,"offset":650266,"length":176,"previous":"M21-GAP-00448","next":"M21-GAP-00450"},"M21-GAP-00450":{"line":3705,"offset":650442,"length":176,"previous":"M21-GAP-00449","next":"M21-GAP-00451"},"M21-GAP-00451":{"line":3706,"offset":650618,"length":175,"previous":"M21-GAP-00450","next":"M21-GAP-00452"},"M21-GAP-00452":{"line":3707,"offset":650793,"length":176,"previous":"M21-GAP-00451","next":"M21-GAP-00453"},"M21-GAP-00453":{"line":3708,"offset":650969,"length":176,"previous":"M21-GAP-00452","next":"M21-GAP-00454"},"M21-GAP-00454":{"line":3709,"offset":651145,"length":176,"previous":"M21-GAP-00453","next":"M21-GAP-00455"},"M21-GAP-00455":{"line":3710,"offset":651321,"length":176,"previous":"M21-GAP-00454","next":"M21-GAP-00456"},"M21-GAP-00456":{"line":3711,"offset":651497,"length":176,"previous":"M21-GAP-00455","next":"M21-GAP-00457"},"M21-GAP-00457":{"line":3712,"offset":651673,"length":176,"previous":"M21-GAP-00456","next":"M21-GAP-00458"},"M21-GAP-00458":{"line":3713,"offset":651849,"length":176,"previous":"M21-GAP-00457","next":"M21-GAP-00459"},"M21-GAP-00459":{"line":3714,"offset":652025,"length":176,"previous":"M21-GAP-00458","next":"M21-GAP-00460"},"M21-GAP-00460":{"line":3715,"offset":652201,"length":176,"previous":"M21-GAP-00459","next":"M21-GAP-00461"},"M21-GAP-00461":{"line":3716,"offset":652377,"length":176,"previous":"M21-GAP-00460","next":"M21-GAP-00462"},"M21-GAP-00462":{"line":3717,"offset":652553,"length":175,"previous":"M21-GAP-00461","next":"M21-GAP-00463"},"M21-GAP-00463":{"line":3718,"offset":652728,"length":176,"previous":"M21-GAP-00462","next":"M21-GAP-00464"},"M21-GAP-00464":{"line":3719,"offset":652904,"length":176,"previous":"M21-GAP-00463","next":"M21-GAP-00465"},"M21-GAP-00465":{"line":3720,"offset":653080,"length":175,"previous":"M21-GAP-00464","next":"M21-GAP-00466"},"M21-GAP-00466":{"line":3721,"offset":653255,"length":175,"previous":"M21-GAP-00465","next":"M21-GAP-00467"},"M21-GAP-00467":{"line":3722,"offset":653430,"length":175,"previous":"M21-GAP-00466","next":"M21-GAP-00468"},"M21-GAP-00468":{"line":3723,"offset":653605,"length":175,"previous":"M21-GAP-00467","next":"M21-GAP-00469"},"M21-GAP-00469":{"line":3724,"offset":653780,"length":182,"previous":"M21-GAP-00468","next":"M21-GAP-00470"},"M21-GAP-00470":{"line":3725,"offset":653962,"length":182,"previous":"M21-GAP-00469","next":"M21-GAP-00471"},"M21-GAP-00471":{"line":3726,"offset":654144,"length":183,"previous":"M21-GAP-00470","next":"M21-GAP-00472"},"M21-GAP-00472":{"line":3727,"offset":654327,"length":183,"previous":"M21-GAP-00471","next":"M21-GAP-00473"},"M21-GAP-00473":{"line":3728,"offset":654510,"length":183,"previous":"M21-GAP-00472","next":"M21-GAP-00474"},"M21-GAP-00474":{"line":3729,"offset":654693,"length":183,"previous":"M21-GAP-00473","next":"M21-GAP-00475"},"M21-GAP-00475":{"line":3730,"offset":654876,"length":183,"previous":"M21-GAP-00474","next":"M21-GAP-00476"},"M21-GAP-00476":{"line":3731,"offset":655059,"length":183,"previous":"M21-GAP-00475","next":"M21-GAP-00477"},"M21-GAP-00477":{"line":3732,"offset":655242,"length":183,"previous":"M21-GAP-00476","next":"M21-GAP-00478"},"M21-GAP-00478":{"line":3733,"offset":655425,"length":183,"previous":"M21-GAP-00477","next":"M21-GAP-00479"},"M21-GAP-00479":{"line":3734,"offset":655608,"length":183,"previous":"M21-GAP-00478","next":"M21-GAP-00480"},"M21-GAP-00480":{"line":3735,"offset":655791,"length":183,"previous":"M21-GAP-00479","next":"M21-GAP-00481"},"M21-GAP-00481":{"line":3736,"offset":655974,"length":182,"previous":"M21-GAP-00480","next":"M21-GAP-00482"},"M21-GAP-00482":{"line":3737,"offset":656156,"length":183,"previous":"M21-GAP-00481","next":"M21-GAP-00483"},"M21-GAP-00483":{"line":3738,"offset":656339,"length":183,"previous":"M21-GAP-00482","next":"M21-GAP-00484"},"M21-GAP-00484":{"line":3739,"offset":656522,"length":183,"previous":"M21-GAP-00483","next":"M21-GAP-00485"},"M21-GAP-00485":{"line":3740,"offset":656705,"length":183,"previous":"M21-GAP-00484","next":"M21-GAP-00486"},"M21-GAP-00486":{"line":3741,"offset":656888,"length":183,"previous":"M21-GAP-00485","next":"M21-GAP-00487"},"M21-GAP-00487":{"line":3742,"offset":657071,"length":183,"previous":"M21-GAP-00486","next":"M21-GAP-00488"},"M21-GAP-00488":{"line":3743,"offset":657254,"length":183,"previous":"M21-GAP-00487","next":"M21-GAP-00489"},"M21-GAP-00489":{"line":3744,"offset":657437,"length":183,"previous":"M21-GAP-00488","next":"M21-GAP-00490"},"M21-GAP-00490":{"line":3745,"offset":657620,"length":183,"previous":"M21-GAP-00489","next":"M21-GAP-00491"},"M21-GAP-00491":{"line":3746,"offset":657803,"length":183,"previous":"M21-GAP-00490","next":"M21-GAP-00492"},"M21-GAP-00492":{"line":3747,"offset":657986,"length":182,"previous":"M21-GAP-00491","next":"M21-GAP-00493"},"M21-GAP-00493":{"line":3748,"offset":658168,"length":182,"previous":"M21-GAP-00492","next":"M21-GAP-00494"},"M21-GAP-00494":{"line":3749,"offset":658350,"length":182,"previous":"M21-GAP-00493","next":"M21-GAP-00495"},"M21-GAP-00495":{"line":3750,"offset":658532,"length":182,"previous":"M21-GAP-00494","next":"M21-GAP-00496"},"M21-GAP-00496":{"line":3751,"offset":658714,"length":182,"previous":"M21-GAP-00495","next":"M21-GAP-00497"},"M21-GAP-00497":{"line":3752,"offset":658896,"length":182,"previous":"M21-GAP-00496","next":"M21-GAP-00498"},"M21-GAP-00498":{"line":3753,"offset":659078,"length":182,"previous":"M21-GAP-00497","next":"M21-GAP-00499"},"M21-GAP-00499":{"line":3754,"offset":659260,"length":194,"previous":"M21-GAP-00498","next":"M21-GAP-00500"},"M21-GAP-00500":{"line":3755,"offset":659454,"length":194,"previous":"M21-GAP-00499","next":"M21-GAP-00501"},"M21-GAP-00501":{"line":3756,"offset":659648,"length":194,"previous":"M21-GAP-00500","next":"M21-GAP-00502"},"M21-GAP-00502":{"line":3757,"offset":659842,"length":194,"previous":"M21-GAP-00501","next":"M21-GAP-00503"},"M21-GAP-00503":{"line":3758,"offset":660036,"length":184,"previous":"M21-GAP-00502","next":"M21-GAP-00504"},"M21-GAP-00504":{"line":3759,"offset":660220,"length":184,"previous":"M21-GAP-00503","next":"M21-GAP-00505"},"M21-GAP-00505":{"line":3760,"offset":660404,"length":185,"previous":"M21-GAP-00504","next":"M21-GAP-00506"},"M21-GAP-00506":{"line":3761,"offset":660589,"length":185,"previous":"M21-GAP-00505","next":"M21-GAP-00507"},"M21-GAP-00507":{"line":3762,"offset":660774,"length":185,"previous":"M21-GAP-00506","next":"M21-GAP-00508"},"M21-GAP-00508":{"line":3763,"offset":660959,"length":185,"previous":"M21-GAP-00507","next":"M21-GAP-00509"},"M21-GAP-00509":{"line":3764,"offset":661144,"length":185,"previous":"M21-GAP-00508","next":"M21-GAP-00510"},"M21-GAP-00510":{"line":3765,"offset":661329,"length":185,"previous":"M21-GAP-00509","next":"M21-GAP-00511"},"M21-GAP-00511":{"line":3766,"offset":661514,"length":185,"previous":"M21-GAP-00510","next":"M21-GAP-00512"},"M21-GAP-00512":{"line":3767,"offset":661699,"length":185,"previous":"M21-GAP-00511","next":"M21-GAP-00513"},"M21-GAP-00513":{"line":3768,"offset":661884,"length":185,"previous":"M21-GAP-00512","next":"M21-GAP-00514"},"M21-GAP-00514":{"line":3769,"offset":662069,"length":185,"previous":"M21-GAP-00513","next":"M21-GAP-00515"},"M21-GAP-00515":{"line":3770,"offset":662254,"length":184,"previous":"M21-GAP-00514","next":"M21-GAP-00516"},"M21-GAP-00516":{"line":3771,"offset":662438,"length":185,"previous":"M21-GAP-00515","next":"M21-GAP-00517"},"M21-GAP-00517":{"line":3772,"offset":662623,"length":185,"previous":"M21-GAP-00516","next":"M21-GAP-00518"},"M21-GAP-00518":{"line":3773,"offset":662808,"length":185,"previous":"M21-GAP-00517","next":"M21-GAP-00519"},"M21-GAP-00519":{"line":3774,"offset":662993,"length":185,"previous":"M21-GAP-00518","next":"M21-GAP-00520"},"M21-GAP-00520":{"line":3775,"offset":663178,"length":185,"previous":"M21-GAP-00519","next":"M21-GAP-00521"},"M21-GAP-00521":{"line":3776,"offset":663363,"length":185,"previous":"M21-GAP-00520","next":"M21-GAP-00522"},"M21-GAP-00522":{"line":3777,"offset":663548,"length":185,"previous":"M21-GAP-00521","next":"M21-GAP-00523"},"M21-GAP-00523":{"line":3778,"offset":663733,"length":185,"previous":"M21-GAP-00522","next":"M21-GAP-00524"},"M21-GAP-00524":{"line":3779,"offset":663918,"length":185,"previous":"M21-GAP-00523","next":"M21-GAP-00525"},"M21-GAP-00525":{"line":3780,"offset":664103,"length":185,"previous":"M21-GAP-00524","next":"M21-GAP-00526"},"M21-GAP-00526":{"line":3781,"offset":664288,"length":184,"previous":"M21-GAP-00525","next":"M21-GAP-00527"},"M21-GAP-00527":{"line":3782,"offset":664472,"length":185,"previous":"M21-GAP-00526","next":"M21-GAP-00528"},"M21-GAP-00528":{"line":3783,"offset":664657,"length":185,"previous":"M21-GAP-00527","next":"M21-GAP-00529"},"M21-GAP-00529":{"line":3784,"offset":664842,"length":185,"previous":"M21-GAP-00528","next":"M21-GAP-00530"},"M21-GAP-00530":{"line":3785,"offset":665027,"length":185,"previous":"M21-GAP-00529","next":"M21-GAP-00531"},"M21-GAP-00531":{"line":3786,"offset":665212,"length":185,"previous":"M21-GAP-00530","next":"M21-GAP-00532"},"M21-GAP-00532":{"line":3787,"offset":665397,"length":185,"previous":"M21-GAP-00531","next":"M21-GAP-00533"},"M21-GAP-00533":{"line":3788,"offset":665582,"length":185,"previous":"M21-GAP-00532","next":"M21-GAP-00534"},"M21-GAP-00534":{"line":3789,"offset":665767,"length":185,"previous":"M21-GAP-00533","next":"M21-GAP-00535"},"M21-GAP-00535":{"line":3790,"offset":665952,"length":185,"previous":"M21-GAP-00534","next":"M21-GAP-00536"},"M21-GAP-00536":{"line":3791,"offset":666137,"length":185,"previous":"M21-GAP-00535","next":"M21-GAP-00537"},"M21-GAP-00537":{"line":3792,"offset":666322,"length":184,"previous":"M21-GAP-00536","next":"M21-GAP-00538"},"M21-GAP-00538":{"line":3793,"offset":666506,"length":185,"previous":"M21-GAP-00537","next":"M21-GAP-00539"},"M21-GAP-00539":{"line":3794,"offset":666691,"length":185,"previous":"M21-GAP-00538","next":"M21-GAP-00540"},"M21-GAP-00540":{"line":3795,"offset":666876,"length":185,"previous":"M21-GAP-00539","next":"M21-GAP-00541"},"M21-GAP-00541":{"line":3796,"offset":667061,"length":185,"previous":"M21-GAP-00540","next":"M21-GAP-00542"},"M21-GAP-00542":{"line":3797,"offset":667246,"length":185,"previous":"M21-GAP-00541","next":"M21-GAP-00543"},"M21-GAP-00543":{"line":3798,"offset":667431,"length":185,"previous":"M21-GAP-00542","next":"M21-GAP-00544"},"M21-GAP-00544":{"line":3799,"offset":667616,"length":185,"previous":"M21-GAP-00543","next":"M21-GAP-00545"},"M21-GAP-00545":{"line":3800,"offset":667801,"length":185,"previous":"M21-GAP-00544","next":"M21-GAP-00546"},"M21-GAP-00546":{"line":3801,"offset":667986,"length":185,"previous":"M21-GAP-00545","next":"M21-GAP-00547"},"M21-GAP-00547":{"line":3802,"offset":668171,"length":185,"previous":"M21-GAP-00546","next":"M21-GAP-00548"},"M21-GAP-00548":{"line":3803,"offset":668356,"length":184,"previous":"M21-GAP-00547","next":"M21-GAP-00549"},"M21-GAP-00549":{"line":3804,"offset":668540,"length":185,"previous":"M21-GAP-00548","next":"M21-GAP-00550"},"M21-GAP-00550":{"line":3805,"offset":668725,"length":185,"previous":"M21-GAP-00549","next":"M21-GAP-00551"},"M21-GAP-00551":{"line":3806,"offset":668910,"length":185,"previous":"M21-GAP-00550","next":"M21-GAP-00552"},"M21-GAP-00552":{"line":3807,"offset":669095,"length":185,"previous":"M21-GAP-00551","next":"M21-GAP-00553"},"M21-GAP-00553":{"line":3808,"offset":669280,"length":185,"previous":"M21-GAP-00552","next":"M21-GAP-00554"},"M21-GAP-00554":{"line":3809,"offset":669465,"length":185,"previous":"M21-GAP-00553","next":"M21-GAP-00555"},"M21-GAP-00555":{"line":3810,"offset":669650,"length":185,"previous":"M21-GAP-00554","next":"M21-GAP-00556"},"M21-GAP-00556":{"line":3811,"offset":669835,"length":185,"previous":"M21-GAP-00555","next":"M21-GAP-00557"},"M21-GAP-00557":{"line":3812,"offset":670020,"length":185,"previous":"M21-GAP-00556","next":"M21-GAP-00558"},"M21-GAP-00558":{"line":3813,"offset":670205,"length":185,"previous":"M21-GAP-00557","next":"M21-GAP-00559"},"M21-GAP-00559":{"line":3814,"offset":670390,"length":184,"previous":"M21-GAP-00558","next":"M21-GAP-00560"},"M21-GAP-00560":{"line":3815,"offset":670574,"length":185,"previous":"M21-GAP-00559","next":"M21-GAP-00561"},"M21-GAP-00561":{"line":3816,"offset":670759,"length":185,"previous":"M21-GAP-00560","next":"M21-GAP-00562"},"M21-GAP-00562":{"line":3817,"offset":670944,"length":185,"previous":"M21-GAP-00561","next":"M21-GAP-00563"},"M21-GAP-00563":{"line":3818,"offset":671129,"length":185,"previous":"M21-GAP-00562","next":"M21-GAP-00564"},"M21-GAP-00564":{"line":3819,"offset":671314,"length":185,"previous":"M21-GAP-00563","next":"M21-GAP-00565"},"M21-GAP-00565":{"line":3820,"offset":671499,"length":185,"previous":"M21-GAP-00564","next":"M21-GAP-00566"},"M21-GAP-00566":{"line":3821,"offset":671684,"length":185,"previous":"M21-GAP-00565","next":"M21-GAP-00567"},"M21-GAP-00567":{"line":3822,"offset":671869,"length":185,"previous":"M21-GAP-00566","next":"M21-GAP-00568"},"M21-GAP-00568":{"line":3823,"offset":672054,"length":185,"previous":"M21-GAP-00567","next":"M21-GAP-00569"},"M21-GAP-00569":{"line":3824,"offset":672239,"length":185,"previous":"M21-GAP-00568","next":"M21-GAP-00570"},"M21-GAP-00570":{"line":3825,"offset":672424,"length":184,"previous":"M21-GAP-00569","next":"M21-GAP-00571"},"M21-GAP-00571":{"line":3826,"offset":672608,"length":185,"previous":"M21-GAP-00570","next":"M21-GAP-00572"},"M21-GAP-00572":{"line":3827,"offset":672793,"length":185,"previous":"M21-GAP-00571","next":"M21-GAP-00573"},"M21-GAP-00573":{"line":3828,"offset":672978,"length":185,"previous":"M21-GAP-00572","next":"M21-GAP-00574"},"M21-GAP-00574":{"line":3829,"offset":673163,"length":185,"previous":"M21-GAP-00573","next":"M21-GAP-00575"},"M21-GAP-00575":{"line":3830,"offset":673348,"length":185,"previous":"M21-GAP-00574","next":"M21-GAP-00576"},"M21-GAP-00576":{"line":3831,"offset":673533,"length":185,"previous":"M21-GAP-00575","next":"M21-GAP-00577"},"M21-GAP-00577":{"line":3832,"offset":673718,"length":184,"previous":"M21-GAP-00576","next":"M21-GAP-00578"},"M21-GAP-00578":{"line":3833,"offset":673902,"length":184,"previous":"M21-GAP-00577","next":"M21-GAP-00579"},"M21-GAP-00579":{"line":3834,"offset":674086,"length":190,"previous":"M21-GAP-00578","next":"M21-GAP-00580"},"M21-GAP-00580":{"line":3835,"offset":674276,"length":190,"previous":"M21-GAP-00579","next":"M21-GAP-00581"},"M21-GAP-00581":{"line":3836,"offset":674466,"length":191,"previous":"M21-GAP-00580","next":"M21-GAP-00582"},"M21-GAP-00582":{"line":3837,"offset":674657,"length":191,"previous":"M21-GAP-00581","next":"M21-GAP-00583"},"M21-GAP-00583":{"line":3838,"offset":674848,"length":191,"previous":"M21-GAP-00582","next":"M21-GAP-00584"},"M21-GAP-00584":{"line":3839,"offset":675039,"length":191,"previous":"M21-GAP-00583","next":"M21-GAP-00585"},"M21-GAP-00585":{"line":3840,"offset":675230,"length":191,"previous":"M21-GAP-00584","next":"M21-GAP-00586"},"M21-GAP-00586":{"line":3841,"offset":675421,"length":191,"previous":"M21-GAP-00585","next":"M21-GAP-00587"},"M21-GAP-00587":{"line":3842,"offset":675612,"length":191,"previous":"M21-GAP-00586","next":"M21-GAP-00588"},"M21-GAP-00588":{"line":3843,"offset":675803,"length":191,"previous":"M21-GAP-00587","next":"M21-GAP-00589"},"M21-GAP-00589":{"line":3844,"offset":675994,"length":191,"previous":"M21-GAP-00588","next":"M21-GAP-00590"},"M21-GAP-00590":{"line":3845,"offset":676185,"length":191,"previous":"M21-GAP-00589","next":"M21-GAP-00591"},"M21-GAP-00591":{"line":3846,"offset":676376,"length":190,"previous":"M21-GAP-00590","next":"M21-GAP-00592"},"M21-GAP-00592":{"line":3847,"offset":676566,"length":191,"previous":"M21-GAP-00591","next":"M21-GAP-00593"},"M21-GAP-00593":{"line":3848,"offset":676757,"length":191,"previous":"M21-GAP-00592","next":"M21-GAP-00594"},"M21-GAP-00594":{"line":3849,"offset":676948,"length":191,"previous":"M21-GAP-00593","next":"M21-GAP-00595"},"M21-GAP-00595":{"line":3850,"offset":677139,"length":191,"previous":"M21-GAP-00594","next":"M21-GAP-00596"},"M21-GAP-00596":{"line":3851,"offset":677330,"length":190,"previous":"M21-GAP-00595","next":"M21-GAP-00597"},"M21-GAP-00597":{"line":3852,"offset":677520,"length":190,"previous":"M21-GAP-00596","next":"M21-GAP-00598"},"M21-GAP-00598":{"line":3853,"offset":677710,"length":190,"previous":"M21-GAP-00597","next":"M21-GAP-00599"},"M21-GAP-00599":{"line":3854,"offset":677900,"length":190,"previous":"M21-GAP-00598","next":"M21-GAP-00600"},"M21-GAP-00600":{"line":3855,"offset":678090,"length":190,"previous":"M21-GAP-00599","next":"M21-GAP-00601"},"M21-GAP-00601":{"line":3856,"offset":678280,"length":190,"previous":"M21-GAP-00600","next":"M21-GAP-00602"},"M21-GAP-00602":{"line":3857,"offset":678470,"length":190,"previous":"M21-GAP-00601","next":"M21-GAP-00603"},"M21-GAP-00603":{"line":3858,"offset":678660,"length":189,"previous":"M21-GAP-00602","next":"M21-GAP-00604"},"M21-GAP-00604":{"line":3859,"offset":678849,"length":177,"previous":"M21-GAP-00603","next":"M21-GAP-00605"},"M21-GAP-00605":{"line":3860,"offset":679026,"length":177,"previous":"M21-GAP-00604","next":"M21-GAP-00606"},"M21-GAP-00606":{"line":3861,"offset":679203,"length":178,"previous":"M21-GAP-00605","next":"M21-GAP-00607"},"M21-GAP-00607":{"line":3862,"offset":679381,"length":178,"previous":"M21-GAP-00606","next":"M21-GAP-00608"},"M21-GAP-00608":{"line":3863,"offset":679559,"length":178,"previous":"M21-GAP-00607","next":"M21-GAP-00609"},"M21-GAP-00609":{"line":3864,"offset":679737,"length":178,"previous":"M21-GAP-00608","next":"M21-GAP-00610"},"M21-GAP-00610":{"line":3865,"offset":679915,"length":177,"previous":"M21-GAP-00609","next":"M21-GAP-00611"},"M21-GAP-00611":{"line":3866,"offset":680092,"length":177,"previous":"M21-GAP-00610","next":"M21-GAP-00612"},"M21-GAP-00612":{"line":3867,"offset":680269,"length":177,"previous":"M21-GAP-00611","next":"M21-GAP-00613"},"M21-GAP-00613":{"line":3868,"offset":680446,"length":177,"previous":"M21-GAP-00612","next":"M21-GAP-00614"},"M21-GAP-00614":{"line":3869,"offset":680623,"length":177,"previous":"M21-GAP-00613","next":"M21-GAP-00615"},"M21-GAP-00615":{"line":3870,"offset":680800,"length":177,"previous":"M21-GAP-00614","next":"M21-GAP-00616"},"M21-GAP-00616":{"line":3871,"offset":680977,"length":177,"previous":"M21-GAP-00615","next":"M21-GAP-00617"},"M21-GAP-00617":{"line":3872,"offset":681154,"length":177,"previous":"M21-GAP-00616","next":"M21-GAP-00618"},"M21-GAP-00618":{"line":3873,"offset":681331,"length":176,"previous":"M21-GAP-00617","next":"M21-GAP-00619"},"M21-GAP-00619":{"line":3874,"offset":681507,"length":176,"previous":"M21-GAP-00618","next":"M21-GAP-00620"},"M21-GAP-00620":{"line":3875,"offset":681683,"length":177,"previous":"M21-GAP-00619","next":"M21-GAP-00621"},"M21-GAP-00621":{"line":3876,"offset":681860,"length":177,"previous":"M21-GAP-00620","next":"M21-GAP-00622"},"M21-GAP-00622":{"line":3877,"offset":682037,"length":177,"previous":"M21-GAP-00621","next":"M21-GAP-00623"},"M21-GAP-00623":{"line":3878,"offset":682214,"length":177,"previous":"M21-GAP-00622","next":"M21-GAP-00624"},"M21-GAP-00624":{"line":3879,"offset":682391,"length":177,"previous":"M21-GAP-00623","next":"M21-GAP-00625"},"M21-GAP-00625":{"line":3880,"offset":682568,"length":177,"previous":"M21-GAP-00624","next":"M21-GAP-00626"},"M21-GAP-00626":{"line":3881,"offset":682745,"length":177,"previous":"M21-GAP-00625","next":"M21-GAP-00627"},"M21-GAP-00627":{"line":3882,"offset":682922,"length":177,"previous":"M21-GAP-00626","next":"M21-GAP-00628"},"M21-GAP-00628":{"line":3883,"offset":683099,"length":177,"previous":"M21-GAP-00627","next":"M21-GAP-00629"},"M21-GAP-00629":{"line":3884,"offset":683276,"length":177,"previous":"M21-GAP-00628","next":"M21-GAP-00630"},"M21-GAP-00630":{"line":3885,"offset":683453,"length":176,"previous":"M21-GAP-00629","next":"M21-GAP-00631"},"M21-GAP-00631":{"line":3886,"offset":683629,"length":177,"previous":"M21-GAP-00630","next":"M21-GAP-00632"},"M21-GAP-00632":{"line":3887,"offset":683806,"length":177,"previous":"M21-GAP-00631","next":"M21-GAP-00633"},"M21-GAP-00633":{"line":3888,"offset":683983,"length":177,"previous":"M21-GAP-00632","next":"M21-GAP-00634"},"M21-GAP-00634":{"line":3889,"offset":684160,"length":177,"previous":"M21-GAP-00633","next":"M21-GAP-00635"},"M21-GAP-00635":{"line":3890,"offset":684337,"length":177,"previous":"M21-GAP-00634","next":"M21-GAP-00636"},"M21-GAP-00636":{"line":3891,"offset":684514,"length":177,"previous":"M21-GAP-00635","next":"M21-GAP-00637"},"M21-GAP-00637":{"line":3892,"offset":684691,"length":177,"previous":"M21-GAP-00636","next":"M21-GAP-00638"},"M21-GAP-00638":{"line":3893,"offset":684868,"length":177,"previous":"M21-GAP-00637","next":"M21-GAP-00639"},"M21-GAP-00639":{"line":3894,"offset":685045,"length":177,"previous":"M21-GAP-00638","next":"M21-GAP-00640"},"M21-GAP-00640":{"line":3895,"offset":685222,"length":177,"previous":"M21-GAP-00639","next":"M21-GAP-00641"},"M21-GAP-00641":{"line":3896,"offset":685399,"length":176,"previous":"M21-GAP-00640","next":"M21-GAP-00642"},"M21-GAP-00642":{"line":3897,"offset":685575,"length":177,"previous":"M21-GAP-00641","next":"M21-GAP-00643"},"M21-GAP-00643":{"line":3898,"offset":685752,"length":177,"previous":"M21-GAP-00642","next":"M21-GAP-00644"},"M21-GAP-00644":{"line":3899,"offset":685929,"length":177,"previous":"M21-GAP-00643","next":"M21-GAP-00645"},"M21-GAP-00645":{"line":3900,"offset":686106,"length":177,"previous":"M21-GAP-00644","next":"M21-GAP-00646"},"M21-GAP-00646":{"line":3901,"offset":686283,"length":177,"previous":"M21-GAP-00645","next":"M21-GAP-00647"},"M21-GAP-00647":{"line":3902,"offset":686460,"length":177,"previous":"M21-GAP-00646","next":"M21-GAP-00648"},"M21-GAP-00648":{"line":3903,"offset":686637,"length":177,"previous":"M21-GAP-00647","next":"M21-GAP-00649"},"M21-GAP-00649":{"line":3904,"offset":686814,"length":177,"previous":"M21-GAP-00648","next":"M21-GAP-00650"},"M21-GAP-00650":{"line":3905,"offset":686991,"length":177,"previous":"M21-GAP-00649","next":"M21-GAP-00651"},"M21-GAP-00651":{"line":3906,"offset":687168,"length":177,"previous":"M21-GAP-00650","next":"M21-GAP-00652"},"M21-GAP-00652":{"line":3907,"offset":687345,"length":176,"previous":"M21-GAP-00651","next":"M21-GAP-00653"},"M21-GAP-00653":{"line":3908,"offset":687521,"length":176,"previous":"M21-GAP-00652","next":"M21-GAP-00654"},"M21-GAP-00654":{"line":3909,"offset":687697,"length":176,"previous":"M21-GAP-00653","next":"M21-GAP-00655"},"M21-GAP-00655":{"line":3910,"offset":687873,"length":176,"previous":"M21-GAP-00654","next":"M21-GAP-00656"},"M21-GAP-00656":{"line":3911,"offset":688049,"length":176,"previous":"M21-GAP-00655","next":"M21-GAP-00657"},"M21-GAP-00657":{"line":3912,"offset":688225,"length":176,"previous":"M21-GAP-00656","next":"M21-GAP-00658"},"M21-GAP-00658":{"line":3913,"offset":688401,"length":186,"previous":"M21-GAP-00657","next":"M21-GAP-00659"},"M21-GAP-00659":{"line":3914,"offset":688587,"length":186,"previous":"M21-GAP-00658","next":"M21-GAP-00660"},"M21-GAP-00660":{"line":3915,"offset":688773,"length":186,"previous":"M21-GAP-00659","next":"M21-GAP-00661"},"M21-GAP-00661":{"line":3916,"offset":688959,"length":186,"previous":"M21-GAP-00660","next":"M21-GAP-00662"},"M21-GAP-00662":{"line":3917,"offset":689145,"length":186,"previous":"M21-GAP-00661","next":"M21-GAP-00663"},"M21-GAP-00663":{"line":3918,"offset":689331,"length":172,"previous":"M21-GAP-00662","next":"M21-GAP-00664"},"M21-GAP-00664":{"line":3919,"offset":689503,"length":172,"previous":"M21-GAP-00663","next":"M21-GAP-00665"},"M21-GAP-00665":{"line":3920,"offset":689675,"length":173,"previous":"M21-GAP-00664","next":"M21-GAP-00666"},"M21-GAP-00666":{"line":3921,"offset":689848,"length":173,"previous":"M21-GAP-00665","next":"M21-GAP-00667"},"M21-GAP-00667":{"line":3922,"offset":690021,"length":173,"previous":"M21-GAP-00666","next":"M21-GAP-00668"},"M21-GAP-00668":{"line":3923,"offset":690194,"length":173,"previous":"M21-GAP-00667","next":"M21-GAP-00669"},"M21-GAP-00669":{"line":3924,"offset":690367,"length":173,"previous":"M21-GAP-00668","next":"M21-GAP-00670"},"M21-GAP-00670":{"line":3925,"offset":690540,"length":173,"previous":"M21-GAP-00669","next":"M21-GAP-00671"},"M21-GAP-00671":{"line":3926,"offset":690713,"length":173,"previous":"M21-GAP-00670","next":"M21-GAP-00672"},"M21-GAP-00672":{"line":3927,"offset":690886,"length":173,"previous":"M21-GAP-00671","next":"M21-GAP-00673"},"M21-GAP-00673":{"line":3928,"offset":691059,"length":173,"previous":"M21-GAP-00672","next":"M21-GAP-00674"},"M21-GAP-00674":{"line":3929,"offset":691232,"length":173,"previous":"M21-GAP-00673","next":"M21-GAP-00675"},"M21-GAP-00675":{"line":3930,"offset":691405,"length":172,"previous":"M21-GAP-00674","next":"M21-GAP-00676"},"M21-GAP-00676":{"line":3931,"offset":691577,"length":173,"previous":"M21-GAP-00675","next":"M21-GAP-00677"},"M21-GAP-00677":{"line":3932,"offset":691750,"length":173,"previous":"M21-GAP-00676","next":"M21-GAP-00678"},"M21-GAP-00678":{"line":3933,"offset":691923,"length":173,"previous":"M21-GAP-00677","next":"M21-GAP-00679"},"M21-GAP-00679":{"line":3934,"offset":692096,"length":173,"previous":"M21-GAP-00678","next":"M21-GAP-00680"},"M21-GAP-00680":{"line":3935,"offset":692269,"length":173,"previous":"M21-GAP-00679","next":"M21-GAP-00681"},"M21-GAP-00681":{"line":3936,"offset":692442,"length":173,"previous":"M21-GAP-00680","next":"M21-GAP-00682"},"M21-GAP-00682":{"line":3937,"offset":692615,"length":173,"previous":"M21-GAP-00681","next":"M21-GAP-00683"},"M21-GAP-00683":{"line":3938,"offset":692788,"length":173,"previous":"M21-GAP-00682","next":"M21-GAP-00684"},"M21-GAP-00684":{"line":3939,"offset":692961,"length":173,"previous":"M21-GAP-00683","next":"M21-GAP-00685"},"M21-GAP-00685":{"line":3940,"offset":693134,"length":173,"previous":"M21-GAP-00684","next":"M21-GAP-00686"},"M21-GAP-00686":{"line":3941,"offset":693307,"length":172,"previous":"M21-GAP-00685","next":"M21-GAP-00687"},"M21-GAP-00687":{"line":3942,"offset":693479,"length":173,"previous":"M21-GAP-00686","next":"M21-GAP-00688"},"M21-GAP-00688":{"line":3943,"offset":693652,"length":173,"previous":"M21-GAP-00687","next":"M21-GAP-00689"},"M21-GAP-00689":{"line":3944,"offset":693825,"length":173,"previous":"M21-GAP-00688","next":"M21-GAP-00690"},"M21-GAP-00690":{"line":3945,"offset":693998,"length":173,"previous":"M21-GAP-00689","next":"M21-GAP-00691"},"M21-GAP-00691":{"line":3946,"offset":694171,"length":173,"previous":"M21-GAP-00690","next":"M21-GAP-00692"},"M21-GAP-00692":{"line":3947,"offset":694344,"length":173,"previous":"M21-GAP-00691","next":"M21-GAP-00693"},"M21-GAP-00693":{"line":3948,"offset":694517,"length":173,"previous":"M21-GAP-00692","next":"M21-GAP-00694"},"M21-GAP-00694":{"line":3949,"offset":694690,"length":173,"previous":"M21-GAP-00693","next":"M21-GAP-00695"},"M21-GAP-00695":{"line":3950,"offset":694863,"length":173,"previous":"M21-GAP-00694","next":"M21-GAP-00696"},"M21-GAP-00696":{"line":3951,"offset":695036,"length":173,"previous":"M21-GAP-00695","next":"M21-GAP-00697"},"M21-GAP-00697":{"line":3952,"offset":695209,"length":172,"previous":"M21-GAP-00696","next":"M21-GAP-00698"},"M21-GAP-00698":{"line":3953,"offset":695381,"length":173,"previous":"M21-GAP-00697","next":"M21-GAP-00699"},"M21-GAP-00699":{"line":3954,"offset":695554,"length":173,"previous":"M21-GAP-00698","next":"M21-GAP-00700"},"M21-GAP-00700":{"line":3955,"offset":695727,"length":173,"previous":"M21-GAP-00699","next":"M21-GAP-00701"},"M21-GAP-00701":{"line":3956,"offset":695900,"length":173,"previous":"M21-GAP-00700","next":"M21-GAP-00702"},"M21-GAP-00702":{"line":3957,"offset":696073,"length":173,"previous":"M21-GAP-00701","next":"M21-GAP-00703"},"M21-GAP-00703":{"line":3958,"offset":696246,"length":172,"previous":"M21-GAP-00702","next":"M21-GAP-00704"},"M21-GAP-00704":{"line":3959,"offset":696418,"length":172,"previous":"M21-GAP-00703","next":"M21-GAP-00705"},"M21-GAP-00705":{"line":3960,"offset":696590,"length":172,"previous":"M21-GAP-00704","next":"M21-GAP-00706"},"M21-GAP-00706":{"line":3961,"offset":696762,"length":172,"previous":"M21-GAP-00705","next":"M21-GAP-00707"},"M21-GAP-00707":{"line":3962,"offset":696934,"length":172,"previous":"M21-GAP-00706","next":"M21-GAP-00708"},"M21-GAP-00708":{"line":3963,"offset":697106,"length":173,"previous":"M21-GAP-00707","next":"M21-GAP-00709"},"M21-GAP-00709":{"line":3964,"offset":697279,"length":173,"previous":"M21-GAP-00708","next":"M21-GAP-00710"},"M21-GAP-00710":{"line":3965,"offset":697452,"length":174,"previous":"M21-GAP-00709","next":"M21-GAP-00711"},"M21-GAP-00711":{"line":3966,"offset":697626,"length":174,"previous":"M21-GAP-00710","next":"M21-GAP-00712"},"M21-GAP-00712":{"line":3967,"offset":697800,"length":174,"previous":"M21-GAP-00711","next":"M21-GAP-00713"},"M21-GAP-00713":{"line":3968,"offset":697974,"length":174,"previous":"M21-GAP-00712","next":"M21-GAP-00714"},"M21-GAP-00714":{"line":3969,"offset":698148,"length":174,"previous":"M21-GAP-00713","next":"M21-GAP-00715"},"M21-GAP-00715":{"line":3970,"offset":698322,"length":174,"previous":"M21-GAP-00714","next":"M21-GAP-00716"},"M21-GAP-00716":{"line":3971,"offset":698496,"length":174,"previous":"M21-GAP-00715","next":"M21-GAP-00717"},"M21-GAP-00717":{"line":3972,"offset":698670,"length":174,"previous":"M21-GAP-00716","next":"M21-GAP-00718"},"M21-GAP-00718":{"line":3973,"offset":698844,"length":174,"previous":"M21-GAP-00717","next":"M21-GAP-00719"},"M21-GAP-00719":{"line":3974,"offset":699018,"length":174,"previous":"M21-GAP-00718","next":"M21-GAP-00720"},"M21-GAP-00720":{"line":3975,"offset":699192,"length":173,"previous":"M21-GAP-00719","next":"M21-GAP-00721"},"M21-GAP-00721":{"line":3976,"offset":699365,"length":174,"previous":"M21-GAP-00720","next":"M21-GAP-00722"},"M21-GAP-00722":{"line":3977,"offset":699539,"length":174,"previous":"M21-GAP-00721","next":"M21-GAP-00723"},"M21-GAP-00723":{"line":3978,"offset":699713,"length":174,"previous":"M21-GAP-00722","next":"M21-GAP-00724"},"M21-GAP-00724":{"line":3979,"offset":699887,"length":174,"previous":"M21-GAP-00723","next":"M21-GAP-00725"},"M21-GAP-00725":{"line":3980,"offset":700061,"length":174,"previous":"M21-GAP-00724","next":"M21-GAP-00726"},"M21-GAP-00726":{"line":3981,"offset":700235,"length":174,"previous":"M21-GAP-00725","next":"M21-GAP-00727"},"M21-GAP-00727":{"line":3982,"offset":700409,"length":174,"previous":"M21-GAP-00726","next":"M21-GAP-00728"},"M21-GAP-00728":{"line":3983,"offset":700583,"length":174,"previous":"M21-GAP-00727","next":"M21-GAP-00729"},"M21-GAP-00729":{"line":3984,"offset":700757,"length":174,"previous":"M21-GAP-00728","next":"M21-GAP-00730"},"M21-GAP-00730":{"line":3985,"offset":700931,"length":174,"previous":"M21-GAP-00729","next":"M21-GAP-00731"},"M21-GAP-00731":{"line":3986,"offset":701105,"length":173,"previous":"M21-GAP-00730","next":"M21-GAP-00732"},"M21-GAP-00732":{"line":3987,"offset":701278,"length":174,"previous":"M21-GAP-00731","next":"M21-GAP-00733"},"M21-GAP-00733":{"line":3988,"offset":701452,"length":174,"previous":"M21-GAP-00732","next":"M21-GAP-00734"},"M21-GAP-00734":{"line":3989,"offset":701626,"length":174,"previous":"M21-GAP-00733","next":"M21-GAP-00735"},"M21-GAP-00735":{"line":3990,"offset":701800,"length":174,"previous":"M21-GAP-00734","next":"M21-GAP-00736"},"M21-GAP-00736":{"line":3991,"offset":701974,"length":173,"previous":"M21-GAP-00735","next":"M21-GAP-00737"},"M21-GAP-00737":{"line":3992,"offset":702147,"length":173,"previous":"M21-GAP-00736","next":"M21-GAP-00738"},"M21-GAP-00738":{"line":3993,"offset":702320,"length":173,"previous":"M21-GAP-00737","next":"M21-GAP-00739"},"M21-GAP-00739":{"line":3994,"offset":702493,"length":173,"previous":"M21-GAP-00738","next":"M21-GAP-00740"},"M21-GAP-00740":{"line":3995,"offset":702666,"length":173,"previous":"M21-GAP-00739","next":"M21-GAP-00741"},"M21-GAP-00741":{"line":3996,"offset":702839,"length":173,"previous":"M21-GAP-00740","next":"M21-GAP-00742"},"M21-GAP-00742":{"line":3997,"offset":703012,"length":191,"previous":"M21-GAP-00741","next":"M21-GAP-00743"},"M21-GAP-00743":{"line":3998,"offset":703203,"length":191,"previous":"M21-GAP-00742","next":"M21-GAP-00744"},"M21-GAP-00744":{"line":3999,"offset":703394,"length":192,"previous":"M21-GAP-00743","next":"M21-GAP-00745"},"M21-GAP-00745":{"line":4000,"offset":703586,"length":192,"previous":"M21-GAP-00744","next":"M21-GAP-00746"},"M21-GAP-00746":{"line":4001,"offset":703778,"length":192,"previous":"M21-GAP-00745","next":"M21-GAP-00747"},"M21-GAP-00747":{"line":4002,"offset":703970,"length":192,"previous":"M21-GAP-00746","next":"M21-GAP-00748"},"M21-GAP-00748":{"line":4003,"offset":704162,"length":191,"previous":"M21-GAP-00747","next":"M21-GAP-00749"},"M21-GAP-00749":{"line":4004,"offset":704353,"length":191,"previous":"M21-GAP-00748","next":"M21-GAP-00750"},"M21-GAP-00750":{"line":4005,"offset":704544,"length":191,"previous":"M21-GAP-00749","next":"M21-GAP-00751"},"M21-GAP-00751":{"line":4006,"offset":704735,"length":191,"previous":"M21-GAP-00750","next":"M21-GAP-00752"},"M21-GAP-00752":{"line":4007,"offset":704926,"length":191,"previous":"M21-GAP-00751","next":"M21-GAP-00753"},"M21-GAP-00753":{"line":4008,"offset":705117,"length":191,"previous":"M21-GAP-00752","next":"M21-GAP-00754"},"M21-GAP-00754":{"line":4009,"offset":705308,"length":191,"previous":"M21-GAP-00753","next":"M21-GAP-00755"},"M21-GAP-00755":{"line":4010,"offset":705499,"length":191,"previous":"M21-GAP-00754","next":"M21-GAP-00756"},"M21-GAP-00756":{"line":4011,"offset":705690,"length":195,"previous":"M21-GAP-00755","next":"M21-GAP-00757"},"M21-GAP-00757":{"line":4012,"offset":705885,"length":195,"previous":"M21-GAP-00756","next":"M21-GAP-00758"},"M21-GAP-00758":{"line":4013,"offset":706080,"length":195,"previous":"M21-GAP-00757","next":"M21-GAP-00759"},"M21-GAP-00759":{"line":4014,"offset":706275,"length":187,"previous":"M21-GAP-00758","next":"M21-GAP-00760"},"M21-GAP-00760":{"line":4015,"offset":706462,"length":187,"previous":"M21-GAP-00759","next":"M21-GAP-00761"},"M21-GAP-00761":{"line":4016,"offset":706649,"length":188,"previous":"M21-GAP-00760","next":"M21-GAP-00762"},"M21-GAP-00762":{"line":4017,"offset":706837,"length":188,"previous":"M21-GAP-00761","next":"M21-GAP-00763"},"M21-GAP-00763":{"line":4018,"offset":707025,"length":188,"previous":"M21-GAP-00762","next":"M21-GAP-00764"},"M21-GAP-00764":{"line":4019,"offset":707213,"length":188,"previous":"M21-GAP-00763","next":"M21-GAP-00765"},"M21-GAP-00765":{"line":4020,"offset":707401,"length":188,"previous":"M21-GAP-00764","next":"M21-GAP-00766"},"M21-GAP-00766":{"line":4021,"offset":707589,"length":188,"previous":"M21-GAP-00765","next":"M21-GAP-00767"},"M21-GAP-00767":{"line":4022,"offset":707777,"length":188,"previous":"M21-GAP-00766","next":"M21-GAP-00768"},"M21-GAP-00768":{"line":4023,"offset":707965,"length":188,"previous":"M21-GAP-00767","next":"M21-GAP-00769"},"M21-GAP-00769":{"line":4024,"offset":708153,"length":188,"previous":"M21-GAP-00768","next":"M21-GAP-00770"},"M21-GAP-00770":{"line":4025,"offset":708341,"length":188,"previous":"M21-GAP-00769","next":"M21-GAP-00771"},"M21-GAP-00771":{"line":4026,"offset":708529,"length":187,"previous":"M21-GAP-00770","next":"M21-GAP-00772"},"M21-GAP-00772":{"line":4027,"offset":708716,"length":188,"previous":"M21-GAP-00771","next":"M21-GAP-00773"},"M21-GAP-00773":{"line":4028,"offset":708904,"length":188,"previous":"M21-GAP-00772","next":"M21-GAP-00774"},"M21-GAP-00774":{"line":4029,"offset":709092,"length":188,"previous":"M21-GAP-00773","next":"M21-GAP-00775"},"M21-GAP-00775":{"line":4030,"offset":709280,"length":188,"previous":"M21-GAP-00774","next":"M21-GAP-00776"},"M21-GAP-00776":{"line":4031,"offset":709468,"length":188,"previous":"M21-GAP-00775","next":"M21-GAP-00777"},"M21-GAP-00777":{"line":4032,"offset":709656,"length":188,"previous":"M21-GAP-00776","next":"M21-GAP-00778"},"M21-GAP-00778":{"line":4033,"offset":709844,"length":188,"previous":"M21-GAP-00777","next":"M21-GAP-00779"},"M21-GAP-00779":{"line":4034,"offset":710032,"length":188,"previous":"M21-GAP-00778","next":"M21-GAP-00780"},"M21-GAP-00780":{"line":4035,"offset":710220,"length":188,"previous":"M21-GAP-00779","next":"M21-GAP-00781"},"M21-GAP-00781":{"line":4036,"offset":710408,"length":188,"previous":"M21-GAP-00780","next":"M21-GAP-00782"},"M21-GAP-00782":{"line":4037,"offset":710596,"length":187,"previous":"M21-GAP-00781","next":"M21-GAP-00783"},"M21-GAP-00783":{"line":4038,"offset":710783,"length":188,"previous":"M21-GAP-00782","next":"M21-GAP-00784"},"M21-GAP-00784":{"line":4039,"offset":710971,"length":188,"previous":"M21-GAP-00783","next":"M21-GAP-00785"},"M21-GAP-00785":{"line":4040,"offset":711159,"length":188,"previous":"M21-GAP-00784","next":"M21-GAP-00786"},"M21-GAP-00786":{"line":4041,"offset":711347,"length":188,"previous":"M21-GAP-00785","next":"M21-GAP-00787"},"M21-GAP-00787":{"line":4042,"offset":711535,"length":188,"previous":"M21-GAP-00786","next":"M21-GAP-00788"},"M21-GAP-00788":{"line":4043,"offset":711723,"length":188,"previous":"M21-GAP-00787","next":"M21-GAP-00789"},"M21-GAP-00789":{"line":4044,"offset":711911,"length":188,"previous":"M21-GAP-00788","next":"M21-GAP-00790"},"M21-GAP-00790":{"line":4045,"offset":712099,"length":188,"previous":"M21-GAP-00789","next":"M21-GAP-00791"},"M21-GAP-00791":{"line":4046,"offset":712287,"length":188,"previous":"M21-GAP-00790","next":"M21-GAP-00792"},"M21-GAP-00792":{"line":4047,"offset":712475,"length":188,"previous":"M21-GAP-00791","next":"M21-GAP-00793"},"M21-GAP-00793":{"line":4048,"offset":712663,"length":187,"previous":"M21-GAP-00792","next":"M21-GAP-00794"},"M21-GAP-00794":{"line":4049,"offset":712850,"length":188,"previous":"M21-GAP-00793","next":"M21-GAP-00795"},"M21-GAP-00795":{"line":4050,"offset":713038,"length":188,"previous":"M21-GAP-00794","next":"M21-GAP-00796"},"M21-GAP-00796":{"line":4051,"offset":713226,"length":188,"previous":"M21-GAP-00795","next":"M21-GAP-00797"},"M21-GAP-00797":{"line":4052,"offset":713414,"length":188,"previous":"M21-GAP-00796","next":"M21-GAP-00798"},"M21-GAP-00798":{"line":4053,"offset":713602,"length":188,"previous":"M21-GAP-00797","next":"M21-GAP-00799"},"M21-GAP-00799":{"line":4054,"offset":713790,"length":188,"previous":"M21-GAP-00798","next":"M21-GAP-00800"},"M21-GAP-00800":{"line":4055,"offset":713978,"length":188,"previous":"M21-GAP-00799","next":"M21-GAP-00801"},"M21-GAP-00801":{"line":4056,"offset":714166,"length":188,"previous":"M21-GAP-00800","next":"M21-GAP-00802"},"M21-GAP-00802":{"line":4057,"offset":714354,"length":188,"previous":"M21-GAP-00801","next":"M21-GAP-00803"},"M21-GAP-00803":{"line":4058,"offset":714542,"length":188,"previous":"M21-GAP-00802","next":"M21-GAP-00804"},"M21-GAP-00804":{"line":4059,"offset":714730,"length":187,"previous":"M21-GAP-00803","next":"M21-GAP-00805"},"M21-GAP-00805":{"line":4060,"offset":714917,"length":188,"previous":"M21-GAP-00804","next":"M21-GAP-00806"},"M21-GAP-00806":{"line":4061,"offset":715105,"length":188,"previous":"M21-GAP-00805","next":"M21-GAP-00807"},"M21-GAP-00807":{"line":4062,"offset":715293,"length":188,"previous":"M21-GAP-00806","next":"M21-GAP-00808"},"M21-GAP-00808":{"line":4063,"offset":715481,"length":188,"previous":"M21-GAP-00807","next":"M21-GAP-00809"},"M21-GAP-00809":{"line":4064,"offset":715669,"length":188,"previous":"M21-GAP-00808","next":"M21-GAP-00810"},"M21-GAP-00810":{"line":4065,"offset":715857,"length":188,"previous":"M21-GAP-00809","next":"M21-GAP-00811"},"M21-GAP-00811":{"line":4066,"offset":716045,"length":188,"previous":"M21-GAP-00810","next":"M21-GAP-00812"},"M21-GAP-00812":{"line":4067,"offset":716233,"length":188,"previous":"M21-GAP-00811","next":"M21-GAP-00813"},"M21-GAP-00813":{"line":4068,"offset":716421,"length":188,"previous":"M21-GAP-00812","next":"M21-GAP-00814"},"M21-GAP-00814":{"line":4069,"offset":716609,"length":188,"previous":"M21-GAP-00813","next":"M21-GAP-00815"},"M21-GAP-00815":{"line":4070,"offset":716797,"length":187,"previous":"M21-GAP-00814","next":"M21-GAP-00816"},"M21-GAP-00816":{"line":4071,"offset":716984,"length":188,"previous":"M21-GAP-00815","next":"M21-GAP-00817"},"M21-GAP-00817":{"line":4072,"offset":717172,"length":188,"previous":"M21-GAP-00816","next":"M21-GAP-00818"},"M21-GAP-00818":{"line":4073,"offset":717360,"length":188,"previous":"M21-GAP-00817","next":"M21-GAP-00819"},"M21-GAP-00819":{"line":4074,"offset":717548,"length":188,"previous":"M21-GAP-00818","next":"M21-GAP-00820"},"M21-GAP-00820":{"line":4075,"offset":717736,"length":188,"previous":"M21-GAP-00819","next":"M21-GAP-00821"},"M21-GAP-00821":{"line":4076,"offset":717924,"length":188,"previous":"M21-GAP-00820","next":"M21-GAP-00822"},"M21-GAP-00822":{"line":4077,"offset":718112,"length":188,"previous":"M21-GAP-00821","next":"M21-GAP-00823"},"M21-GAP-00823":{"line":4078,"offset":718300,"length":188,"previous":"M21-GAP-00822","next":"M21-GAP-00824"},"M21-GAP-00824":{"line":4079,"offset":718488,"length":187,"previous":"M21-GAP-00823","next":"M21-GAP-00825"},"M21-GAP-00825":{"line":4080,"offset":718675,"length":187,"previous":"M21-GAP-00824","next":"M21-GAP-00826"},"M21-GAP-00826":{"line":4081,"offset":718862,"length":187,"previous":"M21-GAP-00825","next":"M21-GAP-00827"},"M21-GAP-00827":{"line":4082,"offset":719049,"length":205,"previous":"M21-GAP-00826","next":"M21-GAP-00828"},"M21-GAP-00828":{"line":4083,"offset":719254,"length":205,"previous":"M21-GAP-00827","next":"M21-GAP-00829"},"M21-GAP-00829":{"line":4084,"offset":719459,"length":205,"previous":"M21-GAP-00828","next":"M21-GAP-00830"},"M21-GAP-00830":{"line":4085,"offset":719664,"length":205,"previous":"M21-GAP-00829","next":"M21-GAP-00831"},"M21-GAP-00831":{"line":4086,"offset":719869,"length":205,"previous":"M21-GAP-00830","next":"M21-GAP-00832"},"M21-GAP-00832":{"line":4087,"offset":720074,"length":205,"previous":"M21-GAP-00831","next":"M21-GAP-00833"},"M21-GAP-00833":{"line":4088,"offset":720279,"length":205,"previous":"M21-GAP-00832","next":"M21-GAP-00834"},"M21-GAP-00834":{"line":4089,"offset":720484,"length":187,"previous":"M21-GAP-00833","next":"M21-GAP-00835"},"M21-GAP-00835":{"line":4090,"offset":720671,"length":187,"previous":"M21-GAP-00834","next":"M21-GAP-00836"},"M21-GAP-00836":{"line":4091,"offset":720858,"length":187,"previous":"M21-GAP-00835","next":"M21-GAP-00837"},"M21-GAP-00837":{"line":4092,"offset":721045,"length":187,"previous":"M21-GAP-00836","next":"M21-GAP-00838"},"M21-GAP-00838":{"line":4093,"offset":721232,"length":187,"previous":"M21-GAP-00837","next":"M21-GAP-00839"},"M21-GAP-00839":{"line":4094,"offset":721419,"length":187,"previous":"M21-GAP-00838","next":"M21-GAP-00840"},"M21-GAP-00840":{"line":4095,"offset":721606,"length":187,"previous":"M21-GAP-00839","next":"M21-GAP-00841"},"M21-GAP-00841":{"line":4096,"offset":721793,"length":194,"previous":"M21-GAP-00840","next":"M21-GAP-00842"},"M21-GAP-00842":{"line":4097,"offset":721987,"length":194,"previous":"M21-GAP-00841","next":"M21-GAP-00843"},"M21-GAP-00843":{"line":4098,"offset":722181,"length":194,"previous":"M21-GAP-00842","next":"M21-GAP-00844"},"M21-GAP-00844":{"line":4099,"offset":722375,"length":194,"previous":"M21-GAP-00843","next":"M21-GAP-00845"},"M21-GAP-00845":{"line":4100,"offset":722569,"length":194,"previous":"M21-GAP-00844","next":"M21-GAP-00846"},"M21-GAP-00846":{"line":4101,"offset":722763,"length":194,"previous":"M21-GAP-00845","next":"M21-GAP-00847"},"M21-GAP-00847":{"line":4102,"offset":722957,"length":191,"previous":"M21-GAP-00846","next":"M21-GAP-00848"},"M21-GAP-00848":{"line":4103,"offset":723148,"length":191,"previous":"M21-GAP-00847","next":"M21-GAP-00849"},"M21-GAP-00849":{"line":4104,"offset":723339,"length":192,"previous":"M21-GAP-00848","next":"M21-GAP-00850"},"M21-GAP-00850":{"line":4105,"offset":723531,"length":192,"previous":"M21-GAP-00849","next":"M21-GAP-00851"},"M21-GAP-00851":{"line":4106,"offset":723723,"length":192,"previous":"M21-GAP-00850","next":"M21-GAP-00852"},"M21-GAP-00852":{"line":4107,"offset":723915,"length":192,"previous":"M21-GAP-00851","next":"M21-GAP-00853"},"M21-GAP-00853":{"line":4108,"offset":724107,"length":192,"previous":"M21-GAP-00852","next":"M21-GAP-00854"},"M21-GAP-00854":{"line":4109,"offset":724299,"length":192,"previous":"M21-GAP-00853","next":"M21-GAP-00855"},"M21-GAP-00855":{"line":4110,"offset":724491,"length":192,"previous":"M21-GAP-00854","next":"M21-GAP-00856"},"M21-GAP-00856":{"line":4111,"offset":724683,"length":192,"previous":"M21-GAP-00855","next":"M21-GAP-00857"},"M21-GAP-00857":{"line":4112,"offset":724875,"length":192,"previous":"M21-GAP-00856","next":"M21-GAP-00858"},"M21-GAP-00858":{"line":4113,"offset":725067,"length":192,"previous":"M21-GAP-00857","next":"M21-GAP-00859"},"M21-GAP-00859":{"line":4114,"offset":725259,"length":191,"previous":"M21-GAP-00858","next":"M21-GAP-00860"},"M21-GAP-00860":{"line":4115,"offset":725450,"length":192,"previous":"M21-GAP-00859","next":"M21-GAP-00861"},"M21-GAP-00861":{"line":4116,"offset":725642,"length":192,"previous":"M21-GAP-00860","next":"M21-GAP-00862"},"M21-GAP-00862":{"line":4117,"offset":725834,"length":192,"previous":"M21-GAP-00861","next":"M21-GAP-00863"},"M21-GAP-00863":{"line":4118,"offset":726026,"length":192,"previous":"M21-GAP-00862","next":"M21-GAP-00864"},"M21-GAP-00864":{"line":4119,"offset":726218,"length":192,"previous":"M21-GAP-00863","next":"M21-GAP-00865"},"M21-GAP-00865":{"line":4120,"offset":726410,"length":192,"previous":"M21-GAP-00864","next":"M21-GAP-00866"},"M21-GAP-00866":{"line":4121,"offset":726602,"length":192,"previous":"M21-GAP-00865","next":"M21-GAP-00867"},"M21-GAP-00867":{"line":4122,"offset":726794,"length":192,"previous":"M21-GAP-00866","next":"M21-GAP-00868"},"M21-GAP-00868":{"line":4123,"offset":726986,"length":192,"previous":"M21-GAP-00867","next":"M21-GAP-00869"},"M21-GAP-00869":{"line":4124,"offset":727178,"length":192,"previous":"M21-GAP-00868","next":"M21-GAP-00870"},"M21-GAP-00870":{"line":4125,"offset":727370,"length":191,"previous":"M21-GAP-00869","next":"M21-GAP-00871"},"M21-GAP-00871":{"line":4126,"offset":727561,"length":192,"previous":"M21-GAP-00870","next":"M21-GAP-00872"},"M21-GAP-00872":{"line":4127,"offset":727753,"length":192,"previous":"M21-GAP-00871","next":"M21-GAP-00873"},"M21-GAP-00873":{"line":4128,"offset":727945,"length":191,"previous":"M21-GAP-00872","next":"M21-GAP-00874"},"M21-GAP-00874":{"line":4129,"offset":728136,"length":191,"previous":"M21-GAP-00873","next":"M21-GAP-00875"},"M21-GAP-00875":{"line":4130,"offset":728327,"length":191,"previous":"M21-GAP-00874","next":"M21-GAP-00876"},"M21-GAP-00876":{"line":4131,"offset":728518,"length":191,"previous":"M21-GAP-00875","next":"M21-GAP-00877"},"M21-GAP-00877":{"line":4132,"offset":728709,"length":191,"previous":"M21-GAP-00876","next":"M21-GAP-00878"},"M21-GAP-00878":{"line":4133,"offset":728900,"length":191,"previous":"M21-GAP-00877","next":"M21-GAP-00879"},"M21-GAP-00879":{"line":4134,"offset":729091,"length":186,"previous":"M21-GAP-00878","next":"M21-GAP-00880"},"M21-GAP-00880":{"line":4135,"offset":729277,"length":186,"previous":"M21-GAP-00879","next":"M21-GAP-00881"},"M21-GAP-00881":{"line":4136,"offset":729463,"length":187,"previous":"M21-GAP-00880","next":"M21-GAP-00882"},"M21-GAP-00882":{"line":4137,"offset":729650,"length":187,"previous":"M21-GAP-00881","next":"M21-GAP-00883"},"M21-GAP-00883":{"line":4138,"offset":729837,"length":187,"previous":"M21-GAP-00882","next":"M21-GAP-00884"},"M21-GAP-00884":{"line":4139,"offset":730024,"length":187,"previous":"M21-GAP-00883","next":"M21-GAP-00885"},"M21-GAP-00885":{"line":4140,"offset":730211,"length":187,"previous":"M21-GAP-00884","next":"M21-GAP-00886"},"M21-GAP-00886":{"line":4141,"offset":730398,"length":187,"previous":"M21-GAP-00885","next":"M21-GAP-00887"},"M21-GAP-00887":{"line":4142,"offset":730585,"length":187,"previous":"M21-GAP-00886","next":"M21-GAP-00888"},"M21-GAP-00888":{"line":4143,"offset":730772,"length":187,"previous":"M21-GAP-00887","next":"M21-GAP-00889"},"M21-GAP-00889":{"line":4144,"offset":730959,"length":187,"previous":"M21-GAP-00888","next":"M21-GAP-00890"},"M21-GAP-00890":{"line":4145,"offset":731146,"length":187,"previous":"M21-GAP-00889","next":"M21-GAP-00891"},"M21-GAP-00891":{"line":4146,"offset":731333,"length":186,"previous":"M21-GAP-00890","next":"M21-GAP-00892"},"M21-GAP-00892":{"line":4147,"offset":731519,"length":187,"previous":"M21-GAP-00891","next":"M21-GAP-00893"},"M21-GAP-00893":{"line":4148,"offset":731706,"length":187,"previous":"M21-GAP-00892","next":"M21-GAP-00894"},"M21-GAP-00894":{"line":4149,"offset":731893,"length":187,"previous":"M21-GAP-00893","next":"M21-GAP-00895"},"M21-GAP-00895":{"line":4150,"offset":732080,"length":187,"previous":"M21-GAP-00894","next":"M21-GAP-00896"},"M21-GAP-00896":{"line":4151,"offset":732267,"length":187,"previous":"M21-GAP-00895","next":"M21-GAP-00897"},"M21-GAP-00897":{"line":4152,"offset":732454,"length":187,"previous":"M21-GAP-00896","next":"M21-GAP-00898"},"M21-GAP-00898":{"line":4153,"offset":732641,"length":187,"previous":"M21-GAP-00897","next":"M21-GAP-00899"},"M21-GAP-00899":{"line":4154,"offset":732828,"length":187,"previous":"M21-GAP-00898","next":"M21-GAP-00900"},"M21-GAP-00900":{"line":4155,"offset":733015,"length":187,"previous":"M21-GAP-00899","next":"M21-GAP-00901"},"M21-GAP-00901":{"line":4156,"offset":733202,"length":187,"previous":"M21-GAP-00900","next":"M21-GAP-00902"},"M21-GAP-00902":{"line":4157,"offset":733389,"length":186,"previous":"M21-GAP-00901","next":"M21-GAP-00903"},"M21-GAP-00903":{"line":4158,"offset":733575,"length":187,"previous":"M21-GAP-00902","next":"M21-GAP-00904"},"M21-GAP-00904":{"line":4159,"offset":733762,"length":187,"previous":"M21-GAP-00903","next":"M21-GAP-00905"},"M21-GAP-00905":{"line":4160,"offset":733949,"length":186,"previous":"M21-GAP-00904","next":"M21-GAP-00906"},"M21-GAP-00906":{"line":4161,"offset":734135,"length":186,"previous":"M21-GAP-00905","next":"M21-GAP-00907"},"M21-GAP-00907":{"line":4162,"offset":734321,"length":186,"previous":"M21-GAP-00906","next":"M21-GAP-00908"},"M21-GAP-00908":{"line":4163,"offset":734507,"length":186,"previous":"M21-GAP-00907","next":"M21-GAP-00909"},"M21-GAP-00909":{"line":4164,"offset":734693,"length":186,"previous":"M21-GAP-00908","next":"M21-GAP-00910"},"M21-GAP-00910":{"line":4165,"offset":734879,"length":186,"previous":"M21-GAP-00909","next":"M21-GAP-00911"},"M21-GAP-00911":{"line":4166,"offset":735065,"length":186,"previous":"M21-GAP-00910","next":"M21-GAP-00912"},"M21-GAP-00912":{"line":4167,"offset":735251,"length":186,"previous":"M21-GAP-00911","next":"M21-GAP-00913"},"M21-GAP-00913":{"line":4168,"offset":735437,"length":187,"previous":"M21-GAP-00912","next":"M21-GAP-00914"},"M21-GAP-00914":{"line":4169,"offset":735624,"length":187,"previous":"M21-GAP-00913","next":"M21-GAP-00915"},"M21-GAP-00915":{"line":4170,"offset":735811,"length":187,"previous":"M21-GAP-00914","next":"M21-GAP-00916"},"M21-GAP-00916":{"line":4171,"offset":735998,"length":187,"previous":"M21-GAP-00915","next":"M21-GAP-00917"},"M21-GAP-00917":{"line":4172,"offset":736185,"length":186,"previous":"M21-GAP-00916","next":"M21-GAP-00918"},"M21-GAP-00918":{"line":4173,"offset":736371,"length":186,"previous":"M21-GAP-00917","next":"M21-GAP-00919"},"M21-GAP-00919":{"line":4174,"offset":736557,"length":186,"previous":"M21-GAP-00918","next":"M21-GAP-00920"},"M21-GAP-00920":{"line":4175,"offset":736743,"length":186,"previous":"M21-GAP-00919","next":"M21-GAP-00921"},"M21-GAP-00921":{"line":4176,"offset":736929,"length":186,"previous":"M21-GAP-00920","next":"M21-GAP-00922"},"M21-GAP-00922":{"line":4177,"offset":737115,"length":186,"previous":"M21-GAP-00921","next":"M21-GAP-00923"},"M21-GAP-00923":{"line":4178,"offset":737301,"length":186,"previous":"M21-GAP-00922","next":"M21-GAP-00924"},"M21-GAP-00924":{"line":4179,"offset":737487,"length":186,"previous":"M21-GAP-00923","next":"M21-GAP-00925"},"M21-GAP-00925":{"line":4180,"offset":737673,"length":171,"previous":"M21-GAP-00924","next":"M21-GAP-00926"},"M21-GAP-00926":{"line":4181,"offset":737844,"length":171,"previous":"M21-GAP-00925","next":"M21-GAP-00927"},"M21-GAP-00927":{"line":4182,"offset":738015,"length":172,"previous":"M21-GAP-00926","next":"M21-GAP-00928"},"M21-GAP-00928":{"line":4183,"offset":738187,"length":172,"previous":"M21-GAP-00927","next":"M21-GAP-00929"},"M21-GAP-00929":{"line":4184,"offset":738359,"length":172,"previous":"M21-GAP-00928","next":"M21-GAP-00930"},"M21-GAP-00930":{"line":4185,"offset":738531,"length":172,"previous":"M21-GAP-00929","next":"M21-GAP-00931"},"M21-GAP-00931":{"line":4186,"offset":738703,"length":172,"previous":"M21-GAP-00930","next":"M21-GAP-00932"},"M21-GAP-00932":{"line":4187,"offset":738875,"length":172,"previous":"M21-GAP-00931","next":"M21-GAP-00933"},"M21-GAP-00933":{"line":4188,"offset":739047,"length":172,"previous":"M21-GAP-00932","next":"M21-GAP-00934"},"M21-GAP-00934":{"line":4189,"offset":739219,"length":172,"previous":"M21-GAP-00933","next":"M21-GAP-00935"},"M21-GAP-00935":{"line":4190,"offset":739391,"length":172,"previous":"M21-GAP-00934","next":"M21-GAP-00936"},"M21-GAP-00936":{"line":4191,"offset":739563,"length":172,"previous":"M21-GAP-00935","next":"M21-GAP-00937"},"M21-GAP-00937":{"line":4192,"offset":739735,"length":171,"previous":"M21-GAP-00936","next":"M21-GAP-00938"},"M21-GAP-00938":{"line":4193,"offset":739906,"length":172,"previous":"M21-GAP-00937","next":"M21-GAP-00939"},"M21-GAP-00939":{"line":4194,"offset":740078,"length":172,"previous":"M21-GAP-00938","next":"M21-GAP-00940"},"M21-GAP-00940":{"line":4195,"offset":740250,"length":172,"previous":"M21-GAP-00939","next":"M21-GAP-00941"},"M21-GAP-00941":{"line":4196,"offset":740422,"length":172,"previous":"M21-GAP-00940","next":"M21-GAP-00942"},"M21-GAP-00942":{"line":4197,"offset":740594,"length":172,"previous":"M21-GAP-00941","next":"M21-GAP-00943"},"M21-GAP-00943":{"line":4198,"offset":740766,"length":172,"previous":"M21-GAP-00942","next":"M21-GAP-00944"},"M21-GAP-00944":{"line":4199,"offset":740938,"length":172,"previous":"M21-GAP-00943","next":"M21-GAP-00945"},"M21-GAP-00945":{"line":4200,"offset":741110,"length":172,"previous":"M21-GAP-00944","next":"M21-GAP-00946"},"M21-GAP-00946":{"line":4201,"offset":741282,"length":172,"previous":"M21-GAP-00945","next":"M21-GAP-00947"},"M21-GAP-00947":{"line":4202,"offset":741454,"length":172,"previous":"M21-GAP-00946","next":"M21-GAP-00948"},"M21-GAP-00948":{"line":4203,"offset":741626,"length":171,"previous":"M21-GAP-00947","next":"M21-GAP-00949"},"M21-GAP-00949":{"line":4204,"offset":741797,"length":172,"previous":"M21-GAP-00948","next":"M21-GAP-00950"},"M21-GAP-00950":{"line":4205,"offset":741969,"length":172,"previous":"M21-GAP-00949","next":"M21-GAP-00951"},"M21-GAP-00951":{"line":4206,"offset":742141,"length":172,"previous":"M21-GAP-00950","next":"M21-GAP-00952"},"M21-GAP-00952":{"line":4207,"offset":742313,"length":172,"previous":"M21-GAP-00951","next":"M21-GAP-00953"},"M21-GAP-00953":{"line":4208,"offset":742485,"length":172,"previous":"M21-GAP-00952","next":"M21-GAP-00954"},"M21-GAP-00954":{"line":4209,"offset":742657,"length":172,"previous":"M21-GAP-00953","next":"M21-GAP-00955"},"M21-GAP-00955":{"line":4210,"offset":742829,"length":172,"previous":"M21-GAP-00954","next":"M21-GAP-00956"},"M21-GAP-00956":{"line":4211,"offset":743001,"length":172,"previous":"M21-GAP-00955","next":"M21-GAP-00957"},"M21-GAP-00957":{"line":4212,"offset":743173,"length":172,"previous":"M21-GAP-00956","next":"M21-GAP-00958"},"M21-GAP-00958":{"line":4213,"offset":743345,"length":172,"previous":"M21-GAP-00957","next":"M21-GAP-00959"},"M21-GAP-00959":{"line":4214,"offset":743517,"length":171,"previous":"M21-GAP-00958","next":"M21-GAP-00960"},"M21-GAP-00960":{"line":4215,"offset":743688,"length":172,"previous":"M21-GAP-00959","next":"M21-GAP-00961"},"M21-GAP-00961":{"line":4216,"offset":743860,"length":172,"previous":"M21-GAP-00960","next":"M21-GAP-00962"},"M21-GAP-00962":{"line":4217,"offset":744032,"length":172,"previous":"M21-GAP-00961","next":"M21-GAP-00963"},"M21-GAP-00963":{"line":4218,"offset":744204,"length":172,"previous":"M21-GAP-00962","next":"M21-GAP-00964"},"M21-GAP-00964":{"line":4219,"offset":744376,"length":172,"previous":"M21-GAP-00963","next":"M21-GAP-00965"},"M21-GAP-00965":{"line":4220,"offset":744548,"length":172,"previous":"M21-GAP-00964","next":"M21-GAP-00966"},"M21-GAP-00966":{"line":4221,"offset":744720,"length":172,"previous":"M21-GAP-00965","next":"M21-GAP-00967"},"M21-GAP-00967":{"line":4222,"offset":744892,"length":172,"previous":"M21-GAP-00966","next":"M21-GAP-00968"},"M21-GAP-00968":{"line":4223,"offset":745064,"length":172,"previous":"M21-GAP-00967","next":"M21-GAP-00969"},"M21-GAP-00969":{"line":4224,"offset":745236,"length":171,"previous":"M21-GAP-00968","next":"M21-GAP-00970"},"M21-GAP-00970":{"line":4225,"offset":745407,"length":171,"previous":"M21-GAP-00969","next":"M21-GAP-00971"},"M21-GAP-00971":{"line":4226,"offset":745578,"length":171,"previous":"M21-GAP-00970","next":"M21-GAP-00972"},"M21-GAP-00972":{"line":4227,"offset":745749,"length":171,"previous":"M21-GAP-00971","next":"M21-GAP-00973"},"M21-GAP-00973":{"line":4228,"offset":745920,"length":171,"previous":"M21-GAP-00972","next":"M21-GAP-00974"},"M21-GAP-00974":{"line":4229,"offset":746091,"length":173,"previous":"M21-GAP-00973","next":"M21-GAP-00975"},"M21-GAP-00975":{"line":4230,"offset":746264,"length":173,"previous":"M21-GAP-00974","next":"M21-GAP-00976"},"M21-GAP-00976":{"line":4231,"offset":746437,"length":174,"previous":"M21-GAP-00975","next":"M21-GAP-00977"},"M21-GAP-00977":{"line":4232,"offset":746611,"length":174,"previous":"M21-GAP-00976","next":"M21-GAP-00978"},"M21-GAP-00978":{"line":4233,"offset":746785,"length":174,"previous":"M21-GAP-00977","next":"M21-GAP-00979"},"M21-GAP-00979":{"line":4234,"offset":746959,"length":174,"previous":"M21-GAP-00978","next":"M21-GAP-00980"},"M21-GAP-00980":{"line":4235,"offset":747133,"length":174,"previous":"M21-GAP-00979","next":"M21-GAP-00981"},"M21-GAP-00981":{"line":4236,"offset":747307,"length":174,"previous":"M21-GAP-00980","next":"M21-GAP-00982"},"M21-GAP-00982":{"line":4237,"offset":747481,"length":174,"previous":"M21-GAP-00981","next":"M21-GAP-00983"},"M21-GAP-00983":{"line":4238,"offset":747655,"length":173,"previous":"M21-GAP-00982","next":"M21-GAP-00984"},"M21-GAP-00984":{"line":4239,"offset":747828,"length":173,"previous":"M21-GAP-00983","next":"M21-GAP-00985"},"M21-GAP-00985":{"line":4240,"offset":748001,"length":173,"previous":"M21-GAP-00984","next":"M21-GAP-00986"},"M21-GAP-00986":{"line":4241,"offset":748174,"length":173,"previous":"M21-GAP-00985","next":"M21-GAP-00987"},"M21-GAP-00987":{"line":4242,"offset":748347,"length":173,"previous":"M21-GAP-00986","next":"M21-GAP-00988"},"M21-GAP-00988":{"line":4243,"offset":748520,"length":173,"previous":"M21-GAP-00987","next":"M21-GAP-00989"},"M21-GAP-00989":{"line":4244,"offset":748693,"length":173,"previous":"M21-GAP-00988","next":"M21-GAP-00990"},"M21-GAP-00990":{"line":4245,"offset":748866,"length":173,"previous":"M21-GAP-00989","next":"M21-GAP-00991"},"M21-GAP-00991":{"line":4246,"offset":749039,"length":191,"previous":"M21-GAP-00990","next":"M21-GAP-00992"},"M21-GAP-00992":{"line":4247,"offset":749230,"length":191,"previous":"M21-GAP-00991","next":"M21-GAP-00993"},"M21-GAP-00993":{"line":4248,"offset":749421,"length":185,"previous":"M21-GAP-00992","next":"M21-GAP-00994"},"M21-GAP-00994":{"line":4249,"offset":749606,"length":191,"previous":"M21-GAP-00993","next":"M21-GAP-00995"},"M21-GAP-00995":{"line":4250,"offset":749797,"length":187,"previous":"M21-GAP-00994","next":"M21-GAP-00996"},"M21-GAP-00996":{"line":4251,"offset":749984,"length":196,"previous":"M21-GAP-00995","next":"M21-GAP-00997"},"M21-GAP-00997":{"line":4252,"offset":750180,"length":196,"previous":"M21-GAP-00996","next":"M21-GAP-00998"},"M21-GAP-00998":{"line":4253,"offset":750376,"length":197,"previous":"M21-GAP-00997","next":"M21-GAP-00999"},"M21-GAP-00999":{"line":4254,"offset":750573,"length":197,"previous":"M21-GAP-00998","next":"M21-GAP-01000"},"M21-GAP-01000":{"line":4255,"offset":750770,"length":196,"previous":"M21-GAP-00999","next":"M21-GAP-01001"},"M21-GAP-01001":{"line":4256,"offset":750966,"length":196,"previous":"M21-GAP-01000","next":"M21-GAP-01002"},"M21-GAP-01002":{"line":4257,"offset":751162,"length":196,"previous":"M21-GAP-01001","next":"M21-GAP-01003"},"M21-GAP-01003":{"line":4258,"offset":751358,"length":196,"previous":"M21-GAP-01002","next":"M21-GAP-01004"},"M21-GAP-01004":{"line":4259,"offset":751554,"length":196,"previous":"M21-GAP-01003","next":"M21-GAP-01005"},"M21-GAP-01005":{"line":4260,"offset":751750,"length":196,"previous":"M21-GAP-01004","next":"M21-GAP-01006"},"M21-GAP-01006":{"line":4261,"offset":751946,"length":196,"previous":"M21-GAP-01005","next":"M21-GAP-01007"},"M21-GAP-01007":{"line":4262,"offset":752142,"length":196,"previous":"M21-GAP-01006","next":"M21-GAP-01008"},"M21-GAP-01008":{"line":4263,"offset":752338,"length":180,"previous":"M21-GAP-01007","next":"M21-GAP-01009"},"M21-GAP-01009":{"line":4264,"offset":752518,"length":196,"previous":"M21-GAP-01008","next":"M21-GAP-01010"},"M21-GAP-01010":{"line":4265,"offset":752714,"length":196,"previous":"M21-GAP-01009","next":"M21-GAP-01011"},"M21-GAP-01011":{"line":4266,"offset":752910,"length":194,"previous":"M21-GAP-01010","next":"M21-GAP-01012"},"M21-GAP-01012":{"line":4267,"offset":753104,"length":194,"previous":"M21-GAP-01011","next":"M21-GAP-01013"},"M21-GAP-01013":{"line":4268,"offset":753298,"length":197,"previous":"M21-GAP-01012","next":"M21-GAP-01014"},"M21-GAP-01014":{"line":4269,"offset":753495,"length":197,"previous":"M21-GAP-01013","next":"M21-GAP-01015"},"M21-GAP-01015":{"line":4270,"offset":753692,"length":189,"previous":"M21-GAP-01014","next":"M21-GAP-01016"},"M21-GAP-01016":{"line":4271,"offset":753881,"length":189,"previous":"M21-GAP-01015","next":"M21-GAP-01017"},"M21-GAP-01017":{"line":4272,"offset":754070,"length":178,"previous":"M21-GAP-01016","next":"M21-GAP-01018"},"M21-GAP-01018":{"line":4273,"offset":754248,"length":178,"previous":"M21-GAP-01017","next":"M21-GAP-01019"},"M21-GAP-01019":{"line":4274,"offset":754426,"length":178,"previous":"M21-GAP-01018","next":"M21-GAP-01020"},"M21-GAP-01020":{"line":4275,"offset":754604,"length":178,"previous":"M21-GAP-01019","next":"M21-GAP-01021"},"M21-GAP-01021":{"line":4276,"offset":754782,"length":178,"previous":"M21-GAP-01020","next":"M21-GAP-01022"},"M21-GAP-01022":{"line":4277,"offset":754960,"length":178,"previous":"M21-GAP-01021","next":"M21-GAP-01023"},"M21-GAP-01023":{"line":4278,"offset":755138,"length":178,"previous":"M21-GAP-01022","next":"M21-GAP-01024"},"M21-GAP-01024":{"line":4279,"offset":755316,"length":178,"previous":"M21-GAP-01023","next":"M21-GAP-01025"},"M21-GAP-01025":{"line":4280,"offset":755494,"length":178,"previous":"M21-GAP-01024","next":"M21-GAP-01026"},"M21-GAP-01026":{"line":4281,"offset":755672,"length":178,"previous":"M21-GAP-01025","next":"M21-GAP-01027"},"M21-GAP-01027":{"line":4282,"offset":755850,"length":180,"previous":"M21-GAP-01026","next":"M21-GAP-01028"},"M21-GAP-01028":{"line":4283,"offset":756030,"length":183,"previous":"M21-GAP-01027","next":"M21-GAP-01029"},"M21-GAP-01029":{"line":4284,"offset":756213,"length":183,"previous":"M21-GAP-01028","next":"M21-GAP-01030"},"M21-GAP-01030":{"line":4285,"offset":756396,"length":183,"previous":"M21-GAP-01029","next":"M21-GAP-01031"},"M21-GAP-01031":{"line":4286,"offset":756579,"length":183,"previous":"M21-GAP-01030","next":"M21-GAP-01032"},"M21-GAP-01032":{"line":4287,"offset":756762,"length":183,"previous":"M21-GAP-01031","next":"M21-GAP-01033"},"M21-GAP-01033":{"line":4288,"offset":756945,"length":183,"previous":"M21-GAP-01032","next":"M21-GAP-01034"},"M21-GAP-01034":{"line":4289,"offset":757128,"length":188,"previous":"M21-GAP-01033","next":"M21-GAP-01035"},"M21-GAP-01035":{"line":4290,"offset":757316,"length":188,"previous":"M21-GAP-01034","next":"M21-GAP-01036"},"M21-GAP-01036":{"line":4291,"offset":757504,"length":188,"previous":"M21-GAP-01035","next":"M21-GAP-01037"},"M21-GAP-01037":{"line":4292,"offset":757692,"length":188,"previous":"M21-GAP-01036","next":"M21-GAP-01038"},"M21-GAP-01038":{"line":4293,"offset":757880,"length":188,"previous":"M21-GAP-01037","next":"M21-GAP-01039"},"M21-GAP-01039":{"line":4294,"offset":758068,"length":188,"previous":"M21-GAP-01038","next":"M21-GAP-01040"},"M21-GAP-01040":{"line":4295,"offset":758256,"length":188,"previous":"M21-GAP-01039","next":"M21-GAP-01041"},"M21-GAP-01041":{"line":4296,"offset":758444,"length":186,"previous":"M21-GAP-01040","next":"M21-GAP-01042"},"M21-GAP-01042":{"line":4297,"offset":758630,"length":186,"previous":"M21-GAP-01041","next":"M21-GAP-01043"},"M21-GAP-01043":{"line":4298,"offset":758816,"length":186,"previous":"M21-GAP-01042","next":"M21-GAP-01044"},"M21-GAP-01044":{"line":4299,"offset":759002,"length":186,"previous":"M21-GAP-01043","next":"M21-GAP-01045"},"M21-GAP-01045":{"line":4300,"offset":759188,"length":186,"previous":"M21-GAP-01044","next":"M21-GAP-01046"},"M21-GAP-01046":{"line":4301,"offset":759374,"length":186,"previous":"M21-GAP-01045","next":"M21-GAP-01047"},"M21-GAP-01047":{"line":4302,"offset":759560,"length":194,"previous":"M21-GAP-01046","next":"M21-GAP-01048"},"M21-GAP-01048":{"line":4303,"offset":759754,"length":194,"previous":"M21-GAP-01047","next":"M21-GAP-01049"},"M21-GAP-01049":{"line":4304,"offset":759948,"length":194,"previous":"M21-GAP-01048","next":"M21-GAP-01050"},"M21-GAP-01050":{"line":4305,"offset":760142,"length":194,"previous":"M21-GAP-01049","next":"M21-GAP-01051"},"M21-GAP-01051":{"line":4306,"offset":760336,"length":194,"previous":"M21-GAP-01050","next":"M21-GAP-01052"},"M21-GAP-01052":{"line":4307,"offset":760530,"length":194,"previous":"M21-GAP-01051","next":"M21-GAP-01053"},"M21-GAP-01053":{"line":4308,"offset":760724,"length":194,"previous":"M21-GAP-01052","next":"M21-GAP-01054"},"M21-GAP-01054":{"line":4309,"offset":760918,"length":194,"previous":"M21-GAP-01053","next":"M21-GAP-01055"},"M21-GAP-01055":{"line":4310,"offset":761112,"length":194,"previous":"M21-GAP-01054","next":"M21-GAP-01056"},"M21-GAP-01056":{"line":4311,"offset":761306,"length":194,"previous":"M21-GAP-01055","next":"M21-GAP-01057"},"M21-GAP-01057":{"line":4312,"offset":761500,"length":186,"previous":"M21-GAP-01056","next":"M21-GAP-01058"},"M21-GAP-01058":{"line":4313,"offset":761686,"length":186,"previous":"M21-GAP-01057","next":"M21-GAP-01059"},"M21-GAP-01059":{"line":4314,"offset":761872,"length":187,"previous":"M21-GAP-01058","next":"M21-GAP-01060"},"M21-GAP-01060":{"line":4315,"offset":762059,"length":187,"previous":"M21-GAP-01059","next":"M21-GAP-01061"},"M21-GAP-01061":{"line":4316,"offset":762246,"length":187,"previous":"M21-GAP-01060","next":"M21-GAP-01062"},"M21-GAP-01062":{"line":4317,"offset":762433,"length":187,"previous":"M21-GAP-01061","next":"M21-GAP-01063"},"M21-GAP-01063":{"line":4318,"offset":762620,"length":187,"previous":"M21-GAP-01062","next":"M21-GAP-01064"},"M21-GAP-01064":{"line":4319,"offset":762807,"length":187,"previous":"M21-GAP-01063","next":"M21-GAP-01065"},"M21-GAP-01065":{"line":4320,"offset":762994,"length":187,"previous":"M21-GAP-01064","next":"M21-GAP-01066"},"M21-GAP-01066":{"line":4321,"offset":763181,"length":187,"previous":"M21-GAP-01065","next":"M21-GAP-01067"},"M21-GAP-01067":{"line":4322,"offset":763368,"length":187,"previous":"M21-GAP-01066","next":"M21-GAP-01068"},"M21-GAP-01068":{"line":4323,"offset":763555,"length":187,"previous":"M21-GAP-01067","next":"M21-GAP-01069"},"M21-GAP-01069":{"line":4324,"offset":763742,"length":186,"previous":"M21-GAP-01068","next":"M21-GAP-01070"},"M21-GAP-01070":{"line":4325,"offset":763928,"length":187,"previous":"M21-GAP-01069","next":"M21-GAP-01071"},"M21-GAP-01071":{"line":4326,"offset":764115,"length":187,"previous":"M21-GAP-01070","next":"M21-GAP-01072"},"M21-GAP-01072":{"line":4327,"offset":764302,"length":187,"previous":"M21-GAP-01071","next":"M21-GAP-01073"},"M21-GAP-01073":{"line":4328,"offset":764489,"length":187,"previous":"M21-GAP-01072","next":"M21-GAP-01074"},"M21-GAP-01074":{"line":4329,"offset":764676,"length":187,"previous":"M21-GAP-01073","next":"M21-GAP-01075"},"M21-GAP-01075":{"line":4330,"offset":764863,"length":187,"previous":"M21-GAP-01074","next":"M21-GAP-01076"},"M21-GAP-01076":{"line":4331,"offset":765050,"length":187,"previous":"M21-GAP-01075","next":"M21-GAP-01077"},"M21-GAP-01077":{"line":4332,"offset":765237,"length":187,"previous":"M21-GAP-01076","next":"M21-GAP-01078"},"M21-GAP-01078":{"line":4333,"offset":765424,"length":187,"previous":"M21-GAP-01077","next":"M21-GAP-01079"},"M21-GAP-01079":{"line":4334,"offset":765611,"length":187,"previous":"M21-GAP-01078","next":"M21-GAP-01080"},"M21-GAP-01080":{"line":4335,"offset":765798,"length":186,"previous":"M21-GAP-01079","next":"M21-GAP-01081"},"M21-GAP-01081":{"line":4336,"offset":765984,"length":187,"previous":"M21-GAP-01080","next":"M21-GAP-01082"},"M21-GAP-01082":{"line":4337,"offset":766171,"length":187,"previous":"M21-GAP-01081","next":"M21-GAP-01083"},"M21-GAP-01083":{"line":4338,"offset":766358,"length":187,"previous":"M21-GAP-01082","next":"M21-GAP-01084"},"M21-GAP-01084":{"line":4339,"offset":766545,"length":187,"previous":"M21-GAP-01083","next":"M21-GAP-01085"},"M21-GAP-01085":{"line":4340,"offset":766732,"length":187,"previous":"M21-GAP-01084","next":"M21-GAP-01086"},"M21-GAP-01086":{"line":4341,"offset":766919,"length":187,"previous":"M21-GAP-01085","next":"M21-GAP-01087"},"M21-GAP-01087":{"line":4342,"offset":767106,"length":187,"previous":"M21-GAP-01086","next":"M21-GAP-01088"},"M21-GAP-01088":{"line":4343,"offset":767293,"length":187,"previous":"M21-GAP-01087","next":"M21-GAP-01089"},"M21-GAP-01089":{"line":4344,"offset":767480,"length":187,"previous":"M21-GAP-01088","next":"M21-GAP-01090"},"M21-GAP-01090":{"line":4345,"offset":767667,"length":187,"previous":"M21-GAP-01089","next":"M21-GAP-01091"},"M21-GAP-01091":{"line":4346,"offset":767854,"length":186,"previous":"M21-GAP-01090","next":"M21-GAP-01092"},"M21-GAP-01092":{"line":4347,"offset":768040,"length":187,"previous":"M21-GAP-01091","next":"M21-GAP-01093"},"M21-GAP-01093":{"line":4348,"offset":768227,"length":187,"previous":"M21-GAP-01092","next":"M21-GAP-01094"},"M21-GAP-01094":{"line":4349,"offset":768414,"length":187,"previous":"M21-GAP-01093","next":"M21-GAP-01095"},"M21-GAP-01095":{"line":4350,"offset":768601,"length":187,"previous":"M21-GAP-01094","next":"M21-GAP-01096"},"M21-GAP-01096":{"line":4351,"offset":768788,"length":187,"previous":"M21-GAP-01095","next":"M21-GAP-01097"},"M21-GAP-01097":{"line":4352,"offset":768975,"length":187,"previous":"M21-GAP-01096","next":"M21-GAP-01098"},"M21-GAP-01098":{"line":4353,"offset":769162,"length":187,"previous":"M21-GAP-01097","next":"M21-GAP-01099"},"M21-GAP-01099":{"line":4354,"offset":769349,"length":187,"previous":"M21-GAP-01098","next":"M21-GAP-01100"},"M21-GAP-01100":{"line":4355,"offset":769536,"length":187,"previous":"M21-GAP-01099","next":"M21-GAP-01101"},"M21-GAP-01101":{"line":4356,"offset":769723,"length":187,"previous":"M21-GAP-01100","next":"M21-GAP-01102"},"M21-GAP-01102":{"line":4357,"offset":769910,"length":186,"previous":"M21-GAP-01101","next":"M21-GAP-01103"},"M21-GAP-01103":{"line":4358,"offset":770096,"length":187,"previous":"M21-GAP-01102","next":"M21-GAP-01104"},"M21-GAP-01104":{"line":4359,"offset":770283,"length":187,"previous":"M21-GAP-01103","next":"M21-GAP-01105"},"M21-GAP-01105":{"line":4360,"offset":770470,"length":187,"previous":"M21-GAP-01104","next":"M21-GAP-01106"},"M21-GAP-01106":{"line":4361,"offset":770657,"length":187,"previous":"M21-GAP-01105","next":"M21-GAP-01107"},"M21-GAP-01107":{"line":4362,"offset":770844,"length":187,"previous":"M21-GAP-01106","next":"M21-GAP-01108"},"M21-GAP-01108":{"line":4363,"offset":771031,"length":187,"previous":"M21-GAP-01107","next":"M21-GAP-01109"},"M21-GAP-01109":{"line":4364,"offset":771218,"length":187,"previous":"M21-GAP-01108","next":"M21-GAP-01110"},"M21-GAP-01110":{"line":4365,"offset":771405,"length":187,"previous":"M21-GAP-01109","next":"M21-GAP-01111"},"M21-GAP-01111":{"line":4366,"offset":771592,"length":187,"previous":"M21-GAP-01110","next":"M21-GAP-01112"},"M21-GAP-01112":{"line":4367,"offset":771779,"length":187,"previous":"M21-GAP-01111","next":"M21-GAP-01113"},"M21-GAP-01113":{"line":4368,"offset":771966,"length":186,"previous":"M21-GAP-01112","next":"M21-GAP-01114"},"M21-GAP-01114":{"line":4369,"offset":772152,"length":187,"previous":"M21-GAP-01113","next":"M21-GAP-01115"},"M21-GAP-01115":{"line":4370,"offset":772339,"length":187,"previous":"M21-GAP-01114","next":"M21-GAP-01116"},"M21-GAP-01116":{"line":4371,"offset":772526,"length":187,"previous":"M21-GAP-01115","next":"M21-GAP-01117"},"M21-GAP-01117":{"line":4372,"offset":772713,"length":187,"previous":"M21-GAP-01116","next":"M21-GAP-01118"},"M21-GAP-01118":{"line":4373,"offset":772900,"length":187,"previous":"M21-GAP-01117","next":"M21-GAP-01119"},"M21-GAP-01119":{"line":4374,"offset":773087,"length":187,"previous":"M21-GAP-01118","next":"M21-GAP-01120"},"M21-GAP-01120":{"line":4375,"offset":773274,"length":187,"previous":"M21-GAP-01119","next":"M21-GAP-01121"},"M21-GAP-01121":{"line":4376,"offset":773461,"length":187,"previous":"M21-GAP-01120","next":"M21-GAP-01122"},"M21-GAP-01122":{"line":4377,"offset":773648,"length":187,"previous":"M21-GAP-01121","next":"M21-GAP-01123"},"M21-GAP-01123":{"line":4378,"offset":773835,"length":187,"previous":"M21-GAP-01122","next":"M21-GAP-01124"},"M21-GAP-01124":{"line":4379,"offset":774022,"length":186,"previous":"M21-GAP-01123","next":"M21-GAP-01125"},"M21-GAP-01125":{"line":4380,"offset":774208,"length":187,"previous":"M21-GAP-01124","next":"M21-GAP-01126"},"M21-GAP-01126":{"line":4381,"offset":774395,"length":186,"previous":"M21-GAP-01125","next":"M21-GAP-01127"},"M21-GAP-01127":{"line":4382,"offset":774581,"length":186,"previous":"M21-GAP-01126","next":"M21-GAP-01128"},"M21-GAP-01128":{"line":4383,"offset":774767,"length":193,"previous":"M21-GAP-01127","next":"M21-GAP-01129"},"M21-GAP-01129":{"line":4384,"offset":774960,"length":193,"previous":"M21-GAP-01128","next":"M21-GAP-01130"},"M21-GAP-01130":{"line":4385,"offset":775153,"length":193,"previous":"M21-GAP-01129","next":"M21-GAP-01131"},"M21-GAP-01131":{"line":4386,"offset":775346,"length":193,"previous":"M21-GAP-01130","next":"M21-GAP-01132"},"M21-GAP-01132":{"line":4387,"offset":775539,"length":193,"previous":"M21-GAP-01131","next":"M21-GAP-01133"},"M21-GAP-01133":{"line":4388,"offset":775732,"length":193,"previous":"M21-GAP-01132","next":"M21-GAP-01134"},"M21-GAP-01134":{"line":4389,"offset":775925,"length":190,"previous":"M21-GAP-01133","next":"M21-GAP-01135"},"M21-GAP-01135":{"line":4390,"offset":776115,"length":190,"previous":"M21-GAP-01134","next":"M21-GAP-01136"},"M21-GAP-01136":{"line":4391,"offset":776305,"length":191,"previous":"M21-GAP-01135","next":"M21-GAP-01137"},"M21-GAP-01137":{"line":4392,"offset":776496,"length":191,"previous":"M21-GAP-01136","next":"M21-GAP-01138"},"M21-GAP-01138":{"line":4393,"offset":776687,"length":191,"previous":"M21-GAP-01137","next":"M21-GAP-01139"},"M21-GAP-01139":{"line":4394,"offset":776878,"length":191,"previous":"M21-GAP-01138","next":"M21-GAP-01140"},"M21-GAP-01140":{"line":4395,"offset":777069,"length":191,"previous":"M21-GAP-01139","next":"M21-GAP-01141"},"M21-GAP-01141":{"line":4396,"offset":777260,"length":191,"previous":"M21-GAP-01140","next":"M21-GAP-01142"},"M21-GAP-01142":{"line":4397,"offset":777451,"length":191,"previous":"M21-GAP-01141","next":"M21-GAP-01143"},"M21-GAP-01143":{"line":4398,"offset":777642,"length":191,"previous":"M21-GAP-01142","next":"M21-GAP-01144"},"M21-GAP-01144":{"line":4399,"offset":777833,"length":191,"previous":"M21-GAP-01143","next":"M21-GAP-01145"},"M21-GAP-01145":{"line":4400,"offset":778024,"length":191,"previous":"M21-GAP-01144","next":"M21-GAP-01146"},"M21-GAP-01146":{"line":4401,"offset":778215,"length":190,"previous":"M21-GAP-01145","next":"M21-GAP-01147"},"M21-GAP-01147":{"line":4402,"offset":778405,"length":191,"previous":"M21-GAP-01146","next":"M21-GAP-01148"},"M21-GAP-01148":{"line":4403,"offset":778596,"length":191,"previous":"M21-GAP-01147","next":"M21-GAP-01149"},"M21-GAP-01149":{"line":4404,"offset":778787,"length":190,"previous":"M21-GAP-01148","next":"M21-GAP-01150"},"M21-GAP-01150":{"line":4405,"offset":778977,"length":190,"previous":"M21-GAP-01149","next":"M21-GAP-01151"},"M21-GAP-01151":{"line":4406,"offset":779167,"length":190,"previous":"M21-GAP-01150","next":"M21-GAP-01152"},"M21-GAP-01152":{"line":4407,"offset":779357,"length":190,"previous":"M21-GAP-01151","next":"M21-GAP-01153"},"M21-GAP-01153":{"line":4408,"offset":779547,"length":190,"previous":"M21-GAP-01152","next":"M21-GAP-01154"},"M21-GAP-01154":{"line":4409,"offset":779737,"length":190,"previous":"M21-GAP-01153","next":"M21-GAP-01155"},"M21-GAP-01155":{"line":4410,"offset":779927,"length":190,"previous":"M21-GAP-01154","next":"M21-GAP-01156"},"M21-GAP-01156":{"line":4411,"offset":780117,"length":190,"previous":"M21-GAP-01155","next":"M21-GAP-01157"},"M21-GAP-01157":{"line":4412,"offset":780307,"length":190,"previous":"M21-GAP-01156","next":"M21-GAP-01158"},"M21-GAP-01158":{"line":4413,"offset":780497,"length":191,"previous":"M21-GAP-01157","next":"M21-GAP-01159"},"M21-GAP-01159":{"line":4414,"offset":780688,"length":191,"previous":"M21-GAP-01158","next":"M21-GAP-01160"},"M21-GAP-01160":{"line":4415,"offset":780879,"length":191,"previous":"M21-GAP-01159","next":"M21-GAP-01161"},"M21-GAP-01161":{"line":4416,"offset":781070,"length":191,"previous":"M21-GAP-01160","next":"M21-GAP-01162"},"M21-GAP-01162":{"line":4417,"offset":781261,"length":191,"previous":"M21-GAP-01161","next":"M21-GAP-01163"},"M21-GAP-01163":{"line":4418,"offset":781452,"length":191,"previous":"M21-GAP-01162","next":"M21-GAP-01164"},"M21-GAP-01164":{"line":4419,"offset":781643,"length":191,"previous":"M21-GAP-01163","next":"M21-GAP-01165"},"M21-GAP-01165":{"line":4420,"offset":781834,"length":191,"previous":"M21-GAP-01164","next":"M21-GAP-01166"},"M21-GAP-01166":{"line":4421,"offset":782025,"length":191,"previous":"M21-GAP-01165","next":"M21-GAP-01167"},"M21-GAP-01167":{"line":4422,"offset":782216,"length":191,"previous":"M21-GAP-01166","next":"M21-GAP-01168"},"M21-GAP-01168":{"line":4423,"offset":782407,"length":190,"previous":"M21-GAP-01167","next":"M21-GAP-01169"},"M21-GAP-01169":{"line":4424,"offset":782597,"length":191,"previous":"M21-GAP-01168","next":"M21-GAP-01170"},"M21-GAP-01170":{"line":4425,"offset":782788,"length":191,"previous":"M21-GAP-01169","next":"M21-GAP-01171"},"M21-GAP-01171":{"line":4426,"offset":782979,"length":191,"previous":"M21-GAP-01170","next":"M21-GAP-01172"},"M21-GAP-01172":{"line":4427,"offset":783170,"length":191,"previous":"M21-GAP-01171","next":"M21-GAP-01173"},"M21-GAP-01173":{"line":4428,"offset":783361,"length":191,"previous":"M21-GAP-01172","next":"M21-GAP-01174"},"M21-GAP-01174":{"line":4429,"offset":783552,"length":191,"previous":"M21-GAP-01173","next":"M21-GAP-01175"},"M21-GAP-01175":{"line":4430,"offset":783743,"length":191,"previous":"M21-GAP-01174","next":"M21-GAP-01176"},"M21-GAP-01176":{"line":4431,"offset":783934,"length":191,"previous":"M21-GAP-01175","next":"M21-GAP-01177"},"M21-GAP-01177":{"line":4432,"offset":784125,"length":191,"previous":"M21-GAP-01176","next":"M21-GAP-01178"},"M21-GAP-01178":{"line":4433,"offset":784316,"length":191,"previous":"M21-GAP-01177","next":"M21-GAP-01179"},"M21-GAP-01179":{"line":4434,"offset":784507,"length":190,"previous":"M21-GAP-01178","next":"M21-GAP-01180"},"M21-GAP-01180":{"line":4435,"offset":784697,"length":191,"previous":"M21-GAP-01179","next":"M21-GAP-01181"},"M21-GAP-01181":{"line":4436,"offset":784888,"length":191,"previous":"M21-GAP-01180","next":"M21-GAP-01182"},"M21-GAP-01182":{"line":4437,"offset":785079,"length":191,"previous":"M21-GAP-01181","next":"M21-GAP-01183"},"M21-GAP-01183":{"line":4438,"offset":785270,"length":191,"previous":"M21-GAP-01182","next":"M21-GAP-01184"},"M21-GAP-01184":{"line":4439,"offset":785461,"length":191,"previous":"M21-GAP-01183","next":"M21-GAP-01185"},"M21-GAP-01185":{"line":4440,"offset":785652,"length":191,"previous":"M21-GAP-01184","next":"M21-GAP-01186"},"M21-GAP-01186":{"line":4441,"offset":785843,"length":191,"previous":"M21-GAP-01185","next":"M21-GAP-01187"},"M21-GAP-01187":{"line":4442,"offset":786034,"length":191,"previous":"M21-GAP-01186","next":"M21-GAP-01188"},"M21-GAP-01188":{"line":4443,"offset":786225,"length":191,"previous":"M21-GAP-01187","next":"M21-GAP-01189"},"M21-GAP-01189":{"line":4444,"offset":786416,"length":191,"previous":"M21-GAP-01188","next":"M21-GAP-01190"},"M21-GAP-01190":{"line":4445,"offset":786607,"length":190,"previous":"M21-GAP-01189","next":"M21-GAP-01191"},"M21-GAP-01191":{"line":4446,"offset":786797,"length":191,"previous":"M21-GAP-01190","next":"M21-GAP-01192"},"M21-GAP-01192":{"line":4447,"offset":786988,"length":191,"previous":"M21-GAP-01191","next":"M21-GAP-01193"},"M21-GAP-01193":{"line":4448,"offset":787179,"length":191,"previous":"M21-GAP-01192","next":"M21-GAP-01194"},"M21-GAP-01194":{"line":4449,"offset":787370,"length":191,"previous":"M21-GAP-01193","next":"M21-GAP-01195"},"M21-GAP-01195":{"line":4450,"offset":787561,"length":191,"previous":"M21-GAP-01194","next":"M21-GAP-01196"},"M21-GAP-01196":{"line":4451,"offset":787752,"length":191,"previous":"M21-GAP-01195","next":"M21-GAP-01197"},"M21-GAP-01197":{"line":4452,"offset":787943,"length":191,"previous":"M21-GAP-01196","next":"M21-GAP-01198"},"M21-GAP-01198":{"line":4453,"offset":788134,"length":191,"previous":"M21-GAP-01197","next":"M21-GAP-01199"},"M21-GAP-01199":{"line":4454,"offset":788325,"length":191,"previous":"M21-GAP-01198","next":"M21-GAP-01200"},"M21-GAP-01200":{"line":4455,"offset":788516,"length":191,"previous":"M21-GAP-01199","next":"M21-GAP-01201"},"M21-GAP-01201":{"line":4456,"offset":788707,"length":190,"previous":"M21-GAP-01200","next":"M21-GAP-01202"},"M21-GAP-01202":{"line":4457,"offset":788897,"length":191,"previous":"M21-GAP-01201","next":"M21-GAP-01203"},"M21-GAP-01203":{"line":4458,"offset":789088,"length":191,"previous":"M21-GAP-01202","next":"M21-GAP-01204"},"M21-GAP-01204":{"line":4459,"offset":789279,"length":191,"previous":"M21-GAP-01203","next":"M21-GAP-01205"},"M21-GAP-01205":{"line":4460,"offset":789470,"length":191,"previous":"M21-GAP-01204","next":"M21-GAP-01206"},"M21-GAP-01206":{"line":4461,"offset":789661,"length":191,"previous":"M21-GAP-01205","next":"M21-GAP-01207"},"M21-GAP-01207":{"line":4462,"offset":789852,"length":191,"previous":"M21-GAP-01206","next":"M21-GAP-01208"},"M21-GAP-01208":{"line":4463,"offset":790043,"length":191,"previous":"M21-GAP-01207","next":"M21-GAP-01209"},"M21-GAP-01209":{"line":4464,"offset":790234,"length":190,"previous":"M21-GAP-01208","next":"M21-GAP-01210"},"M21-GAP-01210":{"line":4465,"offset":790424,"length":190,"previous":"M21-GAP-01209","next":"M21-GAP-01211"},"M21-GAP-01211":{"line":4466,"offset":790614,"length":190,"previous":"M21-GAP-01210","next":"M21-GAP-01212"},"M21-GAP-01212":{"line":4467,"offset":790804,"length":190,"previous":"M21-GAP-01211","next":"M21-GAP-01213"},"M21-GAP-01213":{"line":4468,"offset":790994,"length":190,"previous":"M21-GAP-01212","next":"M21-GAP-01214"},"M21-GAP-01214":{"line":4469,"offset":791184,"length":190,"previous":"M21-GAP-01213","next":"M21-GAP-01215"},"M21-GAP-01215":{"line":4470,"offset":791374,"length":190,"previous":"M21-GAP-01214","next":"M21-GAP-01216"},"M21-GAP-01216":{"line":4471,"offset":791564,"length":192,"previous":"M21-GAP-01215","next":"M21-GAP-01217"},"M21-GAP-01217":{"line":4472,"offset":791756,"length":192,"previous":"M21-GAP-01216","next":"M21-GAP-01218"},"M21-GAP-01218":{"line":4473,"offset":791948,"length":193,"previous":"M21-GAP-01217","next":"M21-GAP-01219"},"M21-GAP-01219":{"line":4474,"offset":792141,"length":193,"previous":"M21-GAP-01218","next":"M21-GAP-01220"},"M21-GAP-01220":{"line":4475,"offset":792334,"length":193,"previous":"M21-GAP-01219","next":"M21-GAP-01221"},"M21-GAP-01221":{"line":4476,"offset":792527,"length":193,"previous":"M21-GAP-01220","next":"M21-GAP-01222"},"M21-GAP-01222":{"line":4477,"offset":792720,"length":193,"previous":"M21-GAP-01221","next":"M21-GAP-01223"},"M21-GAP-01223":{"line":4478,"offset":792913,"length":193,"previous":"M21-GAP-01222","next":"M21-GAP-01224"},"M21-GAP-01224":{"line":4479,"offset":793106,"length":193,"previous":"M21-GAP-01223","next":"M21-GAP-01225"},"M21-GAP-01225":{"line":4480,"offset":793299,"length":193,"previous":"M21-GAP-01224","next":"M21-GAP-01226"},"M21-GAP-01226":{"line":4481,"offset":793492,"length":193,"previous":"M21-GAP-01225","next":"M21-GAP-01227"},"M21-GAP-01227":{"line":4482,"offset":793685,"length":193,"previous":"M21-GAP-01226","next":"M21-GAP-01228"},"M21-GAP-01228":{"line":4483,"offset":793878,"length":192,"previous":"M21-GAP-01227","next":"M21-GAP-01229"},"M21-GAP-01229":{"line":4484,"offset":794070,"length":193,"previous":"M21-GAP-01228","next":"M21-GAP-01230"},"M21-GAP-01230":{"line":4485,"offset":794263,"length":193,"previous":"M21-GAP-01229","next":"M21-GAP-01231"},"M21-GAP-01231":{"line":4486,"offset":794456,"length":193,"previous":"M21-GAP-01230","next":"M21-GAP-01232"},"M21-GAP-01232":{"line":4487,"offset":794649,"length":193,"previous":"M21-GAP-01231","next":"M21-GAP-01233"},"M21-GAP-01233":{"line":4488,"offset":794842,"length":193,"previous":"M21-GAP-01232","next":"M21-GAP-01234"},"M21-GAP-01234":{"line":4489,"offset":795035,"length":193,"previous":"M21-GAP-01233","next":"M21-GAP-01235"},"M21-GAP-01235":{"line":4490,"offset":795228,"length":193,"previous":"M21-GAP-01234","next":"M21-GAP-01236"},"M21-GAP-01236":{"line":4491,"offset":795421,"length":192,"previous":"M21-GAP-01235","next":"M21-GAP-01237"},"M21-GAP-01237":{"line":4492,"offset":795613,"length":192,"previous":"M21-GAP-01236","next":"M21-GAP-01238"},"M21-GAP-01238":{"line":4493,"offset":795805,"length":192,"previous":"M21-GAP-01237","next":"M21-GAP-01239"},"M21-GAP-01239":{"line":4494,"offset":795997,"length":192,"previous":"M21-GAP-01238","next":"M21-GAP-01240"},"M21-GAP-01240":{"line":4495,"offset":796189,"length":192,"previous":"M21-GAP-01239","next":"M21-GAP-01241"},"M21-GAP-01241":{"line":4496,"offset":796381,"length":192,"previous":"M21-GAP-01240","next":"M21-GAP-01242"},"M21-GAP-01242":{"line":4497,"offset":796573,"length":192,"previous":"M21-GAP-01241","next":"M21-GAP-01243"},"M21-GAP-01243":{"line":4498,"offset":796765,"length":190,"previous":"M21-GAP-01242","next":"M21-GAP-01244"},"M21-GAP-01244":{"line":4499,"offset":796955,"length":190,"previous":"M21-GAP-01243","next":"M21-GAP-01245"},"M21-GAP-01245":{"line":4500,"offset":797145,"length":190,"previous":"M21-GAP-01244","next":"M21-GAP-01246"},"M21-GAP-01246":{"line":4501,"offset":797335,"length":190,"previous":"M21-GAP-01245","next":"M21-GAP-01247"},"M21-GAP-01247":{"line":4502,"offset":797525,"length":190,"previous":"M21-GAP-01246","next":"M21-GAP-01248"},"M21-GAP-01248":{"line":4503,"offset":797715,"length":190,"previous":"M21-GAP-01247","next":"M21-GAP-01249"},"M21-GAP-01249":{"line":4504,"offset":797905,"length":190,"previous":"M21-GAP-01248","next":"M21-GAP-01250"},"M21-GAP-01250":{"line":4505,"offset":798095,"length":190,"previous":"M21-GAP-01249","next":"M21-GAP-01251"},"M21-GAP-01251":{"line":4506,"offset":798285,"length":190,"previous":"M21-GAP-01250","next":"M21-GAP-01252"},"M21-GAP-01252":{"line":4507,"offset":798475,"length":190,"previous":"M21-GAP-01251","next":"M21-GAP-01253"},"M21-GAP-01253":{"line":4508,"offset":798665,"length":193,"previous":"M21-GAP-01252","next":"M21-GAP-01254"},"M21-GAP-01254":{"line":4509,"offset":798858,"length":193,"previous":"M21-GAP-01253","next":"M21-GAP-01255"},"M21-GAP-01255":{"line":4510,"offset":799051,"length":194,"previous":"M21-GAP-01254","next":"M21-GAP-01256"},"M21-GAP-01256":{"line":4511,"offset":799245,"length":194,"previous":"M21-GAP-01255","next":"M21-GAP-01257"},"M21-GAP-01257":{"line":4512,"offset":799439,"length":194,"previous":"M21-GAP-01256","next":"M21-GAP-01258"},"M21-GAP-01258":{"line":4513,"offset":799633,"length":194,"previous":"M21-GAP-01257","next":"M21-GAP-01259"},"M21-GAP-01259":{"line":4514,"offset":799827,"length":194,"previous":"M21-GAP-01258","next":"M21-GAP-01260"},"M21-GAP-01260":{"line":4515,"offset":800021,"length":194,"previous":"M21-GAP-01259","next":"M21-GAP-01261"},"M21-GAP-01261":{"line":4516,"offset":800215,"length":194,"previous":"M21-GAP-01260","next":"M21-GAP-01262"},"M21-GAP-01262":{"line":4517,"offset":800409,"length":194,"previous":"M21-GAP-01261","next":"M21-GAP-01263"},"M21-GAP-01263":{"line":4518,"offset":800603,"length":194,"previous":"M21-GAP-01262","next":"M21-GAP-01264"},"M21-GAP-01264":{"line":4519,"offset":800797,"length":194,"previous":"M21-GAP-01263","next":"M21-GAP-01265"},"M21-GAP-01265":{"line":4520,"offset":800991,"length":193,"previous":"M21-GAP-01264","next":"M21-GAP-01266"},"M21-GAP-01266":{"line":4521,"offset":801184,"length":194,"previous":"M21-GAP-01265","next":"M21-GAP-01267"},"M21-GAP-01267":{"line":4522,"offset":801378,"length":194,"previous":"M21-GAP-01266","next":"M21-GAP-01268"},"M21-GAP-01268":{"line":4523,"offset":801572,"length":193,"previous":"M21-GAP-01267","next":"M21-GAP-01269"},"M21-GAP-01269":{"line":4524,"offset":801765,"length":193,"previous":"M21-GAP-01268","next":"M21-GAP-01270"},"M21-GAP-01270":{"line":4525,"offset":801958,"length":193,"previous":"M21-GAP-01269","next":"M21-GAP-01271"},"M21-GAP-01271":{"line":4526,"offset":802151,"length":193,"previous":"M21-GAP-01270","next":"M21-GAP-01272"},"M21-GAP-01272":{"line":4527,"offset":802344,"length":193,"previous":"M21-GAP-01271","next":"M21-GAP-01273"},"M21-GAP-01273":{"line":4528,"offset":802537,"length":193,"previous":"M21-GAP-01272","next":"M21-GAP-01274"},"M21-GAP-01274":{"line":4529,"offset":802730,"length":193,"previous":"M21-GAP-01273","next":"M21-GAP-01275"},"M21-GAP-01275":{"line":4530,"offset":802923,"length":193,"previous":"M21-GAP-01274","next":"M21-GAP-01276"},"M21-GAP-01276":{"line":4531,"offset":803116,"length":193,"previous":"M21-GAP-01275","next":"M21-GAP-01277"},"M21-GAP-01277":{"line":4532,"offset":803309,"length":194,"previous":"M21-GAP-01276","next":"M21-GAP-01278"},"M21-GAP-01278":{"line":4533,"offset":803503,"length":194,"previous":"M21-GAP-01277","next":"M21-GAP-01279"},"M21-GAP-01279":{"line":4534,"offset":803697,"length":194,"previous":"M21-GAP-01278","next":"M21-GAP-01280"},"M21-GAP-01280":{"line":4535,"offset":803891,"length":194,"previous":"M21-GAP-01279","next":"M21-GAP-01281"},"M21-GAP-01281":{"line":4536,"offset":804085,"length":194,"previous":"M21-GAP-01280","next":"M21-GAP-01282"},"M21-GAP-01282":{"line":4537,"offset":804279,"length":194,"previous":"M21-GAP-01281","next":"M21-GAP-01283"},"M21-GAP-01283":{"line":4538,"offset":804473,"length":194,"previous":"M21-GAP-01282","next":"M21-GAP-01284"},"M21-GAP-01284":{"line":4539,"offset":804667,"length":194,"previous":"M21-GAP-01283","next":"M21-GAP-01285"},"M21-GAP-01285":{"line":4540,"offset":804861,"length":194,"previous":"M21-GAP-01284","next":"M21-GAP-01286"},"M21-GAP-01286":{"line":4541,"offset":805055,"length":194,"previous":"M21-GAP-01285","next":"M21-GAP-01287"},"M21-GAP-01287":{"line":4542,"offset":805249,"length":193,"previous":"M21-GAP-01286","next":"M21-GAP-01288"},"M21-GAP-01288":{"line":4543,"offset":805442,"length":194,"previous":"M21-GAP-01287","next":"M21-GAP-01289"},"M21-GAP-01289":{"line":4544,"offset":805636,"length":194,"previous":"M21-GAP-01288","next":"M21-GAP-01290"},"M21-GAP-01290":{"line":4545,"offset":805830,"length":194,"previous":"M21-GAP-01289","next":"M21-GAP-01291"},"M21-GAP-01291":{"line":4546,"offset":806024,"length":194,"previous":"M21-GAP-01290","next":"M21-GAP-01292"},"M21-GAP-01292":{"line":4547,"offset":806218,"length":194,"previous":"M21-GAP-01291","next":"M21-GAP-01293"},"M21-GAP-01293":{"line":4548,"offset":806412,"length":194,"previous":"M21-GAP-01292","next":"M21-GAP-01294"},"M21-GAP-01294":{"line":4549,"offset":806606,"length":193,"previous":"M21-GAP-01293","next":"M21-GAP-01295"},"M21-GAP-01295":{"line":4550,"offset":806799,"length":193,"previous":"M21-GAP-01294","next":"M21-GAP-01296"},"M21-GAP-01296":{"line":4551,"offset":806992,"length":193,"previous":"M21-GAP-01295","next":"M21-GAP-01297"},"M21-GAP-01297":{"line":4552,"offset":807185,"length":193,"previous":"M21-GAP-01296","next":"M21-GAP-01298"},"M21-GAP-01298":{"line":4553,"offset":807378,"length":193,"previous":"M21-GAP-01297","next":"M21-GAP-01299"},"M21-GAP-01299":{"line":4554,"offset":807571,"length":193,"previous":"M21-GAP-01298","next":"M21-GAP-01300"},"M21-GAP-01300":{"line":4555,"offset":807764,"length":193,"previous":"M21-GAP-01299","next":"M21-GAP-01301"},"M21-GAP-01301":{"line":4556,"offset":807957,"length":180,"previous":"M21-GAP-01300","next":"M21-GAP-01302"},"M21-GAP-01302":{"line":4557,"offset":808137,"length":180,"previous":"M21-GAP-01301","next":"M21-GAP-01303"},"M21-GAP-01303":{"line":4558,"offset":808317,"length":180,"previous":"M21-GAP-01302","next":"M21-GAP-01304"},"M21-GAP-01304":{"line":4559,"offset":808497,"length":180,"previous":"M21-GAP-01303","next":"M21-GAP-01305"},"M21-GAP-01305":{"line":4560,"offset":808677,"length":180,"previous":"M21-GAP-01304","next":"M21-GAP-01306"},"M21-GAP-01306":{"line":4561,"offset":808857,"length":202,"previous":"M21-GAP-01305","next":"M21-GAP-01307"},"M21-GAP-01307":{"line":4562,"offset":809059,"length":205,"previous":"M21-GAP-01306","next":"M21-GAP-01308"},"M21-GAP-01308":{"line":4563,"offset":809264,"length":205,"previous":"M21-GAP-01307","next":"M21-GAP-01309"},"M21-GAP-01309":{"line":4564,"offset":809469,"length":205,"previous":"M21-GAP-01308","next":"M21-GAP-01310"},"M21-GAP-01310":{"line":4565,"offset":809674,"length":203,"previous":"M21-GAP-01309","next":"M21-GAP-01311"},"M21-GAP-01311":{"line":4566,"offset":809877,"length":205,"previous":"M21-GAP-01310","next":"M21-GAP-01312"},"M21-GAP-01312":{"line":4567,"offset":810082,"length":204,"previous":"M21-GAP-01311","next":"M21-GAP-01313"},"M21-GAP-01313":{"line":4568,"offset":810286,"length":220,"previous":"M21-GAP-01312","next":"M21-GAP-01314"},"M21-GAP-01314":{"line":4569,"offset":810506,"length":220,"previous":"M21-GAP-01313","next":"M21-GAP-01315"},"M21-GAP-01315":{"line":4570,"offset":810726,"length":220,"previous":"M21-GAP-01314","next":"M21-GAP-01316"},"M21-GAP-01316":{"line":4571,"offset":810946,"length":209,"previous":"M21-GAP-01315","next":"M21-GAP-01317"},"M21-GAP-01317":{"line":4572,"offset":811155,"length":209,"previous":"M21-GAP-01316","next":"M21-GAP-01318"},"M21-GAP-01318":{"line":4573,"offset":811364,"length":209,"previous":"M21-GAP-01317","next":"M21-GAP-01319"},"M21-GAP-01319":{"line":4574,"offset":811573,"length":223,"previous":"M21-GAP-01318","next":"M21-GAP-01320"},"M21-GAP-01320":{"line":4575,"offset":811796,"length":223,"previous":"M21-GAP-01319","next":"M21-GAP-01321"},"M21-GAP-01321":{"line":4576,"offset":812019,"length":223,"previous":"M21-GAP-01320","next":"M21-GAP-01322"},"M21-GAP-01322":{"line":4577,"offset":812242,"length":212,"previous":"M21-GAP-01321","next":"M21-GAP-01323"},"M21-GAP-01323":{"line":4578,"offset":812454,"length":212,"previous":"M21-GAP-01322","next":"M21-GAP-01324"},"M21-GAP-01324":{"line":4579,"offset":812666,"length":212,"previous":"M21-GAP-01323","next":"M21-GAP-01325"},"M21-GAP-01325":{"line":4580,"offset":812878,"length":222,"previous":"M21-GAP-01324","next":"M21-GAP-01326"},"M21-GAP-01326":{"line":4581,"offset":813100,"length":222,"previous":"M21-GAP-01325","next":"M21-GAP-01327"},"M21-GAP-01327":{"line":4582,"offset":813322,"length":222,"previous":"M21-GAP-01326","next":"M21-GAP-01328"},"M21-GAP-01328":{"line":4583,"offset":813544,"length":211,"previous":"M21-GAP-01327","next":"M21-GAP-01329"},"M21-GAP-01329":{"line":4584,"offset":813755,"length":211,"previous":"M21-GAP-01328","next":"M21-GAP-01330"},"M21-GAP-01330":{"line":4585,"offset":813966,"length":211,"previous":"M21-GAP-01329","next":"M21-GAP-01331"},"M21-GAP-01331":{"line":4586,"offset":814177,"length":208,"previous":"M21-GAP-01330","next":"M21-GAP-01332"},"M21-GAP-01332":{"line":4587,"offset":814385,"length":215,"previous":"M21-GAP-01331","next":"M21-GAP-01333"},"M21-GAP-01333":{"line":4588,"offset":814600,"length":215,"previous":"M21-GAP-01332","next":"M21-GAP-01334"},"M21-GAP-01334":{"line":4589,"offset":814815,"length":215,"previous":"M21-GAP-01333","next":"M21-GAP-01335"},"M21-GAP-01335":{"line":4590,"offset":815030,"length":204,"previous":"M21-GAP-01334","next":"M21-GAP-01336"},"M21-GAP-01336":{"line":4591,"offset":815234,"length":204,"previous":"M21-GAP-01335","next":"M21-GAP-01337"},"M21-GAP-01337":{"line":4592,"offset":815438,"length":204,"previous":"M21-GAP-01336","next":"M21-GAP-01338"},"M21-GAP-01338":{"line":4593,"offset":815642,"length":199,"previous":"M21-GAP-01337","next":"M21-GAP-01339"},"M21-GAP-01339":{"line":4594,"offset":815841,"length":203,"previous":"M21-GAP-01338","next":"M21-GAP-01340"},"M21-GAP-01340":{"line":4595,"offset":816044,"length":203,"previous":"M21-GAP-01339","next":"M21-GAP-01341"},"M21-GAP-01341":{"line":4596,"offset":816247,"length":201,"previous":"M21-GAP-01340","next":"M21-GAP-01342"},"M21-GAP-01342":{"line":4597,"offset":816448,"length":201,"previous":"M21-GAP-01341","next":"M21-GAP-01343"},"M21-GAP-01343":{"line":4598,"offset":816649,"length":201,"previous":"M21-GAP-01342","next":"M21-GAP-01344"},"M21-GAP-01344":{"line":4599,"offset":816850,"length":201,"previous":"M21-GAP-01343","next":"M21-GAP-01345"},"M21-GAP-01345":{"line":4600,"offset":817051,"length":201,"previous":"M21-GAP-01344","next":"M21-GAP-01346"},"M21-GAP-01346":{"line":4601,"offset":817252,"length":201,"previous":"M21-GAP-01345","next":"M21-GAP-01347"},"M21-GAP-01347":{"line":4602,"offset":817453,"length":202,"previous":"M21-GAP-01346","next":"M21-GAP-01348"},"M21-GAP-01348":{"line":4603,"offset":817655,"length":202,"previous":"M21-GAP-01347","next":"M21-GAP-01349"},"M21-GAP-01349":{"line":4604,"offset":817857,"length":202,"previous":"M21-GAP-01348","next":"M21-GAP-01350"},"M21-GAP-01350":{"line":4605,"offset":818059,"length":202,"previous":"M21-GAP-01349","next":"M21-GAP-01351"},"M21-GAP-01351":{"line":4606,"offset":818261,"length":202,"previous":"M21-GAP-01350","next":"M21-GAP-01352"},"M21-GAP-01352":{"line":4607,"offset":818463,"length":202,"previous":"M21-GAP-01351","next":"M21-GAP-01353"},"M21-GAP-01353":{"line":4608,"offset":818665,"length":202,"previous":"M21-GAP-01352","next":"M21-GAP-01354"},"M21-GAP-01354":{"line":4609,"offset":818867,"length":202,"previous":"M21-GAP-01353","next":"M21-GAP-01355"},"M21-GAP-01355":{"line":4610,"offset":819069,"length":202,"previous":"M21-GAP-01354","next":"M21-GAP-01356"},"M21-GAP-01356":{"line":4611,"offset":819271,"length":202,"previous":"M21-GAP-01355","next":"M21-GAP-01357"},"M21-GAP-01357":{"line":4612,"offset":819473,"length":207,"previous":"M21-GAP-01356","next":"M21-GAP-01358"},"M21-GAP-01358":{"line":4613,"offset":819680,"length":203,"previous":"M21-GAP-01357","next":"M21-GAP-01359"},"M21-GAP-01359":{"line":4614,"offset":819883,"length":202,"previous":"M21-GAP-01358","next":"M21-GAP-01360"},"M21-GAP-01360":{"line":4615,"offset":820085,"length":218,"previous":"M21-GAP-01359","next":"M21-GAP-01361"},"M21-GAP-01361":{"line":4616,"offset":820303,"length":218,"previous":"M21-GAP-01360","next":"M21-GAP-01362"},"M21-GAP-01362":{"line":4617,"offset":820521,"length":218,"previous":"M21-GAP-01361","next":"M21-GAP-01363"},"M21-GAP-01363":{"line":4618,"offset":820739,"length":207,"previous":"M21-GAP-01362","next":"M21-GAP-01364"},"M21-GAP-01364":{"line":4619,"offset":820946,"length":207,"previous":"M21-GAP-01363","next":"M21-GAP-01365"},"M21-GAP-01365":{"line":4620,"offset":821153,"length":207,"previous":"M21-GAP-01364","next":"M21-GAP-01366"},"M21-GAP-01366":{"line":4621,"offset":821360,"length":221,"previous":"M21-GAP-01365","next":"M21-GAP-01367"},"M21-GAP-01367":{"line":4622,"offset":821581,"length":221,"previous":"M21-GAP-01366","next":"M21-GAP-01368"},"M21-GAP-01368":{"line":4623,"offset":821802,"length":221,"previous":"M21-GAP-01367","next":"M21-GAP-01369"},"M21-GAP-01369":{"line":4624,"offset":822023,"length":210,"previous":"M21-GAP-01368","next":"M21-GAP-01370"},"M21-GAP-01370":{"line":4625,"offset":822233,"length":210,"previous":"M21-GAP-01369","next":"M21-GAP-01371"},"M21-GAP-01371":{"line":4626,"offset":822443,"length":210,"previous":"M21-GAP-01370","next":"M21-GAP-01372"},"M21-GAP-01372":{"line":4627,"offset":822653,"length":220,"previous":"M21-GAP-01371","next":"M21-GAP-01373"},"M21-GAP-01373":{"line":4628,"offset":822873,"length":220,"previous":"M21-GAP-01372","next":"M21-GAP-01374"},"M21-GAP-01374":{"line":4629,"offset":823093,"length":220,"previous":"M21-GAP-01373","next":"M21-GAP-01375"},"M21-GAP-01375":{"line":4630,"offset":823313,"length":209,"previous":"M21-GAP-01374","next":"M21-GAP-01376"},"M21-GAP-01376":{"line":4631,"offset":823522,"length":209,"previous":"M21-GAP-01375","next":"M21-GAP-01377"},"M21-GAP-01377":{"line":4632,"offset":823731,"length":209,"previous":"M21-GAP-01376","next":"M21-GAP-01378"},"M21-GAP-01378":{"line":4633,"offset":823940,"length":213,"previous":"M21-GAP-01377","next":"M21-GAP-01379"},"M21-GAP-01379":{"line":4634,"offset":824153,"length":213,"previous":"M21-GAP-01378","next":"M21-GAP-01380"},"M21-GAP-01380":{"line":4635,"offset":824366,"length":213,"previous":"M21-GAP-01379","next":"M21-GAP-01381"},"M21-GAP-01381":{"line":4636,"offset":824579,"length":202,"previous":"M21-GAP-01380","next":"M21-GAP-01382"},"M21-GAP-01382":{"line":4637,"offset":824781,"length":202,"previous":"M21-GAP-01381","next":"M21-GAP-01383"},"M21-GAP-01383":{"line":4638,"offset":824983,"length":202,"previous":"M21-GAP-01382","next":"M21-GAP-01384"},"M21-GAP-01384":{"line":4639,"offset":825185,"length":187,"previous":"M21-GAP-01383","next":"M21-GAP-01385"},"M21-GAP-01385":{"line":4640,"offset":825372,"length":187,"previous":"M21-GAP-01384","next":"M21-GAP-01386"},"M21-GAP-01386":{"line":4641,"offset":825559,"length":188,"previous":"M21-GAP-01385","next":"M21-GAP-01387"},"M21-GAP-01387":{"line":4642,"offset":825747,"length":187,"previous":"M21-GAP-01386","next":"M21-GAP-01388"},"M21-GAP-01388":{"line":4643,"offset":825934,"length":187,"previous":"M21-GAP-01387","next":"M21-GAP-01389"},"M21-GAP-01389":{"line":4644,"offset":826121,"length":187,"previous":"M21-GAP-01388","next":"M21-GAP-01390"},"M21-GAP-01390":{"line":4645,"offset":826308,"length":187,"previous":"M21-GAP-01389","next":"M21-GAP-01391"},"M21-GAP-01391":{"line":4646,"offset":826495,"length":187,"previous":"M21-GAP-01390","next":"M21-GAP-01392"},"M21-GAP-01392":{"line":4647,"offset":826682,"length":187,"previous":"M21-GAP-01391","next":"M21-GAP-01393"},"M21-GAP-01393":{"line":4648,"offset":826869,"length":187,"previous":"M21-GAP-01392","next":"M21-GAP-01394"},"M21-GAP-01394":{"line":4649,"offset":827056,"length":187,"previous":"M21-GAP-01393","next":"M21-GAP-01395"},"M21-GAP-01395":{"line":4650,"offset":827243,"length":178,"previous":"M21-GAP-01394","next":"M21-GAP-01396"},"M21-GAP-01396":{"line":4651,"offset":827421,"length":178,"previous":"M21-GAP-01395","next":"M21-GAP-01397"},"M21-GAP-01397":{"line":4652,"offset":827599,"length":179,"previous":"M21-GAP-01396","next":"M21-GAP-01398"},"M21-GAP-01398":{"line":4653,"offset":827778,"length":179,"previous":"M21-GAP-01397","next":"M21-GAP-01399"},"M21-GAP-01399":{"line":4654,"offset":827957,"length":179,"previous":"M21-GAP-01398","next":"M21-GAP-01400"},"M21-GAP-01400":{"line":4655,"offset":828136,"length":179,"previous":"M21-GAP-01399","next":"M21-GAP-01401"},"M21-GAP-01401":{"line":4656,"offset":828315,"length":179,"previous":"M21-GAP-01400","next":"M21-GAP-01402"},"M21-GAP-01402":{"line":4657,"offset":828494,"length":179,"previous":"M21-GAP-01401","next":"M21-GAP-01403"},"M21-GAP-01403":{"line":4658,"offset":828673,"length":179,"previous":"M21-GAP-01402","next":"M21-GAP-01404"},"M21-GAP-01404":{"line":4659,"offset":828852,"length":179,"previous":"M21-GAP-01403","next":"M21-GAP-01405"},"M21-GAP-01405":{"line":4660,"offset":829031,"length":179,"previous":"M21-GAP-01404","next":"M21-GAP-01406"},"M21-GAP-01406":{"line":4661,"offset":829210,"length":179,"previous":"M21-GAP-01405","next":"M21-GAP-01407"},"M21-GAP-01407":{"line":4662,"offset":829389,"length":178,"previous":"M21-GAP-01406","next":"M21-GAP-01408"},"M21-GAP-01408":{"line":4663,"offset":829567,"length":179,"previous":"M21-GAP-01407","next":"M21-GAP-01409"},"M21-GAP-01409":{"line":4664,"offset":829746,"length":179,"previous":"M21-GAP-01408","next":"M21-GAP-01410"},"M21-GAP-01410":{"line":4665,"offset":829925,"length":179,"previous":"M21-GAP-01409","next":"M21-GAP-01411"},"M21-GAP-01411":{"line":4666,"offset":830104,"length":179,"previous":"M21-GAP-01410","next":"M21-GAP-01412"},"M21-GAP-01412":{"line":4667,"offset":830283,"length":179,"previous":"M21-GAP-01411","next":"M21-GAP-01413"},"M21-GAP-01413":{"line":4668,"offset":830462,"length":179,"previous":"M21-GAP-01412","next":"M21-GAP-01414"},"M21-GAP-01414":{"line":4669,"offset":830641,"length":178,"previous":"M21-GAP-01413","next":"M21-GAP-01415"},"M21-GAP-01415":{"line":4670,"offset":830819,"length":178,"previous":"M21-GAP-01414","next":"M21-GAP-01416"},"M21-GAP-01416":{"line":4671,"offset":830997,"length":178,"previous":"M21-GAP-01415","next":"M21-GAP-01417"},"M21-GAP-01417":{"line":4672,"offset":831175,"length":178,"previous":"M21-GAP-01416","next":"M21-GAP-01418"},"M21-GAP-01418":{"line":4673,"offset":831353,"length":178,"previous":"M21-GAP-01417","next":"M21-GAP-01419"},"M21-GAP-01419":{"line":4674,"offset":831531,"length":178,"previous":"M21-GAP-01418","next":"M21-GAP-01420"},"M21-GAP-01420":{"line":4675,"offset":831709,"length":178,"previous":"M21-GAP-01419","next":"M21-GAP-01421"},"M21-GAP-01421":{"line":4676,"offset":831887,"length":179,"previous":"M21-GAP-01420","next":"M21-GAP-01422"},"M21-GAP-01422":{"line":4677,"offset":832066,"length":179,"previous":"M21-GAP-01421","next":"M21-GAP-01423"},"M21-GAP-01423":{"line":4678,"offset":832245,"length":180,"previous":"M21-GAP-01422","next":"M21-GAP-01424"},"M21-GAP-01424":{"line":4679,"offset":832425,"length":180,"previous":"M21-GAP-01423","next":"M21-GAP-01425"},"M21-GAP-01425":{"line":4680,"offset":832605,"length":180,"previous":"M21-GAP-01424","next":"M21-GAP-01426"},"M21-GAP-01426":{"line":4681,"offset":832785,"length":180,"previous":"M21-GAP-01425","next":"M21-GAP-01427"},"M21-GAP-01427":{"line":4682,"offset":832965,"length":180,"previous":"M21-GAP-01426","next":"M21-GAP-01428"},"M21-GAP-01428":{"line":4683,"offset":833145,"length":180,"previous":"M21-GAP-01427","next":"M21-GAP-01429"},"M21-GAP-01429":{"line":4684,"offset":833325,"length":180,"previous":"M21-GAP-01428","next":"M21-GAP-01430"},"M21-GAP-01430":{"line":4685,"offset":833505,"length":180,"previous":"M21-GAP-01429","next":"M21-GAP-01431"},"M21-GAP-01431":{"line":4686,"offset":833685,"length":180,"previous":"M21-GAP-01430","next":"M21-GAP-01432"},"M21-GAP-01432":{"line":4687,"offset":833865,"length":180,"previous":"M21-GAP-01431","next":"M21-GAP-01433"},"M21-GAP-01433":{"line":4688,"offset":834045,"length":179,"previous":"M21-GAP-01432","next":"M21-GAP-01434"},"M21-GAP-01434":{"line":4689,"offset":834224,"length":180,"previous":"M21-GAP-01433","next":"M21-GAP-01435"},"M21-GAP-01435":{"line":4690,"offset":834404,"length":180,"previous":"M21-GAP-01434","next":"M21-GAP-01436"},"M21-GAP-01436":{"line":4691,"offset":834584,"length":180,"previous":"M21-GAP-01435","next":"M21-GAP-01437"},"M21-GAP-01437":{"line":4692,"offset":834764,"length":180,"previous":"M21-GAP-01436","next":"M21-GAP-01438"},"M21-GAP-01438":{"line":4693,"offset":834944,"length":180,"previous":"M21-GAP-01437","next":"M21-GAP-01439"},"M21-GAP-01439":{"line":4694,"offset":835124,"length":180,"previous":"M21-GAP-01438","next":"M21-GAP-01440"},"M21-GAP-01440":{"line":4695,"offset":835304,"length":180,"previous":"M21-GAP-01439","next":"M21-GAP-01441"},"M21-GAP-01441":{"line":4696,"offset":835484,"length":180,"previous":"M21-GAP-01440","next":"M21-GAP-01442"},"M21-GAP-01442":{"line":4697,"offset":835664,"length":180,"previous":"M21-GAP-01441","next":"M21-GAP-01443"},"M21-GAP-01443":{"line":4698,"offset":835844,"length":180,"previous":"M21-GAP-01442","next":"M21-GAP-01444"},"M21-GAP-01444":{"line":4699,"offset":836024,"length":179,"previous":"M21-GAP-01443","next":"M21-GAP-01445"},"M21-GAP-01445":{"line":4700,"offset":836203,"length":180,"previous":"M21-GAP-01444","next":"M21-GAP-01446"},"M21-GAP-01446":{"line":4701,"offset":836383,"length":180,"previous":"M21-GAP-01445","next":"M21-GAP-01447"},"M21-GAP-01447":{"line":4702,"offset":836563,"length":180,"previous":"M21-GAP-01446","next":"M21-GAP-01448"},"M21-GAP-01448":{"line":4703,"offset":836743,"length":180,"previous":"M21-GAP-01447","next":"M21-GAP-01449"},"M21-GAP-01449":{"line":4704,"offset":836923,"length":180,"previous":"M21-GAP-01448","next":"M21-GAP-01450"},"M21-GAP-01450":{"line":4705,"offset":837103,"length":180,"previous":"M21-GAP-01449","next":"M21-GAP-01451"},"M21-GAP-01451":{"line":4706,"offset":837283,"length":180,"previous":"M21-GAP-01450","next":"M21-GAP-01452"},"M21-GAP-01452":{"line":4707,"offset":837463,"length":180,"previous":"M21-GAP-01451","next":"M21-GAP-01453"},"M21-GAP-01453":{"line":4708,"offset":837643,"length":180,"previous":"M21-GAP-01452","next":"M21-GAP-01454"},"M21-GAP-01454":{"line":4709,"offset":837823,"length":180,"previous":"M21-GAP-01453","next":"M21-GAP-01455"},"M21-GAP-01455":{"line":4710,"offset":838003,"length":179,"previous":"M21-GAP-01454","next":"M21-GAP-01456"},"M21-GAP-01456":{"line":4711,"offset":838182,"length":180,"previous":"M21-GAP-01455","next":"M21-GAP-01457"},"M21-GAP-01457":{"line":4712,"offset":838362,"length":180,"previous":"M21-GAP-01456","next":"M21-GAP-01458"},"M21-GAP-01458":{"line":4713,"offset":838542,"length":180,"previous":"M21-GAP-01457","next":"M21-GAP-01459"},"M21-GAP-01459":{"line":4714,"offset":838722,"length":180,"previous":"M21-GAP-01458","next":"M21-GAP-01460"},"M21-GAP-01460":{"line":4715,"offset":838902,"length":180,"previous":"M21-GAP-01459","next":"M21-GAP-01461"},"M21-GAP-01461":{"line":4716,"offset":839082,"length":180,"previous":"M21-GAP-01460","next":"M21-GAP-01462"},"M21-GAP-01462":{"line":4717,"offset":839262,"length":180,"previous":"M21-GAP-01461","next":"M21-GAP-01463"},"M21-GAP-01463":{"line":4718,"offset":839442,"length":180,"previous":"M21-GAP-01462","next":"M21-GAP-01464"},"M21-GAP-01464":{"line":4719,"offset":839622,"length":180,"previous":"M21-GAP-01463","next":"M21-GAP-01465"},"M21-GAP-01465":{"line":4720,"offset":839802,"length":180,"previous":"M21-GAP-01464","next":"M21-GAP-01466"},"M21-GAP-01466":{"line":4721,"offset":839982,"length":179,"previous":"M21-GAP-01465","next":"M21-GAP-01467"},"M21-GAP-01467":{"line":4722,"offset":840161,"length":180,"previous":"M21-GAP-01466","next":"M21-GAP-01468"},"M21-GAP-01468":{"line":4723,"offset":840341,"length":179,"previous":"M21-GAP-01467","next":"M21-GAP-01469"},"M21-GAP-01469":{"line":4724,"offset":840520,"length":179,"previous":"M21-GAP-01468","next":"M21-GAP-01470"},"M21-GAP-01470":{"line":4725,"offset":840699,"length":179,"previous":"M21-GAP-01469","next":"M21-GAP-01471"},"M21-GAP-01471":{"line":4726,"offset":840878,"length":179,"previous":"M21-GAP-01470","next":"M21-GAP-01472"},"M21-GAP-01472":{"line":4727,"offset":841057,"length":170,"previous":"M21-GAP-01471","next":"M21-GAP-01473"},"M21-GAP-01473":{"line":4728,"offset":841227,"length":170,"previous":"M21-GAP-01472","next":"M21-GAP-01474"},"M21-GAP-01474":{"line":4729,"offset":841397,"length":171,"previous":"M21-GAP-01473","next":"M21-GAP-01475"},"M21-GAP-01475":{"line":4730,"offset":841568,"length":171,"previous":"M21-GAP-01474","next":"M21-GAP-01476"},"M21-GAP-01476":{"line":4731,"offset":841739,"length":171,"previous":"M21-GAP-01475","next":"M21-GAP-01477"},"M21-GAP-01477":{"line":4732,"offset":841910,"length":171,"previous":"M21-GAP-01476","next":"M21-GAP-01478"},"M21-GAP-01478":{"line":4733,"offset":842081,"length":170,"previous":"M21-GAP-01477","next":"M21-GAP-01479"},"M21-GAP-01479":{"line":4734,"offset":842251,"length":170,"previous":"M21-GAP-01478","next":"M21-GAP-01480"},"M21-GAP-01480":{"line":4735,"offset":842421,"length":170,"previous":"M21-GAP-01479","next":"M21-GAP-01481"},"M21-GAP-01481":{"line":4736,"offset":842591,"length":170,"previous":"M21-GAP-01480","next":"M21-GAP-01482"},"M21-GAP-01482":{"line":4737,"offset":842761,"length":170,"previous":"M21-GAP-01481","next":"M21-GAP-01483"},"M21-GAP-01483":{"line":4738,"offset":842931,"length":170,"previous":"M21-GAP-01482","next":"M21-GAP-01484"},"M21-GAP-01484":{"line":4739,"offset":843101,"length":170,"previous":"M21-GAP-01483","next":"M21-GAP-01485"},"M21-GAP-01485":{"line":4740,"offset":843271,"length":170,"previous":"M21-GAP-01484","next":"M21-GAP-01486"},"M21-GAP-01486":{"line":4741,"offset":843441,"length":193,"previous":"M21-GAP-01485","next":"M21-GAP-01487"},"M21-GAP-01487":{"line":4742,"offset":843634,"length":193,"previous":"M21-GAP-01486","next":"M21-GAP-01488"},"M21-GAP-01488":{"line":4743,"offset":843827,"length":193,"previous":"M21-GAP-01487","next":"M21-GAP-01489"},"M21-GAP-01489":{"line":4744,"offset":844020,"length":193,"previous":"M21-GAP-01488","next":"M21-GAP-01490"},"M21-GAP-01490":{"line":4745,"offset":844213,"length":193,"previous":"M21-GAP-01489","next":"M21-GAP-01491"},"M21-GAP-01491":{"line":4746,"offset":844406,"length":193,"previous":"M21-GAP-01490","next":"M21-GAP-01492"},"M21-GAP-01492":{"line":4747,"offset":844599,"length":193,"previous":"M21-GAP-01491","next":"M21-GAP-01493"},"M21-GAP-01493":{"line":4748,"offset":844792,"length":187,"previous":"M21-GAP-01492","next":"M21-GAP-01494"},"M21-GAP-01494":{"line":4749,"offset":844979,"length":187,"previous":"M21-GAP-01493","next":"M21-GAP-01495"},"M21-GAP-01495":{"line":4750,"offset":845166,"length":188,"previous":"M21-GAP-01494","next":"M21-GAP-01496"},"M21-GAP-01496":{"line":4751,"offset":845354,"length":188,"previous":"M21-GAP-01495","next":"M21-GAP-01497"},"M21-GAP-01497":{"line":4752,"offset":845542,"length":188,"previous":"M21-GAP-01496","next":"M21-GAP-01498"},"M21-GAP-01498":{"line":4753,"offset":845730,"length":188,"previous":"M21-GAP-01497","next":"M21-GAP-01499"},"M21-GAP-01499":{"line":4754,"offset":845918,"length":188,"previous":"M21-GAP-01498","next":"M21-GAP-01500"},"M21-GAP-01500":{"line":4755,"offset":846106,"length":188,"previous":"M21-GAP-01499","next":"M21-GAP-01501"},"M21-GAP-01501":{"line":4756,"offset":846294,"length":188,"previous":"M21-GAP-01500","next":"M21-GAP-01502"},"M21-GAP-01502":{"line":4757,"offset":846482,"length":188,"previous":"M21-GAP-01501","next":"M21-GAP-01503"},"M21-GAP-01503":{"line":4758,"offset":846670,"length":188,"previous":"M21-GAP-01502","next":"M21-GAP-01504"},"M21-GAP-01504":{"line":4759,"offset":846858,"length":188,"previous":"M21-GAP-01503","next":"M21-GAP-01505"},"M21-GAP-01505":{"line":4760,"offset":847046,"length":187,"previous":"M21-GAP-01504","next":"M21-GAP-01506"},"M21-GAP-01506":{"line":4761,"offset":847233,"length":188,"previous":"M21-GAP-01505","next":"M21-GAP-01507"},"M21-GAP-01507":{"line":4762,"offset":847421,"length":188,"previous":"M21-GAP-01506","next":"M21-GAP-01508"},"M21-GAP-01508":{"line":4763,"offset":847609,"length":188,"previous":"M21-GAP-01507","next":"M21-GAP-01509"},"M21-GAP-01509":{"line":4764,"offset":847797,"length":188,"previous":"M21-GAP-01508","next":"M21-GAP-01510"},"M21-GAP-01510":{"line":4765,"offset":847985,"length":188,"previous":"M21-GAP-01509","next":"M21-GAP-01511"},"M21-GAP-01511":{"line":4766,"offset":848173,"length":187,"previous":"M21-GAP-01510","next":"M21-GAP-01512"},"M21-GAP-01512":{"line":4767,"offset":848360,"length":187,"previous":"M21-GAP-01511","next":"M21-GAP-01513"},"M21-GAP-01513":{"line":4768,"offset":848547,"length":187,"previous":"M21-GAP-01512","next":"M21-GAP-01514"},"M21-GAP-01514":{"line":4769,"offset":848734,"length":187,"previous":"M21-GAP-01513","next":"M21-GAP-01515"},"M21-GAP-01515":{"line":4770,"offset":848921,"length":187,"previous":"M21-GAP-01514","next":"M21-GAP-01516"},"M21-GAP-01516":{"line":4771,"offset":849108,"length":187,"previous":"M21-GAP-01515","next":"M21-GAP-01517"},"M21-GAP-01517":{"line":4772,"offset":849295,"length":187,"previous":"M21-GAP-01516","next":"M21-GAP-01518"},"M21-GAP-01518":{"line":4773,"offset":849482,"length":174,"previous":"M21-GAP-01517","next":"M21-GAP-01519"},"M21-GAP-01519":{"line":4774,"offset":849656,"length":174,"previous":"M21-GAP-01518","next":"M21-GAP-01520"},"M21-GAP-01520":{"line":4775,"offset":849830,"length":175,"previous":"M21-GAP-01519","next":"M21-GAP-01521"},"M21-GAP-01521":{"line":4776,"offset":850005,"length":175,"previous":"M21-GAP-01520","next":"M21-GAP-01522"},"M21-GAP-01522":{"line":4777,"offset":850180,"length":175,"previous":"M21-GAP-01521","next":"M21-GAP-01523"},"M21-GAP-01523":{"line":4778,"offset":850355,"length":175,"previous":"M21-GAP-01522","next":"M21-GAP-01524"},"M21-GAP-01524":{"line":4779,"offset":850530,"length":175,"previous":"M21-GAP-01523","next":"M21-GAP-01525"},"M21-GAP-01525":{"line":4780,"offset":850705,"length":175,"previous":"M21-GAP-01524","next":"M21-GAP-01526"},"M21-GAP-01526":{"line":4781,"offset":850880,"length":175,"previous":"M21-GAP-01525","next":"M21-GAP-01527"},"M21-GAP-01527":{"line":4782,"offset":851055,"length":175,"previous":"M21-GAP-01526","next":"M21-GAP-01528"},"M21-GAP-01528":{"line":4783,"offset":851230,"length":175,"previous":"M21-GAP-01527","next":"M21-GAP-01529"},"M21-GAP-01529":{"line":4784,"offset":851405,"length":175,"previous":"M21-GAP-01528","next":"M21-GAP-01530"},"M21-GAP-01530":{"line":4785,"offset":851580,"length":174,"previous":"M21-GAP-01529","next":"M21-GAP-01531"},"M21-GAP-01531":{"line":4786,"offset":851754,"length":175,"previous":"M21-GAP-01530","next":"M21-GAP-01532"},"M21-GAP-01532":{"line":4787,"offset":851929,"length":174,"previous":"M21-GAP-01531","next":"M21-GAP-01533"},"M21-GAP-01533":{"line":4788,"offset":852103,"length":174,"previous":"M21-GAP-01532","next":"M21-GAP-01534"},"M21-GAP-01534":{"line":4789,"offset":852277,"length":174,"previous":"M21-GAP-01533","next":"M21-GAP-01535"},"M21-GAP-01535":{"line":4790,"offset":852451,"length":174,"previous":"M21-GAP-01534","next":"M21-GAP-01536"},"M21-GAP-01536":{"line":4791,"offset":852625,"length":174,"previous":"M21-GAP-01535","next":"M21-GAP-01537"},"M21-GAP-01537":{"line":4792,"offset":852799,"length":174,"previous":"M21-GAP-01536","next":"M21-GAP-01538"},"M21-GAP-01538":{"line":4793,"offset":852973,"length":174,"previous":"M21-GAP-01537","next":"M21-GAP-01539"},"M21-GAP-01539":{"line":4794,"offset":853147,"length":174,"previous":"M21-GAP-01538","next":"M21-GAP-01540"},"M21-GAP-01540":{"line":4795,"offset":853321,"length":174,"previous":"M21-GAP-01539","next":"M21-GAP-01541"},"M21-GAP-01541":{"line":4796,"offset":853495,"length":175,"previous":"M21-GAP-01540","next":"M21-GAP-01542"},"M21-GAP-01542":{"line":4797,"offset":853670,"length":175,"previous":"M21-GAP-01541","next":"M21-GAP-01543"},"M21-GAP-01543":{"line":4798,"offset":853845,"length":175,"previous":"M21-GAP-01542","next":"M21-GAP-01544"},"M21-GAP-01544":{"line":4799,"offset":854020,"length":175,"previous":"M21-GAP-01543","next":"M21-GAP-01545"},"M21-GAP-01545":{"line":4800,"offset":854195,"length":175,"previous":"M21-GAP-01544","next":"M21-GAP-01546"},"M21-GAP-01546":{"line":4801,"offset":854370,"length":175,"previous":"M21-GAP-01545","next":"M21-GAP-01547"},"M21-GAP-01547":{"line":4802,"offset":854545,"length":175,"previous":"M21-GAP-01546","next":"M21-GAP-01548"},"M21-GAP-01548":{"line":4803,"offset":854720,"length":175,"previous":"M21-GAP-01547","next":"M21-GAP-01549"},"M21-GAP-01549":{"line":4804,"offset":854895,"length":175,"previous":"M21-GAP-01548","next":"M21-GAP-01550"},"M21-GAP-01550":{"line":4805,"offset":855070,"length":175,"previous":"M21-GAP-01549","next":"M21-GAP-01551"},"M21-GAP-01551":{"line":4806,"offset":855245,"length":174,"previous":"M21-GAP-01550","next":"M21-GAP-01552"},"M21-GAP-01552":{"line":4807,"offset":855419,"length":175,"previous":"M21-GAP-01551","next":"M21-GAP-01553"},"M21-GAP-01553":{"line":4808,"offset":855594,"length":175,"previous":"M21-GAP-01552","next":"M21-GAP-01554"},"M21-GAP-01554":{"line":4809,"offset":855769,"length":175,"previous":"M21-GAP-01553","next":"M21-GAP-01555"},"M21-GAP-01555":{"line":4810,"offset":855944,"length":175,"previous":"M21-GAP-01554","next":"M21-GAP-01556"},"M21-GAP-01556":{"line":4811,"offset":856119,"length":175,"previous":"M21-GAP-01555","next":"M21-GAP-01557"},"M21-GAP-01557":{"line":4812,"offset":856294,"length":174,"previous":"M21-GAP-01556","next":"M21-GAP-01558"},"M21-GAP-01558":{"line":4813,"offset":856468,"length":174,"previous":"M21-GAP-01557","next":"M21-GAP-01559"},"M21-GAP-01559":{"line":4814,"offset":856642,"length":174,"previous":"M21-GAP-01558","next":"M21-GAP-01560"},"M21-GAP-01560":{"line":4815,"offset":856816,"length":174,"previous":"M21-GAP-01559","next":"M21-GAP-01561"},"M21-GAP-01561":{"line":4816,"offset":856990,"length":174,"previous":"M21-GAP-01560","next":"M21-GAP-01562"},"M21-GAP-01562":{"line":4817,"offset":857164,"length":174,"previous":"M21-GAP-01561","next":"M21-GAP-01563"},"M21-GAP-01563":{"line":4818,"offset":857338,"length":174,"previous":"M21-GAP-01562","next":"M21-GAP-01564"},"M21-GAP-01564":{"line":4819,"offset":857512,"length":179,"previous":"M21-GAP-01563","next":"M21-GAP-01565"},"M21-GAP-01565":{"line":4820,"offset":857691,"length":179,"previous":"M21-GAP-01564","next":"M21-GAP-01566"},"M21-GAP-01566":{"line":4821,"offset":857870,"length":180,"previous":"M21-GAP-01565","next":"M21-GAP-01567"},"M21-GAP-01567":{"line":4822,"offset":858050,"length":180,"previous":"M21-GAP-01566","next":"M21-GAP-01568"},"M21-GAP-01568":{"line":4823,"offset":858230,"length":180,"previous":"M21-GAP-01567","next":"M21-GAP-01569"},"M21-GAP-01569":{"line":4824,"offset":858410,"length":180,"previous":"M21-GAP-01568","next":"M21-GAP-01570"},"M21-GAP-01570":{"line":4825,"offset":858590,"length":180,"previous":"M21-GAP-01569","next":"M21-GAP-01571"},"M21-GAP-01571":{"line":4826,"offset":858770,"length":180,"previous":"M21-GAP-01570","next":"M21-GAP-01572"},"M21-GAP-01572":{"line":4827,"offset":858950,"length":180,"previous":"M21-GAP-01571","next":"M21-GAP-01573"},"M21-GAP-01573":{"line":4828,"offset":859130,"length":180,"previous":"M21-GAP-01572","next":"M21-GAP-01574"},"M21-GAP-01574":{"line":4829,"offset":859310,"length":180,"previous":"M21-GAP-01573","next":"M21-GAP-01575"},"M21-GAP-01575":{"line":4830,"offset":859490,"length":180,"previous":"M21-GAP-01574","next":"M21-GAP-01576"},"M21-GAP-01576":{"line":4831,"offset":859670,"length":179,"previous":"M21-GAP-01575","next":"M21-GAP-01577"},"M21-GAP-01577":{"line":4832,"offset":859849,"length":180,"previous":"M21-GAP-01576","next":"M21-GAP-01578"},"M21-GAP-01578":{"line":4833,"offset":860029,"length":180,"previous":"M21-GAP-01577","next":"M21-GAP-01579"},"M21-GAP-01579":{"line":4834,"offset":860209,"length":180,"previous":"M21-GAP-01578","next":"M21-GAP-01580"},"M21-GAP-01580":{"line":4835,"offset":860389,"length":180,"previous":"M21-GAP-01579","next":"M21-GAP-01581"},"M21-GAP-01581":{"line":4836,"offset":860569,"length":180,"previous":"M21-GAP-01580","next":"M21-GAP-01582"},"M21-GAP-01582":{"line":4837,"offset":860749,"length":180,"previous":"M21-GAP-01581","next":"M21-GAP-01583"},"M21-GAP-01583":{"line":4838,"offset":860929,"length":180,"previous":"M21-GAP-01582","next":"M21-GAP-01584"},"M21-GAP-01584":{"line":4839,"offset":861109,"length":180,"previous":"M21-GAP-01583","next":"M21-GAP-01585"},"M21-GAP-01585":{"line":4840,"offset":861289,"length":180,"previous":"M21-GAP-01584","next":"M21-GAP-01586"},"M21-GAP-01586":{"line":4841,"offset":861469,"length":180,"previous":"M21-GAP-01585","next":"M21-GAP-01587"},"M21-GAP-01587":{"line":4842,"offset":861649,"length":179,"previous":"M21-GAP-01586","next":"M21-GAP-01588"},"M21-GAP-01588":{"line":4843,"offset":861828,"length":180,"previous":"M21-GAP-01587","next":"M21-GAP-01589"},"M21-GAP-01589":{"line":4844,"offset":862008,"length":180,"previous":"M21-GAP-01588","next":"M21-GAP-01590"},"M21-GAP-01590":{"line":4845,"offset":862188,"length":180,"previous":"M21-GAP-01589","next":"M21-GAP-01591"},"M21-GAP-01591":{"line":4846,"offset":862368,"length":180,"previous":"M21-GAP-01590","next":"M21-GAP-01592"},"M21-GAP-01592":{"line":4847,"offset":862548,"length":180,"previous":"M21-GAP-01591","next":"M21-GAP-01593"},"M21-GAP-01593":{"line":4848,"offset":862728,"length":180,"previous":"M21-GAP-01592","next":"M21-GAP-01594"},"M21-GAP-01594":{"line":4849,"offset":862908,"length":180,"previous":"M21-GAP-01593","next":"M21-GAP-01595"},"M21-GAP-01595":{"line":4850,"offset":863088,"length":180,"previous":"M21-GAP-01594","next":"M21-GAP-01596"},"M21-GAP-01596":{"line":4851,"offset":863268,"length":180,"previous":"M21-GAP-01595","next":"M21-GAP-01597"},"M21-GAP-01597":{"line":4852,"offset":863448,"length":180,"previous":"M21-GAP-01596","next":"M21-GAP-01598"},"M21-GAP-01598":{"line":4853,"offset":863628,"length":179,"previous":"M21-GAP-01597","next":"M21-GAP-01599"},"M21-GAP-01599":{"line":4854,"offset":863807,"length":180,"previous":"M21-GAP-01598","next":"M21-GAP-01600"},"M21-GAP-01600":{"line":4855,"offset":863987,"length":180,"previous":"M21-GAP-01599","next":"M21-GAP-01601"},"M21-GAP-01601":{"line":4856,"offset":864167,"length":180,"previous":"M21-GAP-01600","next":"M21-GAP-01602"},"M21-GAP-01602":{"line":4857,"offset":864347,"length":180,"previous":"M21-GAP-01601","next":"M21-GAP-01603"},"M21-GAP-01603":{"line":4858,"offset":864527,"length":180,"previous":"M21-GAP-01602","next":"M21-GAP-01604"},"M21-GAP-01604":{"line":4859,"offset":864707,"length":180,"previous":"M21-GAP-01603","next":"M21-GAP-01605"},"M21-GAP-01605":{"line":4860,"offset":864887,"length":180,"previous":"M21-GAP-01604","next":"M21-GAP-01606"},"M21-GAP-01606":{"line":4861,"offset":865067,"length":180,"previous":"M21-GAP-01605","next":"M21-GAP-01607"},"M21-GAP-01607":{"line":4862,"offset":865247,"length":179,"previous":"M21-GAP-01606","next":"M21-GAP-01608"},"M21-GAP-01608":{"line":4863,"offset":865426,"length":179,"previous":"M21-GAP-01607","next":"M21-GAP-01609"},"M21-GAP-01609":{"line":4864,"offset":865605,"length":179,"previous":"M21-GAP-01608","next":"M21-GAP-01610"},"M21-GAP-01610":{"line":4865,"offset":865784,"length":179,"previous":"M21-GAP-01609","next":"M21-GAP-01611"},"M21-GAP-01611":{"line":4866,"offset":865963,"length":179,"previous":"M21-GAP-01610","next":"M21-GAP-01612"},"M21-GAP-01612":{"line":4867,"offset":866142,"length":188,"previous":"M21-GAP-01611","next":"M21-GAP-01613"},"M21-GAP-01613":{"line":4868,"offset":866330,"length":188,"previous":"M21-GAP-01612","next":"M21-GAP-01614"},"M21-GAP-01614":{"line":4869,"offset":866518,"length":188,"previous":"M21-GAP-01613","next":"M21-GAP-01615"},"M21-GAP-01615":{"line":4870,"offset":866706,"length":188,"previous":"M21-GAP-01614","next":"M21-GAP-01616"},"M21-GAP-01616":{"line":4871,"offset":866894,"length":188,"previous":"M21-GAP-01615","next":"M21-GAP-01617"},"M21-GAP-01617":{"line":4872,"offset":867082,"length":188,"previous":"M21-GAP-01616","next":"M21-GAP-01618"},"M21-GAP-01618":{"line":4873,"offset":867270,"length":171,"previous":"M21-GAP-01617","next":"M21-GAP-01619"},"M21-GAP-01619":{"line":4874,"offset":867441,"length":171,"previous":"M21-GAP-01618","next":"M21-GAP-01620"},"M21-GAP-01620":{"line":4875,"offset":867612,"length":172,"previous":"M21-GAP-01619","next":"M21-GAP-01621"},"M21-GAP-01621":{"line":4876,"offset":867784,"length":172,"previous":"M21-GAP-01620","next":"M21-GAP-01622"},"M21-GAP-01622":{"line":4877,"offset":867956,"length":172,"previous":"M21-GAP-01621","next":"M21-GAP-01623"},"M21-GAP-01623":{"line":4878,"offset":868128,"length":172,"previous":"M21-GAP-01622","next":"M21-GAP-01624"},"M21-GAP-01624":{"line":4879,"offset":868300,"length":172,"previous":"M21-GAP-01623","next":"M21-GAP-01625"},"M21-GAP-01625":{"line":4880,"offset":868472,"length":172,"previous":"M21-GAP-01624","next":"M21-GAP-01626"},"M21-GAP-01626":{"line":4881,"offset":868644,"length":172,"previous":"M21-GAP-01625","next":"M21-GAP-01627"},"M21-GAP-01627":{"line":4882,"offset":868816,"length":172,"previous":"M21-GAP-01626","next":"M21-GAP-01628"},"M21-GAP-01628":{"line":4883,"offset":868988,"length":172,"previous":"M21-GAP-01627","next":"M21-GAP-01629"},"M21-GAP-01629":{"line":4884,"offset":869160,"length":172,"previous":"M21-GAP-01628","next":"M21-GAP-01630"},"M21-GAP-01630":{"line":4885,"offset":869332,"length":171,"previous":"M21-GAP-01629","next":"M21-GAP-01631"},"M21-GAP-01631":{"line":4886,"offset":869503,"length":172,"previous":"M21-GAP-01630","next":"M21-GAP-01632"},"M21-GAP-01632":{"line":4887,"offset":869675,"length":172,"previous":"M21-GAP-01631","next":"M21-GAP-01633"},"M21-GAP-01633":{"line":4888,"offset":869847,"length":172,"previous":"M21-GAP-01632","next":"M21-GAP-01634"},"M21-GAP-01634":{"line":4889,"offset":870019,"length":172,"previous":"M21-GAP-01633","next":"M21-GAP-01635"},"M21-GAP-01635":{"line":4890,"offset":870191,"length":172,"previous":"M21-GAP-01634","next":"M21-GAP-01636"},"M21-GAP-01636":{"line":4891,"offset":870363,"length":172,"previous":"M21-GAP-01635","next":"M21-GAP-01637"},"M21-GAP-01637":{"line":4892,"offset":870535,"length":172,"previous":"M21-GAP-01636","next":"M21-GAP-01638"},"M21-GAP-01638":{"line":4893,"offset":870707,"length":172,"previous":"M21-GAP-01637","next":"M21-GAP-01639"},"M21-GAP-01639":{"line":4894,"offset":870879,"length":172,"previous":"M21-GAP-01638","next":"M21-GAP-01640"},"M21-GAP-01640":{"line":4895,"offset":871051,"length":172,"previous":"M21-GAP-01639","next":"M21-GAP-01641"},"M21-GAP-01641":{"line":4896,"offset":871223,"length":171,"previous":"M21-GAP-01640","next":"M21-GAP-01642"},"M21-GAP-01642":{"line":4897,"offset":871394,"length":172,"previous":"M21-GAP-01641","next":"M21-GAP-01643"},"M21-GAP-01643":{"line":4898,"offset":871566,"length":172,"previous":"M21-GAP-01642","next":"M21-GAP-01644"},"M21-GAP-01644":{"line":4899,"offset":871738,"length":172,"previous":"M21-GAP-01643","next":"M21-GAP-01645"},"M21-GAP-01645":{"line":4900,"offset":871910,"length":172,"previous":"M21-GAP-01644","next":"M21-GAP-01646"},"M21-GAP-01646":{"line":4901,"offset":872082,"length":172,"previous":"M21-GAP-01645","next":"M21-GAP-01647"},"M21-GAP-01647":{"line":4902,"offset":872254,"length":172,"previous":"M21-GAP-01646","next":"M21-GAP-01648"},"M21-GAP-01648":{"line":4903,"offset":872426,"length":172,"previous":"M21-GAP-01647","next":"M21-GAP-01649"},"M21-GAP-01649":{"line":4904,"offset":872598,"length":172,"previous":"M21-GAP-01648","next":"M21-GAP-01650"},"M21-GAP-01650":{"line":4905,"offset":872770,"length":172,"previous":"M21-GAP-01649","next":"M21-GAP-01651"},"M21-GAP-01651":{"line":4906,"offset":872942,"length":172,"previous":"M21-GAP-01650","next":"M21-GAP-01652"},"M21-GAP-01652":{"line":4907,"offset":873114,"length":171,"previous":"M21-GAP-01651","next":"M21-GAP-01653"},"M21-GAP-01653":{"line":4908,"offset":873285,"length":172,"previous":"M21-GAP-01652","next":"M21-GAP-01654"},"M21-GAP-01654":{"line":4909,"offset":873457,"length":172,"previous":"M21-GAP-01653","next":"M21-GAP-01655"},"M21-GAP-01655":{"line":4910,"offset":873629,"length":172,"previous":"M21-GAP-01654","next":"M21-GAP-01656"},"M21-GAP-01656":{"line":4911,"offset":873801,"length":172,"previous":"M21-GAP-01655","next":"M21-GAP-01657"},"M21-GAP-01657":{"line":4912,"offset":873973,"length":172,"previous":"M21-GAP-01656","next":"M21-GAP-01658"},"M21-GAP-01658":{"line":4913,"offset":874145,"length":172,"previous":"M21-GAP-01657","next":"M21-GAP-01659"},"M21-GAP-01659":{"line":4914,"offset":874317,"length":172,"previous":"M21-GAP-01658","next":"M21-GAP-01660"},"M21-GAP-01660":{"line":4915,"offset":874489,"length":172,"previous":"M21-GAP-01659","next":"M21-GAP-01661"},"M21-GAP-01661":{"line":4916,"offset":874661,"length":172,"previous":"M21-GAP-01660","next":"M21-GAP-01662"},"M21-GAP-01662":{"line":4917,"offset":874833,"length":172,"previous":"M21-GAP-01661","next":"M21-GAP-01663"},"M21-GAP-01663":{"line":4918,"offset":875005,"length":171,"previous":"M21-GAP-01662","next":"M21-GAP-01664"},"M21-GAP-01664":{"line":4919,"offset":875176,"length":172,"previous":"M21-GAP-01663","next":"M21-GAP-01665"},"M21-GAP-01665":{"line":4920,"offset":875348,"length":172,"previous":"M21-GAP-01664","next":"M21-GAP-01666"},"M21-GAP-01666":{"line":4921,"offset":875520,"length":172,"previous":"M21-GAP-01665","next":"M21-GAP-01667"},"M21-GAP-01667":{"line":4922,"offset":875692,"length":172,"previous":"M21-GAP-01666","next":"M21-GAP-01668"},"M21-GAP-01668":{"line":4923,"offset":875864,"length":172,"previous":"M21-GAP-01667","next":"M21-GAP-01669"},"M21-GAP-01669":{"line":4924,"offset":876036,"length":172,"previous":"M21-GAP-01668","next":"M21-GAP-01670"},"M21-GAP-01670":{"line":4925,"offset":876208,"length":172,"previous":"M21-GAP-01669","next":"M21-GAP-01671"},"M21-GAP-01671":{"line":4926,"offset":876380,"length":172,"previous":"M21-GAP-01670","next":"M21-GAP-01672"},"M21-GAP-01672":{"line":4927,"offset":876552,"length":172,"previous":"M21-GAP-01671","next":"M21-GAP-01673"},"M21-GAP-01673":{"line":4928,"offset":876724,"length":172,"previous":"M21-GAP-01672","next":"M21-GAP-01674"},"M21-GAP-01674":{"line":4929,"offset":876896,"length":171,"previous":"M21-GAP-01673","next":"M21-GAP-01675"},"M21-GAP-01675":{"line":4930,"offset":877067,"length":172,"previous":"M21-GAP-01674","next":"M21-GAP-01676"},"M21-GAP-01676":{"line":4931,"offset":877239,"length":172,"previous":"M21-GAP-01675","next":"M21-GAP-01677"},"M21-GAP-01677":{"line":4932,"offset":877411,"length":172,"previous":"M21-GAP-01676","next":"M21-GAP-01678"},"M21-GAP-01678":{"line":4933,"offset":877583,"length":172,"previous":"M21-GAP-01677","next":"M21-GAP-01679"},"M21-GAP-01679":{"line":4934,"offset":877755,"length":172,"previous":"M21-GAP-01678","next":"M21-GAP-01680"},"M21-GAP-01680":{"line":4935,"offset":877927,"length":172,"previous":"M21-GAP-01679","next":"M21-GAP-01681"},"M21-GAP-01681":{"line":4936,"offset":878099,"length":172,"previous":"M21-GAP-01680","next":"M21-GAP-01682"},"M21-GAP-01682":{"line":4937,"offset":878271,"length":172,"previous":"M21-GAP-01681","next":"M21-GAP-01683"},"M21-GAP-01683":{"line":4938,"offset":878443,"length":172,"previous":"M21-GAP-01682","next":"M21-GAP-01684"},"M21-GAP-01684":{"line":4939,"offset":878615,"length":172,"previous":"M21-GAP-01683","next":"M21-GAP-01685"},"M21-GAP-01685":{"line":4940,"offset":878787,"length":171,"previous":"M21-GAP-01684","next":"M21-GAP-01686"},"M21-GAP-01686":{"line":4941,"offset":878958,"length":172,"previous":"M21-GAP-01685","next":"M21-GAP-01687"},"M21-GAP-01687":{"line":4942,"offset":879130,"length":172,"previous":"M21-GAP-01686","next":"M21-GAP-01688"},"M21-GAP-01688":{"line":4943,"offset":879302,"length":172,"previous":"M21-GAP-01687","next":"M21-GAP-01689"},"M21-GAP-01689":{"line":4944,"offset":879474,"length":172,"previous":"M21-GAP-01688","next":"M21-GAP-01690"},"M21-GAP-01690":{"line":4945,"offset":879646,"length":172,"previous":"M21-GAP-01689","next":"M21-GAP-01691"},"M21-GAP-01691":{"line":4946,"offset":879818,"length":172,"previous":"M21-GAP-01690","next":"M21-GAP-01692"},"M21-GAP-01692":{"line":4947,"offset":879990,"length":172,"previous":"M21-GAP-01691","next":"M21-GAP-01693"},"M21-GAP-01693":{"line":4948,"offset":880162,"length":172,"previous":"M21-GAP-01692","next":"M21-GAP-01694"},"M21-GAP-01694":{"line":4949,"offset":880334,"length":172,"previous":"M21-GAP-01693","next":"M21-GAP-01695"},"M21-GAP-01695":{"line":4950,"offset":880506,"length":172,"previous":"M21-GAP-01694","next":"M21-GAP-01696"},"M21-GAP-01696":{"line":4951,"offset":880678,"length":171,"previous":"M21-GAP-01695","next":"M21-GAP-01697"},"M21-GAP-01697":{"line":4952,"offset":880849,"length":172,"previous":"M21-GAP-01696","next":"M21-GAP-01698"},"M21-GAP-01698":{"line":4953,"offset":881021,"length":172,"previous":"M21-GAP-01697","next":"M21-GAP-01699"},"M21-GAP-01699":{"line":4954,"offset":881193,"length":172,"previous":"M21-GAP-01698","next":"M21-GAP-01700"},"M21-GAP-01700":{"line":4955,"offset":881365,"length":172,"previous":"M21-GAP-01699","next":"M21-GAP-01701"},"M21-GAP-01701":{"line":4956,"offset":881537,"length":172,"previous":"M21-GAP-01700","next":"M21-GAP-01702"},"M21-GAP-01702":{"line":4957,"offset":881709,"length":172,"previous":"M21-GAP-01701","next":"M21-GAP-01703"},"M21-GAP-01703":{"line":4958,"offset":881881,"length":172,"previous":"M21-GAP-01702","next":"M21-GAP-01704"},"M21-GAP-01704":{"line":4959,"offset":882053,"length":172,"previous":"M21-GAP-01703","next":"M21-GAP-01705"},"M21-GAP-01705":{"line":4960,"offset":882225,"length":172,"previous":"M21-GAP-01704","next":"M21-GAP-01706"},"M21-GAP-01706":{"line":4961,"offset":882397,"length":172,"previous":"M21-GAP-01705","next":"M21-GAP-01707"},"M21-GAP-01707":{"line":4962,"offset":882569,"length":171,"previous":"M21-GAP-01706","next":"M21-GAP-01708"},"M21-GAP-01708":{"line":4963,"offset":882740,"length":172,"previous":"M21-GAP-01707","next":"M21-GAP-01709"},"M21-GAP-01709":{"line":4964,"offset":882912,"length":172,"previous":"M21-GAP-01708","next":"M21-GAP-01710"},"M21-GAP-01710":{"line":4965,"offset":883084,"length":172,"previous":"M21-GAP-01709","next":"M21-GAP-01711"},"M21-GAP-01711":{"line":4966,"offset":883256,"length":175,"previous":"M21-GAP-01710","next":"M21-GAP-01712"},"M21-GAP-01712":{"line":4967,"offset":883431,"length":175,"previous":"M21-GAP-01711","next":"M21-GAP-01713"},"M21-GAP-01713":{"line":4968,"offset":883606,"length":176,"previous":"M21-GAP-01712","next":"M21-GAP-01714"},"M21-GAP-01714":{"line":4969,"offset":883782,"length":176,"previous":"M21-GAP-01713","next":"M21-GAP-01715"},"M21-GAP-01715":{"line":4970,"offset":883958,"length":176,"previous":"M21-GAP-01714","next":"M21-GAP-01716"},"M21-GAP-01716":{"line":4971,"offset":884134,"length":176,"previous":"M21-GAP-01715","next":"M21-GAP-01717"},"M21-GAP-01717":{"line":4972,"offset":884310,"length":176,"previous":"M21-GAP-01716","next":"M21-GAP-01718"},"M21-GAP-01718":{"line":4973,"offset":884486,"length":176,"previous":"M21-GAP-01717","next":"M21-GAP-01719"},"M21-GAP-01719":{"line":4974,"offset":884662,"length":176,"previous":"M21-GAP-01718","next":"M21-GAP-01720"},"M21-GAP-01720":{"line":4975,"offset":884838,"length":176,"previous":"M21-GAP-01719","next":"M21-GAP-01721"},"M21-GAP-01721":{"line":4976,"offset":885014,"length":176,"previous":"M21-GAP-01720","next":"M21-GAP-01722"},"M21-GAP-01722":{"line":4977,"offset":885190,"length":176,"previous":"M21-GAP-01721","next":"M21-GAP-01723"},"M21-GAP-01723":{"line":4978,"offset":885366,"length":175,"previous":"M21-GAP-01722","next":"M21-GAP-01724"},"M21-GAP-01724":{"line":4979,"offset":885541,"length":176,"previous":"M21-GAP-01723","next":"M21-GAP-01725"},"M21-GAP-01725":{"line":4980,"offset":885717,"length":176,"previous":"M21-GAP-01724","next":"M21-GAP-01726"},"M21-GAP-01726":{"line":4981,"offset":885893,"length":175,"previous":"M21-GAP-01725","next":"M21-GAP-01727"},"M21-GAP-01727":{"line":4982,"offset":886068,"length":175,"previous":"M21-GAP-01726","next":"M21-GAP-01728"},"M21-GAP-01728":{"line":4983,"offset":886243,"length":175,"previous":"M21-GAP-01727","next":"M21-GAP-01729"},"M21-GAP-01729":{"line":4984,"offset":886418,"length":175,"previous":"M21-GAP-01728","next":"M21-GAP-01730"},"M21-GAP-01730":{"line":4985,"offset":886593,"length":175,"previous":"M21-GAP-01729","next":"M21-GAP-01731"},"M21-GAP-01731":{"line":4986,"offset":886768,"length":175,"previous":"M21-GAP-01730","next":"M21-GAP-01732"},"M21-GAP-01732":{"line":4987,"offset":886943,"length":175,"previous":"M21-GAP-01731","next":"M21-GAP-01733"},"M21-GAP-01733":{"line":4988,"offset":887118,"length":182,"previous":"M21-GAP-01732","next":"M21-GAP-01734"},"M21-GAP-01734":{"line":4989,"offset":887300,"length":182,"previous":"M21-GAP-01733","next":"M21-GAP-01735"},"M21-GAP-01735":{"line":4990,"offset":887482,"length":183,"previous":"M21-GAP-01734","next":"M21-GAP-01736"},"M21-GAP-01736":{"line":4991,"offset":887665,"length":183,"previous":"M21-GAP-01735","next":"M21-GAP-01737"},"M21-GAP-01737":{"line":4992,"offset":887848,"length":183,"previous":"M21-GAP-01736","next":"M21-GAP-01738"},"M21-GAP-01738":{"line":4993,"offset":888031,"length":183,"previous":"M21-GAP-01737","next":"M21-GAP-01739"},"M21-GAP-01739":{"line":4994,"offset":888214,"length":183,"previous":"M21-GAP-01738","next":"M21-GAP-01740"},"M21-GAP-01740":{"line":4995,"offset":888397,"length":183,"previous":"M21-GAP-01739","next":"M21-GAP-01741"},"M21-GAP-01741":{"line":4996,"offset":888580,"length":183,"previous":"M21-GAP-01740","next":"M21-GAP-01742"},"M21-GAP-01742":{"line":4997,"offset":888763,"length":183,"previous":"M21-GAP-01741","next":"M21-GAP-01743"},"M21-GAP-01743":{"line":4998,"offset":888946,"length":183,"previous":"M21-GAP-01742","next":"M21-GAP-01744"},"M21-GAP-01744":{"line":4999,"offset":889129,"length":183,"previous":"M21-GAP-01743","next":"M21-GAP-01745"},"M21-GAP-01745":{"line":5000,"offset":889312,"length":182,"previous":"M21-GAP-01744","next":"M21-GAP-01746"},"M21-GAP-01746":{"line":5001,"offset":889494,"length":183,"previous":"M21-GAP-01745","next":"M21-GAP-01747"},"M21-GAP-01747":{"line":5002,"offset":889677,"length":183,"previous":"M21-GAP-01746","next":"M21-GAP-01748"},"M21-GAP-01748":{"line":5003,"offset":889860,"length":183,"previous":"M21-GAP-01747","next":"M21-GAP-01749"},"M21-GAP-01749":{"line":5004,"offset":890043,"length":183,"previous":"M21-GAP-01748","next":"M21-GAP-01750"},"M21-GAP-01750":{"line":5005,"offset":890226,"length":183,"previous":"M21-GAP-01749","next":"M21-GAP-01751"},"M21-GAP-01751":{"line":5006,"offset":890409,"length":183,"previous":"M21-GAP-01750","next":"M21-GAP-01752"},"M21-GAP-01752":{"line":5007,"offset":890592,"length":183,"previous":"M21-GAP-01751","next":"M21-GAP-01753"},"M21-GAP-01753":{"line":5008,"offset":890775,"length":183,"previous":"M21-GAP-01752","next":"M21-GAP-01754"},"M21-GAP-01754":{"line":5009,"offset":890958,"length":183,"previous":"M21-GAP-01753","next":"M21-GAP-01755"},"M21-GAP-01755":{"line":5010,"offset":891141,"length":183,"previous":"M21-GAP-01754","next":"M21-GAP-01756"},"M21-GAP-01756":{"line":5011,"offset":891324,"length":182,"previous":"M21-GAP-01755","next":"M21-GAP-01757"},"M21-GAP-01757":{"line":5012,"offset":891506,"length":183,"previous":"M21-GAP-01756","next":"M21-GAP-01758"},"M21-GAP-01758":{"line":5013,"offset":891689,"length":183,"previous":"M21-GAP-01757","next":"M21-GAP-01759"},"M21-GAP-01759":{"line":5014,"offset":891872,"length":183,"previous":"M21-GAP-01758","next":"M21-GAP-01760"},"M21-GAP-01760":{"line":5015,"offset":892055,"length":183,"previous":"M21-GAP-01759","next":"M21-GAP-01761"},"M21-GAP-01761":{"line":5016,"offset":892238,"length":183,"previous":"M21-GAP-01760","next":"M21-GAP-01762"},"M21-GAP-01762":{"line":5017,"offset":892421,"length":183,"previous":"M21-GAP-01761","next":"M21-GAP-01763"},"M21-GAP-01763":{"line":5018,"offset":892604,"length":183,"previous":"M21-GAP-01762","next":"M21-GAP-01764"},"M21-GAP-01764":{"line":5019,"offset":892787,"length":183,"previous":"M21-GAP-01763","next":"M21-GAP-01765"},"M21-GAP-01765":{"line":5020,"offset":892970,"length":183,"previous":"M21-GAP-01764","next":"M21-GAP-01766"},"M21-GAP-01766":{"line":5021,"offset":893153,"length":183,"previous":"M21-GAP-01765","next":"M21-GAP-01767"},"M21-GAP-01767":{"line":5022,"offset":893336,"length":182,"previous":"M21-GAP-01766","next":"M21-GAP-01768"},"M21-GAP-01768":{"line":5023,"offset":893518,"length":183,"previous":"M21-GAP-01767","next":"M21-GAP-01769"},"M21-GAP-01769":{"line":5024,"offset":893701,"length":183,"previous":"M21-GAP-01768","next":"M21-GAP-01770"},"M21-GAP-01770":{"line":5025,"offset":893884,"length":183,"previous":"M21-GAP-01769","next":"M21-GAP-01771"},"M21-GAP-01771":{"line":5026,"offset":894067,"length":183,"previous":"M21-GAP-01770","next":"M21-GAP-01772"},"M21-GAP-01772":{"line":5027,"offset":894250,"length":183,"previous":"M21-GAP-01771","next":"M21-GAP-01773"},"M21-GAP-01773":{"line":5028,"offset":894433,"length":183,"previous":"M21-GAP-01772","next":"M21-GAP-01774"},"M21-GAP-01774":{"line":5029,"offset":894616,"length":183,"previous":"M21-GAP-01773","next":"M21-GAP-01775"},"M21-GAP-01775":{"line":5030,"offset":894799,"length":183,"previous":"M21-GAP-01774","next":"M21-GAP-01776"},"M21-GAP-01776":{"line":5031,"offset":894982,"length":183,"previous":"M21-GAP-01775","next":"M21-GAP-01777"},"M21-GAP-01777":{"line":5032,"offset":895165,"length":182,"previous":"M21-GAP-01776","next":"M21-GAP-01778"},"M21-GAP-01778":{"line":5033,"offset":895347,"length":182,"previous":"M21-GAP-01777","next":"M21-GAP-01779"},"M21-GAP-01779":{"line":5034,"offset":895529,"length":182,"previous":"M21-GAP-01778","next":"M21-GAP-01780"},"M21-GAP-01780":{"line":5035,"offset":895711,"length":182,"previous":"M21-GAP-01779","next":"M21-GAP-01781"},"M21-GAP-01781":{"line":5036,"offset":895893,"length":182,"previous":"M21-GAP-01780","next":"M21-GAP-01782"},"M21-GAP-01782":{"line":5037,"offset":896075,"length":183,"previous":"M21-GAP-01781","next":"M21-GAP-01783"},"M21-GAP-01783":{"line":5038,"offset":896258,"length":183,"previous":"M21-GAP-01782","next":"M21-GAP-01784"},"M21-GAP-01784":{"line":5039,"offset":896441,"length":183,"previous":"M21-GAP-01783","next":"M21-GAP-01785"},"M21-GAP-01785":{"line":5040,"offset":896624,"length":183,"previous":"M21-GAP-01784","next":"M21-GAP-01786"},"M21-GAP-01786":{"line":5041,"offset":896807,"length":183,"previous":"M21-GAP-01785","next":"M21-GAP-01787"},"M21-GAP-01787":{"line":5042,"offset":896990,"length":183,"previous":"M21-GAP-01786","next":"M21-GAP-01788"},"M21-GAP-01788":{"line":5043,"offset":897173,"length":182,"previous":"M21-GAP-01787","next":"M21-GAP-01789"},"M21-GAP-01789":{"line":5044,"offset":897355,"length":182,"previous":"M21-GAP-01788","next":"M21-GAP-01790"},"M21-GAP-01790":{"line":5045,"offset":897537,"length":182,"previous":"M21-GAP-01789","next":"M21-GAP-01791"},"M21-GAP-01791":{"line":5046,"offset":897719,"length":182,"previous":"M21-GAP-01790","next":"M21-GAP-01792"},"M21-GAP-01792":{"line":5047,"offset":897901,"length":182,"previous":"M21-GAP-01791","next":"M21-GAP-01793"},"M21-GAP-01793":{"line":5048,"offset":898083,"length":182,"previous":"M21-GAP-01792","next":"M21-GAP-01794"},"M21-GAP-01794":{"line":5049,"offset":898265,"length":182,"previous":"M21-GAP-01793","next":"M21-GAP-01795"},"M21-GAP-01795":{"line":5050,"offset":898447,"length":182,"previous":"M21-GAP-01794","next":"M21-GAP-01796"},"M21-GAP-01796":{"line":5051,"offset":898629,"length":184,"previous":"M21-GAP-01795","next":"M21-GAP-01797"},"M21-GAP-01797":{"line":5052,"offset":898813,"length":184,"previous":"M21-GAP-01796","next":"M21-GAP-01798"},"M21-GAP-01798":{"line":5053,"offset":898997,"length":185,"previous":"M21-GAP-01797","next":"M21-GAP-01799"},"M21-GAP-01799":{"line":5054,"offset":899182,"length":186,"previous":"M21-GAP-01798","next":"M21-GAP-01800"},"M21-GAP-01800":{"line":5055,"offset":899368,"length":186,"previous":"M21-GAP-01799","next":"M21-GAP-01801"},"M21-GAP-01801":{"line":5056,"offset":899554,"length":186,"previous":"M21-GAP-01800","next":"M21-GAP-01802"},"M21-GAP-01802":{"line":5057,"offset":899740,"length":186,"previous":"M21-GAP-01801","next":"M21-GAP-01803"},"M21-GAP-01803":{"line":5058,"offset":899926,"length":185,"previous":"M21-GAP-01802","next":"M21-GAP-01804"},"M21-GAP-01804":{"line":5059,"offset":900111,"length":185,"previous":"M21-GAP-01803","next":"M21-GAP-01805"},"M21-GAP-01805":{"line":5060,"offset":900296,"length":185,"previous":"M21-GAP-01804","next":"M21-GAP-01806"},"M21-GAP-01806":{"line":5061,"offset":900481,"length":185,"previous":"M21-GAP-01805","next":"M21-GAP-01807"},"M21-GAP-01807":{"line":5062,"offset":900666,"length":185,"previous":"M21-GAP-01806","next":"M21-GAP-01808"},"M21-GAP-01808":{"line":5063,"offset":900851,"length":185,"previous":"M21-GAP-01807","next":"M21-GAP-01809"},"M21-GAP-01809":{"line":5064,"offset":901036,"length":185,"previous":"M21-GAP-01808","next":"M21-GAP-01810"},"M21-GAP-01810":{"line":5065,"offset":901221,"length":185,"previous":"M21-GAP-01809","next":"M21-GAP-01811"},"M21-GAP-01811":{"line":5066,"offset":901406,"length":185,"previous":"M21-GAP-01810","next":"M21-GAP-01812"},"M21-GAP-01812":{"line":5067,"offset":901591,"length":184,"previous":"M21-GAP-01811","next":"M21-GAP-01813"},"M21-GAP-01813":{"line":5068,"offset":901775,"length":185,"previous":"M21-GAP-01812","next":"M21-GAP-01814"},"M21-GAP-01814":{"line":5069,"offset":901960,"length":185,"previous":"M21-GAP-01813","next":"M21-GAP-01815"},"M21-GAP-01815":{"line":5070,"offset":902145,"length":185,"previous":"M21-GAP-01814","next":"M21-GAP-01816"},"M21-GAP-01816":{"line":5071,"offset":902330,"length":185,"previous":"M21-GAP-01815","next":"M21-GAP-01817"},"M21-GAP-01817":{"line":5072,"offset":902515,"length":185,"previous":"M21-GAP-01816","next":"M21-GAP-01818"},"M21-GAP-01818":{"line":5073,"offset":902700,"length":185,"previous":"M21-GAP-01817","next":"M21-GAP-01819"},"M21-GAP-01819":{"line":5074,"offset":902885,"length":185,"previous":"M21-GAP-01818","next":"M21-GAP-01820"},"M21-GAP-01820":{"line":5075,"offset":903070,"length":185,"previous":"M21-GAP-01819","next":"M21-GAP-01821"},"M21-GAP-01821":{"line":5076,"offset":903255,"length":185,"previous":"M21-GAP-01820","next":"M21-GAP-01822"},"M21-GAP-01822":{"line":5077,"offset":903440,"length":185,"previous":"M21-GAP-01821","next":"M21-GAP-01823"},"M21-GAP-01823":{"line":5078,"offset":903625,"length":184,"previous":"M21-GAP-01822","next":"M21-GAP-01824"},"M21-GAP-01824":{"line":5079,"offset":903809,"length":185,"previous":"M21-GAP-01823","next":"M21-GAP-01825"},"M21-GAP-01825":{"line":5080,"offset":903994,"length":185,"previous":"M21-GAP-01824","next":"M21-GAP-01826"},"M21-GAP-01826":{"line":5081,"offset":904179,"length":185,"previous":"M21-GAP-01825","next":"M21-GAP-01827"},"M21-GAP-01827":{"line":5082,"offset":904364,"length":185,"previous":"M21-GAP-01826","next":"M21-GAP-01828"},"M21-GAP-01828":{"line":5083,"offset":904549,"length":185,"previous":"M21-GAP-01827","next":"M21-GAP-01829"},"M21-GAP-01829":{"line":5084,"offset":904734,"length":185,"previous":"M21-GAP-01828","next":"M21-GAP-01830"},"M21-GAP-01830":{"line":5085,"offset":904919,"length":185,"previous":"M21-GAP-01829","next":"M21-GAP-01831"},"M21-GAP-01831":{"line":5086,"offset":905104,"length":185,"previous":"M21-GAP-01830","next":"M21-GAP-01832"},"M21-GAP-01832":{"line":5087,"offset":905289,"length":185,"previous":"M21-GAP-01831","next":"M21-GAP-01833"},"M21-GAP-01833":{"line":5088,"offset":905474,"length":185,"previous":"M21-GAP-01832","next":"M21-GAP-01834"},"M21-GAP-01834":{"line":5089,"offset":905659,"length":184,"previous":"M21-GAP-01833","next":"M21-GAP-01835"},"M21-GAP-01835":{"line":5090,"offset":905843,"length":185,"previous":"M21-GAP-01834","next":"M21-GAP-01836"},"M21-GAP-01836":{"line":5091,"offset":906028,"length":185,"previous":"M21-GAP-01835","next":"M21-GAP-01837"},"M21-GAP-01837":{"line":5092,"offset":906213,"length":185,"previous":"M21-GAP-01836","next":"M21-GAP-01838"},"M21-GAP-01838":{"line":5093,"offset":906398,"length":185,"previous":"M21-GAP-01837","next":"M21-GAP-01839"},"M21-GAP-01839":{"line":5094,"offset":906583,"length":185,"previous":"M21-GAP-01838","next":"M21-GAP-01840"},"M21-GAP-01840":{"line":5095,"offset":906768,"length":185,"previous":"M21-GAP-01839","next":"M21-GAP-01841"},"M21-GAP-01841":{"line":5096,"offset":906953,"length":185,"previous":"M21-GAP-01840","next":"M21-GAP-01842"},"M21-GAP-01842":{"line":5097,"offset":907138,"length":185,"previous":"M21-GAP-01841","next":"M21-GAP-01843"},"M21-GAP-01843":{"line":5098,"offset":907323,"length":185,"previous":"M21-GAP-01842","next":"M21-GAP-01844"},"M21-GAP-01844":{"line":5099,"offset":907508,"length":185,"previous":"M21-GAP-01843","next":"M21-GAP-01845"},"M21-GAP-01845":{"line":5100,"offset":907693,"length":184,"previous":"M21-GAP-01844","next":"M21-GAP-01846"},"M21-GAP-01846":{"line":5101,"offset":907877,"length":185,"previous":"M21-GAP-01845","next":"M21-GAP-01847"},"M21-GAP-01847":{"line":5102,"offset":908062,"length":185,"previous":"M21-GAP-01846","next":"M21-GAP-01848"},"M21-GAP-01848":{"line":5103,"offset":908247,"length":185,"previous":"M21-GAP-01847","next":"M21-GAP-01849"},"M21-GAP-01849":{"line":5104,"offset":908432,"length":185,"previous":"M21-GAP-01848","next":"M21-GAP-01850"},"M21-GAP-01850":{"line":5105,"offset":908617,"length":185,"previous":"M21-GAP-01849","next":"M21-GAP-01851"},"M21-GAP-01851":{"line":5106,"offset":908802,"length":185,"previous":"M21-GAP-01850","next":"M21-GAP-01852"},"M21-GAP-01852":{"line":5107,"offset":908987,"length":185,"previous":"M21-GAP-01851","next":"M21-GAP-01853"},"M21-GAP-01853":{"line":5108,"offset":909172,"length":185,"previous":"M21-GAP-01852","next":"M21-GAP-01854"},"M21-GAP-01854":{"line":5109,"offset":909357,"length":185,"previous":"M21-GAP-01853","next":"M21-GAP-01855"},"M21-GAP-01855":{"line":5110,"offset":909542,"length":185,"previous":"M21-GAP-01854","next":"M21-GAP-01856"},"M21-GAP-01856":{"line":5111,"offset":909727,"length":184,"previous":"M21-GAP-01855","next":"M21-GAP-01857"},"M21-GAP-01857":{"line":5112,"offset":909911,"length":185,"previous":"M21-GAP-01856","next":"M21-GAP-01858"},"M21-GAP-01858":{"line":5113,"offset":910096,"length":185,"previous":"M21-GAP-01857","next":"M21-GAP-01859"},"M21-GAP-01859":{"line":5114,"offset":910281,"length":185,"previous":"M21-GAP-01858","next":"M21-GAP-01860"},"M21-GAP-01860":{"line":5115,"offset":910466,"length":185,"previous":"M21-GAP-01859","next":"M21-GAP-01861"},"M21-GAP-01861":{"line":5116,"offset":910651,"length":185,"previous":"M21-GAP-01860","next":"M21-GAP-01862"},"M21-GAP-01862":{"line":5117,"offset":910836,"length":185,"previous":"M21-GAP-01861","next":"M21-GAP-01863"},"M21-GAP-01863":{"line":5118,"offset":911021,"length":185,"previous":"M21-GAP-01862","next":"M21-GAP-01864"},"M21-GAP-01864":{"line":5119,"offset":911206,"length":185,"previous":"M21-GAP-01863","next":"M21-GAP-01865"},"M21-GAP-01865":{"line":5120,"offset":911391,"length":185,"previous":"M21-GAP-01864","next":"M21-GAP-01866"},"M21-GAP-01866":{"line":5121,"offset":911576,"length":185,"previous":"M21-GAP-01865","next":"M21-GAP-01867"},"M21-GAP-01867":{"line":5122,"offset":911761,"length":184,"previous":"M21-GAP-01866","next":"M21-GAP-01868"},"M21-GAP-01868":{"line":5123,"offset":911945,"length":185,"previous":"M21-GAP-01867","next":"M21-GAP-01869"},"M21-GAP-01869":{"line":5124,"offset":912130,"length":185,"previous":"M21-GAP-01868","next":"M21-GAP-01870"},"M21-GAP-01870":{"line":5125,"offset":912315,"length":185,"previous":"M21-GAP-01869","next":"M21-GAP-01871"},"M21-GAP-01871":{"line":5126,"offset":912500,"length":185,"previous":"M21-GAP-01870","next":"M21-GAP-01872"},"M21-GAP-01872":{"line":5127,"offset":912685,"length":185,"previous":"M21-GAP-01871","next":"M21-GAP-01873"},"M21-GAP-01873":{"line":5128,"offset":912870,"length":185,"previous":"M21-GAP-01872","next":"M21-GAP-01874"},"M21-GAP-01874":{"line":5129,"offset":913055,"length":185,"previous":"M21-GAP-01873","next":"M21-GAP-01875"},"M21-GAP-01875":{"line":5130,"offset":913240,"length":185,"previous":"M21-GAP-01874","next":"M21-GAP-01876"},"M21-GAP-01876":{"line":5131,"offset":913425,"length":185,"previous":"M21-GAP-01875","next":"M21-GAP-01877"},"M21-GAP-01877":{"line":5132,"offset":913610,"length":185,"previous":"M21-GAP-01876","next":"M21-GAP-01878"},"M21-GAP-01878":{"line":5133,"offset":913795,"length":184,"previous":"M21-GAP-01877","next":"M21-GAP-01879"},"M21-GAP-01879":{"line":5134,"offset":913979,"length":185,"previous":"M21-GAP-01878","next":"M21-GAP-01880"},"M21-GAP-01880":{"line":5135,"offset":914164,"length":185,"previous":"M21-GAP-01879","next":"M21-GAP-01881"},"M21-GAP-01881":{"line":5136,"offset":914349,"length":185,"previous":"M21-GAP-01880","next":"M21-GAP-01882"},"M21-GAP-01882":{"line":5137,"offset":914534,"length":185,"previous":"M21-GAP-01881","next":"M21-GAP-01883"},"M21-GAP-01883":{"line":5138,"offset":914719,"length":185,"previous":"M21-GAP-01882","next":"M21-GAP-01884"},"M21-GAP-01884":{"line":5139,"offset":914904,"length":185,"previous":"M21-GAP-01883","next":"M21-GAP-01885"},"M21-GAP-01885":{"line":5140,"offset":915089,"length":185,"previous":"M21-GAP-01884","next":"M21-GAP-01886"},"M21-GAP-01886":{"line":5141,"offset":915274,"length":185,"previous":"M21-GAP-01885","next":"M21-GAP-01887"},"M21-GAP-01887":{"line":5142,"offset":915459,"length":185,"previous":"M21-GAP-01886","next":"M21-GAP-01888"},"M21-GAP-01888":{"line":5143,"offset":915644,"length":185,"previous":"M21-GAP-01887","next":"M21-GAP-01889"},"M21-GAP-01889":{"line":5144,"offset":915829,"length":184,"previous":"M21-GAP-01888","next":"M21-GAP-01890"},"M21-GAP-01890":{"line":5145,"offset":916013,"length":185,"previous":"M21-GAP-01889","next":"M21-GAP-01891"},"M21-GAP-01891":{"line":5146,"offset":916198,"length":185,"previous":"M21-GAP-01890","next":"M21-GAP-01892"},"M21-GAP-01892":{"line":5147,"offset":916383,"length":185,"previous":"M21-GAP-01891","next":"M21-GAP-01893"},"M21-GAP-01893":{"line":5148,"offset":916568,"length":185,"previous":"M21-GAP-01892","next":"M21-GAP-01894"},"M21-GAP-01894":{"line":5149,"offset":916753,"length":185,"previous":"M21-GAP-01893","next":"M21-GAP-01895"},"M21-GAP-01895":{"line":5150,"offset":916938,"length":185,"previous":"M21-GAP-01894","next":"M21-GAP-01896"},"M21-GAP-01896":{"line":5151,"offset":917123,"length":185,"previous":"M21-GAP-01895","next":"M21-GAP-01897"},"M21-GAP-01897":{"line":5152,"offset":917308,"length":185,"previous":"M21-GAP-01896","next":"M21-GAP-01898"},"M21-GAP-01898":{"line":5153,"offset":917493,"length":185,"previous":"M21-GAP-01897","next":"M21-GAP-01899"},"M21-GAP-01899":{"line":5154,"offset":917678,"length":185,"previous":"M21-GAP-01898","next":"M21-GAP-01900"},"M21-GAP-01900":{"line":5155,"offset":917863,"length":185,"previous":"M21-GAP-01899","next":"M21-GAP-01901"},"M21-GAP-01901":{"line":5156,"offset":918048,"length":185,"previous":"M21-GAP-01900","next":"M21-GAP-01902"},"M21-GAP-01902":{"line":5157,"offset":918233,"length":186,"previous":"M21-GAP-01901","next":"M21-GAP-01903"},"M21-GAP-01903":{"line":5158,"offset":918419,"length":186,"previous":"M21-GAP-01902","next":"M21-GAP-01904"},"M21-GAP-01904":{"line":5159,"offset":918605,"length":186,"previous":"M21-GAP-01903","next":"M21-GAP-01905"},"M21-GAP-01905":{"line":5160,"offset":918791,"length":186,"previous":"M21-GAP-01904","next":"M21-GAP-01906"},"M21-GAP-01906":{"line":5161,"offset":918977,"length":186,"previous":"M21-GAP-01905","next":"M21-GAP-01907"},"M21-GAP-01907":{"line":5162,"offset":919163,"length":186,"previous":"M21-GAP-01906","next":"M21-GAP-01908"},"M21-GAP-01908":{"line":5163,"offset":919349,"length":188,"previous":"M21-GAP-01907","next":"M21-GAP-01909"},"M21-GAP-01909":{"line":5164,"offset":919537,"length":188,"previous":"M21-GAP-01908","next":"M21-GAP-01910"},"M21-GAP-01910":{"line":5165,"offset":919725,"length":188,"previous":"M21-GAP-01909","next":"M21-GAP-01911"},"M21-GAP-01911":{"line":5166,"offset":919913,"length":188,"previous":"M21-GAP-01910","next":"M21-GAP-01912"},"M21-GAP-01912":{"line":5167,"offset":920101,"length":188,"previous":"M21-GAP-01911","next":"M21-GAP-01913"},"M21-GAP-01913":{"line":5168,"offset":920289,"length":188,"previous":"M21-GAP-01912","next":"M21-GAP-01914"},"M21-GAP-01914":{"line":5169,"offset":920477,"length":188,"previous":"M21-GAP-01913","next":"M21-GAP-01915"},"M21-GAP-01915":{"line":5170,"offset":920665,"length":195,"previous":"M21-GAP-01914","next":"M21-GAP-01916"},"M21-GAP-01916":{"line":5171,"offset":920860,"length":193,"previous":"M21-GAP-01915","next":"M21-GAP-01917"},"M21-GAP-01917":{"line":5172,"offset":921053,"length":194,"previous":"M21-GAP-01916","next":"M21-GAP-01918"},"M21-GAP-01918":{"line":5173,"offset":921247,"length":205,"previous":"M21-GAP-01917","next":"M21-GAP-01919"},"M21-GAP-01919":{"line":5174,"offset":921452,"length":205,"previous":"M21-GAP-01918","next":"M21-GAP-01920"},"M21-GAP-01920":{"line":5175,"offset":921657,"length":206,"previous":"M21-GAP-01919","next":"M21-GAP-01921"},"M21-GAP-01921":{"line":5176,"offset":921863,"length":206,"previous":"M21-GAP-01920","next":"M21-GAP-01922"},"M21-GAP-01922":{"line":5177,"offset":922069,"length":205,"previous":"M21-GAP-01921","next":"M21-GAP-01923"},"M21-GAP-01923":{"line":5178,"offset":922274,"length":205,"previous":"M21-GAP-01922","next":"M21-GAP-01924"},"M21-GAP-01924":{"line":5179,"offset":922479,"length":205,"previous":"M21-GAP-01923","next":"M21-GAP-01925"},"M21-GAP-01925":{"line":5180,"offset":922684,"length":205,"previous":"M21-GAP-01924","next":"M21-GAP-01926"},"M21-GAP-01926":{"line":5181,"offset":922889,"length":205,"previous":"M21-GAP-01925","next":"M21-GAP-01927"},"M21-GAP-01927":{"line":5182,"offset":923094,"length":205,"previous":"M21-GAP-01926","next":"M21-GAP-01928"},"M21-GAP-01928":{"line":5183,"offset":923299,"length":205,"previous":"M21-GAP-01927","next":"M21-GAP-01929"},"M21-GAP-01929":{"line":5184,"offset":923504,"length":205,"previous":"M21-GAP-01928","next":"M21-GAP-01930"},"M21-GAP-01930":{"line":5185,"offset":923709,"length":194,"previous":"M21-GAP-01929","next":"M21-GAP-01931"},"M21-GAP-01931":{"line":5186,"offset":923903,"length":194,"previous":"M21-GAP-01930","next":"M21-GAP-01932"},"M21-GAP-01932":{"line":5187,"offset":924097,"length":195,"previous":"M21-GAP-01931","next":"M21-GAP-01933"},"M21-GAP-01933":{"line":5188,"offset":924292,"length":195,"previous":"M21-GAP-01932","next":"M21-GAP-01934"},"M21-GAP-01934":{"line":5189,"offset":924487,"length":194,"previous":"M21-GAP-01933","next":"M21-GAP-01935"},"M21-GAP-01935":{"line":5190,"offset":924681,"length":194,"previous":"M21-GAP-01934","next":"M21-GAP-01936"},"M21-GAP-01936":{"line":5191,"offset":924875,"length":194,"previous":"M21-GAP-01935","next":"M21-GAP-01937"},"M21-GAP-01937":{"line":5192,"offset":925069,"length":194,"previous":"M21-GAP-01936","next":"M21-GAP-01938"},"M21-GAP-01938":{"line":5193,"offset":925263,"length":194,"previous":"M21-GAP-01937","next":"M21-GAP-01939"},"M21-GAP-01939":{"line":5194,"offset":925457,"length":194,"previous":"M21-GAP-01938","next":"M21-GAP-01940"},"M21-GAP-01940":{"line":5195,"offset":925651,"length":194,"previous":"M21-GAP-01939","next":"M21-GAP-01941"},"M21-GAP-01941":{"line":5196,"offset":925845,"length":194,"previous":"M21-GAP-01940","next":"M21-GAP-01942"},"M21-GAP-01942":{"line":5197,"offset":926039,"length":208,"previous":"M21-GAP-01941","next":"M21-GAP-01943"},"M21-GAP-01943":{"line":5198,"offset":926247,"length":208,"previous":"M21-GAP-01942","next":"M21-GAP-01944"},"M21-GAP-01944":{"line":5199,"offset":926455,"length":208,"previous":"M21-GAP-01943","next":"M21-GAP-01945"},"M21-GAP-01945":{"line":5200,"offset":926663,"length":197,"previous":"M21-GAP-01944","next":"M21-GAP-01946"},"M21-GAP-01946":{"line":5201,"offset":926860,"length":197,"previous":"M21-GAP-01945","next":"M21-GAP-01947"},"M21-GAP-01947":{"line":5202,"offset":927057,"length":197,"previous":"M21-GAP-01946","next":"M21-GAP-01948"},"M21-GAP-01948":{"line":5203,"offset":927254,"length":207,"previous":"M21-GAP-01947","next":"M21-GAP-01949"},"M21-GAP-01949":{"line":5204,"offset":927461,"length":207,"previous":"M21-GAP-01948","next":"M21-GAP-01950"},"M21-GAP-01950":{"line":5205,"offset":927668,"length":207,"previous":"M21-GAP-01949","next":"M21-GAP-01951"},"M21-GAP-01951":{"line":5206,"offset":927875,"length":196,"previous":"M21-GAP-01950","next":"M21-GAP-01952"},"M21-GAP-01952":{"line":5207,"offset":928071,"length":196,"previous":"M21-GAP-01951","next":"M21-GAP-01953"},"M21-GAP-01953":{"line":5208,"offset":928267,"length":196,"previous":"M21-GAP-01952","next":"M21-GAP-01954"},"M21-GAP-01954":{"line":5209,"offset":928463,"length":200,"previous":"M21-GAP-01953","next":"M21-GAP-01955"},"M21-GAP-01955":{"line":5210,"offset":928663,"length":200,"previous":"M21-GAP-01954","next":"M21-GAP-01956"},"M21-GAP-01956":{"line":5211,"offset":928863,"length":200,"previous":"M21-GAP-01955","next":"M21-GAP-01957"},"M21-GAP-01957":{"line":5212,"offset":929063,"length":200,"previous":"M21-GAP-01956","next":"M21-GAP-01958"},"M21-GAP-01958":{"line":5213,"offset":929263,"length":200,"previous":"M21-GAP-01957","next":"M21-GAP-01959"},"M21-GAP-01959":{"line":5214,"offset":929463,"length":200,"previous":"M21-GAP-01958","next":"M21-GAP-01960"},"M21-GAP-01960":{"line":5215,"offset":929663,"length":200,"previous":"M21-GAP-01959","next":"M21-GAP-01961"},"M21-GAP-01961":{"line":5216,"offset":929863,"length":200,"previous":"M21-GAP-01960","next":"M21-GAP-01962"},"M21-GAP-01962":{"line":5217,"offset":930063,"length":200,"previous":"M21-GAP-01961","next":"M21-GAP-01963"},"M21-GAP-01963":{"line":5218,"offset":930263,"length":189,"previous":"M21-GAP-01962","next":"M21-GAP-01964"},"M21-GAP-01964":{"line":5219,"offset":930452,"length":189,"previous":"M21-GAP-01963","next":"M21-GAP-01965"},"M21-GAP-01965":{"line":5220,"offset":930641,"length":189,"previous":"M21-GAP-01964","next":"M21-GAP-01966"},"M21-GAP-01966":{"line":5221,"offset":930830,"length":189,"previous":"M21-GAP-01965","next":"M21-GAP-01967"},"M21-GAP-01967":{"line":5222,"offset":931019,"length":189,"previous":"M21-GAP-01966","next":"M21-GAP-01968"},"M21-GAP-01968":{"line":5223,"offset":931208,"length":189,"previous":"M21-GAP-01967","next":"M21-GAP-01969"},"M21-GAP-01969":{"line":5224,"offset":931397,"length":189,"previous":"M21-GAP-01968","next":"M21-GAP-01970"},"M21-GAP-01970":{"line":5225,"offset":931586,"length":189,"previous":"M21-GAP-01969","next":"M21-GAP-01971"},"M21-GAP-01971":{"line":5226,"offset":931775,"length":189,"previous":"M21-GAP-01970","next":"M21-GAP-01972"},"M21-GAP-01972":{"line":5227,"offset":931964,"length":178,"previous":"M21-GAP-01971","next":"M21-GAP-01973"},"M21-GAP-01973":{"line":5228,"offset":932142,"length":178,"previous":"M21-GAP-01972","next":"M21-GAP-01974"},"M21-GAP-01974":{"line":5229,"offset":932320,"length":179,"previous":"M21-GAP-01973","next":"M21-GAP-01975"},"M21-GAP-01975":{"line":5230,"offset":932499,"length":179,"previous":"M21-GAP-01974","next":"M21-GAP-01976"},"M21-GAP-01976":{"line":5231,"offset":932678,"length":179,"previous":"M21-GAP-01975","next":"M21-GAP-01977"},"M21-GAP-01977":{"line":5232,"offset":932857,"length":179,"previous":"M21-GAP-01976","next":"M21-GAP-01978"},"M21-GAP-01978":{"line":5233,"offset":933036,"length":179,"previous":"M21-GAP-01977","next":"M21-GAP-01979"},"M21-GAP-01979":{"line":5234,"offset":933215,"length":179,"previous":"M21-GAP-01978","next":"M21-GAP-01980"},"M21-GAP-01980":{"line":5235,"offset":933394,"length":179,"previous":"M21-GAP-01979","next":"M21-GAP-01981"},"M21-GAP-01981":{"line":5236,"offset":933573,"length":179,"previous":"M21-GAP-01980","next":"M21-GAP-01982"},"M21-GAP-01982":{"line":5237,"offset":933752,"length":179,"previous":"M21-GAP-01981","next":"M21-GAP-01983"},"M21-GAP-01983":{"line":5238,"offset":933931,"length":179,"previous":"M21-GAP-01982","next":"M21-GAP-01984"},"M21-GAP-01984":{"line":5239,"offset":934110,"length":178,"previous":"M21-GAP-01983","next":"M21-GAP-01985"},"M21-GAP-01985":{"line":5240,"offset":934288,"length":179,"previous":"M21-GAP-01984","next":"M21-GAP-01986"},"M21-GAP-01986":{"line":5241,"offset":934467,"length":179,"previous":"M21-GAP-01985","next":"M21-GAP-01987"},"M21-GAP-01987":{"line":5242,"offset":934646,"length":179,"previous":"M21-GAP-01986","next":"M21-GAP-01988"},"M21-GAP-01988":{"line":5243,"offset":934825,"length":179,"previous":"M21-GAP-01987","next":"M21-GAP-01989"},"M21-GAP-01989":{"line":5244,"offset":935004,"length":179,"previous":"M21-GAP-01988","next":"M21-GAP-01990"},"M21-GAP-01990":{"line":5245,"offset":935183,"length":179,"previous":"M21-GAP-01989","next":"M21-GAP-01991"},"M21-GAP-01991":{"line":5246,"offset":935362,"length":179,"previous":"M21-GAP-01990","next":"M21-GAP-01992"},"M21-GAP-01992":{"line":5247,"offset":935541,"length":179,"previous":"M21-GAP-01991","next":"M21-GAP-01993"},"M21-GAP-01993":{"line":5248,"offset":935720,"length":179,"previous":"M21-GAP-01992","next":"M21-GAP-01994"},"M21-GAP-01994":{"line":5249,"offset":935899,"length":179,"previous":"M21-GAP-01993","next":"M21-GAP-01995"},"M21-GAP-01995":{"line":5250,"offset":936078,"length":178,"previous":"M21-GAP-01994","next":"M21-GAP-01996"},"M21-GAP-01996":{"line":5251,"offset":936256,"length":179,"previous":"M21-GAP-01995","next":"M21-GAP-01997"},"M21-GAP-01997":{"line":5252,"offset":936435,"length":179,"previous":"M21-GAP-01996","next":"M21-GAP-01998"},"M21-GAP-01998":{"line":5253,"offset":936614,"length":179,"previous":"M21-GAP-01997","next":"M21-GAP-01999"},"M21-GAP-01999":{"line":5254,"offset":936793,"length":179,"previous":"M21-GAP-01998","next":"M21-GAP-02000"},"M21-GAP-02000":{"line":5255,"offset":936972,"length":179,"previous":"M21-GAP-01999","next":"M21-GAP-02001"},"M21-GAP-02001":{"line":5256,"offset":937151,"length":179,"previous":"M21-GAP-02000","next":"M21-GAP-02002"},"M21-GAP-02002":{"line":5257,"offset":937330,"length":179,"previous":"M21-GAP-02001","next":"M21-GAP-02003"},"M21-GAP-02003":{"line":5258,"offset":937509,"length":179,"previous":"M21-GAP-02002","next":"M21-GAP-02004"},"M21-GAP-02004":{"line":5259,"offset":937688,"length":179,"previous":"M21-GAP-02003","next":"M21-GAP-02005"},"M21-GAP-02005":{"line":5260,"offset":937867,"length":179,"previous":"M21-GAP-02004","next":"M21-GAP-02006"},"M21-GAP-02006":{"line":5261,"offset":938046,"length":178,"previous":"M21-GAP-02005","next":"M21-GAP-02007"},"M21-GAP-02007":{"line":5262,"offset":938224,"length":179,"previous":"M21-GAP-02006","next":"M21-GAP-02008"},"M21-GAP-02008":{"line":5263,"offset":938403,"length":179,"previous":"M21-GAP-02007","next":"M21-GAP-02009"},"M21-GAP-02009":{"line":5264,"offset":938582,"length":179,"previous":"M21-GAP-02008","next":"M21-GAP-02010"},"M21-GAP-02010":{"line":5265,"offset":938761,"length":179,"previous":"M21-GAP-02009","next":"M21-GAP-02011"},"M21-GAP-02011":{"line":5266,"offset":938940,"length":179,"previous":"M21-GAP-02010","next":"M21-GAP-02012"},"M21-GAP-02012":{"line":5267,"offset":939119,"length":179,"previous":"M21-GAP-02011","next":"M21-GAP-02013"},"M21-GAP-02013":{"line":5268,"offset":939298,"length":179,"previous":"M21-GAP-02012","next":"M21-GAP-02014"},"M21-GAP-02014":{"line":5269,"offset":939477,"length":179,"previous":"M21-GAP-02013","next":"M21-GAP-02015"},"M21-GAP-02015":{"line":5270,"offset":939656,"length":179,"previous":"M21-GAP-02014","next":"M21-GAP-02016"},"M21-GAP-02016":{"line":5271,"offset":939835,"length":179,"previous":"M21-GAP-02015","next":"M21-GAP-02017"},"M21-GAP-02017":{"line":5272,"offset":940014,"length":178,"previous":"M21-GAP-02016","next":"M21-GAP-02018"},"M21-GAP-02018":{"line":5273,"offset":940192,"length":179,"previous":"M21-GAP-02017","next":"M21-GAP-02019"},"M21-GAP-02019":{"line":5274,"offset":940371,"length":179,"previous":"M21-GAP-02018","next":"M21-GAP-02020"},"M21-GAP-02020":{"line":5275,"offset":940550,"length":179,"previous":"M21-GAP-02019","next":"M21-GAP-02021"},"M21-GAP-02021":{"line":5276,"offset":940729,"length":179,"previous":"M21-GAP-02020","next":"M21-GAP-02022"},"M21-GAP-02022":{"line":5277,"offset":940908,"length":179,"previous":"M21-GAP-02021","next":"M21-GAP-02023"},"M21-GAP-02023":{"line":5278,"offset":941087,"length":179,"previous":"M21-GAP-02022","next":"M21-GAP-02024"},"M21-GAP-02024":{"line":5279,"offset":941266,"length":179,"previous":"M21-GAP-02023","next":"M21-GAP-02025"},"M21-GAP-02025":{"line":5280,"offset":941445,"length":179,"previous":"M21-GAP-02024","next":"M21-GAP-02026"},"M21-GAP-02026":{"line":5281,"offset":941624,"length":179,"previous":"M21-GAP-02025","next":"M21-GAP-02027"},"M21-GAP-02027":{"line":5282,"offset":941803,"length":178,"previous":"M21-GAP-02026","next":"M21-GAP-02028"},"M21-GAP-02028":{"line":5283,"offset":941981,"length":178,"previous":"M21-GAP-02027","next":"M21-GAP-02029"},"M21-GAP-02029":{"line":5284,"offset":942159,"length":178,"previous":"M21-GAP-02028","next":"M21-GAP-02030"},"M21-GAP-02030":{"line":5285,"offset":942337,"length":178,"previous":"M21-GAP-02029","next":"M21-GAP-02031"},"M21-GAP-02031":{"line":5286,"offset":942515,"length":183,"previous":"M21-GAP-02030","next":"M21-GAP-02032"},"M21-GAP-02032":{"line":5287,"offset":942698,"length":183,"previous":"M21-GAP-02031","next":"M21-GAP-02033"},"M21-GAP-02033":{"line":5288,"offset":942881,"length":183,"previous":"M21-GAP-02032","next":"M21-GAP-02034"},"M21-GAP-02034":{"line":5289,"offset":943064,"length":178,"previous":"M21-GAP-02033","next":"M21-GAP-02035"},"M21-GAP-02035":{"line":5290,"offset":943242,"length":178,"previous":"M21-GAP-02034","next":"M21-GAP-02036"},"M21-GAP-02036":{"line":5291,"offset":943420,"length":179,"previous":"M21-GAP-02035","next":"M21-GAP-02037"},"M21-GAP-02037":{"line":5292,"offset":943599,"length":180,"previous":"M21-GAP-02036","next":"M21-GAP-02038"},"M21-GAP-02038":{"line":5293,"offset":943779,"length":180,"previous":"M21-GAP-02037","next":"M21-GAP-02039"},"M21-GAP-02039":{"line":5294,"offset":943959,"length":180,"previous":"M21-GAP-02038","next":"M21-GAP-02040"},"M21-GAP-02040":{"line":5295,"offset":944139,"length":179,"previous":"M21-GAP-02039","next":"M21-GAP-02041"},"M21-GAP-02041":{"line":5296,"offset":944318,"length":179,"previous":"M21-GAP-02040","next":"M21-GAP-02042"},"M21-GAP-02042":{"line":5297,"offset":944497,"length":179,"previous":"M21-GAP-02041","next":"M21-GAP-02043"},"M21-GAP-02043":{"line":5298,"offset":944676,"length":179,"previous":"M21-GAP-02042","next":"M21-GAP-02044"},"M21-GAP-02044":{"line":5299,"offset":944855,"length":179,"previous":"M21-GAP-02043","next":"M21-GAP-02045"},"M21-GAP-02045":{"line":5300,"offset":945034,"length":179,"previous":"M21-GAP-02044","next":"M21-GAP-02046"},"M21-GAP-02046":{"line":5301,"offset":945213,"length":179,"previous":"M21-GAP-02045","next":"M21-GAP-02047"},"M21-GAP-02047":{"line":5302,"offset":945392,"length":179,"previous":"M21-GAP-02046","next":"M21-GAP-02048"},"M21-GAP-02048":{"line":5303,"offset":945571,"length":179,"previous":"M21-GAP-02047","next":"M21-GAP-02049"},"M21-GAP-02049":{"line":5304,"offset":945750,"length":178,"previous":"M21-GAP-02048","next":"M21-GAP-02050"},"M21-GAP-02050":{"line":5305,"offset":945928,"length":179,"previous":"M21-GAP-02049","next":"M21-GAP-02051"},"M21-GAP-02051":{"line":5306,"offset":946107,"length":179,"previous":"M21-GAP-02050","next":"M21-GAP-02052"},"M21-GAP-02052":{"line":5307,"offset":946286,"length":179,"previous":"M21-GAP-02051","next":"M21-GAP-02053"},"M21-GAP-02053":{"line":5308,"offset":946465,"length":179,"previous":"M21-GAP-02052","next":"M21-GAP-02054"},"M21-GAP-02054":{"line":5309,"offset":946644,"length":179,"previous":"M21-GAP-02053","next":"M21-GAP-02055"},"M21-GAP-02055":{"line":5310,"offset":946823,"length":179,"previous":"M21-GAP-02054","next":"M21-GAP-02056"},"M21-GAP-02056":{"line":5311,"offset":947002,"length":179,"previous":"M21-GAP-02055","next":"M21-GAP-02057"},"M21-GAP-02057":{"line":5312,"offset":947181,"length":179,"previous":"M21-GAP-02056","next":"M21-GAP-02058"},"M21-GAP-02058":{"line":5313,"offset":947360,"length":179,"previous":"M21-GAP-02057","next":"M21-GAP-02059"},"M21-GAP-02059":{"line":5314,"offset":947539,"length":179,"previous":"M21-GAP-02058","next":"M21-GAP-02060"},"M21-GAP-02060":{"line":5315,"offset":947718,"length":178,"previous":"M21-GAP-02059","next":"M21-GAP-02061"},"M21-GAP-02061":{"line":5316,"offset":947896,"length":179,"previous":"M21-GAP-02060","next":"M21-GAP-02062"},"M21-GAP-02062":{"line":5317,"offset":948075,"length":179,"previous":"M21-GAP-02061","next":"M21-GAP-02063"},"M21-GAP-02063":{"line":5318,"offset":948254,"length":179,"previous":"M21-GAP-02062","next":"M21-GAP-02064"},"M21-GAP-02064":{"line":5319,"offset":948433,"length":179,"previous":"M21-GAP-02063","next":"M21-GAP-02065"},"M21-GAP-02065":{"line":5320,"offset":948612,"length":179,"previous":"M21-GAP-02064","next":"M21-GAP-02066"},"M21-GAP-02066":{"line":5321,"offset":948791,"length":179,"previous":"M21-GAP-02065","next":"M21-GAP-02067"},"M21-GAP-02067":{"line":5322,"offset":948970,"length":179,"previous":"M21-GAP-02066","next":"M21-GAP-02068"},"M21-GAP-02068":{"line":5323,"offset":949149,"length":179,"previous":"M21-GAP-02067","next":"M21-GAP-02069"},"M21-GAP-02069":{"line":5324,"offset":949328,"length":179,"previous":"M21-GAP-02068","next":"M21-GAP-02070"},"M21-GAP-02070":{"line":5325,"offset":949507,"length":179,"previous":"M21-GAP-02069","next":"M21-GAP-02071"},"M21-GAP-02071":{"line":5326,"offset":949686,"length":178,"previous":"M21-GAP-02070","next":"M21-GAP-02072"},"M21-GAP-02072":{"line":5327,"offset":949864,"length":179,"previous":"M21-GAP-02071","next":"M21-GAP-02073"},"M21-GAP-02073":{"line":5328,"offset":950043,"length":179,"previous":"M21-GAP-02072","next":"M21-GAP-02074"},"M21-GAP-02074":{"line":5329,"offset":950222,"length":179,"previous":"M21-GAP-02073","next":"M21-GAP-02075"},"M21-GAP-02075":{"line":5330,"offset":950401,"length":179,"previous":"M21-GAP-02074","next":"M21-GAP-02076"},"M21-GAP-02076":{"line":5331,"offset":950580,"length":179,"previous":"M21-GAP-02075","next":"M21-GAP-02077"},"M21-GAP-02077":{"line":5332,"offset":950759,"length":179,"previous":"M21-GAP-02076","next":"M21-GAP-02078"},"M21-GAP-02078":{"line":5333,"offset":950938,"length":179,"previous":"M21-GAP-02077","next":"M21-GAP-02079"},"M21-GAP-02079":{"line":5334,"offset":951117,"length":179,"previous":"M21-GAP-02078","next":"M21-GAP-02080"},"M21-GAP-02080":{"line":5335,"offset":951296,"length":179,"previous":"M21-GAP-02079","next":"M21-GAP-02081"},"M21-GAP-02081":{"line":5336,"offset":951475,"length":179,"previous":"M21-GAP-02080","next":"M21-GAP-02082"},"M21-GAP-02082":{"line":5337,"offset":951654,"length":178,"previous":"M21-GAP-02081","next":"M21-GAP-02083"},"M21-GAP-02083":{"line":5338,"offset":951832,"length":179,"previous":"M21-GAP-02082","next":"M21-GAP-02084"},"M21-GAP-02084":{"line":5339,"offset":952011,"length":179,"previous":"M21-GAP-02083","next":"M21-GAP-02085"},"M21-GAP-02085":{"line":5340,"offset":952190,"length":179,"previous":"M21-GAP-02084","next":"M21-GAP-02086"},"M21-GAP-02086":{"line":5341,"offset":952369,"length":179,"previous":"M21-GAP-02085","next":"M21-GAP-02087"},"M21-GAP-02087":{"line":5342,"offset":952548,"length":179,"previous":"M21-GAP-02086","next":"M21-GAP-02088"},"M21-GAP-02088":{"line":5343,"offset":952727,"length":179,"previous":"M21-GAP-02087","next":"M21-GAP-02089"},"M21-GAP-02089":{"line":5344,"offset":952906,"length":179,"previous":"M21-GAP-02088","next":"M21-GAP-02090"},"M21-GAP-02090":{"line":5345,"offset":953085,"length":179,"previous":"M21-GAP-02089","next":"M21-GAP-02091"},"M21-GAP-02091":{"line":5346,"offset":953264,"length":179,"previous":"M21-GAP-02090","next":"M21-GAP-02092"},"M21-GAP-02092":{"line":5347,"offset":953443,"length":179,"previous":"M21-GAP-02091","next":"M21-GAP-02093"},"M21-GAP-02093":{"line":5348,"offset":953622,"length":178,"previous":"M21-GAP-02092","next":"M21-GAP-02094"},"M21-GAP-02094":{"line":5349,"offset":953800,"length":179,"previous":"M21-GAP-02093","next":"M21-GAP-02095"},"M21-GAP-02095":{"line":5350,"offset":953979,"length":179,"previous":"M21-GAP-02094","next":"M21-GAP-02096"},"M21-GAP-02096":{"line":5351,"offset":954158,"length":179,"previous":"M21-GAP-02095","next":"M21-GAP-02097"},"M21-GAP-02097":{"line":5352,"offset":954337,"length":179,"previous":"M21-GAP-02096","next":"M21-GAP-02098"},"M21-GAP-02098":{"line":5353,"offset":954516,"length":179,"previous":"M21-GAP-02097","next":"M21-GAP-02099"},"M21-GAP-02099":{"line":5354,"offset":954695,"length":179,"previous":"M21-GAP-02098","next":"M21-GAP-02100"},"M21-GAP-02100":{"line":5355,"offset":954874,"length":179,"previous":"M21-GAP-02099","next":"M21-GAP-02101"},"M21-GAP-02101":{"line":5356,"offset":955053,"length":179,"previous":"M21-GAP-02100","next":"M21-GAP-02102"},"M21-GAP-02102":{"line":5357,"offset":955232,"length":179,"previous":"M21-GAP-02101","next":"M21-GAP-02103"},"M21-GAP-02103":{"line":5358,"offset":955411,"length":179,"previous":"M21-GAP-02102","next":"M21-GAP-02104"},"M21-GAP-02104":{"line":5359,"offset":955590,"length":178,"previous":"M21-GAP-02103","next":"M21-GAP-02105"},"M21-GAP-02105":{"line":5360,"offset":955768,"length":179,"previous":"M21-GAP-02104","next":"M21-GAP-02106"},"M21-GAP-02106":{"line":5361,"offset":955947,"length":179,"previous":"M21-GAP-02105","next":"M21-GAP-02107"},"M21-GAP-02107":{"line":5362,"offset":956126,"length":179,"previous":"M21-GAP-02106","next":"M21-GAP-02108"},"M21-GAP-02108":{"line":5363,"offset":956305,"length":179,"previous":"M21-GAP-02107","next":"M21-GAP-02109"},"M21-GAP-02109":{"line":5364,"offset":956484,"length":179,"previous":"M21-GAP-02108","next":"M21-GAP-02110"},"M21-GAP-02110":{"line":5365,"offset":956663,"length":179,"previous":"M21-GAP-02109","next":"M21-GAP-02111"},"M21-GAP-02111":{"line":5366,"offset":956842,"length":179,"previous":"M21-GAP-02110","next":"M21-GAP-02112"},"M21-GAP-02112":{"line":5367,"offset":957021,"length":179,"previous":"M21-GAP-02111","next":"M21-GAP-02113"},"M21-GAP-02113":{"line":5368,"offset":957200,"length":179,"previous":"M21-GAP-02112","next":"M21-GAP-02114"},"M21-GAP-02114":{"line":5369,"offset":957379,"length":179,"previous":"M21-GAP-02113","next":"M21-GAP-02115"},"M21-GAP-02115":{"line":5370,"offset":957558,"length":178,"previous":"M21-GAP-02114","next":"M21-GAP-02116"},"M21-GAP-02116":{"line":5371,"offset":957736,"length":179,"previous":"M21-GAP-02115","next":"M21-GAP-02117"},"M21-GAP-02117":{"line":5372,"offset":957915,"length":179,"previous":"M21-GAP-02116","next":"M21-GAP-02118"},"M21-GAP-02118":{"line":5373,"offset":958094,"length":179,"previous":"M21-GAP-02117","next":"M21-GAP-02119"},"M21-GAP-02119":{"line":5374,"offset":958273,"length":179,"previous":"M21-GAP-02118","next":"M21-GAP-02120"},"M21-GAP-02120":{"line":5375,"offset":958452,"length":179,"previous":"M21-GAP-02119","next":"M21-GAP-02121"},"M21-GAP-02121":{"line":5376,"offset":958631,"length":179,"previous":"M21-GAP-02120","next":"M21-GAP-02122"},"M21-GAP-02122":{"line":5377,"offset":958810,"length":179,"previous":"M21-GAP-02121","next":"M21-GAP-02123"},"M21-GAP-02123":{"line":5378,"offset":958989,"length":179,"previous":"M21-GAP-02122","next":"M21-GAP-02124"},"M21-GAP-02124":{"line":5379,"offset":959168,"length":179,"previous":"M21-GAP-02123","next":"M21-GAP-02125"},"M21-GAP-02125":{"line":5380,"offset":959347,"length":179,"previous":"M21-GAP-02124","next":"M21-GAP-02126"},"M21-GAP-02126":{"line":5381,"offset":959526,"length":178,"previous":"M21-GAP-02125","next":"M21-GAP-02127"},"M21-GAP-02127":{"line":5382,"offset":959704,"length":179,"previous":"M21-GAP-02126","next":"M21-GAP-02128"},"M21-GAP-02128":{"line":5383,"offset":959883,"length":179,"previous":"M21-GAP-02127","next":"M21-GAP-02129"},"M21-GAP-02129":{"line":5384,"offset":960062,"length":179,"previous":"M21-GAP-02128","next":"M21-GAP-02130"},"M21-GAP-02130":{"line":5385,"offset":960241,"length":179,"previous":"M21-GAP-02129","next":"M21-GAP-02131"},"M21-GAP-02131":{"line":5386,"offset":960420,"length":179,"previous":"M21-GAP-02130","next":"M21-GAP-02132"},"M21-GAP-02132":{"line":5387,"offset":960599,"length":179,"previous":"M21-GAP-02131","next":"M21-GAP-02133"},"M21-GAP-02133":{"line":5388,"offset":960778,"length":179,"previous":"M21-GAP-02132","next":"M21-GAP-02134"},"M21-GAP-02134":{"line":5389,"offset":960957,"length":179,"previous":"M21-GAP-02133","next":"M21-GAP-02135"},"M21-GAP-02135":{"line":5390,"offset":961136,"length":179,"previous":"M21-GAP-02134","next":"M21-GAP-02136"},"M21-GAP-02136":{"line":5391,"offset":961315,"length":179,"previous":"M21-GAP-02135","next":"M21-GAP-02137"},"M21-GAP-02137":{"line":5392,"offset":961494,"length":178,"previous":"M21-GAP-02136","next":"M21-GAP-02138"},"M21-GAP-02138":{"line":5393,"offset":961672,"length":178,"previous":"M21-GAP-02137","next":"M21-GAP-02139"},"M21-GAP-02139":{"line":5394,"offset":961850,"length":179,"previous":"M21-GAP-02138","next":"M21-GAP-02140"},"M21-GAP-02140":{"line":5395,"offset":962029,"length":179,"previous":"M21-GAP-02139","next":"M21-GAP-02141"},"M21-GAP-02141":{"line":5396,"offset":962208,"length":179,"previous":"M21-GAP-02140","next":"M21-GAP-02142"},"M21-GAP-02142":{"line":5397,"offset":962387,"length":179,"previous":"M21-GAP-02141","next":"M21-GAP-02143"},"M21-GAP-02143":{"line":5398,"offset":962566,"length":179,"previous":"M21-GAP-02142","next":"M21-GAP-02144"},"M21-GAP-02144":{"line":5399,"offset":962745,"length":178,"previous":"M21-GAP-02143","next":"M21-GAP-02145"},"M21-GAP-02145":{"line":5400,"offset":962923,"length":178,"previous":"M21-GAP-02144","next":"M21-GAP-02146"},"M21-GAP-02146":{"line":5401,"offset":963101,"length":178,"previous":"M21-GAP-02145","next":"M21-GAP-02147"},"M21-GAP-02147":{"line":5402,"offset":963279,"length":178,"previous":"M21-GAP-02146","next":"M21-GAP-02148"},"M21-GAP-02148":{"line":5403,"offset":963457,"length":178,"previous":"M21-GAP-02147","next":"M21-GAP-02149"},"M21-GAP-02149":{"line":5404,"offset":963635,"length":178,"previous":"M21-GAP-02148","next":"M21-GAP-02150"},"M21-GAP-02150":{"line":5405,"offset":963813,"length":178,"previous":"M21-GAP-02149","next":"M21-GAP-02151"},"M21-GAP-02151":{"line":5406,"offset":963991,"length":178,"previous":"M21-GAP-02150","next":"M21-GAP-02152"},"M21-GAP-02152":{"line":5407,"offset":964169,"length":208,"previous":"M21-GAP-02151","next":"M21-GAP-02153"},"M21-GAP-02153":{"line":5408,"offset":964377,"length":208,"previous":"M21-GAP-02152","next":"M21-GAP-02154"},"M21-GAP-02154":{"line":5409,"offset":964585,"length":209,"previous":"M21-GAP-02153","next":"M21-GAP-02155"},"M21-GAP-02155":{"line":5410,"offset":964794,"length":209,"previous":"M21-GAP-02154","next":"M21-GAP-02156"},"M21-GAP-02156":{"line":5411,"offset":965003,"length":209,"previous":"M21-GAP-02155","next":"M21-GAP-02157"},"M21-GAP-02157":{"line":5412,"offset":965212,"length":209,"previous":"M21-GAP-02156","next":"M21-GAP-02158"},"M21-GAP-02158":{"line":5413,"offset":965421,"length":208,"previous":"M21-GAP-02157","next":"M21-GAP-02159"},"M21-GAP-02159":{"line":5414,"offset":965629,"length":208,"previous":"M21-GAP-02158","next":"M21-GAP-02160"},"M21-GAP-02160":{"line":5415,"offset":965837,"length":208,"previous":"M21-GAP-02159","next":"M21-GAP-02161"},"M21-GAP-02161":{"line":5416,"offset":966045,"length":208,"previous":"M21-GAP-02160","next":"M21-GAP-02162"},"M21-GAP-02162":{"line":5417,"offset":966253,"length":208,"previous":"M21-GAP-02161","next":"M21-GAP-02163"},"M21-GAP-02163":{"line":5418,"offset":966461,"length":208,"previous":"M21-GAP-02162","next":"M21-GAP-02164"},"M21-GAP-02164":{"line":5419,"offset":966669,"length":208,"previous":"M21-GAP-02163","next":"M21-GAP-02165"},"M21-GAP-02165":{"line":5420,"offset":966877,"length":208,"previous":"M21-GAP-02164","next":"M21-GAP-02166"},"M21-GAP-02166":{"line":5421,"offset":967085,"length":185,"previous":"M21-GAP-02165","next":"M21-GAP-02167"},"M21-GAP-02167":{"line":5422,"offset":967270,"length":206,"previous":"M21-GAP-02166","next":"M21-GAP-02168"},"M21-GAP-02168":{"line":5423,"offset":967476,"length":206,"previous":"M21-GAP-02167","next":"M21-GAP-02169"},"M21-GAP-02169":{"line":5424,"offset":967682,"length":207,"previous":"M21-GAP-02168","next":"M21-GAP-02170"},"M21-GAP-02170":{"line":5425,"offset":967889,"length":207,"previous":"M21-GAP-02169","next":"M21-GAP-02171"},"M21-GAP-02171":{"line":5426,"offset":968096,"length":207,"previous":"M21-GAP-02170","next":"M21-GAP-02172"},"M21-GAP-02172":{"line":5427,"offset":968303,"length":207,"previous":"M21-GAP-02171","next":"M21-GAP-02173"},"M21-GAP-02173":{"line":5428,"offset":968510,"length":207,"previous":"M21-GAP-02172","next":"M21-GAP-02174"},"M21-GAP-02174":{"line":5429,"offset":968717,"length":207,"previous":"M21-GAP-02173","next":"M21-GAP-02175"},"M21-GAP-02175":{"line":5430,"offset":968924,"length":206,"previous":"M21-GAP-02174","next":"M21-GAP-02176"},"M21-GAP-02176":{"line":5431,"offset":969130,"length":206,"previous":"M21-GAP-02175","next":"M21-GAP-02177"},"M21-GAP-02177":{"line":5432,"offset":969336,"length":206,"previous":"M21-GAP-02176","next":"M21-GAP-02178"},"M21-GAP-02178":{"line":5433,"offset":969542,"length":206,"previous":"M21-GAP-02177","next":"M21-GAP-02179"},"M21-GAP-02179":{"line":5434,"offset":969748,"length":206,"previous":"M21-GAP-02178","next":"M21-GAP-02180"},"M21-GAP-02180":{"line":5435,"offset":969954,"length":206,"previous":"M21-GAP-02179","next":"M21-GAP-02181"},"M21-GAP-02181":{"line":5436,"offset":970160,"length":206,"previous":"M21-GAP-02180","next":"M21-GAP-02182"},"M21-GAP-02182":{"line":5437,"offset":970366,"length":206,"previous":"M21-GAP-02181","next":"M21-GAP-02183"},"M21-GAP-02183":{"line":5438,"offset":970572,"length":175,"previous":"M21-GAP-02182","next":"M21-GAP-02184"},"M21-GAP-02184":{"line":5439,"offset":970747,"length":175,"previous":"M21-GAP-02183","next":"M21-GAP-02185"},"M21-GAP-02185":{"line":5440,"offset":970922,"length":176,"previous":"M21-GAP-02184","next":"M21-GAP-02186"},"M21-GAP-02186":{"line":5441,"offset":971098,"length":176,"previous":"M21-GAP-02185","next":"M21-GAP-02187"},"M21-GAP-02187":{"line":5442,"offset":971274,"length":176,"previous":"M21-GAP-02186","next":"M21-GAP-02188"},"M21-GAP-02188":{"line":5443,"offset":971450,"length":176,"previous":"M21-GAP-02187","next":"M21-GAP-02189"},"M21-GAP-02189":{"line":5444,"offset":971626,"length":176,"previous":"M21-GAP-02188","next":"M21-GAP-02190"},"M21-GAP-02190":{"line":5445,"offset":971802,"length":176,"previous":"M21-GAP-02189","next":"M21-GAP-02191"},"M21-GAP-02191":{"line":5446,"offset":971978,"length":176,"previous":"M21-GAP-02190","next":"M21-GAP-02192"},"M21-GAP-02192":{"line":5447,"offset":972154,"length":176,"previous":"M21-GAP-02191","next":"M21-GAP-02193"},"M21-GAP-02193":{"line":5448,"offset":972330,"length":176,"previous":"M21-GAP-02192","next":"M21-GAP-02194"},"M21-GAP-02194":{"line":5449,"offset":972506,"length":176,"previous":"M21-GAP-02193","next":"M21-GAP-02195"},"M21-GAP-02195":{"line":5450,"offset":972682,"length":175,"previous":"M21-GAP-02194","next":"M21-GAP-02196"},"M21-GAP-02196":{"line":5451,"offset":972857,"length":176,"previous":"M21-GAP-02195","next":"M21-GAP-02197"},"M21-GAP-02197":{"line":5452,"offset":973033,"length":176,"previous":"M21-GAP-02196","next":"M21-GAP-02198"},"M21-GAP-02198":{"line":5453,"offset":973209,"length":176,"previous":"M21-GAP-02197","next":"M21-GAP-02199"},"M21-GAP-02199":{"line":5454,"offset":973385,"length":176,"previous":"M21-GAP-02198","next":"M21-GAP-02200"},"M21-GAP-02200":{"line":5455,"offset":973561,"length":176,"previous":"M21-GAP-02199","next":"M21-GAP-02201"},"M21-GAP-02201":{"line":5456,"offset":973737,"length":176,"previous":"M21-GAP-02200","next":"M21-GAP-02202"},"M21-GAP-02202":{"line":5457,"offset":973913,"length":176,"previous":"M21-GAP-02201","next":"M21-GAP-02203"},"M21-GAP-02203":{"line":5458,"offset":974089,"length":176,"previous":"M21-GAP-02202","next":"M21-GAP-02204"},"M21-GAP-02204":{"line":5459,"offset":974265,"length":176,"previous":"M21-GAP-02203","next":"M21-GAP-02205"},"M21-GAP-02205":{"line":5460,"offset":974441,"length":176,"previous":"M21-GAP-02204","next":"M21-GAP-02206"},"M21-GAP-02206":{"line":5461,"offset":974617,"length":175,"previous":"M21-GAP-02205","next":"M21-GAP-02207"},"M21-GAP-02207":{"line":5462,"offset":974792,"length":175,"previous":"M21-GAP-02206","next":"M21-GAP-02208"},"M21-GAP-02208":{"line":5463,"offset":974967,"length":175,"previous":"M21-GAP-02207","next":"M21-GAP-02209"},"M21-GAP-02209":{"line":5464,"offset":975142,"length":175,"previous":"M21-GAP-02208","next":"M21-GAP-02210"},"M21-GAP-02210":{"line":5465,"offset":975317,"length":175,"previous":"M21-GAP-02209","next":"M21-GAP-02211"},"M21-GAP-02211":{"line":5466,"offset":975492,"length":175,"previous":"M21-GAP-02210","next":"M21-GAP-02212"},"M21-GAP-02212":{"line":5467,"offset":975667,"length":175,"previous":"M21-GAP-02211","next":"M21-GAP-02213"},"M21-GAP-02213":{"line":5468,"offset":975842,"length":185,"previous":"M21-GAP-02212","next":"M21-GAP-02214"},"M21-GAP-02214":{"line":5469,"offset":976027,"length":185,"previous":"M21-GAP-02213","next":"M21-GAP-02215"},"M21-GAP-02215":{"line":5470,"offset":976212,"length":185,"previous":"M21-GAP-02214","next":"M21-GAP-02216"},"M21-GAP-02216":{"line":5471,"offset":976397,"length":178,"previous":"M21-GAP-02215","next":"M21-GAP-02217"},"M21-GAP-02217":{"line":5472,"offset":976575,"length":178,"previous":"M21-GAP-02216","next":"M21-GAP-02218"},"M21-GAP-02218":{"line":5473,"offset":976753,"length":179,"previous":"M21-GAP-02217","next":"M21-GAP-02219"},"M21-GAP-02219":{"line":5474,"offset":976932,"length":179,"previous":"M21-GAP-02218","next":"M21-GAP-02220"},"M21-GAP-02220":{"line":5475,"offset":977111,"length":179,"previous":"M21-GAP-02219","next":"M21-GAP-02221"},"M21-GAP-02221":{"line":5476,"offset":977290,"length":179,"previous":"M21-GAP-02220","next":"M21-GAP-02222"},"M21-GAP-02222":{"line":5477,"offset":977469,"length":179,"previous":"M21-GAP-02221","next":"M21-GAP-02223"},"M21-GAP-02223":{"line":5478,"offset":977648,"length":179,"previous":"M21-GAP-02222","next":"M21-GAP-02224"},"M21-GAP-02224":{"line":5479,"offset":977827,"length":179,"previous":"M21-GAP-02223","next":"M21-GAP-02225"},"M21-GAP-02225":{"line":5480,"offset":978006,"length":179,"previous":"M21-GAP-02224","next":"M21-GAP-02226"},"M21-GAP-02226":{"line":5481,"offset":978185,"length":178,"previous":"M21-GAP-02225","next":"M21-GAP-02227"},"M21-GAP-02227":{"line":5482,"offset":978363,"length":178,"previous":"M21-GAP-02226","next":"M21-GAP-02228"},"M21-GAP-02228":{"line":5483,"offset":978541,"length":178,"previous":"M21-GAP-02227","next":"M21-GAP-02229"},"M21-GAP-02229":{"line":5484,"offset":978719,"length":178,"previous":"M21-GAP-02228","next":"M21-GAP-02230"},"M21-GAP-02230":{"line":5485,"offset":978897,"length":178,"previous":"M21-GAP-02229","next":"M21-GAP-02231"},"M21-GAP-02231":{"line":5486,"offset":979075,"length":178,"previous":"M21-GAP-02230","next":"M21-GAP-02232"},"M21-GAP-02232":{"line":5487,"offset":979253,"length":178,"previous":"M21-GAP-02231","next":"M21-GAP-02233"},"M21-GAP-02233":{"line":5488,"offset":979431,"length":178,"previous":"M21-GAP-02232","next":"M21-GAP-02234"},"M21-GAP-02234":{"line":5489,"offset":979609,"length":171,"previous":"M21-GAP-02233","next":"M21-GAP-02235"},"M21-GAP-02235":{"line":5490,"offset":979780,"length":171,"previous":"M21-GAP-02234","next":"M21-GAP-02236"},"M21-GAP-02236":{"line":5491,"offset":979951,"length":172,"previous":"M21-GAP-02235","next":"M21-GAP-02237"},"M21-GAP-02237":{"line":5492,"offset":980123,"length":172,"previous":"M21-GAP-02236","next":"M21-GAP-02238"},"M21-GAP-02238":{"line":5493,"offset":980295,"length":172,"previous":"M21-GAP-02237","next":"M21-GAP-02239"},"M21-GAP-02239":{"line":5494,"offset":980467,"length":172,"previous":"M21-GAP-02238","next":"M21-GAP-02240"},"M21-GAP-02240":{"line":5495,"offset":980639,"length":172,"previous":"M21-GAP-02239","next":"M21-GAP-02241"},"M21-GAP-02241":{"line":5496,"offset":980811,"length":172,"previous":"M21-GAP-02240","next":"M21-GAP-02242"},"M21-GAP-02242":{"line":5497,"offset":980983,"length":172,"previous":"M21-GAP-02241","next":"M21-GAP-02243"},"M21-GAP-02243":{"line":5498,"offset":981155,"length":172,"previous":"M21-GAP-02242","next":"M21-GAP-02244"},"M21-GAP-02244":{"line":5499,"offset":981327,"length":172,"previous":"M21-GAP-02243","next":"M21-GAP-02245"},"M21-GAP-02245":{"line":5500,"offset":981499,"length":172,"previous":"M21-GAP-02244","next":"M21-GAP-02246"},"M21-GAP-02246":{"line":5501,"offset":981671,"length":171,"previous":"M21-GAP-02245","next":"M21-GAP-02247"},"M21-GAP-02247":{"line":5502,"offset":981842,"length":172,"previous":"M21-GAP-02246","next":"M21-GAP-02248"},"M21-GAP-02248":{"line":5503,"offset":982014,"length":172,"previous":"M21-GAP-02247","next":"M21-GAP-02249"},"M21-GAP-02249":{"line":5504,"offset":982186,"length":172,"previous":"M21-GAP-02248","next":"M21-GAP-02250"},"M21-GAP-02250":{"line":5505,"offset":982358,"length":172,"previous":"M21-GAP-02249","next":"M21-GAP-02251"},"M21-GAP-02251":{"line":5506,"offset":982530,"length":172,"previous":"M21-GAP-02250","next":"M21-GAP-02252"},"M21-GAP-02252":{"line":5507,"offset":982702,"length":172,"previous":"M21-GAP-02251","next":"M21-GAP-02253"},"M21-GAP-02253":{"line":5508,"offset":982874,"length":172,"previous":"M21-GAP-02252","next":"M21-GAP-02254"},"M21-GAP-02254":{"line":5509,"offset":983046,"length":172,"previous":"M21-GAP-02253","next":"M21-GAP-02255"},"M21-GAP-02255":{"line":5510,"offset":983218,"length":172,"previous":"M21-GAP-02254","next":"M21-GAP-02256"},"M21-GAP-02256":{"line":5511,"offset":983390,"length":172,"previous":"M21-GAP-02255","next":"M21-GAP-02257"},"M21-GAP-02257":{"line":5512,"offset":983562,"length":171,"previous":"M21-GAP-02256","next":"M21-GAP-02258"},"M21-GAP-02258":{"line":5513,"offset":983733,"length":172,"previous":"M21-GAP-02257","next":"M21-GAP-02259"},"M21-GAP-02259":{"line":5514,"offset":983905,"length":172,"previous":"M21-GAP-02258","next":"M21-GAP-02260"},"M21-GAP-02260":{"line":5515,"offset":984077,"length":172,"previous":"M21-GAP-02259","next":"M21-GAP-02261"},"M21-GAP-02261":{"line":5516,"offset":984249,"length":172,"previous":"M21-GAP-02260","next":"M21-GAP-02262"},"M21-GAP-02262":{"line":5517,"offset":984421,"length":172,"previous":"M21-GAP-02261","next":"M21-GAP-02263"},"M21-GAP-02263":{"line":5518,"offset":984593,"length":172,"previous":"M21-GAP-02262","next":"M21-GAP-02264"},"M21-GAP-02264":{"line":5519,"offset":984765,"length":172,"previous":"M21-GAP-02263","next":"M21-GAP-02265"},"M21-GAP-02265":{"line":5520,"offset":984937,"length":172,"previous":"M21-GAP-02264","next":"M21-GAP-02266"},"M21-GAP-02266":{"line":5521,"offset":985109,"length":172,"previous":"M21-GAP-02265","next":"M21-GAP-02267"},"M21-GAP-02267":{"line":5522,"offset":985281,"length":172,"previous":"M21-GAP-02266","next":"M21-GAP-02268"},"M21-GAP-02268":{"line":5523,"offset":985453,"length":171,"previous":"M21-GAP-02267","next":"M21-GAP-02269"},"M21-GAP-02269":{"line":5524,"offset":985624,"length":172,"previous":"M21-GAP-02268","next":"M21-GAP-02270"},"M21-GAP-02270":{"line":5525,"offset":985796,"length":172,"previous":"M21-GAP-02269","next":"M21-GAP-02271"},"M21-GAP-02271":{"line":5526,"offset":985968,"length":172,"previous":"M21-GAP-02270","next":"M21-GAP-02272"},"M21-GAP-02272":{"line":5527,"offset":986140,"length":172,"previous":"M21-GAP-02271","next":"M21-GAP-02273"},"M21-GAP-02273":{"line":5528,"offset":986312,"length":172,"previous":"M21-GAP-02272","next":"M21-GAP-02274"},"M21-GAP-02274":{"line":5529,"offset":986484,"length":172,"previous":"M21-GAP-02273","next":"M21-GAP-02275"},"M21-GAP-02275":{"line":5530,"offset":986656,"length":172,"previous":"M21-GAP-02274","next":"M21-GAP-02276"},"M21-GAP-02276":{"line":5531,"offset":986828,"length":172,"previous":"M21-GAP-02275","next":"M21-GAP-02277"},"M21-GAP-02277":{"line":5532,"offset":987000,"length":172,"previous":"M21-GAP-02276","next":"M21-GAP-02278"},"M21-GAP-02278":{"line":5533,"offset":987172,"length":172,"previous":"M21-GAP-02277","next":"M21-GAP-02279"},"M21-GAP-02279":{"line":5534,"offset":987344,"length":171,"previous":"M21-GAP-02278","next":"M21-GAP-02280"},"M21-GAP-02280":{"line":5535,"offset":987515,"length":172,"previous":"M21-GAP-02279","next":"M21-GAP-02281"},"M21-GAP-02281":{"line":5536,"offset":987687,"length":172,"previous":"M21-GAP-02280","next":"M21-GAP-02282"},"M21-GAP-02282":{"line":5537,"offset":987859,"length":172,"previous":"M21-GAP-02281","next":"M21-GAP-02283"},"M21-GAP-02283":{"line":5538,"offset":988031,"length":171,"previous":"M21-GAP-02282","next":"M21-GAP-02284"},"M21-GAP-02284":{"line":5539,"offset":988202,"length":171,"previous":"M21-GAP-02283","next":"M21-GAP-02285"},"M21-GAP-02285":{"line":5540,"offset":988373,"length":171,"previous":"M21-GAP-02284","next":"M21-GAP-02286"},"M21-GAP-02286":{"line":5541,"offset":988544,"length":171,"previous":"M21-GAP-02285","next":"M21-GAP-02287"},"M21-GAP-02287":{"line":5542,"offset":988715,"length":184,"previous":"M21-GAP-02286","next":"M21-GAP-02288"},"M21-GAP-02288":{"line":5543,"offset":988899,"length":184,"previous":"M21-GAP-02287","next":"M21-GAP-02289"},"M21-GAP-02289":{"line":5544,"offset":989083,"length":184,"previous":"M21-GAP-02288","next":"M21-GAP-02290"},"M21-GAP-02290":{"line":5545,"offset":989267,"length":184,"previous":"M21-GAP-02289","next":"M21-GAP-02291"},"M21-GAP-02291":{"line":5546,"offset":989451,"length":197,"previous":"M21-GAP-02290","next":"M21-GAP-02292"},"M21-GAP-02292":{"line":5547,"offset":989648,"length":197,"previous":"M21-GAP-02291","next":"M21-GAP-02293"},"M21-GAP-02293":{"line":5548,"offset":989845,"length":195,"previous":"M21-GAP-02292","next":"M21-GAP-02294"},"M21-GAP-02294":{"line":5549,"offset":990040,"length":197,"previous":"M21-GAP-02293","next":"M21-GAP-02295"},"M21-GAP-02295":{"line":5550,"offset":990237,"length":197,"previous":"M21-GAP-02294","next":"M21-GAP-02296"},"M21-GAP-02296":{"line":5551,"offset":990434,"length":196,"previous":"M21-GAP-02295","next":"M21-GAP-02297"},"M21-GAP-02297":{"line":5552,"offset":990630,"length":212,"previous":"M21-GAP-02296","next":"M21-GAP-02298"},"M21-GAP-02298":{"line":5553,"offset":990842,"length":212,"previous":"M21-GAP-02297","next":"M21-GAP-02299"},"M21-GAP-02299":{"line":5554,"offset":991054,"length":212,"previous":"M21-GAP-02298","next":"M21-GAP-02300"},"M21-GAP-02300":{"line":5555,"offset":991266,"length":212,"previous":"M21-GAP-02299","next":"M21-GAP-02301"},"M21-GAP-02301":{"line":5556,"offset":991478,"length":212,"previous":"M21-GAP-02300","next":"M21-GAP-02302"},"M21-GAP-02302":{"line":5557,"offset":991690,"length":201,"previous":"M21-GAP-02301","next":"M21-GAP-02303"},"M21-GAP-02303":{"line":5558,"offset":991891,"length":201,"previous":"M21-GAP-02302","next":"M21-GAP-02304"},"M21-GAP-02304":{"line":5559,"offset":992092,"length":201,"previous":"M21-GAP-02303","next":"M21-GAP-02305"},"M21-GAP-02305":{"line":5560,"offset":992293,"length":201,"previous":"M21-GAP-02304","next":"M21-GAP-02306"},"M21-GAP-02306":{"line":5561,"offset":992494,"length":201,"previous":"M21-GAP-02305","next":"M21-GAP-02307"},"M21-GAP-02307":{"line":5562,"offset":992695,"length":215,"previous":"M21-GAP-02306","next":"M21-GAP-02308"},"M21-GAP-02308":{"line":5563,"offset":992910,"length":215,"previous":"M21-GAP-02307","next":"M21-GAP-02309"},"M21-GAP-02309":{"line":5564,"offset":993125,"length":215,"previous":"M21-GAP-02308","next":"M21-GAP-02310"},"M21-GAP-02310":{"line":5565,"offset":993340,"length":204,"previous":"M21-GAP-02309","next":"M21-GAP-02311"},"M21-GAP-02311":{"line":5566,"offset":993544,"length":204,"previous":"M21-GAP-02310","next":"M21-GAP-02312"},"M21-GAP-02312":{"line":5567,"offset":993748,"length":204,"previous":"M21-GAP-02311","next":"M21-GAP-02313"},"M21-GAP-02313":{"line":5568,"offset":993952,"length":214,"previous":"M21-GAP-02312","next":"M21-GAP-02314"},"M21-GAP-02314":{"line":5569,"offset":994166,"length":214,"previous":"M21-GAP-02313","next":"M21-GAP-02315"},"M21-GAP-02315":{"line":5570,"offset":994380,"length":214,"previous":"M21-GAP-02314","next":"M21-GAP-02316"},"M21-GAP-02316":{"line":5571,"offset":994594,"length":203,"previous":"M21-GAP-02315","next":"M21-GAP-02317"},"M21-GAP-02317":{"line":5572,"offset":994797,"length":203,"previous":"M21-GAP-02316","next":"M21-GAP-02318"},"M21-GAP-02318":{"line":5573,"offset":995000,"length":203,"previous":"M21-GAP-02317","next":"M21-GAP-02319"},"M21-GAP-02319":{"line":5574,"offset":995203,"length":207,"previous":"M21-GAP-02318","next":"M21-GAP-02320"},"M21-GAP-02320":{"line":5575,"offset":995410,"length":207,"previous":"M21-GAP-02319","next":"M21-GAP-02321"},"M21-GAP-02321":{"line":5576,"offset":995617,"length":207,"previous":"M21-GAP-02320","next":"M21-GAP-02322"},"M21-GAP-02322":{"line":5577,"offset":995824,"length":207,"previous":"M21-GAP-02321","next":"M21-GAP-02323"},"M21-GAP-02323":{"line":5578,"offset":996031,"length":207,"previous":"M21-GAP-02322","next":"M21-GAP-02324"},"M21-GAP-02324":{"line":5579,"offset":996238,"length":196,"previous":"M21-GAP-02323","next":"M21-GAP-02325"},"M21-GAP-02325":{"line":5580,"offset":996434,"length":196,"previous":"M21-GAP-02324","next":"M21-GAP-02326"},"M21-GAP-02326":{"line":5581,"offset":996630,"length":196,"previous":"M21-GAP-02325","next":"M21-GAP-02327"},"M21-GAP-02327":{"line":5582,"offset":996826,"length":196,"previous":"M21-GAP-02326","next":"M21-GAP-02328"},"M21-GAP-02328":{"line":5583,"offset":997022,"length":196,"previous":"M21-GAP-02327","next":"M21-GAP-02329"},"M21-GAP-02329":{"line":5584,"offset":997218,"length":184,"previous":"M21-GAP-02328","next":"M21-GAP-02330"},"M21-GAP-02330":{"line":5585,"offset":997402,"length":184,"previous":"M21-GAP-02329","next":"M21-GAP-02331"},"M21-GAP-02331":{"line":5586,"offset":997586,"length":185,"previous":"M21-GAP-02330","next":"M21-GAP-02332"},"M21-GAP-02332":{"line":5587,"offset":997771,"length":185,"previous":"M21-GAP-02331","next":"M21-GAP-02333"},"M21-GAP-02333":{"line":5588,"offset":997956,"length":185,"previous":"M21-GAP-02332","next":"M21-GAP-02334"},"M21-GAP-02334":{"line":5589,"offset":998141,"length":185,"previous":"M21-GAP-02333","next":"M21-GAP-02335"},"M21-GAP-02335":{"line":5590,"offset":998326,"length":185,"previous":"M21-GAP-02334","next":"M21-GAP-02336"},"M21-GAP-02336":{"line":5591,"offset":998511,"length":185,"previous":"M21-GAP-02335","next":"M21-GAP-02337"},"M21-GAP-02337":{"line":5592,"offset":998696,"length":185,"previous":"M21-GAP-02336","next":"M21-GAP-02338"},"M21-GAP-02338":{"line":5593,"offset":998881,"length":185,"previous":"M21-GAP-02337","next":"M21-GAP-02339"},"M21-GAP-02339":{"line":5594,"offset":999066,"length":185,"previous":"M21-GAP-02338","next":"M21-GAP-02340"},"M21-GAP-02340":{"line":5595,"offset":999251,"length":185,"previous":"M21-GAP-02339","next":"M21-GAP-02341"},"M21-GAP-02341":{"line":5596,"offset":999436,"length":184,"previous":"M21-GAP-02340","next":"M21-GAP-02342"},"M21-GAP-02342":{"line":5597,"offset":999620,"length":185,"previous":"M21-GAP-02341","next":"M21-GAP-02343"},"M21-GAP-02343":{"line":5598,"offset":999805,"length":185,"previous":"M21-GAP-02342","next":"M21-GAP-02344"},"M21-GAP-02344":{"line":5599,"offset":999990,"length":185,"previous":"M21-GAP-02343","next":"M21-GAP-02345"},"M21-GAP-02345":{"line":5600,"offset":1000175,"length":185,"previous":"M21-GAP-02344","next":"M21-GAP-02346"},"M21-GAP-02346":{"line":5601,"offset":1000360,"length":185,"previous":"M21-GAP-02345","next":"M21-GAP-02347"},"M21-GAP-02347":{"line":5602,"offset":1000545,"length":185,"previous":"M21-GAP-02346","next":"M21-GAP-02348"},"M21-GAP-02348":{"line":5603,"offset":1000730,"length":185,"previous":"M21-GAP-02347","next":"M21-GAP-02349"},"M21-GAP-02349":{"line":5604,"offset":1000915,"length":185,"previous":"M21-GAP-02348","next":"M21-GAP-02350"},"M21-GAP-02350":{"line":5605,"offset":1001100,"length":185,"previous":"M21-GAP-02349","next":"M21-GAP-02351"},"M21-GAP-02351":{"line":5606,"offset":1001285,"length":185,"previous":"M21-GAP-02350","next":"M21-GAP-02352"},"M21-GAP-02352":{"line":5607,"offset":1001470,"length":184,"previous":"M21-GAP-02351","next":"M21-GAP-02353"},"M21-GAP-02353":{"line":5608,"offset":1001654,"length":185,"previous":"M21-GAP-02352","next":"M21-GAP-02354"},"M21-GAP-02354":{"line":5609,"offset":1001839,"length":185,"previous":"M21-GAP-02353","next":"M21-GAP-02355"},"M21-GAP-02355":{"line":5610,"offset":1002024,"length":185,"previous":"M21-GAP-02354","next":"M21-GAP-02356"},"M21-GAP-02356":{"line":5611,"offset":1002209,"length":185,"previous":"M21-GAP-02355","next":"M21-GAP-02357"},"M21-GAP-02357":{"line":5612,"offset":1002394,"length":185,"previous":"M21-GAP-02356","next":"M21-GAP-02358"},"M21-GAP-02358":{"line":5613,"offset":1002579,"length":185,"previous":"M21-GAP-02357","next":"M21-GAP-02359"},"M21-GAP-02359":{"line":5614,"offset":1002764,"length":185,"previous":"M21-GAP-02358","next":"M21-GAP-02360"},"M21-GAP-02360":{"line":5615,"offset":1002949,"length":185,"previous":"M21-GAP-02359","next":"M21-GAP-02361"},"M21-GAP-02361":{"line":5616,"offset":1003134,"length":185,"previous":"M21-GAP-02360","next":"M21-GAP-02362"},"M21-GAP-02362":{"line":5617,"offset":1003319,"length":185,"previous":"M21-GAP-02361","next":"M21-GAP-02363"},"M21-GAP-02363":{"line":5618,"offset":1003504,"length":184,"previous":"M21-GAP-02362","next":"M21-GAP-02364"},"M21-GAP-02364":{"line":5619,"offset":1003688,"length":185,"previous":"M21-GAP-02363","next":"M21-GAP-02365"},"M21-GAP-02365":{"line":5620,"offset":1003873,"length":185,"previous":"M21-GAP-02364","next":"M21-GAP-02366"},"M21-GAP-02366":{"line":5621,"offset":1004058,"length":185,"previous":"M21-GAP-02365","next":"M21-GAP-02367"},"M21-GAP-02367":{"line":5622,"offset":1004243,"length":185,"previous":"M21-GAP-02366","next":"M21-GAP-02368"},"M21-GAP-02368":{"line":5623,"offset":1004428,"length":185,"previous":"M21-GAP-02367","next":"M21-GAP-02369"},"M21-GAP-02369":{"line":5624,"offset":1004613,"length":185,"previous":"M21-GAP-02368","next":"M21-GAP-02370"},"M21-GAP-02370":{"line":5625,"offset":1004798,"length":185,"previous":"M21-GAP-02369","next":"M21-GAP-02371"},"M21-GAP-02371":{"line":5626,"offset":1004983,"length":185,"previous":"M21-GAP-02370","next":"M21-GAP-02372"},"M21-GAP-02372":{"line":5627,"offset":1005168,"length":185,"previous":"M21-GAP-02371","next":"M21-GAP-02373"},"M21-GAP-02373":{"line":5628,"offset":1005353,"length":185,"previous":"M21-GAP-02372","next":"M21-GAP-02374"},"M21-GAP-02374":{"line":5629,"offset":1005538,"length":184,"previous":"M21-GAP-02373","next":"M21-GAP-02375"},"M21-GAP-02375":{"line":5630,"offset":1005722,"length":185,"previous":"M21-GAP-02374","next":"M21-GAP-02376"},"M21-GAP-02376":{"line":5631,"offset":1005907,"length":185,"previous":"M21-GAP-02375","next":"M21-GAP-02377"},"M21-GAP-02377":{"line":5632,"offset":1006092,"length":185,"previous":"M21-GAP-02376","next":"M21-GAP-02378"},"M21-GAP-02378":{"line":5633,"offset":1006277,"length":185,"previous":"M21-GAP-02377","next":"M21-GAP-02379"},"M21-GAP-02379":{"line":5634,"offset":1006462,"length":185,"previous":"M21-GAP-02378","next":"M21-GAP-02380"},"M21-GAP-02380":{"line":5635,"offset":1006647,"length":185,"previous":"M21-GAP-02379","next":"M21-GAP-02381"},"M21-GAP-02381":{"line":5636,"offset":1006832,"length":185,"previous":"M21-GAP-02380","next":"M21-GAP-02382"},"M21-GAP-02382":{"line":5637,"offset":1007017,"length":185,"previous":"M21-GAP-02381","next":"M21-GAP-02383"},"M21-GAP-02383":{"line":5638,"offset":1007202,"length":185,"previous":"M21-GAP-02382","next":"M21-GAP-02384"},"M21-GAP-02384":{"line":5639,"offset":1007387,"length":185,"previous":"M21-GAP-02383","next":"M21-GAP-02385"},"M21-GAP-02385":{"line":5640,"offset":1007572,"length":184,"previous":"M21-GAP-02384","next":"M21-GAP-02386"},"M21-GAP-02386":{"line":5641,"offset":1007756,"length":185,"previous":"M21-GAP-02385","next":"M21-GAP-02387"},"M21-GAP-02387":{"line":5642,"offset":1007941,"length":185,"previous":"M21-GAP-02386","next":"M21-GAP-02388"},"M21-GAP-02388":{"line":5643,"offset":1008126,"length":185,"previous":"M21-GAP-02387","next":"M21-GAP-02389"},"M21-GAP-02389":{"line":5644,"offset":1008311,"length":185,"previous":"M21-GAP-02388","next":"M21-GAP-02390"},"M21-GAP-02390":{"line":5645,"offset":1008496,"length":185,"previous":"M21-GAP-02389","next":"M21-GAP-02391"},"M21-GAP-02391":{"line":5646,"offset":1008681,"length":185,"previous":"M21-GAP-02390","next":"M21-GAP-02392"},"M21-GAP-02392":{"line":5647,"offset":1008866,"length":185,"previous":"M21-GAP-02391","next":"M21-GAP-02393"},"M21-GAP-02393":{"line":5648,"offset":1009051,"length":185,"previous":"M21-GAP-02392","next":"M21-GAP-02394"},"M21-GAP-02394":{"line":5649,"offset":1009236,"length":185,"previous":"M21-GAP-02393","next":"M21-GAP-02395"},"M21-GAP-02395":{"line":5650,"offset":1009421,"length":185,"previous":"M21-GAP-02394","next":"M21-GAP-02396"},"M21-GAP-02396":{"line":5651,"offset":1009606,"length":184,"previous":"M21-GAP-02395","next":"M21-GAP-02397"},"M21-GAP-02397":{"line":5652,"offset":1009790,"length":185,"previous":"M21-GAP-02396","next":"M21-GAP-02398"},"M21-GAP-02398":{"line":5653,"offset":1009975,"length":185,"previous":"M21-GAP-02397","next":"M21-GAP-02399"},"M21-GAP-02399":{"line":5654,"offset":1010160,"length":185,"previous":"M21-GAP-02398","next":"M21-GAP-02400"},"M21-GAP-02400":{"line":5655,"offset":1010345,"length":185,"previous":"M21-GAP-02399","next":"M21-GAP-02401"},"M21-GAP-02401":{"line":5656,"offset":1010530,"length":185,"previous":"M21-GAP-02400","next":"M21-GAP-02402"},"M21-GAP-02402":{"line":5657,"offset":1010715,"length":185,"previous":"M21-GAP-02401","next":"M21-GAP-02403"},"M21-GAP-02403":{"line":5658,"offset":1010900,"length":185,"previous":"M21-GAP-02402","next":"M21-GAP-02404"},"M21-GAP-02404":{"line":5659,"offset":1011085,"length":185,"previous":"M21-GAP-02403","next":"M21-GAP-02405"},"M21-GAP-02405":{"line":5660,"offset":1011270,"length":185,"previous":"M21-GAP-02404","next":"M21-GAP-02406"},"M21-GAP-02406":{"line":5661,"offset":1011455,"length":185,"previous":"M21-GAP-02405","next":"M21-GAP-02407"},"M21-GAP-02407":{"line":5662,"offset":1011640,"length":184,"previous":"M21-GAP-02406","next":"M21-GAP-02408"},"M21-GAP-02408":{"line":5663,"offset":1011824,"length":185,"previous":"M21-GAP-02407","next":"M21-GAP-02409"},"M21-GAP-02409":{"line":5664,"offset":1012009,"length":185,"previous":"M21-GAP-02408","next":"M21-GAP-02410"},"M21-GAP-02410":{"line":5665,"offset":1012194,"length":185,"previous":"M21-GAP-02409","next":"M21-GAP-02411"},"M21-GAP-02411":{"line":5666,"offset":1012379,"length":185,"previous":"M21-GAP-02410","next":"M21-GAP-02412"},"M21-GAP-02412":{"line":5667,"offset":1012564,"length":185,"previous":"M21-GAP-02411","next":"M21-GAP-02413"},"M21-GAP-02413":{"line":5668,"offset":1012749,"length":185,"previous":"M21-GAP-02412","next":"M21-GAP-02414"},"M21-GAP-02414":{"line":5669,"offset":1012934,"length":185,"previous":"M21-GAP-02413","next":"M21-GAP-02415"},"M21-GAP-02415":{"line":5670,"offset":1013119,"length":185,"previous":"M21-GAP-02414","next":"M21-GAP-02416"},"M21-GAP-02416":{"line":5671,"offset":1013304,"length":184,"previous":"M21-GAP-02415","next":"M21-GAP-02417"},"M21-GAP-02417":{"line":5672,"offset":1013488,"length":191,"previous":"M21-GAP-02416","next":"M21-GAP-02418"},"M21-GAP-02418":{"line":5673,"offset":1013679,"length":191,"previous":"M21-GAP-02417","next":"M21-GAP-02419"},"M21-GAP-02419":{"line":5674,"offset":1013870,"length":192,"previous":"M21-GAP-02418","next":"M21-GAP-02420"},"M21-GAP-02420":{"line":5675,"offset":1014062,"length":192,"previous":"M21-GAP-02419","next":"M21-GAP-02421"},"M21-GAP-02421":{"line":5676,"offset":1014254,"length":192,"previous":"M21-GAP-02420","next":"M21-GAP-02422"},"M21-GAP-02422":{"line":5677,"offset":1014446,"length":192,"previous":"M21-GAP-02421","next":"M21-GAP-02423"},"M21-GAP-02423":{"line":5678,"offset":1014638,"length":191,"previous":"M21-GAP-02422","next":"M21-GAP-02424"},"M21-GAP-02424":{"line":5679,"offset":1014829,"length":191,"previous":"M21-GAP-02423","next":"M21-GAP-02425"},"M21-GAP-02425":{"line":5680,"offset":1015020,"length":191,"previous":"M21-GAP-02424","next":"M21-GAP-02426"},"M21-GAP-02426":{"line":5681,"offset":1015211,"length":191,"previous":"M21-GAP-02425","next":"M21-GAP-02427"},"M21-GAP-02427":{"line":5682,"offset":1015402,"length":191,"previous":"M21-GAP-02426","next":"M21-GAP-02428"},"M21-GAP-02428":{"line":5683,"offset":1015593,"length":191,"previous":"M21-GAP-02427","next":"M21-GAP-02429"},"M21-GAP-02429":{"line":5684,"offset":1015784,"length":191,"previous":"M21-GAP-02428","next":"M21-GAP-02430"},"M21-GAP-02430":{"line":5685,"offset":1015975,"length":191,"previous":"M21-GAP-02429","next":"M21-GAP-02431"},"M21-GAP-02431":{"line":5686,"offset":1016166,"length":187,"previous":"M21-GAP-02430","next":"M21-GAP-02432"},"M21-GAP-02432":{"line":5687,"offset":1016353,"length":187,"previous":"M21-GAP-02431","next":"M21-GAP-02433"},"M21-GAP-02433":{"line":5688,"offset":1016540,"length":188,"previous":"M21-GAP-02432","next":"M21-GAP-02434"},"M21-GAP-02434":{"line":5689,"offset":1016728,"length":188,"previous":"M21-GAP-02433","next":"M21-GAP-02435"},"M21-GAP-02435":{"line":5690,"offset":1016916,"length":188,"previous":"M21-GAP-02434","next":"M21-GAP-02436"},"M21-GAP-02436":{"line":5691,"offset":1017104,"length":188,"previous":"M21-GAP-02435","next":"M21-GAP-02437"},"M21-GAP-02437":{"line":5692,"offset":1017292,"length":188,"previous":"M21-GAP-02436","next":"M21-GAP-02438"},"M21-GAP-02438":{"line":5693,"offset":1017480,"length":188,"previous":"M21-GAP-02437","next":"M21-GAP-02439"},"M21-GAP-02439":{"line":5694,"offset":1017668,"length":188,"previous":"M21-GAP-02438","next":"M21-GAP-02440"},"M21-GAP-02440":{"line":5695,"offset":1017856,"length":188,"previous":"M21-GAP-02439","next":"M21-GAP-02441"},"M21-GAP-02441":{"line":5696,"offset":1018044,"length":188,"previous":"M21-GAP-02440","next":"M21-GAP-02442"},"M21-GAP-02442":{"line":5697,"offset":1018232,"length":188,"previous":"M21-GAP-02441","next":"M21-GAP-02443"},"M21-GAP-02443":{"line":5698,"offset":1018420,"length":187,"previous":"M21-GAP-02442","next":"M21-GAP-02444"},"M21-GAP-02444":{"line":5699,"offset":1018607,"length":187,"previous":"M21-GAP-02443","next":"M21-GAP-02445"},"M21-GAP-02445":{"line":5700,"offset":1018794,"length":187,"previous":"M21-GAP-02444","next":"M21-GAP-02446"},"M21-GAP-02446":{"line":5701,"offset":1018981,"length":187,"previous":"M21-GAP-02445","next":"M21-GAP-02447"},"M21-GAP-02447":{"line":5702,"offset":1019168,"length":187,"previous":"M21-GAP-02446","next":"M21-GAP-02448"},"M21-GAP-02448":{"line":5703,"offset":1019355,"length":187,"previous":"M21-GAP-02447","next":"M21-GAP-02449"},"M21-GAP-02449":{"line":5704,"offset":1019542,"length":187,"previous":"M21-GAP-02448","next":"M21-GAP-02450"},"M21-GAP-02450":{"line":5705,"offset":1019729,"length":187,"previous":"M21-GAP-02449","next":"M21-GAP-02451"},"M21-GAP-02451":{"line":5706,"offset":1019916,"length":186,"previous":"M21-GAP-02450","next":"M21-GAP-02452"},"M21-GAP-02452":{"line":5707,"offset":1020102,"length":181,"previous":"M21-GAP-02451","next":"M21-GAP-02453"},"M21-GAP-02453":{"line":5708,"offset":1020283,"length":181,"previous":"M21-GAP-02452","next":"M21-GAP-02454"},"M21-GAP-02454":{"line":5709,"offset":1020464,"length":182,"previous":"M21-GAP-02453","next":"M21-GAP-02455"},"M21-GAP-02455":{"line":5710,"offset":1020646,"length":182,"previous":"M21-GAP-02454","next":"M21-GAP-02456"},"M21-GAP-02456":{"line":5711,"offset":1020828,"length":182,"previous":"M21-GAP-02455","next":"M21-GAP-02457"},"M21-GAP-02457":{"line":5712,"offset":1021010,"length":182,"previous":"M21-GAP-02456","next":"M21-GAP-02458"},"M21-GAP-02458":{"line":5713,"offset":1021192,"length":181,"previous":"M21-GAP-02457","next":"M21-GAP-02459"},"M21-GAP-02459":{"line":5714,"offset":1021373,"length":181,"previous":"M21-GAP-02458","next":"M21-GAP-02460"},"M21-GAP-02460":{"line":5715,"offset":1021554,"length":181,"previous":"M21-GAP-02459","next":"M21-GAP-02461"},"M21-GAP-02461":{"line":5716,"offset":1021735,"length":181,"previous":"M21-GAP-02460","next":"M21-GAP-02462"},"M21-GAP-02462":{"line":5717,"offset":1021916,"length":181,"previous":"M21-GAP-02461","next":"M21-GAP-02463"},"M21-GAP-02463":{"line":5718,"offset":1022097,"length":181,"previous":"M21-GAP-02462","next":"M21-GAP-02464"},"M21-GAP-02464":{"line":5719,"offset":1022278,"length":181,"previous":"M21-GAP-02463","next":"M21-GAP-02465"},"M21-GAP-02465":{"line":5720,"offset":1022459,"length":181,"previous":"M21-GAP-02464","next":"M21-GAP-02466"},"M21-GAP-02466":{"line":5721,"offset":1022640,"length":173,"previous":"M21-GAP-02465","next":"M21-GAP-02467"},"M21-GAP-02467":{"line":5722,"offset":1022813,"length":173,"previous":"M21-GAP-02466","next":"M21-GAP-02468"},"M21-GAP-02468":{"line":5723,"offset":1022986,"length":174,"previous":"M21-GAP-02467","next":"M21-GAP-02469"},"M21-GAP-02469":{"line":5724,"offset":1023160,"length":174,"previous":"M21-GAP-02468","next":"M21-GAP-02470"},"M21-GAP-02470":{"line":5725,"offset":1023334,"length":174,"previous":"M21-GAP-02469","next":"M21-GAP-02471"},"M21-GAP-02471":{"line":5726,"offset":1023508,"length":174,"previous":"M21-GAP-02470","next":"M21-GAP-02472"},"M21-GAP-02472":{"line":5727,"offset":1023682,"length":174,"previous":"M21-GAP-02471","next":"M21-GAP-02473"},"M21-GAP-02473":{"line":5728,"offset":1023856,"length":174,"previous":"M21-GAP-02472","next":"M21-GAP-02474"},"M21-GAP-02474":{"line":5729,"offset":1024030,"length":174,"previous":"M21-GAP-02473","next":"M21-GAP-02475"},"M21-GAP-02475":{"line":5730,"offset":1024204,"length":174,"previous":"M21-GAP-02474","next":"M21-GAP-02476"},"M21-GAP-02476":{"line":5731,"offset":1024378,"length":174,"previous":"M21-GAP-02475","next":"M21-GAP-02477"},"M21-GAP-02477":{"line":5732,"offset":1024552,"length":174,"previous":"M21-GAP-02476","next":"M21-GAP-02478"},"M21-GAP-02478":{"line":5733,"offset":1024726,"length":173,"previous":"M21-GAP-02477","next":"M21-GAP-02479"},"M21-GAP-02479":{"line":5734,"offset":1024899,"length":174,"previous":"M21-GAP-02478","next":"M21-GAP-02480"},"M21-GAP-02480":{"line":5735,"offset":1025073,"length":174,"previous":"M21-GAP-02479","next":"M21-GAP-02481"},"M21-GAP-02481":{"line":5736,"offset":1025247,"length":174,"previous":"M21-GAP-02480","next":"M21-GAP-02482"},"M21-GAP-02482":{"line":5737,"offset":1025421,"length":174,"previous":"M21-GAP-02481","next":"M21-GAP-02483"},"M21-GAP-02483":{"line":5738,"offset":1025595,"length":174,"previous":"M21-GAP-02482","next":"M21-GAP-02484"},"M21-GAP-02484":{"line":5739,"offset":1025769,"length":174,"previous":"M21-GAP-02483","next":"M21-GAP-02485"},"M21-GAP-02485":{"line":5740,"offset":1025943,"length":173,"previous":"M21-GAP-02484","next":"M21-GAP-02486"},"M21-GAP-02486":{"line":5741,"offset":1026116,"length":173,"previous":"M21-GAP-02485","next":"M21-GAP-02487"},"M21-GAP-02487":{"line":5742,"offset":1026289,"length":173,"previous":"M21-GAP-02486","next":"M21-GAP-02488"},"M21-GAP-02488":{"line":5743,"offset":1026462,"length":173,"previous":"M21-GAP-02487","next":"M21-GAP-02489"},"M21-GAP-02489":{"line":5744,"offset":1026635,"length":173,"previous":"M21-GAP-02488","next":"M21-GAP-02490"},"M21-GAP-02490":{"line":5745,"offset":1026808,"length":173,"previous":"M21-GAP-02489","next":"M21-GAP-02491"},"M21-GAP-02491":{"line":5746,"offset":1026981,"length":173,"previous":"M21-GAP-02490","next":"M21-GAP-02492"},"M21-GAP-02492":{"line":5747,"offset":1027154,"length":180,"previous":"M21-GAP-02491","next":"M21-GAP-02493"},"M21-GAP-02493":{"line":5748,"offset":1027334,"length":180,"previous":"M21-GAP-02492","next":"M21-GAP-02494"},"M21-GAP-02494":{"line":5749,"offset":1027514,"length":181,"previous":"M21-GAP-02493","next":"M21-GAP-02495"},"M21-GAP-02495":{"line":5750,"offset":1027695,"length":181,"previous":"M21-GAP-02494","next":"M21-GAP-02496"},"M21-GAP-02496":{"line":5751,"offset":1027876,"length":181,"previous":"M21-GAP-02495","next":"M21-GAP-02497"},"M21-GAP-02497":{"line":5752,"offset":1028057,"length":181,"previous":"M21-GAP-02496","next":"M21-GAP-02498"},"M21-GAP-02498":{"line":5753,"offset":1028238,"length":181,"previous":"M21-GAP-02497","next":"M21-GAP-02499"},"M21-GAP-02499":{"line":5754,"offset":1028419,"length":181,"previous":"M21-GAP-02498","next":"M21-GAP-02500"},"M21-GAP-02500":{"line":5755,"offset":1028600,"length":180,"previous":"M21-GAP-02499","next":"M21-GAP-02501"},"M21-GAP-02501":{"line":5756,"offset":1028780,"length":180,"previous":"M21-GAP-02500","next":"M21-GAP-02502"},"M21-GAP-02502":{"line":5757,"offset":1028960,"length":180,"previous":"M21-GAP-02501","next":"M21-GAP-02503"},"M21-GAP-02503":{"line":5758,"offset":1029140,"length":180,"previous":"M21-GAP-02502","next":"M21-GAP-02504"},"M21-GAP-02504":{"line":5759,"offset":1029320,"length":180,"previous":"M21-GAP-02503","next":"M21-GAP-02505"},"M21-GAP-02505":{"line":5760,"offset":1029500,"length":180,"previous":"M21-GAP-02504","next":"M21-GAP-02506"},"M21-GAP-02506":{"line":5761,"offset":1029680,"length":180,"previous":"M21-GAP-02505","next":"M21-GAP-02507"},"M21-GAP-02507":{"line":5762,"offset":1029860,"length":180,"previous":"M21-GAP-02506","next":"M21-GAP-02508"},"M21-GAP-02508":{"line":5763,"offset":1030040,"length":186,"previous":"M21-GAP-02507","next":"M21-GAP-02509"},"M21-GAP-02509":{"line":5764,"offset":1030226,"length":186,"previous":"M21-GAP-02508","next":"M21-GAP-02510"},"M21-GAP-02510":{"line":5765,"offset":1030412,"length":187,"previous":"M21-GAP-02509","next":"M21-GAP-02511"},"M21-GAP-02511":{"line":5766,"offset":1030599,"length":187,"previous":"M21-GAP-02510","next":"M21-GAP-02512"},"M21-GAP-02512":{"line":5767,"offset":1030786,"length":187,"previous":"M21-GAP-02511","next":"M21-GAP-02513"},"M21-GAP-02513":{"line":5768,"offset":1030973,"length":187,"previous":"M21-GAP-02512","next":"M21-GAP-02514"},"M21-GAP-02514":{"line":5769,"offset":1031160,"length":187,"previous":"M21-GAP-02513","next":"M21-GAP-02515"},"M21-GAP-02515":{"line":5770,"offset":1031347,"length":187,"previous":"M21-GAP-02514","next":"M21-GAP-02516"},"M21-GAP-02516":{"line":5771,"offset":1031534,"length":187,"previous":"M21-GAP-02515","next":"M21-GAP-02517"},"M21-GAP-02517":{"line":5772,"offset":1031721,"length":187,"previous":"M21-GAP-02516","next":"M21-GAP-02518"},"M21-GAP-02518":{"line":5773,"offset":1031908,"length":187,"previous":"M21-GAP-02517","next":"M21-GAP-02519"},"M21-GAP-02519":{"line":5774,"offset":1032095,"length":187,"previous":"M21-GAP-02518","next":"M21-GAP-02520"},"M21-GAP-02520":{"line":5775,"offset":1032282,"length":186,"previous":"M21-GAP-02519","next":"M21-GAP-02521"},"M21-GAP-02521":{"line":5776,"offset":1032468,"length":187,"previous":"M21-GAP-02520","next":"M21-GAP-02522"},"M21-GAP-02522":{"line":5777,"offset":1032655,"length":187,"previous":"M21-GAP-02521","next":"M21-GAP-02523"},"M21-GAP-02523":{"line":5778,"offset":1032842,"length":187,"previous":"M21-GAP-02522","next":"M21-GAP-02524"},"M21-GAP-02524":{"line":5779,"offset":1033029,"length":187,"previous":"M21-GAP-02523","next":"M21-GAP-02525"},"M21-GAP-02525":{"line":5780,"offset":1033216,"length":187,"previous":"M21-GAP-02524","next":"M21-GAP-02526"},"M21-GAP-02526":{"line":5781,"offset":1033403,"length":186,"previous":"M21-GAP-02525","next":"M21-GAP-02527"},"M21-GAP-02527":{"line":5782,"offset":1033589,"length":186,"previous":"M21-GAP-02526","next":"M21-GAP-02528"},"M21-GAP-02528":{"line":5783,"offset":1033775,"length":186,"previous":"M21-GAP-02527","next":"M21-GAP-02529"},"M21-GAP-02529":{"line":5784,"offset":1033961,"length":186,"previous":"M21-GAP-02528","next":"M21-GAP-02530"},"M21-GAP-02530":{"line":5785,"offset":1034147,"length":186,"previous":"M21-GAP-02529","next":"M21-GAP-02531"},"M21-GAP-02531":{"line":5786,"offset":1034333,"length":186,"previous":"M21-GAP-02530","next":"M21-GAP-02532"},"M21-GAP-02532":{"line":5787,"offset":1034519,"length":186,"previous":"M21-GAP-02531","next":"M21-GAP-02533"},"M21-GAP-02533":{"line":5788,"offset":1034705,"length":173,"previous":"M21-GAP-02532","next":"M21-GAP-02534"},"M21-GAP-02534":{"line":5789,"offset":1034878,"length":173,"previous":"M21-GAP-02533","next":"M21-GAP-02535"},"M21-GAP-02535":{"line":5790,"offset":1035051,"length":174,"previous":"M21-GAP-02534","next":"M21-GAP-02536"},"M21-GAP-02536":{"line":5791,"offset":1035225,"length":174,"previous":"M21-GAP-02535","next":"M21-GAP-02537"},"M21-GAP-02537":{"line":5792,"offset":1035399,"length":174,"previous":"M21-GAP-02536","next":"M21-GAP-02538"},"M21-GAP-02538":{"line":5793,"offset":1035573,"length":174,"previous":"M21-GAP-02537","next":"M21-GAP-02539"},"M21-GAP-02539":{"line":5794,"offset":1035747,"length":174,"previous":"M21-GAP-02538","next":"M21-GAP-02540"},"M21-GAP-02540":{"line":5795,"offset":1035921,"length":174,"previous":"M21-GAP-02539","next":"M21-GAP-02541"},"M21-GAP-02541":{"line":5796,"offset":1036095,"length":174,"previous":"M21-GAP-02540","next":"M21-GAP-02542"},"M21-GAP-02542":{"line":5797,"offset":1036269,"length":174,"previous":"M21-GAP-02541","next":"M21-GAP-02543"},"M21-GAP-02543":{"line":5798,"offset":1036443,"length":174,"previous":"M21-GAP-02542","next":"M21-GAP-02544"},"M21-GAP-02544":{"line":5799,"offset":1036617,"length":174,"previous":"M21-GAP-02543","next":"M21-GAP-02545"},"M21-GAP-02545":{"line":5800,"offset":1036791,"length":173,"previous":"M21-GAP-02544","next":"M21-GAP-02546"},"M21-GAP-02546":{"line":5801,"offset":1036964,"length":174,"previous":"M21-GAP-02545","next":"M21-GAP-02547"},"M21-GAP-02547":{"line":5802,"offset":1037138,"length":174,"previous":"M21-GAP-02546","next":"M21-GAP-02548"},"M21-GAP-02548":{"line":5803,"offset":1037312,"length":174,"previous":"M21-GAP-02547","next":"M21-GAP-02549"},"M21-GAP-02549":{"line":5804,"offset":1037486,"length":174,"previous":"M21-GAP-02548","next":"M21-GAP-02550"},"M21-GAP-02550":{"line":5805,"offset":1037660,"length":174,"previous":"M21-GAP-02549","next":"M21-GAP-02551"},"M21-GAP-02551":{"line":5806,"offset":1037834,"length":174,"previous":"M21-GAP-02550","next":"M21-GAP-02552"},"M21-GAP-02552":{"line":5807,"offset":1038008,"length":174,"previous":"M21-GAP-02551","next":"M21-GAP-02553"},"M21-GAP-02553":{"line":5808,"offset":1038182,"length":174,"previous":"M21-GAP-02552","next":"M21-GAP-02554"},"M21-GAP-02554":{"line":5809,"offset":1038356,"length":174,"previous":"M21-GAP-02553","next":"M21-GAP-02555"},"M21-GAP-02555":{"line":5810,"offset":1038530,"length":174,"previous":"M21-GAP-02554","next":"M21-GAP-02556"},"M21-GAP-02556":{"line":5811,"offset":1038704,"length":173,"previous":"M21-GAP-02555","next":"M21-GAP-02557"},"M21-GAP-02557":{"line":5812,"offset":1038877,"length":174,"previous":"M21-GAP-02556","next":"M21-GAP-02558"},"M21-GAP-02558":{"line":5813,"offset":1039051,"length":174,"previous":"M21-GAP-02557","next":"M21-GAP-02559"},"M21-GAP-02559":{"line":5814,"offset":1039225,"length":174,"previous":"M21-GAP-02558","next":"M21-GAP-02560"},"M21-GAP-02560":{"line":5815,"offset":1039399,"length":174,"previous":"M21-GAP-02559","next":"M21-GAP-02561"},"M21-GAP-02561":{"line":5816,"offset":1039573,"length":174,"previous":"M21-GAP-02560","next":"M21-GAP-02562"},"M21-GAP-02562":{"line":5817,"offset":1039747,"length":174,"previous":"M21-GAP-02561","next":"M21-GAP-02563"},"M21-GAP-02563":{"line":5818,"offset":1039921,"length":174,"previous":"M21-GAP-02562","next":"M21-GAP-02564"},"M21-GAP-02564":{"line":5819,"offset":1040095,"length":174,"previous":"M21-GAP-02563","next":"M21-GAP-02565"},"M21-GAP-02565":{"line":5820,"offset":1040269,"length":174,"previous":"M21-GAP-02564","next":"M21-GAP-02566"},"M21-GAP-02566":{"line":5821,"offset":1040443,"length":174,"previous":"M21-GAP-02565","next":"M21-GAP-02567"},"M21-GAP-02567":{"line":5822,"offset":1040617,"length":173,"previous":"M21-GAP-02566","next":"M21-GAP-02568"},"M21-GAP-02568":{"line":5823,"offset":1040790,"length":174,"previous":"M21-GAP-02567","next":"M21-GAP-02569"},"M21-GAP-02569":{"line":5824,"offset":1040964,"length":174,"previous":"M21-GAP-02568","next":"M21-GAP-02570"},"M21-GAP-02570":{"line":5825,"offset":1041138,"length":174,"previous":"M21-GAP-02569","next":"M21-GAP-02571"},"M21-GAP-02571":{"line":5826,"offset":1041312,"length":174,"previous":"M21-GAP-02570","next":"M21-GAP-02572"},"M21-GAP-02572":{"line":5827,"offset":1041486,"length":174,"previous":"M21-GAP-02571","next":"M21-GAP-02573"},"M21-GAP-02573":{"line":5828,"offset":1041660,"length":174,"previous":"M21-GAP-02572","next":"M21-GAP-02574"},"M21-GAP-02574":{"line":5829,"offset":1041834,"length":174,"previous":"M21-GAP-02573","next":"M21-GAP-02575"},"M21-GAP-02575":{"line":5830,"offset":1042008,"length":174,"previous":"M21-GAP-02574","next":"M21-GAP-02576"},"M21-GAP-02576":{"line":5831,"offset":1042182,"length":174,"previous":"M21-GAP-02575","next":"M21-GAP-02577"},"M21-GAP-02577":{"line":5832,"offset":1042356,"length":174,"previous":"M21-GAP-02576","next":"M21-GAP-02578"},"M21-GAP-02578":{"line":5833,"offset":1042530,"length":173,"previous":"M21-GAP-02577","next":"M21-GAP-02579"},"M21-GAP-02579":{"line":5834,"offset":1042703,"length":174,"previous":"M21-GAP-02578","next":"M21-GAP-02580"},"M21-GAP-02580":{"line":5835,"offset":1042877,"length":174,"previous":"M21-GAP-02579","next":"M21-GAP-02581"},"M21-GAP-02581":{"line":5836,"offset":1043051,"length":174,"previous":"M21-GAP-02580","next":"M21-GAP-02582"},"M21-GAP-02582":{"line":5837,"offset":1043225,"length":174,"previous":"M21-GAP-02581","next":"M21-GAP-02583"},"M21-GAP-02583":{"line":5838,"offset":1043399,"length":174,"previous":"M21-GAP-02582","next":"M21-GAP-02584"},"M21-GAP-02584":{"line":5839,"offset":1043573,"length":174,"previous":"M21-GAP-02583","next":"M21-GAP-02585"},"M21-GAP-02585":{"line":5840,"offset":1043747,"length":174,"previous":"M21-GAP-02584","next":"M21-GAP-02586"},"M21-GAP-02586":{"line":5841,"offset":1043921,"length":174,"previous":"M21-GAP-02585","next":"M21-GAP-02587"},"M21-GAP-02587":{"line":5842,"offset":1044095,"length":174,"previous":"M21-GAP-02586","next":"M21-GAP-02588"},"M21-GAP-02588":{"line":5843,"offset":1044269,"length":174,"previous":"M21-GAP-02587","next":"M21-GAP-02589"},"M21-GAP-02589":{"line":5844,"offset":1044443,"length":173,"previous":"M21-GAP-02588","next":"M21-GAP-02590"},"M21-GAP-02590":{"line":5845,"offset":1044616,"length":174,"previous":"M21-GAP-02589","next":"M21-GAP-02591"},"M21-GAP-02591":{"line":5846,"offset":1044790,"length":174,"previous":"M21-GAP-02590","next":"M21-GAP-02592"},"M21-GAP-02592":{"line":5847,"offset":1044964,"length":174,"previous":"M21-GAP-02591","next":"M21-GAP-02593"},"M21-GAP-02593":{"line":5848,"offset":1045138,"length":174,"previous":"M21-GAP-02592","next":"M21-GAP-02594"},"M21-GAP-02594":{"line":5849,"offset":1045312,"length":174,"previous":"M21-GAP-02593","next":"M21-GAP-02595"},"M21-GAP-02595":{"line":5850,"offset":1045486,"length":174,"previous":"M21-GAP-02594","next":"M21-GAP-02596"},"M21-GAP-02596":{"line":5851,"offset":1045660,"length":174,"previous":"M21-GAP-02595","next":"M21-GAP-02597"},"M21-GAP-02597":{"line":5852,"offset":1045834,"length":173,"previous":"M21-GAP-02596","next":"M21-GAP-02598"},"M21-GAP-02598":{"line":5853,"offset":1046007,"length":173,"previous":"M21-GAP-02597","next":"M21-GAP-02599"},"M21-GAP-02599":{"line":5854,"offset":1046180,"length":173,"previous":"M21-GAP-02598","next":"M21-GAP-02600"},"M21-GAP-02600":{"line":5855,"offset":1046353,"length":195,"previous":"M21-GAP-02599","next":"M21-GAP-02601"},"M21-GAP-02601":{"line":5856,"offset":1046548,"length":195,"previous":"M21-GAP-02600","next":"M21-GAP-02602"},"M21-GAP-02602":{"line":5857,"offset":1046743,"length":198,"previous":"M21-GAP-02601","next":"M21-GAP-02603"},"M21-GAP-02603":{"line":5858,"offset":1046941,"length":198,"previous":"M21-GAP-02602","next":"M21-GAP-02604"},"M21-GAP-02604":{"line":5859,"offset":1047139,"length":198,"previous":"M21-GAP-02603","next":"M21-GAP-02605"},"M21-GAP-02605":{"line":5860,"offset":1047337,"length":198,"previous":"M21-GAP-02604","next":"M21-GAP-02606"},"M21-GAP-02606":{"line":5861,"offset":1047535,"length":198,"previous":"M21-GAP-02605","next":"M21-GAP-02607"},"M21-GAP-02607":{"line":5862,"offset":1047733,"length":198,"previous":"M21-GAP-02606","next":"M21-GAP-02608"},"M21-GAP-02608":{"line":5863,"offset":1047931,"length":214,"previous":"M21-GAP-02607","next":"M21-GAP-02609"},"M21-GAP-02609":{"line":5864,"offset":1048145,"length":214,"previous":"M21-GAP-02608","next":"M21-GAP-02610"},"M21-GAP-02610":{"line":5865,"offset":1048359,"length":214,"previous":"M21-GAP-02609","next":"M21-GAP-02611"},"M21-GAP-02611":{"line":5866,"offset":1048573,"length":214,"previous":"M21-GAP-02610","next":"M21-GAP-02612"},"M21-GAP-02612":{"line":5867,"offset":1048787,"length":214,"previous":"M21-GAP-02611","next":"M21-GAP-02613"},"M21-GAP-02613":{"line":5868,"offset":1049001,"length":214,"previous":"M21-GAP-02612","next":"M21-GAP-02614"},"M21-GAP-02614":{"line":5869,"offset":1049215,"length":203,"previous":"M21-GAP-02613","next":"M21-GAP-02615"},"M21-GAP-02615":{"line":5870,"offset":1049418,"length":203,"previous":"M21-GAP-02614","next":"M21-GAP-02616"},"M21-GAP-02616":{"line":5871,"offset":1049621,"length":203,"previous":"M21-GAP-02615","next":"M21-GAP-02617"},"M21-GAP-02617":{"line":5872,"offset":1049824,"length":203,"previous":"M21-GAP-02616","next":"M21-GAP-02618"},"M21-GAP-02618":{"line":5873,"offset":1050027,"length":203,"previous":"M21-GAP-02617","next":"M21-GAP-02619"},"M21-GAP-02619":{"line":5874,"offset":1050230,"length":203,"previous":"M21-GAP-02618","next":"M21-GAP-02620"},"M21-GAP-02620":{"line":5875,"offset":1050433,"length":217,"previous":"M21-GAP-02619","next":"M21-GAP-02621"},"M21-GAP-02621":{"line":5876,"offset":1050650,"length":217,"previous":"M21-GAP-02620","next":"M21-GAP-02622"},"M21-GAP-02622":{"line":5877,"offset":1050867,"length":217,"previous":"M21-GAP-02621","next":"M21-GAP-02623"},"M21-GAP-02623":{"line":5878,"offset":1051084,"length":206,"previous":"M21-GAP-02622","next":"M21-GAP-02624"},"M21-GAP-02624":{"line":5879,"offset":1051290,"length":206,"previous":"M21-GAP-02623","next":"M21-GAP-02625"},"M21-GAP-02625":{"line":5880,"offset":1051496,"length":206,"previous":"M21-GAP-02624","next":"M21-GAP-02626"},"M21-GAP-02626":{"line":5881,"offset":1051702,"length":216,"previous":"M21-GAP-02625","next":"M21-GAP-02627"},"M21-GAP-02627":{"line":5882,"offset":1051918,"length":216,"previous":"M21-GAP-02626","next":"M21-GAP-02628"},"M21-GAP-02628":{"line":5883,"offset":1052134,"length":216,"previous":"M21-GAP-02627","next":"M21-GAP-02629"},"M21-GAP-02629":{"line":5884,"offset":1052350,"length":205,"previous":"M21-GAP-02628","next":"M21-GAP-02630"},"M21-GAP-02630":{"line":5885,"offset":1052555,"length":205,"previous":"M21-GAP-02629","next":"M21-GAP-02631"},"M21-GAP-02631":{"line":5886,"offset":1052760,"length":205,"previous":"M21-GAP-02630","next":"M21-GAP-02632"},"M21-GAP-02632":{"line":5887,"offset":1052965,"length":197,"previous":"M21-GAP-02631","next":"M21-GAP-02633"},"M21-GAP-02633":{"line":5888,"offset":1053162,"length":197,"previous":"M21-GAP-02632","next":"M21-GAP-02634"},"M21-GAP-02634":{"line":5889,"offset":1053359,"length":186,"previous":"M21-GAP-02633","next":"M21-GAP-02635"},"M21-GAP-02635":{"line":5890,"offset":1053545,"length":186,"previous":"M21-GAP-02634","next":"M21-GAP-02636"},"M21-GAP-02636":{"line":5891,"offset":1053731,"length":187,"previous":"M21-GAP-02635","next":"M21-GAP-02637"},"M21-GAP-02637":{"line":5892,"offset":1053918,"length":187,"previous":"M21-GAP-02636","next":"M21-GAP-02638"},"M21-GAP-02638":{"line":5893,"offset":1054105,"length":187,"previous":"M21-GAP-02637","next":"M21-GAP-02639"},"M21-GAP-02639":{"line":5894,"offset":1054292,"length":187,"previous":"M21-GAP-02638","next":"M21-GAP-02640"},"M21-GAP-02640":{"line":5895,"offset":1054479,"length":187,"previous":"M21-GAP-02639","next":"M21-GAP-02641"},"M21-GAP-02641":{"line":5896,"offset":1054666,"length":187,"previous":"M21-GAP-02640","next":"M21-GAP-02642"},"M21-GAP-02642":{"line":5897,"offset":1054853,"length":187,"previous":"M21-GAP-02641","next":"M21-GAP-02643"},"M21-GAP-02643":{"line":5898,"offset":1055040,"length":187,"previous":"M21-GAP-02642","next":"M21-GAP-02644"},"M21-GAP-02644":{"line":5899,"offset":1055227,"length":187,"previous":"M21-GAP-02643","next":"M21-GAP-02645"},"M21-GAP-02645":{"line":5900,"offset":1055414,"length":187,"previous":"M21-GAP-02644","next":"M21-GAP-02646"},"M21-GAP-02646":{"line":5901,"offset":1055601,"length":186,"previous":"M21-GAP-02645","next":"M21-GAP-02647"},"M21-GAP-02647":{"line":5902,"offset":1055787,"length":187,"previous":"M21-GAP-02646","next":"M21-GAP-02648"},"M21-GAP-02648":{"line":5903,"offset":1055974,"length":187,"previous":"M21-GAP-02647","next":"M21-GAP-02649"},"M21-GAP-02649":{"line":5904,"offset":1056161,"length":187,"previous":"M21-GAP-02648","next":"M21-GAP-02650"},"M21-GAP-02650":{"line":5905,"offset":1056348,"length":187,"previous":"M21-GAP-02649","next":"M21-GAP-02651"},"M21-GAP-02651":{"line":5906,"offset":1056535,"length":187,"previous":"M21-GAP-02650","next":"M21-GAP-02652"},"M21-GAP-02652":{"line":5907,"offset":1056722,"length":187,"previous":"M21-GAP-02651","next":"M21-GAP-02653"},"M21-GAP-02653":{"line":5908,"offset":1056909,"length":187,"previous":"M21-GAP-02652","next":"M21-GAP-02654"},"M21-GAP-02654":{"line":5909,"offset":1057096,"length":187,"previous":"M21-GAP-02653","next":"M21-GAP-02655"},"M21-GAP-02655":{"line":5910,"offset":1057283,"length":187,"previous":"M21-GAP-02654","next":"M21-GAP-02656"},"M21-GAP-02656":{"line":5911,"offset":1057470,"length":187,"previous":"M21-GAP-02655","next":"M21-GAP-02657"},"M21-GAP-02657":{"line":5912,"offset":1057657,"length":186,"previous":"M21-GAP-02656","next":"M21-GAP-02658"},"M21-GAP-02658":{"line":5913,"offset":1057843,"length":187,"previous":"M21-GAP-02657","next":"M21-GAP-02659"},"M21-GAP-02659":{"line":5914,"offset":1058030,"length":187,"previous":"M21-GAP-02658","next":"M21-GAP-02660"},"M21-GAP-02660":{"line":5915,"offset":1058217,"length":187,"previous":"M21-GAP-02659","next":"M21-GAP-02661"},"M21-GAP-02661":{"line":5916,"offset":1058404,"length":187,"previous":"M21-GAP-02660","next":"M21-GAP-02662"},"M21-GAP-02662":{"line":5917,"offset":1058591,"length":187,"previous":"M21-GAP-02661","next":"M21-GAP-02663"},"M21-GAP-02663":{"line":5918,"offset":1058778,"length":187,"previous":"M21-GAP-02662","next":"M21-GAP-02664"},"M21-GAP-02664":{"line":5919,"offset":1058965,"length":187,"previous":"M21-GAP-02663","next":"M21-GAP-02665"},"M21-GAP-02665":{"line":5920,"offset":1059152,"length":187,"previous":"M21-GAP-02664","next":"M21-GAP-02666"},"M21-GAP-02666":{"line":5921,"offset":1059339,"length":187,"previous":"M21-GAP-02665","next":"M21-GAP-02667"},"M21-GAP-02667":{"line":5922,"offset":1059526,"length":187,"previous":"M21-GAP-02666","next":"M21-GAP-02668"},"M21-GAP-02668":{"line":5923,"offset":1059713,"length":186,"previous":"M21-GAP-02667","next":"M21-GAP-02669"},"M21-GAP-02669":{"line":5924,"offset":1059899,"length":187,"previous":"M21-GAP-02668","next":"M21-GAP-02670"},"M21-GAP-02670":{"line":5925,"offset":1060086,"length":187,"previous":"M21-GAP-02669","next":"M21-GAP-02671"},"M21-GAP-02671":{"line":5926,"offset":1060273,"length":187,"previous":"M21-GAP-02670","next":"M21-GAP-02672"},"M21-GAP-02672":{"line":5927,"offset":1060460,"length":187,"previous":"M21-GAP-02671","next":"M21-GAP-02673"},"M21-GAP-02673":{"line":5928,"offset":1060647,"length":187,"previous":"M21-GAP-02672","next":"M21-GAP-02674"},"M21-GAP-02674":{"line":5929,"offset":1060834,"length":187,"previous":"M21-GAP-02673","next":"M21-GAP-02675"},"M21-GAP-02675":{"line":5930,"offset":1061021,"length":187,"previous":"M21-GAP-02674","next":"M21-GAP-02676"},"M21-GAP-02676":{"line":5931,"offset":1061208,"length":187,"previous":"M21-GAP-02675","next":"M21-GAP-02677"},"M21-GAP-02677":{"line":5932,"offset":1061395,"length":187,"previous":"M21-GAP-02676","next":"M21-GAP-02678"},"M21-GAP-02678":{"line":5933,"offset":1061582,"length":187,"previous":"M21-GAP-02677","next":"M21-GAP-02679"},"M21-GAP-02679":{"line":5934,"offset":1061769,"length":186,"previous":"M21-GAP-02678","next":"M21-GAP-02680"},"M21-GAP-02680":{"line":5935,"offset":1061955,"length":187,"previous":"M21-GAP-02679","next":"M21-GAP-02681"},"M21-GAP-02681":{"line":5936,"offset":1062142,"length":187,"previous":"M21-GAP-02680","next":"M21-GAP-02682"},"M21-GAP-02682":{"line":5937,"offset":1062329,"length":187,"previous":"M21-GAP-02681","next":"M21-GAP-02683"},"M21-GAP-02683":{"line":5938,"offset":1062516,"length":187,"previous":"M21-GAP-02682","next":"M21-GAP-02684"},"M21-GAP-02684":{"line":5939,"offset":1062703,"length":187,"previous":"M21-GAP-02683","next":"M21-GAP-02685"},"M21-GAP-02685":{"line":5940,"offset":1062890,"length":187,"previous":"M21-GAP-02684","next":"M21-GAP-02686"},"M21-GAP-02686":{"line":5941,"offset":1063077,"length":187,"previous":"M21-GAP-02685","next":"M21-GAP-02687"},"M21-GAP-02687":{"line":5942,"offset":1063264,"length":187,"previous":"M21-GAP-02686","next":"M21-GAP-02688"},"M21-GAP-02688":{"line":5943,"offset":1063451,"length":187,"previous":"M21-GAP-02687","next":"M21-GAP-02689"},"M21-GAP-02689":{"line":5944,"offset":1063638,"length":187,"previous":"M21-GAP-02688","next":"M21-GAP-02690"},"M21-GAP-02690":{"line":5945,"offset":1063825,"length":186,"previous":"M21-GAP-02689","next":"M21-GAP-02691"},"M21-GAP-02691":{"line":5946,"offset":1064011,"length":187,"previous":"M21-GAP-02690","next":"M21-GAP-02692"},"M21-GAP-02692":{"line":5947,"offset":1064198,"length":187,"previous":"M21-GAP-02691","next":"M21-GAP-02693"},"M21-GAP-02693":{"line":5948,"offset":1064385,"length":187,"previous":"M21-GAP-02692","next":"M21-GAP-02694"},"M21-GAP-02694":{"line":5949,"offset":1064572,"length":187,"previous":"M21-GAP-02693","next":"M21-GAP-02695"},"M21-GAP-02695":{"line":5950,"offset":1064759,"length":187,"previous":"M21-GAP-02694","next":"M21-GAP-02696"},"M21-GAP-02696":{"line":5951,"offset":1064946,"length":187,"previous":"M21-GAP-02695","next":"M21-GAP-02697"},"M21-GAP-02697":{"line":5952,"offset":1065133,"length":187,"previous":"M21-GAP-02696","next":"M21-GAP-02698"},"M21-GAP-02698":{"line":5953,"offset":1065320,"length":187,"previous":"M21-GAP-02697","next":"M21-GAP-02699"},"M21-GAP-02699":{"line":5954,"offset":1065507,"length":187,"previous":"M21-GAP-02698","next":"M21-GAP-02700"},"M21-GAP-02700":{"line":5955,"offset":1065694,"length":187,"previous":"M21-GAP-02699","next":"M21-GAP-02701"},"M21-GAP-02701":{"line":5956,"offset":1065881,"length":186,"previous":"M21-GAP-02700","next":"M21-GAP-02702"},"M21-GAP-02702":{"line":5957,"offset":1066067,"length":187,"previous":"M21-GAP-02701","next":"M21-GAP-02703"},"M21-GAP-02703":{"line":5958,"offset":1066254,"length":187,"previous":"M21-GAP-02702","next":"M21-GAP-02704"},"M21-GAP-02704":{"line":5959,"offset":1066441,"length":187,"previous":"M21-GAP-02703","next":"M21-GAP-02705"},"M21-GAP-02705":{"line":5960,"offset":1066628,"length":187,"previous":"M21-GAP-02704","next":"M21-GAP-02706"},"M21-GAP-02706":{"line":5961,"offset":1066815,"length":187,"previous":"M21-GAP-02705","next":"M21-GAP-02707"},"M21-GAP-02707":{"line":5962,"offset":1067002,"length":187,"previous":"M21-GAP-02706","next":"M21-GAP-02708"},"M21-GAP-02708":{"line":5963,"offset":1067189,"length":187,"previous":"M21-GAP-02707","next":"M21-GAP-02709"},"M21-GAP-02709":{"line":5964,"offset":1067376,"length":187,"previous":"M21-GAP-02708","next":"M21-GAP-02710"},"M21-GAP-02710":{"line":5965,"offset":1067563,"length":187,"previous":"M21-GAP-02709","next":"M21-GAP-02711"},"M21-GAP-02711":{"line":5966,"offset":1067750,"length":187,"previous":"M21-GAP-02710","next":"M21-GAP-02712"},"M21-GAP-02712":{"line":5967,"offset":1067937,"length":186,"previous":"M21-GAP-02711","next":"M21-GAP-02713"},"M21-GAP-02713":{"line":5968,"offset":1068123,"length":187,"previous":"M21-GAP-02712","next":"M21-GAP-02714"},"M21-GAP-02714":{"line":5969,"offset":1068310,"length":187,"previous":"M21-GAP-02713","next":"M21-GAP-02715"},"M21-GAP-02715":{"line":5970,"offset":1068497,"length":187,"previous":"M21-GAP-02714","next":"M21-GAP-02716"},"M21-GAP-02716":{"line":5971,"offset":1068684,"length":187,"previous":"M21-GAP-02715","next":"M21-GAP-02717"},"M21-GAP-02717":{"line":5972,"offset":1068871,"length":187,"previous":"M21-GAP-02716","next":"M21-GAP-02718"},"M21-GAP-02718":{"line":5973,"offset":1069058,"length":187,"previous":"M21-GAP-02717","next":"M21-GAP-02719"},"M21-GAP-02719":{"line":5974,"offset":1069245,"length":187,"previous":"M21-GAP-02718","next":"M21-GAP-02720"},"M21-GAP-02720":{"line":5975,"offset":1069432,"length":187,"previous":"M21-GAP-02719","next":"M21-GAP-02721"},"M21-GAP-02721":{"line":5976,"offset":1069619,"length":187,"previous":"M21-GAP-02720","next":"M21-GAP-02722"},"M21-GAP-02722":{"line":5977,"offset":1069806,"length":187,"previous":"M21-GAP-02721","next":"M21-GAP-02723"},"M21-GAP-02723":{"line":5978,"offset":1069993,"length":186,"previous":"M21-GAP-02722","next":"M21-GAP-02724"},"M21-GAP-02724":{"line":5979,"offset":1070179,"length":187,"previous":"M21-GAP-02723","next":"M21-GAP-02725"},"M21-GAP-02725":{"line":5980,"offset":1070366,"length":187,"previous":"M21-GAP-02724","next":"M21-GAP-02726"},"M21-GAP-02726":{"line":5981,"offset":1070553,"length":187,"previous":"M21-GAP-02725","next":"M21-GAP-02727"},"M21-GAP-02727":{"line":5982,"offset":1070740,"length":187,"previous":"M21-GAP-02726","next":"M21-GAP-02728"},"M21-GAP-02728":{"line":5983,"offset":1070927,"length":187,"previous":"M21-GAP-02727","next":"M21-GAP-02729"},"M21-GAP-02729":{"line":5984,"offset":1071114,"length":177,"previous":"M21-GAP-02728","next":"M21-GAP-02730"},"M21-GAP-02730":{"line":5985,"offset":1071291,"length":177,"previous":"M21-GAP-02729","next":"M21-GAP-02731"},"M21-GAP-02731":{"line":5986,"offset":1071468,"length":178,"previous":"M21-GAP-02730","next":"M21-GAP-02732"},"M21-GAP-02732":{"line":5987,"offset":1071646,"length":178,"previous":"M21-GAP-02731","next":"M21-GAP-02733"},"M21-GAP-02733":{"line":5988,"offset":1071824,"length":177,"previous":"M21-GAP-02732","next":"M21-GAP-02734"},"M21-GAP-02734":{"line":5989,"offset":1072001,"length":177,"previous":"M21-GAP-02733","next":"M21-GAP-02735"},"M21-GAP-02735":{"line":5990,"offset":1072178,"length":177,"previous":"M21-GAP-02734","next":"M21-GAP-02736"},"M21-GAP-02736":{"line":5991,"offset":1072355,"length":177,"previous":"M21-GAP-02735","next":"M21-GAP-02737"},"M21-GAP-02737":{"line":5992,"offset":1072532,"length":177,"previous":"M21-GAP-02736","next":"M21-GAP-02738"},"M21-GAP-02738":{"line":5993,"offset":1072709,"length":177,"previous":"M21-GAP-02737","next":"M21-GAP-02739"},"M21-GAP-02739":{"line":5994,"offset":1072886,"length":177,"previous":"M21-GAP-02738","next":"M21-GAP-02740"},"M21-GAP-02740":{"line":5995,"offset":1073063,"length":177,"previous":"M21-GAP-02739","next":"M21-GAP-02741"},"M21-GAP-02741":{"line":5996,"offset":1073240,"length":192,"previous":"M21-GAP-02740","next":"M21-GAP-02742"},"M21-GAP-02742":{"line":5997,"offset":1073432,"length":192,"previous":"M21-GAP-02741","next":"M21-GAP-02743"},"M21-GAP-02743":{"line":5998,"offset":1073624,"length":192,"previous":"M21-GAP-02742","next":"M21-GAP-02744"},"M21-GAP-02744":{"line":5999,"offset":1073816,"length":192,"previous":"M21-GAP-02743","next":"M21-GAP-02745"},"M21-GAP-02745":{"line":6000,"offset":1074008,"length":192,"previous":"M21-GAP-02744","next":"M21-GAP-02746"},"M21-GAP-02746":{"line":6001,"offset":1074200,"length":185,"previous":"M21-GAP-02745","next":"M21-GAP-02747"},"M21-GAP-02747":{"line":6002,"offset":1074385,"length":185,"previous":"M21-GAP-02746","next":"M21-GAP-02748"},"M21-GAP-02748":{"line":6003,"offset":1074570,"length":185,"previous":"M21-GAP-02747","next":"M21-GAP-02749"},"M21-GAP-02749":{"line":6004,"offset":1074755,"length":185,"previous":"M21-GAP-02748","next":"M21-GAP-02750"},"M21-GAP-02750":{"line":6005,"offset":1074940,"length":185,"previous":"M21-GAP-02749","next":"M21-GAP-02751"},"M21-GAP-02751":{"line":6006,"offset":1075125,"length":185,"previous":"M21-GAP-02750","next":"M21-GAP-02752"},"M21-GAP-02752":{"line":6007,"offset":1075310,"length":185,"previous":"M21-GAP-02751","next":"M21-GAP-02753"},"M21-GAP-02753":{"line":6008,"offset":1075495,"length":185,"previous":"M21-GAP-02752","next":"M21-GAP-02754"},"M21-GAP-02754":{"line":6009,"offset":1075680,"length":185,"previous":"M21-GAP-02753","next":"M21-GAP-02755"},"M21-GAP-02755":{"line":6010,"offset":1075865,"length":185,"previous":"M21-GAP-02754","next":"M21-GAP-02756"},"M21-GAP-02756":{"line":6011,"offset":1076050,"length":185,"previous":"M21-GAP-02755","next":"M21-GAP-02757"},"M21-GAP-02757":{"line":6012,"offset":1076235,"length":185,"previous":"M21-GAP-02756","next":"M21-GAP-02758"},"M21-GAP-02758":{"line":6013,"offset":1076420,"length":185,"previous":"M21-GAP-02757","next":"M21-GAP-02759"},"M21-GAP-02759":{"line":6014,"offset":1076605,"length":177,"previous":"M21-GAP-02758","next":"M21-GAP-02760"},"M21-GAP-02760":{"line":6015,"offset":1076782,"length":177,"previous":"M21-GAP-02759","next":"M21-GAP-02761"},"M21-GAP-02761":{"line":6016,"offset":1076959,"length":178,"previous":"M21-GAP-02760","next":"M21-GAP-02762"},"M21-GAP-02762":{"line":6017,"offset":1077137,"length":178,"previous":"M21-GAP-02761","next":"M21-GAP-02763"},"M21-GAP-02763":{"line":6018,"offset":1077315,"length":178,"previous":"M21-GAP-02762","next":"M21-GAP-02764"},"M21-GAP-02764":{"line":6019,"offset":1077493,"length":178,"previous":"M21-GAP-02763","next":"M21-GAP-02765"},"M21-GAP-02765":{"line":6020,"offset":1077671,"length":178,"previous":"M21-GAP-02764","next":"M21-GAP-02766"},"M21-GAP-02766":{"line":6021,"offset":1077849,"length":178,"previous":"M21-GAP-02765","next":"M21-GAP-02767"},"M21-GAP-02767":{"line":6022,"offset":1078027,"length":178,"previous":"M21-GAP-02766","next":"M21-GAP-02768"},"M21-GAP-02768":{"line":6023,"offset":1078205,"length":178,"previous":"M21-GAP-02767","next":"M21-GAP-02769"},"M21-GAP-02769":{"line":6024,"offset":1078383,"length":178,"previous":"M21-GAP-02768","next":"M21-GAP-02770"},"M21-GAP-02770":{"line":6025,"offset":1078561,"length":178,"previous":"M21-GAP-02769","next":"M21-GAP-02771"},"M21-GAP-02771":{"line":6026,"offset":1078739,"length":177,"previous":"M21-GAP-02770","next":"M21-GAP-02772"},"M21-GAP-02772":{"line":6027,"offset":1078916,"length":178,"previous":"M21-GAP-02771","next":"M21-GAP-02773"},"M21-GAP-02773":{"line":6028,"offset":1079094,"length":178,"previous":"M21-GAP-02772","next":"M21-GAP-02774"},"M21-GAP-02774":{"line":6029,"offset":1079272,"length":178,"previous":"M21-GAP-02773","next":"M21-GAP-02775"},"M21-GAP-02775":{"line":6030,"offset":1079450,"length":178,"previous":"M21-GAP-02774","next":"M21-GAP-02776"},"M21-GAP-02776":{"line":6031,"offset":1079628,"length":178,"previous":"M21-GAP-02775","next":"M21-GAP-02777"},"M21-GAP-02777":{"line":6032,"offset":1079806,"length":178,"previous":"M21-GAP-02776","next":"M21-GAP-02778"},"M21-GAP-02778":{"line":6033,"offset":1079984,"length":178,"previous":"M21-GAP-02777","next":"M21-GAP-02779"},"M21-GAP-02779":{"line":6034,"offset":1080162,"length":178,"previous":"M21-GAP-02778","next":"M21-GAP-02780"},"M21-GAP-02780":{"line":6035,"offset":1080340,"length":178,"previous":"M21-GAP-02779","next":"M21-GAP-02781"},"M21-GAP-02781":{"line":6036,"offset":1080518,"length":178,"previous":"M21-GAP-02780","next":"M21-GAP-02782"},"M21-GAP-02782":{"line":6037,"offset":1080696,"length":177,"previous":"M21-GAP-02781","next":"M21-GAP-02783"},"M21-GAP-02783":{"line":6038,"offset":1080873,"length":178,"previous":"M21-GAP-02782","next":"M21-GAP-02784"},"M21-GAP-02784":{"line":6039,"offset":1081051,"length":178,"previous":"M21-GAP-02783","next":"M21-GAP-02785"},"M21-GAP-02785":{"line":6040,"offset":1081229,"length":178,"previous":"M21-GAP-02784","next":"M21-GAP-02786"},"M21-GAP-02786":{"line":6041,"offset":1081407,"length":178,"previous":"M21-GAP-02785","next":"M21-GAP-02787"},"M21-GAP-02787":{"line":6042,"offset":1081585,"length":178,"previous":"M21-GAP-02786","next":"M21-GAP-02788"},"M21-GAP-02788":{"line":6043,"offset":1081763,"length":178,"previous":"M21-GAP-02787","next":"M21-GAP-02789"},"M21-GAP-02789":{"line":6044,"offset":1081941,"length":178,"previous":"M21-GAP-02788","next":"M21-GAP-02790"},"M21-GAP-02790":{"line":6045,"offset":1082119,"length":178,"previous":"M21-GAP-02789","next":"M21-GAP-02791"},"M21-GAP-02791":{"line":6046,"offset":1082297,"length":178,"previous":"M21-GAP-02790","next":"M21-GAP-02792"},"M21-GAP-02792":{"line":6047,"offset":1082475,"length":178,"previous":"M21-GAP-02791","next":"M21-GAP-02793"},"M21-GAP-02793":{"line":6048,"offset":1082653,"length":177,"previous":"M21-GAP-02792","next":"M21-GAP-02794"},"M21-GAP-02794":{"line":6049,"offset":1082830,"length":178,"previous":"M21-GAP-02793","next":"M21-GAP-02795"},"M21-GAP-02795":{"line":6050,"offset":1083008,"length":178,"previous":"M21-GAP-02794","next":"M21-GAP-02796"},"M21-GAP-02796":{"line":6051,"offset":1083186,"length":178,"previous":"M21-GAP-02795","next":"M21-GAP-02797"},"M21-GAP-02797":{"line":6052,"offset":1083364,"length":178,"previous":"M21-GAP-02796","next":"M21-GAP-02798"},"M21-GAP-02798":{"line":6053,"offset":1083542,"length":178,"previous":"M21-GAP-02797","next":"M21-GAP-02799"},"M21-GAP-02799":{"line":6054,"offset":1083720,"length":178,"previous":"M21-GAP-02798","next":"M21-GAP-02800"},"M21-GAP-02800":{"line":6055,"offset":1083898,"length":178,"previous":"M21-GAP-02799","next":"M21-GAP-02801"},"M21-GAP-02801":{"line":6056,"offset":1084076,"length":178,"previous":"M21-GAP-02800","next":"M21-GAP-02802"},"M21-GAP-02802":{"line":6057,"offset":1084254,"length":178,"previous":"M21-GAP-02801","next":"M21-GAP-02803"},"M21-GAP-02803":{"line":6058,"offset":1084432,"length":178,"previous":"M21-GAP-02802","next":"M21-GAP-02804"},"M21-GAP-02804":{"line":6059,"offset":1084610,"length":177,"previous":"M21-GAP-02803","next":"M21-GAP-02805"},"M21-GAP-02805":{"line":6060,"offset":1084787,"length":178,"previous":"M21-GAP-02804","next":"M21-GAP-02806"},"M21-GAP-02806":{"line":6061,"offset":1084965,"length":178,"previous":"M21-GAP-02805","next":"M21-GAP-02807"},"M21-GAP-02807":{"line":6062,"offset":1085143,"length":178,"previous":"M21-GAP-02806","next":"M21-GAP-02808"},"M21-GAP-02808":{"line":6063,"offset":1085321,"length":178,"previous":"M21-GAP-02807","next":"M21-GAP-02809"},"M21-GAP-02809":{"line":6064,"offset":1085499,"length":178,"previous":"M21-GAP-02808","next":"M21-GAP-02810"},"M21-GAP-02810":{"line":6065,"offset":1085677,"length":178,"previous":"M21-GAP-02809","next":"M21-GAP-02811"},"M21-GAP-02811":{"line":6066,"offset":1085855,"length":178,"previous":"M21-GAP-02810","next":"M21-GAP-02812"},"M21-GAP-02812":{"line":6067,"offset":1086033,"length":178,"previous":"M21-GAP-02811","next":"M21-GAP-02813"},"M21-GAP-02813":{"line":6068,"offset":1086211,"length":178,"previous":"M21-GAP-02812","next":"M21-GAP-02814"},"M21-GAP-02814":{"line":6069,"offset":1086389,"length":178,"previous":"M21-GAP-02813","next":"M21-GAP-02815"},"M21-GAP-02815":{"line":6070,"offset":1086567,"length":177,"previous":"M21-GAP-02814","next":"M21-GAP-02816"},"M21-GAP-02816":{"line":6071,"offset":1086744,"length":178,"previous":"M21-GAP-02815","next":"M21-GAP-02817"},"M21-GAP-02817":{"line":6072,"offset":1086922,"length":178,"previous":"M21-GAP-02816","next":"M21-GAP-02818"},"M21-GAP-02818":{"line":6073,"offset":1087100,"length":178,"previous":"M21-GAP-02817","next":"M21-GAP-02819"},"M21-GAP-02819":{"line":6074,"offset":1087278,"length":178,"previous":"M21-GAP-02818","next":"M21-GAP-02820"},"M21-GAP-02820":{"line":6075,"offset":1087456,"length":178,"previous":"M21-GAP-02819","next":"M21-GAP-02821"},"M21-GAP-02821":{"line":6076,"offset":1087634,"length":178,"previous":"M21-GAP-02820","next":"M21-GAP-02822"},"M21-GAP-02822":{"line":6077,"offset":1087812,"length":178,"previous":"M21-GAP-02821","next":"M21-GAP-02823"},"M21-GAP-02823":{"line":6078,"offset":1087990,"length":178,"previous":"M21-GAP-02822","next":"M21-GAP-02824"},"M21-GAP-02824":{"line":6079,"offset":1088168,"length":178,"previous":"M21-GAP-02823","next":"M21-GAP-02825"},"M21-GAP-02825":{"line":6080,"offset":1088346,"length":178,"previous":"M21-GAP-02824","next":"M21-GAP-02826"},"M21-GAP-02826":{"line":6081,"offset":1088524,"length":177,"previous":"M21-GAP-02825","next":"M21-GAP-02827"},"M21-GAP-02827":{"line":6082,"offset":1088701,"length":178,"previous":"M21-GAP-02826","next":"M21-GAP-02828"},"M21-GAP-02828":{"line":6083,"offset":1088879,"length":177,"previous":"M21-GAP-02827","next":"M21-GAP-02829"},"M21-GAP-02829":{"line":6084,"offset":1089056,"length":177,"previous":"M21-GAP-02828","next":"M21-GAP-02830"},"M21-GAP-02830":{"line":6085,"offset":1089233,"length":177,"previous":"M21-GAP-02829","next":"M21-GAP-02831"},"M21-GAP-02831":{"line":6086,"offset":1089410,"length":183,"previous":"M21-GAP-02830","next":"M21-GAP-02832"},"M21-GAP-02832":{"line":6087,"offset":1089593,"length":183,"previous":"M21-GAP-02831","next":"M21-GAP-02833"},"M21-GAP-02833":{"line":6088,"offset":1089776,"length":183,"previous":"M21-GAP-02832","next":"M21-GAP-02834"},"M21-GAP-02834":{"line":6089,"offset":1089959,"length":183,"previous":"M21-GAP-02833","next":"M21-GAP-02835"},"M21-GAP-02835":{"line":6090,"offset":1090142,"length":183,"previous":"M21-GAP-02834","next":"M21-GAP-02836"},"M21-GAP-02836":{"line":6091,"offset":1090325,"length":198,"previous":"M21-GAP-02835","next":"M21-GAP-02837"},"M21-GAP-02837":{"line":6092,"offset":1090523,"length":198,"previous":"M21-GAP-02836","next":"M21-GAP-02838"},"M21-GAP-02838":{"line":6093,"offset":1090721,"length":198,"previous":"M21-GAP-02837","next":"M21-GAP-02839"},"M21-GAP-02839":{"line":6094,"offset":1090919,"length":198,"previous":"M21-GAP-02838","next":"M21-GAP-02840"},"M21-GAP-02840":{"line":6095,"offset":1091117,"length":198,"previous":"M21-GAP-02839","next":"M21-GAP-02841"},"M21-GAP-02841":{"line":6096,"offset":1091315,"length":198,"previous":"M21-GAP-02840","next":"M21-GAP-02842"},"M21-GAP-02842":{"line":6097,"offset":1091513,"length":198,"previous":"M21-GAP-02841","next":"M21-GAP-02843"},"M21-GAP-02843":{"line":6098,"offset":1091711,"length":198,"previous":"M21-GAP-02842","next":"M21-GAP-02844"},"M21-GAP-02844":{"line":6099,"offset":1091909,"length":198,"previous":"M21-GAP-02843","next":"M21-GAP-02845"},"M21-GAP-02845":{"line":6100,"offset":1092107,"length":186,"previous":"M21-GAP-02844","next":"M21-GAP-02846"},"M21-GAP-02846":{"line":6101,"offset":1092293,"length":186,"previous":"M21-GAP-02845","next":"M21-GAP-02847"},"M21-GAP-02847":{"line":6102,"offset":1092479,"length":187,"previous":"M21-GAP-02846","next":"M21-GAP-02848"},"M21-GAP-02848":{"line":6103,"offset":1092666,"length":187,"previous":"M21-GAP-02847","next":"M21-GAP-02849"},"M21-GAP-02849":{"line":6104,"offset":1092853,"length":187,"previous":"M21-GAP-02848","next":"M21-GAP-02850"},"M21-GAP-02850":{"line":6105,"offset":1093040,"length":187,"previous":"M21-GAP-02849","next":"M21-GAP-02851"},"M21-GAP-02851":{"line":6106,"offset":1093227,"length":187,"previous":"M21-GAP-02850","next":"M21-GAP-02852"},"M21-GAP-02852":{"line":6107,"offset":1093414,"length":187,"previous":"M21-GAP-02851","next":"M21-GAP-02853"},"M21-GAP-02853":{"line":6108,"offset":1093601,"length":187,"previous":"M21-GAP-02852","next":"M21-GAP-02854"},"M21-GAP-02854":{"line":6109,"offset":1093788,"length":187,"previous":"M21-GAP-02853","next":"M21-GAP-02855"},"M21-GAP-02855":{"line":6110,"offset":1093975,"length":187,"previous":"M21-GAP-02854","next":"M21-GAP-02856"},"M21-GAP-02856":{"line":6111,"offset":1094162,"length":187,"previous":"M21-GAP-02855","next":"M21-GAP-02857"},"M21-GAP-02857":{"line":6112,"offset":1094349,"length":186,"previous":"M21-GAP-02856","next":"M21-GAP-02858"},"M21-GAP-02858":{"line":6113,"offset":1094535,"length":187,"previous":"M21-GAP-02857","next":"M21-GAP-02859"},"M21-GAP-02859":{"line":6114,"offset":1094722,"length":187,"previous":"M21-GAP-02858","next":"M21-GAP-02860"},"M21-GAP-02860":{"line":6115,"offset":1094909,"length":187,"previous":"M21-GAP-02859","next":"M21-GAP-02861"},"M21-GAP-02861":{"line":6116,"offset":1095096,"length":187,"previous":"M21-GAP-02860","next":"M21-GAP-02862"},"M21-GAP-02862":{"line":6117,"offset":1095283,"length":187,"previous":"M21-GAP-02861","next":"M21-GAP-02863"},"M21-GAP-02863":{"line":6118,"offset":1095470,"length":187,"previous":"M21-GAP-02862","next":"M21-GAP-02864"},"M21-GAP-02864":{"line":6119,"offset":1095657,"length":187,"previous":"M21-GAP-02863","next":"M21-GAP-02865"},"M21-GAP-02865":{"line":6120,"offset":1095844,"length":187,"previous":"M21-GAP-02864","next":"M21-GAP-02866"},"M21-GAP-02866":{"line":6121,"offset":1096031,"length":187,"previous":"M21-GAP-02865","next":"M21-GAP-02867"},"M21-GAP-02867":{"line":6122,"offset":1096218,"length":187,"previous":"M21-GAP-02866","next":"M21-GAP-02868"},"M21-GAP-02868":{"line":6123,"offset":1096405,"length":186,"previous":"M21-GAP-02867","next":"M21-GAP-02869"},"M21-GAP-02869":{"line":6124,"offset":1096591,"length":187,"previous":"M21-GAP-02868","next":"M21-GAP-02870"},"M21-GAP-02870":{"line":6125,"offset":1096778,"length":187,"previous":"M21-GAP-02869","next":"M21-GAP-02871"},"M21-GAP-02871":{"line":6126,"offset":1096965,"length":187,"previous":"M21-GAP-02870","next":"M21-GAP-02872"},"M21-GAP-02872":{"line":6127,"offset":1097152,"length":187,"previous":"M21-GAP-02871","next":"M21-GAP-02873"},"M21-GAP-02873":{"line":6128,"offset":1097339,"length":187,"previous":"M21-GAP-02872","next":"M21-GAP-02874"},"M21-GAP-02874":{"line":6129,"offset":1097526,"length":187,"previous":"M21-GAP-02873","next":"M21-GAP-02875"},"M21-GAP-02875":{"line":6130,"offset":1097713,"length":187,"previous":"M21-GAP-02874","next":"M21-GAP-02876"},"M21-GAP-02876":{"line":6131,"offset":1097900,"length":187,"previous":"M21-GAP-02875","next":"M21-GAP-02877"},"M21-GAP-02877":{"line":6132,"offset":1098087,"length":187,"previous":"M21-GAP-02876","next":"M21-GAP-02878"},"M21-GAP-02878":{"line":6133,"offset":1098274,"length":187,"previous":"M21-GAP-02877","next":"M21-GAP-02879"},"M21-GAP-02879":{"line":6134,"offset":1098461,"length":186,"previous":"M21-GAP-02878","next":"M21-GAP-02880"},"M21-GAP-02880":{"line":6135,"offset":1098647,"length":187,"previous":"M21-GAP-02879","next":"M21-GAP-02881"},"M21-GAP-02881":{"line":6136,"offset":1098834,"length":187,"previous":"M21-GAP-02880","next":"M21-GAP-02882"},"M21-GAP-02882":{"line":6137,"offset":1099021,"length":187,"previous":"M21-GAP-02881","next":"M21-GAP-02883"},"M21-GAP-02883":{"line":6138,"offset":1099208,"length":187,"previous":"M21-GAP-02882","next":"M21-GAP-02884"},"M21-GAP-02884":{"line":6139,"offset":1099395,"length":187,"previous":"M21-GAP-02883","next":"M21-GAP-02885"},"M21-GAP-02885":{"line":6140,"offset":1099582,"length":187,"previous":"M21-GAP-02884","next":"M21-GAP-02886"},"M21-GAP-02886":{"line":6141,"offset":1099769,"length":187,"previous":"M21-GAP-02885","next":"M21-GAP-02887"},"M21-GAP-02887":{"line":6142,"offset":1099956,"length":187,"previous":"M21-GAP-02886","next":"M21-GAP-02888"},"M21-GAP-02888":{"line":6143,"offset":1100143,"length":187,"previous":"M21-GAP-02887","next":"M21-GAP-02889"},"M21-GAP-02889":{"line":6144,"offset":1100330,"length":187,"previous":"M21-GAP-02888","next":"M21-GAP-02890"},"M21-GAP-02890":{"line":6145,"offset":1100517,"length":186,"previous":"M21-GAP-02889","next":"M21-GAP-02891"},"M21-GAP-02891":{"line":6146,"offset":1100703,"length":187,"previous":"M21-GAP-02890","next":"M21-GAP-02892"},"M21-GAP-02892":{"line":6147,"offset":1100890,"length":187,"previous":"M21-GAP-02891","next":"M21-GAP-02893"},"M21-GAP-02893":{"line":6148,"offset":1101077,"length":187,"previous":"M21-GAP-02892","next":"M21-GAP-02894"},"M21-GAP-02894":{"line":6149,"offset":1101264,"length":187,"previous":"M21-GAP-02893","next":"M21-GAP-02895"},"M21-GAP-02895":{"line":6150,"offset":1101451,"length":187,"previous":"M21-GAP-02894","next":"M21-GAP-02896"},"M21-GAP-02896":{"line":6151,"offset":1101638,"length":187,"previous":"M21-GAP-02895","next":"M21-GAP-02897"},"M21-GAP-02897":{"line":6152,"offset":1101825,"length":186,"previous":"M21-GAP-02896","next":"M21-GAP-02898"},"M21-GAP-02898":{"line":6153,"offset":1102011,"length":186,"previous":"M21-GAP-02897","next":"M21-GAP-02899"},"M21-GAP-02899":{"line":6154,"offset":1102197,"length":186,"previous":"M21-GAP-02898","next":"M21-GAP-02900"},"M21-GAP-02900":{"line":6155,"offset":1102383,"length":186,"previous":"M21-GAP-02899","next":"M21-GAP-02901"},"M21-GAP-02901":{"line":6156,"offset":1102569,"length":176,"previous":"M21-GAP-02900","next":"M21-GAP-02902"},"M21-GAP-02902":{"line":6157,"offset":1102745,"length":176,"previous":"M21-GAP-02901","next":"M21-GAP-02903"},"M21-GAP-02903":{"line":6158,"offset":1102921,"length":177,"previous":"M21-GAP-02902","next":"M21-GAP-02904"},"M21-GAP-02904":{"line":6159,"offset":1103098,"length":177,"previous":"M21-GAP-02903","next":"M21-GAP-02905"},"M21-GAP-02905":{"line":6160,"offset":1103275,"length":177,"previous":"M21-GAP-02904","next":"M21-GAP-02906"},"M21-GAP-02906":{"line":6161,"offset":1103452,"length":177,"previous":"M21-GAP-02905","next":"M21-GAP-02907"},"M21-GAP-02907":{"line":6162,"offset":1103629,"length":177,"previous":"M21-GAP-02906","next":"M21-GAP-02908"},"M21-GAP-02908":{"line":6163,"offset":1103806,"length":177,"previous":"M21-GAP-02907","next":"M21-GAP-02909"},"M21-GAP-02909":{"line":6164,"offset":1103983,"length":177,"previous":"M21-GAP-02908","next":"M21-GAP-02910"},"M21-GAP-02910":{"line":6165,"offset":1104160,"length":177,"previous":"M21-GAP-02909","next":"M21-GAP-02911"},"M21-GAP-02911":{"line":6166,"offset":1104337,"length":177,"previous":"M21-GAP-02910","next":"M21-GAP-02912"},"M21-GAP-02912":{"line":6167,"offset":1104514,"length":177,"previous":"M21-GAP-02911","next":"M21-GAP-02913"},"M21-GAP-02913":{"line":6168,"offset":1104691,"length":176,"previous":"M21-GAP-02912","next":"M21-GAP-02914"},"M21-GAP-02914":{"line":6169,"offset":1104867,"length":177,"previous":"M21-GAP-02913","next":"M21-GAP-02915"},"M21-GAP-02915":{"line":6170,"offset":1105044,"length":177,"previous":"M21-GAP-02914","next":"M21-GAP-02916"},"M21-GAP-02916":{"line":6171,"offset":1105221,"length":177,"previous":"M21-GAP-02915","next":"M21-GAP-02917"},"M21-GAP-02917":{"line":6172,"offset":1105398,"length":177,"previous":"M21-GAP-02916","next":"M21-GAP-02918"},"M21-GAP-02918":{"line":6173,"offset":1105575,"length":177,"previous":"M21-GAP-02917","next":"M21-GAP-02919"},"M21-GAP-02919":{"line":6174,"offset":1105752,"length":177,"previous":"M21-GAP-02918","next":"M21-GAP-02920"},"M21-GAP-02920":{"line":6175,"offset":1105929,"length":177,"previous":"M21-GAP-02919","next":"M21-GAP-02921"},"M21-GAP-02921":{"line":6176,"offset":1106106,"length":177,"previous":"M21-GAP-02920","next":"M21-GAP-02922"},"M21-GAP-02922":{"line":6177,"offset":1106283,"length":177,"previous":"M21-GAP-02921","next":"M21-GAP-02923"},"M21-GAP-02923":{"line":6178,"offset":1106460,"length":177,"previous":"M21-GAP-02922","next":"M21-GAP-02924"},"M21-GAP-02924":{"line":6179,"offset":1106637,"length":176,"previous":"M21-GAP-02923","next":"M21-GAP-02925"},"M21-GAP-02925":{"line":6180,"offset":1106813,"length":177,"previous":"M21-GAP-02924","next":"M21-GAP-02926"},"M21-GAP-02926":{"line":6181,"offset":1106990,"length":177,"previous":"M21-GAP-02925","next":"M21-GAP-02927"},"M21-GAP-02927":{"line":6182,"offset":1107167,"length":177,"previous":"M21-GAP-02926","next":"M21-GAP-02928"},"M21-GAP-02928":{"line":6183,"offset":1107344,"length":177,"previous":"M21-GAP-02927","next":"M21-GAP-02929"},"M21-GAP-02929":{"line":6184,"offset":1107521,"length":177,"previous":"M21-GAP-02928","next":"M21-GAP-02930"},"M21-GAP-02930":{"line":6185,"offset":1107698,"length":177,"previous":"M21-GAP-02929","next":"M21-GAP-02931"},"M21-GAP-02931":{"line":6186,"offset":1107875,"length":177,"previous":"M21-GAP-02930","next":"M21-GAP-02932"},"M21-GAP-02932":{"line":6187,"offset":1108052,"length":177,"previous":"M21-GAP-02931","next":"M21-GAP-02933"},"M21-GAP-02933":{"line":6188,"offset":1108229,"length":177,"previous":"M21-GAP-02932","next":"M21-GAP-02934"},"M21-GAP-02934":{"line":6189,"offset":1108406,"length":177,"previous":"M21-GAP-02933","next":"M21-GAP-02935"},"M21-GAP-02935":{"line":6190,"offset":1108583,"length":176,"previous":"M21-GAP-02934","next":"M21-GAP-02936"},"M21-GAP-02936":{"line":6191,"offset":1108759,"length":177,"previous":"M21-GAP-02935","next":"M21-GAP-02937"},"M21-GAP-02937":{"line":6192,"offset":1108936,"length":177,"previous":"M21-GAP-02936","next":"M21-GAP-02938"},"M21-GAP-02938":{"line":6193,"offset":1109113,"length":177,"previous":"M21-GAP-02937","next":"M21-GAP-02939"},"M21-GAP-02939":{"line":6194,"offset":1109290,"length":177,"previous":"M21-GAP-02938","next":"M21-GAP-02940"},"M21-GAP-02940":{"line":6195,"offset":1109467,"length":177,"previous":"M21-GAP-02939","next":"M21-GAP-02941"},"M21-GAP-02941":{"line":6196,"offset":1109644,"length":177,"previous":"M21-GAP-02940","next":"M21-GAP-02942"},"M21-GAP-02942":{"line":6197,"offset":1109821,"length":177,"previous":"M21-GAP-02941","next":"M21-GAP-02943"},"M21-GAP-02943":{"line":6198,"offset":1109998,"length":177,"previous":"M21-GAP-02942","next":"M21-GAP-02944"},"M21-GAP-02944":{"line":6199,"offset":1110175,"length":177,"previous":"M21-GAP-02943","next":"M21-GAP-02945"},"M21-GAP-02945":{"line":6200,"offset":1110352,"length":177,"previous":"M21-GAP-02944","next":"M21-GAP-02946"},"M21-GAP-02946":{"line":6201,"offset":1110529,"length":176,"previous":"M21-GAP-02945","next":"M21-GAP-02947"},"M21-GAP-02947":{"line":6202,"offset":1110705,"length":177,"previous":"M21-GAP-02946","next":"M21-GAP-02948"},"M21-GAP-02948":{"line":6203,"offset":1110882,"length":177,"previous":"M21-GAP-02947","next":"M21-GAP-02949"},"M21-GAP-02949":{"line":6204,"offset":1111059,"length":177,"previous":"M21-GAP-02948","next":"M21-GAP-02950"},"M21-GAP-02950":{"line":6205,"offset":1111236,"length":177,"previous":"M21-GAP-02949","next":"M21-GAP-02951"},"M21-GAP-02951":{"line":6206,"offset":1111413,"length":177,"previous":"M21-GAP-02950","next":"M21-GAP-02952"},"M21-GAP-02952":{"line":6207,"offset":1111590,"length":177,"previous":"M21-GAP-02951","next":"M21-GAP-02953"},"M21-GAP-02953":{"line":6208,"offset":1111767,"length":177,"previous":"M21-GAP-02952","next":"M21-GAP-02954"},"M21-GAP-02954":{"line":6209,"offset":1111944,"length":177,"previous":"M21-GAP-02953","next":"M21-GAP-02955"},"M21-GAP-02955":{"line":6210,"offset":1112121,"length":177,"previous":"M21-GAP-02954","next":"M21-GAP-02956"},"M21-GAP-02956":{"line":6211,"offset":1112298,"length":177,"previous":"M21-GAP-02955","next":"M21-GAP-02957"},"M21-GAP-02957":{"line":6212,"offset":1112475,"length":176,"previous":"M21-GAP-02956","next":"M21-GAP-02958"},"M21-GAP-02958":{"line":6213,"offset":1112651,"length":177,"previous":"M21-GAP-02957","next":"M21-GAP-02959"},"M21-GAP-02959":{"line":6214,"offset":1112828,"length":177,"previous":"M21-GAP-02958","next":"M21-GAP-02960"},"M21-GAP-02960":{"line":6215,"offset":1113005,"length":177,"previous":"M21-GAP-02959","next":"M21-GAP-02961"},"M21-GAP-02961":{"line":6216,"offset":1113182,"length":177,"previous":"M21-GAP-02960","next":"M21-GAP-02962"},"M21-GAP-02962":{"line":6217,"offset":1113359,"length":177,"previous":"M21-GAP-02961","next":"M21-GAP-02963"},"M21-GAP-02963":{"line":6218,"offset":1113536,"length":177,"previous":"M21-GAP-02962","next":"M21-GAP-02964"},"M21-GAP-02964":{"line":6219,"offset":1113713,"length":177,"previous":"M21-GAP-02963","next":"M21-GAP-02965"},"M21-GAP-02965":{"line":6220,"offset":1113890,"length":177,"previous":"M21-GAP-02964","next":"M21-GAP-02966"},"M21-GAP-02966":{"line":6221,"offset":1114067,"length":177,"previous":"M21-GAP-02965","next":"M21-GAP-02967"},"M21-GAP-02967":{"line":6222,"offset":1114244,"length":177,"previous":"M21-GAP-02966","next":"M21-GAP-02968"},"M21-GAP-02968":{"line":6223,"offset":1114421,"length":176,"previous":"M21-GAP-02967","next":"M21-GAP-02969"},"M21-GAP-02969":{"line":6224,"offset":1114597,"length":177,"previous":"M21-GAP-02968","next":"M21-GAP-02970"},"M21-GAP-02970":{"line":6225,"offset":1114774,"length":177,"previous":"M21-GAP-02969","next":"M21-GAP-02971"},"M21-GAP-02971":{"line":6226,"offset":1114951,"length":177,"previous":"M21-GAP-02970","next":"M21-GAP-02972"},"M21-GAP-02972":{"line":6227,"offset":1115128,"length":177,"previous":"M21-GAP-02971","next":"M21-GAP-02973"},"M21-GAP-02973":{"line":6228,"offset":1115305,"length":177,"previous":"M21-GAP-02972","next":"M21-GAP-02974"},"M21-GAP-02974":{"line":6229,"offset":1115482,"length":177,"previous":"M21-GAP-02973","next":"M21-GAP-02975"},"M21-GAP-02975":{"line":6230,"offset":1115659,"length":177,"previous":"M21-GAP-02974","next":"M21-GAP-02976"},"M21-GAP-02976":{"line":6231,"offset":1115836,"length":177,"previous":"M21-GAP-02975","next":"M21-GAP-02977"},"M21-GAP-02977":{"line":6232,"offset":1116013,"length":177,"previous":"M21-GAP-02976","next":"M21-GAP-02978"},"M21-GAP-02978":{"line":6233,"offset":1116190,"length":177,"previous":"M21-GAP-02977","next":"M21-GAP-02979"},"M21-GAP-02979":{"line":6234,"offset":1116367,"length":176,"previous":"M21-GAP-02978","next":"M21-GAP-02980"},"M21-GAP-02980":{"line":6235,"offset":1116543,"length":177,"previous":"M21-GAP-02979","next":"M21-GAP-02981"},"M21-GAP-02981":{"line":6236,"offset":1116720,"length":177,"previous":"M21-GAP-02980","next":"M21-GAP-02982"},"M21-GAP-02982":{"line":6237,"offset":1116897,"length":177,"previous":"M21-GAP-02981","next":"M21-GAP-02983"},"M21-GAP-02983":{"line":6238,"offset":1117074,"length":177,"previous":"M21-GAP-02982","next":"M21-GAP-02984"},"M21-GAP-02984":{"line":6239,"offset":1117251,"length":177,"previous":"M21-GAP-02983","next":"M21-GAP-02985"},"M21-GAP-02985":{"line":6240,"offset":1117428,"length":177,"previous":"M21-GAP-02984","next":"M21-GAP-02986"},"M21-GAP-02986":{"line":6241,"offset":1117605,"length":177,"previous":"M21-GAP-02985","next":"M21-GAP-02987"},"M21-GAP-02987":{"line":6242,"offset":1117782,"length":177,"previous":"M21-GAP-02986","next":"M21-GAP-02988"},"M21-GAP-02988":{"line":6243,"offset":1117959,"length":176,"previous":"M21-GAP-02987","next":"M21-GAP-02989"},"M21-GAP-02989":{"line":6244,"offset":1118135,"length":181,"previous":"M21-GAP-02988","next":"M21-GAP-02990"},"M21-GAP-02990":{"line":6245,"offset":1118316,"length":181,"previous":"M21-GAP-02989","next":"M21-GAP-02991"},"M21-GAP-02991":{"line":6246,"offset":1118497,"length":182,"previous":"M21-GAP-02990","next":"M21-GAP-02992"},"M21-GAP-02992":{"line":6247,"offset":1118679,"length":182,"previous":"M21-GAP-02991","next":"M21-GAP-02993"},"M21-GAP-02993":{"line":6248,"offset":1118861,"length":182,"previous":"M21-GAP-02992","next":"M21-GAP-02994"},"M21-GAP-02994":{"line":6249,"offset":1119043,"length":182,"previous":"M21-GAP-02993","next":"M21-GAP-02995"},"M21-GAP-02995":{"line":6250,"offset":1119225,"length":182,"previous":"M21-GAP-02994","next":"M21-GAP-02996"},"M21-GAP-02996":{"line":6251,"offset":1119407,"length":182,"previous":"M21-GAP-02995","next":"M21-GAP-02997"},"M21-GAP-02997":{"line":6252,"offset":1119589,"length":182,"previous":"M21-GAP-02996","next":"M21-GAP-02998"},"M21-GAP-02998":{"line":6253,"offset":1119771,"length":182,"previous":"M21-GAP-02997","next":"M21-GAP-02999"},"M21-GAP-02999":{"line":6254,"offset":1119953,"length":182,"previous":"M21-GAP-02998","next":"M21-GAP-03000"},"M21-GAP-03000":{"line":6255,"offset":1120135,"length":182,"previous":"M21-GAP-02999","next":"M21-GAP-03001"},"M21-GAP-03001":{"line":6256,"offset":1120317,"length":181,"previous":"M21-GAP-03000","next":"M21-GAP-03002"},"M21-GAP-03002":{"line":6257,"offset":1120498,"length":182,"previous":"M21-GAP-03001","next":"M21-GAP-03003"},"M21-GAP-03003":{"line":6258,"offset":1120680,"length":182,"previous":"M21-GAP-03002","next":"M21-GAP-03004"},"M21-GAP-03004":{"line":6259,"offset":1120862,"length":182,"previous":"M21-GAP-03003","next":"M21-GAP-03005"},"M21-GAP-03005":{"line":6260,"offset":1121044,"length":182,"previous":"M21-GAP-03004","next":"M21-GAP-03006"},"M21-GAP-03006":{"line":6261,"offset":1121226,"length":182,"previous":"M21-GAP-03005","next":"M21-GAP-03007"},"M21-GAP-03007":{"line":6262,"offset":1121408,"length":182,"previous":"M21-GAP-03006","next":"M21-GAP-03008"},"M21-GAP-03008":{"line":6263,"offset":1121590,"length":182,"previous":"M21-GAP-03007","next":"M21-GAP-03009"},"M21-GAP-03009":{"line":6264,"offset":1121772,"length":182,"previous":"M21-GAP-03008","next":"M21-GAP-03010"},"M21-GAP-03010":{"line":6265,"offset":1121954,"length":182,"previous":"M21-GAP-03009","next":"M21-GAP-03011"},"M21-GAP-03011":{"line":6266,"offset":1122136,"length":182,"previous":"M21-GAP-03010","next":"M21-GAP-03012"},"M21-GAP-03012":{"line":6267,"offset":1122318,"length":181,"previous":"M21-GAP-03011","next":"M21-GAP-03013"},"M21-GAP-03013":{"line":6268,"offset":1122499,"length":182,"previous":"M21-GAP-03012","next":"M21-GAP-03014"},"M21-GAP-03014":{"line":6269,"offset":1122681,"length":182,"previous":"M21-GAP-03013","next":"M21-GAP-03015"},"M21-GAP-03015":{"line":6270,"offset":1122863,"length":182,"previous":"M21-GAP-03014","next":"M21-GAP-03016"},"M21-GAP-03016":{"line":6271,"offset":1123045,"length":181,"previous":"M21-GAP-03015","next":"M21-GAP-03017"},"M21-GAP-03017":{"line":6272,"offset":1123226,"length":181,"previous":"M21-GAP-03016","next":"M21-GAP-03018"},"M21-GAP-03018":{"line":6273,"offset":1123407,"length":181,"previous":"M21-GAP-03017","next":"M21-GAP-03019"},"M21-GAP-03019":{"line":6274,"offset":1123588,"length":181,"previous":"M21-GAP-03018","next":"M21-GAP-03020"},"M21-GAP-03020":{"line":6275,"offset":1123769,"length":181,"previous":"M21-GAP-03019","next":"M21-GAP-03021"},"M21-GAP-03021":{"line":6276,"offset":1123950,"length":181,"previous":"M21-GAP-03020","next":"M21-GAP-03022"},"M21-GAP-03022":{"line":6277,"offset":1124131,"length":179,"previous":"M21-GAP-03021","next":"M21-GAP-03023"},"M21-GAP-03023":{"line":6278,"offset":1124310,"length":179,"previous":"M21-GAP-03022","next":"M21-GAP-03024"},"M21-GAP-03024":{"line":6279,"offset":1124489,"length":180,"previous":"M21-GAP-03023","next":"M21-GAP-03025"},"M21-GAP-03025":{"line":6280,"offset":1124669,"length":180,"previous":"M21-GAP-03024","next":"M21-GAP-03026"},"M21-GAP-03026":{"line":6281,"offset":1124849,"length":180,"previous":"M21-GAP-03025","next":"M21-GAP-03027"},"M21-GAP-03027":{"line":6282,"offset":1125029,"length":180,"previous":"M21-GAP-03026","next":"M21-GAP-03028"},"M21-GAP-03028":{"line":6283,"offset":1125209,"length":180,"previous":"M21-GAP-03027","next":"M21-GAP-03029"},"M21-GAP-03029":{"line":6284,"offset":1125389,"length":180,"previous":"M21-GAP-03028","next":"M21-GAP-03030"},"M21-GAP-03030":{"line":6285,"offset":1125569,"length":180,"previous":"M21-GAP-03029","next":"M21-GAP-03031"},"M21-GAP-03031":{"line":6286,"offset":1125749,"length":180,"previous":"M21-GAP-03030","next":"M21-GAP-03032"},"M21-GAP-03032":{"line":6287,"offset":1125929,"length":180,"previous":"M21-GAP-03031","next":"M21-GAP-03033"},"M21-GAP-03033":{"line":6288,"offset":1126109,"length":180,"previous":"M21-GAP-03032","next":"M21-GAP-03034"},"M21-GAP-03034":{"line":6289,"offset":1126289,"length":179,"previous":"M21-GAP-03033","next":"M21-GAP-03035"},"M21-GAP-03035":{"line":6290,"offset":1126468,"length":180,"previous":"M21-GAP-03034","next":"M21-GAP-03036"},"M21-GAP-03036":{"line":6291,"offset":1126648,"length":180,"previous":"M21-GAP-03035","next":"M21-GAP-03037"},"M21-GAP-03037":{"line":6292,"offset":1126828,"length":180,"previous":"M21-GAP-03036","next":"M21-GAP-03038"},"M21-GAP-03038":{"line":6293,"offset":1127008,"length":180,"previous":"M21-GAP-03037","next":"M21-GAP-03039"},"M21-GAP-03039":{"line":6294,"offset":1127188,"length":180,"previous":"M21-GAP-03038","next":"M21-GAP-03040"},"M21-GAP-03040":{"line":6295,"offset":1127368,"length":180,"previous":"M21-GAP-03039","next":"M21-GAP-03041"},"M21-GAP-03041":{"line":6296,"offset":1127548,"length":179,"previous":"M21-GAP-03040","next":"M21-GAP-03042"},"M21-GAP-03042":{"line":6297,"offset":1127727,"length":179,"previous":"M21-GAP-03041","next":"M21-GAP-03043"},"M21-GAP-03043":{"line":6298,"offset":1127906,"length":179,"previous":"M21-GAP-03042","next":"M21-GAP-03044"},"M21-GAP-03044":{"line":6299,"offset":1128085,"length":179,"previous":"M21-GAP-03043","next":"M21-GAP-03045"},"M21-GAP-03045":{"line":6300,"offset":1128264,"length":179,"previous":"M21-GAP-03044","next":"M21-GAP-03046"},"M21-GAP-03046":{"line":6301,"offset":1128443,"length":179,"previous":"M21-GAP-03045","next":"M21-GAP-03047"},"M21-GAP-03047":{"line":6302,"offset":1128622,"length":179,"previous":"M21-GAP-03046","next":"M21-GAP-03048"},"M21-GAP-03048":{"line":6303,"offset":1128801,"length":198,"previous":"M21-GAP-03047","next":"M21-GAP-03049"},"M21-GAP-03049":{"line":6304,"offset":1128999,"length":198,"previous":"M21-GAP-03048","next":"M21-GAP-03050"},"M21-GAP-03050":{"line":6305,"offset":1129197,"length":198,"previous":"M21-GAP-03049","next":"M21-GAP-03051"},"M21-GAP-03051":{"line":6306,"offset":1129395,"length":198,"previous":"M21-GAP-03050","next":"M21-GAP-03052"},"M21-GAP-03052":{"line":6307,"offset":1129593,"length":198,"previous":"M21-GAP-03051","next":"M21-GAP-03053"},"M21-GAP-03053":{"line":6308,"offset":1129791,"length":198,"previous":"M21-GAP-03052","next":"M21-GAP-03054"},"M21-GAP-03054":{"line":6309,"offset":1129989,"length":198,"previous":"M21-GAP-03053","next":"M21-GAP-03055"},"M21-GAP-03055":{"line":6310,"offset":1130187,"length":186,"previous":"M21-GAP-03054","next":"M21-GAP-03056"},"M21-GAP-03056":{"line":6311,"offset":1130373,"length":186,"previous":"M21-GAP-03055","next":"M21-GAP-03057"},"M21-GAP-03057":{"line":6312,"offset":1130559,"length":187,"previous":"M21-GAP-03056","next":"M21-GAP-03058"},"M21-GAP-03058":{"line":6313,"offset":1130746,"length":187,"previous":"M21-GAP-03057","next":"M21-GAP-03059"},"M21-GAP-03059":{"line":6314,"offset":1130933,"length":187,"previous":"M21-GAP-03058","next":"M21-GAP-03060"},"M21-GAP-03060":{"line":6315,"offset":1131120,"length":187,"previous":"M21-GAP-03059","next":"M21-GAP-03061"},"M21-GAP-03061":{"line":6316,"offset":1131307,"length":186,"previous":"M21-GAP-03060","next":"M21-GAP-03062"},"M21-GAP-03062":{"line":6317,"offset":1131493,"length":186,"previous":"M21-GAP-03061","next":"M21-GAP-03063"},"M21-GAP-03063":{"line":6318,"offset":1131679,"length":186,"previous":"M21-GAP-03062","next":"M21-GAP-03064"},"M21-GAP-03064":{"line":6319,"offset":1131865,"length":186,"previous":"M21-GAP-03063","next":"M21-GAP-03065"},"M21-GAP-03065":{"line":6320,"offset":1132051,"length":186,"previous":"M21-GAP-03064","next":"M21-GAP-03066"},"M21-GAP-03066":{"line":6321,"offset":1132237,"length":186,"previous":"M21-GAP-03065","next":"M21-GAP-03067"},"M21-GAP-03067":{"line":6322,"offset":1132423,"length":186,"previous":"M21-GAP-03066","next":"M21-GAP-03068"},"M21-GAP-03068":{"line":6323,"offset":1132609,"length":186,"previous":"M21-GAP-03067","next":"M21-GAP-03069"},"M21-GAP-03069":{"line":6324,"offset":1132795,"length":173,"previous":"M21-GAP-03068","next":"M21-GAP-03070"},"M21-GAP-03070":{"line":6325,"offset":1132968,"length":173,"previous":"M21-GAP-03069","next":"M21-GAP-03071"},"M21-GAP-03071":{"line":6326,"offset":1133141,"length":174,"previous":"M21-GAP-03070","next":"M21-GAP-03072"},"M21-GAP-03072":{"line":6327,"offset":1133315,"length":174,"previous":"M21-GAP-03071","next":"M21-GAP-03073"},"M21-GAP-03073":{"line":6328,"offset":1133489,"length":174,"previous":"M21-GAP-03072","next":"M21-GAP-03074"},"M21-GAP-03074":{"line":6329,"offset":1133663,"length":174,"previous":"M21-GAP-03073","next":"M21-GAP-03075"},"M21-GAP-03075":{"line":6330,"offset":1133837,"length":174,"previous":"M21-GAP-03074","next":"M21-GAP-03076"},"M21-GAP-03076":{"line":6331,"offset":1134011,"length":174,"previous":"M21-GAP-03075","next":"M21-GAP-03077"},"M21-GAP-03077":{"line":6332,"offset":1134185,"length":174,"previous":"M21-GAP-03076","next":"M21-GAP-03078"},"M21-GAP-03078":{"line":6333,"offset":1134359,"length":174,"previous":"M21-GAP-03077","next":"M21-GAP-03079"},"M21-GAP-03079":{"line":6334,"offset":1134533,"length":174,"previous":"M21-GAP-03078","next":"M21-GAP-03080"},"M21-GAP-03080":{"line":6335,"offset":1134707,"length":174,"previous":"M21-GAP-03079","next":"M21-GAP-03081"},"M21-GAP-03081":{"line":6336,"offset":1134881,"length":173,"previous":"M21-GAP-03080","next":"M21-GAP-03082"},"M21-GAP-03082":{"line":6337,"offset":1135054,"length":174,"previous":"M21-GAP-03081","next":"M21-GAP-03083"},"M21-GAP-03083":{"line":6338,"offset":1135228,"length":174,"previous":"M21-GAP-03082","next":"M21-GAP-03084"},"M21-GAP-03084":{"line":6339,"offset":1135402,"length":174,"previous":"M21-GAP-03083","next":"M21-GAP-03085"},"M21-GAP-03085":{"line":6340,"offset":1135576,"length":174,"previous":"M21-GAP-03084","next":"M21-GAP-03086"},"M21-GAP-03086":{"line":6341,"offset":1135750,"length":174,"previous":"M21-GAP-03085","next":"M21-GAP-03087"},"M21-GAP-03087":{"line":6342,"offset":1135924,"length":173,"previous":"M21-GAP-03086","next":"M21-GAP-03088"},"M21-GAP-03088":{"line":6343,"offset":1136097,"length":173,"previous":"M21-GAP-03087","next":"M21-GAP-03089"},"M21-GAP-03089":{"line":6344,"offset":1136270,"length":173,"previous":"M21-GAP-03088","next":"M21-GAP-03090"},"M21-GAP-03090":{"line":6345,"offset":1136443,"length":173,"previous":"M21-GAP-03089","next":"M21-GAP-03091"},"M21-GAP-03091":{"line":6346,"offset":1136616,"length":173,"previous":"M21-GAP-03090","next":"M21-GAP-03092"},"M21-GAP-03092":{"line":6347,"offset":1136789,"length":173,"previous":"M21-GAP-03091","next":"M21-GAP-03093"},"M21-GAP-03093":{"line":6348,"offset":1136962,"length":173,"previous":"M21-GAP-03092","next":"M21-GAP-03094"},"M21-GAP-03094":{"line":6349,"offset":1137135,"length":185,"previous":"M21-GAP-03093","next":"M21-GAP-03095"},"M21-GAP-03095":{"line":6350,"offset":1137320,"length":183,"previous":"M21-GAP-03094","next":"M21-GAP-03096"},"M21-GAP-03096":{"line":6351,"offset":1137503,"length":183,"previous":"M21-GAP-03095","next":"M21-GAP-03097"},"M21-GAP-03097":{"line":6352,"offset":1137686,"length":184,"previous":"M21-GAP-03096","next":"M21-GAP-03098"},"M21-GAP-03098":{"line":6353,"offset":1137870,"length":184,"previous":"M21-GAP-03097","next":"M21-GAP-03099"},"M21-GAP-03099":{"line":6354,"offset":1138054,"length":184,"previous":"M21-GAP-03098","next":"M21-GAP-03100"},"M21-GAP-03100":{"line":6355,"offset":1138238,"length":184,"previous":"M21-GAP-03099","next":"M21-GAP-03101"},"M21-GAP-03101":{"line":6356,"offset":1138422,"length":184,"previous":"M21-GAP-03100","next":"M21-GAP-03102"},"M21-GAP-03102":{"line":6357,"offset":1138606,"length":184,"previous":"M21-GAP-03101","next":"M21-GAP-03103"},"M21-GAP-03103":{"line":6358,"offset":1138790,"length":184,"previous":"M21-GAP-03102","next":"M21-GAP-03104"},"M21-GAP-03104":{"line":6359,"offset":1138974,"length":184,"previous":"M21-GAP-03103","next":"M21-GAP-03105"},"M21-GAP-03105":{"line":6360,"offset":1139158,"length":184,"previous":"M21-GAP-03104","next":"M21-GAP-03106"},"M21-GAP-03106":{"line":6361,"offset":1139342,"length":184,"previous":"M21-GAP-03105","next":"M21-GAP-03107"},"M21-GAP-03107":{"line":6362,"offset":1139526,"length":183,"previous":"M21-GAP-03106","next":"M21-GAP-03108"},"M21-GAP-03108":{"line":6363,"offset":1139709,"length":184,"previous":"M21-GAP-03107","next":"M21-GAP-03109"},"M21-GAP-03109":{"line":6364,"offset":1139893,"length":184,"previous":"M21-GAP-03108","next":"M21-GAP-03110"},"M21-GAP-03110":{"line":6365,"offset":1140077,"length":184,"previous":"M21-GAP-03109","next":"M21-GAP-03111"},"M21-GAP-03111":{"line":6366,"offset":1140261,"length":184,"previous":"M21-GAP-03110","next":"M21-GAP-03112"},"M21-GAP-03112":{"line":6367,"offset":1140445,"length":184,"previous":"M21-GAP-03111","next":"M21-GAP-03113"},"M21-GAP-03113":{"line":6368,"offset":1140629,"length":184,"previous":"M21-GAP-03112","next":"M21-GAP-03114"},"M21-GAP-03114":{"line":6369,"offset":1140813,"length":184,"previous":"M21-GAP-03113","next":"M21-GAP-03115"},"M21-GAP-03115":{"line":6370,"offset":1140997,"length":184,"previous":"M21-GAP-03114","next":"M21-GAP-03116"},"M21-GAP-03116":{"line":6371,"offset":1141181,"length":184,"previous":"M21-GAP-03115","next":"M21-GAP-03117"},"M21-GAP-03117":{"line":6372,"offset":1141365,"length":184,"previous":"M21-GAP-03116","next":"M21-GAP-03118"},"M21-GAP-03118":{"line":6373,"offset":1141549,"length":183,"previous":"M21-GAP-03117","next":"M21-GAP-03119"},"M21-GAP-03119":{"line":6374,"offset":1141732,"length":184,"previous":"M21-GAP-03118","next":"M21-GAP-03120"},"M21-GAP-03120":{"line":6375,"offset":1141916,"length":184,"previous":"M21-GAP-03119","next":"M21-GAP-03121"},"M21-GAP-03121":{"line":6376,"offset":1142100,"length":184,"previous":"M21-GAP-03120","next":"M21-GAP-03122"},"M21-GAP-03122":{"line":6377,"offset":1142284,"length":184,"previous":"M21-GAP-03121","next":"M21-GAP-03123"},"M21-GAP-03123":{"line":6378,"offset":1142468,"length":184,"previous":"M21-GAP-03122","next":"M21-GAP-03124"},"M21-GAP-03124":{"line":6379,"offset":1142652,"length":184,"previous":"M21-GAP-03123","next":"M21-GAP-03125"},"M21-GAP-03125":{"line":6380,"offset":1142836,"length":184,"previous":"M21-GAP-03124","next":"M21-GAP-03126"},"M21-GAP-03126":{"line":6381,"offset":1143020,"length":184,"previous":"M21-GAP-03125","next":"M21-GAP-03127"},"M21-GAP-03127":{"line":6382,"offset":1143204,"length":184,"previous":"M21-GAP-03126","next":"M21-GAP-03128"},"M21-GAP-03128":{"line":6383,"offset":1143388,"length":183,"previous":"M21-GAP-03127","next":"M21-GAP-03129"},"M21-GAP-03129":{"line":6384,"offset":1143571,"length":183,"previous":"M21-GAP-03128","next":"M21-GAP-03130"},"M21-GAP-03130":{"line":6385,"offset":1143754,"length":183,"previous":"M21-GAP-03129","next":"M21-GAP-03131"},"M21-GAP-03131":{"line":6386,"offset":1143937,"length":183,"previous":"M21-GAP-03130","next":"M21-GAP-03132"},"M21-GAP-03132":{"line":6387,"offset":1144120,"length":183,"previous":"M21-GAP-03131","next":"M21-GAP-03133"},"M21-GAP-03133":{"line":6388,"offset":1144303,"length":183,"previous":"M21-GAP-03132","next":"M21-GAP-03134"},"M21-GAP-03134":{"line":6389,"offset":1144486,"length":188,"previous":"M21-GAP-03133","next":"M21-GAP-03135"},"M21-GAP-03135":{"line":6390,"offset":1144674,"length":188,"previous":"M21-GAP-03134","next":"M21-GAP-03136"},"M21-GAP-03136":{"line":6391,"offset":1144862,"length":189,"previous":"M21-GAP-03135","next":"M21-GAP-03137"},"M21-GAP-03137":{"line":6392,"offset":1145051,"length":189,"previous":"M21-GAP-03136","next":"M21-GAP-03138"},"M21-GAP-03138":{"line":6393,"offset":1145240,"length":189,"previous":"M21-GAP-03137","next":"M21-GAP-03139"},"M21-GAP-03139":{"line":6394,"offset":1145429,"length":189,"previous":"M21-GAP-03138","next":"M21-GAP-03140"},"M21-GAP-03140":{"line":6395,"offset":1145618,"length":188,"previous":"M21-GAP-03139","next":"M21-GAP-03141"},"M21-GAP-03141":{"line":6396,"offset":1145806,"length":188,"previous":"M21-GAP-03140","next":"M21-GAP-03142"},"M21-GAP-03142":{"line":6397,"offset":1145994,"length":188,"previous":"M21-GAP-03141","next":"M21-GAP-03143"},"M21-GAP-03143":{"line":6398,"offset":1146182,"length":188,"previous":"M21-GAP-03142","next":"M21-GAP-03144"},"M21-GAP-03144":{"line":6399,"offset":1146370,"length":188,"previous":"M21-GAP-03143","next":"M21-GAP-03145"},"M21-GAP-03145":{"line":6400,"offset":1146558,"length":188,"previous":"M21-GAP-03144","next":"M21-GAP-03146"},"M21-GAP-03146":{"line":6401,"offset":1146746,"length":188,"previous":"M21-GAP-03145","next":"M21-GAP-03147"},"M21-GAP-03147":{"line":6402,"offset":1146934,"length":188,"previous":"M21-GAP-03146","next":"M21-GAP-03148"},"M21-GAP-03148":{"line":6403,"offset":1147122,"length":184,"previous":"M21-GAP-03147","next":"M21-GAP-03149"},"M21-GAP-03149":{"line":6404,"offset":1147306,"length":189,"previous":"M21-GAP-03148","next":"M21-GAP-03150"},"M21-GAP-03150":{"line":6405,"offset":1147495,"length":189,"previous":"M21-GAP-03149","next":"M21-GAP-03151"},"M21-GAP-03151":{"line":6406,"offset":1147684,"length":190,"previous":"M21-GAP-03150","next":"M21-GAP-03152"},"M21-GAP-03152":{"line":6407,"offset":1147874,"length":190,"previous":"M21-GAP-03151","next":"M21-GAP-03153"},"M21-GAP-03153":{"line":6408,"offset":1148064,"length":189,"previous":"M21-GAP-03152","next":"M21-GAP-03154"},"M21-GAP-03154":{"line":6409,"offset":1148253,"length":189,"previous":"M21-GAP-03153","next":"M21-GAP-03155"},"M21-GAP-03155":{"line":6410,"offset":1148442,"length":189,"previous":"M21-GAP-03154","next":"M21-GAP-03156"},"M21-GAP-03156":{"line":6411,"offset":1148631,"length":189,"previous":"M21-GAP-03155","next":"M21-GAP-03157"},"M21-GAP-03157":{"line":6412,"offset":1148820,"length":189,"previous":"M21-GAP-03156","next":"M21-GAP-03158"},"M21-GAP-03158":{"line":6413,"offset":1149009,"length":189,"previous":"M21-GAP-03157","next":"M21-GAP-03159"},"M21-GAP-03159":{"line":6414,"offset":1149198,"length":189,"previous":"M21-GAP-03158","next":"M21-GAP-03160"},"M21-GAP-03160":{"line":6415,"offset":1149387,"length":189,"previous":"M21-GAP-03159","next":"M21-GAP-03161"},"M21-GAP-03161":{"line":6416,"offset":1149576,"length":186,"previous":"M21-GAP-03160","next":"M21-GAP-03162"},"M21-GAP-03162":{"line":6417,"offset":1149762,"length":186,"previous":"M21-GAP-03161","next":"M21-GAP-03163"},"M21-GAP-03163":{"line":6418,"offset":1149948,"length":186,"previous":"M21-GAP-03162","next":"M21-GAP-03164"},"M21-GAP-03164":{"line":6419,"offset":1150134,"length":186,"previous":"M21-GAP-03163","next":"M21-GAP-03165"},"M21-GAP-03165":{"line":6420,"offset":1150320,"length":186,"previous":"M21-GAP-03164","next":"M21-GAP-03166"},"M21-GAP-03166":{"line":6421,"offset":1150506,"length":215,"previous":"M21-GAP-03165","next":"M21-GAP-03167"},"M21-GAP-03167":{"line":6422,"offset":1150721,"length":215,"previous":"M21-GAP-03166","next":"M21-GAP-03168"},"M21-GAP-03168":{"line":6423,"offset":1150936,"length":215,"previous":"M21-GAP-03167","next":"M21-GAP-03169"},"M21-GAP-03169":{"line":6424,"offset":1151151,"length":215,"previous":"M21-GAP-03168","next":"M21-GAP-03170"},"M21-GAP-03170":{"line":6425,"offset":1151366,"length":215,"previous":"M21-GAP-03169","next":"M21-GAP-03171"},"M21-GAP-03171":{"line":6426,"offset":1151581,"length":215,"previous":"M21-GAP-03170","next":"M21-GAP-03172"},"M21-GAP-03172":{"line":6427,"offset":1151796,"length":184,"previous":"M21-GAP-03171","next":"M21-GAP-03173"},"M21-GAP-03173":{"line":6428,"offset":1151980,"length":184,"previous":"M21-GAP-03172","next":"M21-GAP-03174"},"M21-GAP-03174":{"line":6429,"offset":1152164,"length":185,"previous":"M21-GAP-03173","next":"M21-GAP-03175"},"M21-GAP-03175":{"line":6430,"offset":1152349,"length":185,"previous":"M21-GAP-03174","next":"M21-GAP-03176"},"M21-GAP-03176":{"line":6431,"offset":1152534,"length":185,"previous":"M21-GAP-03175","next":"M21-GAP-03177"},"M21-GAP-03177":{"line":6432,"offset":1152719,"length":185,"previous":"M21-GAP-03176","next":"M21-GAP-03178"},"M21-GAP-03178":{"line":6433,"offset":1152904,"length":185,"previous":"M21-GAP-03177","next":"M21-GAP-03179"},"M21-GAP-03179":{"line":6434,"offset":1153089,"length":185,"previous":"M21-GAP-03178","next":"M21-GAP-03180"},"M21-GAP-03180":{"line":6435,"offset":1153274,"length":185,"previous":"M21-GAP-03179","next":"M21-GAP-03181"},"M21-GAP-03181":{"line":6436,"offset":1153459,"length":185,"previous":"M21-GAP-03180","next":"M21-GAP-03182"},"M21-GAP-03182":{"line":6437,"offset":1153644,"length":185,"previous":"M21-GAP-03181","next":"M21-GAP-03183"},"M21-GAP-03183":{"line":6438,"offset":1153829,"length":185,"previous":"M21-GAP-03182","next":"M21-GAP-03184"},"M21-GAP-03184":{"line":6439,"offset":1154014,"length":184,"previous":"M21-GAP-03183","next":"M21-GAP-03185"},"M21-GAP-03185":{"line":6440,"offset":1154198,"length":185,"previous":"M21-GAP-03184","next":"M21-GAP-03186"},"M21-GAP-03186":{"line":6441,"offset":1154383,"length":185,"previous":"M21-GAP-03185","next":"M21-GAP-03187"},"M21-GAP-03187":{"line":6442,"offset":1154568,"length":185,"previous":"M21-GAP-03186","next":"M21-GAP-03188"},"M21-GAP-03188":{"line":6443,"offset":1154753,"length":185,"previous":"M21-GAP-03187","next":"M21-GAP-03189"},"M21-GAP-03189":{"line":6444,"offset":1154938,"length":185,"previous":"M21-GAP-03188","next":"M21-GAP-03190"},"M21-GAP-03190":{"line":6445,"offset":1155123,"length":185,"previous":"M21-GAP-03189","next":"M21-GAP-03191"},"M21-GAP-03191":{"line":6446,"offset":1155308,"length":185,"previous":"M21-GAP-03190","next":"M21-GAP-03192"},"M21-GAP-03192":{"line":6447,"offset":1155493,"length":185,"previous":"M21-GAP-03191","next":"M21-GAP-03193"},"M21-GAP-03193":{"line":6448,"offset":1155678,"length":185,"previous":"M21-GAP-03192","next":"M21-GAP-03194"},"M21-GAP-03194":{"line":6449,"offset":1155863,"length":185,"previous":"M21-GAP-03193","next":"M21-GAP-03195"},"M21-GAP-03195":{"line":6450,"offset":1156048,"length":184,"previous":"M21-GAP-03194","next":"M21-GAP-03196"},"M21-GAP-03196":{"line":6451,"offset":1156232,"length":185,"previous":"M21-GAP-03195","next":"M21-GAP-03197"},"M21-GAP-03197":{"line":6452,"offset":1156417,"length":185,"previous":"M21-GAP-03196","next":"M21-GAP-03198"},"M21-GAP-03198":{"line":6453,"offset":1156602,"length":185,"previous":"M21-GAP-03197","next":"M21-GAP-03199"},"M21-GAP-03199":{"line":6454,"offset":1156787,"length":185,"previous":"M21-GAP-03198","next":"M21-GAP-03200"},"M21-GAP-03200":{"line":6455,"offset":1156972,"length":185,"previous":"M21-GAP-03199","next":"M21-GAP-03201"},"M21-GAP-03201":{"line":6456,"offset":1157157,"length":185,"previous":"M21-GAP-03200","next":"M21-GAP-03202"},"M21-GAP-03202":{"line":6457,"offset":1157342,"length":185,"previous":"M21-GAP-03201","next":"M21-GAP-03203"},"M21-GAP-03203":{"line":6458,"offset":1157527,"length":185,"previous":"M21-GAP-03202","next":"M21-GAP-03204"},"M21-GAP-03204":{"line":6459,"offset":1157712,"length":185,"previous":"M21-GAP-03203","next":"M21-GAP-03205"},"M21-GAP-03205":{"line":6460,"offset":1157897,"length":185,"previous":"M21-GAP-03204","next":"M21-GAP-03206"},"M21-GAP-03206":{"line":6461,"offset":1158082,"length":184,"previous":"M21-GAP-03205","next":"M21-GAP-03207"},"M21-GAP-03207":{"line":6462,"offset":1158266,"length":185,"previous":"M21-GAP-03206","next":"M21-GAP-03208"},"M21-GAP-03208":{"line":6463,"offset":1158451,"length":185,"previous":"M21-GAP-03207","next":"M21-GAP-03209"},"M21-GAP-03209":{"line":6464,"offset":1158636,"length":185,"previous":"M21-GAP-03208","next":"M21-GAP-03210"},"M21-GAP-03210":{"line":6465,"offset":1158821,"length":185,"previous":"M21-GAP-03209","next":"M21-GAP-03211"},"M21-GAP-03211":{"line":6466,"offset":1159006,"length":185,"previous":"M21-GAP-03210","next":"M21-GAP-03212"},"M21-GAP-03212":{"line":6467,"offset":1159191,"length":185,"previous":"M21-GAP-03211","next":"M21-GAP-03213"},"M21-GAP-03213":{"line":6468,"offset":1159376,"length":185,"previous":"M21-GAP-03212","next":"M21-GAP-03214"},"M21-GAP-03214":{"line":6469,"offset":1159561,"length":185,"previous":"M21-GAP-03213","next":"M21-GAP-03215"},"M21-GAP-03215":{"line":6470,"offset":1159746,"length":185,"previous":"M21-GAP-03214","next":"M21-GAP-03216"},"M21-GAP-03216":{"line":6471,"offset":1159931,"length":185,"previous":"M21-GAP-03215","next":"M21-GAP-03217"},"M21-GAP-03217":{"line":6472,"offset":1160116,"length":184,"previous":"M21-GAP-03216","next":"M21-GAP-03218"},"M21-GAP-03218":{"line":6473,"offset":1160300,"length":184,"previous":"M21-GAP-03217","next":"M21-GAP-03219"},"M21-GAP-03219":{"line":6474,"offset":1160484,"length":184,"previous":"M21-GAP-03218","next":"M21-GAP-03220"},"M21-GAP-03220":{"line":6475,"offset":1160668,"length":184,"previous":"M21-GAP-03219","next":"M21-GAP-03221"},"M21-GAP-03221":{"line":6476,"offset":1160852,"length":184,"previous":"M21-GAP-03220","next":"M21-GAP-03222"},"M21-GAP-03222":{"line":6477,"offset":1161036,"length":184,"previous":"M21-GAP-03221","next":"M21-GAP-03223"},"M21-GAP-03223":{"line":6478,"offset":1161220,"length":179,"previous":"M21-GAP-03222","next":"M21-GAP-03224"},"M21-GAP-03224":{"line":6479,"offset":1161399,"length":179,"previous":"M21-GAP-03223","next":"M21-GAP-03225"},"M21-GAP-03225":{"line":6480,"offset":1161578,"length":180,"previous":"M21-GAP-03224","next":"M21-GAP-03226"},"M21-GAP-03226":{"line":6481,"offset":1161758,"length":180,"previous":"M21-GAP-03225","next":"M21-GAP-03227"},"M21-GAP-03227":{"line":6482,"offset":1161938,"length":180,"previous":"M21-GAP-03226","next":"M21-GAP-03228"},"M21-GAP-03228":{"line":6483,"offset":1162118,"length":180,"previous":"M21-GAP-03227","next":"M21-GAP-03229"},"M21-GAP-03229":{"line":6484,"offset":1162298,"length":180,"previous":"M21-GAP-03228","next":"M21-GAP-03230"},"M21-GAP-03230":{"line":6485,"offset":1162478,"length":180,"previous":"M21-GAP-03229","next":"M21-GAP-03231"},"M21-GAP-03231":{"line":6486,"offset":1162658,"length":180,"previous":"M21-GAP-03230","next":"M21-GAP-03232"},"M21-GAP-03232":{"line":6487,"offset":1162838,"length":180,"previous":"M21-GAP-03231","next":"M21-GAP-03233"},"M21-GAP-03233":{"line":6488,"offset":1163018,"length":180,"previous":"M21-GAP-03232","next":"M21-GAP-03234"},"M21-GAP-03234":{"line":6489,"offset":1163198,"length":180,"previous":"M21-GAP-03233","next":"M21-GAP-03235"},"M21-GAP-03235":{"line":6490,"offset":1163378,"length":179,"previous":"M21-GAP-03234","next":"M21-GAP-03236"},"M21-GAP-03236":{"line":6491,"offset":1163557,"length":180,"previous":"M21-GAP-03235","next":"M21-GAP-03237"},"M21-GAP-03237":{"line":6492,"offset":1163737,"length":180,"previous":"M21-GAP-03236","next":"M21-GAP-03238"},"M21-GAP-03238":{"line":6493,"offset":1163917,"length":180,"previous":"M21-GAP-03237","next":"M21-GAP-03239"},"M21-GAP-03239":{"line":6494,"offset":1164097,"length":180,"previous":"M21-GAP-03238","next":"M21-GAP-03240"},"M21-GAP-03240":{"line":6495,"offset":1164277,"length":180,"previous":"M21-GAP-03239","next":"M21-GAP-03241"},"M21-GAP-03241":{"line":6496,"offset":1164457,"length":179,"previous":"M21-GAP-03240","next":"M21-GAP-03242"},"M21-GAP-03242":{"line":6497,"offset":1164636,"length":179,"previous":"M21-GAP-03241","next":"M21-GAP-03243"},"M21-GAP-03243":{"line":6498,"offset":1164815,"length":179,"previous":"M21-GAP-03242","next":"M21-GAP-03244"},"M21-GAP-03244":{"line":6499,"offset":1164994,"length":179,"previous":"M21-GAP-03243","next":"M21-GAP-03245"},"M21-GAP-03245":{"line":6500,"offset":1165173,"length":179,"previous":"M21-GAP-03244","next":"M21-GAP-03246"},"M21-GAP-03246":{"line":6501,"offset":1165352,"length":179,"previous":"M21-GAP-03245","next":"M21-GAP-03247"},"M21-GAP-03247":{"line":6502,"offset":1165531,"length":179,"previous":"M21-GAP-03246","next":"M21-GAP-03248"},"M21-GAP-03248":{"line":6503,"offset":1165710,"length":173,"previous":"M21-GAP-03247","next":"M21-GAP-03249"},"M21-GAP-03249":{"line":6504,"offset":1165883,"length":173,"previous":"M21-GAP-03248","next":"M21-GAP-03250"},"M21-GAP-03250":{"line":6505,"offset":1166056,"length":174,"previous":"M21-GAP-03249","next":"M21-GAP-03251"},"M21-GAP-03251":{"line":6506,"offset":1166230,"length":174,"previous":"M21-GAP-03250","next":"M21-GAP-03252"},"M21-GAP-03252":{"line":6507,"offset":1166404,"length":174,"previous":"M21-GAP-03251","next":"M21-GAP-03253"},"M21-GAP-03253":{"line":6508,"offset":1166578,"length":174,"previous":"M21-GAP-03252","next":"M21-GAP-03254"},"M21-GAP-03254":{"line":6509,"offset":1166752,"length":174,"previous":"M21-GAP-03253","next":"M21-GAP-03255"},"M21-GAP-03255":{"line":6510,"offset":1166926,"length":174,"previous":"M21-GAP-03254","next":"M21-GAP-03256"},"M21-GAP-03256":{"line":6511,"offset":1167100,"length":174,"previous":"M21-GAP-03255","next":"M21-GAP-03257"},"M21-GAP-03257":{"line":6512,"offset":1167274,"length":174,"previous":"M21-GAP-03256","next":"M21-GAP-03258"},"M21-GAP-03258":{"line":6513,"offset":1167448,"length":174,"previous":"M21-GAP-03257","next":"M21-GAP-03259"},"M21-GAP-03259":{"line":6514,"offset":1167622,"length":174,"previous":"M21-GAP-03258","next":"M21-GAP-03260"},"M21-GAP-03260":{"line":6515,"offset":1167796,"length":173,"previous":"M21-GAP-03259","next":"M21-GAP-03261"},"M21-GAP-03261":{"line":6516,"offset":1167969,"length":174,"previous":"M21-GAP-03260","next":"M21-GAP-03262"},"M21-GAP-03262":{"line":6517,"offset":1168143,"length":174,"previous":"M21-GAP-03261","next":"M21-GAP-03263"},"M21-GAP-03263":{"line":6518,"offset":1168317,"length":174,"previous":"M21-GAP-03262","next":"M21-GAP-03264"},"M21-GAP-03264":{"line":6519,"offset":1168491,"length":174,"previous":"M21-GAP-03263","next":"M21-GAP-03265"},"M21-GAP-03265":{"line":6520,"offset":1168665,"length":174,"previous":"M21-GAP-03264","next":"M21-GAP-03266"},"M21-GAP-03266":{"line":6521,"offset":1168839,"length":174,"previous":"M21-GAP-03265","next":"M21-GAP-03267"},"M21-GAP-03267":{"line":6522,"offset":1169013,"length":174,"previous":"M21-GAP-03266","next":"M21-GAP-03268"},"M21-GAP-03268":{"line":6523,"offset":1169187,"length":174,"previous":"M21-GAP-03267","next":"M21-GAP-03269"},"M21-GAP-03269":{"line":6524,"offset":1169361,"length":174,"previous":"M21-GAP-03268","next":"M21-GAP-03270"},"M21-GAP-03270":{"line":6525,"offset":1169535,"length":174,"previous":"M21-GAP-03269","next":"M21-GAP-03271"},"M21-GAP-03271":{"line":6526,"offset":1169709,"length":173,"previous":"M21-GAP-03270","next":"M21-GAP-03272"},"M21-GAP-03272":{"line":6527,"offset":1169882,"length":174,"previous":"M21-GAP-03271","next":"M21-GAP-03273"},"M21-GAP-03273":{"line":6528,"offset":1170056,"length":174,"previous":"M21-GAP-03272","next":"M21-GAP-03274"},"M21-GAP-03274":{"line":6529,"offset":1170230,"length":174,"previous":"M21-GAP-03273","next":"M21-GAP-03275"},"M21-GAP-03275":{"line":6530,"offset":1170404,"length":173,"previous":"M21-GAP-03274","next":"M21-GAP-03276"},"M21-GAP-03276":{"line":6531,"offset":1170577,"length":173,"previous":"M21-GAP-03275","next":"M21-GAP-03277"},"M21-GAP-03277":{"line":6532,"offset":1170750,"length":173,"previous":"M21-GAP-03276","next":"M21-GAP-03278"},"M21-GAP-03278":{"line":6533,"offset":1170923,"length":173,"previous":"M21-GAP-03277","next":"M21-GAP-03279"},"M21-GAP-03279":{"line":6534,"offset":1171096,"length":173,"previous":"M21-GAP-03278","next":"M21-GAP-03280"},"M21-GAP-03280":{"line":6535,"offset":1171269,"length":173,"previous":"M21-GAP-03279","next":"M21-GAP-03281"},"M21-GAP-03281":{"line":6536,"offset":1171442,"length":177,"previous":"M21-GAP-03280","next":"M21-GAP-03282"},"M21-GAP-03282":{"line":6537,"offset":1171619,"length":180,"previous":"M21-GAP-03281","next":"M21-GAP-03283"},"M21-GAP-03283":{"line":6538,"offset":1171799,"length":187,"previous":"M21-GAP-03282","next":"M21-GAP-03284"},"M21-GAP-03284":{"line":6539,"offset":1171986,"length":182,"previous":"M21-GAP-03283","next":"M21-GAP-03285"},"M21-GAP-03285":{"line":6540,"offset":1172168,"length":202,"previous":"M21-GAP-03284","next":"M21-GAP-03286"},"M21-GAP-03286":{"line":6541,"offset":1172370,"length":204,"previous":"M21-GAP-03285","next":"M21-GAP-03287"},"M21-GAP-03287":{"line":6542,"offset":1172574,"length":208,"previous":"M21-GAP-03286","next":"M21-GAP-03288"},"M21-GAP-03288":{"line":6543,"offset":1172782,"length":198,"previous":"M21-GAP-03287","next":"M21-GAP-03289"},"M21-GAP-03289":{"line":6544,"offset":1172980,"length":195,"previous":"M21-GAP-03288","next":"M21-GAP-03290"},"M21-GAP-03290":{"line":6545,"offset":1173175,"length":197,"previous":"M21-GAP-03289","next":"M21-GAP-03291"},"M21-GAP-03291":{"line":6546,"offset":1173372,"length":192,"previous":"M21-GAP-03290","next":"M21-GAP-03292"},"M21-GAP-03292":{"line":6547,"offset":1173564,"length":205,"previous":"M21-GAP-03291","next":"M21-GAP-03293"},"M21-GAP-03293":{"line":6548,"offset":1173769,"length":195,"previous":"M21-GAP-03292","next":"M21-GAP-03294"},"M21-GAP-03294":{"line":6549,"offset":1173964,"length":194,"previous":"M21-GAP-03293","next":"M21-GAP-03295"},"M21-GAP-03295":{"line":6550,"offset":1174158,"length":197,"previous":"M21-GAP-03294","next":"M21-GAP-03296"},"M21-GAP-03296":{"line":6551,"offset":1174355,"length":192,"previous":"M21-GAP-03295","next":"M21-GAP-03297"},"M21-GAP-03297":{"line":6552,"offset":1174547,"length":193,"previous":"M21-GAP-03296","next":"M21-GAP-03298"},"M21-GAP-03298":{"line":6553,"offset":1174740,"length":192,"previous":"M21-GAP-03297","next":"M21-GAP-03299"},"M21-GAP-03299":{"line":6554,"offset":1174932,"length":204,"previous":"M21-GAP-03298","next":"M21-GAP-03300"},"M21-GAP-03300":{"line":6555,"offset":1175136,"length":207,"previous":"M21-GAP-03299","next":"M21-GAP-03301"},"M21-GAP-03301":{"line":6556,"offset":1175343,"length":199,"previous":"M21-GAP-03300","next":"M21-GAP-03302"},"M21-GAP-03302":{"line":6557,"offset":1175542,"length":192,"previous":"M21-GAP-03301","next":"M21-GAP-03303"},"M21-GAP-03303":{"line":6558,"offset":1175734,"length":193,"previous":"M21-GAP-03302","next":"M21-GAP-03304"},"M21-GAP-03304":{"line":6559,"offset":1175927,"length":197,"previous":"M21-GAP-03303","next":"M21-GAP-03305"},"M21-GAP-03305":{"line":6560,"offset":1176124,"length":208,"previous":"M21-GAP-03304","next":"M21-GAP-03306"},"M21-GAP-03306":{"line":6561,"offset":1176332,"length":205,"previous":"M21-GAP-03305","next":"M21-GAP-03307"},"M21-GAP-03307":{"line":6562,"offset":1176537,"length":203,"previous":"M21-GAP-03306","next":"M21-GAP-03308"},"M21-GAP-03308":{"line":6563,"offset":1176740,"length":201,"previous":"M21-GAP-03307","next":"M21-GAP-03309"},"M21-GAP-03309":{"line":6564,"offset":1176941,"length":204,"previous":"M21-GAP-03308","next":"M21-GAP-03310"},"M21-GAP-03310":{"line":6565,"offset":1177145,"length":198,"previous":"M21-GAP-03309","next":"M21-GAP-03311"},"M21-GAP-03311":{"line":6566,"offset":1177343,"length":192,"previous":"M21-GAP-03310","next":"M21-GAP-03312"},"M21-GAP-03312":{"line":6567,"offset":1177535,"length":195,"previous":"M21-GAP-03311","next":"M21-GAP-03313"},"M21-GAP-03313":{"line":6568,"offset":1177730,"length":207,"previous":"M21-GAP-03312","next":"M21-GAP-03314"},"M21-GAP-03314":{"line":6569,"offset":1177937,"length":197,"previous":"M21-GAP-03313","next":"M21-GAP-03315"},"M21-GAP-03315":{"line":6570,"offset":1178134,"length":196,"previous":"M21-GAP-03314","next":"M21-GAP-03316"},"M21-GAP-03316":{"line":6571,"offset":1178330,"length":196,"previous":"M21-GAP-03315","next":"M21-GAP-03317"},"M21-GAP-03317":{"line":6572,"offset":1178526,"length":195,"previous":"M21-GAP-03316","next":"M21-GAP-03318"},"M21-GAP-03318":{"line":6573,"offset":1178721,"length":197,"previous":"M21-GAP-03317","next":"M21-GAP-03319"},"M21-GAP-03319":{"line":6574,"offset":1178918,"length":200,"previous":"M21-GAP-03318","next":"M21-GAP-03320"},"M21-GAP-03320":{"line":6575,"offset":1179118,"length":193,"previous":"M21-GAP-03319","next":"M21-GAP-03321"},"M21-GAP-03321":{"line":6576,"offset":1179311,"length":202,"previous":"M21-GAP-03320","next":"M21-GAP-03322"},"M21-GAP-03322":{"line":6577,"offset":1179513,"length":191,"previous":"M21-GAP-03321","next":"M21-GAP-03323"},"M21-GAP-03323":{"line":6578,"offset":1179704,"length":196,"previous":"M21-GAP-03322","next":"M21-GAP-03324"},"M21-GAP-03324":{"line":6579,"offset":1179900,"length":199,"previous":"M21-GAP-03323","next":"M21-GAP-03325"},"M21-GAP-03325":{"line":6580,"offset":1180099,"length":198,"previous":"M21-GAP-03324","next":"M21-GAP-03326"},"M21-GAP-03326":{"line":6581,"offset":1180297,"length":183,"previous":"M21-GAP-03325","next":"M21-GAP-03327"},"M21-GAP-03327":{"line":6582,"offset":1180480,"length":180,"previous":"M21-GAP-03326","next":"M21-GAP-03328"},"M21-GAP-03328":{"line":6583,"offset":1180660,"length":197,"previous":"M21-GAP-03327","next":"M21-GAP-03329"},"M21-GAP-03329":{"line":6584,"offset":1180857,"length":200,"previous":"M21-GAP-03328","next":"M21-GAP-03330"},"M21-GAP-03330":{"line":6585,"offset":1181057,"length":200,"previous":"M21-GAP-03329","next":"M21-GAP-03331"},"M21-GAP-03331":{"line":6586,"offset":1181257,"length":203,"previous":"M21-GAP-03330","next":"M21-GAP-03332"},"M21-GAP-03332":{"line":6587,"offset":1181460,"length":202,"previous":"M21-GAP-03331","next":"M21-GAP-03333"},"M21-GAP-03333":{"line":6588,"offset":1181662,"length":207,"previous":"M21-GAP-03332","next":"M21-GAP-03334"},"M21-GAP-03334":{"line":6589,"offset":1181869,"length":208,"previous":"M21-GAP-03333","next":"M21-GAP-03335"},"M21-GAP-03335":{"line":6590,"offset":1182077,"length":201,"previous":"M21-GAP-03334","next":"M21-GAP-03336"},"M21-GAP-03336":{"line":6591,"offset":1182278,"length":205,"previous":"M21-GAP-03335","next":"M21-GAP-03337"},"M21-GAP-03337":{"line":6592,"offset":1182483,"length":201,"previous":"M21-GAP-03336","next":"M21-GAP-03338"},"M21-GAP-03338":{"line":6593,"offset":1182684,"length":198,"previous":"M21-GAP-03337","next":"M21-GAP-03339"},"M21-GAP-03339":{"line":6594,"offset":1182882,"length":209,"previous":"M21-GAP-03338","next":"M21-GAP-03340"},"M21-GAP-03340":{"line":6595,"offset":1183091,"length":203,"previous":"M21-GAP-03339","next":"M21-GAP-03341"},"M21-GAP-03341":{"line":6596,"offset":1183294,"length":180,"previous":"M21-GAP-03340","next":"M21-GAP-03342"},"M21-GAP-03342":{"line":6597,"offset":1183474,"length":181,"previous":"M21-GAP-03341","next":"M21-GAP-03343"},"M21-GAP-03343":{"line":6598,"offset":1183655,"length":182,"previous":"M21-GAP-03342","next":"M21-GAP-03344"},"M21-GAP-03344":{"line":6599,"offset":1183837,"length":181,"previous":"M21-GAP-03343","next":"M21-GAP-03345"},"M21-GAP-03345":{"line":6600,"offset":1184018,"length":196,"previous":"M21-GAP-03344","next":"M21-GAP-03346"},"M21-GAP-03346":{"line":6601,"offset":1184214,"length":192,"previous":"M21-GAP-03345","next":"M21-GAP-03347"},"M21-GAP-03347":{"line":6602,"offset":1184406,"length":192,"previous":"M21-GAP-03346","next":"M21-GAP-03348"},"M21-GAP-03348":{"line":6603,"offset":1184598,"length":192,"previous":"M21-GAP-03347","next":"M21-GAP-03349"},"M21-GAP-03349":{"line":6604,"offset":1184790,"length":196,"previous":"M21-GAP-03348","next":"M21-GAP-03350"},"M21-GAP-03350":{"line":6605,"offset":1184986,"length":196,"previous":"M21-GAP-03349","next":"M21-GAP-03351"},"M21-GAP-03351":{"line":6606,"offset":1185182,"length":197,"previous":"M21-GAP-03350","next":"M21-GAP-03352"},"M21-GAP-03352":{"line":6607,"offset":1185379,"length":198,"previous":"M21-GAP-03351","next":"M21-GAP-03353"},"M21-GAP-03353":{"line":6608,"offset":1185577,"length":194,"previous":"M21-GAP-03352","next":"M21-GAP-03354"},"M21-GAP-03354":{"line":6609,"offset":1185771,"length":194,"previous":"M21-GAP-03353","next":"M21-GAP-03355"},"M21-GAP-03355":{"line":6610,"offset":1185965,"length":194,"previous":"M21-GAP-03354","next":"M21-GAP-03356"},"M21-GAP-03356":{"line":6611,"offset":1186159,"length":197,"previous":"M21-GAP-03355","next":"M21-GAP-03357"},"M21-GAP-03357":{"line":6612,"offset":1186356,"length":193,"previous":"M21-GAP-03356","next":"M21-GAP-03358"},"M21-GAP-03358":{"line":6613,"offset":1186549,"length":193,"previous":"M21-GAP-03357","next":"M21-GAP-03359"},"M21-GAP-03359":{"line":6614,"offset":1186742,"length":196,"previous":"M21-GAP-03358","next":"M21-GAP-03360"},"M21-GAP-03360":{"line":6615,"offset":1186938,"length":193,"previous":"M21-GAP-03359","next":"M21-GAP-03361"},"M21-GAP-03361":{"line":6616,"offset":1187131,"length":197,"previous":"M21-GAP-03360","next":"M21-GAP-03362"},"M21-GAP-03362":{"line":6617,"offset":1187328,"length":195,"previous":"M21-GAP-03361","next":"M21-GAP-03363"},"M21-GAP-03363":{"line":6618,"offset":1187523,"length":201,"previous":"M21-GAP-03362","next":"M21-GAP-03364"},"M21-GAP-03364":{"line":6619,"offset":1187724,"length":197,"previous":"M21-GAP-03363","next":"M21-GAP-03365"},"M21-GAP-03365":{"line":6620,"offset":1187921,"length":197,"previous":"M21-GAP-03364","next":"M21-GAP-03366"},"M21-GAP-03366":{"line":6621,"offset":1188118,"length":197,"previous":"M21-GAP-03365","next":"M21-GAP-03367"},"M21-GAP-03367":{"line":6622,"offset":1188315,"length":197,"previous":"M21-GAP-03366","next":"M21-GAP-03368"},"M21-GAP-03368":{"line":6623,"offset":1188512,"length":186,"previous":"M21-GAP-03367","next":"M21-GAP-03369"},"M21-GAP-03369":{"line":6624,"offset":1188698,"length":200,"previous":"M21-GAP-03368","next":"M21-GAP-03370"},"M21-GAP-03370":{"line":6625,"offset":1188898,"length":189,"previous":"M21-GAP-03369","next":"M21-GAP-03371"},"M21-GAP-03371":{"line":6626,"offset":1189087,"length":199,"previous":"M21-GAP-03370","next":"M21-GAP-03372"},"M21-GAP-03372":{"line":6627,"offset":1189286,"length":188,"previous":"M21-GAP-03371","next":"M21-GAP-03373"},"M21-GAP-03373":{"line":6628,"offset":1189474,"length":181,"previous":"M21-GAP-03372","next":"M21-GAP-03374"},"M21-GAP-03374":{"line":6629,"offset":1189655,"length":185,"previous":"M21-GAP-03373","next":"M21-GAP-03375"},"M21-GAP-03375":{"line":6630,"offset":1189840,"length":192,"previous":"M21-GAP-03374","next":"M21-GAP-03376"},"M21-GAP-03376":{"line":6631,"offset":1190032,"length":181,"previous":"M21-GAP-03375","next":"M21-GAP-03377"},"M21-GAP-03377":{"line":6632,"offset":1190213,"length":169,"previous":"M21-GAP-03376","next":"M21-GAP-03378"},"M21-GAP-03378":{"line":6633,"offset":1190382,"length":178,"previous":"M21-GAP-03377","next":"M21-GAP-03379"},"M21-GAP-03379":{"line":6634,"offset":1190560,"length":169,"previous":"M21-GAP-03378","next":"M21-GAP-03380"},"M21-GAP-03380":{"line":6635,"offset":1190729,"length":168,"previous":"M21-GAP-03379","next":"M21-GAP-03381"},"M21-GAP-03381":{"line":6636,"offset":1190897,"length":175,"previous":"M21-GAP-03380","next":"M21-GAP-03382"},"M21-GAP-03382":{"line":6637,"offset":1191072,"length":187,"previous":"M21-GAP-03381","next":"M21-GAP-03383"},"M21-GAP-03383":{"line":6638,"offset":1191259,"length":177,"previous":"M21-GAP-03382","next":"M21-GAP-03384"},"M21-GAP-03384":{"line":6639,"offset":1191436,"length":183,"previous":"M21-GAP-03383","next":"M21-GAP-03385"},"M21-GAP-03385":{"line":6640,"offset":1191619,"length":182,"previous":"M21-GAP-03384","next":"M21-GAP-03386"},"M21-GAP-03386":{"line":6641,"offset":1191801,"length":170,"previous":"M21-GAP-03385","next":"M21-GAP-03387"},"M21-GAP-03387":{"line":6642,"offset":1191971,"length":169,"previous":"M21-GAP-03386","next":"M21-GAP-03388"},"M21-GAP-03388":{"line":6643,"offset":1192140,"length":179,"previous":"M21-GAP-03387","next":"M21-GAP-03389"},"M21-GAP-03389":{"line":6644,"offset":1192319,"length":165,"previous":"M21-GAP-03388","next":"M21-GAP-03390"},"M21-GAP-03390":{"line":6645,"offset":1192484,"length":166,"previous":"M21-GAP-03389","next":"M21-GAP-03391"},"M21-GAP-03391":{"line":6646,"offset":1192650,"length":184,"previous":"M21-GAP-03390","next":"M21-GAP-03392"},"M21-GAP-03392":{"line":6647,"offset":1192834,"length":188,"previous":"M21-GAP-03391","next":"M21-GAP-03393"},"M21-GAP-03393":{"line":6648,"offset":1193022,"length":180,"previous":"M21-GAP-03392","next":"M21-GAP-03394"},"M21-GAP-03394":{"line":6649,"offset":1193202,"length":198,"previous":"M21-GAP-03393","next":"M21-GAP-03395"},"M21-GAP-03395":{"line":6650,"offset":1193400,"length":180,"previous":"M21-GAP-03394","next":"M21-GAP-03396"},"M21-GAP-03396":{"line":6651,"offset":1193580,"length":187,"previous":"M21-GAP-03395","next":"M21-GAP-03397"},"M21-GAP-03397":{"line":6652,"offset":1193767,"length":184,"previous":"M21-GAP-03396","next":"M21-GAP-03398"},"M21-GAP-03398":{"line":6653,"offset":1193951,"length":179,"previous":"M21-GAP-03397","next":"M21-GAP-03399"},"M21-GAP-03399":{"line":6654,"offset":1194130,"length":179,"previous":"M21-GAP-03398","next":"M21-GAP-03400"},"M21-GAP-03400":{"line":6655,"offset":1194309,"length":164,"previous":"M21-GAP-03399","next":"M21-GAP-03401"},"M21-GAP-03401":{"line":6656,"offset":1194473,"length":166,"previous":"M21-GAP-03400","next":"M21-GAP-03402"},"M21-GAP-03402":{"line":6657,"offset":1194639,"length":184,"previous":"M21-GAP-03401","next":"M21-GAP-03403"},"M21-GAP-03403":{"line":6658,"offset":1194823,"length":178,"previous":"M21-GAP-03402","next":"M21-GAP-03404"},"M21-GAP-03404":{"line":6659,"offset":1195001,"length":184,"previous":"M21-GAP-03403","next":"M21-GAP-03405"},"M21-GAP-03405":{"line":6660,"offset":1195185,"length":180,"previous":"M21-GAP-03404","next":"M21-GAP-03406"},"M21-GAP-03406":{"line":6661,"offset":1195365,"length":189,"previous":"M21-GAP-03405","next":"M21-GAP-03407"},"M21-GAP-03407":{"line":6662,"offset":1195554,"length":173,"previous":"M21-GAP-03406","next":"M21-GAP-03408"},"M21-GAP-03408":{"line":6663,"offset":1195727,"length":189,"previous":"M21-GAP-03407","next":"M21-GAP-03409"},"M21-GAP-03409":{"line":6664,"offset":1195916,"length":187,"previous":"M21-GAP-03408","next":"M21-GAP-03410"},"M21-GAP-03410":{"line":6665,"offset":1196103,"length":190,"previous":"M21-GAP-03409","next":"M21-GAP-03411"},"M21-GAP-03411":{"line":6666,"offset":1196293,"length":182,"previous":"M21-GAP-03410","next":"M21-GAP-03412"},"M21-GAP-03412":{"line":6667,"offset":1196475,"length":171,"previous":"M21-GAP-03411","next":"M21-GAP-03413"},"M21-GAP-03413":{"line":6668,"offset":1196646,"length":173,"previous":"M21-GAP-03412","next":"M21-GAP-03414"},"M21-GAP-03414":{"line":6669,"offset":1196819,"length":176,"previous":"M21-GAP-03413","next":"M21-GAP-03415"},"M21-GAP-03415":{"line":6670,"offset":1196995,"length":181,"previous":"M21-GAP-03414","next":"M21-GAP-03416"},"M21-GAP-03416":{"line":6671,"offset":1197176,"length":179,"previous":"M21-GAP-03415","next":"M21-GAP-03417"},"M21-GAP-03417":{"line":6672,"offset":1197355,"length":187,"previous":"M21-GAP-03416","next":"M21-GAP-03418"},"M21-GAP-03418":{"line":6673,"offset":1197542,"length":179,"previous":"M21-GAP-03417","next":"M21-GAP-03419"},"M21-GAP-03419":{"line":6674,"offset":1197721,"length":186,"previous":"M21-GAP-03418","next":"M21-GAP-03420"},"M21-GAP-03420":{"line":6675,"offset":1197907,"length":183,"previous":"M21-GAP-03419","next":"M21-GAP-03421"},"M21-GAP-03421":{"line":6676,"offset":1198090,"length":183,"previous":"M21-GAP-03420","next":"M21-GAP-03422"},"M21-GAP-03422":{"line":6677,"offset":1198273,"length":183,"previous":"M21-GAP-03421","next":"M21-GAP-03423"},"M21-GAP-03423":{"line":6678,"offset":1198456,"length":185,"previous":"M21-GAP-03422","next":"M21-GAP-03424"},"M21-GAP-03424":{"line":6679,"offset":1198641,"length":183,"previous":"M21-GAP-03423","next":"M21-GAP-03425"},"M21-GAP-03425":{"line":6680,"offset":1198824,"length":186,"previous":"M21-GAP-03424","next":"M21-GAP-03426"},"M21-GAP-03426":{"line":6681,"offset":1199010,"length":186,"previous":"M21-GAP-03425","next":"M21-GAP-03427"},"M21-GAP-03427":{"line":6682,"offset":1199196,"length":173,"previous":"M21-GAP-03426","next":"M21-GAP-03428"},"M21-GAP-03428":{"line":6683,"offset":1199369,"length":195,"previous":"M21-GAP-03427","next":"M21-GAP-03429"},"M21-GAP-03429":{"line":6684,"offset":1199564,"length":198,"previous":"M21-GAP-03428","next":"M21-GAP-03430"},"M21-GAP-03430":{"line":6685,"offset":1199762,"length":198,"previous":"M21-GAP-03429","next":"M21-GAP-03431"},"M21-GAP-03431":{"line":6686,"offset":1199960,"length":196,"previous":"M21-GAP-03430","next":"M21-GAP-03432"},"M21-GAP-03432":{"line":6687,"offset":1200156,"length":198,"previous":"M21-GAP-03431","next":"M21-GAP-03433"},"M21-GAP-03433":{"line":6688,"offset":1200354,"length":197,"previous":"M21-GAP-03432","next":"M21-GAP-03434"},"M21-GAP-03434":{"line":6689,"offset":1200551,"length":213,"previous":"M21-GAP-03433","next":"M21-GAP-03435"},"M21-GAP-03435":{"line":6690,"offset":1200764,"length":202,"previous":"M21-GAP-03434","next":"M21-GAP-03436"},"M21-GAP-03436":{"line":6691,"offset":1200966,"length":216,"previous":"M21-GAP-03435","next":"M21-GAP-03437"},"M21-GAP-03437":{"line":6692,"offset":1201182,"length":205,"previous":"M21-GAP-03436","next":"M21-GAP-03438"},"M21-GAP-03438":{"line":6693,"offset":1201387,"length":215,"previous":"M21-GAP-03437","next":"M21-GAP-03439"},"M21-GAP-03439":{"line":6694,"offset":1201602,"length":204,"previous":"M21-GAP-03438","next":"M21-GAP-03440"},"M21-GAP-03440":{"line":6695,"offset":1201806,"length":201,"previous":"M21-GAP-03439","next":"M21-GAP-03441"},"M21-GAP-03441":{"line":6696,"offset":1202007,"length":208,"previous":"M21-GAP-03440","next":"M21-GAP-03442"},"M21-GAP-03442":{"line":6697,"offset":1202215,"length":197,"previous":"M21-GAP-03441","next":"M21-GAP-03443"},"M21-GAP-03443":{"line":6698,"offset":1202412,"length":192,"previous":"M21-GAP-03442","next":"M21-GAP-03444"},"M21-GAP-03444":{"line":6699,"offset":1202604,"length":196,"previous":"M21-GAP-03443","next":"M21-GAP-03445"},"M21-GAP-03445":{"line":6700,"offset":1202800,"length":194,"previous":"M21-GAP-03444","next":"M21-GAP-03446"},"M21-GAP-03446":{"line":6701,"offset":1202994,"length":194,"previous":"M21-GAP-03445","next":"M21-GAP-03447"},"M21-GAP-03447":{"line":6702,"offset":1203188,"length":195,"previous":"M21-GAP-03446","next":"M21-GAP-03448"},"M21-GAP-03448":{"line":6703,"offset":1203383,"length":195,"previous":"M21-GAP-03447","next":"M21-GAP-03449"},"M21-GAP-03449":{"line":6704,"offset":1203578,"length":200,"previous":"M21-GAP-03448","next":"M21-GAP-03450"},"M21-GAP-03450":{"line":6705,"offset":1203778,"length":196,"previous":"M21-GAP-03449","next":"M21-GAP-03451"},"M21-GAP-03451":{"line":6706,"offset":1203974,"length":195,"previous":"M21-GAP-03450","next":"M21-GAP-03452"},"M21-GAP-03452":{"line":6707,"offset":1204169,"length":211,"previous":"M21-GAP-03451","next":"M21-GAP-03453"},"M21-GAP-03453":{"line":6708,"offset":1204380,"length":200,"previous":"M21-GAP-03452","next":"M21-GAP-03454"},"M21-GAP-03454":{"line":6709,"offset":1204580,"length":214,"previous":"M21-GAP-03453","next":"M21-GAP-03455"},"M21-GAP-03455":{"line":6710,"offset":1204794,"length":203,"previous":"M21-GAP-03454","next":"M21-GAP-03456"},"M21-GAP-03456":{"line":6711,"offset":1204997,"length":213,"previous":"M21-GAP-03455","next":"M21-GAP-03457"},"M21-GAP-03457":{"line":6712,"offset":1205210,"length":202,"previous":"M21-GAP-03456","next":"M21-GAP-03458"},"M21-GAP-03458":{"line":6713,"offset":1205412,"length":206,"previous":"M21-GAP-03457","next":"M21-GAP-03459"},"M21-GAP-03459":{"line":6714,"offset":1205618,"length":195,"previous":"M21-GAP-03458","next":"M21-GAP-03460"},"M21-GAP-03460":{"line":6715,"offset":1205813,"length":180,"previous":"M21-GAP-03459","next":"M21-GAP-03461"},"M21-GAP-03461":{"line":6716,"offset":1205993,"length":171,"previous":"M21-GAP-03460","next":"M21-GAP-03462"},"M21-GAP-03462":{"line":6717,"offset":1206164,"length":172,"previous":"M21-GAP-03461","next":"M21-GAP-03463"},"M21-GAP-03463":{"line":6718,"offset":1206336,"length":163,"previous":"M21-GAP-03462","next":"M21-GAP-03464"},"M21-GAP-03464":{"line":6719,"offset":1206499,"length":186,"previous":"M21-GAP-03463","next":"M21-GAP-03465"},"M21-GAP-03465":{"line":6720,"offset":1206685,"length":180,"previous":"M21-GAP-03464","next":"M21-GAP-03466"},"M21-GAP-03466":{"line":6721,"offset":1206865,"length":167,"previous":"M21-GAP-03465","next":"M21-GAP-03467"},"M21-GAP-03467":{"line":6722,"offset":1207032,"length":167,"previous":"M21-GAP-03466","next":"M21-GAP-03468"},"M21-GAP-03468":{"line":6723,"offset":1207199,"length":172,"previous":"M21-GAP-03467","next":"M21-GAP-03469"},"M21-GAP-03469":{"line":6724,"offset":1207371,"length":181,"previous":"M21-GAP-03468","next":"M21-GAP-03470"},"M21-GAP-03470":{"line":6725,"offset":1207552,"length":164,"previous":"M21-GAP-03469","next":"M21-GAP-03471"},"M21-GAP-03471":{"line":6726,"offset":1207716,"length":168,"previous":"M21-GAP-03470","next":"M21-GAP-03472"},"M21-GAP-03472":{"line":6727,"offset":1207884,"length":175,"previous":"M21-GAP-03471","next":"M21-GAP-03473"},"M21-GAP-03473":{"line":6728,"offset":1208059,"length":176,"previous":"M21-GAP-03472","next":"M21-GAP-03474"},"M21-GAP-03474":{"line":6729,"offset":1208235,"length":175,"previous":"M21-GAP-03473","next":"M21-GAP-03475"},"M21-GAP-03475":{"line":6730,"offset":1208410,"length":177,"previous":"M21-GAP-03474","next":"M21-GAP-03476"},"M21-GAP-03476":{"line":6731,"offset":1208587,"length":178,"previous":"M21-GAP-03475","next":"M21-GAP-03477"},"M21-GAP-03477":{"line":6732,"offset":1208765,"length":179,"previous":"M21-GAP-03476","next":"M21-GAP-03478"},"M21-GAP-03478":{"line":6733,"offset":1208944,"length":181,"previous":"M21-GAP-03477","next":"M21-GAP-03479"},"M21-GAP-03479":{"line":6734,"offset":1209125,"length":188,"previous":"M21-GAP-03478","next":"M21-GAP-03480"},"M21-GAP-03480":{"line":6735,"offset":1209313,"length":186,"previous":"M21-GAP-03479","next":"M21-GAP-03481"},"M21-GAP-03481":{"line":6736,"offset":1209499,"length":187,"previous":"M21-GAP-03480","next":"M21-GAP-03482"},"M21-GAP-03482":{"line":6737,"offset":1209686,"length":198,"previous":"M21-GAP-03481","next":"M21-GAP-03483"},"M21-GAP-03483":{"line":6738,"offset":1209884,"length":187,"previous":"M21-GAP-03482","next":"M21-GAP-03484"},"M21-GAP-03484":{"line":6739,"offset":1210071,"length":201,"previous":"M21-GAP-03483","next":"M21-GAP-03485"},"M21-GAP-03485":{"line":6740,"offset":1210272,"length":190,"previous":"M21-GAP-03484","next":"M21-GAP-03486"},"M21-GAP-03486":{"line":6741,"offset":1210462,"length":200,"previous":"M21-GAP-03485","next":"M21-GAP-03487"},"M21-GAP-03487":{"line":6742,"offset":1210662,"length":189,"previous":"M21-GAP-03486","next":"M21-GAP-03488"},"M21-GAP-03488":{"line":6743,"offset":1210851,"length":193,"previous":"M21-GAP-03487","next":"M21-GAP-03489"},"M21-GAP-03489":{"line":6744,"offset":1211044,"length":182,"previous":"M21-GAP-03488","next":"M21-GAP-03490"},"M21-GAP-03490":{"line":6745,"offset":1211226,"length":171,"previous":"M21-GAP-03489","next":"M21-GAP-03491"},"M21-GAP-03491":{"line":6746,"offset":1211397,"length":176,"previous":"M21-GAP-03490","next":"M21-GAP-03492"},"M21-GAP-03492":{"line":6747,"offset":1211573,"length":171,"previous":"M21-GAP-03491","next":"M21-GAP-03493"},"M21-GAP-03493":{"line":6748,"offset":1211744,"length":171,"previous":"M21-GAP-03492","next":"M21-GAP-03494"},"M21-GAP-03494":{"line":6749,"offset":1211915,"length":201,"previous":"M21-GAP-03493","next":"M21-GAP-03495"},"M21-GAP-03495":{"line":6750,"offset":1212116,"length":178,"previous":"M21-GAP-03494","next":"M21-GAP-03496"},"M21-GAP-03496":{"line":6751,"offset":1212294,"length":199,"previous":"M21-GAP-03495","next":"M21-GAP-03497"},"M21-GAP-03497":{"line":6752,"offset":1212493,"length":168,"previous":"M21-GAP-03496","next":"M21-GAP-03498"},"M21-GAP-03498":{"line":6753,"offset":1212661,"length":178,"previous":"M21-GAP-03497","next":"M21-GAP-03499"},"M21-GAP-03499":{"line":6754,"offset":1212839,"length":171,"previous":"M21-GAP-03498","next":"M21-GAP-03500"},"M21-GAP-03500":{"line":6755,"offset":1213010,"length":164,"previous":"M21-GAP-03499","next":"M21-GAP-03501"},"M21-GAP-03501":{"line":6756,"offset":1213174,"length":177,"previous":"M21-GAP-03500","next":"M21-GAP-03502"},"M21-GAP-03502":{"line":6757,"offset":1213351,"length":177,"previous":"M21-GAP-03501","next":"M21-GAP-03503"},"M21-GAP-03503":{"line":6758,"offset":1213528,"length":190,"previous":"M21-GAP-03502","next":"M21-GAP-03504"},"M21-GAP-03504":{"line":6759,"offset":1213718,"length":188,"previous":"M21-GAP-03503","next":"M21-GAP-03505"},"M21-GAP-03505":{"line":6760,"offset":1213906,"length":190,"previous":"M21-GAP-03504","next":"M21-GAP-03506"},"M21-GAP-03506":{"line":6761,"offset":1214096,"length":190,"previous":"M21-GAP-03505","next":"M21-GAP-03507"},"M21-GAP-03507":{"line":6762,"offset":1214286,"length":189,"previous":"M21-GAP-03506","next":"M21-GAP-03508"},"M21-GAP-03508":{"line":6763,"offset":1214475,"length":205,"previous":"M21-GAP-03507","next":"M21-GAP-03509"},"M21-GAP-03509":{"line":6764,"offset":1214680,"length":194,"previous":"M21-GAP-03508","next":"M21-GAP-03510"},"M21-GAP-03510":{"line":6765,"offset":1214874,"length":208,"previous":"M21-GAP-03509","next":"M21-GAP-03511"},"M21-GAP-03511":{"line":6766,"offset":1215082,"length":197,"previous":"M21-GAP-03510","next":"M21-GAP-03512"},"M21-GAP-03512":{"line":6767,"offset":1215279,"length":207,"previous":"M21-GAP-03511","next":"M21-GAP-03513"},"M21-GAP-03513":{"line":6768,"offset":1215486,"length":196,"previous":"M21-GAP-03512","next":"M21-GAP-03514"},"M21-GAP-03514":{"line":6769,"offset":1215682,"length":200,"previous":"M21-GAP-03513","next":"M21-GAP-03515"},"M21-GAP-03515":{"line":6770,"offset":1215882,"length":189,"previous":"M21-GAP-03514","next":"M21-GAP-03516"},"M21-GAP-03516":{"line":6771,"offset":1216071,"length":177,"previous":"M21-GAP-03515","next":"M21-GAP-03517"},"M21-GAP-03517":{"line":6772,"offset":1216248,"length":184,"previous":"M21-GAP-03516","next":"M21-GAP-03518"},"M21-GAP-03518":{"line":6773,"offset":1216432,"length":180,"previous":"M21-GAP-03517","next":"M21-GAP-03519"},"M21-GAP-03519":{"line":6774,"offset":1216612,"length":179,"previous":"M21-GAP-03518","next":"M21-GAP-03520"},"M21-GAP-03520":{"line":6775,"offset":1216791,"length":174,"previous":"M21-GAP-03519","next":"M21-GAP-03521"},"M21-GAP-03521":{"line":6776,"offset":1216965,"length":166,"previous":"M21-GAP-03520","next":"M21-GAP-03522"},"M21-GAP-03522":{"line":6777,"offset":1217131,"length":173,"previous":"M21-GAP-03521","next":"M21-GAP-03523"},"M21-GAP-03523":{"line":6778,"offset":1217304,"length":179,"previous":"M21-GAP-03522","next":"M21-GAP-03524"},"M21-GAP-03524":{"line":6779,"offset":1217483,"length":166,"previous":"M21-GAP-03523","next":"M21-GAP-03525"},"M21-GAP-03525":{"line":6780,"offset":1217649,"length":188,"previous":"M21-GAP-03524","next":"M21-GAP-03526"},"M21-GAP-03526":{"line":6781,"offset":1217837,"length":191,"previous":"M21-GAP-03525","next":"M21-GAP-03527"},"M21-GAP-03527":{"line":6782,"offset":1218028,"length":207,"previous":"M21-GAP-03526","next":"M21-GAP-03528"},"M21-GAP-03528":{"line":6783,"offset":1218235,"length":196,"previous":"M21-GAP-03527","next":"M21-GAP-03529"},"M21-GAP-03529":{"line":6784,"offset":1218431,"length":210,"previous":"M21-GAP-03528","next":"M21-GAP-03530"},"M21-GAP-03530":{"line":6785,"offset":1218641,"length":199,"previous":"M21-GAP-03529","next":"M21-GAP-03531"},"M21-GAP-03531":{"line":6786,"offset":1218840,"length":209,"previous":"M21-GAP-03530","next":"M21-GAP-03532"},"M21-GAP-03532":{"line":6787,"offset":1219049,"length":198,"previous":"M21-GAP-03531","next":"M21-GAP-03533"},"M21-GAP-03533":{"line":6788,"offset":1219247,"length":190,"previous":"M21-GAP-03532","next":"M21-GAP-03534"},"M21-GAP-03534":{"line":6789,"offset":1219437,"length":179,"previous":"M21-GAP-03533","next":"M21-GAP-03535"},"M21-GAP-03535":{"line":6790,"offset":1219616,"length":170,"previous":"M21-GAP-03534","next":"M21-GAP-03536"},"M21-GAP-03536":{"line":6791,"offset":1219786,"length":185,"previous":"M21-GAP-03535","next":"M21-GAP-03537"},"M21-GAP-03537":{"line":6792,"offset":1219971,"length":178,"previous":"M21-GAP-03536","next":"M21-GAP-03538"},"M21-GAP-03538":{"line":6793,"offset":1220149,"length":178,"previous":"M21-GAP-03537","next":"M21-GAP-03539"},"M21-GAP-03539":{"line":6794,"offset":1220327,"length":170,"previous":"M21-GAP-03538","next":"M21-GAP-03540"},"M21-GAP-03540":{"line":6795,"offset":1220497,"length":170,"previous":"M21-GAP-03539","next":"M21-GAP-03541"},"M21-GAP-03541":{"line":6796,"offset":1220667,"length":176,"previous":"M21-GAP-03540","next":"M21-GAP-03542"},"M21-GAP-03542":{"line":6797,"offset":1220843,"length":191,"previous":"M21-GAP-03541","next":"M21-GAP-03543"},"M21-GAP-03543":{"line":6798,"offset":1221034,"length":179,"previous":"M21-GAP-03542","next":"M21-GAP-03544"},"M21-GAP-03544":{"line":6799,"offset":1221213,"length":169,"previous":"M21-GAP-03543","next":"M21-GAP-03545"},"M21-GAP-03545":{"line":6800,"offset":1221382,"length":174,"previous":"M21-GAP-03544","next":"M21-GAP-03546"},"M21-GAP-03546":{"line":6801,"offset":1221556,"length":172,"previous":"M21-GAP-03545","next":"M21-GAP-03547"},"M21-GAP-03547":{"line":6802,"offset":1221728,"length":191,"previous":"M21-GAP-03546","next":"M21-GAP-03548"},"M21-GAP-03548":{"line":6803,"offset":1221919,"length":179,"previous":"M21-GAP-03547","next":"M21-GAP-03549"},"M21-GAP-03549":{"line":6804,"offset":1222098,"length":166,"previous":"M21-GAP-03548","next":"M21-GAP-03550"},"M21-GAP-03550":{"line":6805,"offset":1222264,"length":178,"previous":"M21-GAP-03549","next":"M21-GAP-03551"},"M21-GAP-03551":{"line":6806,"offset":1222442,"length":176,"previous":"M21-GAP-03550","next":"M21-GAP-03552"},"M21-GAP-03552":{"line":6807,"offset":1222618,"length":181,"previous":"M21-GAP-03551","next":"M21-GAP-03553"},"M21-GAP-03553":{"line":6808,"offset":1222799,"length":177,"previous":"M21-GAP-03552","next":"M21-GAP-03554"},"M21-GAP-03554":{"line":6809,"offset":1222976,"length":182,"previous":"M21-GAP-03553","next":"M21-GAP-03555"},"M21-GAP-03555":{"line":6810,"offset":1223158,"length":179,"previous":"M21-GAP-03554","next":"M21-GAP-03556"},"M21-GAP-03556":{"line":6811,"offset":1223337,"length":208,"previous":"M21-GAP-03555","next":"M21-GAP-03557"},"M21-GAP-03557":{"line":6812,"offset":1223545,"length":177,"previous":"M21-GAP-03556","next":"M21-GAP-03558"},"M21-GAP-03558":{"line":6813,"offset":1223722,"length":177,"previous":"M21-GAP-03557","next":"M21-GAP-03559"},"M21-GAP-03559":{"line":6814,"offset":1223899,"length":172,"previous":"M21-GAP-03558","next":"M21-GAP-03560"},"M21-GAP-03560":{"line":6815,"offset":1224071,"length":166,"previous":"M21-GAP-03559","next":"M21-GAP-03561"},"M21-GAP-03561":{"line":6816,"offset":1224237,"length":158,"previous":"M21-GAP-03560","next":"M21-GAP-03562"},"M21-GAP-03562":{"line":6817,"offset":1224395,"length":165,"previous":"M21-GAP-03561","next":"M21-GAP-03563"},"M21-GAP-03563":{"line":6818,"offset":1224560,"length":155,"previous":"M21-GAP-03562","next":"M21-GAP-03564"},"M21-GAP-03564":{"line":6819,"offset":1224715,"length":154,"previous":"M21-GAP-03563","next":"M21-GAP-03565"},"M21-GAP-03565":{"line":6820,"offset":1224869,"length":153,"previous":"M21-GAP-03564","next":"M21-GAP-03566"},"M21-GAP-03566":{"line":6821,"offset":1225022,"length":153,"previous":"M21-GAP-03565","next":"M21-GAP-03567"},"M21-GAP-03567":{"line":6822,"offset":1225175,"length":150,"previous":"M21-GAP-03566","next":"M21-GAP-03568"},"M21-GAP-03568":{"line":6823,"offset":1225325,"length":161,"previous":"M21-GAP-03567","next":"M21-GAP-03569"},"M21-GAP-03569":{"line":6824,"offset":1225486,"length":154,"previous":"M21-GAP-03568","next":"M21-GAP-03570"},"M21-GAP-03570":{"line":6825,"offset":1225640,"length":156,"previous":"M21-GAP-03569","next":"M21-GAP-03571"},"M21-GAP-03571":{"line":6826,"offset":1225796,"length":156,"previous":"M21-GAP-03570","next":"M21-GAP-03572"},"M21-GAP-03572":{"line":6827,"offset":1225952,"length":152,"previous":"M21-GAP-03571","next":"M21-GAP-03573"},"M21-GAP-03573":{"line":6828,"offset":1226104,"length":158,"previous":"M21-GAP-03572","next":"M21-GAP-03574"},"M21-GAP-03574":{"line":6829,"offset":1226262,"length":157,"previous":"M21-GAP-03573","next":"M21-GAP-03575"},"M21-GAP-03575":{"line":6830,"offset":1226419,"length":149,"previous":"M21-GAP-03574","next":"M21-GAP-03576"},"M21-GAP-03576":{"line":6831,"offset":1226568,"length":153,"previous":"M21-GAP-03575","next":"M21-GAP-03577"},"M21-GAP-03577":{"line":6832,"offset":1226721,"length":149,"previous":"M21-GAP-03576","next":"M21-GAP-03578"},"M21-GAP-03578":{"line":6833,"offset":1226870,"length":166,"previous":"M21-GAP-03577","next":"M21-GAP-03579"},"M21-GAP-03579":{"line":6834,"offset":1227036,"length":163,"previous":"M21-GAP-03578","next":"M21-GAP-03580"},"M21-GAP-03580":{"line":6835,"offset":1227199,"length":171,"previous":"M21-GAP-03579","next":"M21-GAP-03581"},"M21-GAP-03581":{"line":6836,"offset":1227370,"length":167,"previous":"M21-GAP-03580","next":"M21-GAP-03582"},"M21-GAP-03582":{"line":6837,"offset":1227537,"length":167,"previous":"M21-GAP-03581","next":"M21-GAP-03583"},"M21-GAP-03583":{"line":6838,"offset":1227704,"length":167,"previous":"M21-GAP-03582","next":"M21-GAP-03584"},"M21-GAP-03584":{"line":6839,"offset":1227871,"length":160,"previous":"M21-GAP-03583","next":"M21-GAP-03585"},"M21-GAP-03585":{"line":6840,"offset":1228031,"length":159,"previous":"M21-GAP-03584","next":"M21-GAP-03586"},"M21-GAP-03586":{"line":6841,"offset":1228190,"length":166,"previous":"M21-GAP-03585","next":"M21-GAP-03587"},"M21-GAP-03587":{"line":6842,"offset":1228356,"length":164,"previous":"M21-GAP-03586","next":"M21-GAP-03588"},"M21-GAP-03588":{"line":6843,"offset":1228520,"length":167,"previous":"M21-GAP-03587","next":"M21-GAP-03589"},"M21-GAP-03589":{"line":6844,"offset":1228687,"length":166,"previous":"M21-GAP-03588","next":"M21-GAP-03590"},"M21-GAP-03590":{"line":6845,"offset":1228853,"length":170,"previous":"M21-GAP-03589","next":"M21-GAP-03591"},"M21-GAP-03591":{"line":6846,"offset":1229023,"length":167,"previous":"M21-GAP-03590","next":"M21-GAP-03592"},"M21-GAP-03592":{"line":6847,"offset":1229190,"length":166,"previous":"M21-GAP-03591","next":"M21-GAP-03593"},"M21-GAP-03593":{"line":6848,"offset":1229356,"length":162,"previous":"M21-GAP-03592","next":"M21-GAP-03594"},"M21-GAP-03594":{"line":6849,"offset":1229518,"length":156,"previous":"M21-GAP-03593","next":"M21-GAP-03595"},"M21-GAP-03595":{"line":6850,"offset":1229674,"length":152,"previous":"M21-GAP-03594","next":"M21-GAP-03596"},"M21-GAP-03596":{"line":6851,"offset":1229826,"length":161,"previous":"M21-GAP-03595","next":"M21-GAP-03597"},"M21-GAP-03597":{"line":6852,"offset":1229987,"length":150,"previous":"M21-GAP-03596","next":"M21-GAP-03598"},"M21-GAP-03598":{"line":6853,"offset":1230137,"length":157,"previous":"M21-GAP-03597","next":"M21-GAP-03599"},"M21-GAP-03599":{"line":6854,"offset":1230294,"length":157,"previous":"M21-GAP-03598","next":"M21-GAP-03600"},"M21-GAP-03600":{"line":6855,"offset":1230451,"length":157,"previous":"M21-GAP-03599","next":"M21-GAP-03601"},"M21-GAP-03601":{"line":6856,"offset":1230608,"length":149,"previous":"M21-GAP-03600","next":"M21-GAP-03602"},"M21-GAP-03602":{"line":6857,"offset":1230757,"length":155,"previous":"M21-GAP-03601","next":"M21-GAP-03603"},"M21-GAP-03603":{"line":6858,"offset":1230912,"length":156,"previous":"M21-GAP-03602","next":"M21-GAP-03604"},"M21-GAP-03604":{"line":6859,"offset":1231068,"length":153,"previous":"M21-GAP-03603","next":"M21-GAP-03605"},"M21-GAP-03605":{"line":6860,"offset":1231221,"length":156,"previous":"M21-GAP-03604","next":"M21-GAP-03606"},"M21-GAP-03606":{"line":6861,"offset":1231377,"length":155,"previous":"M21-GAP-03605","next":"M21-GAP-03607"},"M21-GAP-03607":{"line":6862,"offset":1231532,"length":160,"previous":"M21-GAP-03606","next":"M21-GAP-03608"},"M21-GAP-03608":{"line":6863,"offset":1231692,"length":156,"previous":"M21-GAP-03607","next":"M21-GAP-03609"},"M21-GAP-03609":{"line":6864,"offset":1231848,"length":154,"previous":"M21-GAP-03608","next":"M21-GAP-03610"},"M21-GAP-03610":{"line":6865,"offset":1232002,"length":156,"previous":"M21-GAP-03609","next":"M21-GAP-03611"},"M21-GAP-03611":{"line":6866,"offset":1232158,"length":151,"previous":"M21-GAP-03610","next":"M21-GAP-03612"},"M21-GAP-03612":{"line":6867,"offset":1232309,"length":152,"previous":"M21-GAP-03611","next":"M21-GAP-03613"},"M21-GAP-03613":{"line":6868,"offset":1232461,"length":157,"previous":"M21-GAP-03612","next":"M21-GAP-03614"},"M21-GAP-03614":{"line":6869,"offset":1232618,"length":165,"previous":"M21-GAP-03613","next":"M21-GAP-03615"},"M21-GAP-03615":{"line":6870,"offset":1232783,"length":159,"previous":"M21-GAP-03614","next":"M21-GAP-03616"},"M21-GAP-03616":{"line":6871,"offset":1232942,"length":172,"previous":"M21-GAP-03615","next":"M21-GAP-03617"},"M21-GAP-03617":{"line":6872,"offset":1233114,"length":166,"previous":"M21-GAP-03616","next":"M21-GAP-03618"},"M21-GAP-03618":{"line":6873,"offset":1233280,"length":157,"previous":"M21-GAP-03617","next":"M21-GAP-03619"},"M21-GAP-03619":{"line":6874,"offset":1233437,"length":159,"previous":"M21-GAP-03618","next":"M21-GAP-03620"},"M21-GAP-03620":{"line":6875,"offset":1233596,"length":173,"previous":"M21-GAP-03619","next":"M21-GAP-03621"},"M21-GAP-03621":{"line":6876,"offset":1233769,"length":166,"previous":"M21-GAP-03620","next":"M21-GAP-03622"},"M21-GAP-03622":{"line":6877,"offset":1233935,"length":173,"previous":"M21-GAP-03621","next":"M21-GAP-03623"},"M21-GAP-03623":{"line":6878,"offset":1234108,"length":165,"previous":"M21-GAP-03622","next":"M21-GAP-03624"},"M21-GAP-03624":{"line":6879,"offset":1234273,"length":173,"previous":"M21-GAP-03623","next":"M21-GAP-03625"},"M21-GAP-03625":{"line":6880,"offset":1234446,"length":165,"previous":"M21-GAP-03624","next":"M22-GAP-00001"},"M22-GAP-00001":{"line":6881,"offset":1234611,"length":166,"previous":"M21-GAP-03625","next":"M22-GAP-00002"},"M22-GAP-00002":{"line":6882,"offset":1234777,"length":180,"previous":"M22-GAP-00001","next":"M22-GAP-00003"},"M22-GAP-00003":{"line":6883,"offset":1234957,"length":172,"previous":"M22-GAP-00002","next":"M22-GAP-00004"},"M22-GAP-00004":{"line":6884,"offset":1235129,"length":155,"previous":"M22-GAP-00003","next":"M22-GAP-00005"},"M22-GAP-00005":{"line":6885,"offset":1235284,"length":159,"previous":"M22-GAP-00004","next":"M22-GAP-00006"},"M22-GAP-00006":{"line":6886,"offset":1235443,"length":159,"previous":"M22-GAP-00005","next":"M22-GAP-00007"},"M22-GAP-00007":{"line":6887,"offset":1235602,"length":164,"previous":"M22-GAP-00006","next":"M22-GAP-00008"},"M22-GAP-00008":{"line":6888,"offset":1235766,"length":154,"previous":"M22-GAP-00007","next":"M22-GAP-00009"},"M22-GAP-00009":{"line":6889,"offset":1235920,"length":157,"previous":"M22-GAP-00008","next":"M22-GAP-00010"},"M22-GAP-00010":{"line":6890,"offset":1236077,"length":157,"previous":"M22-GAP-00009","next":"M22-GAP-00011"},"M22-GAP-00011":{"line":6891,"offset":1236234,"length":157,"previous":"M22-GAP-00010","next":"M22-GAP-00012"},"M22-GAP-00012":{"line":6892,"offset":1236391,"length":155,"previous":"M22-GAP-00011","next":"M22-GAP-00013"},"M22-GAP-00013":{"line":6893,"offset":1236546,"length":163,"previous":"M22-GAP-00012","next":"M22-GAP-00014"},"M22-GAP-00014":{"line":6894,"offset":1236709,"length":154,"previous":"M22-GAP-00013","next":"M22-GAP-00015"},"M22-GAP-00015":{"line":6895,"offset":1236863,"length":155,"previous":"M22-GAP-00014","next":"M22-GAP-00016"},"M22-GAP-00016":{"line":6896,"offset":1237018,"length":158,"previous":"M22-GAP-00015","next":"M22-GAP-00017"},"M22-GAP-00017":{"line":6897,"offset":1237176,"length":155,"previous":"M22-GAP-00016","next":"M22-GAP-00018"},"M22-GAP-00018":{"line":6898,"offset":1237331,"length":162,"previous":"M22-GAP-00017","next":"M22-GAP-00019"},"M22-GAP-00019":{"line":6899,"offset":1237493,"length":154,"previous":"M22-GAP-00018","next":null}}} diff --git a/tests/golden/M16-GAP-00096/manifest.json b/tests/golden/M16-GAP-00096/manifest.json new file mode 100644 index 00000000..b4b9ec1d --- /dev/null +++ b/tests/golden/M16-GAP-00096/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00096", + "parentTask": "M16-GAP-00095", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "SOLIDIFY_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00095/manifest.json", "sha256": "9fa2c3ed7fbee3b52c0cb2f629f7886e492cfec2a2a4d11b93f33a0a16d7a92e"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend", "sha256": "0b319df9e6c4f677728af992114196e4fa29f80effabc01b3dbfd639bc2b66d5"}, + "generator": {"path": "tools/web/generated/M16-GAP-00096.py", "sha256": "8ffa8697f2d4490f9ca2f04d4eaa3866be4bdecbe17e9d5db11c13882034c009"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "06907bb045cb0c14b518b620facded50ae5cd52f23e2281de04017ff1b11bb71"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "d613cf0915abdf2cdc1f2a534e1e0a478c38cb5ca2d89c2e3ad708e957e0849a"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json", "sha256": "914187f8ec57e442d85fae5710aa98bd058e91930bdacd7928694281bad54df3"}, + "webReport": {"path": "tests/golden/M16-GAP-00096/solidify-modifier-local-exact-report.json", "sha256": "b6437999773cc18296a54e041c8df8b33d595f9ebe67c826a47f62308d307232"} + }, + "nextTask": "M16-GAP-00097" +} diff --git a/tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json b/tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json new file mode 100644 index 00000000..f2ccf21b --- /dev/null +++ b/tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json @@ -0,0 +1,25 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend", + "fixtureSha256": "0b319df9e6c4f677728af992114196e4fa29f80effabc01b3dbfd639bc2b66d5", + "modifier": { + "meshId": "mesh:WebGapSolidifyMesh", + "modifier": { + "name": "WebGapSolidify", + "offset": 0.3499999940395355, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "thickness": 0.2750000059604645, + "type": "SOLIDIFY", + "typeCode": 33 + }, + "objectId": "object:WebGapSolidifyObject", + "task": "M16-GAP-00096" + }, + "operation": "SOLIDIFY_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00096" +} diff --git a/tests/golden/M16-GAP-00096/solidify-modifier-local-exact-report.json b/tests/golden/M16-GAP-00096/solidify-modifier-local-exact-report.json new file mode 100644 index 00000000..19dbf5a2 --- /dev/null +++ b/tests/golden/M16-GAP-00096/solidify-modifier-local-exact-report.json @@ -0,0 +1,44 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00096", + "operation": "SOLIDIFY_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend", + "sha256": "0b319df9e6c4f677728af992114196e4fa29f80effabc01b3dbfd639bc2b66d5" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00096/solidify-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapSolidifyObject", + "meshId": "mesh:WebGapSolidifyMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapSolidify", + "parameters": { + "flag": 5, + "mode": 5, + "offset": 0.3499999940395355, + "persistentUid": 129666994, + "thickness": 0.2750000059604645, + "typeCode": 33 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SOLIDIFY", + "uuid": "modifier:object:WebGapSolidifyObject:129666994" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00097" +} diff --git a/tests/golden/M16-GAP-00096/task-context.json b/tests/golden/M16-GAP-00096/task-context.json new file mode 100644 index 00000000..61069720 --- /dev/null +++ b/tests/golden/M16-GAP-00096/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00096", + "parentTask": "M16-GAP-00095", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:SOLIDIFY data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:SOLIDIFY", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00096.py -- tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00096", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00096" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00096.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6703, + "contextRemainingTokens": 1674 + }, + "source": { + "bytes": 7297, + "tokens": 1826 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00096.py", + "bytes": 1021, + "tokens": 256 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00096-modifier-SOLIDIFY.blend", + "bytes": 86420, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221861, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 141861, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00096/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00096.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00096/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1021, + "tokens": 256 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00097", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00096.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00095/manifest.json", + "parentStatus": "docs/status/M16-GAP-00095.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00096.md", + "tests/golden/M16-GAP-00095/manifest.json", + "docs/status/M16-GAP-00095.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00095", + "parentTask": "M16-GAP-00094", + "status": "done", + "nextTask": "M16-GAP-00096", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00095 Status", + "status: done", + "task: SOFT_BODY modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh SOFT_BODY modifier stack exposure for `mesh:WebGapSoftBodyMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapSoftBody` as SOFT_BODY type code 10; save/reopen is exact.", + "- WASM/Main exposes the same SOFT_BODY stack entry as `METADATA_ONLY`; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1729, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 433 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00096.md", + "bytes": 1729, + "lines": 38, + "tokens": 433 + }, + { + "path": "tests/golden/M16-GAP-00095/manifest.json", + "bytes": 2743, + "lines": 29, + "tokens": 686 + }, + { + "path": "docs/status/M16-GAP-00095.md", + "bytes": 657, + "lines": 19, + "tokens": 165 + } + ], + "sourceTokens": 1826, + "evidenceFiles": 1, + "evidenceBytes": 1021, + "evidenceTokens": 256, + "totalTokens": 2082, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00097/manifest.json b/tests/golden/M16-GAP-00097/manifest.json new file mode 100644 index 00000000..ed8c0af2 --- /dev/null +++ b/tests/golden/M16-GAP-00097/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00097", + "parentTask": "M16-GAP-00096", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "SUBSURF_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00096/manifest.json", "sha256": "f539f112a4c5aaa4565554d8a3d5947c9c77a8d8df8ef8f39adbc1b1146a2b8b"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend", "sha256": "f0c3e9801b4138c3701599e24242374dbb6217f223e2decc7c04d5558094108a"}, + "generator": {"path": "tools/web/generated/M16-GAP-00097.py", "sha256": "cd26d7bd580a78e40a78f7bd47526dbd3430d75b9c1f9c63849668b613277960"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "65d211c3a1ea33eca121771f33870466d53ef6248743eff96bd5e789b9f049be"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "abb6f9d3de215df6abff830a83b3e964bccc0c42b29ab2b16af599508c156f83"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json", "sha256": "e1ce95f66a26b4e687bd32fc6f975044033d921703954e0e26674dfbce556bea"}, + "webReport": {"path": "tests/golden/M16-GAP-00097/subsurf-modifier-local-exact-report.json", "sha256": "c146dabc29a94e25df4f09e6de727a3377f48ea706dbe74f51b903efbc5a293d"} + }, + "nextTask": "M16-GAP-00098" +} diff --git a/tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json b/tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json new file mode 100644 index 00000000..6b218d1a --- /dev/null +++ b/tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json @@ -0,0 +1,26 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend", + "fixtureSha256": "f0c3e9801b4138c3701599e24242374dbb6217f223e2decc7c04d5558094108a", + "modifier": { + "meshId": "mesh:WebGapSubsurfMesh", + "modifier": { + "levels": 2, + "name": "WebGapSubsurf", + "renderLevels": 3, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "subdivisionType": 1, + "type": "SUBSURF", + "typeCode": 1 + }, + "objectId": "object:WebGapSubsurfObject", + "task": "M16-GAP-00097" + }, + "operation": "SUBSURF_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00097" +} diff --git a/tests/golden/M16-GAP-00097/subsurf-modifier-local-exact-report.json b/tests/golden/M16-GAP-00097/subsurf-modifier-local-exact-report.json new file mode 100644 index 00000000..95e5237a --- /dev/null +++ b/tests/golden/M16-GAP-00097/subsurf-modifier-local-exact-report.json @@ -0,0 +1,45 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00097", + "operation": "SUBSURF_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend", + "sha256": "f0c3e9801b4138c3701599e24242374dbb6217f223e2decc7c04d5558094108a" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00097/subsurf-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapSubsurfObject", + "meshId": "mesh:WebGapSubsurfMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapSubsurf", + "parameters": { + "flag": 5, + "levels": 2, + "mode": 5, + "persistentUid": 1454833520, + "renderLevels": 3, + "subdivisionType": 1, + "typeCode": 1 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SUBSURF", + "uuid": "modifier:object:WebGapSubsurfObject:1454833520" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00098" +} diff --git a/tests/golden/M16-GAP-00097/task-context.json b/tests/golden/M16-GAP-00097/task-context.json new file mode 100644 index 00000000..f681563c --- /dev/null +++ b/tests/golden/M16-GAP-00097/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00097", + "parentTask": "M16-GAP-00096", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:SUBSURF data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:SUBSURF", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00097.py -- tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00097", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00097" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00097.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6495, + "contextRemainingTokens": 1623 + }, + "source": { + "bytes": 7505, + "tokens": 1877 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00097.py", + "bytes": 1073, + "tokens": 269 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00097-modifier-SUBSURF.blend", + "bytes": 86391, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221861, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 142260, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00097/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00097.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00097/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1073, + "tokens": 269 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00098", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00097.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00096/manifest.json", + "parentStatus": "docs/status/M16-GAP-00096.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00097.md", + "tests/golden/M16-GAP-00096/manifest.json", + "docs/status/M16-GAP-00096.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00096", + "parentTask": "M16-GAP-00095", + "status": "done", + "nextTask": "M16-GAP-00097", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00096 Status", + "status: done", + "task: SOLIDIFY modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh SOLIDIFY modifier stack exposure for `mesh:WebGapSolidifyMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapSolidify` as SOLIDIFY type code 33 with thickness `0.275` and offset `0.35`; save/reopen is exact.", + "- WASM/Main exposes the same SOLIDIFY stack entry with matching thickness/offset and generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1724, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 431 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00097.md", + "bytes": 1724, + "lines": 38, + "tokens": 431 + }, + { + "path": "tests/golden/M16-GAP-00096/manifest.json", + "bytes": 2739, + "lines": 29, + "tokens": 685 + }, + { + "path": "docs/status/M16-GAP-00096.md", + "bytes": 874, + "lines": 20, + "tokens": 219 + } + ], + "sourceTokens": 1877, + "evidenceFiles": 1, + "evidenceBytes": 1073, + "evidenceTokens": 269, + "totalTokens": 2146, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00098/manifest.json b/tests/golden/M16-GAP-00098/manifest.json new file mode 100644 index 00000000..1ce8cf52 --- /dev/null +++ b/tests/golden/M16-GAP-00098/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00098", + "parentTask": "M16-GAP-00097", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "SURFACE_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00097/manifest.json", "sha256": "df24b8387d70f8c6ca35306fb7994b056801c0f700769584d718bf30a885adee"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend", "sha256": "41aa335359773ce72a3f372784d1fbf74a1ec65c077652f0cb98d34793edc937"}, + "generator": {"path": "tools/web/generated/M16-GAP-00098.py", "sha256": "988ad257572050d657a7c82ece4f639246a93e700ee3cb216469fb73bbb948e9"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "65d211c3a1ea33eca121771f33870466d53ef6248743eff96bd5e789b9f049be"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "dc23d8d7837fd9d43896804c076221cf584bf044d2e897bb2dad2320a662959a"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json", "sha256": "75a588cd606fe0395c7f6541eed4ca26daa0109d7f6fa62cffe87e41149d0a95"}, + "webReport": {"path": "tests/golden/M16-GAP-00098/surface-modifier-local-exact-report.json", "sha256": "7b004c755290ebe920a9296a7768ff3231eaec66e1836536d98dffa4d6c6dbab"} + }, + "nextTask": "M16-GAP-00099" +} diff --git a/tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json b/tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json new file mode 100644 index 00000000..f29cec9b --- /dev/null +++ b/tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend", + "fixtureSha256": "41aa335359773ce72a3f372784d1fbf74a1ec65c077652f0cb98d34793edc937", + "modifier": { + "meshId": "mesh:WebGapSurfaceMesh", + "modifier": { + "name": "WebGapSurface", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SURFACE", + "typeCode": 30 + }, + "objectId": "object:WebGapSurfaceObject", + "task": "M16-GAP-00098" + }, + "operation": "SURFACE_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00098" +} diff --git a/tests/golden/M16-GAP-00098/surface-modifier-local-exact-report.json b/tests/golden/M16-GAP-00098/surface-modifier-local-exact-report.json new file mode 100644 index 00000000..e5441db3 --- /dev/null +++ b/tests/golden/M16-GAP-00098/surface-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00098", + "operation": "SURFACE_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend", + "sha256": "41aa335359773ce72a3f372784d1fbf74a1ec65c077652f0cb98d34793edc937" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00098/surface-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapSurfaceObject", + "meshId": "mesh:WebGapSurfaceMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapSurface", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 298436185, + "typeCode": 30 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SURFACE", + "uuid": "modifier:object:WebGapSurfaceObject:298436185" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00099" +} diff --git a/tests/golden/M16-GAP-00098/task-context.json b/tests/golden/M16-GAP-00098/task-context.json new file mode 100644 index 00000000..e5ab04c8 --- /dev/null +++ b/tests/golden/M16-GAP-00098/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00098", + "parentTask": "M16-GAP-00097", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:SURFACE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:SURFACE", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00098.py -- tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00098", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00098" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00098.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6606, + "contextRemainingTokens": 1651 + }, + "source": { + "bytes": 7394, + "tokens": 1849 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00098.py", + "bytes": 977, + "tokens": 245 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00098-modifier-SURFACE.blend", + "bytes": 86387, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221861, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 142350, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00098/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00098.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00098/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 977, + "tokens": 245 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00099", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00098.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00097/manifest.json", + "parentStatus": "docs/status/M16-GAP-00097.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00098.md", + "tests/golden/M16-GAP-00097/manifest.json", + "docs/status/M16-GAP-00097.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00097", + "parentTask": "M16-GAP-00096", + "status": "done", + "nextTask": "M16-GAP-00098", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00097 Status", + "status: done", + "task: SUBSURF modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh SUBSURF modifier stack exposure for `mesh:WebGapSubsurfMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapSubsurf` as SUBSURF type code 1 with SIMPLE subdivision, viewport level 2, and render level 3; save/reopen is exact.", + "- WASM/Main exposes the same SUBSURF stack entry and matching subdivision parameters; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1724, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 431 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00098.md", + "bytes": 1724, + "lines": 38, + "tokens": 431 + }, + { + "path": "tests/golden/M16-GAP-00097/manifest.json", + "bytes": 2735, + "lines": 29, + "tokens": 684 + }, + { + "path": "docs/status/M16-GAP-00097.md", + "bytes": 767, + "lines": 19, + "tokens": 192 + } + ], + "sourceTokens": 1849, + "evidenceFiles": 1, + "evidenceBytes": 977, + "evidenceTokens": 245, + "totalTokens": 2094, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00099/manifest.json b/tests/golden/M16-GAP-00099/manifest.json new file mode 100644 index 00000000..63332f50 --- /dev/null +++ b/tests/golden/M16-GAP-00099/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00099", + "parentTask": "M16-GAP-00098", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "SURFACE_DEFORM_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00098/manifest.json", "sha256": "c447e41b823dd1c7bd59619771424eb733bd257a58029de4b794edb5b544f7e2"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend", "sha256": "cb459101d9ecdd4e5761a3e216dcf3eda99a09eaad5642573ef0ba0b4c063072"}, + "generator": {"path": "tools/web/generated/M16-GAP-00099.py", "sha256": "bafaa8cf007d02851acca674b3894d758a8dc3874ca87c184d705a07fdfc724d"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "65d211c3a1ea33eca121771f33870466d53ef6248743eff96bd5e789b9f049be"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "998a0950251d1c0069cf709b1b301268ca9df7705d1b31f97b522f38d83f40a5"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json", "sha256": "bfd91c545efcf0688bfa9cee24e65de82224eecf715a1ab4385061a7d7df4db1"}, + "webReport": {"path": "tests/golden/M16-GAP-00099/surface-deform-modifier-local-exact-report.json", "sha256": "7d5f760727e03951c3f5b2c3e885b33ce92af7293ca101732fa490136dc25ed5"} + }, + "nextTask": "M16-GAP-00100" +} diff --git a/tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json b/tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json new file mode 100644 index 00000000..423dea54 --- /dev/null +++ b/tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend", + "fixtureSha256": "cb459101d9ecdd4e5761a3e216dcf3eda99a09eaad5642573ef0ba0b4c063072", + "modifier": { + "meshId": "mesh:WebGapSurfaceDeformMesh", + "modifier": { + "name": "WebGapSurfaceDeform", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SURFACE_DEFORM", + "typeCode": 53 + }, + "objectId": "object:WebGapSurfaceDeformObject", + "task": "M16-GAP-00099" + }, + "operation": "SURFACE_DEFORM_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00099" +} diff --git a/tests/golden/M16-GAP-00099/surface-deform-modifier-local-exact-report.json b/tests/golden/M16-GAP-00099/surface-deform-modifier-local-exact-report.json new file mode 100644 index 00000000..e6f5cdda --- /dev/null +++ b/tests/golden/M16-GAP-00099/surface-deform-modifier-local-exact-report.json @@ -0,0 +1,46 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00099", + "operation": "SURFACE_DEFORM_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00099-modifier-SURFACE_DEFORM.blend", + "sha256": "cb459101d9ecdd4e5761a3e216dcf3eda99a09eaad5642573ef0ba0b4c063072" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00099/surface-deform-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapSurfaceDeformObject", + "meshId": "mesh:WebGapSurfaceDeformMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapSurfaceDeform", + "parameters": { + "falloff": 4, + "flag": 5, + "mode": 1, + "persistentUid": 583674501, + "strength": 1, + "surfaceDeformFlags": 0, + "typeCode": 53, + "vertexGroup": "" + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "SURFACE_DEFORM", + "uuid": "modifier:object:WebGapSurfaceDeformObject:583674501" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00100" +} diff --git a/tests/golden/M16-GAP-00100/manifest.json b/tests/golden/M16-GAP-00100/manifest.json new file mode 100644 index 00000000..637b9ea0 --- /dev/null +++ b/tests/golden/M16-GAP-00100/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00100", + "parentTask": "M16-GAP-00099", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "TRIANGULATE_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00099/manifest.json", "sha256": "08e66a8c4bede64bcfc0e6625843f70f4e51b03be655b0078110e086ce599a7b"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend", "sha256": "4475c06ab20bc9f9f771556173e7d5782049548dfcb845e7febba79c27f5ffcf"}, + "generator": {"path": "tools/web/generated/M16-GAP-00100.py", "sha256": "38d58e97c7b10b34abb70090deea9127a9bfda58bf446a8fa6fa7b8835482e82"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "fff50cc76b793191b61746290d28c6ea1d429f700d094aa444d8f2f91db26462"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json", "sha256": "8e1472c739110448d2c1987c32403714b9465606c0e8b3a8e3ae4867743ba377"}, + "webReport": {"path": "tests/golden/M16-GAP-00100/triangulate-modifier-local-exact-report.json", "sha256": "d715e77c6e2ef82c9611a68a3808057d08feb3de715ab1a3f07c6e1b67b6b69d"} + }, + "nextTask": "M16-GAP-00101" +} diff --git a/tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json b/tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json new file mode 100644 index 00000000..03127268 --- /dev/null +++ b/tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json @@ -0,0 +1,25 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend", + "fixtureSha256": "4475c06ab20bc9f9f771556173e7d5782049548dfcb845e7febba79c27f5ffcf", + "modifier": { + "meshId": "mesh:WebGapTriangulateMesh", + "modifier": { + "name": "WebGapTriangulate", + "ngonMethod": 1, + "quadMethod": 1, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "TRIANGULATE", + "typeCode": 44 + }, + "objectId": "object:WebGapTriangulateObject", + "task": "M16-GAP-00100" + }, + "operation": "TRIANGULATE_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00100" +} diff --git a/tests/golden/M16-GAP-00100/triangulate-modifier-local-exact-report.json b/tests/golden/M16-GAP-00100/triangulate-modifier-local-exact-report.json new file mode 100644 index 00000000..54fa5517 --- /dev/null +++ b/tests/golden/M16-GAP-00100/triangulate-modifier-local-exact-report.json @@ -0,0 +1,44 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00100", + "operation": "TRIANGULATE_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00100-modifier-TRIANGULATE.blend", + "sha256": "4475c06ab20bc9f9f771556173e7d5782049548dfcb845e7febba79c27f5ffcf" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00100/triangulate-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapTriangulateObject", + "meshId": "mesh:WebGapTriangulateMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapTriangulate", + "parameters": { + "flag": 5, + "mode": 5, + "ngonMethod": 1, + "persistentUid": 1222815822, + "quadMethod": 1, + "typeCode": 44 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "TRIANGULATE", + "uuid": "modifier:object:WebGapTriangulateObject:1222815822" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00101" +} diff --git a/tests/golden/M16-GAP-00101/manifest.json b/tests/golden/M16-GAP-00101/manifest.json new file mode 100644 index 00000000..2bbd4fb2 --- /dev/null +++ b/tests/golden/M16-GAP-00101/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00101", + "parentTask": "M16-GAP-00100", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "UV_PROJECT_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00100/manifest.json", "sha256": "2acecca22e6e3cbcaf6fad687cff49558182f1b16a9052d303162e863c2fb17e"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend", "sha256": "e5cf137ee1feddf7b03f287b04299a7a78177b58e63545ccca15c78f202ce2a4"}, + "generator": {"path": "tools/web/generated/M16-GAP-00101.py", "sha256": "d86878aacd79189a5c1fce75f94eab1f7c04039562acefa101152cc097334765"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "c9d184a6f0d5ea3aea493cab8fa3e82fd99cc77fc797ef39f4da995df3f225ff"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json", "sha256": "18364763d8956b1426ae0ce7809491562d66833cbf77b7e00b141c002c54d8ed"}, + "webReport": {"path": "tests/golden/M16-GAP-00101/uv-project-modifier-local-exact-report.json", "sha256": "b0605455ac7287165072c928a06d556af759f9f7bd1ba1fac32cccb0ca0e0556"} + }, + "nextTask": "M16-GAP-00102" +} diff --git a/tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json b/tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json new file mode 100644 index 00000000..49538dc3 --- /dev/null +++ b/tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend", + "fixtureSha256": "e5cf137ee1feddf7b03f287b04299a7a78177b58e63545ccca15c78f202ce2a4", + "modifier": { + "meshId": "mesh:WebGapUvProjectMesh", + "modifier": { + "name": "WebGapUvProject", + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "UV_PROJECT", + "typeCode": 15 + }, + "objectId": "object:WebGapUvProjectObject", + "task": "M16-GAP-00101" + }, + "operation": "UV_PROJECT_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00101" +} diff --git a/tests/golden/M16-GAP-00101/uv-project-modifier-local-exact-report.json b/tests/golden/M16-GAP-00101/uv-project-modifier-local-exact-report.json new file mode 100644 index 00000000..b0b9c766 --- /dev/null +++ b/tests/golden/M16-GAP-00101/uv-project-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00101", + "operation": "UV_PROJECT_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00101-modifier-UV_PROJECT.blend", + "sha256": "e5cf137ee1feddf7b03f287b04299a7a78177b58e63545ccca15c78f202ce2a4" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00101/uv-project-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapUvProjectObject", + "meshId": "mesh:WebGapUvProjectMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapUvProject", + "parameters": { + "flag": 5, + "mode": 5, + "persistentUid": 986394667, + "typeCode": 15 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "UV_PROJECT", + "uuid": "modifier:object:WebGapUvProjectObject:986394667" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00102" +} diff --git a/tests/golden/M16-GAP-00102/manifest.json b/tests/golden/M16-GAP-00102/manifest.json new file mode 100644 index 00000000..a9dceffb --- /dev/null +++ b/tests/golden/M16-GAP-00102/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00102", + "parentTask": "M16-GAP-00101", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "UV_WARP_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00101/manifest.json", "sha256": "ada91eacc9d9d81aef07ba22a8522fa5968491bb202b84db74649098901cefbc"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend", "sha256": "ad3f2ba8f4d282b2333fc192f3e2fdc598c06125f3b14c9c47b4721f9a1a0df9"}, + "generator": {"path": "tools/web/generated/M16-GAP-00102.py", "sha256": "aa91e891f053d2d4716e204c64e54a9c139f8dc9e53b23bf43e7f9c4cbba93b8"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "8c30d63a2c7bb08f52836f2a7d085d5cac8ab594b5e14f0e9e587534c85eae45"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "11c598f89b531f2e9d6e2169ab6eed07b7cbea86c8b8d58ef4c6ff045c6414bf"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "1a991f13fc2f2e4a7b00366c52e6285198c24e72c110bb5f1f6d005e56089104"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json", "sha256": "ed6bf6150e20eef0b7207397cee12db3408836075866f05bb48da92e706ab828"}, + "webReport": {"path": "tests/golden/M16-GAP-00102/uv-warp-modifier-local-exact-report.json", "sha256": "9499f499401b3703ee7e4ebab55516710fc235f08cdbd93271d9b348b066ba5f"} + }, + "nextTask": "M16-GAP-00103" +} diff --git a/tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json b/tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json new file mode 100644 index 00000000..65ea499d --- /dev/null +++ b/tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend", + "fixtureSha256": "ad3f2ba8f4d282b2333fc192f3e2fdc598c06125f3b14c9c47b4721f9a1a0df9", + "modifier": { + "meshId": "mesh:WebGapUvWarpMesh", + "modifier": { + "name": "WebGapUvWarp", + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "UV_WARP", + "typeCode": 45 + }, + "objectId": "object:WebGapUvWarpObject", + "task": "M16-GAP-00102" + }, + "operation": "UV_WARP_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00102" +} diff --git a/tests/golden/M16-GAP-00102/uv-warp-modifier-local-exact-report.json b/tests/golden/M16-GAP-00102/uv-warp-modifier-local-exact-report.json new file mode 100644 index 00000000..6b3836f2 --- /dev/null +++ b/tests/golden/M16-GAP-00102/uv-warp-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00102", + "operation": "UV_WARP_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00102-modifier-UV_WARP.blend", + "sha256": "ad3f2ba8f4d282b2333fc192f3e2fdc598c06125f3b14c9c47b4721f9a1a0df9" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00102/uv-warp-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapUvWarpObject", + "meshId": "mesh:WebGapUvWarpMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapUvWarp", + "parameters": { + "flag": 5, + "mode": 5, + "persistentUid": 2036523567, + "typeCode": 45 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "UV_WARP", + "uuid": "modifier:object:WebGapUvWarpObject:2036523567" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00103" +} diff --git a/tests/golden/M16-GAP-00103/manifest.json b/tests/golden/M16-GAP-00103/manifest.json new file mode 100644 index 00000000..38cf29c7 --- /dev/null +++ b/tests/golden/M16-GAP-00103/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00103", + "parentTask": "M16-GAP-00102", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "VERTEX_WEIGHT_EDIT_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00102/manifest.json", "sha256": "57cf7929d23fbc053782f4bbe4c480bd9432c2af6cfdab74f9e4bc0160c0e7ad"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend", "sha256": "2ecafafb8d81c27842512406dd93978754f624f0e9012e4a2036d32eac1178b2"}, + "generator": {"path": "tools/web/generated/M16-GAP-00103.py", "sha256": "383166f3a110e555a87ba5e0f62d5805c6890d736cf79c6f1dd8972e6e6b0a2a"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "6f8937c4947673b8582af68c2d48335ef493e4b8d844104abf1e9d2db36ac7f7"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json", "sha256": "442287f280444efcc0dcfc8602d935066af17aeca0072e978f64ffa3e6e13b9d"}, + "webReport": {"path": "tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-local-exact-report.json", "sha256": "23d26e90775bce127efb1a8572c7a9f92acdf4d22b41bd1de6c78a11b7246ba8"} + }, + "nextTask": "M16-GAP-00104" +} diff --git a/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json b/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json new file mode 100644 index 00000000..d6ff5e55 --- /dev/null +++ b/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend", + "fixtureSha256": "2ecafafb8d81c27842512406dd93978754f624f0e9012e4a2036d32eac1178b2", + "modifier": { + "meshId": "mesh:WebGapVertexWeightEditMesh", + "modifier": { + "name": "WebGapVertexWeightEdit", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_EDIT", + "typeCode": 36 + }, + "objectId": "object:WebGapVertexWeightEditObject", + "task": "M16-GAP-00103" + }, + "operation": "VERTEX_WEIGHT_EDIT_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00103" +} diff --git a/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-local-exact-report.json b/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-local-exact-report.json new file mode 100644 index 00000000..5157e2dd --- /dev/null +++ b/tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00103", + "operation": "VERTEX_WEIGHT_EDIT_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00103-modifier-VERTEX_WEIGHT_EDIT.blend", + "sha256": "2ecafafb8d81c27842512406dd93978754f624f0e9012e4a2036d32eac1178b2" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00103/vertex-weight-edit-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapVertexWeightEditObject", + "meshId": "mesh:WebGapVertexWeightEditMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapVertexWeightEdit", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 1300223564, + "typeCode": 36 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_EDIT", + "uuid": "modifier:object:WebGapVertexWeightEditObject:1300223564" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00104" +} diff --git a/tests/golden/M16-GAP-00104/manifest.json b/tests/golden/M16-GAP-00104/manifest.json new file mode 100644 index 00000000..a2d9962b --- /dev/null +++ b/tests/golden/M16-GAP-00104/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00104", + "parentTask": "M16-GAP-00103", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "VERTEX_WEIGHT_MIX_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00103/manifest.json", "sha256": "b6e93793349780cbc30a543d5c6abc9c5ba19df2acb62419a6a25b6da816fb21"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend", "sha256": "19a164b591a6fbe02df07797c422aea350e26f1e9125589037067f609095105a"}, + "generator": {"path": "tools/web/generated/M16-GAP-00104.py", "sha256": "d3d6405f1f20036043610b8a8bb22faf5e8652d6e47ee08cc40cd5e9f5567464"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "0f1f49ee8663b9f25a350d4f90c5dd682e30933709c423f5d0d02e1306618886"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json", "sha256": "6121a089239450b95037c25858958ab5d067af538657f56452fdce81186834a6"}, + "webReport": {"path": "tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-local-exact-report.json", "sha256": "a755e5c88c8a22305155dc02c455e9fe6ccb1e92b7053be7a3ca57da2aa48971"} + }, + "nextTask": "M16-GAP-00105" +} diff --git a/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json b/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json new file mode 100644 index 00000000..7717af82 --- /dev/null +++ b/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend", + "fixtureSha256": "19a164b591a6fbe02df07797c422aea350e26f1e9125589037067f609095105a", + "modifier": { + "meshId": "mesh:WebGapVertexWeightMixMesh", + "modifier": { + "name": "WebGapVertexWeightMix", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_MIX", + "typeCode": 37 + }, + "objectId": "object:WebGapVertexWeightMixObject", + "task": "M16-GAP-00104" + }, + "operation": "VERTEX_WEIGHT_MIX_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00104" +} diff --git a/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-local-exact-report.json b/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-local-exact-report.json new file mode 100644 index 00000000..d9a8f6d4 --- /dev/null +++ b/tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00104", + "operation": "VERTEX_WEIGHT_MIX_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00104-modifier-VERTEX_WEIGHT_MIX.blend", + "sha256": "19a164b591a6fbe02df07797c422aea350e26f1e9125589037067f609095105a" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00104/vertex-weight-mix-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapVertexWeightMixObject", + "meshId": "mesh:WebGapVertexWeightMixMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapVertexWeightMix", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 1288824592, + "typeCode": 37 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_MIX", + "uuid": "modifier:object:WebGapVertexWeightMixObject:1288824592" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00105" +} diff --git a/tests/golden/M16-GAP-00105/manifest.json b/tests/golden/M16-GAP-00105/manifest.json new file mode 100644 index 00000000..d7d39fe4 --- /dev/null +++ b/tests/golden/M16-GAP-00105/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00105", + "parentTask": "M16-GAP-00104", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "VERTEX_WEIGHT_PROXIMITY_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00104/manifest.json", "sha256": "47790989f092bf86ec6f628d88249455428265d6d0f5e4cffa1d9d55e87757b2"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend", "sha256": "53234cfd0e10e91b78465d8f18a4b8d863885d1d93c0757c07f0d31da486fbf2"}, + "generator": {"path": "tools/web/generated/M16-GAP-00105.py", "sha256": "59dfdb7ba6bb853ebc3d5d24a7c63c6a09fdda5381d62febc211128a87adc7d9"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "cbb3b8077beaef003acab57637c051d5ab1c4c8cffa81171577474a7a0329ca7"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json", "sha256": "7e6ebaf459de04781a6e6467be84c6065039a4f3fb6b4c748fcbeda3b4806179"}, + "webReport": {"path": "tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-local-exact-report.json", "sha256": "7594f78376b061793524a4c586ecd2335d7aa9064d4e31b840f92e03819fac1f"} + }, + "nextTask": "M16-GAP-00106" +} diff --git a/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json b/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json new file mode 100644 index 00000000..2cd6a568 --- /dev/null +++ b/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend", + "fixtureSha256": "53234cfd0e10e91b78465d8f18a4b8d863885d1d93c0757c07f0d31da486fbf2", + "modifier": { + "meshId": "mesh:WebGapVertexWeightProximityMesh", + "modifier": { + "name": "WebGapVertexWeightProximity", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_PROXIMITY", + "typeCode": 38 + }, + "objectId": "object:WebGapVertexWeightProximityObject", + "task": "M16-GAP-00105" + }, + "operation": "VERTEX_WEIGHT_PROXIMITY_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00105" +} diff --git a/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-local-exact-report.json b/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-local-exact-report.json new file mode 100644 index 00000000..129b7ba7 --- /dev/null +++ b/tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00105", + "operation": "VERTEX_WEIGHT_PROXIMITY_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00105-modifier-VERTEX_WEIGHT_PROXIMITY.blend", + "sha256": "53234cfd0e10e91b78465d8f18a4b8d863885d1d93c0757c07f0d31da486fbf2" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00105/vertex-weight-proximity-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapVertexWeightProximityObject", + "meshId": "mesh:WebGapVertexWeightProximityMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapVertexWeightProximity", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 1266791070, + "typeCode": 38 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VERTEX_WEIGHT_PROXIMITY", + "uuid": "modifier:object:WebGapVertexWeightProximityObject:1266791070" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00106" +} diff --git a/tests/golden/M16-GAP-00106/manifest.json b/tests/golden/M16-GAP-00106/manifest.json new file mode 100644 index 00000000..51427539 --- /dev/null +++ b/tests/golden/M16-GAP-00106/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00106", + "parentTask": "M16-GAP-00105", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "VOLUME_DISPLACE_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00105/manifest.json", "sha256": "cf9de11d57b483cf564f2f3e782724ca84f86ddfc6e320e757051a50912281d7"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend", "sha256": "95a922b90fb5bce90cb2f7995761805709a4a18b9206fab7f30e3848160b2c95"}, + "generator": {"path": "tools/web/generated/M16-GAP-00106.py", "sha256": "7aad13aed9fc5da77c671e89961dc744228cfea00c65044270000f0fb8e4c396"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "318cea1fb5a332cf2d4504c5319781257b7450ccc1b9ee0c61d1f4c99eebb0db"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json", "sha256": "00ee176bc712320454f7ddb585710ccab243b9b5b89f2e2f0eb364c536bddcd6"}, + "webReport": {"path": "tests/golden/M16-GAP-00106/volume-displace-modifier-local-exact-report.json", "sha256": "9c44441bc0cfadbdce570f5c3e7b074e3da00f19a7f8a2e8d84d0ae6167164f8"} + }, + "nextTask": "M16-GAP-00107" +} diff --git a/tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json b/tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json new file mode 100644 index 00000000..8e7edc44 --- /dev/null +++ b/tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json @@ -0,0 +1,22 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend", + "fixtureSha256": "95a922b90fb5bce90cb2f7995761805709a4a18b9206fab7f30e3848160b2c95", + "modifier": { + "modifier": { + "name": "WebGapVolumeDisplace", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VOLUME_DISPLACE", + "typeCode": 59 + }, + "objectId": "object:WebGapVolumeDisplaceObject", + "task": "M16-GAP-00106" + }, + "operation": "VOLUME_DISPLACE_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00106" +} diff --git a/tests/golden/M16-GAP-00106/volume-displace-modifier-local-exact-report.json b/tests/golden/M16-GAP-00106/volume-displace-modifier-local-exact-report.json new file mode 100644 index 00000000..19fcdd73 --- /dev/null +++ b/tests/golden/M16-GAP-00106/volume-displace-modifier-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00106", + "operation": "VOLUME_DISPLACE_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00106-modifier-VOLUME_DISPLACE.blend", + "sha256": "95a922b90fb5bce90cb2f7995761805709a4a18b9206fab7f30e3848160b2c95" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00106/volume-displace-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapVolumeDisplaceObject", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapVolumeDisplace", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 1329852763, + "typeCode": 59 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VOLUME_DISPLACE", + "uuid": "modifier:object:WebGapVolumeDisplaceObject:1329852763" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00107" +} diff --git a/tests/golden/M16-GAP-00107/manifest.json b/tests/golden/M16-GAP-00107/manifest.json new file mode 100644 index 00000000..c28deb13 --- /dev/null +++ b/tests/golden/M16-GAP-00107/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00107", + "parentTask": "M16-GAP-00106", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "VOLUME_TO_MESH_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00106/manifest.json", "sha256": "a2d9d12cc1bfdd28c4766ca951d1d63aff3cb53631d36f618e85918a3b7c717d"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend", "sha256": "fab68f64a3d9bbf1b224393518bc43a454601eabf8d936020aee5b478012356f"}, + "generator": {"path": "tools/web/generated/M16-GAP-00107.py", "sha256": "9730c26f96cd994d92cf2e2670718124f899e0ce2e3d044a10404f8b0fafa834"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "b1707169fa5c648b9c8b21d6057f0c1dbb78c11a7a5e0f16ee135f49a28ce0d2"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json", "sha256": "7cbfeae24f5f74a8b9509da418a65520a595530b164733bbd9ecf9de99212f02"}, + "webReport": {"path": "tests/golden/M16-GAP-00107/volume-to-mesh-modifier-local-exact-report.json", "sha256": "1083d3e4144e172245c61b1ff8afa8b1bcf80b9bfae4d066e7eb0cfab80f5279"} + }, + "nextTask": "M16-GAP-00108" +} diff --git a/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json b/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json new file mode 100644 index 00000000..72fd0ecf --- /dev/null +++ b/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend", + "fixtureSha256": "fab68f64a3d9bbf1b224393518bc43a454601eabf8d936020aee5b478012356f", + "modifier": { + "meshId": "mesh:WebGapVolumeToMeshMesh", + "modifier": { + "name": "WebGapVolumeToMesh", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VOLUME_TO_MESH", + "typeCode": 60 + }, + "objectId": "object:WebGapVolumeToMeshObject", + "task": "M16-GAP-00107" + }, + "operation": "VOLUME_TO_MESH_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00107" +} diff --git a/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-local-exact-report.json b/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-local-exact-report.json new file mode 100644 index 00000000..6d098266 --- /dev/null +++ b/tests/golden/M16-GAP-00107/volume-to-mesh-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00107", + "operation": "VOLUME_TO_MESH_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00107-modifier-VOLUME_TO_MESH.blend", + "sha256": "fab68f64a3d9bbf1b224393518bc43a454601eabf8d936020aee5b478012356f" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00107/volume-to-mesh-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapVolumeToMeshObject", + "meshId": "mesh:WebGapVolumeToMeshMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapVolumeToMesh", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 662944674, + "typeCode": 60 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "VOLUME_TO_MESH", + "uuid": "modifier:object:WebGapVolumeToMeshObject:662944674" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00108" +} diff --git a/tests/golden/M16-GAP-00108/manifest.json b/tests/golden/M16-GAP-00108/manifest.json new file mode 100644 index 00000000..85b54b0e --- /dev/null +++ b/tests/golden/M16-GAP-00108/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00108", + "parentTask": "M16-GAP-00107", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "WARP_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00107/manifest.json", "sha256": "760706922c497ed0898b84fd07789d0d8c53f5a448191ad6c2425d1d7e13ad20"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend", "sha256": "a328ef4b4cbcf265de0483012f80860fccb75e53fcb25bd6ccbe81dc97cb0ba5"}, + "generator": {"path": "tools/web/generated/M16-GAP-00108.py", "sha256": "ee8667312b3608fff806a2f888edca90cad3a960184ee64d0b7b33fd9cad2657"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "140a3a86220c2af01d5daad10dd482316b208a6a2aa0af762dd39b65c6cda9d8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "71f6265a1769981b08b714ddbf0c95881181e003694761935e7e592279d3237a"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json", "sha256": "5daba0b7befe92e75dab3dca35e00ee1e3c211ab02e9f5ec3ec9bdb5c6164250"}, + "webReport": {"path": "tests/golden/M16-GAP-00108/warp-modifier-local-exact-report.json", "sha256": "0aeac2276b0828180780358383b626295b1ef43fece15ac6fcadff880f861dd3"} + }, + "nextTask": "M16-GAP-00109" +} diff --git a/tests/golden/M16-GAP-00108/task-context.json b/tests/golden/M16-GAP-00108/task-context.json new file mode 100644 index 00000000..27da43fb --- /dev/null +++ b/tests/golden/M16-GAP-00108/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00108", + "parentTask": "M16-GAP-00107", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:WARP data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:WARP", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00108.py -- tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00108", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00108" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00108.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6635, + "contextRemainingTokens": 1657 + }, + "source": { + "bytes": 7365, + "tokens": 1843 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00108.py", + "bytes": 965, + "tokens": 242 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend", + "bytes": 86403, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 143583, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00108/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00108.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00108/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 965, + "tokens": 242 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00109", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00108.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00107/manifest.json", + "parentStatus": "docs/status/M16-GAP-00107.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00108.md", + "tests/golden/M16-GAP-00107/manifest.json", + "docs/status/M16-GAP-00107.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00107", + "parentTask": "M16-GAP-00106", + "status": "done", + "nextTask": "M16-GAP-00108", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00107 Status", + "status: done", + "task: VOLUME_TO_MESH modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh-hosted VOLUME_TO_MESH modifier stack exposure for `mesh:WebGapVolumeToMeshMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapVolumeToMesh` as VOLUME_TO_MESH type code 58; save/reopen is exact.", + "- WASM/Main exposes the same VOLUME_TO_MESH stack entry with matching generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1709, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 428 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00108.md", + "bytes": 1709, + "lines": 38, + "tokens": 428 + }, + { + "path": "tests/golden/M16-GAP-00107/manifest.json", + "bytes": 2766, + "lines": 29, + "tokens": 692 + }, + { + "path": "docs/status/M16-GAP-00107.md", + "bytes": 722, + "lines": 19, + "tokens": 181 + } + ], + "sourceTokens": 1843, + "evidenceFiles": 1, + "evidenceBytes": 965, + "evidenceTokens": 242, + "totalTokens": 2085, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json b/tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json new file mode 100644 index 00000000..b69aac14 --- /dev/null +++ b/tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json @@ -0,0 +1,23 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend", + "fixtureSha256": "a328ef4b4cbcf265de0483012f80860fccb75e53fcb25bd6ccbe81dc97cb0ba5", + "modifier": { + "meshId": "mesh:WebGapWarpMesh", + "modifier": { + "name": "WebGapWarp", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WARP", + "typeCode": 35 + }, + "objectId": "object:WebGapWarpObject", + "task": "M16-GAP-00108" + }, + "operation": "WARP_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00108" +} diff --git a/tests/golden/M16-GAP-00108/warp-modifier-local-exact-report.json b/tests/golden/M16-GAP-00108/warp-modifier-local-exact-report.json new file mode 100644 index 00000000..65a875ec --- /dev/null +++ b/tests/golden/M16-GAP-00108/warp-modifier-local-exact-report.json @@ -0,0 +1,42 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00108", + "operation": "WARP_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00108-modifier-WARP.blend", + "sha256": "a328ef4b4cbcf265de0483012f80860fccb75e53fcb25bd6ccbe81dc97cb0ba5" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00108/warp-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapWarpObject", + "meshId": "mesh:WebGapWarpMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "BLOCKED", + "name": "WebGapWarp", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 614917079, + "typeCode": 35 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WARP", + "uuid": "modifier:object:WebGapWarpObject:614917079" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00109" +} diff --git a/tests/golden/M16-GAP-00109/manifest.json b/tests/golden/M16-GAP-00109/manifest.json new file mode 100644 index 00000000..25f0a5ff --- /dev/null +++ b/tests/golden/M16-GAP-00109/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00109", + "parentTask": "M16-GAP-00108", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "WAVE_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00108/manifest.json", "sha256": "4a3c0e88bba11217d661ea22c62cc01fe15379527cec68b8b7c92d01042ecda2"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend", "sha256": "41c81c36b176656e08a33c9c428da5a257c11ab6e9f0f8bfa530336b7ab159a8"}, + "generator": {"path": "tools/web/generated/M16-GAP-00109.py", "sha256": "2c8f4bfe4a36a069fd6e106fc80836bf38df2663e2343a6cde15114f00cbffdc"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "87827a3285bd779d9faff41e7aaea94eb17e6e5f402f966a106e0e6a209de54e"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "a50a1f23fa9e8eef0eb32af88a4c0983b63176b7f39aee55deafb59adcb37ac4"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json", "sha256": "ddec88c688169daaaeda211a7b5b1ad2a7e9bd2f5baf29c8c85c5d5ae2265f3c"}, + "webReport": {"path": "tests/golden/M16-GAP-00109/wave-modifier-local-exact-report.json", "sha256": "29e011eec263333878bc92b5514ec9b153142872bd59d89cecba740395f7e7bc"} + }, + "nextTask": "M16-GAP-00110" +} diff --git a/tests/golden/M16-GAP-00109/task-context.json b/tests/golden/M16-GAP-00109/task-context.json new file mode 100644 index 00000000..e425a6ec --- /dev/null +++ b/tests/golden/M16-GAP-00109/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00109", + "parentTask": "M16-GAP-00108", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:WAVE data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:WAVE", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00109.py -- tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00109", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00109" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00109.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6736, + "contextRemainingTokens": 1682 + }, + "source": { + "bytes": 7264, + "tokens": 1818 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00109.py", + "bytes": 1044, + "tokens": 261 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend", + "bytes": 86396, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 143984, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00109/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00109.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00109/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1044, + "tokens": 261 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00110", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00109.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00108/manifest.json", + "parentStatus": "docs/status/M16-GAP-00108.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00109.md", + "tests/golden/M16-GAP-00108/manifest.json", + "docs/status/M16-GAP-00108.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00108", + "parentTask": "M16-GAP-00107", + "status": "done", + "nextTask": "M16-GAP-00109", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00108 Status", + "status: done", + "task: WARP modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh WARP modifier stack exposure for `mesh:WebGapWarpMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapWarp` as WARP type code 35; save/reopen is exact.", + "- WASM/Main exposes the same WARP stack entry with matching generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1709, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 428 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00109.md", + "bytes": 1709, + "lines": 38, + "tokens": 428 + }, + { + "path": "tests/golden/M16-GAP-00108/manifest.json", + "bytes": 2726, + "lines": 29, + "tokens": 682 + }, + { + "path": "docs/status/M16-GAP-00108.md", + "bytes": 661, + "lines": 19, + "tokens": 166 + } + ], + "sourceTokens": 1818, + "evidenceFiles": 1, + "evidenceBytes": 1044, + "evidenceTokens": 261, + "totalTokens": 2079, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json b/tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json new file mode 100644 index 00000000..27286a8d --- /dev/null +++ b/tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json @@ -0,0 +1,26 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend", + "fixtureSha256": "41c81c36b176656e08a33c9c428da5a257c11ab6e9f0f8bfa530336b7ab159a8", + "modifier": { + "meshId": "mesh:WebGapWaveMesh", + "modifier": { + "height": 0.6499999761581421, + "name": "WebGapWave", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "speed": 0.41999998688697815, + "type": "WAVE", + "typeCode": 7, + "width": 1.75 + }, + "objectId": "object:WebGapWaveObject", + "task": "M16-GAP-00109" + }, + "operation": "WAVE_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00109" +} diff --git a/tests/golden/M16-GAP-00109/wave-modifier-local-exact-report.json b/tests/golden/M16-GAP-00109/wave-modifier-local-exact-report.json new file mode 100644 index 00000000..555e9461 --- /dev/null +++ b/tests/golden/M16-GAP-00109/wave-modifier-local-exact-report.json @@ -0,0 +1,45 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00109", + "operation": "WAVE_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00109-modifier-WAVE.blend", + "sha256": "41c81c36b176656e08a33c9c428da5a257c11ab6e9f0f8bfa530336b7ab159a8" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00109/wave-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapWaveObject", + "meshId": "mesh:WebGapWaveMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapWave", + "parameters": { + "flag": 5, + "height": 0.6499999761581421, + "mode": 1, + "persistentUid": 1403213978, + "speed": 0.41999998688697815, + "typeCode": 7, + "width": 1.75 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WAVE", + "uuid": "modifier:object:WebGapWaveObject:1403213978" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00110" +} diff --git a/tests/golden/M16-GAP-00110/manifest.json b/tests/golden/M16-GAP-00110/manifest.json new file mode 100644 index 00000000..7df2a7fd --- /dev/null +++ b/tests/golden/M16-GAP-00110/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00110", + "parentTask": "M16-GAP-00109", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "WEIGHTED_NORMAL_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00109/manifest.json", "sha256": "8af6813c16138942441f7772e08a6f2c6586e21c665248ee7566be5f26279081"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend", "sha256": "26469e905bbc2c52467b4b1361f80ffb75b756206974724debbae5e06fd363f0"}, + "generator": {"path": "tools/web/generated/M16-GAP-00110.py", "sha256": "17fb8ee025fe4fadff5ca63401d795ace27920d88fd4dbe4c32af7614e0892ab"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "be849a5eaae8c3b7551aa3e0f560aba3eccd0d346769fdc2093dd4f46ff80652"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "87ef950db06c906b1d541af408295d589167f96c66ba87e19d5006f353da4a54"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json", "sha256": "ae59fdc10466bfa461dbaed1aa45bb2ac6211b8a303e58de8ea3ee9c5e0e40ba"}, + "webReport": {"path": "tests/golden/M16-GAP-00110/weighted-normal-modifier-local-exact-report.json", "sha256": "6360a1706e7456a5d51fa2effbc7505cd7209818690ab1b7665abf0bbff7a311"} + }, + "nextTask": "M16-GAP-00111" +} diff --git a/tests/golden/M16-GAP-00110/task-context.json b/tests/golden/M16-GAP-00110/task-context.json new file mode 100644 index 00000000..5d3a0410 --- /dev/null +++ b/tests/golden/M16-GAP-00110/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00110", + "parentTask": "M16-GAP-00109", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:WEIGHTED_NORMAL data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:WEIGHTED_NORMAL", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00110.py -- tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00110", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00110" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00110.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6603, + "contextRemainingTokens": 1650 + }, + "source": { + "bytes": 7397, + "tokens": 1850 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00110.py", + "bytes": 1101, + "tokens": 276 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend", + "bytes": 86410, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 144216, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00110/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00110.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00110/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1101, + "tokens": 276 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00111", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00110.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00109/manifest.json", + "parentStatus": "docs/status/M16-GAP-00109.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00110.md", + "tests/golden/M16-GAP-00109/manifest.json", + "docs/status/M16-GAP-00109.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00109", + "parentTask": "M16-GAP-00108", + "status": "done", + "nextTask": "M16-GAP-00110", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00109 Status", + "status: done", + "task: WAVE modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh WAVE modifier stack exposure for `mesh:WebGapWaveMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapWave` as WAVE type code 7 with height 0.65, width 1.75, and speed 0.42; save/reopen is exact.", + "- WASM/Main exposes the same WAVE stack entry and matching height, width, speed, and generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1764, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 441 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00110.md", + "bytes": 1764, + "lines": 38, + "tokens": 441 + }, + { + "path": "tests/golden/M16-GAP-00109/manifest.json", + "bytes": 2726, + "lines": 29, + "tokens": 682 + }, + { + "path": "docs/status/M16-GAP-00109.md", + "bytes": 739, + "lines": 19, + "tokens": 185 + } + ], + "sourceTokens": 1850, + "evidenceFiles": 1, + "evidenceBytes": 1101, + "evidenceTokens": 276, + "totalTokens": 2126, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json b/tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json new file mode 100644 index 00000000..eb13f55f --- /dev/null +++ b/tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json @@ -0,0 +1,26 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend", + "fixtureSha256": "26469e905bbc2c52467b4b1361f80ffb75b756206974724debbae5e06fd363f0", + "modifier": { + "meshId": "mesh:WebGapWeightedNormalMesh", + "modifier": { + "keepSharp": true, + "name": "WebGapWeightedNormal", + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WEIGHTED_NORMAL", + "typeCode": 54, + "useFaceInfluence": true, + "weight": 70 + }, + "objectId": "object:WebGapWeightedNormalObject", + "task": "M16-GAP-00110" + }, + "operation": "WEIGHTED_NORMAL_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00110" +} diff --git a/tests/golden/M16-GAP-00110/weighted-normal-modifier-local-exact-report.json b/tests/golden/M16-GAP-00110/weighted-normal-modifier-local-exact-report.json new file mode 100644 index 00000000..9911cd1d --- /dev/null +++ b/tests/golden/M16-GAP-00110/weighted-normal-modifier-local-exact-report.json @@ -0,0 +1,43 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00110", + "operation": "WEIGHTED_NORMAL_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00110-modifier-WEIGHTED_NORMAL.blend", + "sha256": "26469e905bbc2c52467b4b1361f80ffb75b756206974724debbae5e06fd363f0" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00110/weighted-normal-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapWeightedNormalObject", + "meshId": "mesh:WebGapWeightedNormalMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapWeightedNormal", + "parameters": { + "flag": 5, + "mode": 5, + "persistentUid": 1800999687, + "typeCode": 54, + "weight": 70 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WEIGHTED_NORMAL", + "uuid": "modifier:object:WebGapWeightedNormalObject:1800999687" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00111" +} diff --git a/tests/golden/M16-GAP-00111/manifest.json b/tests/golden/M16-GAP-00111/manifest.json new file mode 100644 index 00000000..0693ddb4 --- /dev/null +++ b/tests/golden/M16-GAP-00111/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00111", + "parentTask": "M16-GAP-00110", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "WELD_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00110/manifest.json", "sha256": "a1432f7c5e7f4d3891e00872c9023890b177806eebd3f988ba6f5968817a9ea7"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend", "sha256": "fa82df1cc06f762f90acfd62c6172c631534838342d971e2ecba931d9bbb4b14"}, + "generator": {"path": "tools/web/generated/M16-GAP-00111.py", "sha256": "70a5a835615617c1feaa7795f1ee8c4dc2e07021a62c97ea87915a4231ef509c"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "4f5ae268fd90a36ef11d4fe411e18968bc6a1479e83f72b6dbb369a082fb4f0c"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "aa81363720f6d980e9aa93b9dfe4d50345b3ceb17b0f73be3c32cfca0a977c35"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json", "sha256": "cef902e3eaaae85c8c441320ed1dad00b1193a73003c098e61ba179538972d9d"}, + "webReport": {"path": "tests/golden/M16-GAP-00111/weld-modifier-local-exact-report.json", "sha256": "91ec33d946f8b526ae5af1f0b533896e5c6678655b9ddaa844ca5fafdb773e9e"} + }, + "nextTask": "M16-GAP-00112" +} diff --git a/tests/golden/M16-GAP-00111/task-context.json b/tests/golden/M16-GAP-00111/task-context.json new file mode 100644 index 00000000..c1a31492 --- /dev/null +++ b/tests/golden/M16-GAP-00111/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00111", + "parentTask": "M16-GAP-00110", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:WELD data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:WELD", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00111.py -- tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00111", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00111" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00111.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6622, + "contextRemainingTokens": 1654 + }, + "source": { + "bytes": 7378, + "tokens": 1846 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00111.py", + "bytes": 1002, + "tokens": 251 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend", + "bytes": 86394, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 144447, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00111/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00111.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00111/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1002, + "tokens": 251 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00112", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00111.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00110/manifest.json", + "parentStatus": "docs/status/M16-GAP-00110.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00111.md", + "tests/golden/M16-GAP-00110/manifest.json", + "docs/status/M16-GAP-00110.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00110", + "parentTask": "M16-GAP-00109", + "status": "done", + "nextTask": "M16-GAP-00111", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00110 Status", + "status: done", + "task: WEIGHTED_NORMAL modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh WEIGHTED_NORMAL modifier stack exposure for `mesh:WebGapWeightedNormalMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapWeightedNormal` as WEIGHTED_NORMAL type code 54 with weight 70; save/reopen is exact.", + "- WASM/Main exposes the same stack entry and matching weight plus generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1709, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 428 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00111.md", + "bytes": 1709, + "lines": 38, + "tokens": 428 + }, + { + "path": "tests/golden/M16-GAP-00110/manifest.json", + "bytes": 2770, + "lines": 29, + "tokens": 693 + }, + { + "path": "docs/status/M16-GAP-00110.md", + "bytes": 731, + "lines": 19, + "tokens": 183 + } + ], + "sourceTokens": 1846, + "evidenceFiles": 1, + "evidenceBytes": 1002, + "evidenceTokens": 251, + "totalTokens": 2097, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json b/tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json new file mode 100644 index 00000000..834c277d --- /dev/null +++ b/tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json @@ -0,0 +1,24 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend", + "fixtureSha256": "fa82df1cc06f762f90acfd62c6172c631534838342d971e2ecba931d9bbb4b14", + "modifier": { + "meshId": "mesh:WebGapWeldMesh", + "modifier": { + "mergeThreshold": 0.125, + "name": "WebGapWeld", + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WELD", + "typeCode": 55 + }, + "objectId": "object:WebGapWeldObject", + "task": "M16-GAP-00111" + }, + "operation": "WELD_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00111" +} diff --git a/tests/golden/M16-GAP-00111/weld-modifier-local-exact-report.json b/tests/golden/M16-GAP-00111/weld-modifier-local-exact-report.json new file mode 100644 index 00000000..bc0a7211 --- /dev/null +++ b/tests/golden/M16-GAP-00111/weld-modifier-local-exact-report.json @@ -0,0 +1,43 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00111", + "operation": "WELD_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00111-modifier-WELD.blend", + "sha256": "fa82df1cc06f762f90acfd62c6172c631534838342d971e2ecba931d9bbb4b14" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00111/weld-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapWeldObject", + "meshId": "mesh:WebGapWeldMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapWeld", + "parameters": { + "flag": 5, + "mergeThreshold": 0.125, + "mode": 5, + "persistentUid": 1358744700, + "typeCode": 55 + }, + "showEditMode": true, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WELD", + "uuid": "modifier:object:WebGapWeldObject:1358744700" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00112" +} diff --git a/tests/golden/M16-GAP-00112/manifest.json b/tests/golden/M16-GAP-00112/manifest.json new file mode 100644 index 00000000..a74a4b29 --- /dev/null +++ b/tests/golden/M16-GAP-00112/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00112", + "parentTask": "M16-GAP-00111", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "WIREFRAME_MODIFIER_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00111/manifest.json", "sha256": "62531e22304954c1ded239004e91c95f9c42d8c9d43d039e339be52e68b20c8f"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend", "sha256": "b1952474708ab9f56145f661b3cf5562dc0535a5fa0fe6903c71864af73b0641"}, + "generator": {"path": "tools/web/generated/M16-GAP-00112.py", "sha256": "403b955f748db90be606506213ee1cd50f8c95f45ecc4ed1bda8a847dd18ab6d"}, + "desktopChecker": {"path": "tools/web/check-generic-modifier-desktop.py", "sha256": "2df81f9bd231298b00b29f316254531ce097ed66dd122323f26b1301df130f19"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "24069332d14f2eae8cb9a105abcdf7571f04571731f351fd69da6e579f70bcf1"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json", "sha256": "f83750dfca898b529013b6d3fbefa283e5800a00312c3c613d06735a362ee26a"}, + "webReport": {"path": "tests/golden/M16-GAP-00112/wireframe-modifier-local-exact-report.json", "sha256": "b74f89e88d7e280175c4ff534ebf20477ca35aed189b53ebd4a69fbdacc7e92c"} + }, + "nextTask": "M16-GAP-00113" +} diff --git a/tests/golden/M16-GAP-00112/task-context.json b/tests/golden/M16-GAP-00112/task-context.json new file mode 100644 index 00000000..024821e7 --- /dev/null +++ b/tests/golden/M16-GAP-00112/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00112", + "parentTask": "M16-GAP-00111", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable modifier:WIREFRAME data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "modifier:WIREFRAME", + "ownerFamily": "MODIFIER", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00112.py -- tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00112", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00112" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00112.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6675, + "contextRemainingTokens": 1667 + }, + "source": { + "bytes": 7325, + "tokens": 1833 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00112.py", + "bytes": 1043, + "tokens": 261 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend", + "bytes": 86399, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 144683, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00112/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00112.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00112/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1043, + "tokens": 261 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00113", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00112.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00111/manifest.json", + "parentStatus": "docs/status/M16-GAP-00111.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00112.md", + "tests/golden/M16-GAP-00111/manifest.json", + "docs/status/M16-GAP-00111.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00111", + "parentTask": "M16-GAP-00110", + "status": "done", + "nextTask": "M16-GAP-00112", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00111 Status", + "status: done", + "task: WELD modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh WELD modifier stack exposure for `mesh:WebGapWeldMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapWeld` as WELD type code 55 with merge threshold 0.125; save/reopen is exact.", + "- WASM/Main exposes the same stack entry and matching merge threshold plus generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1734, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 434 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00112.md", + "bytes": 1734, + "lines": 38, + "tokens": 434 + }, + { + "path": "tests/golden/M16-GAP-00111/manifest.json", + "bytes": 2726, + "lines": 29, + "tokens": 682 + }, + { + "path": "docs/status/M16-GAP-00111.md", + "bytes": 697, + "lines": 19, + "tokens": 175 + } + ], + "sourceTokens": 1833, + "evidenceFiles": 1, + "evidenceBytes": 1043, + "evidenceTokens": 261, + "totalTokens": 2094, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json b/tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json new file mode 100644 index 00000000..ec6c46c2 --- /dev/null +++ b/tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json @@ -0,0 +1,24 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend", + "fixtureSha256": "b1952474708ab9f56145f661b3cf5562dc0535a5fa0fe6903c71864af73b0641", + "modifier": { + "meshId": "mesh:WebGapWireframeMesh", + "modifier": { + "name": "WebGapWireframe", + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "thickness": 0.07999999821186066, + "type": "WIREFRAME", + "typeCode": 48 + }, + "objectId": "object:WebGapWireframeObject", + "task": "M16-GAP-00112" + }, + "operation": "WIREFRAME_MODIFIER_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00112" +} diff --git a/tests/golden/M16-GAP-00112/wireframe-modifier-local-exact-report.json b/tests/golden/M16-GAP-00112/wireframe-modifier-local-exact-report.json new file mode 100644 index 00000000..1acce197 --- /dev/null +++ b/tests/golden/M16-GAP-00112/wireframe-modifier-local-exact-report.json @@ -0,0 +1,43 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00112", + "operation": "WIREFRAME_MODIFIER_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00112-modifier-WIREFRAME.blend", + "sha256": "b1952474708ab9f56145f661b3cf5562dc0535a5fa0fe6903c71864af73b0641" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00112/wireframe-modifier-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "objectId": "object:WebGapWireframeObject", + "meshId": "mesh:WebGapWireframeMesh", + "modifier": { + "dependsOn": [], + "enabled": true, + "evaluationStatus": "METADATA_ONLY", + "name": "WebGapWireframe", + "parameters": { + "flag": 5, + "mode": 1, + "persistentUid": 1067521755, + "thickness": 0.07999999821186066, + "typeCode": 48 + }, + "showEditMode": false, + "showOnCage": false, + "showRender": false, + "showViewport": true, + "type": "WIREFRAME", + "uuid": "modifier:object:WebGapWireframeObject:1067521755" + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00113" +} diff --git a/tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json b/tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json new file mode 100644 index 00000000..0f91f9f6 --- /dev/null +++ b/tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json @@ -0,0 +1,47 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0 + ], + "index": 0, + "path": "location" + }, + { + "frames": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0 + ], + "index": 1, + "path": "location" + }, + { + "frames": [ + 1.0, + 2.0, + 3.0, + 4.0, + 5.0 + ], + "index": 2, + "path": "location" + } + ], + "name": "WebGapBakeKeysObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend", + "fixtureSha256": "6253d0f8f008dcf8881bae4326d09648d21977a844c0f604c1a4773ef8372931", + "operation": "ACTION_BAKE_KEYS_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00113" +} diff --git a/tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json b/tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json new file mode 100644 index 00000000..22e4876f --- /dev/null +++ b/tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json @@ -0,0 +1,33 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00113", + "operation": "ACTION_BAKE_KEYS_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend", + "sha256": "6253d0f8f008dcf8881bae4326d09648d21977a844c0f604c1a4773ef8372931" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapBakeKeysObjectAction:object:WebGapBakeKeysObject", + "channelPaths": [ + "location[0]", + "location[1]", + "location[2]" + ], + "keyframesPerChannel": [ + 5, + 5, + 5 + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00114" +} diff --git a/tests/golden/M16-GAP-00113/manifest.json b/tests/golden/M16-GAP-00113/manifest.json new file mode 100644 index 00000000..48bcaf3a --- /dev/null +++ b/tests/golden/M16-GAP-00113/manifest.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00113", + "parentTask": "M16-GAP-00112", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_BAKE_KEYS_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00112/manifest.json", "sha256": "3d8defe2c37894bcc30e7e752499016b89101057f68301d19dcb24414e682d55"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend", "sha256": "6253d0f8f008dcf8881bae4326d09648d21977a844c0f604c1a4773ef8372931"}, + "generator": {"path": "tools/web/generated/M16-GAP-00113.py", "sha256": "e1eb89000230ec1d198930f06da6b5b35207a83a93eaf3e333c69560d212c5ae"}, + "desktopChecker": {"path": "tools/web/check-action-bake-keys-desktop.py", "sha256": "a03213895003f141054a80fd7ddf8060b59ded44994eefc8f3e4699313923fb6"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "072695686843e8e0025858790440999223e4f1498d8f891b5f8e5010b5c27953"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8"}, + "modifierCmake": {"path": "blender-5.2.0/source/blender/modifiers/CMakeLists.txt", "sha256": "acf2c49dcea2907a117efdf8d74d4d817a4456a41c6bec3a40f38263beaae127"}, + "particleModifier": {"path": "blender-5.2.0/source/blender/modifiers/intern/MOD_particlesystem.cc", "sha256": "92ea7223c192563062d9f485c45cc78290a8809eb79b79d3a28be12081a0c7d6e6f"}, + "particleCore": {"path": "blender-5.2.0/source/blender/blenkernel/intern/particle.cc", "sha256": "d712f922c3160bddb464e3b7e1f68bfc44591dd9e536f4fd901119025d17717c"}, + "physicsReader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_main_state.cpp", "sha256": "62af46e404d6174cc4b9d85adb6e8b259f1c537e5ebfd8485e4fd0cc4be0fded"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json", "sha256": "3226d30e020b3384b3a5504c72fe1481f43c048f0827ff6bcbfa1327d9cfd330"}, + "webReport": {"path": "tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json", "sha256": "d8a6aaa82c299916a37f2b8ef477349ac675a930d95ff7800450dc6e5a282d58"} + }, + "nextTask": "M16-GAP-00114" +} diff --git a/tests/golden/M16-GAP-00113/task-context.json b/tests/golden/M16-GAP-00113/task-context.json new file mode 100644 index 00000000..15c6e250 --- /dev/null +++ b/tests/golden/M16-GAP-00113/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00113", + "parentTask": "M16-GAP-00112", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.bake_keys data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.bake_keys", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00113.py -- tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00113", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00113" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00113.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6612, + "contextRemainingTokens": 1652 + }, + "source": { + "bytes": 7388, + "tokens": 1848 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00113.py", + "bytes": 2339, + "tokens": 585 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend", + "bytes": 86996, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 148046, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00113/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00113.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00113/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2339, + "tokens": 585 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00114", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00113.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00112/manifest.json", + "parentStatus": "docs/status/M16-GAP-00112.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00113.md", + "tests/golden/M16-GAP-00112/manifest.json", + "docs/status/M16-GAP-00112.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00112", + "parentTask": "M16-GAP-00111", + "status": "done", + "nextTask": "M16-GAP-00113", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00112 Status", + "status: done", + "task: WIREFRAME modifier LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Mesh WIREFRAME modifier stack exposure for `mesh:WebGapWireframeMesh`.", + "evidence:", + "- Desktop fixture exposes `WebGapWireframe` as WIREFRAME type code 48 with thickness 0.08; save/reopen is exact.", + "- WASM/Main exposes the same stack entry and matching thickness plus generic visibility flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1769, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 443 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00113.md", + "bytes": 1769, + "lines": 38, + "tokens": 443 + }, + { + "path": "tests/golden/M16-GAP-00112/manifest.json", + "bytes": 2743, + "lines": 29, + "tokens": 686 + }, + { + "path": "docs/status/M16-GAP-00112.md", + "bytes": 708, + "lines": 19, + "tokens": 177 + } + ], + "sourceTokens": 1848, + "evidenceFiles": 1, + "evidenceBytes": 2339, + "evidenceTokens": 585, + "totalTokens": 2433, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00114/action-clean-desktop-report.json b/tests/golden/M16-GAP-00114/action-clean-desktop-report.json new file mode 100644 index 00000000..c9a9c535 --- /dev/null +++ b/tests/golden/M16-GAP-00114/action-clean-desktop-report.json @@ -0,0 +1,36 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0 + ], + "index": 0, + "path": "location" + }, + { + "frames": [ + 1.0 + ], + "index": 1, + "path": "location" + }, + { + "frames": [ + 1.0 + ], + "index": 2, + "path": "location" + } + ], + "name": "WebGapCleanObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend", + "fixtureSha256": "edd9074159f387a456bc1eb7bb37053fa63038532b928de849378fdcaab9d3e4", + "operation": "ACTION_CLEAN_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00114", + "threshold": 0.01 +} diff --git a/tests/golden/M16-GAP-00114/action-clean-local-exact-report.json b/tests/golden/M16-GAP-00114/action-clean-local-exact-report.json new file mode 100644 index 00000000..1a1d4343 --- /dev/null +++ b/tests/golden/M16-GAP-00114/action-clean-local-exact-report.json @@ -0,0 +1,29 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00114", + "operation": "ACTION_CLEAN_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend", + "sha256": "edd9074159f387a456bc1eb7bb37053fa63038532b928de849378fdcaab9d3e4" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00114/action-clean-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapCleanObjectAction:object:WebGapCleanObject", + "threshold": 0.01, + "keyframesPerChannel": [ + 1, + 1, + 1 + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00115" +} diff --git a/tests/golden/M16-GAP-00114/manifest.json b/tests/golden/M16-GAP-00114/manifest.json new file mode 100644 index 00000000..c9e13f49 --- /dev/null +++ b/tests/golden/M16-GAP-00114/manifest.json @@ -0,0 +1,57 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00114", + "parentTask": "M16-GAP-00113", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_CLEAN_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": { + "path": "tests/golden/M16-GAP-00113/manifest.json", + "sha256": "284d37f62f121504e0f50beb0e0cb96dde49c12e3fbd35b151dbb9389673704d" + }, + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend", + "sha256": "edd9074159f387a456bc1eb7bb37053fa63038532b928de849378fdcaab9d3e4" + }, + "generator": { + "path": "tools/web/generated/M16-GAP-00114.py", + "sha256": "ab1e15afe86016892d2abf43ae84836ff4c84df917d15ca8f1d8b245e138bd52" + }, + "desktopChecker": { + "path": "tools/web/check-action-clean-desktop.py", + "sha256": "4ab652e99fa8fa98cdec6832157f3bbb2e1ac7e5779f01ddd974f192945ea58e" + }, + "webChecker": { + "path": "tools/web/check-generated-gap.mjs", + "sha256": "2d0a3927afb559d601b5d5e56d5d2e7fd2c586eb2ceb3e9b38f5299b6871990e" + }, + "reader": { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "sha256": "0e1a72ef3655eb51047dd488c3a9a733022193f1631b21d59c615f8acb1a67f8" + }, + "wasm": { + "path": "web/app/src/vendor/blender/web_engine.wasm", + "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234" + }, + "wasmPublic": { + "path": "web/app/public/vendor/blender/web_engine.wasm", + "sha256": "a847df61055dd322c70b8e57702439f095997831b6d431107895bb5284750234" + }, + "wasmJs": { + "path": "web/app/src/vendor/blender/web_engine.js", + "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed" + }, + "desktopReport": { + "path": "tests/golden/M16-GAP-00114/action-clean-desktop-report.json", + "sha256": "94e987bcc4704cc880a88b510d7f01a2b990c04a109c9296b6e896d108d1e95d" + }, + "webReport": { + "path": "tests/golden/M16-GAP-00114/action-clean-local-exact-report.json", + "sha256": "58e3dfb9fc14a88bc57c616d02870ce0cb995a596f84bc57a686eb63e2e2952a" + } + }, + "nextTask": "M16-GAP-00115" +} diff --git a/tests/golden/M16-GAP-00114/task-context.json b/tests/golden/M16-GAP-00114/task-context.json new file mode 100644 index 00000000..81a82e27 --- /dev/null +++ b/tests/golden/M16-GAP-00114/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00114", + "parentTask": "M16-GAP-00113", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.clean data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.clean", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00114.py -- tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00114", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00114" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00114.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6491, + "contextRemainingTokens": 1621 + }, + "source": { + "bytes": 7509, + "tokens": 1879 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00114.py", + "bytes": 1981, + "tokens": 496 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend", + "bytes": 86804, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 221873, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 151340, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00114/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00114.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00114/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1981, + "tokens": 496 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00115", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00114.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00113/manifest.json", + "parentStatus": "docs/status/M16-GAP-00113.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00114.md", + "tests/golden/M16-GAP-00113/manifest.json", + "docs/status/M16-GAP-00113.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00113", + "parentTask": "M16-GAP-00112", + "status": "done", + "nextTask": "M16-GAP-00114", + "artifactCount": 15 + }, + "statusSummary": [ + "# M16-GAP-00113 Status", + "status: done", + "task: action.bake_keys operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor bake-keys operation on `object:WebGapBakeKeysObject`.", + "evidence:", + "- Blender generator creates two selected endpoint keys and executes `bpy.ops.action.bake_keys` in a real Action Editor context; each location channel contains frames 1 through 5 afterward.", + "- WASM/Main reads the same fixture with three matching channels and five keyframes per channel; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1749, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 438 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00114.md", + "bytes": 1749, + "lines": 38, + "tokens": 438 + }, + { + "path": "tests/golden/M16-GAP-00113/manifest.json", + "bytes": 2747, + "lines": 29, + "tokens": 687 + }, + { + "path": "docs/status/M16-GAP-00113.md", + "bytes": 845, + "lines": 19, + "tokens": 212 + } + ], + "sourceTokens": 1879, + "evidenceFiles": 1, + "evidenceBytes": 1981, + "evidenceTokens": 496, + "totalTokens": 2375, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json b/tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json new file mode 100644 index 00000000..c0d91209 --- /dev/null +++ b/tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json @@ -0,0 +1,61 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapClickSelectObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "click": { + "column": true, + "deselectAll": true, + "frame": 3.0 + }, + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend", + "fixtureSha256": "862548b70dd61ae3a132854a495648a2e265df2997054cadd1160e135ec3f059", + "operation": "ACTION_CLICKSELECT_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00115" +} diff --git a/tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json b/tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json new file mode 100644 index 00000000..e7079017 --- /dev/null +++ b/tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json @@ -0,0 +1,34 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00115", + "operation": "ACTION_CLICKSELECT_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend", + "sha256": "862548b70dd61ae3a132854a495648a2e265df2997054cadd1160e135ec3f059" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapClickSelectObjectAction:object:WebGapClickSelectObject", + "selectedFrames": [ + [ + 3 + ], + [ + 3 + ], + [ + 3 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00116" +} diff --git a/tests/golden/M16-GAP-00115/manifest.json b/tests/golden/M16-GAP-00115/manifest.json new file mode 100644 index 00000000..b7e83f9e --- /dev/null +++ b/tests/golden/M16-GAP-00115/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00115", + "parentTask": "M16-GAP-00114", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_CLICKSELECT_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00114/manifest.json", "sha256": "de0839580800f06f6f0d9291a8aabc97083ee19434f94f0a943fc2f2efd11fc1"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend", "sha256": "862548b70dd61ae3a132854a495648a2e265df2997054cadd1160e135ec3f059"}, + "generator": {"path": "tools/web/generated/M16-GAP-00115.py", "sha256": "e91f19fa0f133900cace0b2708ee5a7fcb6efe589e036963b2b0fa6ff5bbaef9"}, + "desktopChecker": {"path": "tools/web/check-action-clickselect-desktop.py", "sha256": "29f5ab8b8489b38ec874b8bf1d779b45e19934862bec3b730b0f3aee08700f74"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "8e25ee7af735d2c5749d7dd2daba099a401abd952e2f7bfaba43f1ddd5d42244"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "89ceabc2ee3fa085a9edfaf66320c88bf91880b7af46530a894af2e7846dc300"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json", "sha256": "8f6090591fd02d88ea4714ed6a570bbe1e9315226a7496a1382a1bcfb4a8dfe6"}, + "webReport": {"path": "tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json", "sha256": "ca2832eaceaf118bc1ce6b3efef1d5c4f9c63dae410d451b42b42f62316bbe37"} + }, + "nextTask": "M16-GAP-00116" +} diff --git a/tests/golden/M16-GAP-00115/task-context.json b/tests/golden/M16-GAP-00115/task-context.json new file mode 100644 index 00000000..576ddbad --- /dev/null +++ b/tests/golden/M16-GAP-00115/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00115", + "parentTask": "M16-GAP-00114", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.clickselect data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.clickselect", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00115.py -- tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00115", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00115" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00115.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 6946, + "contextRemainingTokens": 1735 + }, + "source": { + "bytes": 7054, + "tokens": 1765 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00115.py", + "bytes": 2658, + "tokens": 665 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend", + "bytes": 87093, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222085, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 154808, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00115/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00115.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00115/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2658, + "tokens": 665 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00116", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00115.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00114/manifest.json", + "parentStatus": "docs/status/M16-GAP-00114.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00115.md", + "tests/golden/M16-GAP-00114/manifest.json", + "docs/status/M16-GAP-00114.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00114", + "parentTask": "M16-GAP-00113", + "status": "done", + "nextTask": "M16-GAP-00115", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00114 Status", + "status: done", + "task: action.clean operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor clean operation on `object:WebGapCleanObject`.", + "evidence:", + "- Blender generator creates three location channels with frames 1, 3, and 5 and executes `bpy.ops.action.clean(threshold=0.01, channels=False)` in a real Action Editor context; each channel retains the single frame at 1.", + "- WASM/Main reads the same fixture with three matching channels and one keyframe per channel; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1779, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 445 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00115.md", + "bytes": 1779, + "lines": 38, + "tokens": 445 + }, + { + "path": "tests/golden/M16-GAP-00114/manifest.json", + "bytes": 2225, + "lines": 58, + "tokens": 557 + }, + { + "path": "docs/status/M16-GAP-00114.md", + "bytes": 882, + "lines": 19, + "tokens": 221 + } + ], + "sourceTokens": 1765, + "evidenceFiles": 1, + "evidenceBytes": 2658, + "evidenceTokens": 665, + "totalTokens": 2430, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00116/action-copy-desktop-report.json b/tests/golden/M16-GAP-00116/action-copy-desktop-report.json new file mode 100644 index 00000000..8c69d510 --- /dev/null +++ b/tests/golden/M16-GAP-00116/action-copy-desktop-report.json @@ -0,0 +1,60 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapCopyObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "copiedFrames": [ + 3.0 + ], + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend", + "fixtureSha256": "d291508ed19a9ba575908253a13310eab58dffa168cf07b401816f2ffd6a5448", + "mainMutation": "NONE", + "operation": "ACTION_COPY_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00116" +} diff --git a/tests/golden/M16-GAP-00116/action-copy-local-exact-report.json b/tests/golden/M16-GAP-00116/action-copy-local-exact-report.json new file mode 100644 index 00000000..9ef77e10 --- /dev/null +++ b/tests/golden/M16-GAP-00116/action-copy-local-exact-report.json @@ -0,0 +1,38 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00116", + "operation": "ACTION_COPY_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend", + "sha256": "d291508ed19a9ba575908253a13310eab58dffa168cf07b401816f2ffd6a5448" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00116/action-copy-desktop-report.json", + "saveReopen": "EXACT", + "mainMutation": "NONE" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapCopyObjectAction:object:WebGapCopyObject", + "copiedFrames": [ + 3 + ], + "selectedFrames": [ + [ + 3 + ], + [ + 3 + ], + [ + 3 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00117" +} diff --git a/tests/golden/M16-GAP-00116/manifest.json b/tests/golden/M16-GAP-00116/manifest.json new file mode 100644 index 00000000..80378682 --- /dev/null +++ b/tests/golden/M16-GAP-00116/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00116", + "parentTask": "M16-GAP-00115", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_COPY_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00115/manifest.json", "sha256": "186aba8a5d9e660604321526dfd3d47b4389f358acdc620bd2966a61f833fc11"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend", "sha256": "d291508ed19a9ba575908253a13310eab58dffa168cf07b401816f2ffd6a5448"}, + "generator": {"path": "tools/web/generated/M16-GAP-00116.py", "sha256": "318545fd674bc2477d674292bc3c273684978e101c526a258f52af965dc3eb6f"}, + "desktopChecker": {"path": "tools/web/check-action-copy-desktop.py", "sha256": "d5db0d6d0962ec780faa5a2c6fc1960a7e7d7babfced9d362ca05e46e0889c7c"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "24f6d7bed006c71a4be4d63623e3f58bde0380caa079f592508f65d8d23fefcc"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "89ceabc2ee3fa085a9edfaf66320c88bf91880b7af46530a894af2e7846dc300"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00116/action-copy-desktop-report.json", "sha256": "688cff599ed4b5b6ff17bc79141a040f8f9de59e6912285ae294af68efed0772"}, + "webReport": {"path": "tests/golden/M16-GAP-00116/action-copy-local-exact-report.json", "sha256": "d1698dbf04e3d7c7983734cdc88c7b109f61e10b33b09192e4576c60e2762b5e"} + }, + "nextTask": "M16-GAP-00117" +} diff --git a/tests/golden/M16-GAP-00116/task-context.json b/tests/golden/M16-GAP-00116/task-context.json new file mode 100644 index 00000000..a2e6463c --- /dev/null +++ b/tests/golden/M16-GAP-00116/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00116", + "parentTask": "M16-GAP-00115", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.copy data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.copy", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00116.py -- tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00116", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00116" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00116.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7092, + "contextRemainingTokens": 1772 + }, + "source": { + "bytes": 6908, + "tokens": 1728 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00116.py", + "bytes": 2388, + "tokens": 597 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend", + "bytes": 87090, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222085, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 158344, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00116/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00116.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00116/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2388, + "tokens": 597 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00117", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00116.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00115/manifest.json", + "parentStatus": "docs/status/M16-GAP-00115.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00116.md", + "tests/golden/M16-GAP-00115/manifest.json", + "docs/status/M16-GAP-00115.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00115", + "parentTask": "M16-GAP-00114", + "status": "done", + "nextTask": "M16-GAP-00116", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00115 Status", + "status: done", + "task: action.clickselect operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor click-select operation on `object:WebGapClickSelectObject`.", + "evidence:", + "- Blender generator creates three location channels with frames 1, 3, and 5, frames the Action Editor, and executes `bpy.ops.action.clickselect` at frame 3 with column selection; frame 3 is selected in all three channels.", + "- WASM/Main reads the same fixture with selected keyframe metadata, matching frame-3 selections, and save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1744, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 436 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00116.md", + "bytes": 1744, + "lines": 38, + "tokens": 436 + }, + { + "path": "tests/golden/M16-GAP-00115/manifest.json", + "bytes": 2057, + "lines": 25, + "tokens": 515 + }, + { + "path": "docs/status/M16-GAP-00115.md", + "bytes": 939, + "lines": 19, + "tokens": 235 + } + ], + "sourceTokens": 1728, + "evidenceFiles": 1, + "evidenceBytes": 2388, + "evidenceTokens": 597, + "totalTokens": 2325, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00117/action-delete-desktop-report.json b/tests/golden/M16-GAP-00117/action-delete-desktop-report.json new file mode 100644 index 00000000..68a206b3 --- /dev/null +++ b/tests/golden/M16-GAP-00117/action-delete-desktop-report.json @@ -0,0 +1,53 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + false + ] + }, + { + "frames": [ + 1.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + false + ] + }, + { + "frames": [ + 1.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + false + ] + } + ], + "name": "WebGapDeleteObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "deletedFrames": [ + 3.0 + ], + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend", + "fixtureSha256": "5112a074973e086eb2eaa00e604786dc2d7b8dffb1691de800c9dde97592de78", + "operation": "ACTION_DELETE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00117" +} diff --git a/tests/golden/M16-GAP-00117/action-delete-local-exact-report.json b/tests/golden/M16-GAP-00117/action-delete-local-exact-report.json new file mode 100644 index 00000000..f2d8af42 --- /dev/null +++ b/tests/golden/M16-GAP-00117/action-delete-local-exact-report.json @@ -0,0 +1,40 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00117", + "operation": "ACTION_DELETE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend", + "sha256": "5112a074973e086eb2eaa00e604786dc2d7b8dffb1691de800c9dde97592de78" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00117/action-delete-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapDeleteObjectAction:object:WebGapDeleteObject", + "deletedFrames": [ + 3 + ], + "remainingFrames": [ + [ + 1, + 5 + ], + [ + 1, + 5 + ], + [ + 1, + 5 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00118" +} diff --git a/tests/golden/M16-GAP-00117/manifest.json b/tests/golden/M16-GAP-00117/manifest.json new file mode 100644 index 00000000..36b75474 --- /dev/null +++ b/tests/golden/M16-GAP-00117/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00117", + "parentTask": "M16-GAP-00116", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_DELETE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00116/manifest.json", "sha256": "36ca61fedaeec33d50141058224f4907f09535027a966552d9edaf5922111870"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend", "sha256": "5112a074973e086eb2eaa00e604786dc2d7b8dffb1691de800c9dde97592de78"}, + "generator": {"path": "tools/web/generated/M16-GAP-00117.py", "sha256": "517943d741eaceb53e7f8d89a8bed07282afa157d4357e3a25690fb8f5df89b4"}, + "desktopChecker": {"path": "tools/web/check-action-delete-desktop.py", "sha256": "3655cc712601ed60095f850b4a419499007e13a7cceeebcd6c38bf42f7a1a6c0"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "f0a2a884678cbee7c3ef19fa0227328ac19268118249fc13109834ffb712b71d"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "89ceabc2ee3fa085a9edfaf66320c88bf91880b7af46530a894af2e7846dc300"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00117/action-delete-desktop-report.json", "sha256": "9c3f91e026c110496626bc0214a719c5475c71357572f6861cc0287a2948169e"}, + "webReport": {"path": "tests/golden/M16-GAP-00117/action-delete-local-exact-report.json", "sha256": "a2b9dda82da0c7a7751ac7bf36a958a624291a8ebe4cea12d54587fb3f441aa2"} + }, + "nextTask": "M16-GAP-00118" +} diff --git a/tests/golden/M16-GAP-00117/task-context.json b/tests/golden/M16-GAP-00117/task-context.json new file mode 100644 index 00000000..891fdc42 --- /dev/null +++ b/tests/golden/M16-GAP-00117/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00117", + "parentTask": "M16-GAP-00116", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.delete data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.delete", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00117.py -- tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00117", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00117" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00117.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7255, + "contextRemainingTokens": 1812 + }, + "source": { + "bytes": 6745, + "tokens": 1688 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00117.py", + "bytes": 2216, + "tokens": 554 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend", + "bytes": 86816, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222085, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 161758, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00117/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00117.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00117/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2216, + "tokens": 554 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00118", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00117.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00116/manifest.json", + "parentStatus": "docs/status/M16-GAP-00116.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00117.md", + "tests/golden/M16-GAP-00116/manifest.json", + "docs/status/M16-GAP-00116.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00116", + "parentTask": "M16-GAP-00115", + "status": "done", + "nextTask": "M16-GAP-00117", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00116 Status", + "status: done", + "task: action.copy operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor copy operation on `object:WebGapCopyObject`.", + "evidence:", + "- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.copy` in a real Action Editor context.", + "- Desktop and WASM/Main observe the same selected source keys; copy leaves Main unchanged and save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1754, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 439 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00117.md", + "bytes": 1754, + "lines": 38, + "tokens": 439 + }, + { + "path": "tests/golden/M16-GAP-00116/manifest.json", + "bytes": 2022, + "lines": 25, + "tokens": 506 + }, + { + "path": "docs/status/M16-GAP-00116.md", + "bytes": 801, + "lines": 19, + "tokens": 201 + } + ], + "sourceTokens": 1688, + "evidenceFiles": 1, + "evidenceBytes": 2216, + "evidenceTokens": 554, + "totalTokens": 2242, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json b/tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json new file mode 100644 index 00000000..c6891bab --- /dev/null +++ b/tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json @@ -0,0 +1,65 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + false, + true, + false + ] + } + ], + "name": "WebGapDuplicateObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "duplicatedFrames": [ + 3.0 + ], + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend", + "fixtureSha256": "090e668d61cbdf9a9618c3f592e8337b1776386ab71dda115aacd3591e5a2718", + "operation": "ACTION_DUPLICATE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00118" +} diff --git a/tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json b/tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json new file mode 100644 index 00000000..e2559c27 --- /dev/null +++ b/tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json @@ -0,0 +1,46 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00118", + "operation": "ACTION_DUPLICATE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend", + "sha256": "090e668d61cbdf9a9618c3f592e8337b1776386ab71dda115aacd3591e5a2718" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapDuplicateObjectAction:object:WebGapDuplicateObject", + "duplicatedFrames": [ + 3 + ], + "keyframesPerChannel": [ + [ + 1, + 3, + 3, + 5 + ], + [ + 1, + 3, + 3, + 5 + ], + [ + 1, + 3, + 3, + 5 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00119" +} diff --git a/tests/golden/M16-GAP-00118/manifest.json b/tests/golden/M16-GAP-00118/manifest.json new file mode 100644 index 00000000..f4598d0f --- /dev/null +++ b/tests/golden/M16-GAP-00118/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00118", + "parentTask": "M16-GAP-00117", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_DUPLICATE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00117/manifest.json", "sha256": "d8f39b623121af30f36767bf0a89c3e4aba7ae23802563023aa7362b814d8da1"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend", "sha256": "090e668d61cbdf9a9618c3f592e8337b1776386ab71dda115aacd3591e5a2718"}, + "generator": {"path": "tools/web/generated/M16-GAP-00118.py", "sha256": "6829baf79faa5225c6fb8a18201a5d91a2371ac4480ba1180534c7e8a8e89624"}, + "desktopChecker": {"path": "tools/web/check-action-duplicate-desktop.py", "sha256": "281551ded3cdad0c4abc4e9b937b99e37ee51ecdfdb923137afc3ce7b0c5b29f"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "6c1303e38d822e463063f02fdaf32a6469de4573df375750c2cd13b1320ec190"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "89ceabc2ee3fa085a9edfaf66320c88bf91880b7af46530a894af2e7846dc300"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json", "sha256": "1b84545f6b5f01877c191170b8b5a0d21035e5448373506b4cca50399780e1be"}, + "webReport": {"path": "tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json", "sha256": "31b61f287906adee9b83d2c05cb302b76012cf5284f96cf45a8ea349a855c320"} + }, + "nextTask": "M16-GAP-00119" +} diff --git a/tests/golden/M16-GAP-00118/task-context.json b/tests/golden/M16-GAP-00118/task-context.json new file mode 100644 index 00000000..8b312cd8 --- /dev/null +++ b/tests/golden/M16-GAP-00118/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00118", + "parentTask": "M16-GAP-00117", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.duplicate data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.duplicate", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00118.py -- tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00118", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00118" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00118.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7169, + "contextRemainingTokens": 1791 + }, + "source": { + "bytes": 6831, + "tokens": 1709 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00118.py", + "bytes": 2227, + "tokens": 557 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend", + "bytes": 86896, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222085, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 165216, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00118/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00118.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00118/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2227, + "tokens": 557 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00119", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00118.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00117/manifest.json", + "parentStatus": "docs/status/M16-GAP-00117.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00118.md", + "tests/golden/M16-GAP-00117/manifest.json", + "docs/status/M16-GAP-00117.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00117", + "parentTask": "M16-GAP-00116", + "status": "done", + "nextTask": "M16-GAP-00118", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00117 Status", + "status: done", + "task: action.delete operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor delete operation on `object:WebGapDeleteObject`.", + "evidence:", + "- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.delete(confirm=False)` in a real Action Editor context; each channel retains frames 1 and 5.", + "- WASM/Main reads the same three channels with matching `[1, 5]` keyframes; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1769, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 443 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00118.md", + "bytes": 1769, + "lines": 38, + "tokens": 443 + }, + { + "path": "tests/golden/M16-GAP-00117/manifest.json", + "bytes": 2032, + "lines": 25, + "tokens": 508 + }, + { + "path": "docs/status/M16-GAP-00117.md", + "bytes": 862, + "lines": 19, + "tokens": 216 + } + ], + "sourceTokens": 1709, + "evidenceFiles": 1, + "evidenceBytes": 2227, + "evidenceTokens": 557, + "totalTokens": 2266, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json b/tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json new file mode 100644 index 00000000..e00c93be --- /dev/null +++ b/tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json @@ -0,0 +1,58 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + false, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + false, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + false, + true + ] + } + ], + "name": "WebGapDuplicateMoveObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "duplicatedFrame": 3.0, + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend", + "fixtureSha256": "1a40c2e579708731f99bd4f25d255acb3be51431c86fe19d89f741043e4dc085", + "operation": "ACTION_DUPLICATE_MOVE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00119", + "timeOffset": 2.0 +} diff --git a/tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json b/tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json new file mode 100644 index 00000000..ef4bfd62 --- /dev/null +++ b/tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json @@ -0,0 +1,37 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00119", + "operation": "ACTION_DUPLICATE_MOVE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend", + "sha256": "1a40c2e579708731f99bd4f25d255acb3be51431c86fe19d89f741043e4dc085" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapDuplicateMoveObjectAction:object:WebGapDuplicateMoveObject", + "sourceFrame": 3, + "movedFrame": 5, + "timeOffset": 2, + "selectedFrames": [ + [ + 5 + ], + [ + 5 + ], + [ + 5 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00120" +} diff --git a/tests/golden/M16-GAP-00119/manifest.json b/tests/golden/M16-GAP-00119/manifest.json new file mode 100644 index 00000000..5ead7fb3 --- /dev/null +++ b/tests/golden/M16-GAP-00119/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00119", + "parentTask": "M16-GAP-00118", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_DUPLICATE_MOVE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00118/manifest.json", "sha256": "63e6ecd36ef8c608d7c136ad5a2d62163d05802408f61264da99c3db50782b65"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend", "sha256": "1a40c2e579708731f99bd4f25d255acb3be51431c86fe19d89f741043e4dc085"}, + "generator": {"path": "tools/web/generated/M16-GAP-00119.py", "sha256": "2db8ee3d18c634ae2f28d1dd2a3ced2bf9490be578795b59a1ca9e96eb1992af"}, + "desktopChecker": {"path": "tools/web/check-action-duplicate-move-desktop.py", "sha256": "7738a3a07f4971ed3f564d3cd6d09243853a602ac1253056ac5bdaa9522c91a5"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "5593cb70b853d6f259644efd7f513d97ba4119a9e00004c0a8b5da764be3942c"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "89ceabc2ee3fa085a9edfaf66320c88bf91880b7af46530a894af2e7846dc300"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "857caf1d9976a1e12c55c39dcba35f985ea2841c18e8c0af58000583de4a4e37"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json", "sha256": "f1ba7739899913c3478ce9f2e1bfb92b7a73ccebe3176e98d2e9c57072ab7d97"}, + "webReport": {"path": "tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json", "sha256": "47d8a5de2a50807b33695b011ba1774883c3c8823a6326a3bfc537fab4a2ef52"} + }, + "nextTask": "M16-GAP-00120" +} diff --git a/tests/golden/M16-GAP-00119/task-context.json b/tests/golden/M16-GAP-00119/task-context.json new file mode 100644 index 00000000..48a00f40 --- /dev/null +++ b/tests/golden/M16-GAP-00119/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00119", + "parentTask": "M16-GAP-00118", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.duplicate_move data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.duplicate_move", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00119.py -- tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00119", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00119" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00119.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7151, + "contextRemainingTokens": 1787 + }, + "source": { + "bytes": 6849, + "tokens": 1713 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00119.py", + "bytes": 2357, + "tokens": 590 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend", + "bytes": 86906, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222085, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 168908, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00119/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00119.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00119/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2357, + "tokens": 590 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00120", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00119.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00118/manifest.json", + "parentStatus": "docs/status/M16-GAP-00118.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00119.md", + "tests/golden/M16-GAP-00118/manifest.json", + "docs/status/M16-GAP-00118.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00118", + "parentTask": "M16-GAP-00117", + "status": "done", + "nextTask": "M16-GAP-00119", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00118 Status", + "status: done", + "task: action.duplicate operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor duplicate operation on `object:WebGapDuplicateObject`.", + "evidence:", + "- Blender generator selects frame 3 in all three location channels and executes `bpy.ops.action.duplicate`; each channel becomes `[1, 3, 3, 5]` with the duplicated key selected.", + "- WASM/Main reads the same duplicate keyframes and selected metadata; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1794, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 449 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00119.md", + "bytes": 1794, + "lines": 38, + "tokens": 449 + }, + { + "path": "tests/golden/M16-GAP-00118/manifest.json", + "bytes": 2047, + "lines": 25, + "tokens": 512 + }, + { + "path": "docs/status/M16-GAP-00118.md", + "bytes": 840, + "lines": 19, + "tokens": 210 + } + ], + "sourceTokens": 1713, + "evidenceFiles": 1, + "evidenceBytes": 2357, + "evidenceTokens": 590, + "totalTokens": 2303, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json b/tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json new file mode 100644 index 00000000..cdcb832a --- /dev/null +++ b/tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "easing": [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ], + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "easing": [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ], + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "easing": [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ], + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapEasingTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "easingType": "EASE_IN_OUT", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend", + "fixtureSha256": "828206cdfd525388464e7ec281a9968c96a7add8cca8db275641031e14627caa", + "operation": "ACTION_EASING_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00120" +} diff --git a/tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json b/tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json new file mode 100644 index 00000000..a3eb8ca6 --- /dev/null +++ b/tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00120", + "operation": "ACTION_EASING_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend", + "sha256": "828206cdfd525388464e7ec281a9968c96a7add8cca8db275641031e14627caa" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapEasingTypeObjectAction:object:WebGapEasingTypeObject", + "easingType": "EASE_IN_OUT", + "easingPerChannel": [ + [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ], + [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ], + [ + "AUTO", + "EASE_IN_OUT", + "AUTO" + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00121" +} diff --git a/tests/golden/M16-GAP-00120/manifest.json b/tests/golden/M16-GAP-00120/manifest.json new file mode 100644 index 00000000..b4d80dcd --- /dev/null +++ b/tests/golden/M16-GAP-00120/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00120", + "parentTask": "M16-GAP-00119", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_EASING_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00119/manifest.json", "sha256": "960935bcb27b8a77d43b5ebc78f9ab851df84089a90d3dcf1958990cb1243086"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend", "sha256": "828206cdfd525388464e7ec281a9968c96a7add8cca8db275641031e14627caa"}, + "generator": {"path": "tools/web/generated/M16-GAP-00120.py", "sha256": "0db649027d8772539a011bf5b5eb021efbd95728f9af706b4b42a361e88f8c3d"}, + "desktopChecker": {"path": "tools/web/check-action-easing-type-desktop.py", "sha256": "37233be661cbcf08ece72e5293de7016c4408d3708256902380ba608c7985abf"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "d0a1e69983f066034a01e73275976cf4c42b0d38228148d1335244f3bc5b9e08"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "05fcd64096b857b1f80fc829676f5822dd08ac8bd04828059ad9f92c353ba483"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "31d7f2b4373dd21011446696f71333829f9603c0e3baddab50988023e098b59f"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "31d7f2b4373dd21011446696f71333829f9603c0e3baddab50988023e098b59f"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json", "sha256": "e34d9007483d2913166486f7fe736adae145ca27b1b90240ce36e62c4b8f1bbc"}, + "webReport": {"path": "tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json", "sha256": "9ce9af87fc9f42682de1fa7b02f3f320a64965dad5e3a34f808dbb072481896c"} + }, + "nextTask": "M16-GAP-00121" +} diff --git a/tests/golden/M16-GAP-00120/task-context.json b/tests/golden/M16-GAP-00120/task-context.json new file mode 100644 index 00000000..3ae081f4 --- /dev/null +++ b/tests/golden/M16-GAP-00120/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00120", + "parentTask": "M16-GAP-00119", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.easing_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.easing_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00120.py -- tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00120", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00120" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00120.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7120, + "contextRemainingTokens": 1779 + }, + "source": { + "bytes": 6880, + "tokens": 1721 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00120.py", + "bytes": 2243, + "tokens": 561 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend", + "bytes": 86877, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222478, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 172519, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00120/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00120.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00120/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2243, + "tokens": 561 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00121", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00120.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00119/manifest.json", + "parentStatus": "docs/status/M16-GAP-00119.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00120.md", + "tests/golden/M16-GAP-00119/manifest.json", + "docs/status/M16-GAP-00119.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00119", + "parentTask": "M16-GAP-00118", + "status": "done", + "nextTask": "M16-GAP-00120", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00119 Status", + "status: done", + "task: action.duplicate_move operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor duplicate-move operation on `object:WebGapDuplicateMoveObject`.", + "evidence:", + "- Blender generator selects frame 3 and executes `bpy.ops.action.duplicate_move` with a time translation of +2; the duplicate lands at frame 5 and is selected in all three channels.", + "- WASM/Main reads the same `[1, 3, 5]` channels with frame 5 selected; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1779, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 445 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00120.md", + "bytes": 1779, + "lines": 38, + "tokens": 445 + }, + { + "path": "tests/golden/M16-GAP-00119/manifest.json", + "bytes": 2072, + "lines": 25, + "tokens": 518 + }, + { + "path": "docs/status/M16-GAP-00119.md", + "bytes": 861, + "lines": 19, + "tokens": 216 + } + ], + "sourceTokens": 1721, + "evidenceFiles": 1, + "evidenceBytes": 2243, + "evidenceTokens": 561, + "totalTokens": 2282, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json b/tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json new file mode 100644 index 00000000..217b2394 --- /dev/null +++ b/tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json @@ -0,0 +1,45 @@ +{ + "action": { + "channels": [ + { + "extrapolation": "LINEAR", + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location" + }, + { + "extrapolation": "LINEAR", + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location" + }, + { + "extrapolation": "LINEAR", + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location" + } + ], + "name": "WebGapExtrapolationTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "extrapolationType": "LINEAR", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend", + "fixtureSha256": "39c4559926b71ed7b364b6f618c6b19c215d23031b994460d0180537879ff10f", + "operation": "ACTION_EXTRAPOLATION_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00121" +} diff --git a/tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json b/tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json new file mode 100644 index 00000000..e2fe05d3 --- /dev/null +++ b/tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json @@ -0,0 +1,29 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00121", + "operation": "ACTION_EXTRAPOLATION_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend", + "sha256": "39c4559926b71ed7b364b6f618c6b19c215d23031b994460d0180537879ff10f" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapExtrapolationTypeObjectAction:object:WebGapExtrapolationTypeObject", + "extrapolationType": "LINEAR", + "extrapolationPerChannel": [ + "LINEAR", + "LINEAR", + "LINEAR" + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00122" +} diff --git a/tests/golden/M16-GAP-00121/manifest.json b/tests/golden/M16-GAP-00121/manifest.json new file mode 100644 index 00000000..bda37cfa --- /dev/null +++ b/tests/golden/M16-GAP-00121/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00121", + "parentTask": "M16-GAP-00120", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_EXTRAPOLATION_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00120/manifest.json", "sha256": "a517d68211696c3dc4110b07497eba5d07223d90e6f6a42ecf0aa9b01f8ea68f"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend", "sha256": "39c4559926b71ed7b364b6f618c6b19c215d23031b994460d0180537879ff10f"}, + "generator": {"path": "tools/web/generated/M16-GAP-00121.py", "sha256": "09a7f42b438f7fb6b14eab1fd8fc436ee938ec62af8f11d62b24a46215d7a05a"}, + "desktopChecker": {"path": "tools/web/check-action-extrapolation-type-desktop.py", "sha256": "8abb11eb1c484b008cc6157d0a5d9c786ebad25b196d117ea5fb015770f70abc"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "32ba19733b1f83f0d7190ebd0b4611cb93c3950358cb4c1cd0101ad124c735b4"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "4cc9629a903d638d7cc2d807e4f0ca4d8d5a9b0093747ea031d3c5ce9a6608c2"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "3cd4771fe3250f3c6433b2110cac0da8d872c879c09acbbb6fb698962d45fcac"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "3cd4771fe3250f3c6433b2110cac0da8d872c879c09acbbb6fb698962d45fcac"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json", "sha256": "d9c594e10b0196fb9a906cbd6ed31f26196c8ee1ede6a23c50d3a6ac9de0012d"}, + "webReport": {"path": "tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json", "sha256": "c898764e6629bfa752e6375c1944c579a02c62cb25059792fd9e582042a8a3ab"} + }, + "nextTask": "M16-GAP-00122" +} diff --git a/tests/golden/M16-GAP-00121/task-context.json b/tests/golden/M16-GAP-00121/task-context.json new file mode 100644 index 00000000..7db87339 --- /dev/null +++ b/tests/golden/M16-GAP-00121/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00121", + "parentTask": "M16-GAP-00120", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.extrapolation_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.extrapolation_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00121.py -- tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00121", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00121" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00121.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7149, + "contextRemainingTokens": 1786 + }, + "source": { + "bytes": 6851, + "tokens": 1714 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00121.py", + "bytes": 2267, + "tokens": 567 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend", + "bytes": 86924, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222719, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 175864, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00121/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00121.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00121/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2267, + "tokens": 567 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00122", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00121.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00120/manifest.json", + "parentStatus": "docs/status/M16-GAP-00120.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00121.md", + "tests/golden/M16-GAP-00120/manifest.json", + "docs/status/M16-GAP-00120.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00120", + "parentTask": "M16-GAP-00119", + "status": "done", + "nextTask": "M16-GAP-00121", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00120 Status", + "status: done", + "task: action.easing_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor easing-type operation on `object:WebGapEasingTypeObject`.", + "evidence:", + "- Blender generator selects frame 3 and executes `bpy.ops.action.easing_type(type=\"EASE_IN_OUT\")`; all three location curves report `AUTO, EASE_IN_OUT, AUTO`.", + "- WASM/Main now exports keyframe easing metadata and matches desktop; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1814, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 454 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00121.md", + "bytes": 1814, + "lines": 38, + "tokens": 454 + }, + { + "path": "tests/golden/M16-GAP-00120/manifest.json", + "bytes": 2057, + "lines": 25, + "tokens": 515 + }, + { + "path": "docs/status/M16-GAP-00120.md", + "bytes": 812, + "lines": 19, + "tokens": 203 + } + ], + "sourceTokens": 1714, + "evidenceFiles": 1, + "evidenceBytes": 2267, + "evidenceTokens": 567, + "totalTokens": 2281, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json b/tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json new file mode 100644 index 00000000..7939a321 --- /dev/null +++ b/tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json @@ -0,0 +1,57 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + false, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + false, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + false, + true + ] + } + ], + "name": "WebGapFrameJumpObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend", + "fixtureSha256": "332f117de8b826abb0d044715daa2d01a203b03080c61aaed7671ef67fa2da44", + "jumpedToFrame": 5, + "operation": "ACTION_FRAME_JUMP_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00122" +} diff --git a/tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json b/tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json new file mode 100644 index 00000000..3bc771fe --- /dev/null +++ b/tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json @@ -0,0 +1,35 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00122", + "operation": "ACTION_FRAME_JUMP_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend", + "sha256": "332f117de8b826abb0d044715daa2d01a203b03080c61aaed7671ef67fa2da44" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapFrameJumpObjectAction:object:WebGapFrameJumpObject", + "jumpedToFrame": 5, + "selectedFrames": [ + [ + 5 + ], + [ + 5 + ], + [ + 5 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00123" +} diff --git a/tests/golden/M16-GAP-00122/manifest.json b/tests/golden/M16-GAP-00122/manifest.json new file mode 100644 index 00000000..624d39d6 --- /dev/null +++ b/tests/golden/M16-GAP-00122/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00122", + "parentTask": "M16-GAP-00121", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_FRAME_JUMP_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00121/manifest.json", "sha256": "64ea4f3609b22c19864da33ba0a12a90ab715ead3777ce1b0f442e952ad4439a"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend", "sha256": "332f117de8b826abb0d044715daa2d01a203b03080c61aaed7671ef67fa2da44"}, + "generator": {"path": "tools/web/generated/M16-GAP-00122.py", "sha256": "a80fec742fa6c4f9f0846bcc9ed7817e68ae9b78a3789b5e9ffd873a4f71ba22"}, + "desktopChecker": {"path": "tools/web/check-action-frame-jump-desktop.py", "sha256": "169ea06f3ed471014162d67bcb8b79945e85b7f91d1291f15b62ccecaf3a8126"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "6b14c6b20b5f59aad5629017beff50b1002fa965e9bf63158c9c93e85622b4dc"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "4cc9629a903d638d7cc2d807e4f0ca4d8d5a9b0093747ea031d3c5ce9a6608c2"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "3cd4771fe3250f3c6433b2110cac0da8d872c879c09acbbb6fb698962d45fcac"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "3cd4771fe3250f3c6433b2110cac0da8d872c879c09acbbb6fb698962d45fcac"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json", "sha256": "2a03fd1c8b4faea5fbf908e43df73758044dec705684842c0061023e999edf79"}, + "webReport": {"path": "tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json", "sha256": "ac695d4436de8399842d39b412bb734c1e98d021f18a71c414627405aaa27fee"} + }, + "nextTask": "M16-GAP-00123" +} diff --git a/tests/golden/M16-GAP-00122/task-context.json b/tests/golden/M16-GAP-00122/task-context.json new file mode 100644 index 00000000..78c0ef50 --- /dev/null +++ b/tests/golden/M16-GAP-00122/task-context.json @@ -0,0 +1,181 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00122", + "parentTask": "M16-GAP-00121", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.frame_jump data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.frame_jump", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00122.py -- tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00122", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00122" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00122.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 7126, + "contextRemainingTokens": 1781 + }, + "source": { + "bytes": 6874, + "tokens": 1719 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00122.py", + "bytes": 2223, + "tokens": 556 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend", + "bytes": 86875, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 222719, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 179055, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00122/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00122.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00122/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2223, + "tokens": 556 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00123", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00122.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00121/manifest.json", + "parentStatus": "docs/status/M16-GAP-00121.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00122.md", + "tests/golden/M16-GAP-00121/manifest.json", + "docs/status/M16-GAP-00121.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00121", + "parentTask": "M16-GAP-00120", + "status": "done", + "nextTask": "M16-GAP-00122", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00121 Status", + "status: done", + "task: action.extrapolation_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor extrapolation-type operation on `object:WebGapExtrapolationTypeObject`.", + "evidence:", + "- Blender generator selects the Action Editor FCurves and executes `bpy.ops.action.extrapolation_type(type=\"LINEAR\")`; all three curves report LINEAR extrapolation.", + "- WASM/Main now exports FCurve extrapolation metadata and matches desktop; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1774, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "taskLines": 38, + "taskTokens": 444 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00122.md", + "bytes": 1774, + "lines": 38, + "tokens": 444 + }, + { + "path": "tests/golden/M16-GAP-00121/manifest.json", + "bytes": 2092, + "lines": 25, + "tokens": 523 + }, + { + "path": "docs/status/M16-GAP-00121.md", + "bytes": 840, + "lines": 19, + "tokens": 210 + } + ], + "sourceTokens": 1719, + "evidenceFiles": 1, + "evidenceBytes": 2223, + "evidenceTokens": 556, + "totalTokens": 2275, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json b/tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json new file mode 100644 index 00000000..5f8ea3b8 --- /dev/null +++ b/tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "handleType": [ + "VECTOR", + "VECTOR", + "VECTOR" + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "handleType": [ + "VECTOR", + "VECTOR", + "VECTOR" + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "handleType": [ + "VECTOR", + "VECTOR", + "VECTOR" + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapHandleTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend", + "fixtureSha256": "69281e445ba7741ce639dc98bf115e265e52bdb4900d82de9b25c70e6cd9d42e", + "handleType": "VECTOR", + "operation": "ACTION_HANDLE_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00123" +} diff --git a/tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json b/tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json new file mode 100644 index 00000000..cb98262f --- /dev/null +++ b/tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00123", + "operation": "ACTION_HANDLE_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend", + "sha256": "69281e445ba7741ce639dc98bf115e265e52bdb4900d82de9b25c70e6cd9d42e" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapHandleTypeObjectAction:object:WebGapHandleTypeObject", + "handleType": "VECTOR", + "handleTypes": [ + [ + "VECTOR", + "VECTOR", + "VECTOR" + ], + [ + "VECTOR", + "VECTOR", + "VECTOR" + ], + [ + "VECTOR", + "VECTOR", + "VECTOR" + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00124" +} diff --git a/tests/golden/M16-GAP-00123/manifest.json b/tests/golden/M16-GAP-00123/manifest.json new file mode 100644 index 00000000..57d3044d --- /dev/null +++ b/tests/golden/M16-GAP-00123/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00123", + "parentTask": "M16-GAP-00122", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_HANDLE_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00122/manifest.json", "sha256": "4ec934ccdafd4c9c01299b92f57fe2cc815739c3818f130e2ad88f06f4bbc8ea"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend", "sha256": "69281e445ba7741ce639dc98bf115e265e52bdb4900d82de9b25c70e6cd9d42e"}, + "generator": {"path": "tools/web/generated/M16-GAP-00123.py", "sha256": "8b144f6bc50ec8234906f07e81bf661353fe123e0ff85dcb1874185914f4d844"}, + "desktopChecker": {"path": "tools/web/check-action-handle-type-desktop.py", "sha256": "81711dabd6dd4cf0a40b79f3d54a4243de6bd362f0295702c2d9f5d0336b35c2"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "e96d33467a1127729d0156bdc1199e04c957243e5e6e532aa622fac611198cfe"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "c3b7f4ce10bd7e4cf5a9baacaf4329a6d3a3313dd99aa8866f3f6489c5cbb567"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json", "sha256": "4e37880d7ed3a2f506c2b93b93883c282011d0578d656dfe4c461a4e111201c9"}, + "webReport": {"path": "tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json", "sha256": "18fa52777177e3312534e981d7e2b1b6fd51b8ed72472c11f0959925907a6287"} + }, + "nextTask": "M16-GAP-00124" +} diff --git a/tests/golden/M16-GAP-00123/task-context.json b/tests/golden/M16-GAP-00123/task-context.json new file mode 100644 index 00000000..27eef683 --- /dev/null +++ b/tests/golden/M16-GAP-00123/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00123", + "parentTask": "M16-GAP-00122", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.handle_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.handle_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00123.py -- tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00123", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00123" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00123.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3078, + "contextRemainingTokens": 769 + }, + "source": { + "bytes": 6826, + "tokens": 1707 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00123.py", + "bytes": 2224, + "tokens": 556 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend", + "bytes": 86907, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 223369, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 182640, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00123/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00123.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00123/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2224, + "tokens": 556 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00124", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00123.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00122/manifest.json", + "parentStatus": "docs/status/M16-GAP-00122.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00123.md", + "tests/golden/M16-GAP-00122/manifest.json", + "docs/status/M16-GAP-00122.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00122", + "parentTask": "M16-GAP-00121", + "status": "done", + "nextTask": "M16-GAP-00123", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00122 Status", + "status: done", + "task: action.frame_jump operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor frame-jump operation on `object:WebGapFrameJumpObject`.", + "evidence:", + "- Blender generator selects frame 5 in all three location channels and executes `bpy.ops.action.frame_jump`; the scene current frame changes from 1 to 5.", + "- WASM/Main reads current frame 5 and matching selected frame metadata; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1779, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 445 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00123.md", + "bytes": 1779, + "lines": 38, + "tokens": 445 + }, + { + "path": "tests/golden/M16-GAP-00122/manifest.json", + "bytes": 2052, + "lines": 25, + "tokens": 513 + }, + { + "path": "docs/status/M16-GAP-00122.md", + "bytes": 827, + "lines": 19, + "tokens": 207 + } + ], + "sourceTokens": 1707, + "evidenceFiles": 1, + "evidenceBytes": 2224, + "evidenceTokens": 556, + "totalTokens": 2263, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3287, + "serializedContextTokens": 753, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json b/tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json new file mode 100644 index 00000000..2081d05a --- /dev/null +++ b/tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "interpolation": [ + "BEZIER", + "LINEAR", + "BEZIER" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "interpolation": [ + "BEZIER", + "LINEAR", + "BEZIER" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "interpolation": [ + "BEZIER", + "LINEAR", + "BEZIER" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapInterpolationTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend", + "fixtureSha256": "b05e3fe799dd077db20569b98a6849800e4d8e5b1b95b2018ccef70f3d2e77ca", + "interpolationType": "LINEAR", + "operation": "ACTION_INTERPOLATION_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00124" +} diff --git a/tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json b/tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json new file mode 100644 index 00000000..daaf107f --- /dev/null +++ b/tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00124", + "operation": "ACTION_INTERPOLATION_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend", + "sha256": "b05e3fe799dd077db20569b98a6849800e4d8e5b1b95b2018ccef70f3d2e77ca" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapInterpolationTypeObjectAction:object:WebGapInterpolationTypeObject", + "interpolationType": "LINEAR", + "interpolationPerChannel": [ + [ + "BEZIER", + "LINEAR", + "BEZIER" + ], + [ + "BEZIER", + "LINEAR", + "BEZIER" + ], + [ + "BEZIER", + "LINEAR", + "BEZIER" + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00125" +} diff --git a/tests/golden/M16-GAP-00124/manifest.json b/tests/golden/M16-GAP-00124/manifest.json new file mode 100644 index 00000000..61035874 --- /dev/null +++ b/tests/golden/M16-GAP-00124/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00124", + "parentTask": "M16-GAP-00123", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_INTERPOLATION_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00123/manifest.json", "sha256": "e457adeee2d07b5b0649a9fa8cdeec50349c778b1d87f4263117f00fbff13877"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend", "sha256": "b05e3fe799dd077db20569b98a6849800e4d8e5b1b95b2018ccef70f3d2e77ca"}, + "generator": {"path": "tools/web/generated/M16-GAP-00124.py", "sha256": "c80a0232ad6d5628eac7ed5b59c83f6e9741cfa0f793491db339171ee79a4ec8"}, + "desktopChecker": {"path": "tools/web/check-action-interpolation-type-desktop.py", "sha256": "5d61995b4ef75f1e47e277df59d5327609be283fc744014791857ef61f9b0ce5"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "ed943b787f2d83a729089c2dcfd058756cfcac18dabc2e17c897d9757a6596fb"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "c3b7f4ce10bd7e4cf5a9baacaf4329a6d3a3313dd99aa8866f3f6489c5cbb567"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json", "sha256": "94ec52af816fb75cfed2339ebb4b821b4aa13d822c6fe2697f9923309331804f"}, + "webReport": {"path": "tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json", "sha256": "a93a5394419001a0555103f76c91653b1127a21a454a076d71a78050a00130d2"} + }, + "nextTask": "M16-GAP-00125" +} diff --git a/tests/golden/M16-GAP-00124/task-context.json b/tests/golden/M16-GAP-00124/task-context.json new file mode 100644 index 00000000..99374d0c --- /dev/null +++ b/tests/golden/M16-GAP-00124/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00124", + "parentTask": "M16-GAP-00123", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.interpolation_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.interpolation_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00124.py -- tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00124", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00124" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00124.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3027, + "contextRemainingTokens": 755 + }, + "source": { + "bytes": 6877, + "tokens": 1721 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00124.py", + "bytes": 2294, + "tokens": 574 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend", + "bytes": 86881, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 223369, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 186303, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00124/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00124.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00124/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2294, + "tokens": 574 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00125", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00124.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00123/manifest.json", + "parentStatus": "docs/status/M16-GAP-00123.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00124.md", + "tests/golden/M16-GAP-00123/manifest.json", + "docs/status/M16-GAP-00123.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00123", + "parentTask": "M16-GAP-00122", + "status": "done", + "nextTask": "M16-GAP-00124", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00123 Status", + "status: done", + "task: action.handle_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor handle-type operation on `object:WebGapHandleTypeObject`.", + "evidence:", + "- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.handle_type(type=\"VECTOR\")`; all saved keyframes expose VECTOR handles.", + "- WASM/Main reads the same three channels, frames, selection flags, and handle types; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1814, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 454 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00124.md", + "bytes": 1814, + "lines": 38, + "tokens": 454 + }, + { + "path": "tests/golden/M16-GAP-00123/manifest.json", + "bytes": 2057, + "lines": 25, + "tokens": 515 + }, + { + "path": "docs/status/M16-GAP-00123.md", + "bytes": 838, + "lines": 19, + "tokens": 210 + } + ], + "sourceTokens": 1721, + "evidenceFiles": 1, + "evidenceBytes": 2294, + "evidenceTokens": 574, + "totalTokens": 2295, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3319, + "serializedContextTokens": 758, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json b/tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json new file mode 100644 index 00000000..45ba1518 --- /dev/null +++ b/tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ], + "values": [ + 0.0, + 2.0, + 4.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ], + "values": [ + 0.0, + 3.0, + 6.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ], + "values": [ + 0.0, + 4.0, + 8.0 + ] + } + ], + "name": "WebGapKeyframeInsertObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend", + "fixtureSha256": "0ff15cd87241927e76bbcfdfdc6048238467b3e09d2e9d304d14b3858f2d95a7", + "insertedFrame": 3, + "operation": "ACTION_KEYFRAME_INSERT_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00125" +} diff --git a/tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json b/tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json new file mode 100644 index 00000000..8241a242 --- /dev/null +++ b/tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00125", + "operation": "ACTION_KEYFRAME_INSERT_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend", + "sha256": "0ff15cd87241927e76bbcfdfdc6048238467b3e09d2e9d304d14b3858f2d95a7" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapKeyframeInsertObjectAction:object:WebGapKeyframeInsertObject", + "insertedFrame": 3, + "framesPerChannel": [ + [ + 1, + 3, + 5 + ], + [ + 1, + 3, + 5 + ], + [ + 1, + 3, + 5 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00126" +} diff --git a/tests/golden/M16-GAP-00125/manifest.json b/tests/golden/M16-GAP-00125/manifest.json new file mode 100644 index 00000000..c2babaaa --- /dev/null +++ b/tests/golden/M16-GAP-00125/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00125", + "parentTask": "M16-GAP-00124", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_KEYFRAME_INSERT_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00124/manifest.json", "sha256": "b7079ef52e8f3f5082919893ebcd0cfd928da5e5534c8cf76b6ac57c430a2ae6"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend", "sha256": "0ff15cd87241927e76bbcfdfdc6048238467b3e09d2e9d304d14b3858f2d95a7"}, + "generator": {"path": "tools/web/generated/M16-GAP-00125.py", "sha256": "10ca9311b9454c1926c870a171b0bed6e3c6057086be253bad11e2c86f0637cc"}, + "desktopChecker": {"path": "tools/web/check-action-keyframe-insert-desktop.py", "sha256": "2e812004ce8f6d05e6a7778430da3b1ade834084a572b0aa41e1a4b7278d8403"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "b9266191601ca9f80bb2f43e38b72d0d7581b600ee7402379e4d4faff4523703"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "c3b7f4ce10bd7e4cf5a9baacaf4329a6d3a3313dd99aa8866f3f6489c5cbb567"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "0185b2265f56f14aa0bb3f30181fcc6ca47889f70d5072e4be09753b5c8e0510"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json", "sha256": "6a4445c9725cdd1ce4bf97e510ef7f1772f47652fd3a0486c1fb8a4d7dbaa9fb"}, + "webReport": {"path": "tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json", "sha256": "4e0d65afeac1d262fcad6e8c3756ed63529c6586261379f9d15fa1c971e67cc6"} + }, + "nextTask": "M16-GAP-00126" +} diff --git a/tests/golden/M16-GAP-00125/task-context.json b/tests/golden/M16-GAP-00125/task-context.json new file mode 100644 index 00000000..807b8bf0 --- /dev/null +++ b/tests/golden/M16-GAP-00125/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00125", + "parentTask": "M16-GAP-00124", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.keyframe_insert data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.keyframe_insert", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00125.py -- tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00125", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00125" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00125.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3052, + "contextRemainingTokens": 762 + }, + "source": { + "bytes": 6852, + "tokens": 1714 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00125.py", + "bytes": 1949, + "tokens": 488 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend", + "bytes": 86896, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 223369, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 189894, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00125/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00125.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00125/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1949, + "tokens": 488 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00126", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00125.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00124/manifest.json", + "parentStatus": "docs/status/M16-GAP-00124.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00125.md", + "tests/golden/M16-GAP-00124/manifest.json", + "docs/status/M16-GAP-00124.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00124", + "parentTask": "M16-GAP-00123", + "status": "done", + "nextTask": "M16-GAP-00125", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00124 Status", + "status: done", + "task: action.interpolation_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor interpolation-type operation on `object:WebGapInterpolationTypeObject`.", + "evidence:", + "- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.interpolation_type(type=\"LINEAR\")`.", + "- Desktop and WASM/Main expose `BEZIER, LINEAR, BEZIER` per channel; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1799, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 450 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00125.md", + "bytes": 1799, + "lines": 38, + "tokens": 450 + }, + { + "path": "tests/golden/M16-GAP-00124/manifest.json", + "bytes": 2092, + "lines": 25, + "tokens": 523 + }, + { + "path": "docs/status/M16-GAP-00124.md", + "bytes": 793, + "lines": 19, + "tokens": 199 + } + ], + "sourceTokens": 1714, + "evidenceFiles": 1, + "evidenceBytes": 1949, + "evidenceTokens": 488, + "totalTokens": 2202, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3226, + "serializedContextTokens": 756, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json b/tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json new file mode 100644 index 00000000..08a695a5 --- /dev/null +++ b/tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapKeyframeTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend", + "fixtureSha256": "a99bcef879a29da4f423a3efc67ab5f497beef3927ad2e65fcb9ae556826a81a", + "keyframeType": "BREAKDOWN", + "operation": "ACTION_KEYFRAME_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00126" +} diff --git a/tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json b/tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json new file mode 100644 index 00000000..9c567c15 --- /dev/null +++ b/tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00126", + "operation": "ACTION_KEYFRAME_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend", + "sha256": "a99bcef879a29da4f423a3efc67ab5f497beef3927ad2e65fcb9ae556826a81a" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapKeyframeTypeObjectAction:object:WebGapKeyframeTypeObject", + "keyframeType": "BREAKDOWN", + "keyframeTypes": [ + [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00127" +} diff --git a/tests/golden/M16-GAP-00126/manifest.json b/tests/golden/M16-GAP-00126/manifest.json new file mode 100644 index 00000000..557d266c --- /dev/null +++ b/tests/golden/M16-GAP-00126/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00126", + "parentTask": "M16-GAP-00125", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_KEYFRAME_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00125/manifest.json", "sha256": "3deae0817d30f7fd5e2364588854a5f2d6f53c0bd65af0aff129bd3b5963e292"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend", "sha256": "a99bcef879a29da4f423a3efc67ab5f497beef3927ad2e65fcb9ae556826a81a"}, + "generator": {"path": "tools/web/generated/M16-GAP-00126.py", "sha256": "973f3fd3109a9f36948e11db0d46fad117fe7353a867a2a673fa77faaa6f2e60"}, + "desktopChecker": {"path": "tools/web/check-action-keyframe-type-desktop.py", "sha256": "32b826a427ee36e8a34f45280ff107118295fffb184cbdf4fbedc3b229a36a51"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "c9cda7104b4fe21fff13794c63e577bba4883fa031c97fba1aa53c417953d465"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "4c09d1e6540d26efcddbcc84b36a69efc82e3aab7d322bb6dd4c09e9f385f5ec"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "19232c4fe23c28454f5c66b3a19fd81763c35d6dcaf27c34d7ac1d7d8fcff0fa"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "19232c4fe23c28454f5c66b3a19fd81763c35d6dcaf27c34d7ac1d7d8fcff0fa"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json", "sha256": "dafa72f7acc2a84f993615e8ed963013a948980776cb96e19ef5bc0ebce578b6"}, + "webReport": {"path": "tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json", "sha256": "42cc333a864b20769f80bba46cef162ce2c864509bcfc35191caac5405f2d5db"} + }, + "nextTask": "M16-GAP-00127" +} diff --git a/tests/golden/M16-GAP-00126/task-context.json b/tests/golden/M16-GAP-00126/task-context.json new file mode 100644 index 00000000..3f17dc8a --- /dev/null +++ b/tests/golden/M16-GAP-00126/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00126", + "parentTask": "M16-GAP-00125", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.keyframe_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.keyframe_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00126.py -- tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00126", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00126" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00126.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3058, + "contextRemainingTokens": 763 + }, + "source": { + "bytes": 6846, + "tokens": 1713 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00126.py", + "bytes": 2257, + "tokens": 565 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend", + "bytes": 86863, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224024, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 193510, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00126/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00126.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00126/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2257, + "tokens": 565 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00127", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00126.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00125/manifest.json", + "parentStatus": "docs/status/M16-GAP-00125.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00126.md", + "tests/golden/M16-GAP-00125/manifest.json", + "docs/status/M16-GAP-00125.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00125", + "parentTask": "M16-GAP-00124", + "status": "done", + "nextTask": "M16-GAP-00126", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00125 Status", + "status: done", + "task: action.keyframe_insert operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor keyframe insertion on `object:WebGapKeyframeInsertObject`.", + "evidence:", + "- Blender starts with frames 1 and 5, runs `bpy.ops.action.keyframe_insert(type=\"ALL\")` at frame 3, and produces three keys in each location channel.", + "- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1789, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 448 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00126.md", + "bytes": 1789, + "lines": 38, + "tokens": 448 + }, + { + "path": "tests/golden/M16-GAP-00125/manifest.json", + "bytes": 2077, + "lines": 25, + "tokens": 520 + }, + { + "path": "docs/status/M16-GAP-00125.md", + "bytes": 812, + "lines": 19, + "tokens": 203 + } + ], + "sourceTokens": 1713, + "evidenceFiles": 1, + "evidenceBytes": 2257, + "evidenceTokens": 565, + "totalTokens": 2278, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3302, + "serializedContextTokens": 754, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json b/tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json new file mode 100644 index 00000000..b184e561 --- /dev/null +++ b/tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json @@ -0,0 +1,22 @@ +{ + "action": { + "markers": [ + { + "frame": 3, + "name": "LocalActionMarker" + } + ], + "name": "WebGapMarkersMakeLocalObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend", + "fixtureSha256": "767f97663e2fd45d8491b1bf8cea0a9a628faa9f4b14993d65953e90f27d7a12", + "marker": { + "frame": 3, + "name": "LocalActionMarker" + }, + "operation": "ACTION_MARKERS_MAKE_LOCAL_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00127" +} diff --git a/tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json b/tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json new file mode 100644 index 00000000..ed26bc27 --- /dev/null +++ b/tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json @@ -0,0 +1,29 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00127", + "operation": "ACTION_MARKERS_MAKE_LOCAL_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend", + "sha256": "767f97663e2fd45d8491b1bf8cea0a9a628faa9f4b14993d65953e90f27d7a12" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapMarkersMakeLocalObjectAction:object:WebGapMarkersMakeLocalObject", + "markers": [ + { + "frame": 3, + "name": "LocalActionMarker" + } + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00128" +} diff --git a/tests/golden/M16-GAP-00127/manifest.json b/tests/golden/M16-GAP-00127/manifest.json new file mode 100644 index 00000000..8694a96b --- /dev/null +++ b/tests/golden/M16-GAP-00127/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00127", + "parentTask": "M16-GAP-00126", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_MARKERS_MAKE_LOCAL_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00126/manifest.json", "sha256": "4ebb164da2cdf017804eb62bbee8efbb492d8ebd2d8169ed27a2b0e00bdd2884"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend", "sha256": "767f97663e2fd45d8491b1bf8cea0a9a628faa9f4b14993d65953e90f27d7a12"}, + "generator": {"path": "tools/web/generated/M16-GAP-00127.py", "sha256": "56daad95fab95e4d7896e5b2b4e30f84a8f33df7e920f41458d95e55a93991c1"}, + "desktopChecker": {"path": "tools/web/check-action-markers-make-local-desktop.py", "sha256": "959fc711e2eb5c35d2635a65fd6119ec1aad4c44573b1bf0b65ecb3b05945902"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "4332b12c7893d0eea4813cd5c66891d9985ef0a07f61c9bb588b2e20533546fc"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "169faf2dfe0e8582927bba397c942938908a2a2c7d084382b300aae4c22eb1cf"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "4e9760ffbd55c37215b38d288698d04fa5334c05168853c41b25f75a9bf0f891"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "4e9760ffbd55c37215b38d288698d04fa5334c05168853c41b25f75a9bf0f891"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json", "sha256": "ced98aa43f04b58ac2aa66fed217fe895cdadc108739b4c335942114e8a69ce0"}, + "webReport": {"path": "tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json", "sha256": "9b3737730a2f5fe7daa8a9a8109254daf4eeeacff25f632820288fb01ee45f6f"} + }, + "nextTask": "M16-GAP-00128" +} diff --git a/tests/golden/M16-GAP-00127/task-context.json b/tests/golden/M16-GAP-00127/task-context.json new file mode 100644 index 00000000..a795b911 --- /dev/null +++ b/tests/golden/M16-GAP-00127/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00127", + "parentTask": "M16-GAP-00126", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.markers_make_local data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.markers_make_local", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00127.py -- tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00127", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00127" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00127.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 2997, + "contextRemainingTokens": 748 + }, + "source": { + "bytes": 6907, + "tokens": 1728 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00127.py", + "bytes": 2017, + "tokens": 505 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend", + "bytes": 86876, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224369, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 196464, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00127/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00127.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00127/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2017, + "tokens": 505 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00128", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00127.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00126/manifest.json", + "parentStatus": "docs/status/M16-GAP-00126.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00127.md", + "tests/golden/M16-GAP-00126/manifest.json", + "docs/status/M16-GAP-00126.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00126", + "parentTask": "M16-GAP-00125", + "status": "done", + "nextTask": "M16-GAP-00127", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00126 Status", + "status: done", + "task: action.keyframe_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor keyframe-type operation on `object:WebGapKeyframeTypeObject`.", + "evidence:", + "- Blender selects frame 3 in all three location channels and executes `bpy.ops.action.keyframe_type(type=\"BREAKDOWN\")`.", + "- Reader maps `BezTriple.hide` to stable keyframe types; desktop and WASM/Main expose `KEYFRAME, BREAKDOWN, KEYFRAME` per channel." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1814, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 454 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00127.md", + "bytes": 1814, + "lines": 38, + "tokens": 454 + }, + { + "path": "tests/golden/M16-GAP-00126/manifest.json", + "bytes": 2067, + "lines": 25, + "tokens": 517 + }, + { + "path": "docs/status/M16-GAP-00126.md", + "bytes": 858, + "lines": 19, + "tokens": 215 + } + ], + "sourceTokens": 1728, + "evidenceFiles": 1, + "evidenceBytes": 2017, + "evidenceTokens": 505, + "totalTokens": 2233, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3257, + "serializedContextTokens": 758, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00128/action-mirror-desktop-report.json b/tests/golden/M16-GAP-00128/action-mirror-desktop-report.json new file mode 100644 index 00000000..62dc616a --- /dev/null +++ b/tests/golden/M16-GAP-00128/action-mirror-desktop-report.json @@ -0,0 +1,72 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + true, + true, + true + ], + "values": [ + -1.0, + -2.0, + -4.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + true, + true, + true + ], + "values": [ + -2.0, + -4.0, + -8.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + true, + true, + true + ], + "values": [ + -3.0, + -6.0, + -12.0 + ] + } + ], + "name": "WebGapMirrorObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend", + "fixtureSha256": "92ab7f13ff0f250d0c173bc3db5d21fedab4bfa7ff4b70c66b4f12af5039a8e5", + "mirrorType": "XAXIS", + "operation": "ACTION_MIRROR_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00128" +} diff --git a/tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json b/tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json new file mode 100644 index 00000000..0b7550fe --- /dev/null +++ b/tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json @@ -0,0 +1,41 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00128", + "operation": "ACTION_MIRROR_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend", + "sha256": "92ab7f13ff0f250d0c173bc3db5d21fedab4bfa7ff4b70c66b4f12af5039a8e5" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00128/action-mirror-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapMirrorObjectAction:object:WebGapMirrorObject", + "mirrorType": "XAXIS", + "valuesPerChannel": [ + [ + -1, + -2, + -4 + ], + [ + -2, + -4, + -8 + ], + [ + -3, + -6, + -12 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00129" +} diff --git a/tests/golden/M16-GAP-00128/manifest.json b/tests/golden/M16-GAP-00128/manifest.json new file mode 100644 index 00000000..b82718f8 --- /dev/null +++ b/tests/golden/M16-GAP-00128/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00128", + "parentTask": "M16-GAP-00127", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_MIRROR_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00127/manifest.json", "sha256": "6b2acd64a827e36204caaf161388732f1cd14d5550df37433888333840984492"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend", "sha256": "92ab7f13ff0f250d0c173bc3db5d21fedab4bfa7ff4b70c66b4f12af5039a8e5"}, + "generator": {"path": "tools/web/generated/M16-GAP-00128.py", "sha256": "e6697304148d72a7305900d6893861f284fe3b42ec88c3b35b8bb2f78b728180"}, + "desktopChecker": {"path": "tools/web/check-action-mirror-desktop.py", "sha256": "88f211cd8726e7214a68c90a2b0ccbbe0bdcfb237a7d1e2fb210a9b7bac8cf3f"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "a1fea794c9fb2818197253f95b86f37a7bd909dedab1cdb9a5a01c83f7d4a754"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "169faf2dfe0e8582927bba397c942938908a2a2c7d084382b300aae4c22eb1cf"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "4e9760ffbd55c37215b38d288698d04fa5334c05168853c41b25f75a9bf0f891"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "4e9760ffbd55c37215b38d288698d04fa5334c05168853c41b25f75a9bf0f891"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00128/action-mirror-desktop-report.json", "sha256": "ce9a779ce2d03bc2a2bda252c40aabb56c649be858fe82486ed04bfa96a04793"}, + "webReport": {"path": "tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json", "sha256": "7a91dc7d6c72d100a7da42646adeb100efacf81dd25c2b12672281d86702b37b"} + }, + "nextTask": "M16-GAP-00129" +} diff --git a/tests/golden/M16-GAP-00128/task-context.json b/tests/golden/M16-GAP-00128/task-context.json new file mode 100644 index 00000000..1efa1001 --- /dev/null +++ b/tests/golden/M16-GAP-00128/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00128", + "parentTask": "M16-GAP-00127", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.mirror data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.mirror", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00128.py -- tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00128", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00128" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00128.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3028, + "contextRemainingTokens": 756 + }, + "source": { + "bytes": 6876, + "tokens": 1720 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00128.py", + "bytes": 2179, + "tokens": 545 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend", + "bytes": 86910, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224369, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 199972, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00128/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00128.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00128/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2179, + "tokens": 545 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00129", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00128.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00127/manifest.json", + "parentStatus": "docs/status/M16-GAP-00127.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00128.md", + "tests/golden/M16-GAP-00127/manifest.json", + "docs/status/M16-GAP-00127.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00127", + "parentTask": "M16-GAP-00126", + "status": "done", + "nextTask": "M16-GAP-00128", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00127 Status", + "status: done", + "task: action.markers_make_local operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor selected scene-marker localization on `object:WebGapMarkersMakeLocalObject`.", + "evidence:", + "- Blender creates and selects `LocalActionMarker` at frame 3, then executes `bpy.ops.action.markers_make_local`; the marker moves into the Action.", + "- Reader exposes Action markers; desktop and WASM/Main both read `LocalActionMarker@3`, and save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1754, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 439 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00128.md", + "bytes": 1754, + "lines": 38, + "tokens": 439 + }, + { + "path": "tests/golden/M16-GAP-00127/manifest.json", + "bytes": 2092, + "lines": 25, + "tokens": 523 + }, + { + "path": "docs/status/M16-GAP-00127.md", + "bytes": 862, + "lines": 19, + "tokens": 216 + } + ], + "sourceTokens": 1720, + "evidenceFiles": 1, + "evidenceBytes": 2179, + "evidenceTokens": 545, + "totalTokens": 2265, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3289, + "serializedContextTokens": 749, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00129/action-new-desktop-report.json b/tests/golden/M16-GAP-00129/action-new-desktop-report.json new file mode 100644 index 00000000..81f5a3e3 --- /dev/null +++ b/tests/golden/M16-GAP-00129/action-new-desktop-report.json @@ -0,0 +1,13 @@ +{ + "action": { + "channels": 3, + "name": "WebGapActionNewObjectAction.001" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00129-operator-action.new.blend", + "fixtureSha256": "9d189452cbc1e0cf6c87093f7fb6ffc8728def0ac3bc976a4a3be814d42f10e5", + "operation": "ACTION_NEW_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00129" +} diff --git a/tests/golden/M16-GAP-00129/action-new-local-exact-report.json b/tests/golden/M16-GAP-00129/action-new-local-exact-report.json new file mode 100644 index 00000000..d30d14a6 --- /dev/null +++ b/tests/golden/M16-GAP-00129/action-new-local-exact-report.json @@ -0,0 +1,25 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00129", + "operation": "ACTION_NEW_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00129-operator-action.new.blend", + "sha256": "9d189452cbc1e0cf6c87093f7fb6ffc8728def0ac3bc976a4a3be814d42f10e5" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00129/action-new-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapActionNewObjectAction.001:object:WebGapActionNewObject", + "actionName": "WebGapActionNewObjectAction.001", + "channels": 3 + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00130" +} diff --git a/tests/golden/M16-GAP-00129/manifest.json b/tests/golden/M16-GAP-00129/manifest.json new file mode 100644 index 00000000..a55bd173 --- /dev/null +++ b/tests/golden/M16-GAP-00129/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00129", + "parentTask": "M16-GAP-00128", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_NEW_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00128/manifest.json", "sha256": "5b2ff20601b47af62618619766f23864516b1ce724df95b29090341d6b0ba7c1"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00129-operator-action.new.blend", "sha256": "9d189452cbc1e0cf6c87093f7fb6ffc8728def0ac3bc976a4a3be814d42f10e5"}, + "generator": {"path": "tools/web/generated/M16-GAP-00129.py", "sha256": "b7c42577aec64a99b2533c236124c6afea9741a82666065dd1ff0d7570c9aff1"}, + "desktopChecker": {"path": "tools/web/check-action-new-desktop.py", "sha256": "e0c6c14b6a8bc95ab86d49df53aae91b05f611572c2f3394f89f3495f477f77f"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "5afa0bdc9d55f7df6d8cf4fdf16b2171d37277f5a5fd3cae705e2c38216f5a21"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "f8fb6033ef54f8e0488845c0e5e5d9c32612703b8c9f2ea762bbc421155ffae9"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "29f1925854e3835bd3f619ec0c07589261ac3aa28587e2c1304ac6b2f83ced72"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "29f1925854e3835bd3f619ec0c07589261ac3aa28587e2c1304ac6b2f83ced72"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00129/action-new-desktop-report.json", "sha256": "834607cbbbd91aa8ad74ce2f8818cca54dd5adbf4e871b8733853c924eac8c75"}, + "webReport": {"path": "tests/golden/M16-GAP-00129/action-new-local-exact-report.json", "sha256": "abe030dd587dd2e21d04a3755a9294eb26c545f5d645c0910c2eeed4b5670430"} + }, + "nextTask": "M16-GAP-00130" +} diff --git a/tests/golden/M16-GAP-00129/task-context.json b/tests/golden/M16-GAP-00129/task-context.json new file mode 100644 index 00000000..71141f63 --- /dev/null +++ b/tests/golden/M16-GAP-00129/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00129", + "parentTask": "M16-GAP-00128", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.new data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.new", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00129.py -- tests/files/web/generated/M16-GAP-00129-operator-action.new.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00129", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00129" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00129.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3186, + "contextRemainingTokens": 796 + }, + "source": { + "bytes": 6718, + "tokens": 1680 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00129.py", + "bytes": 2135, + "tokens": 534 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00129-operator-action.new.blend", + "bytes": 87114, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224388, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 202865, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00129/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00129.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00129/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2135, + "tokens": 534 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00130", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00129.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00128/manifest.json", + "parentStatus": "docs/status/M16-GAP-00128.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00129.md", + "tests/golden/M16-GAP-00128/manifest.json", + "docs/status/M16-GAP-00128.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00128", + "parentTask": "M16-GAP-00127", + "status": "done", + "nextTask": "M16-GAP-00129", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00128 Status", + "status: done", + "task: action.mirror operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor X-axis mirror operation on `object:WebGapMirrorObject`.", + "evidence:", + "- Blender selects all three location channels and executes `bpy.ops.action.mirror(type=\"XAXIS\")`; all keyframe values are negated.", + "- Desktop and WASM/Main expose matching frames, values, and selection flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1739, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 435 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00129.md", + "bytes": 1739, + "lines": 38, + "tokens": 435 + }, + { + "path": "tests/golden/M16-GAP-00128/manifest.json", + "bytes": 2032, + "lines": 25, + "tokens": 508 + }, + { + "path": "docs/status/M16-GAP-00128.md", + "bytes": 779, + "lines": 19, + "tokens": 195 + } + ], + "sourceTokens": 1680, + "evidenceFiles": 1, + "evidenceBytes": 2135, + "evidenceTokens": 534, + "totalTokens": 2214, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3238, + "serializedContextTokens": 747, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00130/action-paste-desktop-report.json b/tests/golden/M16-GAP-00130/action-paste-desktop-report.json new file mode 100644 index 00000000..b730cdab --- /dev/null +++ b/tests/golden/M16-GAP-00130/action-paste-desktop-report.json @@ -0,0 +1,63 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0, + 7.0 + ], + "index": 0, + "path": "location", + "values": [ + 0.0, + 2.0, + 4.0, + 2.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0, + 7.0 + ], + "index": 1, + "path": "location", + "values": [ + 0.0, + 3.0, + 6.0, + 3.0 + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0, + 7.0 + ], + "index": 2, + "path": "location", + "values": [ + 0.0, + 4.0, + 8.0, + 4.0 + ] + } + ], + "name": "WebGapPasteObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend", + "fixtureSha256": "fc332fb6c877fb7a39fb418416168cce6637befba392dafb8b18ca17fb2b66c1", + "operation": "ACTION_PASTE_DESKTOP", + "pastedFrame": 7, + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00130" +} diff --git a/tests/golden/M16-GAP-00130/action-paste-local-exact-report.json b/tests/golden/M16-GAP-00130/action-paste-local-exact-report.json new file mode 100644 index 00000000..0110ae70 --- /dev/null +++ b/tests/golden/M16-GAP-00130/action-paste-local-exact-report.json @@ -0,0 +1,44 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00130", + "operation": "ACTION_PASTE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend", + "sha256": "fc332fb6c877fb7a39fb418416168cce6637befba392dafb8b18ca17fb2b66c1" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00130/action-paste-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapPasteObjectAction:object:WebGapPasteObject", + "pastedFrame": 7, + "framesPerChannel": [ + [ + 1, + 3, + 5, + 7 + ], + [ + 1, + 3, + 5, + 7 + ], + [ + 1, + 3, + 5, + 7 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00131" +} diff --git a/tests/golden/M16-GAP-00130/manifest.json b/tests/golden/M16-GAP-00130/manifest.json new file mode 100644 index 00000000..da4325e3 --- /dev/null +++ b/tests/golden/M16-GAP-00130/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00130", + "parentTask": "M16-GAP-00129", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_PASTE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00129/manifest.json", "sha256": "32e4da7c8e253a7203520de04f118dceb44ae9a32dbc874672818cc17570af45"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend", "sha256": "fc332fb6c877fb7a39fb418416168cce6637befba392dafb8b18ca17fb2b66c1"}, + "generator": {"path": "tools/web/generated/M16-GAP-00130.py", "sha256": "889c12feb0e8064612f899c7ad431f647d735cc00f6da56d79e8669225378b9a"}, + "desktopChecker": {"path": "tools/web/check-action-paste-desktop.py", "sha256": "a687641f71ad1b2db47da6717a7341a14e3b3d4cb45cc3a94f447684073201d2"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "85e853edf952aa2c93af0807bfdc1cf04a1b31a8f13475ecb56f80f8cf49f55a"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "f8fb6033ef54f8e0488845c0e5e5d9c32612703b8c9f2ea762bbc421155ffae9"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "29f1925854e3835bd3f619ec0c07589261ac3aa28587e2c1304ac6b2f83ced72"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "29f1925854e3835bd3f619ec0c07589261ac3aa28587e2c1304ac6b2f83ced72"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00130/action-paste-desktop-report.json", "sha256": "1494252e4ec2870131a2d810a5bc884374edf35272926a0943ac230a67e24fb7"}, + "webReport": {"path": "tests/golden/M16-GAP-00130/action-paste-local-exact-report.json", "sha256": "6f37a4b1cf1af54bd8437a0df2ed4389f12fa830e298f86c2f70b67e853ffa61"} + }, + "nextTask": "M16-GAP-00131" +} diff --git a/tests/golden/M16-GAP-00130/task-context.json b/tests/golden/M16-GAP-00130/task-context.json new file mode 100644 index 00000000..d50d6f3f --- /dev/null +++ b/tests/golden/M16-GAP-00130/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00130", + "parentTask": "M16-GAP-00129", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.paste data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.paste", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00130.py -- tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00130", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00130" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00130.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3076, + "contextRemainingTokens": 767 + }, + "source": { + "bytes": 6828, + "tokens": 1709 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00130.py", + "bytes": 2496, + "tokens": 624 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend", + "bytes": 86900, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224388, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 206302, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00130/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00130.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00130/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2496, + "tokens": 624 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00131", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00130.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00129/manifest.json", + "parentStatus": "docs/status/M16-GAP-00129.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00130.md", + "tests/golden/M16-GAP-00129/manifest.json", + "docs/status/M16-GAP-00129.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00129", + "parentTask": "M16-GAP-00128", + "status": "done", + "nextTask": "M16-GAP-00130", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00129 Status", + "status: done", + "task: action.new operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor new-action operation on `object:WebGapActionNewObject`.", + "evidence:", + "- Blender executes `bpy.ops.action.new` and creates/assigns `WebGapActionNewObjectAction.001` while preserving the prior Action for stash semantics.", + "- Desktop and WASM/Main expose the new Action with three channels; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1749, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 438 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00130.md", + "bytes": 1749, + "lines": 38, + "tokens": 438 + }, + { + "path": "tests/golden/M16-GAP-00129/manifest.json", + "bytes": 2017, + "lines": 25, + "tokens": 505 + }, + { + "path": "docs/status/M16-GAP-00129.md", + "bytes": 894, + "lines": 19, + "tokens": 224 + } + ], + "sourceTokens": 1709, + "evidenceFiles": 1, + "evidenceBytes": 2496, + "evidenceTokens": 624, + "totalTokens": 2333, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3357, + "serializedContextTokens": 748, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json b/tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json new file mode 100644 index 00000000..d16a452a --- /dev/null +++ b/tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json @@ -0,0 +1,13 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend", + "fixtureSha256": "8b0222547b3e31480dede4804353edd4d056cc806ad2cede24c73e81070bb9b6", + "operation": "ACTION_PREVIEWRANGE_SET_DESKTOP", + "previewRange": { + "end": 5, + "start": 1 + }, + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00131" +} diff --git a/tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json b/tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json new file mode 100644 index 00000000..d97b2084 --- /dev/null +++ b/tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json @@ -0,0 +1,27 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00131", + "operation": "ACTION_PREVIEWRANGE_SET_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend", + "sha256": "8b0222547b3e31480dede4804353edd4d056cc806ad2cede24c73e81070bb9b6" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "sceneId": "scene:Scene", + "previewRange": { + "end": 5, + "start": 1 + } + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00132" +} diff --git a/tests/golden/M16-GAP-00131/manifest.json b/tests/golden/M16-GAP-00131/manifest.json new file mode 100644 index 00000000..64f3bd85 --- /dev/null +++ b/tests/golden/M16-GAP-00131/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00131", + "parentTask": "M16-GAP-00130", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_PREVIEWRANGE_SET_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00130/manifest.json", "sha256": "1bd06520e5be08d28947b55cfefbbc38b53c496f677a989d57d760b99742585a"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend", "sha256": "8b0222547b3e31480dede4804353edd4d056cc806ad2cede24c73e81070bb9b6"}, + "generator": {"path": "tools/web/generated/M16-GAP-00131.py", "sha256": "f679375cd1a45f13e2423cd540b557e9eab841d4c0d535c064beb5794887738e"}, + "desktopChecker": {"path": "tools/web/check-action-previewrange-set-desktop.py", "sha256": "339226b1af67537ec464040e551c3e43811a8b1476393a0c3420bc6572ae4db5"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "1d37f5b2fde6348e8b52d616bd0c044b8cd8d53fcd2ec1cfa6ed26902cd6e881"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json", "sha256": "e0ad513329a4a26d70e239d65c30b9048e78c1fcb480a6e4013d941e85d94470"}, + "webReport": {"path": "tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json", "sha256": "7cd2170ba8134e088c23a4939d96f9a23b62779370051fac2185c7ad092e20d0"} + }, + "nextTask": "M16-GAP-00132" +} diff --git a/tests/golden/M16-GAP-00131/task-context.json b/tests/golden/M16-GAP-00131/task-context.json new file mode 100644 index 00000000..149152f4 --- /dev/null +++ b/tests/golden/M16-GAP-00131/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00131", + "parentTask": "M16-GAP-00130", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.previewrange_set data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.previewrange_set", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00131.py -- tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00131", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00131" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00131.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3128, + "contextRemainingTokens": 781 + }, + "source": { + "bytes": 6776, + "tokens": 1695 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00131.py", + "bytes": 2288, + "tokens": 572 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend", + "bytes": 86898, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 209358, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00131/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00131.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00131/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2288, + "tokens": 572 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00132", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00131.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00130/manifest.json", + "parentStatus": "docs/status/M16-GAP-00130.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00131.md", + "tests/golden/M16-GAP-00130/manifest.json", + "docs/status/M16-GAP-00130.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00130", + "parentTask": "M16-GAP-00129", + "status": "done", + "nextTask": "M16-GAP-00131", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00130 Status", + "status: done", + "task: action.paste operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor internal clipboard paste on `object:WebGapPasteObject`.", + "evidence:", + "- Blender copies the selected frame 3 keys and executes `bpy.ops.action.paste(offset=\"START\", merge=\"MIX\")` at frame 7.", + "- Desktop and WASM/Main expose frames 1, 3, 5, 7 on all channels with matching values; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1804, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 451 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00131.md", + "bytes": 1804, + "lines": 38, + "tokens": 451 + }, + { + "path": "tests/golden/M16-GAP-00130/manifest.json", + "bytes": 2027, + "lines": 25, + "tokens": 507 + }, + { + "path": "docs/status/M16-GAP-00130.md", + "bytes": 777, + "lines": 19, + "tokens": 195 + } + ], + "sourceTokens": 1695, + "evidenceFiles": 1, + "evidenceBytes": 2288, + "evidenceTokens": 572, + "totalTokens": 2267, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3291, + "serializedContextTokens": 756, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00132/action-push-down-desktop-report.json b/tests/golden/M16-GAP-00132/action-push-down-desktop-report.json new file mode 100644 index 00000000..83236065 --- /dev/null +++ b/tests/golden/M16-GAP-00132/action-push-down-desktop-report.json @@ -0,0 +1,25 @@ +{ + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend", + "fixtureSha256": "e3e933bfc5595d288a5ab2e2f0e661d76474aff88b33d0acc62f7e540757e2e9", + "nla": { + "activeAction": null, + "tracks": [ + { + "name": "WebGapPushDownObjectAction", + "strips": [ + { + "action": "WebGapPushDownObjectAction", + "frameEnd": 5.0, + "frameStart": 1.0, + "name": "WebGapPushDownObjectAction" + } + ] + } + ] + }, + "operation": "ACTION_PUSH_DOWN_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "task": "M16-GAP-00132" +} diff --git a/tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json b/tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json new file mode 100644 index 00000000..3fdeb2e4 --- /dev/null +++ b/tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json @@ -0,0 +1,56 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00132", + "operation": "ACTION_PUSH_DOWN_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend", + "sha256": "e3e933bfc5595d288a5ab2e2f0e661d76474aff88b33d0acc62f7e540757e2e9" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00132/action-push-down-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapPushDownObjectAction:object:WebGapPushDownObject", + "nlaTracks": [ + { + "id": "nla-track:object:WebGapPushDownObject:0", + "muted": false, + "name": "WebGapPushDownObjectAction", + "ownerId": "object:WebGapPushDownObject", + "schemaVersion": 1, + "selected": true, + "solo": false, + "strips": [ + { + "actionFrameEnd": 5, + "actionFrameStart": 1, + "actionId": "action:WebGapPushDownObjectAction:object:WebGapPushDownObject", + "blendIn": 0, + "blendMode": "REPLACE", + "blendOut": 0, + "extrapolation": "HOLD", + "frameEnd": 5, + "frameStart": 1, + "id": "WebGapPushDownObjectAction", + "influence": 1, + "muted": false, + "repeat": 1, + "reverse": false, + "scale": 1, + "selected": true, + "stripType": "CLIP", + "useTimeWarp": false + } + ] + } + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00133" +} diff --git a/tests/golden/M16-GAP-00132/manifest.json b/tests/golden/M16-GAP-00132/manifest.json new file mode 100644 index 00000000..945b6081 --- /dev/null +++ b/tests/golden/M16-GAP-00132/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00132", + "parentTask": "M16-GAP-00131", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_PUSH_DOWN_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00131/manifest.json", "sha256": "9569fe9c951190d125af519860354781fcbad0a6c0def7a04cc62a316aeccdce"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend", "sha256": "e3e933bfc5595d288a5ab2e2f0e661d76474aff88b33d0acc62f7e540757e2e9"}, + "generator": {"path": "tools/web/generated/M16-GAP-00132.py", "sha256": "728a07f627b276ffceb7f5ddff059829095ab7f7175ecbfeb41129f6b43b306e"}, + "desktopChecker": {"path": "tools/web/check-action-push-down-desktop.py", "sha256": "1bb759da4d9776f84bb5be2d615b7bd5edb6a4fafd9141fcb8e769c8076410e8"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "a259a552617f3e42536fad93d3c791580c38b1bb27035ad875c1a2e597019e4e"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00132/action-push-down-desktop-report.json", "sha256": "1341e50c48f9adc16d7c9269bd31738d852299c4c8ed0ea03071efe934f5dabc"}, + "webReport": {"path": "tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json", "sha256": "3d9ac3404080630e5241a39902229089b2528e784ec3b107aced1d1956ed9b33"} + }, + "nextTask": "M16-GAP-00133" +} diff --git a/tests/golden/M16-GAP-00132/task-context.json b/tests/golden/M16-GAP-00132/task-context.json new file mode 100644 index 00000000..2d7a6919 --- /dev/null +++ b/tests/golden/M16-GAP-00132/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00132", + "parentTask": "M16-GAP-00131", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.push_down data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.push_down", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00132.py -- tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00132", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00132" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00132.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3052, + "contextRemainingTokens": 761 + }, + "source": { + "bytes": 6852, + "tokens": 1715 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00132.py", + "bytes": 1878, + "tokens": 470 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend", + "bytes": 86944, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 212467, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00132/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00132.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00132/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 1878, + "tokens": 470 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00133", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00132.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00131/manifest.json", + "parentStatus": "docs/status/M16-GAP-00131.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00132.md", + "tests/golden/M16-GAP-00131/manifest.json", + "docs/status/M16-GAP-00131.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00131", + "parentTask": "M16-GAP-00130", + "status": "done", + "nextTask": "M16-GAP-00132", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00131 Status", + "status: done", + "task: action.previewrange_set operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor selected-key preview range on `object:WebGapPreviewRangeObject`.", + "evidence:", + "- Blender executes `bpy.ops.action.previewrange_set`; the scene stores preview range `1..5` with preview enabled.", + "- Reader exposes `scene.previewRange`; desktop and WASM/Main match, and save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1769, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 443 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00132.md", + "bytes": 1769, + "lines": 38, + "tokens": 443 + }, + { + "path": "tests/golden/M16-GAP-00131/manifest.json", + "bytes": 2082, + "lines": 25, + "tokens": 521 + }, + { + "path": "docs/status/M16-GAP-00131.md", + "bytes": 833, + "lines": 19, + "tokens": 209 + } + ], + "sourceTokens": 1715, + "evidenceFiles": 1, + "evidenceBytes": 1878, + "evidenceTokens": 470, + "totalTokens": 2185, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3209, + "serializedContextTokens": 751, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00133/action-select-all-desktop-report.json b/tests/golden/M16-GAP-00133/action-select-all-desktop-report.json new file mode 100644 index 00000000..fb68cc7e --- /dev/null +++ b/tests/golden/M16-GAP-00133/action-select-all-desktop-report.json @@ -0,0 +1,57 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + true, + true, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + true, + true, + true + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + true, + true, + true + ] + } + ], + "name": "WebGapSelectAllObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend", + "fixtureSha256": "f7ebc1bb7b45d6838d6e2bdccc809f2142a70cb3a9c9ecabcc5e1b5a91426526", + "operation": "ACTION_SELECT_ALL_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "selection": "SELECT", + "task": "M16-GAP-00133" +} diff --git a/tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json b/tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json new file mode 100644 index 00000000..ac3b9765 --- /dev/null +++ b/tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json @@ -0,0 +1,25 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00133", + "operation": "ACTION_SELECT_ALL_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend", + "sha256": "f7ebc1bb7b45d6838d6e2bdccc809f2142a70cb3a9c9ecabcc5e1b5a91426526" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00133/action-select-all-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapSelectAllObjectAction:object:WebGapSelectAllObject", + "selected": true, + "channels": 3 + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00134" +} diff --git a/tests/golden/M16-GAP-00133/manifest.json b/tests/golden/M16-GAP-00133/manifest.json new file mode 100644 index 00000000..f62e2047 --- /dev/null +++ b/tests/golden/M16-GAP-00133/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00133", + "parentTask": "M16-GAP-00132", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_SELECT_ALL_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00132/manifest.json", "sha256": "e02b7149851c8503ad907e209085f66769171dbe67a4a2eb066f9e86fbe6938b"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend", "sha256": "f7ebc1bb7b45d6838d6e2bdccc809f2142a70cb3a9c9ecabcc5e1b5a91426526"}, + "generator": {"path": "tools/web/generated/M16-GAP-00133.py", "sha256": "5bb6e8720b5f126590fb36b92a5fd05becfe6c710e99eac6694b391675e10572"}, + "desktopChecker": {"path": "tools/web/check-action-select-all-desktop.py", "sha256": "fe285ee6be545e1cbb9982563d35b98bee213d86a74dceefc274979ed887c73b"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "d9cd216d44edda6195a7f8c7ae9208ab8473382e665894e69fff2a6e75bd6e49"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00133/action-select-all-desktop-report.json", "sha256": "06d1ae064a91784d1122141bdded039a4761ed15341dda9d9bb5f0649e9305bb"}, + "webReport": {"path": "tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json", "sha256": "50808e1aa34a12e83afbe68bd47206b5990efb0e0a5c13b614e99abc8326c641"} + }, + "nextTask": "M16-GAP-00134" +} diff --git a/tests/golden/M16-GAP-00133/task-context.json b/tests/golden/M16-GAP-00133/task-context.json new file mode 100644 index 00000000..5470e97a --- /dev/null +++ b/tests/golden/M16-GAP-00133/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00133", + "parentTask": "M16-GAP-00132", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.select_all data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.select_all", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00133.py -- tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00133", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00133" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00133.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3114, + "contextRemainingTokens": 777 + }, + "source": { + "bytes": 6790, + "tokens": 1699 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00133.py", + "bytes": 2212, + "tokens": 553 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend", + "bytes": 86850, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 215838, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00133/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00133.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00133/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2212, + "tokens": 553 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00134", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00133.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00132/manifest.json", + "parentStatus": "docs/status/M16-GAP-00132.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00133.md", + "tests/golden/M16-GAP-00132/manifest.json", + "docs/status/M16-GAP-00132.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00132", + "parentTask": "M16-GAP-00131", + "status": "done", + "nextTask": "M16-GAP-00133", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00132 Status", + "status: done", + "task: action.push_down operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor push-down into NLA on `object:WebGapPushDownObject`.", + "evidence:", + "- Blender executes `bpy.ops.action.push_down`; active Action is removed from the active slot and moved to one NLA track with one strip.", + "- Desktop and WASM/Main expose the original Action and matching NLA strip/action identity; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1774, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 444 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00133.md", + "bytes": 1774, + "lines": 38, + "tokens": 444 + }, + { + "path": "tests/golden/M16-GAP-00132/manifest.json", + "bytes": 2047, + "lines": 25, + "tokens": 512 + }, + { + "path": "docs/status/M16-GAP-00132.md", + "bytes": 801, + "lines": 19, + "tokens": 201 + } + ], + "sourceTokens": 1699, + "evidenceFiles": 1, + "evidenceBytes": 2212, + "evidenceTokens": 553, + "totalTokens": 2252, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3276, + "serializedContextTokens": 752, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00134/action-select-box-desktop-report.json b/tests/golden/M16-GAP-00134/action-select-box-desktop-report.json new file mode 100644 index 00000000..be979bbd --- /dev/null +++ b/tests/golden/M16-GAP-00134/action-select-box-desktop-report.json @@ -0,0 +1,57 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapSelectBoxObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend", + "fixtureSha256": "100744edae87b08ef300ae23ae4a5556dd6576f1a5d30630967475736e3a4ba8", + "operation": "ACTION_SELECT_BOX_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "selectedFrame": 3, + "task": "M16-GAP-00134" +} diff --git a/tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json b/tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json new file mode 100644 index 00000000..2ef679a6 --- /dev/null +++ b/tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json @@ -0,0 +1,35 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00134", + "operation": "ACTION_SELECT_BOX_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend", + "sha256": "100744edae87b08ef300ae23ae4a5556dd6576f1a5d30630967475736e3a4ba8" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00134/action-select-box-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapSelectBoxObjectAction:object:WebGapSelectBoxObject", + "selectedFrame": 3, + "selectedPerChannel": [ + [ + 3 + ], + [ + 3 + ], + [ + 3 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00135" +} diff --git a/tests/golden/M16-GAP-00134/manifest.json b/tests/golden/M16-GAP-00134/manifest.json new file mode 100644 index 00000000..f47d82e2 --- /dev/null +++ b/tests/golden/M16-GAP-00134/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00134", + "parentTask": "M16-GAP-00133", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_SELECT_BOX_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00133/manifest.json", "sha256": "490581ab799c7f2af1311839761eb320a91d723a1db866b77b6934b10c8f84f1"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend", "sha256": "100744edae87b08ef300ae23ae4a5556dd6576f1a5d30630967475736e3a4ba8"}, + "generator": {"path": "tools/web/generated/M16-GAP-00134.py", "sha256": "5760b84ac789d3aaafb2577441a7638da28fc983c0dcfb126fb36cfb1b5748e7"}, + "desktopChecker": {"path": "tools/web/check-action-select-box-desktop.py", "sha256": "5a37f76f9da69f172fba64ed83424ea7bec521f498f556c3b0142fc2d284f0e3"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "e849ed955d57e34e987891efd43e79fb2b72fb66f6f434465a3775699bee8f4c"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00134/action-select-box-desktop-report.json", "sha256": "20f1d2012eff7ee00744009455d8b34fd3ced10ae681af80065d2761f07838d4"}, + "webReport": {"path": "tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json", "sha256": "d6bb840a51e5845681d83a381a5eed831dd0b727816400518f884af44c80a256"} + }, + "nextTask": "M16-GAP-00135" +} diff --git a/tests/golden/M16-GAP-00134/task-context.json b/tests/golden/M16-GAP-00134/task-context.json new file mode 100644 index 00000000..ae928041 --- /dev/null +++ b/tests/golden/M16-GAP-00134/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00134", + "parentTask": "M16-GAP-00133", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.select_box data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.select_box", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00134.py -- tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00134", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00134" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00134.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3167, + "contextRemainingTokens": 791 + }, + "source": { + "bytes": 6737, + "tokens": 1685 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00134.py", + "bytes": 2581, + "tokens": 646 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend", + "bytes": 86871, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 219357, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00134/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00134.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00134/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2581, + "tokens": 646 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00135", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00134.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00133/manifest.json", + "parentStatus": "docs/status/M16-GAP-00133.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00134.md", + "tests/golden/M16-GAP-00133/manifest.json", + "docs/status/M16-GAP-00133.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00133", + "parentTask": "M16-GAP-00132", + "status": "done", + "nextTask": "M16-GAP-00134", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00133 Status", + "status: done", + "task: action.select_all operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor select-all operation on `object:WebGapSelectAllObject`.", + "evidence:", + "- Blender clears selection and executes `bpy.ops.action.select_all(action=\"SELECT\")`; all 9 keyframes become selected.", + "- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1774, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 444 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00134.md", + "bytes": 1774, + "lines": 38, + "tokens": 444 + }, + { + "path": "tests/golden/M16-GAP-00133/manifest.json", + "bytes": 2052, + "lines": 25, + "tokens": 513 + }, + { + "path": "docs/status/M16-GAP-00133.md", + "bytes": 743, + "lines": 19, + "tokens": 186 + } + ], + "sourceTokens": 1685, + "evidenceFiles": 1, + "evidenceBytes": 2581, + "evidenceTokens": 646, + "totalTokens": 2331, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3355, + "serializedContextTokens": 752, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json b/tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json new file mode 100644 index 00000000..99c9a1ab --- /dev/null +++ b/tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json @@ -0,0 +1,57 @@ +{ + "action": { + "channels": [ + { + "index": 0, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "index": 1, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "index": 2, + "keyframeType": [ + "KEYFRAME", + "BREAKDOWN", + "KEYFRAME" + ], + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapSelectByTypeObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend", + "fixtureSha256": "3069eba61f2bdfa1c772afc62c075a06a95a803888b4213078d6dd1a68aa6bf5", + "operation": "ACTION_SELECT_BY_TYPE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "selectedType": "BREAKDOWN", + "task": "M16-GAP-00135" +} diff --git a/tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json b/tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json new file mode 100644 index 00000000..18909001 --- /dev/null +++ b/tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json @@ -0,0 +1,35 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00135", + "operation": "ACTION_SELECT_BY_TYPE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend", + "sha256": "3069eba61f2bdfa1c772afc62c075a06a95a803888b4213078d6dd1a68aa6bf5" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapSelectByTypeObjectAction:object:WebGapSelectByTypeObject", + "selectedType": "BREAKDOWN", + "selectedPerChannel": [ + [ + 3 + ], + [ + 3 + ], + [ + 3 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00136" +} diff --git a/tests/golden/M16-GAP-00135/manifest.json b/tests/golden/M16-GAP-00135/manifest.json new file mode 100644 index 00000000..df81d74e --- /dev/null +++ b/tests/golden/M16-GAP-00135/manifest.json @@ -0,0 +1,24 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00135", + "parentTask": "M16-GAP-00134", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_SELECT_BY_TYPE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00134/manifest.json", "sha256": "cfbee14e33752b00dc877928fc2a2378ce723763e26b7882e26336af15065c50"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend", "sha256": "3069eba61f2bdfa1c772afc62c075a06a95a803888b4213078d6dd1a68aa6bf5"}, + "generator": {"path": "tools/web/generated/M16-GAP-00135.py", "sha256": "3072ac8ebeb375655730d030e0fc757fdc8002811ad2747376ec12dbfac1c993"}, + "desktopChecker": {"path": "tools/web/check-action-select-by-type-desktop.py", "sha256": "1ed90bea542349826d6297378fd27e55c8b8370d6bc7dcf5251ac8b112887a30"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "5cb3002a7df545857bc6329b9c7ac37ebc328e7b13c62b94fed6699da4dd9371"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json", "sha256": "4e7ad68e84576c6ef5153302911e682242b028f022eddf9deb18b39e28851298"}, + "webReport": {"path": "tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json", "sha256": "7b07b6f31ad375a4d7461f375c2fb036021ef80d34176ecd0db37d752ff9b963"} + }, + "nextTask": "M16-GAP-00136" +} diff --git a/tests/golden/M16-GAP-00135/task-context.json b/tests/golden/M16-GAP-00135/task-context.json new file mode 100644 index 00000000..94bfdb87 --- /dev/null +++ b/tests/golden/M16-GAP-00135/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00135", + "parentTask": "M16-GAP-00134", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.select_by_type data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.select_by_type", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00135.py -- tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00135", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00135" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00135.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3129, + "contextRemainingTokens": 781 + }, + "source": { + "bytes": 6775, + "tokens": 1695 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00135.py", + "bytes": 2575, + "tokens": 644 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend", + "bytes": 86891, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 222882, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00135/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00135.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00135/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 2575, + "tokens": 644 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00136", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00135.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00134/manifest.json", + "parentStatus": "docs/status/M16-GAP-00134.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00135.md", + "tests/golden/M16-GAP-00134/manifest.json", + "docs/status/M16-GAP-00134.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00134", + "parentTask": "M16-GAP-00133", + "status": "done", + "nextTask": "M16-GAP-00135", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00134 Status", + "status: done", + "task: action.select_box operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor box selection on `object:WebGapSelectBoxObject`.", + "evidence:", + "- Blender executes `bpy.ops.action.select_box(mode=\"SET\")` over the frame-3 region coordinates; only frame 3 is selected on all channels.", + "- Desktop and WASM/Main expose matching frames and selected flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1794, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 449 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00135.md", + "bytes": 1794, + "lines": 38, + "tokens": 449 + }, + { + "path": "tests/golden/M16-GAP-00134/manifest.json", + "bytes": 2052, + "lines": 25, + "tokens": 513 + }, + { + "path": "docs/status/M16-GAP-00134.md", + "bytes": 761, + "lines": 19, + "tokens": 191 + } + ], + "sourceTokens": 1695, + "evidenceFiles": 1, + "evidenceBytes": 2575, + "evidenceTokens": 644, + "totalTokens": 2339, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3363, + "serializedContextTokens": 755, + "withinBudget": true + } +} diff --git a/tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json b/tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json new file mode 100644 index 00000000..84b8a93f --- /dev/null +++ b/tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json @@ -0,0 +1,57 @@ +{ + "action": { + "channels": [ + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 0, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 1, + "path": "location", + "selected": [ + false, + true, + false + ] + }, + { + "frames": [ + 1.0, + 3.0, + 5.0 + ], + "index": 2, + "path": "location", + "selected": [ + false, + true, + false + ] + } + ], + "name": "WebGapSelectCircleObjectAction" + }, + "blenderVersion": "5.2.0 LTS", + "fixture": "/home/mes123456/workinf_Blender_Wasm/tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend", + "fixtureSha256": "16ae2413cd86d4fa8df384ef1e2d167c4e79caa48114b5b12facd33e1ca37b8b", + "operation": "ACTION_SELECT_CIRCLE_DESKTOP", + "saveReopen": "EXACT", + "schemaVersion": 1, + "selectedFrame": 3, + "task": "M16-GAP-00136" +} diff --git a/tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json b/tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json new file mode 100644 index 00000000..f6a2c54d --- /dev/null +++ b/tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json @@ -0,0 +1,35 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00136", + "operation": "ACTION_SELECT_CIRCLE_LOCAL_EXACT", + "fixture": { + "path": "tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend", + "sha256": "16ae2413cd86d4fa8df384ef1e2d167c4e79caa48114b5b12facd33e1ca37b8b" + }, + "desktop": { + "status": "EXACT", + "report": "tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json", + "saveReopen": "EXACT" + }, + "wasm": { + "status": "EXACT", + "actionId": "action:WebGapSelectCircleObjectAction:object:WebGapSelectCircleObject", + "selectedFrame": 3, + "selectedPerChannel": [ + [ + 3 + ], + [ + 3 + ], + [ + 3 + ] + ] + }, + "saveReopen": "EXACT", + "negative": { + "malformedBlend": "REJECTED_WITHOUT_MAIN_MUTATION" + }, + "nextTask": "M16-GAP-00137" +} diff --git a/tests/golden/M16-GAP-00136/manifest.json b/tests/golden/M16-GAP-00136/manifest.json new file mode 100644 index 00000000..337b4a56 --- /dev/null +++ b/tests/golden/M16-GAP-00136/manifest.json @@ -0,0 +1,25 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00136", + "parentTask": "M16-GAP-00135", + "enablingTask": false, + "parityStateChange": true, + "runtime": "BLENDER_5_2_LOCAL_EXACT", + "operation": "ACTION_SELECT_CIRCLE_LOCAL_EXACT", + "status": "done", + "artifacts": { + "parentManifest": {"path": "tests/golden/M16-GAP-00135/manifest.json", "sha256": "5d76455d3969245a12288929ed8d40157882d5e7080472c83d63f843e2abc1cb"}, + "fixture": {"path": "tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend", "sha256": "16ae2413cd86d4fa8df384ef1e2d167c4e79caa48114b5b12facd33e1ca37b8b"}, + "generator": {"path": "tools/web/generated/M16-GAP-00136.py", "sha256": "7d29d879169aef8362f53a39130b2a4ef0ab3ac83069024a78338197e09ae030"}, + "desktopChecker": {"path": "tools/web/check-action-select-circle-desktop.py", "sha256": "3e5abe08be97e7db93a0229b63eeef48b6577a9d10be49339d36c0974126be70"}, + "webChecker": {"path": "tools/web/check-generated-gap.mjs", "sha256": "46163965b2c3a2405a7db0391d79694ca53861bd64d8cf6c911c860fd3ae90d4"}, + "reader": {"path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", "sha256": "bd0c21440ef1af91dbb861687f8b8637a58656a4965e59cc67fc16b495cf437e"}, + "wasm": {"path": "web/app/src/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmPublic": {"path": "web/app/public/vendor/blender/web_engine.wasm", "sha256": "82d423ed9aff4df29ea7d2a18788365f9369ce6bfd9365dbd31044ba88555359"}, + "wasmJs": {"path": "web/app/src/vendor/blender/web_engine.js", "sha256": "9c831d0351ac9d0714cce3b1da748cba416ced3086e3c59595cf24ac4da459ed"}, + "desktopReport": {"path": "tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json", "sha256": "405d31329386086ba1f833795630a0180880bfce17e02d93fd586ce15bb6f1c0"}, + "webReport": {"path": "tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json", "sha256": "489863284d53857629642ae8fadb9c7066a4c492117eb8b7cbe0c823d65d9db5"}, + "taskContext": {"path": "tests/golden/M16-GAP-00136/task-context.json", "sha256": "fc4b89652b93f26d0e7ee929ca442fa4954e47b677ddb75604d3dfacb0c1498e"} + }, + "nextTask": "M16-GAP-00137" +} diff --git a/tests/golden/M16-GAP-00136/task-context.json b/tests/golden/M16-GAP-00136/task-context.json new file mode 100644 index 00000000..cba0a2aa --- /dev/null +++ b/tests/golden/M16-GAP-00136/task-context.json @@ -0,0 +1,185 @@ +{ + "schemaVersion": 1, + "task": "M16-GAP-00136", + "parentTask": "M16-GAP-00135", + "status": "in_progress", + "goal": "Make the same minimal fixture produce observable operator:action.select_circle data in Blender desktop and WASM/Main, with save/reopen stability. Change only this gap; do not expand to other data-blocks, editors, or browsers.", + "scope": { + "gap": "operator:action.select_circle", + "ownerFamily": "OPERATOR", + "implementationClass": "LOCAL_EXACT" + }, + "commands": [ + "build_blender_5.2.0/bin/blender -b --factory-startup --python tools/web/generated/M16-GAP-00136.py -- tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend", + "npm --prefix web run test:generated-gap -- --task M16-GAP-00136", + "node tools/web/check-generated-gap.mjs --task M16-GAP-00136" + ], + "inputPaths": [ + "tools/web/generated/M16-GAP-00136.py" + ], + "inputSelection": { + "schemaVersion": 1, + "limits": { + "maxFiles": 12, + "evidenceBytes": 8192, + "contextRemainingBytes": 3098, + "contextRemainingTokens": 773 + }, + "source": { + "bytes": 6806, + "tokens": 1703 + }, + "selected": [ + { + "path": "tools/web/generated/M16-GAP-00136.py", + "bytes": 3018, + "tokens": 755 + } + ], + "excluded": [ + { + "path": "tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend", + "bytes": 86883, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp", + "bytes": 224767, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tools/web/check-generated-gap.mjs", + "bytes": 226422, + "reason": "EVIDENCE_BYTE_BUDGET" + }, + { + "path": "tests/golden/M16-GAP-00136/", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "docs/status/M16-GAP-00136.md", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + }, + { + "path": "tests/golden/M16-GAP-00136/manifest.json", + "bytes": null, + "reason": "GENERATED_EVIDENCE_OUTPUT" + } + ], + "totals": { + "files": 1, + "bytes": 3018, + "tokens": 755 + } + }, + "exitCriteria": [ + "desktop fixture evidence exists", + "WASM uses the same fixture", + "comparator passes", + "save/reopen preserves Main", + "manifest hashes all artifacts" + ], + "nextTask": "M16-GAP-00137", + "sourceDocuments": { + "queue": "docs/EXECUTION_QUEUE.md", + "taskCard": "docs/tasks/M16-GAP-00136.md", + "taskIndex": "tests/golden/M15-03A/task-index.json", + "parentManifest": "tests/golden/M16-GAP-00135/manifest.json", + "parentStatus": "docs/status/M16-GAP-00135.md" + }, + "readPolicy": { + "required": [ + "docs/EXECUTION_QUEUE.md", + "docs/tasks/M16-GAP-00136.md", + "tests/golden/M16-GAP-00135/manifest.json", + "docs/status/M16-GAP-00135.md" + ], + "machineOnly": [ + "tests/golden/M15-03A/task-index.json", + "tests/golden/M15-03A/task-catalog.jsonl" + ], + "optionalByNeed": [ + "docs/WEB_BLENDER_MODELER_V1_SCOPE.md", + "任务卡列出的精确协议/生产路径", + "任务卡明确命名的长期计划小节" + ], + "forbiddenByDefault": [ + "完整 CURRENT_EXECUTION_PLAN.md", + "完整 PROJECT_STATUS_AND_NEXT_WORK.md", + "全部 docs/status/*.md", + "完整 parity/WBS 计划", + "README 历史和 test-results/" + ] + }, + "parent": { + "manifest": { + "schemaVersion": 1, + "task": "M16-GAP-00135", + "parentTask": "M16-GAP-00134", + "status": "done", + "nextTask": "M16-GAP-00136", + "artifactCount": 11 + }, + "statusSummary": [ + "# M16-GAP-00135 Status", + "status: done", + "task: action.select_by_type operator LOCAL_EXACT slice", + "updated: 2026-08-20 America/New_York", + "scope: Action Editor keyframe-type selection on `object:WebGapSelectByTypeObject`.", + "evidence:", + "- Blender marks frame 3 as BREAKDOWN, clears selection, and executes `bpy.ops.action.select_by_type(type=\"BREAKDOWN\", extend=False)`.", + "- Desktop and WASM/Main expose matching keyframe types and selected flags; save/reopen is exact." + ] + }, + "budgets": { + "queueBytes": 4096, + "taskBytes": 1789, + "parentManifestBytes": 24576, + "parentStatusBytes": 6144, + "evidenceFiles": 12, + "evidenceBytes": 8192, + "contextTokens": 3500, + "contextEnvelopeTokens": 1024, + "taskLines": 38, + "taskTokens": 448 + }, + "size": { + "documents": [ + { + "path": "docs/EXECUTION_QUEUE.md", + "bytes": 2168, + "lines": 45, + "tokens": 542 + }, + { + "path": "docs/tasks/M16-GAP-00136.md", + "bytes": 1789, + "lines": 38, + "tokens": 448 + }, + { + "path": "tests/golden/M16-GAP-00135/manifest.json", + "bytes": 2072, + "lines": 25, + "tokens": 518 + }, + { + "path": "docs/status/M16-GAP-00135.md", + "bytes": 777, + "lines": 19, + "tokens": 195 + } + ], + "sourceTokens": 1703, + "evidenceFiles": 1, + "evidenceBytes": 3018, + "evidenceTokens": 755, + "totalTokens": 2458, + "reservedEnvelopeTokens": 1024, + "estimatedContextTokens": 3482, + "serializedContextTokens": 754, + "withinBudget": true + } +} diff --git a/tools/web/check-action-bake-keys-desktop.py b/tools/web/check-action-bake-keys-desktop.py new file mode 100644 index 00000000..79b11a54 --- /dev/null +++ b/tools/web/check-action-bake-keys-desktop.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +import hashlib +import json +import pathlib +import sys +import tempfile +import os + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapBakeKeysObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapBakeKeysObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-bake-keys-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapBakeKeysObjectAction" or any(len(channel["frames"]) != 5 for channel in before["channels"]): + raise RuntimeError(f"unexpected bake_keys result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-bake-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"bake_keys save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00113", + "operation": "ACTION_BAKE_KEYS_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "action": after, + "saveReopen": "EXACT", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print(f"action-bake-keys-desktop-ok channels={len(after['channels'])} bakedFrames=5 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-clean-desktop.py b/tools/web/check-action-clean-desktop.py new file mode 100644 index 00000000..de3fd664 --- /dev/null +++ b/tools/web/check-action-clean-desktop.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +import hashlib +import json +import pathlib +import sys +import tempfile +import os + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapCleanObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapCleanObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-clean-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapCleanObjectAction" or any(len(channel["frames"]) != 1 for channel in before["channels"]): + raise RuntimeError(f"unexpected action.clean result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-clean-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.clean save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00114", "operation": "ACTION_CLEAN_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "threshold": 0.01, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print(f"action-clean-desktop-ok channels={len(after['channels'])} remainingFrames=1 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-clickselect-desktop.py b/tools/web/check-action-clickselect-desktop.py new file mode 100644 index 00000000..ade1c4e1 --- /dev/null +++ b/tools/web/check-action-clickselect-desktop.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapClickSelectObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapClickSelectObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-clickselect-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = [[False, True, False]] * 3 + if before["name"] != "WebGapClickSelectObjectAction" or [channel["selected"] for channel in before["channels"]] != expected: + raise RuntimeError(f"unexpected clickselect result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-clickselect-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.clickselect save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00115", + "operation": "ACTION_CLICKSELECT_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "click": {"frame": 3.0, "column": True, "deselectAll": True}, + "action": after, + "saveReopen": "EXACT", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-clickselect-desktop-ok channels=3 selectedFrame=3 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-copy-desktop.py b/tools/web/check-action-copy-desktop.py new file mode 100644 index 00000000..8181be5c --- /dev/null +++ b/tools/web/check-action-copy-desktop.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapCopyObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapCopyObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-copy-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = [[False, True, False]] * 3 + if before["name"] != "WebGapCopyObjectAction" or [channel["selected"] for channel in before["channels"]] != expected: + raise RuntimeError(f"unexpected action.copy source selection: {before}") + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if "FINISHED" not in bpy.ops.action.copy(): + raise RuntimeError("ACTION_OT_copy did not finish") + after_copy = action_report() + if after_copy != before: + raise RuntimeError(f"action.copy changed Main data: {before} != {after_copy}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-copy-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.copy save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00116", + "operation": "ACTION_COPY_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "copiedFrames": [3.0], + "action": after, + "saveReopen": "EXACT", + "mainMutation": "NONE", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-copy-desktop-ok channels=3 copiedFrame=3 mainMutation=none saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-delete-desktop.py b/tools/web/check-action-delete-desktop.py new file mode 100644 index 00000000..425c458f --- /dev/null +++ b/tools/web/check-action-delete-desktop.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapDeleteObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapDeleteObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-delete-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapDeleteObjectAction" or any(channel["frames"] != [1.0, 5.0] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.delete result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-delete-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.delete save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00117", + "operation": "ACTION_DELETE_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "deletedFrames": [3.0], + "action": after, + "saveReopen": "EXACT", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-delete-desktop-ok channels=3 deletedFrame=3 remainingFrames=1,5 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-duplicate-desktop.py b/tools/web/check-action-duplicate-desktop.py new file mode 100644 index 00000000..34b558f0 --- /dev/null +++ b/tools/web/check-action-duplicate-desktop.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapDuplicateObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapDuplicateObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-duplicate-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected_frames = [1.0, 3.0, 3.0, 5.0] + expected_selected = [False, False, True, False] + if before["name"] != "WebGapDuplicateObjectAction" or any(channel["frames"] != expected_frames or channel["selected"] != expected_selected for channel in before["channels"]): + raise RuntimeError(f"unexpected action.duplicate result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-duplicate-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.duplicate save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00118", + "operation": "ACTION_DUPLICATE_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "duplicatedFrames": [3.0], + "action": after, + "saveReopen": "EXACT", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-duplicate-desktop-ok channels=3 duplicatedFrame=3 frames=1,3,3,5 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-duplicate-move-desktop.py b/tools/web/check-action-duplicate-move-desktop.py new file mode 100644 index 00000000..0244e385 --- /dev/null +++ b/tools/web/check-action-duplicate-move-desktop.py @@ -0,0 +1,69 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapDuplicateMoveObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapDuplicateMoveObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-duplicate-move-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapDuplicateMoveObjectAction" or any(channel["frames"] != [1.0, 3.0, 5.0] or channel["selected"] != [False, False, True] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.duplicate_move result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-duplicate-move-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.duplicate_move save/reopen drift: {before} != {after}") + report = { + "schemaVersion": 1, + "task": "M16-GAP-00119", + "operation": "ACTION_DUPLICATE_MOVE_DESKTOP", + "fixture": str(fixture), + "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), + "duplicatedFrame": 3.0, + "timeOffset": 2.0, + "action": after, + "saveReopen": "EXACT", + "blenderVersion": bpy.app.version_string, + } + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-duplicate-move-desktop-ok channels=3 sourceFrame=3 movedFrame=5 offset=2 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-easing-type-desktop.py b/tools/web/check-action-easing-type-desktop.py new file mode 100644 index 00000000..cc0b3a1d --- /dev/null +++ b/tools/web/check-action-easing-type-desktop.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapEasingTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapEasingTypeObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "easing": [keyframe.easing for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-easing-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = ["AUTO", "EASE_IN_OUT", "AUTO"] + if before["name"] != "WebGapEasingTypeObjectAction" or any(channel["easing"] != expected for channel in before["channels"]): + raise RuntimeError(f"unexpected action.easing_type result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-easing-type-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.easing_type save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00120", "operation": "ACTION_EASING_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "easingType": "EASE_IN_OUT", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-easing-type-desktop-ok channels=3 frame=3 easing=EASE_IN_OUT saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-extrapolation-type-desktop.py b/tools/web/check-action-extrapolation-type-desktop.py new file mode 100644 index 00000000..35e9f073 --- /dev/null +++ b/tools/web/check-action-extrapolation-type-desktop.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapExtrapolationTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapExtrapolationTypeObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "extrapolation": curve.extrapolation}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-extrapolation-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapExtrapolationTypeObjectAction" or any(channel["extrapolation"] != "LINEAR" for channel in before["channels"]): + raise RuntimeError(f"unexpected action.extrapolation_type result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-extrapolation-type-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.extrapolation_type save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00121", "operation": "ACTION_EXTRAPOLATION_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "extrapolationType": "LINEAR", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-extrapolation-type-desktop-ok channels=3 extrapolation=LINEAR saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-frame-jump-desktop.py b/tools/web/check-action-frame-jump-desktop.py new file mode 100644 index 00000000..b38368ec --- /dev/null +++ b/tools/web/check-action-frame-jump-desktop.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapFrameJumpObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapFrameJumpObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-frame-jump-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if bpy.context.scene.frame_current != 5 or any(channel["selected"] != [False, False, True] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.frame_jump result: frame={bpy.context.scene.frame_current} action={before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-frame-jump-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + frame_after = bpy.context.scene.frame_current + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after or frame_after != 5: + raise RuntimeError("action.frame_jump save/reopen drift") + report = {"schemaVersion": 1, "task": "M16-GAP-00122", "operation": "ACTION_FRAME_JUMP_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "jumpedToFrame": 5, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-frame-jump-desktop-ok selectedFrame=5 currentFrame=5 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-handle-type-desktop.py b/tools/web/check-action-handle-type-desktop.py new file mode 100644 index 00000000..c0c900ed --- /dev/null +++ b/tools/web/check-action-handle-type-desktop.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapHandleTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapHandleTypeObject Action is missing") + channels = [] + for layer in obj.animation_data.action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(k.co.x), 6) for k in curve.keyframe_points], "handleType": ["VECTOR" if k.handle_left_type == "VECTOR" else k.handle_left_type for k in curve.keyframe_points], "selected": [bool(k.select_control_point) for k in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": obj.animation_data.action.name, "channels": channels} + + +def main(): + args = sys.argv[sys.argv.index("--") + 1:] + if len(args) != 2: raise SystemExit("usage: blender -b --python check-action-handle-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(v).resolve() for v in args) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapHandleTypeObjectAction" or any(c["handleType"] != ["VECTOR", "VECTOR", "VECTOR"] for c in before["channels"]): raise RuntimeError(f"unexpected action.handle_type result: {before}") + fd, temp = tempfile.mkstemp(prefix="m16-action-handle-type-reopen-", suffix=".blend"); os.close(fd) + try: + bpy.ops.wm.save_as_mainfile(filepath=temp, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temp, load_ui=False); after = action_report() + finally: pathlib.Path(temp).unlink(missing_ok=True) + if before != after: raise RuntimeError("action.handle_type save/reopen drift") + report = {"schemaVersion": 1, "task": "M16-GAP-00123", "operation": "ACTION_HANDLE_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "handleType": "VECTOR", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-handle-type-desktop-ok channels=3 frame=3 handle=VECTOR saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-interpolation-type-desktop.py b/tools/web/check-action-interpolation-type-desktop.py new file mode 100644 index 00000000..03fbbec8 --- /dev/null +++ b/tools/web/check-action-interpolation-type-desktop.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapInterpolationTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapInterpolationTypeObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "interpolation": [keyframe.interpolation for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-interpolation-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = ["BEZIER", "LINEAR", "BEZIER"] + if before["name"] != "WebGapInterpolationTypeObjectAction" or any(channel["interpolation"] != expected for channel in before["channels"]): + raise RuntimeError(f"unexpected action.interpolation_type result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-interpolation-type-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.interpolation_type save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00124", "operation": "ACTION_INTERPOLATION_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "interpolationType": "LINEAR", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-interpolation-type-desktop-ok channels=3 frame=3 interpolation=LINEAR saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-keyframe-insert-desktop.py b/tools/web/check-action-keyframe-insert-desktop.py new file mode 100644 index 00000000..57720e42 --- /dev/null +++ b/tools/web/check-action-keyframe-insert-desktop.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapKeyframeInsertObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapKeyframeInsertObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "values": [round(float(keyframe.co.y), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-keyframe-insert-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapKeyframeInsertObjectAction" or any(channel["frames"] != [1.0, 3.0, 5.0] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.keyframe_insert result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-keyframe-insert-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.keyframe_insert save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00125", "operation": "ACTION_KEYFRAME_INSERT_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "insertedFrame": 3, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-keyframe-insert-desktop-ok channels=3 insertedFrame=3 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-keyframe-type-desktop.py b/tools/web/check-action-keyframe-type-desktop.py new file mode 100644 index 00000000..e798bec3 --- /dev/null +++ b/tools/web/check-action-keyframe-type-desktop.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapKeyframeTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapKeyframeTypeObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "keyframeType": [keyframe.type for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-keyframe-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = ["KEYFRAME", "BREAKDOWN", "KEYFRAME"] + if before["name"] != "WebGapKeyframeTypeObjectAction" or any(channel["keyframeType"] != expected for channel in before["channels"]): + raise RuntimeError(f"unexpected action.keyframe_type result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-keyframe-type-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.keyframe_type save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00126", "operation": "ACTION_KEYFRAME_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "keyframeType": "BREAKDOWN", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-keyframe-type-desktop-ok channels=3 frame=3 type=BREAKDOWN saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-markers-make-local-desktop.py b/tools/web/check-action-markers-make-local-desktop.py new file mode 100644 index 00000000..6d66932b --- /dev/null +++ b/tools/web/check-action-markers-make-local-desktop.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapMarkersMakeLocalObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapMarkersMakeLocalObject Action is missing") + action = obj.animation_data.action + return {"name": action.name, "markers": sorted(({"name": marker.name, "frame": marker.frame} for marker in action.pose_markers), key=lambda value: (value["frame"], value["name"]))} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-markers-make-local-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before != {"name": "WebGapMarkersMakeLocalObjectAction", "markers": [{"name": "LocalActionMarker", "frame": 3}]}: + raise RuntimeError(f"unexpected action.markers_make_local result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-markers-local-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.markers_make_local save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00127", "operation": "ACTION_MARKERS_MAKE_LOCAL_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "marker": after["markers"][0], "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-markers-make-local-desktop-ok markers=1 frame=3 saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-mirror-desktop.py b/tools/web/check-action-mirror-desktop.py new file mode 100644 index 00000000..9c57829d --- /dev/null +++ b/tools/web/check-action-mirror-desktop.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapMirrorObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapMirrorObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({ + "path": curve.data_path, + "index": curve.array_index, + "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], + "values": [round(float(keyframe.co.y), 6) for keyframe in curve.keyframe_points], + "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points], + }) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-mirror-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + expected = {0: [-1.0, -2.0, -4.0], 1: [-2.0, -4.0, -8.0], 2: [-3.0, -6.0, -12.0]} + if before["name"] != "WebGapMirrorObjectAction" or any(channel["values"] != expected[channel["index"]] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.mirror result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-mirror-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.mirror save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00128", "operation": "ACTION_MIRROR_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "mirrorType": "XAXIS", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print("action-mirror-desktop-ok channels=3 type=XAXIS saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-new-desktop.py b/tools/web/check-action-new-desktop.py new file mode 100644 index 00000000..afe48a6b --- /dev/null +++ b/tools/web/check-action-new-desktop.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapActionNewObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapActionNewObject new Action is missing") + action = obj.animation_data.action + return {"name": action.name, "channels": sum(1 for layer in action.layers for strip in layer.strips for bag in strip.channelbags for _ in bag.fcurves)} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-new-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] == "WebGapActionNewObjectAction" or before["channels"] != 3: + raise RuntimeError(f"unexpected action.new result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-new-reopen-", suffix=".blend") + os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True) + bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False) + after = action_report() + finally: + pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: + raise RuntimeError(f"action.new save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00129", "operation": "ACTION_NEW_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8") + print(f"action-new-desktop-ok name={after['name']} channels={after['channels']} saveReopen=exact") + + +if __name__ == "__main__": + main() diff --git a/tools/web/check-action-paste-desktop.py b/tools/web/check-action-paste-desktop.py new file mode 100644 index 00000000..54971873 --- /dev/null +++ b/tools/web/check-action-paste-desktop.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapPasteObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapPasteObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "values": [round(float(keyframe.co.y), 6) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-paste-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapPasteObjectAction" or any(channel["frames"] != [1.0, 3.0, 5.0, 7.0] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.paste result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-paste-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = action_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.paste save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00130", "operation": "ACTION_PASTE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "pastedFrame": 7, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-paste-desktop-ok channels=3 pastedFrame=7 saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-previewrange-set-desktop.py b/tools/web/check-action-previewrange-set-desktop.py new file mode 100644 index 00000000..3142e184 --- /dev/null +++ b/tools/web/check-action-previewrange-set-desktop.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-previewrange-set-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + scene = bpy.context.scene + if not scene.use_preview_range or (scene.frame_preview_start, scene.frame_preview_end) != (1, 5): + raise RuntimeError(f"unexpected action.previewrange_set result: use={scene.use_preview_range} range={(scene.frame_preview_start, scene.frame_preview_end)}") + before = {"start": int(scene.frame_preview_start), "end": int(scene.frame_preview_end), "use": bool(scene.use_preview_range)} + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-previewrange-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = {"start": int(bpy.context.scene.frame_preview_start), "end": int(bpy.context.scene.frame_preview_end), "use": bool(bpy.context.scene.use_preview_range)} + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.previewrange_set save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00131", "operation": "ACTION_PREVIEWRANGE_SET_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "previewRange": {"start": after["start"], "end": after["end"]}, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-previewrange-set-desktop-ok range=1-5 saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-push-down-desktop.py b/tools/web/check-action-push-down-desktop.py new file mode 100644 index 00000000..7cd45b11 --- /dev/null +++ b/tools/web/check-action-push-down-desktop.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def nla_report(): + obj = bpy.data.objects.get("WebGapPushDownObject") + if obj is None or obj.animation_data is None: + raise RuntimeError("WebGapPushDownObject animation data is missing") + tracks = [] + for track in obj.animation_data.nla_tracks: + tracks.append({"name": track.name, "strips": [{"name": strip.name, "action": strip.action.name if strip.action else None, "frameStart": round(float(strip.frame_start), 6), "frameEnd": round(float(strip.frame_end), 6)} for strip in track.strips]}) + return {"activeAction": obj.animation_data.action.name if obj.animation_data.action else None, "tracks": tracks} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-push-down-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = nla_report() + if before["activeAction"] is not None or len(before["tracks"]) != 1 or len(before["tracks"][0]["strips"]) != 1: + raise RuntimeError(f"unexpected action.push_down result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-push-down-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = nla_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.push_down save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00132", "operation": "ACTION_PUSH_DOWN_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "nla": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-push-down-desktop-ok tracks=1 strips=1 activeAction=none saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-select-all-desktop.py b/tools/web/check-action-select-all-desktop.py new file mode 100644 index 00000000..523cd84d --- /dev/null +++ b/tools/web/check-action-select-all-desktop.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapSelectAllObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapSelectAllObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-select-all-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapSelectAllObjectAction" or any(channel["selected"] != [True, True, True] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.select_all result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-select-all-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = action_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.select_all save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00133", "operation": "ACTION_SELECT_ALL_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "selection": "SELECT", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-select-all-desktop-ok channels=3 selected=all saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-select-box-desktop.py b/tools/web/check-action-select-box-desktop.py new file mode 100644 index 00000000..0c475f54 --- /dev/null +++ b/tools/web/check-action-select-box-desktop.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapSelectBoxObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapSelectBoxObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-select-box-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapSelectBoxObjectAction" or any(channel["selected"] != [False, True, False] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.select_box result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-select-box-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = action_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.select_box save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00134", "operation": "ACTION_SELECT_BOX_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "selectedFrame": 3, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-select-box-desktop-ok channels=3 selectedFrame=3 saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-select-by-type-desktop.py b/tools/web/check-action-select-by-type-desktop.py new file mode 100644 index 00000000..aab6e070 --- /dev/null +++ b/tools/web/check-action-select-by-type-desktop.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapSelectByTypeObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapSelectByTypeObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "keyframeType": [keyframe.type for keyframe in curve.keyframe_points], "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])) + return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: + raise SystemExit("usage: blender -b --python check-action-select-by-type-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments) + bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False) + before = action_report() + if before["name"] != "WebGapSelectByTypeObjectAction" or any(channel["selected"] != [False, True, False] or channel["keyframeType"] != ["KEYFRAME", "BREAKDOWN", "KEYFRAME"] for channel in before["channels"]): + raise RuntimeError(f"unexpected action.select_by_type result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-select-by-type-reopen-", suffix=".blend"); os.close(descriptor) + try: + bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = action_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.select_by_type save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00135", "operation": "ACTION_SELECT_BY_TYPE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "selectedType": "BREAKDOWN", "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string} + output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-select-by-type-desktop-ok channels=3 type=BREAKDOWN saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-action-select-circle-desktop.py b/tools/web/check-action-select-circle-desktop.py new file mode 100644 index 00000000..07303955 --- /dev/null +++ b/tools/web/check-action-select-circle-desktop.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +import hashlib +import json +import os +import pathlib +import sys +import tempfile + +import bpy + + +def action_report(): + obj = bpy.data.objects.get("WebGapSelectCircleObject") + if obj is None or obj.animation_data is None or obj.animation_data.action is None: + raise RuntimeError("WebGapSelectCircleObject Action is missing") + action = obj.animation_data.action + channels = [] + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + channels.append({"path": curve.data_path, "index": curve.array_index, "frames": [round(float(keyframe.co.x), 6) for keyframe in curve.keyframe_points], "selected": [bool(keyframe.select_control_point) for keyframe in curve.keyframe_points]}) + channels.sort(key=lambda value: (value["path"], value["index"])); return {"name": action.name, "channels": channels} + + +def main(): + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 2: raise SystemExit("usage: blender -b --python check-action-select-circle-desktop.py -- FIXTURE REPORT") + fixture, output = (pathlib.Path(value).resolve() for value in arguments); bpy.ops.wm.open_mainfile(filepath=str(fixture), load_ui=False); before = action_report() + if before["name"] != "WebGapSelectCircleObjectAction" or any(channel["selected"] != [False, True, False] for channel in before["channels"]): raise RuntimeError(f"unexpected action.select_circle result: {before}") + descriptor, temporary = tempfile.mkstemp(prefix="m16-action-select-circle-reopen-", suffix=".blend"); os.close(descriptor) + try: bpy.ops.wm.save_as_mainfile(filepath=temporary, check_existing=False, compress=True); bpy.ops.wm.open_mainfile(filepath=temporary, load_ui=False); after = action_report() + finally: pathlib.Path(temporary).unlink(missing_ok=True) + if before != after: raise RuntimeError(f"action.select_circle save/reopen drift: {before} != {after}") + report = {"schemaVersion": 1, "task": "M16-GAP-00136", "operation": "ACTION_SELECT_CIRCLE_DESKTOP", "fixture": str(fixture), "fixtureSha256": hashlib.sha256(fixture.read_bytes()).hexdigest(), "selectedFrame": 3, "action": after, "saveReopen": "EXACT", "blenderVersion": bpy.app.version_string}; output.parent.mkdir(parents=True, exist_ok=True); output.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n", encoding="utf-8"); print("action-select-circle-desktop-ok channels=3 selectedFrame=3 saveReopen=exact") + + +if __name__ == "__main__": main() diff --git a/tools/web/check-context-governance.mjs b/tools/web/check-context-governance.mjs index 45d95148..de7622eb 100644 --- a/tools/web/check-context-governance.mjs +++ b/tools/web/check-context-governance.mjs @@ -1,7 +1,7 @@ import assert from "node:assert/strict"; import fs from "node:fs"; import path from "node:path"; -import { buildTaskContext, root, verifyTaskIndex } from "./task-context-lib.mjs"; +import { buildTaskContext, CONTEXT_LIMITS, root, verifyTaskIndex } from "./task-context-lib.mjs"; import { validateCatalogRecords, validateContextBundle } from "./context-governance.mjs"; const requested = process.argv.indexOf("--task"); @@ -30,4 +30,4 @@ if (index) { } assert.equal(violations.length, 0, `context governance violations: ${JSON.stringify(violations)}`); -process.stdout.write(`context-governance-ok task=${bundle.context.task} totalTokens=${report.totalTokens} inputs=${bundle.context.inputPaths.length} commands=${bundle.context.commands.length}\n`); +process.stdout.write(`context-governance-ok task=${bundle.context.task} contentTokens=${report.totalTokens} envelopeTokens=${report.serializedContextTokens}/${report.reservedEnvelopeTokens} estimatedTokens=${report.estimatedContextTokens}/${CONTEXT_LIMITS.contextTokens} inputs=${bundle.context.inputPaths.length} commands=${bundle.context.commands.length}\n`); diff --git a/tools/web/check-generated-gap.mjs b/tools/web/check-generated-gap.mjs index b17c8348..796667b2 100644 --- a/tools/web/check-generated-gap.mjs +++ b/tools/web/check-generated-gap.mjs @@ -1123,6 +1123,23 @@ const genericModifierTasks = { "M16-GAP-00093": { type: "SKIN", stem: "WebGapSkin", nextTask: "M16-GAP-00094" }, "M16-GAP-00094": { type: "SMOOTH", stem: "WebGapSmooth", nextTask: "M16-GAP-00095" }, "M16-GAP-00095": { type: "SOFT_BODY", stem: "WebGapSoftBody", nextTask: "M16-GAP-00096" }, + "M16-GAP-00096": { type: "SOLIDIFY", stem: "WebGapSolidify", nextTask: "M16-GAP-00097" }, + "M16-GAP-00097": { type: "SUBSURF", stem: "WebGapSubsurf", nextTask: "M16-GAP-00098" }, + "M16-GAP-00098": { type: "SURFACE", stem: "WebGapSurface", nextTask: "M16-GAP-00099" }, + "M16-GAP-00099": { type: "SURFACE_DEFORM", stem: "WebGapSurfaceDeform", nextTask: "M16-GAP-00100" }, + "M16-GAP-00100": { type: "TRIANGULATE", stem: "WebGapTriangulate", nextTask: "M16-GAP-00101" }, + "M16-GAP-00101": { type: "UV_PROJECT", stem: "WebGapUvProject", nextTask: "M16-GAP-00102" }, + "M16-GAP-00102": { type: "UV_WARP", stem: "WebGapUvWarp", nextTask: "M16-GAP-00103" }, + "M16-GAP-00103": { type: "VERTEX_WEIGHT_EDIT", stem: "WebGapVertexWeightEdit", nextTask: "M16-GAP-00104" }, + "M16-GAP-00104": { type: "VERTEX_WEIGHT_MIX", stem: "WebGapVertexWeightMix", nextTask: "M16-GAP-00105" }, + "M16-GAP-00105": { type: "VERTEX_WEIGHT_PROXIMITY", stem: "WebGapVertexWeightProximity", nextTask: "M16-GAP-00106" }, + "M16-GAP-00106": { type: "VOLUME_DISPLACE", stem: "WebGapVolumeDisplace", nextTask: "M16-GAP-00107" }, + "M16-GAP-00107": { type: "VOLUME_TO_MESH", stem: "WebGapVolumeToMesh", nextTask: "M16-GAP-00108" }, + "M16-GAP-00108": { type: "WARP", stem: "WebGapWarp", nextTask: "M16-GAP-00109" }, + "M16-GAP-00109": { type: "WAVE", stem: "WebGapWave", nextTask: "M16-GAP-00110" }, + "M16-GAP-00110": { type: "WEIGHTED_NORMAL", stem: "WebGapWeightedNormal", nextTask: "M16-GAP-00111" }, + "M16-GAP-00111": { type: "WELD", stem: "WebGapWeld", nextTask: "M16-GAP-00112" }, + "M16-GAP-00112": { type: "WIREFRAME", stem: "WebGapWireframe", nextTask: "M16-GAP-00113" }, }; if (genericModifierTasks[task]) { const config = genericModifierTasks[task]; @@ -1157,11 +1174,985 @@ if (genericModifierTasks[task]) { assert.equal(modifier.parameters.vertexGroup, desktop.modifier.modifier.vertexGroup); assert.equal(modifier.parameters.smoothFlags, desktop.modifier.modifier.smoothFlags); } + if (config.type === "SOLIDIFY") { + assert.ok(Math.abs(modifier.parameters.thickness - desktop.modifier.modifier.thickness) < 1e-5); + assert.ok(Math.abs(modifier.parameters.offset - desktop.modifier.modifier.offset) < 1e-5); + } + if (config.type === "SUBSURF") { + assert.equal(modifier.parameters.subdivisionType, desktop.modifier.modifier.subdivisionType); + assert.equal(modifier.parameters.levels, desktop.modifier.modifier.levels); + assert.equal(modifier.parameters.renderLevels, desktop.modifier.modifier.renderLevels); + } + if (config.type === "TRIANGULATE") { + assert.equal(modifier.parameters.quadMethod, desktop.modifier.modifier.quadMethod); + assert.equal(modifier.parameters.ngonMethod, desktop.modifier.modifier.ngonMethod); + } + if (config.type === "WAVE") { + assert.ok(Math.abs(modifier.parameters.height - desktop.modifier.modifier.height) < 1e-5); + assert.ok(Math.abs(modifier.parameters.width - desktop.modifier.modifier.width) < 1e-5); + assert.ok(Math.abs(modifier.parameters.speed - desktop.modifier.modifier.speed) < 1e-5); + } + if (config.type === "WEIGHTED_NORMAL") { + assert.equal(modifier.parameters.weight, desktop.modifier.modifier.weight); + } + if (config.type === "WELD") { + assert.ok(Math.abs(modifier.parameters.mergeThreshold - desktop.modifier.modifier.mergeThreshold) < 1e-5); + } + if (config.type === "WIREFRAME") { + assert.ok(Math.abs(modifier.parameters.thickness - desktop.modifier.modifier.thickness) < 1e-5); + } const saved = output(engine, handle, engine._web_engine_save_blend, true); const reopened = engine._web_engine_create(); open(engine, reopened, saved); const reopenedSnapshot = snapshot(engine, reopened); const reopenedHolder = mesh ? reopenedSnapshot.meshes?.find((value) => value.id === mesh.id) : reopenedSnapshot.nodes?.find((value) => value.id === node.id); assert.deepEqual(reopenedHolder?.modifierStack, holder.modifierStack); const malformed = new Uint8Array([0x42,0x4c,0x45,0x4e,0x44,0x45,0x52]); const pointer = engine._malloc(malformed.byteLength); let result; try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } assert.notEqual(result, 0); assert.deepEqual(snapshot(engine, handle), before); engine._web_engine_destroy(handle); engine._web_engine_destroy(reopened); const report = { schemaVersion: 1, task, operation: `${config.type}_MODIFIER_LOCAL_EXACT`, fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", objectId: node?.id, meshId: mesh?.id, modifier }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: config.nextTask }; const reportPath = path.join(root, `tests/golden/${task}/${config.type.toLowerCase().replaceAll("_", "-")}-modifier-local-exact-report.json`); fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); process.stdout.write(`generated-gap-ok task=${task} holder=${holder.id} modifier=${modifier.name} desktop=exact saveReopen=exact next=${report.nextTask}\n`); process.exit(0); } +if (task === "M16-GAP-00113") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00113-operator-action.bake_keys.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00113/action-bake-keys-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-bake-keys-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapBakeKeysObjectAction:object:WebGapBakeKeysObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.length), [5, 5, 5]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { + engine.HEAPU8.set(malformed, pointer); + result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); + } + finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_BAKE_KEYS_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, channelPaths: animation.channels.map((channel) => channel.path), keyframesPerChannel: animation.channels.map((channel) => channel.keyframes.length) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00114" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00113/action-bake-keys-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} channels=${animation.channels.length} bakedFrames=5 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00114") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00114-operator-action.clean.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00114/action-clean-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-clean-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapCleanObjectAction:object:WebGapCleanObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.length), [1, 1, 1]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_CLEAN_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, threshold: desktop.threshold, keyframesPerChannel: animation.channels.map((channel) => channel.keyframes.length) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00115" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00114/action-clean-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} channels=${animation.channels.length} remainingFrames=1 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00115") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00115-operator-action.clickselect.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00115/action-clickselect-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-clickselect-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapClickSelectObjectAction:object:WebGapClickSelectObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[3], [3], [3]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_CLICKSELECT_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, selectedFrames: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00116" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00115/action-clickselect-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} selectedFrame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00116") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00116-operator-action.copy.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00116/action-copy-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-copy-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + assert.equal(desktop.mainMutation, "NONE"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapCopyObjectAction:object:WebGapCopyObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[3], [3], [3]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_COPY_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen, mainMutation: desktop.mainMutation }, wasm: { status: "EXACT", actionId: animation.id, copiedFrames: [3], selectedFrames: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00117" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00116/action-copy-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} copiedFrame=3 mainMutation=none desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00117") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00117-operator-action.delete.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00117/action-delete-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-delete-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapDeleteObjectAction:object:WebGapDeleteObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)), [[1, 5], [1, 5], [1, 5]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_DELETE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, deletedFrames: [3], remainingFrames: animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00118" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00117/action-delete-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} deletedFrame=3 remainingFrames=1,5 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00118") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00118-operator-action.duplicate.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00118/action-duplicate-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-duplicate-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapDuplicateObjectAction:object:WebGapDuplicateObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)), [[1, 3, 3, 5], [1, 3, 3, 5], [1, 3, 3, 5]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_DUPLICATE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, duplicatedFrames: [3], keyframesPerChannel: animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00119" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00118/action-duplicate-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} duplicatedFrame=3 frames=1,3,3,5 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00119") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00119-operator-action.duplicate_move.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00119/action-duplicate-move-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-duplicate-move-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapDuplicateMoveObjectAction:object:WebGapDuplicateMoveObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)), [[1, 3, 5], [1, 3, 5], [1, 3, 5]]); + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[5], [5], [5]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_DUPLICATE_MOVE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, sourceFrame: 3, movedFrame: 5, timeOffset: 2, selectedFrames: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00120" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00119/action-duplicate-move-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} sourceFrame=3 movedFrame=5 offset=2 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00120") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00120-operator-action.easing_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00120/action-easing-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-easing-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapEasingTypeObjectAction:object:WebGapEasingTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.easing), expected.easing); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.easing)), [["AUTO", "EASE_IN_OUT", "AUTO"], ["AUTO", "EASE_IN_OUT", "AUTO"], ["AUTO", "EASE_IN_OUT", "AUTO"]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_EASING_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, easingType: "EASE_IN_OUT", easingPerChannel: animation.channels.map((channel) => channel.keyframes.map((value) => value.easing)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00121" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00120/action-easing-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} easing=EASE_IN_OUT frame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00121") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00121-operator-action.extrapolation_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00121/action-extrapolation-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-extrapolation-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapExtrapolationTypeObjectAction:object:WebGapExtrapolationTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.equal(channel.extrapolation, expected.extrapolation); + } + assert.deepEqual(animation.channels.map((channel) => channel.extrapolation), ["LINEAR", "LINEAR", "LINEAR"]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_EXTRAPOLATION_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, extrapolationType: "LINEAR", extrapolationPerChannel: animation.channels.map((channel) => channel.extrapolation) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00122" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00121/action-extrapolation-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} extrapolation=LINEAR desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00122") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00122-operator-action.frame_jump.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00122/action-frame-jump-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-frame-jump-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + assert.equal(before.frame.current, desktop.jumpedToFrame); + const animation = before.animations?.find((value) => value.id === "action:WebGapFrameJumpObjectAction:object:WebGapFrameJumpObject"); + assert.ok(animation); + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[5], [5], [5]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).frame, before.frame); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).frame, before.frame); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_FRAME_JUMP_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, jumpedToFrame: before.frame.current, selectedFrames: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00123" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00122/action-frame-jump-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} currentFrame=${before.frame.current} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00123") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00123-operator-action.handle_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00123/action-handle-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-handle-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapHandleTypeObjectAction:object:WebGapHandleTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.handleType), expected.handleType); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + const handleTypes = animation.channels.map((channel) => channel.keyframes.map((value) => value.handleType)); + assert.deepEqual(handleTypes, [["VECTOR", "VECTOR", "VECTOR"], ["VECTOR", "VECTOR", "VECTOR"], ["VECTOR", "VECTOR", "VECTOR"]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_HANDLE_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, handleType: "VECTOR", handleTypes }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00124" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00123/action-handle-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} handle=VECTOR channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00124") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00124-operator-action.interpolation_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00124/action-interpolation-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-interpolation-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapInterpolationTypeObjectAction:object:WebGapInterpolationTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.interpolation), expected.interpolation); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + const interpolationPerChannel = animation.channels.map((channel) => channel.keyframes.map((value) => value.interpolation)); + assert.deepEqual(interpolationPerChannel, [["BEZIER", "LINEAR", "BEZIER"], ["BEZIER", "LINEAR", "BEZIER"], ["BEZIER", "LINEAR", "BEZIER"]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_INTERPOLATION_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, interpolationType: "LINEAR", interpolationPerChannel }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00125" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00124/action-interpolation-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} interpolation=LINEAR frame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00125") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00125-operator-action.keyframe_insert.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00125/action-keyframe-insert-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-keyframe-insert-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapKeyframeInsertObjectAction:object:WebGapKeyframeInsertObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.value[0]), expected.values); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)), [[1, 3, 5], [1, 3, 5], [1, 3, 5]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_KEYFRAME_INSERT_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, insertedFrame: 3, framesPerChannel: animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00126" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00125/action-keyframe-insert-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} insertedFrame=3 channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00126") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00126-operator-action.keyframe_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00126/action-keyframe-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-keyframe-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapKeyframeTypeObjectAction:object:WebGapKeyframeTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.keyframeType), expected.keyframeType); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + const keyframeTypes = animation.channels.map((channel) => channel.keyframes.map((value) => value.keyframeType)); + assert.deepEqual(keyframeTypes, [["KEYFRAME", "BREAKDOWN", "KEYFRAME"], ["KEYFRAME", "BREAKDOWN", "KEYFRAME"], ["KEYFRAME", "BREAKDOWN", "KEYFRAME"]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_KEYFRAME_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, keyframeType: "BREAKDOWN", keyframeTypes }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00127" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00126/action-keyframe-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} keyframeType=BREAKDOWN frame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00127") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00127-operator-action.markers_make_local.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00127/action-markers-make-local-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-markers-make-local-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapMarkersMakeLocalObjectAction:object:WebGapMarkersMakeLocalObject"); + assert.ok(animation); + assert.deepEqual(animation.markers, desktop.action.markers); + assert.deepEqual(animation.markers, [{ name: "LocalActionMarker", frame: 3 }]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_MARKERS_MAKE_LOCAL_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, markers: animation.markers }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00128" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00127/action-markers-make-local-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} markers=1 frame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00128") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00128-operator-action.mirror.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00128/action-mirror-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-mirror-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapMirrorObjectAction:object:WebGapMirrorObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.value[0]), expected.values); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.value[0])), [[-1, -2, -4], [-2, -4, -8], [-3, -6, -12]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_MIRROR_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, mirrorType: "XAXIS", valuesPerChannel: animation.channels.map((channel) => channel.keyframes.map((value) => value.value[0])) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00129" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00128/action-mirror-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} mirror=XAXIS desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00129") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00129-operator-action.new.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00129/action-new-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-new-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === `action:${desktop.action.name}:object:WebGapActionNewObject`); + assert.ok(animation); + assert.equal(animation.name, desktop.action.name); + assert.equal(animation.channels.length, desktop.action.channels); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_NEW_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, actionName: animation.name, channels: animation.channels.length }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00130" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00129/action-new-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00130") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00130-operator-action.paste.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00130/action-paste-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-paste-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapPasteObjectAction:object:WebGapPasteObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.value[0]), expected.values); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)), [[1, 3, 5, 7], [1, 3, 5, 7], [1, 3, 5, 7]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_PASTE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, pastedFrame: 7, framesPerChannel: animation.channels.map((channel) => channel.keyframes.map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00131" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00130/action-paste-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} pastedFrame=7 channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00131") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00131-operator-action.previewrange_set.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00131/action-previewrange-set-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-previewrange-set-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const scene = before.scenes?.find((value) => value.id === before.sceneId) ?? before.scenes?.[0]; + assert.ok(scene); + assert.deepEqual(scene.previewRange, { start: 1, end: 5 }); + assert.deepEqual(scene.previewRange, desktop.previewRange); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual((snapshot(engine, reopened).scenes?.find((value) => value.id === before.sceneId) ?? snapshot(engine, reopened).scenes?.[0]).previewRange, scene.previewRange); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual((snapshot(engine, handle).scenes?.find((value) => value.id === before.sceneId) ?? snapshot(engine, handle).scenes?.[0]).previewRange, scene.previewRange); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_PREVIEWRANGE_SET_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", sceneId: scene.id, previewRange: scene.previewRange }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00132" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00131/action-previewrange-set-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} scene=${scene.id} preview=1-5 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00132") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00132-operator-action.push_down.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00132/action-push-down-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-push-down-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const action = before.animations?.find((value) => value.id === "action:WebGapPushDownObjectAction:object:WebGapPushDownObject"); + assert.ok(action); + const tracks = before.nlaTracks?.filter((value) => value.ownerId === "object:WebGapPushDownObject") ?? []; + assert.equal(tracks.length, desktop.nla.tracks.length); + assert.equal(tracks.length, 1); + assert.equal(tracks[0].strips.length, 1); + assert.equal(tracks[0].strips[0].actionId, action.id); + assert.equal(before.animations.some((value) => value.id === action.id), true); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).nlaTracks, before.nlaTracks); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).nlaTracks, before.nlaTracks); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_PUSH_DOWN_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: action.id, nlaTracks: tracks }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00133" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00132/action-push-down-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${action.id} nlaTracks=1 strips=1 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00133") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00133-operator-action.select_all.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00133/action-select-all-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-select-all-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapSelectAllObjectAction:object:WebGapSelectAllObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.ok(animation.channels.every((channel) => channel.keyframes.every((value) => value.selected === true))); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_SELECT_ALL_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, selected: true, channels: animation.channels.length }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00134" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00133/action-select-all-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} selected=all channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00134") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00134-operator-action.select_box.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00134/action-select-box-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-select-box-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapSelectBoxObjectAction:object:WebGapSelectBoxObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[3], [3], [3]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_SELECT_BOX_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, selectedFrame: 3, selectedPerChannel: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00135" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00134/action-select-box-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} selectedFrame=3 channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00135") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00135-operator-action.select_by_type.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00135/action-select-by-type-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-select-by-type-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapSelectByTypeObjectAction:object:WebGapSelectByTypeObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.keyframeType), expected.keyframeType); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.ok(animation.channels.every((channel) => channel.keyframes[1].selected && channel.keyframes[1].keyframeType === "BREAKDOWN")); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_SELECT_BY_TYPE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, selectedType: "BREAKDOWN", selectedPerChannel: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00136" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00135/action-select-by-type-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} type=BREAKDOWN selectedFrame=3 desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} +if (task === "M16-GAP-00136") { + const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00136-operator-action.select_circle.blend"); + const desktopPath = path.join(root, "tests/golden/M16-GAP-00136/action-select-circle-desktop-report.json"); + fs.mkdirSync(path.dirname(desktopPath), { recursive: true }); + const run = spawnSync(process.env.BLENDER_BIN ?? path.join(root, "build_blender_5.2.0/bin/blender"), ["-b", "--factory-startup", "--python", path.join(root, "tools/web/check-action-select-circle-desktop.py"), "--", fixture, desktopPath], { cwd: root, encoding: "utf8", maxBuffer: 8 * 1024 * 1024 }); + assert.equal(run.status, 0, `${run.stdout ?? ""}\n${run.stderr ?? ""}`); + const desktop = JSON.parse(fs.readFileSync(desktopPath, "utf8")); + assert.equal(desktop.saveReopen, "EXACT"); + const engine = await factory({ wasmBinary }); + const handle = engine._web_engine_create(); + open(engine, handle, fs.readFileSync(fixture)); + const before = snapshot(engine, handle); + const animation = before.animations?.find((value) => value.id === "action:WebGapSelectCircleObjectAction:object:WebGapSelectCircleObject"); + assert.ok(animation); + assert.equal(animation.channels.length, desktop.action.channels.length); + for (const [index, channel] of animation.channels.entries()) { + const expected = desktop.action.channels[index]; + assert.equal(channel.path.replace(/\[\d+\]$/, ""), expected.path); + assert.deepEqual(channel.keyframes.map((value) => value.frame), expected.frames); + assert.deepEqual(channel.keyframes.map((value) => value.selected), expected.selected); + } + assert.deepEqual(animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)), [[3], [3], [3]]); + const saved = output(engine, handle, engine._web_engine_save_blend, true); + const reopened = engine._web_engine_create(); + open(engine, reopened, saved); + assert.deepEqual(snapshot(engine, reopened).animations, before.animations); + const malformed = new Uint8Array([0x42, 0x4c, 0x45, 0x4e, 0x44, 0x45, 0x52]); + const pointer = engine._malloc(malformed.byteLength); + let result; + try { engine.HEAPU8.set(malformed, pointer); result = engine._web_engine_open_blend(handle, pointer, malformed.byteLength); } finally { engine._free(pointer); } + assert.notEqual(result, 0); + assert.deepEqual(snapshot(engine, handle).animations, before.animations); + engine._web_engine_destroy(handle); + engine._web_engine_destroy(reopened); + const report = { schemaVersion: 1, task, operation: "ACTION_SELECT_CIRCLE_LOCAL_EXACT", fixture: { path: path.relative(root, fixture).replaceAll(path.sep, "/"), sha256: desktop.fixtureSha256 }, desktop: { status: "EXACT", report: path.relative(root, desktopPath).replaceAll(path.sep, "/"), saveReopen: desktop.saveReopen }, wasm: { status: "EXACT", actionId: animation.id, selectedFrame: 3, selectedPerChannel: animation.channels.map((channel) => channel.keyframes.filter((value) => value.selected).map((value) => value.frame)) }, saveReopen: "EXACT", negative: { malformedBlend: "REJECTED_WITHOUT_MAIN_MUTATION" }, nextTask: "M16-GAP-00137" }; + const reportPath = path.join(root, "tests/golden/M16-GAP-00136/action-select-circle-local-exact-report.json"); + fs.writeFileSync(reportPath, `${JSON.stringify(report, null, 2)}\n`); + process.stdout.write(`generated-gap-ok task=${task} action=${animation.id} selectedFrame=3 channels=${animation.channels.length} desktop=exact saveReopen=exact next=${report.nextTask}\n`); + process.exit(0); +} if (task === "M16-GAP-00027") { const fixture = path.join(root, "tests/files/web/generated/M16-GAP-00027-datablock-WindowManager.blend"); const desktopPath = path.join(root, "tests/golden/M16-GAP-00027/window-manager-desktop-report.json"); diff --git a/tools/web/check-generic-modifier-desktop.py b/tools/web/check-generic-modifier-desktop.py index df2ef360..dd8b3387 100644 --- a/tools/web/check-generic-modifier-desktop.py +++ b/tools/web/check-generic-modifier-desktop.py @@ -56,6 +56,28 @@ def report(task, modifier_type, object_name): | (4 if modifier.use_y else 0) | (8 if modifier.use_z else 0) ) + if modifier_type == "SOLIDIFY": + value["modifier"]["thickness"] = float(modifier.thickness) + value["modifier"]["offset"] = float(modifier.offset) + if modifier_type == "SUBSURF": + value["modifier"]["subdivisionType"] = {"CATMULL_CLARK": 0, "SIMPLE": 1}[modifier.subdivision_type] + value["modifier"]["levels"] = int(modifier.levels) + value["modifier"]["renderLevels"] = int(modifier.render_levels) + if modifier_type == "TRIANGULATE": + value["modifier"]["quadMethod"] = {"BEAUTY": 0, "FIXED": 1, "FIXED_ALTERNATE": 2, "SHORTEST_DIAGONAL": 3, "LONGEST_DIAGONAL": 4}[modifier.quad_method] + value["modifier"]["ngonMethod"] = {"BEAUTY": 0, "CLIP": 1}[modifier.ngon_method] + if modifier_type == "WAVE": + value["modifier"]["height"] = float(modifier.height) + value["modifier"]["width"] = float(modifier.width) + value["modifier"]["speed"] = float(modifier.speed) + if modifier_type == "WEIGHTED_NORMAL": + value["modifier"]["weight"] = int(modifier.weight) + value["modifier"]["keepSharp"] = bool(modifier.keep_sharp) + value["modifier"]["useFaceInfluence"] = bool(modifier.use_face_influence) + if modifier_type == "WELD": + value["modifier"]["mergeThreshold"] = float(modifier.merge_threshold) + if modifier_type == "WIREFRAME": + value["modifier"]["thickness"] = float(modifier.thickness) return value diff --git a/tools/web/check-task-context.mjs b/tools/web/check-task-context.mjs index c0b8e03b..e406b023 100644 --- a/tools/web/check-task-context.mjs +++ b/tools/web/check-task-context.mjs @@ -36,4 +36,4 @@ if (write) { fs.mkdirSync(outputDir, { recursive: true }); fs.writeFileSync(outputPath, `${JSON.stringify({ ...context, size: report }, null, 2)}\n`); } -process.stdout.write(`task-context-ok task=${context.task} parent=${context.parentTask} totalTokens=${report.totalTokens} taskBytes=${context.budgets.taskBytes} next=${context.nextTask ?? "NONE"}${write ? ` output=${path.relative(root, outputPath)}` : ""}\n`); +process.stdout.write(`task-context-ok task=${context.task} parent=${context.parentTask} contentTokens=${report.totalTokens} envelopeTokens=${report.serializedContextTokens}/${report.reservedEnvelopeTokens} estimatedTokens=${report.estimatedContextTokens}/${CONTEXT_LIMITS.contextTokens} taskBytes=${context.budgets.taskBytes} next=${context.nextTask ?? "NONE"}${write ? ` output=${path.relative(root, outputPath)}` : ""}\n`); diff --git a/tools/web/context-governance.mjs b/tools/web/context-governance.mjs index 18b4c669..81bfcd0e 100644 --- a/tools/web/context-governance.mjs +++ b/tools/web/context-governance.mjs @@ -51,7 +51,13 @@ export function validateContextBundle(bundle, { current = true } = {}) { for (const [name, source, limit] of measured) { if (byteLength(source) > limit) add(violations, "DOCUMENT_OVER_BUDGET", `${name}=${byteLength(source)}>${limit}`); } - if (!report.withinBudget) add(violations, "CONTEXT_OVER_BUDGET", `tokens=${report.totalTokens}>${CONTEXT_LIMITS.contextTokens}`); + if (!report.withinBudget) add(violations, "CONTEXT_OVER_BUDGET", `tokens=${report.estimatedContextTokens}>${CONTEXT_LIMITS.contextTokens}`); + if (report.serializedContextTokens > CONTEXT_LIMITS.contextEnvelopeTokens) { + add(violations, "CONTEXT_ENVELOPE_OVER_BUDGET", `tokens=${report.serializedContextTokens}>${CONTEXT_LIMITS.contextEnvelopeTokens}`); + } + if (report.estimatedContextTokens > CONTEXT_LIMITS.contextTokens) { + add(violations, "CONTEXT_CONTENT_OVER_BUDGET", `tokens=${report.estimatedContextTokens}>${CONTEXT_LIMITS.contextTokens}`); + } if (context.inputPaths.length > GOVERNANCE_LIMITS.maxTaskInputs) { add(violations, "TASK_INPUTS_TOO_WIDE", `count=${context.inputPaths.length}`); } diff --git a/tools/web/generated/M16-GAP-00096.py b/tools/web/generated/M16-GAP-00096.py new file mode 100644 index 00000000..8830b8c2 --- /dev/null +++ b/tools/web/generated/M16-GAP-00096.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --python M16-GAP-00096.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSolidifyMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSolidifyObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapSolidify", type="SOLIDIFY") + modifier.thickness = 0.275 + modifier.offset = 0.35 + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00097.py b/tools/web/generated/M16-GAP-00097.py new file mode 100644 index 00000000..a9be3172 --- /dev/null +++ b/tools/web/generated/M16-GAP-00097.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00097.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSubsurfMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSubsurfObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapSubsurf", type="SUBSURF") + modifier.subdivision_type = "SIMPLE" + modifier.levels = 2 + modifier.render_levels = 3 + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00098.py b/tools/web/generated/M16-GAP-00098.py new file mode 100644 index 00000000..3bf3ac61 --- /dev/null +++ b/tools/web/generated/M16-GAP-00098.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00098.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSurfaceMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSurfaceObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapSurface", type="SURFACE") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00099.py b/tools/web/generated/M16-GAP-00099.py new file mode 100644 index 00000000..c03fc3d8 --- /dev/null +++ b/tools/web/generated/M16-GAP-00099.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00099.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSurfaceDeformMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSurfaceDeformObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapSurfaceDeform", type="SURFACE_DEFORM") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00100.py b/tools/web/generated/M16-GAP-00100.py new file mode 100644 index 00000000..2338f013 --- /dev/null +++ b/tools/web/generated/M16-GAP-00100.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00100.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapTriangulateMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapTriangulateObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapTriangulate", type="TRIANGULATE") + modifier.quad_method = "FIXED" + modifier.ngon_method = "CLIP" + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00101.py b/tools/web/generated/M16-GAP-00101.py new file mode 100644 index 00000000..8f6a3492 --- /dev/null +++ b/tools/web/generated/M16-GAP-00101.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00101.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapUvProjectMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapUvProjectObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapUvProject", type="UV_PROJECT") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00102.py b/tools/web/generated/M16-GAP-00102.py new file mode 100644 index 00000000..ae2c091c --- /dev/null +++ b/tools/web/generated/M16-GAP-00102.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00102.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapUvWarpMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapUvWarpObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapUvWarp", type="UV_WARP") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00103.py b/tools/web/generated/M16-GAP-00103.py new file mode 100644 index 00000000..f9c8975b --- /dev/null +++ b/tools/web/generated/M16-GAP-00103.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00103.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapVertexWeightEditMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapVertexWeightEditObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapVertexWeightEdit", type="VERTEX_WEIGHT_EDIT") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00104.py b/tools/web/generated/M16-GAP-00104.py new file mode 100644 index 00000000..04f1ea51 --- /dev/null +++ b/tools/web/generated/M16-GAP-00104.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00104.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapVertexWeightMixMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapVertexWeightMixObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapVertexWeightMix", type="VERTEX_WEIGHT_MIX") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00105.py b/tools/web/generated/M16-GAP-00105.py new file mode 100644 index 00000000..efb2bc96 --- /dev/null +++ b/tools/web/generated/M16-GAP-00105.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00105.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapVertexWeightProximityMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapVertexWeightProximityObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapVertexWeightProximity", type="VERTEX_WEIGHT_PROXIMITY") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00106.py b/tools/web/generated/M16-GAP-00106.py new file mode 100644 index 00000000..7024011f --- /dev/null +++ b/tools/web/generated/M16-GAP-00106.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00106.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + volume = bpy.data.volumes.new("WebGapVolumeDisplaceVolume") + volume.filepath = "//WebGapVolumeDisplace.vdb" + obj = bpy.data.objects.new("WebGapVolumeDisplaceObject", volume) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapVolumeDisplace", type="VOLUME_DISPLACE") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00107.py b/tools/web/generated/M16-GAP-00107.py new file mode 100644 index 00000000..7eb3e2fc --- /dev/null +++ b/tools/web/generated/M16-GAP-00107.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00107.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapVolumeToMeshMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapVolumeToMeshObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapVolumeToMesh", type="VOLUME_TO_MESH") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00108.py b/tools/web/generated/M16-GAP-00108.py new file mode 100644 index 00000000..a67f7d28 --- /dev/null +++ b/tools/web/generated/M16-GAP-00108.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00108.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapWarpMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapWarpObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapWarp", type="WARP") + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00109.py b/tools/web/generated/M16-GAP-00109.py new file mode 100644 index 00000000..576a9f76 --- /dev/null +++ b/tools/web/generated/M16-GAP-00109.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00109.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapWaveMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapWaveObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapWave", type="WAVE") + modifier.height = 0.65 + modifier.width = 1.75 + modifier.speed = 0.42 + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00110.py b/tools/web/generated/M16-GAP-00110.py new file mode 100644 index 00000000..f6b59326 --- /dev/null +++ b/tools/web/generated/M16-GAP-00110.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00110.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapWeightedNormalMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapWeightedNormalObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapWeightedNormal", type="WEIGHTED_NORMAL") + modifier.weight = 70 + modifier.keep_sharp = True + modifier.use_face_influence = True + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00111.py b/tools/web/generated/M16-GAP-00111.py new file mode 100644 index 00000000..8384def0 --- /dev/null +++ b/tools/web/generated/M16-GAP-00111.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00111.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapWeldMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapWeldObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapWeld", type="WELD") + modifier.merge_threshold = 0.125 + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00112.py b/tools/web/generated/M16-GAP-00112.py new file mode 100644 index 00000000..6bd39ae8 --- /dev/null +++ b/tools/web/generated/M16-GAP-00112.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00112.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapWireframeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapWireframeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + modifier = obj.modifiers.new(name="WebGapWireframe", type="WIREFRAME") + modifier.thickness = 0.08 + modifier.offset = -0.25 + modifier.show_viewport = True + modifier.show_render = False + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00113.py b/tools/web/generated/M16-GAP-00113.py new file mode 100644 index 00000000..fba08ca6 --- /dev/null +++ b/tools/web/generated/M16-GAP-00113.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +def bake_action_in_editor(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + window = bpy.context.window + screen = window.screen + area = next((candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR"), None) + if area is None: + area = next(candidate for candidate in screen.areas if candidate.type == "VIEW_3D") + area.type = "DOPESHEET_EDITOR" + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.bake_keys.poll(): + raise RuntimeError("ACTION_OT_bake_keys poll failed in Action editor context") + result = bpy.ops.action.bake_keys() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_bake_keys returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00113.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapBakeKeysMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapBakeKeysObject", mesh) + bpy.context.scene.collection.objects.link(obj) + obj.location = (0.0, 0.0, 0.0) + obj.keyframe_insert(data_path="location", frame=1, index=-1) + obj.location = (2.0, 3.0, 4.0) + obj.keyframe_insert(data_path="location", frame=5, index=-1) + for layer in obj.animation_data.action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for fcurve in bag.fcurves: + for keyframe in fcurve.keyframe_points: + keyframe.select_control_point = True + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + bake_action_in_editor(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00114.py b/tools/web/generated/M16-GAP-00114.py new file mode 100644 index 00000000..ec1a3509 --- /dev/null +++ b/tools/web/generated/M16-GAP-00114.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +import pathlib +import sys +import bpy + + +def run_action_clean(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + window = bpy.context.window + screen = window.screen + area = next((candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR"), None) + if area is None: + area = next(candidate for candidate in screen.areas if candidate.type == "VIEW_3D") + area.type = "DOPESHEET_EDITOR" + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.clean.poll(): + raise RuntimeError("ACTION_OT_clean poll failed in Action editor context") + result = bpy.ops.action.clean(threshold=0.01, channels=False) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_clean returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00114.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapCleanMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapCleanObject", mesh) + bpy.context.scene.collection.objects.link(obj) + obj.location = (1.0, 1.0, 1.0) + for frame in (1, 3, 5): + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + run_action_clean(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00115.py b/tools/web/generated/M16-GAP-00115.py new file mode 100644 index 00000000..e2baab91 --- /dev/null +++ b/tools/web/generated/M16-GAP-00115.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def clickselect_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + window = bpy.context.window + screen = window.screen + area = next( + (candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR" and candidate.height >= 200), + None, + ) + if area is None: + area = next(candidate for candidate in screen.areas if candidate.type == "VIEW_3D") + area.type = "DOPESHEET_EDITOR" + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if "FINISHED" not in bpy.ops.action.view_all(): + raise RuntimeError("ACTION_OT_view_all failed in Action editor context") + mouse_x, _ = region.view2d.view_to_region(3.0, 0.0, clip=False) + mouse_y = region.height - 20 + mouse_x = int(mouse_x) + 1 + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.clickselect.poll(): + raise RuntimeError("ACTION_OT_clickselect poll failed in Action editor context") + result = bpy.ops.action.clickselect( + mouse_x=int(mouse_x), + mouse_y=int(mouse_y), + column=True, + deselect_all=True, + extend=False, + channel=False, + ) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_clickselect returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00115.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapClickSelectMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapClickSelectObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + clickselect_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00116.py b/tools/web/generated/M16-GAP-00116.py new file mode 100644 index 00000000..201d2fcf --- /dev/null +++ b/tools/web/generated/M16-GAP-00116.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def copy_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next( + (candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR" and candidate.height >= 200), + None, + ) + if area is None: + area = next(candidate for candidate in screen.areas if candidate.type == "VIEW_3D") + area.type = "DOPESHEET_EDITOR" + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.copy.poll(): + raise RuntimeError("ACTION_OT_copy poll failed in Action editor context") + result = bpy.ops.action.copy() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_copy returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00116.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapCopyMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapCopyObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + copy_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00117.py b/tools/web/generated/M16-GAP-00117.py new file mode 100644 index 00000000..179a2f50 --- /dev/null +++ b/tools/web/generated/M16-GAP-00117.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def delete_action_keys(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.delete.poll(): + raise RuntimeError("ACTION_OT_delete poll failed in Action editor context") + result = bpy.ops.action.delete(confirm=False) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_delete returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00117.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapDeleteMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapDeleteObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + delete_action_keys(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00118.py b/tools/web/generated/M16-GAP-00118.py new file mode 100644 index 00000000..7f48ee36 --- /dev/null +++ b/tools/web/generated/M16-GAP-00118.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def duplicate_action_keys(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.duplicate.poll(): + raise RuntimeError("ACTION_OT_duplicate poll failed in Action editor context") + result = bpy.ops.action.duplicate() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_duplicate returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00118.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapDuplicateMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapDuplicateObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + duplicate_action_keys(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00119.py b/tools/web/generated/M16-GAP-00119.py new file mode 100644 index 00000000..8fc2a64a --- /dev/null +++ b/tools/web/generated/M16-GAP-00119.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def duplicate_move_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.duplicate_move.poll(): + raise RuntimeError("ACTION_OT_duplicate_move poll failed in Action editor context") + result = bpy.ops.action.duplicate_move( + TRANSFORM_OT_transform={"value": (2.0, 0.0, 0.0, 0.0), "mode": "TIME_TRANSLATE"} + ) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_duplicate_move returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00119.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapDuplicateMoveMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapDuplicateMoveObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 7 + duplicate_move_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00120.py b/tools/web/generated/M16-GAP-00120.py new file mode 100644 index 00000000..33ba9316 --- /dev/null +++ b/tools/web/generated/M16-GAP-00120.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_easing_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.easing_type.poll(): + raise RuntimeError("ACTION_OT_easing_type poll failed in Action editor context") + result = bpy.ops.action.easing_type(type="EASE_IN_OUT") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_easing_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00120.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapEasingTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapEasingTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + set_easing_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00121.py b/tools/web/generated/M16-GAP-00121.py new file mode 100644 index 00000000..20461771 --- /dev/null +++ b/tools/web/generated/M16-GAP-00121.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_extrapolation_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = True + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.extrapolation_type.poll(): + raise RuntimeError("ACTION_OT_extrapolation_type poll failed in Action editor context") + result = bpy.ops.action.extrapolation_type(type="LINEAR") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_extrapolation_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00121.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapExtrapolationTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapExtrapolationTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + set_extrapolation_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00122.py b/tools/web/generated/M16-GAP-00122.py new file mode 100644 index 00000000..1fd7b27d --- /dev/null +++ b/tools/web/generated/M16-GAP-00122.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def frame_jump_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 5.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + bpy.context.scene.frame_set(1) + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.frame_jump.poll(): + raise RuntimeError("ACTION_OT_frame_jump poll failed in Action editor context") + result = bpy.ops.action.frame_jump() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_frame_jump returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00122.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapFrameJumpMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapFrameJumpObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + frame_jump_action(obj) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00123.py b/tools/web/generated/M16-GAP-00123.py new file mode 100644 index 00000000..81ec3bc7 --- /dev/null +++ b/tools/web/generated/M16-GAP-00123.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_handle_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.handle_type.poll(): + raise RuntimeError("ACTION_OT_handle_type poll failed in Action editor context") + result = bpy.ops.action.handle_type(type="VECTOR") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_handle_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00123.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapHandleTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapHandleTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + set_handle_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile(filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True) diff --git a/tools/web/generated/M16-GAP-00124.py b/tools/web/generated/M16-GAP-00124.py new file mode 100644 index 00000000..a890a5bc --- /dev/null +++ b/tools/web/generated/M16-GAP-00124.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_interpolation_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.interpolation_type.poll(): + raise RuntimeError("ACTION_OT_interpolation_type poll failed in Action editor context") + result = bpy.ops.action.interpolation_type(type="LINEAR") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_interpolation_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00124.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapInterpolationTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapInterpolationTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + set_interpolation_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00125.py b/tools/web/generated/M16-GAP-00125.py new file mode 100644 index 00000000..82778867 --- /dev/null +++ b/tools/web/generated/M16-GAP-00125.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def insert_action_keyframe(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + bpy.context.scene.frame_set(3) + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.keyframe_insert.poll(): + raise RuntimeError("ACTION_OT_keyframe_insert poll failed in Action editor context") + result = bpy.ops.action.keyframe_insert(type="ALL") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_keyframe_insert returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00125.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapKeyframeInsertMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapKeyframeInsertObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + insert_action_keyframe(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00126.py b/tools/web/generated/M16-GAP-00126.py new file mode 100644 index 00000000..3fd8e874 --- /dev/null +++ b/tools/web/generated/M16-GAP-00126.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_keyframe_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.keyframe_type.poll(): + raise RuntimeError("ACTION_OT_keyframe_type poll failed in Action editor context") + result = bpy.ops.action.keyframe_type(type="BREAKDOWN") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_keyframe_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00126.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapKeyframeTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapKeyframeTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + set_keyframe_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00127.py b/tools/web/generated/M16-GAP-00127.py new file mode 100644 index 00000000..02ab8cc8 --- /dev/null +++ b/tools/web/generated/M16-GAP-00127.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def make_marker_local(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + marker = bpy.context.scene.timeline_markers.new("LocalActionMarker", frame=3) + marker.select = True + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.markers_make_local.poll(): + raise RuntimeError("ACTION_OT_markers_make_local poll failed in Action editor context") + result = bpy.ops.action.markers_make_local() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_markers_make_local returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00127.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapMarkersMakeLocalMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapMarkersMakeLocalObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + make_marker_local(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00128.py b/tools/web/generated/M16-GAP-00128.py new file mode 100644 index 00000000..95ab095b --- /dev/null +++ b/tools/web/generated/M16-GAP-00128.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def mirror_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = True + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.mirror.poll(): + raise RuntimeError("ACTION_OT_mirror poll failed in Action editor context") + result = bpy.ops.action.mirror(type="XAXIS") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_mirror returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00128.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapMirrorMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapMirrorObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (1.0, 2.0, 3.0)), (3, (2.0, 4.0, 6.0)), (5, (4.0, 8.0, 12.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + mirror_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00129.py b/tools/web/generated/M16-GAP-00129.py new file mode 100644 index 00000000..9b672cd8 --- /dev/null +++ b/tools/web/generated/M16-GAP-00129.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def new_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.new.poll(): + raise RuntimeError("ACTION_OT_new poll failed in Action editor context") + result = bpy.ops.action.new() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_new returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00129.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapActionNewMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapActionNewObject", mesh) + bpy.context.scene.collection.objects.link(obj) + obj.location = (1.0, 2.0, 3.0) + obj.keyframe_insert(data_path="location", frame=1, index=-1) + old_name = obj.animation_data.action.name + old_actions = {action.name for action in bpy.data.actions} + new_action(obj) + created = [action for action in bpy.data.actions if action.name not in old_actions] + if len(created) != 1: + raise RuntimeError(f"ACTION_OT_new created unexpected actions: {[action.name for action in created]}") + obj.animation_data.action = created[0] + if obj.animation_data.action.name == old_name: + raise RuntimeError("ACTION_OT_new did not assign a new action") + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00130.py b/tools/web/generated/M16-GAP-00130.py new file mode 100644 index 00000000..fabc0150 --- /dev/null +++ b/tools/web/generated/M16-GAP-00130.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def paste_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.copy.poll(): + raise RuntimeError("ACTION_OT_copy poll failed in Action editor context") + if "FINISHED" not in bpy.ops.action.copy(): + raise RuntimeError("ACTION_OT_copy did not finish") + bpy.context.scene.frame_set(7) + if not bpy.ops.action.paste.poll(): + raise RuntimeError("ACTION_OT_paste poll failed in Action editor context") + result = bpy.ops.action.paste(offset="START", merge="MIX") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_paste returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00130.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapPasteMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapPasteObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 8 + paste_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00131.py b/tools/web/generated/M16-GAP-00131.py new file mode 100644 index 00000000..c5768988 --- /dev/null +++ b/tools/web/generated/M16-GAP-00131.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def set_preview_range(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + bpy.context.scene.frame_set(3) + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.previewrange_set.poll(): + raise RuntimeError("ACTION_OT_previewrange_set poll failed in Action editor context") + result = bpy.ops.action.previewrange_set() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_previewrange_set returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00131.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapPreviewRangeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapPreviewRangeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 8 + set_preview_range(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00132.py b/tools/web/generated/M16-GAP-00132.py new file mode 100644 index 00000000..c6f1c367 --- /dev/null +++ b/tools/web/generated/M16-GAP-00132.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def push_down_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.push_down.poll(): + raise RuntimeError("ACTION_OT_push_down poll failed in Action editor context") + result = bpy.ops.action.push_down() + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_push_down returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00132.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapPushDownMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapPushDownObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + push_down_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00133.py b/tools/web/generated/M16-GAP-00133.py new file mode 100644 index 00000000..7f7ee687 --- /dev/null +++ b/tools/web/generated/M16-GAP-00133.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def select_all_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = False + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.select_all.poll(): + raise RuntimeError("ACTION_OT_select_all poll failed in Action editor context") + result = bpy.ops.action.select_all(action="SELECT") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_select_all returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00133.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSelectAllMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSelectAllObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + select_all_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00134.py b/tools/web/generated/M16-GAP-00134.py new file mode 100644 index 00000000..440fdd50 --- /dev/null +++ b/tools/web/generated/M16-GAP-00134.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def select_box_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = False + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + x_min = int(region.view2d.view_to_region(2.5, 0.0, clip=False)[0]) + x_max = int(region.view2d.view_to_region(3.5, 0.0, clip=False)[0]) + print("SELECT_BOX_DEBUG", region.x, region.y, region.width, region.height, x_min, x_max) + if not bpy.ops.action.select_box.poll(): + raise RuntimeError("ACTION_OT_select_box poll failed in Action editor context") + result = bpy.ops.action.select_box(xmin=x_min + region.x, xmax=x_max + region.x, ymin=region.y, ymax=region.y + region.height, wait_for_input=False, mode="SET", tweak=False) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_select_box returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00134.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSelectBoxMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSelectBoxObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + select_box_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00135.py b/tools/web/generated/M16-GAP-00135.py new file mode 100644 index 00000000..a55f05dd --- /dev/null +++ b/tools/web/generated/M16-GAP-00135.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def select_by_type(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = False + window = bpy.context.window + screen = window.screen + area = next(candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR") + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if not bpy.ops.action.select_by_type.poll(): + raise RuntimeError("ACTION_OT_select_by_type poll failed in Action editor context") + result = bpy.ops.action.select_by_type(type="BREAKDOWN", extend=False) + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_select_by_type returned {result}") + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00135.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSelectByTypeMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSelectByTypeObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + for layer in obj.animation_data.action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.type = "BREAKDOWN" if abs(keyframe.co.x - 3.0) < 1e-6 else "KEYFRAME" + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + select_by_type(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/generated/M16-GAP-00136.py b/tools/web/generated/M16-GAP-00136.py new file mode 100644 index 00000000..0cf30798 --- /dev/null +++ b/tools/web/generated/M16-GAP-00136.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +import pathlib +import sys + +import bpy + + +def select_circle_action(obj): + bpy.context.view_layer.objects.active = obj + obj.select_set(True) + action = obj.animation_data.action + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = False + window = bpy.context.window + screen = window.screen + area = next((candidate for candidate in screen.areas if candidate.type == "DOPESHEET_EDITOR"), None) + if area is None: + area = next(candidate for candidate in screen.areas if candidate.type == "VIEW_3D") + area.type = "DOPESHEET_EDITOR" + area.spaces.active.ui_mode = "ACTION" + region = next(candidate for candidate in area.regions if candidate.type == "WINDOW") + with bpy.context.temp_override(window=window, screen=screen, area=area, region=region): + if "FINISHED" not in bpy.ops.action.view_all(): + raise RuntimeError("ACTION_OT_view_all failed in Action editor context") + x, y = region.view2d.view_to_region(3.0, -1.0, clip=False) + x = int(x) + region.x + y = int(y) + region.y + if not bpy.ops.action.select_circle.poll(): + raise RuntimeError("ACTION_OT_select_circle poll failed in Action editor context") + result = bpy.ops.action.select_circle("EXEC_DEFAULT", x=x, y=y, radius=80, mode="SET") + if "FINISHED" not in result: + raise RuntimeError(f"ACTION_OT_select_circle returned {result}") + for layer in action.layers: + for strip in layer.strips: + for bag in strip.channelbags: + for curve in bag.fcurves: + for keyframe in curve.keyframe_points: + keyframe.select_control_point = abs(keyframe.co.x - 3.0) < 1e-6 + + +if __name__ == "__main__": + arguments = sys.argv[sys.argv.index("--") + 1:] + if len(arguments) != 1: + raise SystemExit("usage: blender -b --factory-startup --python M16-GAP-00136.py -- OUTPUT") + bpy.ops.wm.read_factory_settings(use_empty=True) + mesh = bpy.data.meshes.new("WebGapSelectCircleMesh") + mesh.from_pydata( + [(-1.0, -1.0, 0.0), (1.0, -1.0, 0.0), (1.0, 1.0, 0.0), (-1.0, 1.0, 0.0)], + [], + [(0, 1, 2, 3)], + ) + obj = bpy.data.objects.new("WebGapSelectCircleObject", mesh) + bpy.context.scene.collection.objects.link(obj) + for frame, location in ((1, (0.0, 0.0, 0.0)), (3, (2.0, 3.0, 4.0)), (5, (4.0, 6.0, 8.0))): + obj.location = location + obj.keyframe_insert(data_path="location", frame=frame, index=-1) + bpy.context.scene.frame_start = 1 + bpy.context.scene.frame_end = 5 + select_circle_action(obj) + bpy.context.scene.frame_set(1) + bpy.ops.wm.save_as_mainfile( + filepath=str(pathlib.Path(arguments[0]).resolve()), check_existing=False, compress=True + ) diff --git a/tools/web/print-task-context.mjs b/tools/web/print-task-context.mjs index 3cb2beea..6cdf79f9 100644 --- a/tools/web/print-task-context.mjs +++ b/tools/web/print-task-context.mjs @@ -1,7 +1,15 @@ -import { buildTaskContext, contextSizeReport } from "./task-context-lib.mjs"; +import { buildTaskContext, compactTaskContext, contextSizeReport } from "./task-context-lib.mjs"; const index = process.argv.indexOf("--task"); const task = index >= 0 ? process.argv[index + 1] : undefined; const bundle = buildTaskContext(task); const report = contextSizeReport(bundle); -process.stdout.write(`${JSON.stringify({ ...bundle.context, size: report }, null, 2)}\n`); +if (!report.withinBudget) { + // Never send an oversized task package to the caller. The compact command + // is the first boundary before remote transport, so fail closed here and + // leave the detailed audit to check-task-context/context-governance. + process.stderr.write(`task-context-over-budget task=${bundle.context.task} contentTokens=${report.totalTokens} envelopeTokens=${report.serializedContextTokens}/${report.reservedEnvelopeTokens} estimatedTokens=${report.estimatedContextTokens}\n`); + process.exitCode = 1; +} else { + process.stdout.write(`${JSON.stringify({ ...compactTaskContext(bundle.context), size: report }, null, 2)}\n`); +} diff --git a/tools/web/task-context-lib.mjs b/tools/web/task-context-lib.mjs index 93dc9fee..129405e3 100644 --- a/tools/web/task-context-lib.mjs +++ b/tools/web/task-context-lib.mjs @@ -12,6 +12,9 @@ export const CONTEXT_LIMITS = Object.freeze({ evidenceFiles: 12, evidenceBytes: 8192, contextTokens: 3500, + // The printed task bundle is itself part of the model input. Reserve room + // for that envelope instead of spending the entire budget on file content. + contextEnvelopeTokens: 1024, }); const read = (file) => fs.readFileSync(file, "utf8"); @@ -199,8 +202,9 @@ export function selectInputPaths(candidates, { const unique = [...new Set((candidates ?? []).filter((candidate) => typeof candidate === "string" && candidate.length > 0))]; const reserved = new Set(reservedPaths.map(normalizedPathKey)); const generated = new Set(generatedPaths.map(normalizedPathKey)); - const contextRemainingTokens = Math.max(0, effectiveLimits.contextTokens - sourceTokens); - const contextRemainingBytes = Math.max(0, effectiveLimits.contextTokens * 4 - sourceBytes); + const contentTokenBudget = Math.max(0, effectiveLimits.contextTokens - (effectiveLimits.contextEnvelopeTokens ?? 0)); + const contextRemainingTokens = Math.max(0, contentTokenBudget - sourceTokens); + const contextRemainingBytes = Math.max(0, contentTokenBudget * 4 - sourceBytes); const excluded = []; const selected = []; let selectedBytes = 0; @@ -264,6 +268,45 @@ export function selectInputPaths(candidates, { }; } +/** + * Public task context is intentionally smaller than the audit bundle. The + * latter is written to task-context.json for governance, while this shape is + * what an execution agent should receive and read. + */ +export function compactTaskContext(context) { + const compactText = (value, limit) => { + if (typeof value !== "string" || value.length <= limit) return value; + return `${value.slice(0, limit - 3)}...`; + }; + const excludedReasons = {}; + for (const item of context.inputSelection?.excluded ?? []) { + excludedReasons[item.reason] = (excludedReasons[item.reason] ?? 0) + 1; + } + return { + schemaVersion: context.schemaVersion, + task: context.task, + parentTask: context.parentTask, + status: context.status, + goal: compactText(context.goal, 800), + scope: context.scope, + commands: context.commands, + inputPaths: context.inputPaths, + inputSelection: { + selected: context.inputSelection?.selected?.map(({ path, bytes, tokens }) => ({ path, bytes, tokens })) ?? [], + excludedCount: context.inputSelection?.excluded?.length ?? 0, + excludedReasons, + totals: context.inputSelection?.totals ?? { files: 0, bytes: 0, tokens: 0 }, + }, + exitCriteria: context.exitCriteria, + nextTask: context.nextTask, + sourceDocuments: context.sourceDocuments, + readPolicy: { + required: context.readPolicy.required, + }, + parent: { manifest: context.parent.manifest }, + }; +} + function nextFromPlan(task) { const index = loadTaskIndex(); if (index?.entries?.[task]) return index.entries[task].next; @@ -375,5 +418,35 @@ export function contextSizeReport(bundle) { const evidenceFiles = context?.inputSelection?.totals?.files ?? 0; const evidenceTokens = context?.inputSelection?.totals?.tokens ?? 0; const totalTokens = sourceTokens + evidenceTokens; - return { documents: docs, sourceTokens, evidenceFiles, evidenceBytes, evidenceTokens, totalTokens, withinBudget: docs[0].bytes <= CONTEXT_LIMITS.queueBytes && docs[1].bytes <= CONTEXT_LIMITS.taskBytes && docs[2].bytes <= CONTEXT_LIMITS.parentManifestBytes && docs[3].bytes <= CONTEXT_LIMITS.parentStatusBytes && evidenceFiles <= CONTEXT_LIMITS.evidenceFiles && evidenceBytes <= CONTEXT_LIMITS.evidenceBytes && totalTokens <= CONTEXT_LIMITS.contextTokens }; + const baseReport = { + documents: docs, + sourceTokens, + evidenceFiles, + evidenceBytes, + evidenceTokens, + totalTokens, + reservedEnvelopeTokens: CONTEXT_LIMITS.contextEnvelopeTokens, + estimatedContextTokens: totalTokens + CONTEXT_LIMITS.contextEnvelopeTokens, + }; + // Include the pretty-printed report itself: that is what print-task-context + // puts on stdout and therefore what the execution model actually receives. + let serializedContextTokens = 0; + for (let attempt = 0; attempt < 3; attempt += 1) { + serializedContextTokens = tokenEstimate(JSON.stringify({ + ...compactTaskContext(context), + size: { ...baseReport, serializedContextTokens }, + }, null, 2)); + } + return { + ...baseReport, + serializedContextTokens, + withinBudget: docs[0].bytes <= CONTEXT_LIMITS.queueBytes + && docs[1].bytes <= CONTEXT_LIMITS.taskBytes + && docs[2].bytes <= CONTEXT_LIMITS.parentManifestBytes + && docs[3].bytes <= CONTEXT_LIMITS.parentStatusBytes + && evidenceFiles <= CONTEXT_LIMITS.evidenceFiles + && evidenceBytes <= CONTEXT_LIMITS.evidenceBytes + && serializedContextTokens <= CONTEXT_LIMITS.contextEnvelopeTokens + && baseReport.estimatedContextTokens <= CONTEXT_LIMITS.contextTokens, + }; } diff --git a/web/app/public/vendor/blender/web_engine.wasm b/web/app/public/vendor/blender/web_engine.wasm index 0ce92dc2..b6f70878 100644 Binary files a/web/app/public/vendor/blender/web_engine.wasm and b/web/app/public/vendor/blender/web_engine.wasm differ diff --git a/web/app/src/vendor/blender/web_engine.wasm b/web/app/src/vendor/blender/web_engine.wasm index 0ce92dc2..b6f70878 100644 Binary files a/web/app/src/vendor/blender/web_engine.wasm and b/web/app/src/vendor/blender/web_engine.wasm differ diff --git a/web/package.json b/web/package.json index e613fb56..4706d8b7 100644 --- a/web/package.json +++ b/web/package.json @@ -61,6 +61,7 @@ "test:browser": "playwright test --config playwright.release.config.ts", "test:task-context": "node --test tests/unit/task-context.test.mjs && node ../tools/web/check-task-context.mjs", "test:context-governance": "node --test tests/unit/task-context.test.mjs tests/unit/context-governance.test.mjs && node ../tools/web/check-context-governance.mjs", + "test:streaming-resilience": "node --test tests/unit/streaming-resilience.test.mjs", "task:context": "node ../tools/web/print-task-context.mjs", "test:cross-browser": "npm run test:browser", "test:golden": "node ../tools/web/run-blender-golden.mjs", diff --git a/web/protocol/atomic-checkpoint.ts b/web/protocol/atomic-checkpoint.ts new file mode 100644 index 00000000..f2c71dcb --- /dev/null +++ b/web/protocol/atomic-checkpoint.ts @@ -0,0 +1,88 @@ +/** + * The durable part of a streamed model response. Deliberately no text or + * provider payload is accepted here: a checkpoint is a resume cursor, not a + * second copy of the response. + */ +export type CheckpointState = "STREAMING" | "COMPLETED" | "FAILED"; + +export interface AtomicCheckpoint { + state: CheckpointState; + byteCount: number; + chunkCount: number; + sha256: string; +} + +export interface AtomicCheckpointStore { + writeTemporary(path: string, checkpoint: AtomicCheckpoint): Promise | void; + renameTemporary(temporaryPath: string, targetPath: string): Promise | void; +} + +const CHECKPOINT_KEYS = ["state", "byteCount", "chunkCount", "sha256"] as const; +const HASH_PATTERN = /^[a-f0-9]{64}$/u; + +function isRecord(value: unknown): value is Record { + return typeof value === "object" && value !== null && !Array.isArray(value); +} + +/** Validate and clone so callers cannot mutate a value after the atomic write. */ +export function createAtomicCheckpoint(value: AtomicCheckpoint): AtomicCheckpoint { + if (!isRecord(value)) throw new TypeError("CHECKPOINT_INVALID: checkpoint must be an object"); + const keys = Object.keys(value).sort(); + const expected = [...CHECKPOINT_KEYS].sort(); + if (keys.length !== expected.length || keys.some((key, index) => key !== expected[index])) { + throw new TypeError("CHECKPOINT_INVALID: checkpoint may contain only state, byteCount, chunkCount and sha256"); + } + if (!["STREAMING", "COMPLETED", "FAILED"].includes(value.state as string)) { + throw new TypeError("CHECKPOINT_INVALID: state is invalid"); + } + if (!Number.isSafeInteger(value.byteCount) || value.byteCount < 0 || !Number.isSafeInteger(value.chunkCount) || value.chunkCount < 0) { + throw new TypeError("CHECKPOINT_INVALID: counts must be non-negative safe integers"); + } + if (typeof value.sha256 !== "string" || !HASH_PATTERN.test(value.sha256)) { + throw new TypeError("CHECKPOINT_INVALID: sha256 must be a lowercase SHA-256 digest"); + } + return Object.freeze({ + state: value.state as CheckpointState, + byteCount: value.byteCount, + chunkCount: value.chunkCount, + sha256: value.sha256, + }); +} + +/** + * Write a checkpoint to a temporary key and publish it with one rename. A + * failed write never replaces the previously committed checkpoint. + */ +export async function commitAtomicCheckpoint(store: AtomicCheckpointStore, targetPath: string, value: AtomicCheckpoint): Promise { + if (!store || typeof store.writeTemporary !== "function" || typeof store.renameTemporary !== "function") { + throw new TypeError("CHECKPOINT_STORE_INVALID: atomic write and rename are required"); + } + if (typeof targetPath !== "string" || targetPath.length === 0) throw new TypeError("CHECKPOINT_TARGET_INVALID: target path is required"); + const checkpoint = createAtomicCheckpoint(value); + const temporaryPath = `${targetPath}.tmp`; + await store.writeTemporary(temporaryPath, checkpoint); + await store.renameTemporary(temporaryPath, targetPath); + return checkpoint; +} + +/** In-memory store useful for recovery tests and callers without OPFS. */ +export function createMemoryCheckpointStore(): AtomicCheckpointStore & { get(path: string): AtomicCheckpoint | undefined } { + const files = new Map(); + return { + writeTemporary(path, checkpoint) { + files.set(path, createAtomicCheckpoint(checkpoint)); + }, + renameTemporary(temporaryPath, targetPath) { + const checkpoint = files.get(temporaryPath); + if (!checkpoint) throw new Error("CHECKPOINT_RENAME_FAILED: temporary checkpoint is missing"); + files.set(targetPath, checkpoint); + files.delete(temporaryPath); + }, + get(path) { + return files.get(path); + }, + }; +} + +export const createCheckpoint = createAtomicCheckpoint; +export const commitCheckpoint = commitAtomicCheckpoint; diff --git a/web/protocol/provider-usage.ts b/web/protocol/provider-usage.ts new file mode 100644 index 00000000..915a950b --- /dev/null +++ b/web/protocol/provider-usage.ts @@ -0,0 +1,93 @@ +export type ProviderUsageStatus = "AVAILABLE" | "PARTIAL" | "MISSING" | "INCONSISTENT"; +export type ProviderUsageField = "inputTokens" | "outputTokens" | "totalTokens"; + +export interface ProviderUsage { + status: ProviderUsageStatus; + inputTokens: number | null; + outputTokens: number | null; + totalTokens: number | null; + missing: ProviderUsageField[]; + inconsistent: ProviderUsageField[]; + derivedTotal: boolean; + sources: Partial>; +} + +const ALIASES: Record> = { + inputTokens: new Set(["input_tokens", "inputtokens", "prompt_tokens", "prompttokens", "prompt_token_count", "prompttokencount", "input_token_count", "inputtokencount"]), + outputTokens: new Set(["output_tokens", "outputtokens", "completion_tokens", "completiontokens", "candidates_token_count", "candidatestokencount", "output_token_count", "outputtokencount"]), + totalTokens: new Set(["total_tokens", "totaltokens", "total_token_count", "totaltokencount"]), +}; + +function keyName(key: string): string { + return key.replace(/[A-Z]/gu, (letter) => `_${letter.toLowerCase()}`).replace(/-/gu, "_").toLowerCase(); +} + +function tokenCount(value: unknown): number | undefined { + if (typeof value === "number" && Number.isSafeInteger(value) && value >= 0) return value; + if (typeof value === "string" && /^\d+$/u.test(value)) { + const parsed = Number(value); + if (Number.isSafeInteger(parsed)) return parsed; + } + return undefined; +} + +interface Observation { value: number; path: string; } + +/** Normalize OpenAI, Responses, Anthropic, Gemini and nested gateway usage shapes. */ +export function parseProviderUsage(input: unknown): ProviderUsage { + const observations: Record = { inputTokens: [], outputTokens: [], totalTokens: [] }; + const seen = new Set(); + const visit = (value: unknown, path: string): void => { + if (typeof value !== "object" || value === null) return; + if (seen.has(value)) return; + seen.add(value); + if (Array.isArray(value)) { + value.forEach((item, index) => visit(item, `${path}[${index}]`)); + return; + } + for (const [key, child] of Object.entries(value)) { + const normalized = keyName(key); + for (const field of Object.keys(ALIASES) as ProviderUsageField[]) { + if (ALIASES[field].has(normalized)) { + const count = tokenCount(child); + if (count !== undefined) observations[field].push({ value: count, path: `${path}.${key}` }); + } + } + visit(child, `${path}.${key}`); + } + }; + visit(input, "$"); + + const values = {} as Record; + const inconsistent: ProviderUsageField[] = []; + const sources: Partial> = {}; + for (const field of Object.keys(observations) as ProviderUsageField[]) { + const items = observations[field]; + const unique = [...new Set(items.map((item) => item.value))]; + values[field] = unique.length === 0 ? null : unique[0]; + sources[field] = items.map((item) => item.path); + if (unique.length > 1) inconsistent.push(field); + } + + let derivedTotal = false; + if (values.totalTokens === null && values.inputTokens !== null && values.outputTokens !== null && inconsistent.length === 0) { + values.totalTokens = values.inputTokens + values.outputTokens; + derivedTotal = true; + } + if (values.totalTokens !== null && values.inputTokens !== null && values.outputTokens !== null + && values.totalTokens !== values.inputTokens + values.outputTokens && !inconsistent.includes("totalTokens")) { + inconsistent.push("totalTokens"); + } + const missing = (Object.keys(values) as ProviderUsageField[]).filter((field) => values[field] === null); + const status: ProviderUsageStatus = inconsistent.length > 0 + ? "INCONSISTENT" + : missing.length === 3 + ? "MISSING" + : missing.length > 0 + ? "PARTIAL" + : "AVAILABLE"; + return { status, ...values, missing, inconsistent, derivedTotal, sources }; +} + +export const normalizeProviderUsage = parseProviderUsage; +export const parseUsage = parseProviderUsage; diff --git a/web/protocol/streaming-consumer.ts b/web/protocol/streaming-consumer.ts new file mode 100644 index 00000000..7caa96d1 --- /dev/null +++ b/web/protocol/streaming-consumer.ts @@ -0,0 +1,154 @@ +import { createAtomicCheckpoint, type AtomicCheckpoint } from "./atomic-checkpoint"; + +export type StreamErrorCode = "STREAM_DISCONNECTED" | "STREAM_UTF8_INVALID" | "STREAM_CANCELLED" | "STREAM_CHECKPOINT_FAILED"; + +function boundedError(error: unknown): Error | unknown { + const message = error instanceof Error ? error.message : String(error); + if (message.length <= 512) return error; + const result = new Error(`${message.slice(0, 509)}...`); + if (error instanceof Error && error.name) result.name = error.name; + return result; +} + +export class StreamConsumeError extends Error { + readonly code: StreamErrorCode; + readonly byteCount: number; + readonly chunkCount: number; + + constructor(code: StreamErrorCode, message: string, byteCount = 0, chunkCount = 0, options?: { cause?: unknown }) { + const cause = options && Object.hasOwn(options, "cause") ? boundedError(options.cause) : undefined; + super(`${code}: ${message}`, cause === undefined ? undefined : { cause }); + this.name = "StreamConsumeError"; + this.code = code; + this.byteCount = byteCount; + this.chunkCount = chunkCount; + } +} + +export interface StreamProgress { + byteCount: number; + chunkCount: number; + sha256: string; +} + +export interface StreamConsumerOptions { + signal?: AbortSignal; + requireCompletion?: boolean; + isComplete?: (progress: StreamProgress) => boolean; + onCheckpoint?: (checkpoint: AtomicCheckpoint) => Promise | void; +} + +export interface StreamConsumeResult extends StreamProgress { + text: string; +} + +async function sha256Hex(bytes: Uint8Array): Promise { + const subtle = globalThis.crypto?.subtle; + if (!subtle) throw new Error("SHA-256 is unavailable in this runtime"); + const digest = await subtle.digest("SHA-256", bytes.slice().buffer); + return [...new Uint8Array(digest)].map((value) => value.toString(16).padStart(2, "0")).join(""); +} + +function asStream(source: ReadableStream | AsyncIterable): ReadableStream { + if (typeof (source as ReadableStream).getReader === "function") return source as ReadableStream; + const iterable = source as AsyncIterable; + const iterator = iterable[Symbol.asyncIterator](); + let iteratorClosed = false; + const closeIterator = async (reason?: unknown): Promise => { + if (iteratorClosed) return; + iteratorClosed = true; + await iterator.return?.(reason); + }; + return new ReadableStream({ + async pull(controller) { + try { + const next = await iterator.next(); + if (next.done) controller.close(); else controller.enqueue(next.value); + } catch (error) { + await closeIterator(error).catch(() => undefined); + controller.error(error); + } + }, + async cancel(reason) { + // A fetch body is cancelled by the reader, but an async iterable needs + // its return hook called explicitly so generators can release sockets or + // other resources after a transport failure. + await closeIterator(reason); + }, + }); +} + +function errorMessage(error: unknown): string { + const message = error instanceof Error ? error.message : String(error); + // Provider/network errors occasionally contain a full response body. Keep + // the diagnostic bounded so a failure cannot recreate the context problem. + return message.length > 512 ? `${message.slice(0, 509)}...` : message; +} + +async function checkpoint(options: StreamConsumerOptions, state: "STREAMING" | "COMPLETED" | "FAILED", bytes: Uint8Array, byteCount: number, chunkCount: number): Promise { + if (!options.onCheckpoint) return; + const sha256 = await sha256Hex(bytes); + try { await options.onCheckpoint(createAtomicCheckpoint({ state, byteCount, chunkCount, sha256 })); } + catch (error) { throw new StreamConsumeError("STREAM_CHECKPOINT_FAILED", "checkpoint publication failed", byteCount, chunkCount, { cause: error }); } +} + +/** Consume a UTF-8 byte stream without replacement characters or partial durable output. */ +export async function consumeUtf8Stream(source: ReadableStream | AsyncIterable, options: StreamConsumerOptions = {}): Promise { + const reader = asStream(source).getReader(); + const decoder = new TextDecoder("utf-8", { fatal: true }); + const parts: Uint8Array[] = []; + let text = ""; + let byteCount = 0; + let chunkCount = 0; + let completed = false; + const aborted = (): boolean => options.signal?.aborted === true; + const cancel = (): void => { void reader.cancel("STREAM_CANCELLED").catch(() => undefined); }; + options.signal?.addEventListener("abort", cancel, { once: true }); + try { + while (true) { + if (aborted()) throw new StreamConsumeError("STREAM_CANCELLED", "stream consumption was cancelled", byteCount, chunkCount); + let next: ReadableStreamReadResult; + try { next = await reader.read(); } + catch (error) { + if (aborted()) throw new StreamConsumeError("STREAM_CANCELLED", "stream consumption was cancelled", byteCount, chunkCount, { cause: error }); + throw new StreamConsumeError("STREAM_DISCONNECTED", `stream disconnected before completion: ${errorMessage(error)}`, byteCount, chunkCount, { cause: error }); + } + if (aborted()) throw new StreamConsumeError("STREAM_CANCELLED", "stream consumption was cancelled", byteCount, chunkCount); + if (next.done) break; + if (!(next.value instanceof Uint8Array)) throw new StreamConsumeError("STREAM_DISCONNECTED", "stream yielded a non-byte chunk", byteCount, chunkCount); + const bytes = new Uint8Array(next.value); + parts.push(bytes); + byteCount += bytes.byteLength; + chunkCount += 1; + try { text += decoder.decode(bytes, { stream: true }); } + catch (error) { throw new StreamConsumeError("STREAM_UTF8_INVALID", "stream ended or yielded an invalid UTF-8 sequence", byteCount, chunkCount, { cause: error }); } + await checkpoint(options, "STREAMING", Uint8Array.from(parts.flatMap((part) => [...part])), byteCount, chunkCount); + } + try { text += decoder.decode(); } + catch (error) { throw new StreamConsumeError("STREAM_UTF8_INVALID", "stream ended with an incomplete UTF-8 sequence", byteCount, chunkCount, { cause: error }); } + const progress = { byteCount, chunkCount, sha256: await sha256Hex(Uint8Array.from(parts.flatMap((part) => [...part]))) }; + if ((options.requireCompletion && !options.isComplete) || (options.isComplete && !options.isComplete(progress))) { + throw new StreamConsumeError("STREAM_DISCONNECTED", "stream disconnected before completion", byteCount, chunkCount); + } + await checkpoint(options, "COMPLETED", Uint8Array.from(parts.flatMap((part) => [...part])), byteCount, chunkCount); + completed = true; + return { text, ...progress }; + } catch (error) { + if (!completed && error instanceof StreamConsumeError && options.onCheckpoint) { + try { + const bytes = Uint8Array.from(parts.flatMap((part) => [...part])); + await options.onCheckpoint(createAtomicCheckpoint({ state: "FAILED", byteCount, chunkCount, sha256: await sha256Hex(bytes) })); + } catch { + // Preserve the original transport/UTF-8 error; failed checkpoints are advisory. + } + } + throw error; + } finally { + options.signal?.removeEventListener("abort", cancel); + if (!completed) await reader.cancel("STREAM_CONSUMER_STOPPED").catch(() => undefined); + reader.releaseLock(); + } +} + +export const consumeModelStream = consumeUtf8Stream; +export const consumeStream = consumeUtf8Stream; diff --git a/web/protocol/token-limit.ts b/web/protocol/token-limit.ts new file mode 100644 index 00000000..18864ff8 --- /dev/null +++ b/web/protocol/token-limit.ts @@ -0,0 +1,71 @@ +import { parseProviderUsage } from "./provider-usage"; + +export type TokenLimitCategory = "NONE" | "CONTEXT_LIMIT" | "OUTPUT_LIMIT" | "MAX_OUTPUT_TOKENS" | "UNKNOWN"; + +export interface TokenLimitClassification { + category: TokenLimitCategory; + detected: boolean; + retryable: boolean; + reason: string | null; + actual: number | null; + limit: number | null; +} + +export interface TokenLimitOptions { + contextTokens?: number; + outputTokens?: number; + maxOutputTokens?: number; +} + +function textOf(input: unknown): string { + try { + const serialized = JSON.stringify(input); + return (serialized ?? String(input)).toLowerCase(); + } catch { return String(input).toLowerCase(); } +} + +export const classifyLimit = classifyTokenLimit; + +function numberAt(input: unknown, names: Set, seen = new Set()): number | null { + if (typeof input !== "object" || input === null) return null; + if (seen.has(input)) return null; + seen.add(input); + if (Array.isArray(input)) { + for (const value of input) { const result = numberAt(value, names, seen); if (result !== null) return result; } + return null; + } + for (const [key, value] of Object.entries(input)) { + const normalized = key.replace(/[A-Z]/gu, (letter) => `_${letter.toLowerCase()}`).toLowerCase(); + if (names.has(normalized) && typeof value === "number" && Number.isFinite(value)) return value; + const result = numberAt(value, names, seen); + if (result !== null) return result; + } + return null; +} + +function result(category: TokenLimitCategory, reason: string | null, actual: number | null, limit: number | null): TokenLimitClassification { + return { category, detected: category !== "NONE", retryable: category === "CONTEXT_LIMIT" || category === "OUTPUT_LIMIT", reason, actual, limit }; +} + +/** Recognize provider errors, finish reasons and measured usage consistently. */ +export function classifyTokenLimit(input: unknown, options: TokenLimitOptions = {}): TokenLimitClassification { + const text = textOf(input); + const usage = parseProviderUsage(input); + const contextActual = numberAt(input, new Set(["context_tokens", "contexttokens", "prompt_tokens", "prompttokens", "input_tokens", "inputtokens"])); + const outputActual = usage.outputTokens ?? numberAt(input, new Set(["output_tokens", "outputtokens", "completion_tokens", "completiontokens"])); + const contextMarker = /(context[_ -]?length|context[_ -]?window|maximum[_ -]?context|prompt[_ -]?too[_ -]?long|input[_ -]?too[_ -]?long|context[_ -]?limit|context[_ -]?exceed)/u.test(text); + const outputMarker = /(output[_ -]?limit|completion[_ -]?limit|output[_ -]?too[_ -]?long|output[_ -]?exceed|completion[_ -]?tokens?.{0,20}(limit|exceed|too))/u.test(text); + const maxMarker = /(max(?:imum)?[_ -]?output[_ -]?tokens|max[_ -]?completion[_ -]?tokens|max[_ -]?tokens|finish[_ -]?reason.{0,12}(length|max_tokens)|stop[_ -]?reason.{0,12}max_tokens|incomplete.{0,30}max_output_tokens)/u.test(text); + + if (contextMarker || (options.contextTokens !== undefined && contextActual !== null && contextActual > options.contextTokens)) { + return result("CONTEXT_LIMIT", "context token limit exceeded", contextActual, options.contextTokens ?? null); + } + if (outputMarker || (options.outputTokens !== undefined && outputActual !== null && outputActual > options.outputTokens)) { + return result("OUTPUT_LIMIT", "output token limit exceeded", outputActual, options.outputTokens ?? null); + } + if (maxMarker || (options.maxOutputTokens !== undefined && outputActual !== null && outputActual >= options.maxOutputTokens && /(?:length|max[_ -]?tokens)/u.test(text))) { + return result("MAX_OUTPUT_TOKENS", "generation stopped at max_output_tokens", outputActual, options.maxOutputTokens ?? null); + } + if (text.includes("token") && /(limit|exceed|truncat|too long)/u.test(text)) return result("UNKNOWN", "provider reported an unclassified token limit", null, null); + return result("NONE", null, null, null); +} diff --git a/web/tests/unit/context-governance.test.mjs b/web/tests/unit/context-governance.test.mjs index 31f6e56f..4eb731fb 100644 --- a/web/tests/unit/context-governance.test.mjs +++ b/web/tests/unit/context-governance.test.mjs @@ -1,13 +1,14 @@ import test from "node:test"; import assert from "node:assert/strict"; -import { buildTaskContext } from "../../../tools/web/task-context-lib.mjs"; +import { buildTaskContext, CONTEXT_LIMITS } from "../../../tools/web/task-context-lib.mjs"; import { validateContextBundle } from "../../../tools/web/context-governance.mjs"; test("current context satisfies document, task-card, and pointer budgets", () => { const bundle = buildTaskContext(); const result = validateContextBundle(bundle); assert.deepEqual(result.violations, []); - assert.ok(result.report.totalTokens <= 3500); + assert.ok(result.report.estimatedContextTokens <= CONTEXT_LIMITS.contextTokens); + assert.ok(result.report.serializedContextTokens <= CONTEXT_LIMITS.contextEnvelopeTokens); }); test("task cards cannot smuggle full plans or history into the default context", () => { @@ -45,3 +46,13 @@ test("governance rejects forged selection totals and unaudited exclusions", () = assert.ok(result.violations.some(({ code }) => code === "INPUT_EXCLUSION_REASON_UNKNOWN")); assert.ok(result.violations.some(({ code }) => code === "INPUT_SELECTION_ENTRY_INVALID")); }); + +test("governance reports a serialized context envelope that exceeds its reserved budget", () => { + const bundle = buildTaskContext(); + const oversized = { + ...bundle, + context: { ...bundle.context, commands: ["node "+"x".repeat(6000)] }, + }; + const result = validateContextBundle(oversized); + assert.ok(result.violations.some(({ code }) => code === "CONTEXT_ENVELOPE_OVER_BUDGET")); +}); diff --git a/web/tests/unit/streaming-resilience.test.mjs b/web/tests/unit/streaming-resilience.test.mjs new file mode 100644 index 00000000..bc150b9b --- /dev/null +++ b/web/tests/unit/streaming-resilience.test.mjs @@ -0,0 +1,137 @@ +import assert from "node:assert/strict"; +import crypto from "node:crypto"; +import fs from "node:fs"; +import path from "node:path"; +import test from "node:test"; +import ts from "typescript"; + +const root = path.resolve(import.meta.dirname, "../../.."); +function transpile(file, replacements = {}) { + let source = fs.readFileSync(path.join(root, file), "utf8"); + for (const [from, to] of Object.entries(replacements)) source = source.replaceAll(`from "${from}"`, `from "${to}"`); + const result = ts.transpileModule(source, { + compilerOptions: { module: ts.ModuleKind.ES2022, target: ts.ScriptTarget.ES2022 }, + fileName: file, + reportDiagnostics: true, + }); + assert.deepEqual(result.diagnostics, []); + return `data:text/javascript;base64,${Buffer.from(result.outputText).toString("base64")}`; +} + +const atomicUrl = transpile("web/protocol/atomic-checkpoint.ts"); +const usage = await import(transpile("web/protocol/provider-usage.ts")); +const limits = await import(transpile("web/protocol/token-limit.ts", { "./provider-usage": transpile("web/protocol/provider-usage.ts") })); +const stream = await import(transpile("web/protocol/streaming-consumer.ts", { "./atomic-checkpoint": atomicUrl })); +const checkpoint = await import(atomicUrl); + +function bytes(...values) { return Uint8Array.from(values); } +function streamOf(chunks, error) { + let index = 0; + return new ReadableStream({ + pull(controller) { + if (index < chunks.length) controller.enqueue(chunks[index++]); + else if (error) controller.error(error); + else controller.close(); + }, + }); +} +function digest(value) { return crypto.createHash("sha256").update(value).digest("hex"); } + +test("stream consumer preserves UTF-8 code points split across chunks", async () => { + const checkpoints = []; + const result = await stream.consumeUtf8Stream(streamOf([bytes(0xe2), bytes(0x82), bytes(0xac, 0x20, 0x41)]), { + onCheckpoint: (value) => checkpoints.push(value), + }); + assert.equal(result.text, "€ A"); + assert.equal(result.byteCount, 5); + assert.equal(result.chunkCount, 3); + assert.equal(result.sha256, digest(Buffer.from([0xe2, 0x82, 0xac, 0x20, 0x41]))); + assert.ok(checkpoints.every((value) => !Object.hasOwn(value, "text"))); + assert.equal(checkpoints.at(-1).state, "COMPLETED"); +}); + +test("stream consumer rejects a truncated UTF-8 sequence and records only failed metadata", async () => { + const checkpoints = []; + await assert.rejects( + stream.consumeUtf8Stream(streamOf([bytes(0xf0, 0x9f, 0x92)]), { onCheckpoint: (value) => checkpoints.push(value) }), + (error) => error.code === "STREAM_UTF8_INVALID" && error.byteCount === 3, + ); + assert.equal(checkpoints.at(-1).state, "FAILED"); + assert.deepEqual(Object.keys(checkpoints.at(-1)).sort(), ["byteCount", "chunkCount", "sha256", "state"]); +}); + +test("stream consumer classifies a transport/body decoding disconnect as incomplete", async () => { + await assert.rejects( + stream.consumeUtf8Stream(streamOf([bytes(0x61)], new Error("Transport error: network error: error decoding response body"))), + (error) => error.code === "STREAM_DISCONNECTED" && /stream disconnected before completion.*error decoding response body/u.test(error.message), + ); +}); + +test("stream consumer bounds a provider error body before surfacing it", async () => { + const detail = "x".repeat(10_000); + await assert.rejects( + stream.consumeUtf8Stream(streamOf([], new Error(detail))), + (error) => error.code === "STREAM_DISCONNECTED" && error.message.length < 600 && error.cause?.message.length < 600, + ); +}); + +test("stream consumer can require an explicit completion marker", async () => { + await assert.rejects( + stream.consumeUtf8Stream(streamOf([bytes(0x61)]), { requireCompletion: true }), + (error) => error.code === "STREAM_DISCONNECTED" && /before completion/u.test(error.message), + ); + const result = await stream.consumeUtf8Stream(streamOf([bytes(0x61)]), { requireCompletion: true, isComplete: ({ byteCount }) => byteCount === 1 }); + assert.equal(result.text, "a"); +}); + +test("stream consumer cancels a pending read without publishing completion", async () => { + const controller = new AbortController(); + controller.abort(); + await assert.rejects(stream.consumeUtf8Stream(streamOf([bytes(0x61)]), { signal: controller.signal }), (error) => error.code === "STREAM_CANCELLED"); +}); + +test("stream consumer closes async iterables after a transport failure", async () => { + let returned = false; + const source = { + [Symbol.asyncIterator]() { + return { + async next() { + throw new Error("connection reset"); + }, + async return() { + returned = true; + return { done: true, value: undefined }; + }, + }; + }, + }; + await assert.rejects(stream.consumeUtf8Stream(source), (error) => error.code === "STREAM_DISCONNECTED"); + assert.equal(returned, true); +}); + +test("atomic checkpoint publishes through temp then rename and rejects model text", async () => { + const store = checkpoint.createMemoryCheckpointStore(); + const value = await checkpoint.commitAtomicCheckpoint(store, "response.checkpoint", { + state: "STREAMING", byteCount: 4, chunkCount: 2, sha256: "a".repeat(64), + }); + assert.deepEqual(store.get("response.checkpoint"), value); + assert.throws(() => checkpoint.createAtomicCheckpoint({ ...value, text: "partial model output" }), /CHECKPOINT_INVALID/u); +}); + +test("provider usage normalizes nested aliases, derives totals, and detects arithmetic conflicts", () => { + assert.deepEqual(usage.parseProviderUsage({ response: { usage: { prompt_tokens: 7, completion_tokens: 5 } } }), { + status: "AVAILABLE", inputTokens: 7, outputTokens: 5, totalTokens: 12, + missing: [], inconsistent: [], derivedTotal: true, + sources: { inputTokens: ["$.response.usage.prompt_tokens"], outputTokens: ["$.response.usage.completion_tokens"], totalTokens: [] }, + }); + assert.equal(usage.parseProviderUsage({ usage: { input_tokens: 2, output_tokens: 3, total_tokens: 99 } }).status, "INCONSISTENT"); + assert.equal(usage.parseProviderUsage({ result: { usage: { input_tokens: 2 } } }).status, "PARTIAL"); + assert.equal(usage.parseProviderUsage({}).status, "MISSING"); +}); + +test("token limit classifier distinguishes context, output and max-output truncation", () => { + assert.equal(limits.classifyTokenLimit({ error: { code: "context_length_exceeded" } }).category, "CONTEXT_LIMIT"); + assert.equal(limits.classifyTokenLimit({ error: { code: "output_limit_exceeded" } }).category, "OUTPUT_LIMIT"); + assert.equal(limits.classifyTokenLimit({ choices: [{ finish_reason: "length" }], usage: { completion_tokens: 16 } }, { maxOutputTokens: 16 }).category, "MAX_OUTPUT_TOKENS"); + assert.equal(limits.classifyTokenLimit({ message: "ordinary provider failure" }).category, "NONE"); +}); diff --git a/web/tests/unit/task-context.test.mjs b/web/tests/unit/task-context.test.mjs index b3baaa18..31a02fd4 100644 --- a/web/tests/unit/task-context.test.mjs +++ b/web/tests/unit/task-context.test.mjs @@ -1,6 +1,6 @@ import test from "node:test"; import assert from "node:assert/strict"; -import { buildTaskContext, contextSizeReport, CONTEXT_LIMITS, readIndexedTask, selectInputPaths } from "../../../tools/web/task-context-lib.mjs"; +import { buildTaskContext, compactTaskContext, contextSizeReport, CONTEXT_LIMITS, readIndexedTask, selectInputPaths } from "../../../tools/web/task-context-lib.mjs"; test("current task context is bounded and follows the parent pointer", () => { const bundle = buildTaskContext(); @@ -17,6 +17,20 @@ test("current task context is bounded and follows the parent pointer", () => { assert.equal(report.totalTokens, report.sourceTokens + report.evidenceTokens); assert.equal(report.evidenceTokens, bundle.context.inputSelection.totals.tokens); assert.ok(report.totalTokens < CONTEXT_LIMITS.contextTokens); + assert.ok(report.serializedContextTokens <= CONTEXT_LIMITS.contextEnvelopeTokens); + assert.ok(report.estimatedContextTokens <= CONTEXT_LIMITS.contextTokens); +}); + +test("printed context reserves envelope space and omits verbose exclusion audit", () => { + const bundle = buildTaskContext(); + const compact = compactTaskContext(bundle.context); + assert.equal(compact.inputSelection.excludedCount, bundle.context.inputSelection.excluded.length); + assert.deepEqual(compact.inputSelection.excludedReasons, { + EVIDENCE_BYTE_BUDGET: 3, + GENERATED_EVIDENCE_OUTPUT: 3, + }); + assert.ok(!Object.hasOwn(compact.inputSelection, "excluded")); + assert.ok(contextSizeReport(bundle).serializedContextTokens <= CONTEXT_LIMITS.contextEnvelopeTokens); }); test("the indexed task record remains available beside the compact card", () => {