feat(xwm): add map flow, property decoding, serial pairing and reparent handling
MapRequest batches ten GetProperty, GetGeometry and MapWindow; Ready fires once every reply (and the XRes pid fallback, propClientIDs) is in. Titles, class, transient-for and fullscreen changes reach the host only when they differ. WL_SURFACE_SERIAL pairs with set_serial in either order. ReparentNotify drops or adopts root children. Adds recorded-stream allocation tests.
- commit
- ce78abc602422d152d0ca8f64f1a568cd8e7c991
- author
- brice · · 2026-10-22 12:43 UTC
- committer
- brice · · 2026-10-22 17:54 UTC
- parent
- 50a2e95
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
11 files · +4896 -33
M Makefile +1 -1
| @@ -69,7 +69,7 @@ adapter-imports: | |||
| 69 | 69 | [ -z "$$bad" ] || { echo "$$bad"; echo 'adapter imports another adapter: use ports or a shared library (Makefile ADAPTER_LIBS)' >&2; exit 1; } | |
| 70 | 70 | # Fast, mandatory guards for tiled content publications and SHM copies. | |
| 71 | 71 | perf-check: | |
| 72 | - | CGO_ENABLED=0 go test ./internal/core ./internal/app ./internal/adapters/drm ./internal/adapters/headless ./internal/adapters/vulkan ./internal/adapters/wayland ./internal/adapters/outputkit/capture ./internal/adapters/screencast ./internal/adapters/wayland/xwm -run '^(TestAnimateAllocations|TestPublishAllocations|TestPublishSubscribersAllocations|TestPublishStashSlideAllocations|TestPublishOverviewAllocations|TestPublishLeavingAllocations|TestOutputRoutingAllocations|TestReportSeenAllocations|TestFrameLifecycleTransitionsAllocations|TestFullscreenShownAllocations|TestFrameDecisionAllocations|TestCommitFrameAllocations|TestColorPipelineAllocations|TestShownBySnapshotAllocations|TestFlipShowsAllocations|TestMRUNoteFocusDoesNotAllocateWhenSettled|TestDueFramesAllocations|TestRenderSteadyStateAllocations|TestRenderSteadyStateDMABufAllocations|TestSceneOpaqueRegionAllocations|TestSceneDeltaAllocations|TestAccountFlipAllocations|TestFlipDoneAllocations|TestSceneWalkUnchangedTiledSHM|TestTiledCommitPublishAllocations|TestCapturedCommitApplyAllocations|TestCapturedViewportApplyAllocations|TestEffectiveInputEmptyTreeAllocations|TestHeadlessTiledSHMCallbackAndCopyBudget|TestReleaseHeldAllocations|TestCommitDamageAllocations|TestEmitContentAllocations|TestPresentationPushAllocations|TestAnimatingFrameSendAllocations|TestContentBatchCycleAllocations|TestWriteMappedAllocations|TestCapturedForwardAllocations|TestCommandForwardAllocations|TestOutboxQueuedDeliveryAllocations|TestCastFrameAllocations|TestCastProducerAllocations|TestCaptureCycleAllocations|TestLogScenesAllocations|TestOverviewNamedRowsAllocations|TestBufferContentAllocations|TestDueFramesFireScratch|TestRetireSemaphoreAllocatesNothing|TestTableLookupAllocations|TestTableInsertRemoveAllocations)$$' -count=1 | |
| 72 | + | CGO_ENABLED=0 go test ./internal/core ./internal/app ./internal/adapters/drm ./internal/adapters/headless ./internal/adapters/vulkan ./internal/adapters/wayland ./internal/adapters/outputkit/capture ./internal/adapters/screencast ./internal/adapters/wayland/xwm -run '^(TestAnimateAllocations|TestPublishAllocations|TestPublishSubscribersAllocations|TestPublishStashSlideAllocations|TestPublishOverviewAllocations|TestPublishLeavingAllocations|TestOutputRoutingAllocations|TestReportSeenAllocations|TestFrameLifecycleTransitionsAllocations|TestFullscreenShownAllocations|TestFrameDecisionAllocations|TestCommitFrameAllocations|TestColorPipelineAllocations|TestShownBySnapshotAllocations|TestFlipShowsAllocations|TestMRUNoteFocusDoesNotAllocateWhenSettled|TestDueFramesAllocations|TestRenderSteadyStateAllocations|TestRenderSteadyStateDMABufAllocations|TestSceneOpaqueRegionAllocations|TestSceneDeltaAllocations|TestAccountFlipAllocations|TestFlipDoneAllocations|TestSceneWalkUnchangedTiledSHM|TestTiledCommitPublishAllocations|TestCapturedCommitApplyAllocations|TestCapturedViewportApplyAllocations|TestEffectiveInputEmptyTreeAllocations|TestHeadlessTiledSHMCallbackAndCopyBudget|TestReleaseHeldAllocations|TestCommitDamageAllocations|TestEmitContentAllocations|TestPresentationPushAllocations|TestAnimatingFrameSendAllocations|TestContentBatchCycleAllocations|TestWriteMappedAllocations|TestCapturedForwardAllocations|TestCommandForwardAllocations|TestOutboxQueuedDeliveryAllocations|TestCastFrameAllocations|TestCastProducerAllocations|TestCaptureCycleAllocations|TestLogScenesAllocations|TestOverviewNamedRowsAllocations|TestBufferContentAllocations|TestDueFramesFireScratch|TestRetireSemaphoreAllocatesNothing|TestTableLookupAllocations|TestTableInsertRemoveAllocations|TestPropertyUnchangedAllocations|TestDispatchAllocations)$$' -count=1 | |
| 73 | 73 | CGO_ENABLED=0 go test -tags xturbo_poison ./internal/adapters/wayland/xwm -count=1 | |
| 74 | 74 | check: vet test arch fakes-check log-check perf-check | |
| 75 | 75 | ||
M internal/adapters/wayland/xwm/events.go +14 -6
| @@ -34,6 +34,8 @@ func (x *XWM) onEvent(ev *xturbo.Event) { | |||
| 34 | 34 | x.onCreateNotify(ev) | |
| 35 | 35 | case xproto.KindDestroyNotify: | |
| 36 | 36 | x.onDestroyNotify(ev) | |
| 37 | + | case xproto.KindReparentNotify: | |
| 38 | + | x.onReparentNotify(ev) | |
| 37 | 39 | } | |
| 38 | 40 | if x.host == nil { | |
| 39 | 41 | if ev.Kind == xproto.KindMapRequest { | |
| @@ -108,12 +110,11 @@ func (x *XWM) onError(e *xturbo.XError) { | |||
| 108 | 110 | if e.Code == xproto.BadAccess { | |
| 109 | 111 | x.bootErr = ErrWMExists | |
| 110 | 112 | } | |
| 111 | - | case kindProp, kindGeom, kindConfigure, kindFocus: | |
| 112 | - | if e.Code != xproto.BadWindow { | |
| 113 | - | return | |
| 114 | - | } | |
| 115 | - | // The window died between request and reply; DestroyNotify follows. | |
| 116 | - | _, rec := x.tab.live(e.Args[0]) | |
| 113 | + | case kindProp, kindGeom, kindClientIds, kindConfigure, kindFocus: | |
| 114 | + | // Usually BadWindow: the window died between request and reply and | |
| 115 | + | // DestroyNotify follows. Whatever the code, the awaited reply will | |
| 116 | + | // never come, so the map must not wait for it. | |
| 117 | + | s, rec := x.tab.live(e.Args[0]) | |
| 117 | 118 | if rec == nil { | |
| 118 | 119 | x.stats.Stale++ | |
| 119 | 120 | return | |
| @@ -123,6 +124,13 @@ func (x *XWM) onError(e *xturbo.XError) { | |||
| 123 | 124 | rec.pending &^= 1 << e.Args[1] | |
| 124 | 125 | case kindGeom: | |
| 125 | 126 | rec.pending &^= propGeom | |
| 127 | + | case kindClientIds: | |
| 128 | + | rec.pending &^= propClientIDs | |
| 129 | + | default: | |
| 130 | + | return | |
| 131 | + | } | |
| 132 | + | if e.Code != xproto.BadWindow { // a dead window is never announced | |
| 133 | + | x.checkReady(s) | |
| 126 | 134 | } | |
| 127 | 135 | } | |
| 128 | 136 | } | |
M internal/adapters/wayland/xwm/mapflow.go +368 -13
| @@ -1,21 +1,376 @@ | |||
| 1 | 1 | package xwm | |
| 2 | 2 | ||
| 3 | - | import "bnema.dev/xturbo" | |
| 3 | + | import ( | |
| 4 | + | "bnema.dev/xturbo" | |
| 5 | + | "bnema.dev/xturbo/xproto" | |
| 6 | + | ) | |
| 4 | 7 | ||
| 5 | - | // beginMap starts the map flow of a managed window: properties, geometry, | |
| 6 | - | // MapWindow. Also called by Attach for windows mapped before it. | |
| 7 | - | func (x *XWM) beginMap(s Slot) { _ = s } | |
| 8 | + | // ICCCM WM_STATE values. | |
| 9 | + | const ( | |
| 10 | + | wmStateWithdrawn uint32 = 0 | |
| 11 | + | wmStateNormal uint32 = 1 | |
| 12 | + | ) | |
| 8 | 13 | ||
| 9 | - | func (x *XWM) onMapRequest(ev *xturbo.Event) { _ = ev } | |
| 10 | - | func (x *XWM) onMapNotify(ev *xturbo.Event) { _ = ev } | |
| 11 | - | func (x *XWM) onUnmapNotify(ev *xturbo.Event) { _ = ev } | |
| 12 | - | func (x *XWM) onClientMessage(ev *xturbo.Event) { _ = ev } | |
| 14 | + | // _NET_WM_STATE client message actions. | |
| 15 | + | const ( | |
| 16 | + | netStateRemove = 0 | |
| 17 | + | netStateAdd = 1 | |
| 18 | + | netStateToggle = 2 | |
| 19 | + | ) | |
| 13 | 20 | ||
| 14 | - | func (x *XWM) onGeomReply(s Slot, rec *record, r *xturbo.Reply) { _, _, _ = s, rec, r } | |
| 15 | - | func (x *XWM) onClientIdsReply(s Slot, rec *record, r *xturbo.Reply) { _, _, _ = s, rec, r } | |
| 21 | + | // beginMap starts the map flow of a managed window: every property, the | |
| 22 | + | // geometry and MapWindow go out in one batch (wlroots order). Also called by | |
| 23 | + | // Attach for windows mapped before it. | |
| 24 | + | func (x *XWM) beginMap(s Slot) { | |
| 25 | + | rec := x.tab.rec(s) | |
| 26 | + | if rec.kind != kindManaged || rec.mapping { | |
| 27 | + | return | |
| 28 | + | } | |
| 29 | + | rec.mapping, rec.ready = true, false | |
| 30 | + | rec.hasNetName = false | |
| 31 | + | rec.pending = propGeom | |
| 32 | + | xid := rec.xid | |
| 33 | + | for idx := 0; idx < propCount; idx++ { | |
| 34 | + | x.requestProp(s, idx) | |
| 35 | + | } | |
| 36 | + | b := x.conn.Buf() | |
| 37 | + | x.expect(xproto.GetGeometry(b, xproto.Drawable(xid)), kindGeom, x.tab.tag(s), 0) | |
| 38 | + | xproto.MapWindow(b, xproto.Window(xid)) | |
| 39 | + | } | |
| 16 | 40 | ||
| 17 | - | // SetSerial records the serial of a wl_surface (xwayland_surface_v1.set_serial). | |
| 18 | - | func (x *XWM) SetSerial(surfaceID uint64, serial uint64) { _, _ = surfaceID, serial } | |
| 41 | + | func (x *XWM) onMapRequest(ev *xturbo.Event) { | |
| 42 | + | if s := x.tab.lookup(uint32(xproto.MapRequestOf(ev).Window())); s != 0 { | |
| 43 | + | x.beginMap(s) | |
| 44 | + | } | |
| 45 | + | } | |
| 46 | + | ||
| 47 | + | func (x *XWM) onMapNotify(ev *xturbo.Event) { | |
| 48 | + | if s := x.tab.lookup(uint32(xproto.MapNotifyOf(ev).Window())); s != 0 { | |
| 49 | + | x.tab.rec(s).mapped = true | |
| 50 | + | } | |
| 51 | + | } | |
| 52 | + | ||
| 53 | + | // onUnmapNotify ends the mapped life of a managed window; a later MapRequest | |
| 54 | + | // starts over and re-reads the properties. Synthetic events (ICCCM unmap | |
| 55 | + | // requests) are not an unmap. | |
| 56 | + | func (x *XWM) onUnmapNotify(ev *xturbo.Event) { | |
| 57 | + | if ev.SendEvent { | |
| 58 | + | return | |
| 59 | + | } | |
| 60 | + | s := x.tab.lookup(uint32(xproto.UnmapNotifyOf(ev).Window())) | |
| 61 | + | if s == 0 { | |
| 62 | + | return | |
| 63 | + | } | |
| 64 | + | rec := x.tab.rec(s) | |
| 65 | + | rec.mapped = false | |
| 66 | + | if rec.kind != kindManaged { | |
| 67 | + | return | |
| 68 | + | } | |
| 69 | + | wasMapping := rec.mapping | |
| 70 | + | rec.ready, rec.mapping, rec.pending = false, false, 0 | |
| 71 | + | rec.serial, rec.surface = 0, 0 | |
| 72 | + | if wasMapping { | |
| 73 | + | xid := rec.xid | |
| 74 | + | x.setProp32Typed(xid, atomWMState, x.atoms[atomWMState], []uint32{wmStateWithdrawn, 0}) | |
| 75 | + | xproto.DeleteProperty(x.conn.Buf(), xproto.Window(xid), xproto.Atom(x.atoms[atomNetWMState])) | |
| 76 | + | x.unlist(xid) | |
| 77 | + | } | |
| 78 | + | if rec.id != 0 { | |
| 79 | + | x.host.Dissociate(s, false) | |
| 80 | + | } | |
| 81 | + | } | |
| 82 | + | ||
| 83 | + | // setProp32Typed is setProp32 with an explicit property type atom. | |
| 84 | + | func (x *XWM) setProp32Typed(win uint32, prop int, typ uint32, vals []uint32) { | |
| 85 | + | x.setProp32(win, prop, xproto.Atom(typ), vals) | |
| 86 | + | } | |
| 87 | + | ||
| 88 | + | // checkReady fires Ready once every awaited reply is in. | |
| 89 | + | func (x *XWM) checkReady(s Slot) { | |
| 90 | + | rec := x.tab.rec(s) | |
| 91 | + | if rec == nil || rec.pending != 0 || rec.ready || !rec.mapping || rec.kind != kindManaged || x.host == nil { | |
| 92 | + | return | |
| 93 | + | } | |
| 94 | + | rec.ready = true | |
| 95 | + | info := x.info(s) | |
| 96 | + | xid := rec.xid | |
| 97 | + | ||
| 98 | + | var state [2]uint32 | |
| 99 | + | n := 0 | |
| 100 | + | if rec.modal { | |
| 101 | + | state[n] = x.atoms[atomNetWMStateModal] | |
| 102 | + | n++ | |
| 103 | + | } | |
| 104 | + | if rec.fullscreen { | |
| 105 | + | state[n] = x.atoms[atomNetWMStateFullscreen] | |
| 106 | + | n++ | |
| 107 | + | } | |
| 108 | + | x.setProp32(xid, atomNetWMState, xproto.AtomAtom, state[:n]) | |
| 109 | + | x.setProp32Typed(xid, atomWMState, x.atoms[atomWMState], []uint32{wmStateNormal, 0}) | |
| 110 | + | x.clients = append(x.clients, xid) | |
| 111 | + | x.stacking = append(x.stacking, xid) | |
| 112 | + | x.publishLists() | |
| 113 | + | ||
| 114 | + | x.host.Ready(s, info) | |
| 115 | + | x.tryPair(s) | |
| 116 | + | } | |
| 117 | + | ||
| 118 | + | // info is what the host learns when a window is ready. | |
| 119 | + | func (x *XWM) info(s Slot) WindowInfo { | |
| 120 | + | rec := x.tab.rec(s) | |
| 121 | + | parent := x.managedSlot(rec.transient) | |
| 122 | + | fixed := rec.minW > 0 && rec.minH > 0 && rec.minW == rec.maxW && rec.minH == rec.maxH | |
| 123 | + | info := WindowInfo{ | |
| 124 | + | PID: int(rec.pid), | |
| 125 | + | Floating: floatingType(rec.wtype) || parent != 0 || fixed, | |
| 126 | + | Parent: parent, | |
| 127 | + | Modal: rec.modal, | |
| 128 | + | Fullscreen: rec.fullscreen, | |
| 129 | + | Title: rec.title, | |
| 130 | + | AppID: rec.class, | |
| 131 | + | } | |
| 132 | + | if info.Floating { | |
| 133 | + | info.Width, info.Height = int(rec.w), int(rec.h) | |
| 134 | + | } | |
| 135 | + | return info | |
| 136 | + | } | |
| 137 | + | ||
| 138 | + | func (x *XWM) onGeomReply(s Slot, rec *record, r *xturbo.Reply) { | |
| 139 | + | if g, ok := xproto.ParseGetGeometryReply(r.Raw); ok { | |
| 140 | + | rec.x, rec.y, rec.w, rec.h = int32(g.X()), int32(g.Y()), uint32(g.Width()), uint32(g.Height()) | |
| 141 | + | } | |
| 142 | + | rec.pending &^= propGeom | |
| 143 | + | x.checkReady(s) | |
| 144 | + | } | |
| 145 | + | ||
| 146 | + | // publishLists rewrites _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING. | |
| 147 | + | func (x *XWM) publishLists() { | |
| 148 | + | x.setProp32(x.root, atomNetClientList, xproto.AtomWindow, x.clients) | |
| 149 | + | x.setProp32(x.root, atomNetClientListStacking, xproto.AtomWindow, x.stacking) | |
| 150 | + | } | |
| 151 | + | ||
| 152 | + | // unlist drops xid from both client lists and republishes them if it was in. | |
| 153 | + | func (x *XWM) unlist(xid uint32) { | |
| 154 | + | was := len(x.clients) | |
| 155 | + | x.clients = removeID(x.clients, xid) | |
| 156 | + | x.stacking = removeID(x.stacking, xid) | |
| 157 | + | if len(x.clients) != was { | |
| 158 | + | x.publishLists() | |
| 159 | + | } | |
| 160 | + | } | |
| 161 | + | ||
| 162 | + | func removeID(l []uint32, xid uint32) []uint32 { | |
| 163 | + | for i, v := range l { | |
| 164 | + | if v == xid { | |
| 165 | + | return append(l[:i], l[i+1:]...) | |
| 166 | + | } | |
| 167 | + | } | |
| 168 | + | return l | |
| 169 | + | } | |
| 170 | + | ||
| 171 | + | // onClientMessage handles WL_SURFACE_SERIAL (pairing), the legacy | |
| 172 | + | // WL_SURFACE_ID (counted, ignored) and _NET_WM_STATE requests. | |
| 173 | + | func (x *XWM) onClientMessage(ev *xturbo.Event) { | |
| 174 | + | e := xproto.ClientMessageOf(ev) | |
| 175 | + | if e.Format() != 32 { | |
| 176 | + | return | |
| 177 | + | } | |
| 178 | + | typ := uint32(e.Type()) | |
| 179 | + | switch typ { | |
| 180 | + | case x.atoms[atomWLSurfaceSerial]: | |
| 181 | + | s := x.tab.lookup(uint32(e.Window())) | |
| 182 | + | if s == 0 { | |
| 183 | + | return | |
| 184 | + | } | |
| 185 | + | rec := x.tab.rec(s) | |
| 186 | + | if rec.serial != 0 { | |
| 187 | + | x.log.Debug().Uint32("xid", rec.xid).Msg("duplicate WL_SURFACE_SERIAL ignored") | |
| 188 | + | return | |
| 189 | + | } | |
| 190 | + | d := e.Data().Data32() | |
| 191 | + | rec.serial = uint64(d[1])<<32 | uint64(d[0]) | |
| 192 | + | x.tryPair(s) | |
| 193 | + | case x.atoms[atomWLSurfaceID]: | |
| 194 | + | x.stats.LegacyID++ | |
| 195 | + | if x.stats.LegacyID == 1 { | |
| 196 | + | x.log.Warn().Msg("WL_SURFACE_ID received: Xwayland did not bind xwayland_shell_v1, window ignored") | |
| 197 | + | } | |
| 198 | + | case x.atoms[atomNetWMState]: | |
| 199 | + | x.onNetWMState(e) | |
| 200 | + | } | |
| 201 | + | } | |
| 202 | + | ||
| 203 | + | // onNetWMState forwards fullscreen requests to the host and records them; the | |
| 204 | + | // property itself is written when core answers with a configure. | |
| 205 | + | func (x *XWM) onNetWMState(e xproto.ClientMessageEvent) { | |
| 206 | + | s := x.tab.lookup(uint32(e.Window())) | |
| 207 | + | if s == 0 { | |
| 208 | + | return | |
| 209 | + | } | |
| 210 | + | rec := x.tab.rec(s) | |
| 211 | + | if rec.kind != kindManaged { | |
| 212 | + | return | |
| 213 | + | } | |
| 214 | + | d := e.Data().Data32() | |
| 215 | + | apply := func(cur bool) bool { | |
| 216 | + | switch d[0] { | |
| 217 | + | case netStateRemove: | |
| 218 | + | return false | |
| 219 | + | case netStateAdd: | |
| 220 | + | return true | |
| 221 | + | case netStateToggle: | |
| 222 | + | return !cur | |
| 223 | + | } | |
| 224 | + | return cur | |
| 225 | + | } | |
| 226 | + | for _, a := range d[1:3] { | |
| 227 | + | switch { | |
| 228 | + | case a == 0: | |
| 229 | + | case a == x.atoms[atomNetWMStateModal]: | |
| 230 | + | rec.modal = apply(rec.modal) | |
| 231 | + | case a == x.atoms[atomNetWMStateFullscreen]: | |
| 232 | + | on := apply(rec.fullscreen) | |
| 233 | + | if on == rec.fullscreen { | |
| 234 | + | continue | |
| 235 | + | } | |
| 236 | + | rec.fullscreen = on | |
| 237 | + | if rec.ready { | |
| 238 | + | x.host.Fullscreen(s, on) | |
| 239 | + | rec = x.tab.rec(s) | |
| 240 | + | } | |
| 241 | + | } | |
| 242 | + | } | |
| 243 | + | } | |
| 244 | + | ||
| 245 | + | // onReparentNotify keeps the table to root's direct children: a window moved | |
| 246 | + | // away is forgotten, one moved into root is treated as newly created. | |
| 247 | + | func (x *XWM) onReparentNotify(ev *xturbo.Event) { | |
| 248 | + | e := xproto.ReparentNotifyOf(ev) | |
| 249 | + | xid := uint32(e.Window()) | |
| 250 | + | if xid == x.wmWin { | |
| 251 | + | return | |
| 252 | + | } | |
| 253 | + | s := x.tab.lookup(xid) | |
| 254 | + | if uint32(e.Parent()) != x.root { | |
| 255 | + | if s != 0 { | |
| 256 | + | x.dropWindow(s) | |
| 257 | + | } | |
| 258 | + | return | |
| 259 | + | } | |
| 260 | + | if s != 0 { | |
| 261 | + | return | |
| 262 | + | } | |
| 263 | + | s = x.insert(xid) | |
| 264 | + | if s == 0 { | |
| 265 | + | return | |
| 266 | + | } | |
| 267 | + | rec := x.tab.rec(s) | |
| 268 | + | rec.override = e.OverrideRedirect() | |
| 269 | + | rec.x, rec.y = int32(e.X()), int32(e.Y()) | |
| 270 | + | if rec.override { | |
| 271 | + | rec.kind = kindUnmanaged | |
| 272 | + | x.stats.UnmanagedSeen++ | |
| 273 | + | return | |
| 274 | + | } | |
| 275 | + | if x.host != nil { | |
| 276 | + | x.adopt(s) | |
| 277 | + | } | |
| 278 | + | } | |
| 279 | + | ||
| 280 | + | // dropWindow forgets s: the host is told if it knew the window. | |
| 281 | + | func (x *XWM) dropWindow(s Slot) { | |
| 282 | + | rec := x.tab.rec(s) | |
| 283 | + | xid := rec.xid | |
| 284 | + | if rec.kind == kindManaged { | |
| 285 | + | x.unlist(xid) | |
| 286 | + | if x.active == s { | |
| 287 | + | x.active = 0 | |
| 288 | + | } | |
| 289 | + | if rec.id != 0 && x.host != nil { | |
| 290 | + | rec.id = 0 | |
| 291 | + | x.host.Dissociate(s, true) | |
| 292 | + | } | |
| 293 | + | } | |
| 294 | + | x.tab.remove(s) | |
| 295 | + | } | |
| 296 | + | ||
| 297 | + | // tryPair links the window to the wl_surface carrying its serial, once both | |
| 298 | + | // are known and the window is ready (the host maps on the surface's first | |
| 299 | + | // buffer, so it must know the window's info by then). Unmanaged windows keep | |
| 300 | + | // the surface but are never associated. | |
| 301 | + | func (x *XWM) tryPair(s Slot) { | |
| 302 | + | rec := x.tab.rec(s) | |
| 303 | + | if rec.serial == 0 || rec.surface != 0 { | |
| 304 | + | return | |
| 305 | + | } | |
| 306 | + | if rec.kind == kindManaged && !rec.ready { | |
| 307 | + | return | |
| 308 | + | } | |
| 309 | + | for i := 0; i < x.unpairedN; i++ { | |
| 310 | + | if x.unpaired[i].serial != rec.serial { | |
| 311 | + | continue | |
| 312 | + | } | |
| 313 | + | rec.surface = x.unpaired[i].surface | |
| 314 | + | x.unpairedN-- | |
| 315 | + | x.unpaired[i] = x.unpaired[x.unpairedN] | |
| 316 | + | if rec.kind == kindManaged { | |
| 317 | + | x.log.Debug().Uint32("xid", rec.xid).Uint64("surface", rec.surface).Msg("x11 window paired") | |
| 318 | + | x.host.Associate(s, rec.surface) | |
| 319 | + | } | |
| 320 | + | return | |
| 321 | + | } | |
| 322 | + | } | |
| 323 | + | ||
| 324 | + | // SetSerial records the serial of a wl_surface (xwayland_surface_v1.set_serial) | |
| 325 | + | // and pairs it with the window announcing the same serial. | |
| 326 | + | func (x *XWM) SetSerial(surfaceID uint64, serial uint64) { | |
| 327 | + | if serial == 0 || x.closed { | |
| 328 | + | return | |
| 329 | + | } | |
| 330 | + | for i := 0; i < x.unpairedN; i++ { | |
| 331 | + | if x.unpaired[i].serial == serial { | |
| 332 | + | x.unpaired[i].surface = surfaceID | |
| 333 | + | x.pairSerial(serial) | |
| 334 | + | return | |
| 335 | + | } | |
| 336 | + | } | |
| 337 | + | if x.unpairedN == unpairedCap { | |
| 338 | + | copy(x.unpaired[:], x.unpaired[1:]) | |
| 339 | + | x.unpairedN-- | |
| 340 | + | if !x.warnedUnpaired { | |
| 341 | + | x.warnedUnpaired = true | |
| 342 | + | x.log.Warn().Msg("too many unpaired surfaces, dropping the oldest") | |
| 343 | + | } | |
| 344 | + | } | |
| 345 | + | x.unpaired[x.unpairedN] = struct{ serial, surface uint64 }{serial, surfaceID} | |
| 346 | + | x.unpairedN++ | |
| 347 | + | x.pairSerial(serial) | |
| 348 | + | } | |
| 349 | + | ||
| 350 | + | // pairSerial offers a newly known surface serial to the windows. | |
| 351 | + | func (x *XWM) pairSerial(serial uint64) { | |
| 352 | + | for i := range x.tab.recs { | |
| 353 | + | if r := &x.tab.recs[i]; r.kind != kindFree && r.serial == serial && r.surface == 0 { | |
| 354 | + | x.tryPair(Slot(i + 1)) | |
| 355 | + | break | |
| 356 | + | } | |
| 357 | + | } | |
| 358 | + | x.wake() | |
| 359 | + | } | |
| 19 | 360 | ||
| 20 | 361 | // SurfaceGone forgets a destroyed wl_surface. | |
| 21 | - | func (x *XWM) SurfaceGone(surfaceID uint64) { _ = surfaceID } | |
| 362 | + | func (x *XWM) SurfaceGone(surfaceID uint64) { | |
| 363 | + | for i := 0; i < x.unpairedN; i++ { | |
| 364 | + | if x.unpaired[i].surface == surfaceID { | |
| 365 | + | x.unpairedN-- | |
| 366 | + | x.unpaired[i] = x.unpaired[x.unpairedN] | |
| 367 | + | break | |
| 368 | + | } | |
| 369 | + | } | |
| 370 | + | for i := range x.tab.recs { | |
| 371 | + | if r := &x.tab.recs[i]; r.kind != kindFree && r.surface == surfaceID { | |
| 372 | + | r.surface = 0 | |
| 373 | + | } | |
| 374 | + | } | |
| 375 | + | x.wake() | |
| 376 | + | } | |
A internal/adapters/wayland/xwm/mapflow_test.go +789 -0
| @@ -0,0 +1,789 @@ | |||
| 1 | + | package xwm | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "encoding/binary" | |
| 5 | + | "testing" | |
| 6 | + | ||
| 7 | + | "bnema.dev/xturbo" | |
| 8 | + | "bnema.dev/xturbo/xproto" | |
| 9 | + | "github.com/bnema/neferwl/internal/ports" | |
| 10 | + | "github.com/stretchr/testify/mock" | |
| 11 | + | "github.com/stretchr/testify/require" | |
| 12 | + | ) | |
| 13 | + | ||
| 14 | + | // harness bundles an attached XWM, its peer and the host mock. | |
| 15 | + | type harness struct { | |
| 16 | + | t *testing.T | |
| 17 | + | x *XWM | |
| 18 | + | p *xpeer | |
| 19 | + | h *mockhost | |
| 20 | + | ||
| 21 | + | ready map[uint32]WindowInfo // by xid, filled by Ready | |
| 22 | + | next ports.WindowID | |
| 23 | + | } | |
| 24 | + | ||
| 25 | + | func newHarness(t *testing.T, mutate func(p *xpeer)) *harness { | |
| 26 | + | t.Helper() | |
| 27 | + | x, p := bootPeer(t, mutate) | |
| 28 | + | hs := &harness{t: t, x: x, p: p, h: newMockhost(t), ready: map[uint32]WindowInfo{}} | |
| 29 | + | src := newMockfdSource(t) | |
| 30 | + | src.EXPECT().Remove().Maybe() | |
| 31 | + | src.EXPECT().SetWritable(mock.Anything).Return(nil).Maybe() | |
| 32 | + | post, _ := newPost() | |
| 33 | + | x.attach(src, hs.h, post) | |
| 34 | + | return hs | |
| 35 | + | } | |
| 36 | + | ||
| 37 | + | func (hs *harness) expectCreated(win uint32) { | |
| 38 | + | hs.next++ | |
| 39 | + | hs.h.EXPECT().Created(mock.Anything, win).Return(hs.next).Once() | |
| 40 | + | } | |
| 41 | + | ||
| 42 | + | func (hs *harness) expectReady(win uint32) { | |
| 43 | + | hs.h.EXPECT().Ready(mock.Anything, mock.Anything).Run(func(_ Slot, info WindowInfo) { | |
| 44 | + | hs.ready[win] = info | |
| 45 | + | }).Once() | |
| 46 | + | } | |
| 47 | + | ||
| 48 | + | func (hs *harness) create(win uint32) Slot { | |
| 49 | + | hs.t.Helper() | |
| 50 | + | hs.expectCreated(win) | |
| 51 | + | hs.p.createNotify(win, false) | |
| 52 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Slot(win) != 0 }) | |
| 53 | + | return hs.x.Slot(win) | |
| 54 | + | } | |
| 55 | + | ||
| 56 | + | // mapAndWait creates and maps win and waits for Ready. | |
| 57 | + | func (hs *harness) mapAndWait(win uint32) Slot { | |
| 58 | + | hs.t.Helper() | |
| 59 | + | s := hs.create(win) | |
| 60 | + | hs.expectReady(win) | |
| 61 | + | hs.p.mapRequest(win) | |
| 62 | + | readUntil(hs.t, hs.x, func() bool { _, ok := hs.ready[win]; return ok }) | |
| 63 | + | return s | |
| 64 | + | } | |
| 65 | + | ||
| 66 | + | func (hs *harness) str(win uint32, atom string, typ uint32, s string) { | |
| 67 | + | hs.p.setProp(win, hs.p.atom(atom), typ, 8, []byte(s)) | |
| 68 | + | } | |
| 69 | + | ||
| 70 | + | func (hs *harness) words(win uint32, atom string, typ uint32, w ...uint32) { | |
| 71 | + | hs.p.setProp(win, hs.p.atom(atom), typ, 32, le32(w...)) | |
| 72 | + | } | |
| 73 | + | ||
| 74 | + | func (hs *harness) atoms(win uint32, atom string, names ...string) { | |
| 75 | + | var w []uint32 | |
| 76 | + | for _, n := range names { | |
| 77 | + | w = append(w, hs.p.atom(n)) | |
| 78 | + | } | |
| 79 | + | hs.words(win, atom, uint32(xproto.AtomAtom), w...) | |
| 80 | + | } | |
| 81 | + | ||
| 82 | + | func (hs *harness) classic(win uint32) { | |
| 83 | + | hs.p.setProp(win, uint32(xproto.AtomWmClass), uint32(xproto.AtomString), 8, []byte("inst\x00Class\x00")) | |
| 84 | + | hs.str(win, "_NET_WM_NAME", hs.p.atom("UTF8_STRING"), "net title") | |
| 85 | + | hs.p.setProp(win, uint32(xproto.AtomWmName), uint32(xproto.AtomString), 8, []byte("old title")) | |
| 86 | + | hs.words(win, "_NET_WM_PID", uint32(xproto.AtomCardinal), 4242) | |
| 87 | + | hs.p.set(func(p *xpeer) { p.geoms[win] = xpeerGeom{w: 300, h: 200} }) | |
| 88 | + | } | |
| 89 | + | ||
| 90 | + | func (hs *harness) count(match func(r xpeerReq) bool) int { | |
| 91 | + | n := 0 | |
| 92 | + | for _, r := range hs.p.requests() { | |
| 93 | + | if match(r) { | |
| 94 | + | n++ | |
| 95 | + | } | |
| 96 | + | } | |
| 97 | + | return n | |
| 98 | + | } | |
| 99 | + | ||
| 100 | + | func (hs *harness) waitMap(win uint32) { | |
| 101 | + | hs.t.Helper() | |
| 102 | + | readUntil(hs.t, hs.x, func() bool { | |
| 103 | + | return hs.count(func(r xpeerReq) bool { return r.major == opMapWindow && r.u32(4) == win }) > 0 | |
| 104 | + | }) | |
| 105 | + | } | |
| 106 | + | ||
| 107 | + | func TestMapFlowBatchesRequestsAndReadyFiresOnce(t *testing.T) { | |
| 108 | + | hs := newHarness(t, nil) | |
| 109 | + | const win = 0x500001 | |
| 110 | + | hs.classic(win) | |
| 111 | + | hs.create(win) | |
| 112 | + | base := len(hs.p.requests()) | |
| 113 | + | ||
| 114 | + | hs.p.holdReplies() | |
| 115 | + | hs.p.mapRequest(win) | |
| 116 | + | hs.expectReady(win) | |
| 117 | + | hs.waitMap(win) | |
| 118 | + | ||
| 119 | + | reqs := hs.p.requests()[base:] | |
| 120 | + | want := []uint32{ | |
| 121 | + | uint32(xproto.AtomWmClass), uint32(xproto.AtomWmName), hs.p.atom("_NET_WM_NAME"), uint32(xproto.AtomWmHints), | |
| 122 | + | uint32(xproto.AtomWmNormalHints), hs.p.atom("WM_PROTOCOLS"), uint32(xproto.AtomWmTransientFor), | |
| 123 | + | hs.p.atom("_NET_WM_WINDOW_TYPE"), hs.p.atom("_NET_WM_STATE"), hs.p.atom("_NET_WM_PID"), | |
| 124 | + | } | |
| 125 | + | require.GreaterOrEqual(t, len(reqs), len(want)+2) | |
| 126 | + | for i, a := range want { | |
| 127 | + | require.EqualValues(t, opGetProperty, reqs[i].major, i) | |
| 128 | + | require.Equal(t, uint32(win), reqs[i].u32(4)) | |
| 129 | + | require.Equal(t, a, reqs[i].u32(8), i) | |
| 130 | + | require.EqualValues(t, 1024, reqs[i].u32(20), "long length: one 4 KiB read") | |
| 131 | + | } | |
| 132 | + | require.EqualValues(t, opGetGeometry, reqs[len(want)].major) | |
| 133 | + | require.EqualValues(t, opMapWindow, reqs[len(want)+1].major, "MapWindow in the same batch") | |
| 134 | + | ||
| 135 | + | hs.p.release() // every reply arrives after MapWindow went out | |
| 136 | + | readUntil(t, hs.x, func() bool { _, ok := hs.ready[win]; return ok }) | |
| 137 | + | info := hs.ready[win] | |
| 138 | + | require.Equal(t, WindowInfo{PID: 4242, Title: "net title", AppID: "Class"}, info, "_NET_WM_NAME wins, class is the second string") | |
| 139 | + | ||
| 140 | + | state, ok := hs.p.prop(win, "WM_STATE") | |
| 141 | + | require.True(t, ok) | |
| 142 | + | require.Equal(t, []uint32{1, 0}, atomsOf(state)) | |
| 143 | + | list, ok := hs.p.prop(peerRoot, "_NET_CLIENT_LIST") | |
| 144 | + | require.True(t, ok) | |
| 145 | + | require.Equal(t, []uint32{win}, atomsOf(list)) | |
| 146 | + | } | |
| 147 | + | ||
| 148 | + | func TestMapFlowFloatingAndModal(t *testing.T) { | |
| 149 | + | hint := func(minw, minh, maxw, maxh uint32) []byte { | |
| 150 | + | return le32(hintMinSize|hintMaxSize, 0, 0, 0, 0, minw, minh, maxw, maxh, 0, 0, 0, 0, 0, 0, 0, 0, 0) | |
| 151 | + | } | |
| 152 | + | cases := []struct { | |
| 153 | + | name string | |
| 154 | + | setup func(hs *harness, win uint32) | |
| 155 | + | want func(info WindowInfo) | |
| 156 | + | }{ | |
| 157 | + | {"dialog type", func(hs *harness, w uint32) { | |
| 158 | + | hs.atoms(w, "_NET_WM_WINDOW_TYPE", "_NET_WM_WINDOW_TYPE_DIALOG") | |
| 159 | + | }, func(i WindowInfo) { | |
| 160 | + | require.True(t, i.Floating) | |
| 161 | + | require.Equal(t, 300, i.Width) | |
| 162 | + | require.Equal(t, 200, i.Height) | |
| 163 | + | }}, | |
| 164 | + | {"utility type", func(hs *harness, w uint32) { | |
| 165 | + | hs.atoms(w, "_NET_WM_WINDOW_TYPE", "_NET_WM_WINDOW_TYPE_UTILITY") | |
| 166 | + | }, func(i WindowInfo) { require.True(t, i.Floating) }}, | |
| 167 | + | {"splash type", func(hs *harness, w uint32) { | |
| 168 | + | hs.atoms(w, "_NET_WM_WINDOW_TYPE", "_NET_WM_WINDOW_TYPE_SPLASH") | |
| 169 | + | }, func(i WindowInfo) { require.True(t, i.Floating) }}, | |
| 170 | + | {"normal type", func(hs *harness, w uint32) { | |
| 171 | + | hs.atoms(w, "_NET_WM_WINDOW_TYPE", "_NET_WM_WINDOW_TYPE_NORMAL") | |
| 172 | + | }, func(i WindowInfo) { require.False(t, i.Floating); require.Zero(t, i.Width) }}, | |
| 173 | + | {"fixed size", func(hs *harness, w uint32) { | |
| 174 | + | hs.p.setProp(w, uint32(xproto.AtomWmNormalHints), uint32(xproto.AtomWmSizeHints), 32, hint(200, 100, 200, 100)) | |
| 175 | + | }, func(i WindowInfo) { require.True(t, i.Floating) }}, | |
| 176 | + | {"resizable", func(hs *harness, w uint32) { | |
| 177 | + | hs.p.setProp(w, uint32(xproto.AtomWmNormalHints), uint32(xproto.AtomWmSizeHints), 32, hint(100, 100, 800, 600)) | |
| 178 | + | }, func(i WindowInfo) { require.False(t, i.Floating) }}, | |
| 179 | + | {"modal", func(hs *harness, w uint32) { | |
| 180 | + | hs.atoms(w, "_NET_WM_STATE", "_NET_WM_STATE_MODAL") | |
| 181 | + | }, func(i WindowInfo) { require.True(t, i.Modal); require.False(t, i.Fullscreen) }}, | |
| 182 | + | {"fullscreen at map", func(hs *harness, w uint32) { | |
| 183 | + | hs.atoms(w, "_NET_WM_STATE", "_NET_WM_STATE_FULLSCREEN") | |
| 184 | + | }, func(i WindowInfo) { require.True(t, i.Fullscreen) }}, | |
| 185 | + | } | |
| 186 | + | for _, c := range cases { | |
| 187 | + | t.Run(c.name, func(t *testing.T) { | |
| 188 | + | hs := newHarness(t, nil) | |
| 189 | + | const win = 0x500001 | |
| 190 | + | hs.classic(win) | |
| 191 | + | c.setup(hs, win) | |
| 192 | + | hs.mapAndWait(win) | |
| 193 | + | c.want(hs.ready[win]) | |
| 194 | + | }) | |
| 195 | + | } | |
| 196 | + | } | |
| 197 | + | ||
| 198 | + | func TestMapFlowTransientForManagedWindowFloats(t *testing.T) { | |
| 199 | + | hs := newHarness(t, nil) | |
| 200 | + | const parent, child = 0x500001, 0x500002 | |
| 201 | + | hs.classic(parent) | |
| 202 | + | ps := hs.mapAndWait(parent) | |
| 203 | + | hs.classic(child) | |
| 204 | + | hs.p.setProp(child, uint32(xproto.AtomWmTransientFor), uint32(xproto.AtomWindow), 32, le32(parent)) | |
| 205 | + | hs.mapAndWait(child) | |
| 206 | + | require.True(t, hs.ready[child].Floating) | |
| 207 | + | require.Equal(t, ps, hs.ready[child].Parent) | |
| 208 | + | } | |
| 209 | + | ||
| 210 | + | func TestMapFlowTransientForUnknownWindowIsNotAParent(t *testing.T) { | |
| 211 | + | hs := newHarness(t, nil) | |
| 212 | + | const win = 0x500001 | |
| 213 | + | hs.classic(win) | |
| 214 | + | hs.p.setProp(win, uint32(xproto.AtomWmTransientFor), uint32(xproto.AtomWindow), 32, le32(0x777777)) | |
| 215 | + | hs.mapAndWait(win) | |
| 216 | + | require.Zero(t, hs.ready[win].Parent) | |
| 217 | + | require.False(t, hs.ready[win].Floating) | |
| 218 | + | } | |
| 219 | + | ||
| 220 | + | func TestMapFlowClassFallsBackToInstance(t *testing.T) { | |
| 221 | + | hs := newHarness(t, nil) | |
| 222 | + | const win = 0x500001 | |
| 223 | + | hs.classic(win) | |
| 224 | + | hs.p.setProp(win, uint32(xproto.AtomWmClass), uint32(xproto.AtomString), 8, []byte("onlyinstance\x00")) | |
| 225 | + | hs.mapAndWait(win) | |
| 226 | + | require.Equal(t, "onlyinstance", hs.ready[win].AppID) | |
| 227 | + | } | |
| 228 | + | ||
| 229 | + | func TestMapFlowTitleFallsBackToWMName(t *testing.T) { | |
| 230 | + | hs := newHarness(t, nil) | |
| 231 | + | const win = 0x500001 | |
| 232 | + | hs.classic(win) | |
| 233 | + | hs.p.set(func(p *xpeer) { delete(p.props[win], p.atoms["_NET_WM_NAME"]) }) | |
| 234 | + | hs.mapAndWait(win) | |
| 235 | + | require.Equal(t, "old title", hs.ready[win].Title) | |
| 236 | + | } | |
| 237 | + | ||
| 238 | + | func TestMapFlowPIDFromXRes(t *testing.T) { | |
| 239 | + | hs := newHarness(t, func(p *xpeer) { p.pids = map[uint32]uint32{0x500001: 777} }) | |
| 240 | + | const win = 0x500001 | |
| 241 | + | hs.classic(win) | |
| 242 | + | hs.p.set(func(p *xpeer) { delete(p.props[win], p.atoms["_NET_WM_PID"]) }) | |
| 243 | + | hs.create(win) | |
| 244 | + | hs.expectReady(win) | |
| 245 | + | hs.p.mapRequest(win) | |
| 246 | + | readUntil(t, hs.x, func() bool { _, ok := hs.ready[win]; return ok }) | |
| 247 | + | require.Equal(t, 777, hs.ready[win].PID, "Ready waited for the QueryClientIds reply") | |
| 248 | + | require.Equal(t, 1, hs.count(func(r xpeerReq) bool { return r.major == 144 && r.minor == 4 })) | |
| 249 | + | require.Zero(t, hs.x.tab.rec(hs.x.Slot(win)).pending) | |
| 250 | + | } | |
| 251 | + | ||
| 252 | + | func TestMapFlowPIDUnknownStillReady(t *testing.T) { | |
| 253 | + | hs := newHarness(t, nil) | |
| 254 | + | const win = 0x500001 | |
| 255 | + | hs.classic(win) | |
| 256 | + | hs.p.set(func(p *xpeer) { delete(p.props[win], p.atoms["_NET_WM_PID"]) }) | |
| 257 | + | hs.mapAndWait(win) | |
| 258 | + | require.Zero(t, hs.ready[win].PID) | |
| 259 | + | } | |
| 260 | + | ||
| 261 | + | func TestMapFlowNoXResAsksNothing(t *testing.T) { | |
| 262 | + | exts := fullPeerExts() | |
| 263 | + | delete(exts, "X-Resource") | |
| 264 | + | fd, p := startXPeer(t, exts) | |
| 265 | + | x, err := Boot(fd, testLog()) | |
| 266 | + | require.NoError(t, err) | |
| 267 | + | t.Cleanup(x.CloseConn) | |
| 268 | + | h := newMockhost(t) | |
| 269 | + | src := newMockfdSource(t) | |
| 270 | + | src.EXPECT().Remove().Maybe() | |
| 271 | + | post, _ := newPost() | |
| 272 | + | x.attach(src, h, post) | |
| 273 | + | hs := &harness{t: t, x: x, p: p, h: h, ready: map[uint32]WindowInfo{}} | |
| 274 | + | const win = 0x500001 | |
| 275 | + | hs.classic(win) | |
| 276 | + | p.set(func(p *xpeer) { delete(p.props[win], p.atoms["_NET_WM_PID"]) }) | |
| 277 | + | hs.mapAndWait(win) | |
| 278 | + | require.Zero(t, hs.count(func(r xpeerReq) bool { return r.major == 144 })) | |
| 279 | + | } | |
| 280 | + | ||
| 281 | + | func TestMapFlowBadWindowOnPropertiesNeverReady(t *testing.T) { | |
| 282 | + | hs := newHarness(t, nil) | |
| 283 | + | const win = 0x500001 | |
| 284 | + | hs.classic(win) | |
| 285 | + | hs.p.set(func(p *xpeer) { p.bad[win] = true }) | |
| 286 | + | s := hs.create(win) | |
| 287 | + | hs.p.mapRequest(win) | |
| 288 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Errors >= uint64(propCount)+1 }) | |
| 289 | + | require.Zero(t, hs.x.tab.rec(s).pending, "failed replies are no longer awaited") | |
| 290 | + | require.False(t, hs.x.tab.rec(s).ready) | |
| 291 | + | require.Zero(t, hs.x.Stats().Unattributed) | |
| 292 | + | ||
| 293 | + | hs.h.EXPECT().Dissociate(s, true).Once() | |
| 294 | + | hs.p.destroyNotify(win) | |
| 295 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(win) == 0 }) | |
| 296 | + | } | |
| 297 | + | ||
| 298 | + | func TestMapRequestTwiceBeforeReadyAsksOnce(t *testing.T) { | |
| 299 | + | hs := newHarness(t, nil) | |
| 300 | + | const win = 0x500001 | |
| 301 | + | hs.classic(win) | |
| 302 | + | hs.create(win) | |
| 303 | + | hs.p.holdReplies() | |
| 304 | + | hs.p.mapRequest(win) | |
| 305 | + | hs.p.mapRequest(win) | |
| 306 | + | hs.expectReady(win) | |
| 307 | + | hs.waitMap(win) | |
| 308 | + | hs.p.release() | |
| 309 | + | readUntil(t, hs.x, func() bool { _, ok := hs.ready[win]; return ok }) | |
| 310 | + | require.Equal(t, 1, hs.count(func(r xpeerReq) bool { return r.major == opMapWindow && r.u32(4) == win })) | |
| 311 | + | } | |
| 312 | + | ||
| 313 | + | func TestMapNotifyMarksMapped(t *testing.T) { | |
| 314 | + | hs := newHarness(t, nil) | |
| 315 | + | const win = 0x500001 | |
| 316 | + | hs.classic(win) | |
| 317 | + | s := hs.mapAndWait(win) | |
| 318 | + | hs.p.mapNotify(win) | |
| 319 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).mapped }) | |
| 320 | + | } | |
| 321 | + | ||
| 322 | + | // Property changes after Ready. | |
| 323 | + | ||
| 324 | + | func (hs *harness) notify(win uint32, atom string, deleted bool) { | |
| 325 | + | hs.t.Helper() | |
| 326 | + | before := hs.x.Stats().Replies | |
| 327 | + | hs.p.propertyNotify(win, hs.p.atom(atom), deleted) | |
| 328 | + | if deleted { | |
| 329 | + | hs.p.propertyNotify(win, hs.p.atom("WM_PROTOCOLS"), false) // sentinel: one reply follows | |
| 330 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Replies > before }) | |
| 331 | + | return | |
| 332 | + | } | |
| 333 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Replies > before }) | |
| 334 | + | } | |
| 335 | + | ||
| 336 | + | func TestPropertyChangedTitleReachesHostOnce(t *testing.T) { | |
| 337 | + | hs := newHarness(t, nil) | |
| 338 | + | const win = 0x500001 | |
| 339 | + | hs.classic(win) | |
| 340 | + | s := hs.mapAndWait(win) | |
| 341 | + | ||
| 342 | + | hs.h.EXPECT().Title(s, "renamed").Once() | |
| 343 | + | hs.str(win, "_NET_WM_NAME", hs.p.atom("UTF8_STRING"), "renamed") | |
| 344 | + | hs.notify(win, "_NET_WM_NAME", false) | |
| 345 | + | require.Equal(t, "renamed", hs.x.tab.rec(s).title) | |
| 346 | + | ||
| 347 | + | // Same value again: no host call (the mock fails on an unexpected one). | |
| 348 | + | hs.notify(win, "_NET_WM_NAME", false) | |
| 349 | + | ||
| 350 | + | // WM_NAME is ignored while _NET_WM_NAME is set. | |
| 351 | + | hs.p.setProp(win, uint32(xproto.AtomWmName), uint32(xproto.AtomString), 8, []byte("legacy")) | |
| 352 | + | before := hs.x.Stats().Events | |
| 353 | + | hs.p.propertyNotify(win, uint32(xproto.AtomWmName), false) | |
| 354 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Events > before }) | |
| 355 | + | require.Equal(t, "renamed", hs.x.tab.rec(s).title) | |
| 356 | + | } | |
| 357 | + | ||
| 358 | + | func TestPropertyNetNameDeletedFallsBackToWMName(t *testing.T) { | |
| 359 | + | hs := newHarness(t, nil) | |
| 360 | + | const win = 0x500001 | |
| 361 | + | hs.classic(win) | |
| 362 | + | s := hs.mapAndWait(win) | |
| 363 | + | hs.p.set(func(p *xpeer) { delete(p.props[win], p.atoms["_NET_WM_NAME"]) }) | |
| 364 | + | hs.h.EXPECT().Title(s, "old title").Once() | |
| 365 | + | hs.p.propertyNotify(win, hs.p.atom("_NET_WM_NAME"), true) | |
| 366 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).title == "old title" }) | |
| 367 | + | } | |
| 368 | + | ||
| 369 | + | func TestPropertyClassChangeReachesHost(t *testing.T) { | |
| 370 | + | hs := newHarness(t, nil) | |
| 371 | + | const win = 0x500001 | |
| 372 | + | hs.classic(win) | |
| 373 | + | s := hs.mapAndWait(win) | |
| 374 | + | hs.h.EXPECT().AppID(s, "Other").Once() | |
| 375 | + | hs.p.setProp(win, uint32(xproto.AtomWmClass), uint32(xproto.AtomString), 8, []byte("i\x00Other\x00")) | |
| 376 | + | hs.p.propertyNotify(win, uint32(xproto.AtomWmClass), false) | |
| 377 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).class == "Other" }) | |
| 378 | + | } | |
| 379 | + | ||
| 380 | + | func TestPropertyTransientChangeReachesHost(t *testing.T) { | |
| 381 | + | hs := newHarness(t, nil) | |
| 382 | + | const a, b = 0x500001, 0x500002 | |
| 383 | + | hs.classic(a) | |
| 384 | + | as := hs.mapAndWait(a) | |
| 385 | + | hs.classic(b) | |
| 386 | + | bs := hs.mapAndWait(b) | |
| 387 | + | hs.h.EXPECT().Parent(bs, as).Once() | |
| 388 | + | hs.p.setProp(b, uint32(xproto.AtomWmTransientFor), uint32(xproto.AtomWindow), 32, le32(a)) | |
| 389 | + | hs.p.propertyNotify(b, uint32(xproto.AtomWmTransientFor), false) | |
| 390 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(bs).transient == a }) | |
| 391 | + | } | |
| 392 | + | ||
| 393 | + | func TestPropertyFullscreenStateChangeReachesHost(t *testing.T) { | |
| 394 | + | hs := newHarness(t, nil) | |
| 395 | + | const win = 0x500001 | |
| 396 | + | hs.classic(win) | |
| 397 | + | s := hs.mapAndWait(win) | |
| 398 | + | hs.h.EXPECT().Fullscreen(s, true).Once() | |
| 399 | + | hs.atoms(win, "_NET_WM_STATE", "_NET_WM_STATE_FULLSCREEN") | |
| 400 | + | hs.p.propertyNotify(win, hs.p.atom("_NET_WM_STATE"), false) | |
| 401 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).fullscreen }) | |
| 402 | + | } | |
| 403 | + | ||
| 404 | + | func TestPropertyInputProtocolsAndHints(t *testing.T) { | |
| 405 | + | hs := newHarness(t, nil) | |
| 406 | + | const win = 0x500001 | |
| 407 | + | hs.classic(win) | |
| 408 | + | hs.atoms(win, "WM_PROTOCOLS", "WM_DELETE_WINDOW", "WM_TAKE_FOCUS") | |
| 409 | + | hs.p.setProp(win, uint32(xproto.AtomWmHints), uint32(xproto.AtomWmHints), 32, le32(hintInput, 0, 0, 0, 0, 0, 0, 0, 0)) | |
| 410 | + | s := hs.mapAndWait(win) | |
| 411 | + | r := hs.x.tab.rec(s) | |
| 412 | + | require.True(t, r.deleteWindow) | |
| 413 | + | require.True(t, r.takeFocus) | |
| 414 | + | require.False(t, r.input, "WM_HINTS input = false") | |
| 415 | + | ||
| 416 | + | // No WM_HINTS: input defaults to true. | |
| 417 | + | const other = 0x500002 | |
| 418 | + | hs.classic(other) | |
| 419 | + | o := hs.mapAndWait(other) | |
| 420 | + | require.True(t, hs.x.tab.rec(o).input) | |
| 421 | + | require.False(t, hs.x.tab.rec(o).deleteWindow) | |
| 422 | + | } | |
| 423 | + | ||
| 424 | + | func TestPropertyUnwatchedAtomAsksNothing(t *testing.T) { | |
| 425 | + | hs := newHarness(t, nil) | |
| 426 | + | const win = 0x500001 | |
| 427 | + | hs.classic(win) | |
| 428 | + | hs.mapAndWait(win) | |
| 429 | + | n := len(hs.p.requests()) | |
| 430 | + | hs.p.propertyNotify(win, hs.p.atom("_MOTIF_WM_HINTS"), false) | |
| 431 | + | hs.p.propertyNotify(0x999999, hs.p.atom("_NET_WM_NAME"), false) // unknown window | |
| 432 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Events >= 2 }) | |
| 433 | + | require.Len(t, hs.p.requests(), n) | |
| 434 | + | } | |
| 435 | + | ||
| 436 | + | // Pairing. | |
| 437 | + | ||
| 438 | + | func (hs *harness) serialMsg(win uint32, serial uint64) { | |
| 439 | + | hs.p.clientMessage(win, hs.p.atom("WL_SURFACE_SERIAL"), uint32(serial), uint32(serial>>32)) | |
| 440 | + | hs.t.Helper() | |
| 441 | + | before := hs.x.Stats().Events | |
| 442 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Events > before }) | |
| 443 | + | } | |
| 444 | + | ||
| 445 | + | func TestPairingSerialBeforeSetSerial(t *testing.T) { | |
| 446 | + | hs := newHarness(t, nil) | |
| 447 | + | const win = 0x500001 | |
| 448 | + | hs.classic(win) | |
| 449 | + | s := hs.mapAndWait(win) | |
| 450 | + | hs.serialMsg(win, 0x1_0000_0002) | |
| 451 | + | require.EqualValues(t, 0x1_0000_0002, hs.x.tab.rec(s).serial, "high word in data32[1]") | |
| 452 | + | hs.h.EXPECT().Associate(s, uint64(99)).Once() | |
| 453 | + | hs.x.SetSerial(99, 0x1_0000_0002) | |
| 454 | + | require.EqualValues(t, 99, hs.x.tab.rec(s).surface) | |
| 455 | + | require.Zero(t, hs.x.unpairedN) | |
| 456 | + | } | |
| 457 | + | ||
| 458 | + | func TestPairingSetSerialBeforeSerial(t *testing.T) { | |
| 459 | + | hs := newHarness(t, nil) | |
| 460 | + | const win = 0x500001 | |
| 461 | + | hs.classic(win) | |
| 462 | + | s := hs.mapAndWait(win) | |
| 463 | + | hs.x.SetSerial(99, 7) | |
| 464 | + | require.Equal(t, 1, hs.x.unpairedN) | |
| 465 | + | hs.h.EXPECT().Associate(s, uint64(99)).Once() | |
| 466 | + | hs.serialMsg(win, 7) | |
| 467 | + | require.Zero(t, hs.x.unpairedN) | |
| 468 | + | } | |
| 469 | + | ||
| 470 | + | func TestPairingWaitsForReady(t *testing.T) { | |
| 471 | + | hs := newHarness(t, nil) | |
| 472 | + | const win = 0x500001 | |
| 473 | + | hs.classic(win) | |
| 474 | + | s := hs.create(win) | |
| 475 | + | hs.x.SetSerial(5, 3) | |
| 476 | + | hs.serialMsg(win, 3) // not mapped yet: no Associate (the mock fails on one) | |
| 477 | + | require.Zero(t, hs.x.tab.rec(s).surface) | |
| 478 | + | ||
| 479 | + | hs.h.EXPECT().Associate(s, uint64(5)).Once() | |
| 480 | + | hs.expectReady(win) | |
| 481 | + | hs.p.mapRequest(win) | |
| 482 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).surface != 0 }) | |
| 483 | + | } | |
| 484 | + | ||
| 485 | + | func TestPairingSerialForUnknownWindowIgnored(t *testing.T) { | |
| 486 | + | hs := newHarness(t, nil) | |
| 487 | + | hs.x.SetSerial(5, 3) | |
| 488 | + | hs.serialMsg(0x888888, 3) | |
| 489 | + | require.Equal(t, 1, hs.x.unpairedN, "stays unpaired") | |
| 490 | + | } | |
| 491 | + | ||
| 492 | + | func TestPairingSurfaceGoneBeforePair(t *testing.T) { | |
| 493 | + | hs := newHarness(t, nil) | |
| 494 | + | const win = 0x500001 | |
| 495 | + | hs.classic(win) | |
| 496 | + | s := hs.mapAndWait(win) | |
| 497 | + | hs.x.SetSerial(5, 3) | |
| 498 | + | hs.x.SurfaceGone(5) | |
| 499 | + | require.Zero(t, hs.x.unpairedN) | |
| 500 | + | hs.serialMsg(win, 3) // the surface is gone: nothing to pair with | |
| 501 | + | require.Zero(t, hs.x.tab.rec(s).surface) | |
| 502 | + | } | |
| 503 | + | ||
| 504 | + | func TestPairingSurfaceGoneAfterPairClearsLink(t *testing.T) { | |
| 505 | + | hs := newHarness(t, nil) | |
| 506 | + | const win = 0x500001 | |
| 507 | + | hs.classic(win) | |
| 508 | + | s := hs.mapAndWait(win) | |
| 509 | + | hs.serialMsg(win, 3) | |
| 510 | + | hs.h.EXPECT().Associate(s, uint64(5)).Once() | |
| 511 | + | hs.x.SetSerial(5, 3) | |
| 512 | + | hs.x.SurfaceGone(5) | |
| 513 | + | require.Zero(t, hs.x.tab.rec(s).surface) | |
| 514 | + | } | |
| 515 | + | ||
| 516 | + | func TestPairingDuplicateSerialIgnored(t *testing.T) { | |
| 517 | + | hs := newHarness(t, nil) | |
| 518 | + | const win = 0x500001 | |
| 519 | + | hs.classic(win) | |
| 520 | + | s := hs.mapAndWait(win) | |
| 521 | + | hs.serialMsg(win, 3) | |
| 522 | + | hs.serialMsg(win, 4) | |
| 523 | + | require.EqualValues(t, 3, hs.x.tab.rec(s).serial) | |
| 524 | + | hs.x.SetSerial(8, 4) // nobody announces 4: stays unpaired | |
| 525 | + | require.Equal(t, 1, hs.x.unpairedN) | |
| 526 | + | } | |
| 527 | + | ||
| 528 | + | func TestPairingUnmanagedKeepsSurfaceWithoutAssociate(t *testing.T) { | |
| 529 | + | hs := newHarness(t, nil) | |
| 530 | + | hs.p.createNotify(0x500009, true) | |
| 531 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(0x500009) != 0 }) | |
| 532 | + | hs.serialMsg(0x500009, 3) | |
| 533 | + | hs.x.SetSerial(5, 3) // the mock fails on an Associate | |
| 534 | + | require.EqualValues(t, 5, hs.x.tab.rec(hs.x.Slot(0x500009)).surface) | |
| 535 | + | } | |
| 536 | + | ||
| 537 | + | func TestPairingTableOverflowDropsOldest(t *testing.T) { | |
| 538 | + | hs := newHarness(t, nil) | |
| 539 | + | for i := uint64(1); i <= unpairedCap+1; i++ { | |
| 540 | + | hs.x.SetSerial(100+i, i) | |
| 541 | + | } | |
| 542 | + | require.Equal(t, unpairedCap, hs.x.unpairedN) | |
| 543 | + | for i := 0; i < hs.x.unpairedN; i++ { | |
| 544 | + | require.NotEqual(t, uint64(1), hs.x.unpaired[i].serial, "oldest dropped") | |
| 545 | + | } | |
| 546 | + | } | |
| 547 | + | ||
| 548 | + | func TestPairingZeroSerialIgnored(t *testing.T) { | |
| 549 | + | hs := newHarness(t, nil) | |
| 550 | + | hs.x.SetSerial(5, 0) | |
| 551 | + | require.Zero(t, hs.x.unpairedN) | |
| 552 | + | } | |
| 553 | + | ||
| 554 | + | func TestLegacySurfaceIDCountedAndIgnored(t *testing.T) { | |
| 555 | + | hs := newHarness(t, nil) | |
| 556 | + | const win = 0x500001 | |
| 557 | + | hs.classic(win) | |
| 558 | + | s := hs.mapAndWait(win) | |
| 559 | + | hs.p.clientMessage(win, hs.p.atom("WL_SURFACE_ID"), 12) | |
| 560 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().LegacyID == 1 }) | |
| 561 | + | require.Zero(t, hs.x.tab.rec(s).serial) | |
| 562 | + | } | |
| 563 | + | ||
| 564 | + | func TestNetWMStateClientMessageForwardsFullscreen(t *testing.T) { | |
| 565 | + | hs := newHarness(t, nil) | |
| 566 | + | const win = 0x500001 | |
| 567 | + | hs.classic(win) | |
| 568 | + | s := hs.mapAndWait(win) | |
| 569 | + | hs.h.EXPECT().Fullscreen(s, true).Once() | |
| 570 | + | hs.p.clientMessage(win, hs.p.atom("_NET_WM_STATE"), 1, hs.p.atom("_NET_WM_STATE_FULLSCREEN")) | |
| 571 | + | readUntil(t, hs.x, func() bool { return hs.x.tab.rec(s).fullscreen }) | |
| 572 | + | hs.h.EXPECT().Fullscreen(s, false).Once() // toggle | |
| 573 | + | hs.p.clientMessage(win, hs.p.atom("_NET_WM_STATE"), 2, hs.p.atom("_NET_WM_STATE_FULLSCREEN")) | |
| 574 | + | readUntil(t, hs.x, func() bool { return !hs.x.tab.rec(s).fullscreen }) | |
| 575 | + | // Not written back by the message itself. | |
| 576 | + | st, ok := hs.p.prop(win, "_NET_WM_STATE") | |
| 577 | + | require.True(t, ok) | |
| 578 | + | require.Empty(t, st.data) | |
| 579 | + | } | |
| 580 | + | ||
| 581 | + | // Unmap, destroy, remap. | |
| 582 | + | ||
| 583 | + | func TestUnmapDissociatesAndRemapRereadsProperties(t *testing.T) { | |
| 584 | + | hs := newHarness(t, nil) | |
| 585 | + | const win = 0x500001 | |
| 586 | + | hs.classic(win) | |
| 587 | + | s := hs.mapAndWait(win) | |
| 588 | + | ||
| 589 | + | // A synthetic UnmapNotify (ICCCM withdraw request) is not an unmap. | |
| 590 | + | hs.p.unmapNotify(win, true) | |
| 591 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Events >= 2 }) | |
| 592 | + | require.True(t, hs.x.tab.rec(s).ready) | |
| 593 | + | ||
| 594 | + | hs.h.EXPECT().Dissociate(s, false).Once() | |
| 595 | + | hs.p.unmapNotify(win, false) | |
| 596 | + | readUntil(t, hs.x, func() bool { return !hs.x.tab.rec(s).ready }) | |
| 597 | + | r := hs.x.tab.rec(s) | |
| 598 | + | require.False(t, r.mapping) | |
| 599 | + | require.Zero(t, r.serial) | |
| 600 | + | hs.p.waitReq(0, func(q xpeerReq) bool { | |
| 601 | + | return q.major == opSetInputFocus || q.major == opChangeProperty && q.u32(4) == win | |
| 602 | + | }) | |
| 603 | + | readUntil(t, hs.x, func() bool { | |
| 604 | + | v, ok := hs.p.prop(win, "WM_STATE") | |
| 605 | + | return ok && len(v.data) == 8 && binary.LittleEndian.Uint32(v.data) == 0 | |
| 606 | + | }) | |
| 607 | + | _, ok := hs.p.prop(win, "_NET_WM_STATE") | |
| 608 | + | require.False(t, ok, "_NET_WM_STATE deleted") | |
| 609 | + | list, _ := hs.p.prop(peerRoot, "_NET_CLIENT_LIST") | |
| 610 | + | require.Empty(t, list.data) | |
| 611 | + | ||
| 612 | + | // Remap starts over. | |
| 613 | + | delete(hs.ready, win) | |
| 614 | + | hs.expectReady(win) | |
| 615 | + | n := hs.count(func(q xpeerReq) bool { return q.major == opGetProperty && q.u32(4) == win }) | |
| 616 | + | hs.p.mapRequest(win) | |
| 617 | + | readUntil(t, hs.x, func() bool { _, ok := hs.ready[win]; return ok }) | |
| 618 | + | require.Equal(t, n+propCount, hs.count(func(q xpeerReq) bool { return q.major == opGetProperty && q.u32(4) == win })) | |
| 619 | + | list, _ = hs.p.prop(peerRoot, "_NET_CLIENT_LIST") | |
| 620 | + | require.Equal(t, []uint32{win}, atomsOf(list)) | |
| 621 | + | } | |
| 622 | + | ||
| 623 | + | func TestDestroyWhileMappingNeverReady(t *testing.T) { | |
| 624 | + | hs := newHarness(t, nil) | |
| 625 | + | const win = 0x500001 | |
| 626 | + | hs.classic(win) | |
| 627 | + | s := hs.create(win) | |
| 628 | + | hs.p.holdReplies() | |
| 629 | + | hs.p.mapRequest(win) | |
| 630 | + | hs.waitMap(win) | |
| 631 | + | hs.h.EXPECT().Dissociate(s, true).Once() | |
| 632 | + | hs.p.destroyNotify(win) | |
| 633 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(win) == 0 }) | |
| 634 | + | replies := hs.x.Stats().Replies | |
| 635 | + | hs.p.release() // replies for a window that is gone: xturbo retired their slots | |
| 636 | + | readUntil(t, hs.x, func() bool { return hs.x.conn.Stats().DroppedReplies >= uint64(propCount) }) | |
| 637 | + | require.Equal(t, replies, hs.x.Stats().Replies, "none reaches the XWM") | |
| 638 | + | } | |
| 639 | + | ||
| 640 | + | func TestStaleRepliesAfterSlotReuseAreIgnored(t *testing.T) { | |
| 641 | + | hs := newHarness(t, nil) | |
| 642 | + | const old, fresh = 0x500001, 0x500002 | |
| 643 | + | hs.classic(old) | |
| 644 | + | hs.classic(fresh) | |
| 645 | + | s := hs.create(old) | |
| 646 | + | hs.p.holdReplies() | |
| 647 | + | hs.p.mapRequest(old) | |
| 648 | + | hs.waitMap(old) | |
| 649 | + | hs.h.EXPECT().Dissociate(s, true).Once() | |
| 650 | + | hs.p.destroyNotify(old) | |
| 651 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(old) == 0 }) | |
| 652 | + | ||
| 653 | + | hs.expectCreated(fresh) | |
| 654 | + | hs.p.createNotify(fresh, false) | |
| 655 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(fresh) != 0 }) | |
| 656 | + | require.Equal(t, s, hs.x.Slot(fresh), "the freed slot is reused") | |
| 657 | + | ||
| 658 | + | hs.p.release() | |
| 659 | + | readUntil(t, hs.x, func() bool { return hs.x.conn.Stats().DroppedReplies >= uint64(propCount) }) | |
| 660 | + | ||
| 661 | + | // A reply that does get through with the old tag (slot reused, generation | |
| 662 | + | // bumped) is ignored. | |
| 663 | + | oldTag := s | Slot(hs.x.tab.rec(s).gen-1)<<16 | |
| 664 | + | rep := make([]byte, 32) | |
| 665 | + | rep[0] = 1 | |
| 666 | + | hs.x.onReply(&xturbo.Reply{Kind: kindProp, Args: [4]uint32{uint32(oldTag), propClass}, Raw: rep}) | |
| 667 | + | hs.x.onReply(&xturbo.Reply{Kind: kindGeom, Args: [4]uint32{uint32(oldTag)}, Raw: rep}) | |
| 668 | + | require.EqualValues(t, 2, hs.x.Stats().Stale) | |
| 669 | + | require.False(t, hs.x.tab.rec(s).ready, "stale replies must not complete the new window") | |
| 670 | + | require.Zero(t, hs.x.tab.rec(s).pending) | |
| 671 | + | } | |
| 672 | + | ||
| 673 | + | // Reparenting. | |
| 674 | + | ||
| 675 | + | func TestReparentAwayFromRootRemovesManagedWindow(t *testing.T) { | |
| 676 | + | hs := newHarness(t, nil) | |
| 677 | + | const win = 0x500001 | |
| 678 | + | hs.classic(win) | |
| 679 | + | s := hs.mapAndWait(win) | |
| 680 | + | hs.h.EXPECT().Dissociate(s, true).Once() | |
| 681 | + | hs.p.reparentNotify(win, 0x600000) | |
| 682 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(win) == 0 }) | |
| 683 | + | list, _ := hs.p.prop(peerRoot, "_NET_CLIENT_LIST") | |
| 684 | + | require.Empty(t, list.data) | |
| 685 | + | require.Zero(t, hs.x.tab.n) | |
| 686 | + | } | |
| 687 | + | ||
| 688 | + | func TestReparentAwayOfUnmanagedWindowRemovesIt(t *testing.T) { | |
| 689 | + | hs := newHarness(t, nil) | |
| 690 | + | hs.p.createNotify(0x500009, true) | |
| 691 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(0x500009) != 0 }) | |
| 692 | + | hs.p.reparentNotify(0x500009, 0x600000) | |
| 693 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(0x500009) == 0 }) | |
| 694 | + | } | |
| 695 | + | ||
| 696 | + | func TestReparentIntoRootAdoptsWindow(t *testing.T) { | |
| 697 | + | hs := newHarness(t, nil) | |
| 698 | + | const win = 0x500001 | |
| 699 | + | hs.expectCreated(win) | |
| 700 | + | hs.p.reparentNotify(win, peerRoot) | |
| 701 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(win) != 0 }) | |
| 702 | + | require.Equal(t, kindManaged, hs.x.tab.rec(hs.x.Slot(win)).kind) | |
| 703 | + | ||
| 704 | + | // Already known: no second Created. | |
| 705 | + | hs.p.reparentNotify(win, peerRoot) | |
| 706 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Events >= 2 }) | |
| 707 | + | } | |
| 708 | + | ||
| 709 | + | func TestReparentIntoRootOfOverrideRedirectWindowStaysUnmanaged(t *testing.T) { | |
| 710 | + | hs := newHarness(t, nil) | |
| 711 | + | hs.p.event(21, func(b *[32]byte) { | |
| 712 | + | binary.LittleEndian.PutUint32(b[4:], peerRoot) | |
| 713 | + | binary.LittleEndian.PutUint32(b[8:], 0x500009) | |
| 714 | + | binary.LittleEndian.PutUint32(b[12:], peerRoot) | |
| 715 | + | b[20] = 1 | |
| 716 | + | }) | |
| 717 | + | readUntil(t, hs.x, func() bool { return hs.x.Slot(0x500009) != 0 }) | |
| 718 | + | require.Equal(t, kindUnmanaged, hs.x.tab.rec(hs.x.Slot(0x500009)).kind) | |
| 719 | + | } | |
| 720 | + | ||
| 721 | + | func TestReparentOfWMWindowIgnored(t *testing.T) { | |
| 722 | + | hs := newHarness(t, nil) | |
| 723 | + | hs.p.reparentNotify(hs.x.wmWin, peerRoot) | |
| 724 | + | readUntil(t, hs.x, func() bool { return hs.x.Stats().Events >= 1 }) | |
| 725 | + | require.Zero(t, hs.x.Slot(hs.x.wmWin)) | |
| 726 | + | } | |
| 727 | + | ||
| 728 | + | // Window known only before Attach: Attach replays the map flow. | |
| 729 | + | func TestAttachMapsWindowsRequestedBeforeAttach(t *testing.T) { | |
| 730 | + | x, p := bootPeer(t, nil) | |
| 731 | + | const win = 0x500001 | |
| 732 | + | p.setProp(win, uint32(xproto.AtomWmClass), uint32(xproto.AtomString), 8, []byte("a\x00B\x00")) | |
| 733 | + | p.createNotify(win, false) | |
| 734 | + | p.mapRequest(win) | |
| 735 | + | readUntil(t, x, func() bool { return x.Stats().Events >= 2 }) | |
| 736 | + | h := newMockhost(t) | |
| 737 | + | src := newMockfdSource(t) | |
| 738 | + | src.EXPECT().Remove().Maybe() | |
| 739 | + | post, _ := newPost() | |
| 740 | + | var got WindowInfo | |
| 741 | + | done := false | |
| 742 | + | h.EXPECT().Created(mock.Anything, uint32(win)).Return(ports.WindowID(1)).Once() | |
| 743 | + | h.EXPECT().Ready(mock.Anything, mock.Anything).Run(func(_ Slot, i WindowInfo) { got, done = i, true }).Once() | |
| 744 | + | x.attach(src, h, post) | |
| 745 | + | readUntil(t, x, func() bool { return done }) | |
| 746 | + | require.Equal(t, "B", got.AppID) | |
| 747 | + | } | |
| 748 | + | ||
| 749 | + | // Replies complete a map in any order (a server may answer the geometry | |
| 750 | + | // before the properties it was asked for first): Ready fires on the last one. | |
| 751 | + | func TestMapFlowReadyFiresOnLastReplyInAnyOrder(t *testing.T) { | |
| 752 | + | hs := newHarness(t, nil) | |
| 753 | + | const win = 0x500001 | |
| 754 | + | hs.classic(win) | |
| 755 | + | s := hs.create(win) | |
| 756 | + | r := hs.x.tab.rec(s) | |
| 757 | + | r.mapping, r.pending = true, propMaskAll&^propClientIDs | |
| 758 | + | hs.expectReady(win) | |
| 759 | + | order := []int{propCount, propPID, propClass, propNetName, propName, propHints, propNormalHints, propProtocols, propTransientFor, propWindowType, propState} | |
| 760 | + | for i, bit := range order { | |
| 761 | + | require.False(t, hs.x.tab.rec(s).ready, i) | |
| 762 | + | if bit == propCount { // the geometry | |
| 763 | + | hs.x.tab.rec(s).w, hs.x.tab.rec(s).h = 300, 200 | |
| 764 | + | hs.x.tab.rec(s).pending &^= propGeom | |
| 765 | + | hs.x.checkReady(s) | |
| 766 | + | continue | |
| 767 | + | } | |
| 768 | + | var val []byte | |
| 769 | + | var format uint8 = 8 | |
| 770 | + | switch bit { | |
| 771 | + | case propClass: | |
| 772 | + | val = []byte("a\x00B\x00") | |
| 773 | + | case propNetName: | |
| 774 | + | val = []byte("t") | |
| 775 | + | case propPID: | |
| 776 | + | val, format = le32(5), 32 | |
| 777 | + | default: | |
| 778 | + | format = 32 | |
| 779 | + | } | |
| 780 | + | x := hs.x | |
| 781 | + | x.applyProp(s, bit, format, val) | |
| 782 | + | x.tab.rec(s).pending &^= 1 << bit | |
| 783 | + | x.checkReady(s) | |
| 784 | + | } | |
| 785 | + | require.True(t, hs.x.tab.rec(s).ready) | |
| 786 | + | require.Equal(t, "B", hs.ready[win].AppID) | |
| 787 | + | require.Equal(t, "t", hs.ready[win].Title) | |
| 788 | + | require.Equal(t, 5, hs.ready[win].PID) | |
| 789 | + | } | |
M internal/adapters/wayland/xwm/props.go +305 -7
| @@ -1,12 +1,17 @@ | |||
| 1 | 1 | package xwm | |
| 2 | 2 | ||
| 3 | 3 | import ( | |
| 4 | + | "bytes" | |
| 5 | + | "encoding/binary" | |
| 6 | + | ||
| 4 | 7 | "bnema.dev/xturbo" | |
| 8 | + | "bnema.dev/xturbo/res" | |
| 5 | 9 | "bnema.dev/xturbo/xproto" | |
| 6 | 10 | ) | |
| 7 | 11 | ||
| 8 | 12 | // Property indices (second Expect argument of kindProp) and their bits in | |
| 9 | - | // record.pending. propGeom is the GetGeometry bit. | |
| 13 | + | // record.pending. propGeom is the GetGeometry bit; propClientIDs is raised | |
| 14 | + | // while a QueryClientIds reply stands in for a missing _NET_WM_PID. | |
| 10 | 15 | const ( | |
| 11 | 16 | propClass = iota | |
| 12 | 17 | propName | |
| @@ -22,14 +27,307 @@ const ( | |||
| 22 | 27 | ) | |
| 23 | 28 | ||
| 24 | 29 | const ( | |
| 25 | - | propGeom uint16 = 1 << propCount | |
| 30 | + | propGeom uint16 = 1 << propCount | |
| 31 | + | propClientIDs uint16 = propGeom << 1 | |
| 32 | + | // propMaskAll is what a map waits for: every property and the geometry. | |
| 26 | 33 | propMaskAll uint16 = propGeom<<1 - 1 | |
| 27 | 34 | ) | |
| 28 | 35 | ||
| 29 | - | // onPropertyNotify handles a changed property of a managed window. | |
| 30 | - | func (x *XWM) onPropertyNotify(ev *xturbo.Event) { _ = ev } | |
| 36 | + | // WM_NORMAL_HINTS flags and WM_HINTS flags. | |
| 37 | + | const ( | |
| 38 | + | hintInput = 1 << 0 | |
| 39 | + | hintMinSize = 1 << 4 | |
| 40 | + | hintMaxSize = 1 << 5 | |
| 41 | + | ) | |
| 42 | + | ||
| 43 | + | // maxPropWords bounds one GetProperty (4 KiB), so titles are truncated there. | |
| 44 | + | const maxPropWords = 1024 | |
| 45 | + | ||
| 46 | + | // propIndex maps a property atom to its index, or -1 when it is not watched. | |
| 47 | + | func (x *XWM) propIndex(a uint32) int { | |
| 48 | + | switch a { | |
| 49 | + | case uint32(xproto.AtomWmClass): | |
| 50 | + | return propClass | |
| 51 | + | case uint32(xproto.AtomWmName): | |
| 52 | + | return propName | |
| 53 | + | case uint32(xproto.AtomWmHints): | |
| 54 | + | return propHints | |
| 55 | + | case uint32(xproto.AtomWmNormalHints): | |
| 56 | + | return propNormalHints | |
| 57 | + | case uint32(xproto.AtomWmTransientFor): | |
| 58 | + | return propTransientFor | |
| 59 | + | case x.atoms[atomNetWMName]: | |
| 60 | + | return propNetName | |
| 61 | + | case x.atoms[atomWMProtocols]: | |
| 62 | + | return propProtocols | |
| 63 | + | case x.atoms[atomNetWMWindowType]: | |
| 64 | + | return propWindowType | |
| 65 | + | case x.atoms[atomNetWMState]: | |
| 66 | + | return propState | |
| 67 | + | case x.atoms[atomNetWMPID]: | |
| 68 | + | return propPID | |
| 69 | + | } | |
| 70 | + | return -1 | |
| 71 | + | } | |
| 72 | + | ||
| 73 | + | func (x *XWM) propAtom(idx int) xproto.Atom { | |
| 74 | + | switch idx { | |
| 75 | + | case propClass: | |
| 76 | + | return xproto.AtomWmClass | |
| 77 | + | case propName: | |
| 78 | + | return xproto.AtomWmName | |
| 79 | + | case propHints: | |
| 80 | + | return xproto.AtomWmHints | |
| 81 | + | case propNormalHints: | |
| 82 | + | return xproto.AtomWmNormalHints | |
| 83 | + | case propTransientFor: | |
| 84 | + | return xproto.AtomWmTransientFor | |
| 85 | + | case propNetName: | |
| 86 | + | return xproto.Atom(x.atoms[atomNetWMName]) | |
| 87 | + | case propProtocols: | |
| 88 | + | return xproto.Atom(x.atoms[atomWMProtocols]) | |
| 89 | + | case propWindowType: | |
| 90 | + | return xproto.Atom(x.atoms[atomNetWMWindowType]) | |
| 91 | + | case propState: | |
| 92 | + | return xproto.Atom(x.atoms[atomNetWMState]) | |
| 93 | + | default: | |
| 94 | + | return xproto.Atom(x.atoms[atomNetWMPID]) | |
| 95 | + | } | |
| 96 | + | } | |
| 97 | + | ||
| 98 | + | // requestProp queues a GetProperty for property idx of s. | |
| 99 | + | func (x *XWM) requestProp(s Slot, idx int) { | |
| 100 | + | rec := x.tab.rec(s) | |
| 101 | + | seq := xproto.GetProperty(x.conn.Buf(), false, xproto.Window(rec.xid), x.propAtom(idx), xproto.AtomAny, 0, maxPropWords) | |
| 102 | + | rec.pending |= 1 << idx | |
| 103 | + | x.expect(seq, kindProp, x.tab.tag(s), uint32(idx)) | |
| 104 | + | } | |
| 105 | + | ||
| 106 | + | // onPropertyNotify handles a changed property of a managed window that is | |
| 107 | + | // being mapped or is mapped; unwatched atoms cost nothing. | |
| 108 | + | func (x *XWM) onPropertyNotify(ev *xturbo.Event) { | |
| 109 | + | e := xproto.PropertyNotifyOf(ev) | |
| 110 | + | s := x.tab.lookup(uint32(e.Window())) | |
| 111 | + | if s == 0 { | |
| 112 | + | return | |
| 113 | + | } | |
| 114 | + | if rec := x.tab.rec(s); rec.kind != kindManaged || !rec.mapping { | |
| 115 | + | return | |
| 116 | + | } | |
| 117 | + | idx := x.propIndex(uint32(e.Atom())) | |
| 118 | + | if idx < 0 { | |
| 119 | + | return | |
| 120 | + | } | |
| 121 | + | if e.State() == xproto.PropertyDelete { | |
| 122 | + | x.applyProp(s, idx, 0, nil) | |
| 123 | + | return | |
| 124 | + | } | |
| 125 | + | x.requestProp(s, idx) | |
| 126 | + | } | |
| 127 | + | ||
| 128 | + | // onPropReply decodes one GetProperty reply into the record. An absent | |
| 129 | + | // property (format 0) clears its fields. | |
| 130 | + | func (x *XWM) onPropReply(s Slot, _ *record, r *xturbo.Reply) { | |
| 131 | + | idx := int(r.Args[1]) | |
| 132 | + | if idx < 0 || idx >= propCount { | |
| 133 | + | return | |
| 134 | + | } | |
| 135 | + | var format uint8 | |
| 136 | + | var val []byte | |
| 137 | + | if rep, ok := xproto.ParseGetPropertyReply(r.Raw); ok { | |
| 138 | + | format, val = rep.Format(), rep.Value() | |
| 139 | + | } | |
| 140 | + | x.applyProp(s, idx, format, val) | |
| 141 | + | x.tab.rec(s).pending &^= 1 << idx | |
| 142 | + | x.checkReady(s) | |
| 143 | + | } | |
| 144 | + | ||
| 145 | + | func word(b []byte, i int) uint32 { return binary.LittleEndian.Uint32(b[4*i:]) } | |
| 146 | + | ||
| 147 | + | // applyProp stores one decoded property. It does not allocate unless a string | |
| 148 | + | // changed. Host calls come last: the record is not touched after them. | |
| 149 | + | func (x *XWM) applyProp(s Slot, idx int, format uint8, val []byte) { | |
| 150 | + | rec := x.tab.rec(s) | |
| 151 | + | if idx == propClass || idx == propName || idx == propNetName { | |
| 152 | + | if format != 8 { | |
| 153 | + | val = nil | |
| 154 | + | } | |
| 155 | + | } else if format != 32 { | |
| 156 | + | val = nil | |
| 157 | + | } | |
| 158 | + | switch idx { | |
| 159 | + | case propClass: | |
| 160 | + | inst, class := val, []byte(nil) | |
| 161 | + | if i := bytes.IndexByte(val, 0); i >= 0 { | |
| 162 | + | inst, class = val[:i], val[i+1:] | |
| 163 | + | if j := bytes.IndexByte(class, 0); j >= 0 { | |
| 164 | + | class = class[:j] | |
| 165 | + | } | |
| 166 | + | } | |
| 167 | + | app := class | |
| 168 | + | if len(app) == 0 { | |
| 169 | + | app = inst | |
| 170 | + | } | |
| 171 | + | if rec.class == string(app) { | |
| 172 | + | return | |
| 173 | + | } | |
| 174 | + | rec.class = string(app) | |
| 175 | + | if rec.ready { | |
| 176 | + | x.host.AppID(s, rec.class) | |
| 177 | + | } | |
| 178 | + | case propName: | |
| 179 | + | if !rec.hasNetName { | |
| 180 | + | x.setTitle(s, val) | |
| 181 | + | } | |
| 182 | + | case propNetName: | |
| 183 | + | had := rec.hasNetName | |
| 184 | + | rec.hasNetName = len(val) > 0 | |
| 185 | + | if rec.hasNetName { | |
| 186 | + | x.setTitle(s, val) | |
| 187 | + | } else if had && rec.mapping { | |
| 188 | + | x.requestProp(s, propName) | |
| 189 | + | } | |
| 190 | + | case propHints: | |
| 191 | + | rec.input = true | |
| 192 | + | if len(val) >= 8 && word(val, 0)&hintInput != 0 { | |
| 193 | + | rec.input = word(val, 1) != 0 | |
| 194 | + | } | |
| 195 | + | case propNormalHints: | |
| 196 | + | rec.minW, rec.minH, rec.maxW, rec.maxH = 0, 0, 0, 0 | |
| 197 | + | if len(val) >= 36 { | |
| 198 | + | fl := word(val, 0) | |
| 199 | + | if fl&hintMinSize != 0 { | |
| 200 | + | rec.minW, rec.minH = int32(word(val, 5)), int32(word(val, 6)) | |
| 201 | + | } | |
| 202 | + | if fl&hintMaxSize != 0 { | |
| 203 | + | rec.maxW, rec.maxH = int32(word(val, 7)), int32(word(val, 8)) | |
| 204 | + | } | |
| 205 | + | } | |
| 206 | + | case propProtocols: | |
| 207 | + | rec.deleteWindow, rec.takeFocus = false, false | |
| 208 | + | for i := 0; i+4 <= len(val); i += 4 { | |
| 209 | + | switch binary.LittleEndian.Uint32(val[i:]) { | |
| 210 | + | case x.atoms[atomWMDeleteWindow]: | |
| 211 | + | rec.deleteWindow = true | |
| 212 | + | case x.atoms[atomWMTakeFocus]: | |
| 213 | + | rec.takeFocus = true | |
| 214 | + | } | |
| 215 | + | } | |
| 216 | + | case propTransientFor: | |
| 217 | + | var t uint32 | |
| 218 | + | if len(val) >= 4 { | |
| 219 | + | t = word(val, 0) | |
| 220 | + | } | |
| 221 | + | if t == rec.transient { | |
| 222 | + | return | |
| 223 | + | } | |
| 224 | + | rec.transient = t | |
| 225 | + | if rec.ready { | |
| 226 | + | x.host.Parent(s, x.managedSlot(t)) | |
| 227 | + | } | |
| 228 | + | case propWindowType: | |
| 229 | + | rec.wtype = 0 | |
| 230 | + | for i := 0; i+4 <= len(val); i += 4 { | |
| 231 | + | if t := x.windowType(binary.LittleEndian.Uint32(val[i:])); t != 0 { | |
| 232 | + | rec.wtype = t | |
| 233 | + | break | |
| 234 | + | } | |
| 235 | + | } | |
| 236 | + | case propState: | |
| 237 | + | var modal, fs bool | |
| 238 | + | for i := 0; i+4 <= len(val); i += 4 { | |
| 239 | + | switch binary.LittleEndian.Uint32(val[i:]) { | |
| 240 | + | case x.atoms[atomNetWMStateModal]: | |
| 241 | + | modal = true | |
| 242 | + | case x.atoms[atomNetWMStateFullscreen]: | |
| 243 | + | fs = true | |
| 244 | + | } | |
| 245 | + | } | |
| 246 | + | changed := fs != rec.fullscreen | |
| 247 | + | rec.modal, rec.fullscreen = modal, fs | |
| 248 | + | if changed && rec.ready { | |
| 249 | + | x.host.Fullscreen(s, fs) | |
| 250 | + | } | |
| 251 | + | case propPID: | |
| 252 | + | if len(val) >= 4 { | |
| 253 | + | rec.pid = int32(word(val, 0)) | |
| 254 | + | return | |
| 255 | + | } | |
| 256 | + | rec.pid = 0 | |
| 257 | + | if !rec.ready && rec.pending&propClientIDs == 0 && x.conn.Ext().Info(xturbo.ExtRes).Present { | |
| 258 | + | x.queryClientIDs(s) | |
| 259 | + | } | |
| 260 | + | } | |
| 261 | + | } | |
| 262 | + | ||
| 263 | + | // setTitle stores a title when it differs; only a change allocates. | |
| 264 | + | func (x *XWM) setTitle(s Slot, val []byte) { | |
| 265 | + | rec := x.tab.rec(s) | |
| 266 | + | if rec.title == string(val) { | |
| 267 | + | return | |
| 268 | + | } | |
| 269 | + | rec.title = string(val) | |
| 270 | + | if rec.ready { | |
| 271 | + | x.host.Title(s, rec.title) | |
| 272 | + | } | |
| 273 | + | } | |
| 274 | + | ||
| 275 | + | // windowType returns the atom enum of a recognised _NET_WM_WINDOW_TYPE atom, | |
| 276 | + | // or 0. | |
| 277 | + | func (x *XWM) windowType(a uint32) uint8 { | |
| 278 | + | for t := atomNetWMWindowTypeNormal; t <= atomNetWMWindowTypeDND; t++ { | |
| 279 | + | if x.atoms[t] == a { | |
| 280 | + | return uint8(t) | |
| 281 | + | } | |
| 282 | + | } | |
| 283 | + | return 0 | |
| 284 | + | } | |
| 285 | + | ||
| 286 | + | // floatingType reports whether a window type floats by itself. | |
| 287 | + | func floatingType(t uint8) bool { | |
| 288 | + | switch int(t) { | |
| 289 | + | case atomNetWMWindowTypeDialog, atomNetWMWindowTypeUtility, atomNetWMWindowTypeSplash, atomNetWMWindowTypeToolbar: | |
| 290 | + | return true | |
| 291 | + | } | |
| 292 | + | return false | |
| 293 | + | } | |
| 294 | + | ||
| 295 | + | // managedSlot returns the slot of the managed window xid, or 0. | |
| 296 | + | func (x *XWM) managedSlot(xid uint32) Slot { | |
| 297 | + | if xid == 0 { | |
| 298 | + | return 0 | |
| 299 | + | } | |
| 300 | + | if s := x.tab.lookup(xid); s != 0 && x.tab.rec(s).kind == kindManaged { | |
| 301 | + | return s | |
| 302 | + | } | |
| 303 | + | return 0 | |
| 304 | + | } | |
| 31 | 305 | ||
| 32 | - | // onPropReply decodes one GetProperty reply into the record. | |
| 33 | - | func (x *XWM) onPropReply(s Slot, rec *record, r *xturbo.Reply) { _, _, _ = s, rec, r } | |
| 306 | + | // queryClientIDs asks XRes for the PID of the client owning s, which stands | |
| 307 | + | // in for a missing _NET_WM_PID: Ready waits for it (propClientIDs). | |
| 308 | + | func (x *XWM) queryClientIDs(s Slot) { | |
| 309 | + | rec := x.tab.rec(s) | |
| 310 | + | specs := [1]res.ClientIdSpec{{Client: rec.xid, Mask: res.ClientIdMaskLocalClientPID}} | |
| 311 | + | seq := res.QueryClientIds(x.conn.Buf(), specs[:]) | |
| 312 | + | if seq == 0 { | |
| 313 | + | return | |
| 314 | + | } | |
| 315 | + | rec.pending |= propClientIDs | |
| 316 | + | x.expect(seq, kindClientIds, x.tab.tag(s), 0) | |
| 317 | + | } | |
| 34 | 318 | ||
| 35 | - | var _ = xproto.AtomWmClass | |
| 319 | + | // onClientIdsReply stores the PID XRes found and releases the map. | |
| 320 | + | func (x *XWM) onClientIdsReply(s Slot, rec *record, r *xturbo.Reply) { | |
| 321 | + | if q, ok := res.ParseQueryClientIdsReply(r.Raw); ok { | |
| 322 | + | it := q.Ids() | |
| 323 | + | for it.Next() { | |
| 324 | + | v := it.Value() | |
| 325 | + | if v.Spec().Mask == res.ClientIdMaskLocalClientPID && v.Value().Len() > 0 { | |
| 326 | + | rec.pid = int32(v.Value().At(0)) | |
| 327 | + | break | |
| 328 | + | } | |
| 329 | + | } | |
| 330 | + | } | |
| 331 | + | rec.pending &^= propClientIDs | |
| 332 | + | x.checkReady(s) | |
| 333 | + | } | |
A internal/adapters/wayland/xwm/streams_test.go +178 -0
| @@ -0,0 +1,178 @@ | |||
| 1 | + | package xwm | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "encoding/hex" | |
| 5 | + | "os" | |
| 6 | + | "path/filepath" | |
| 7 | + | "runtime" | |
| 8 | + | "strings" | |
| 9 | + | "testing" | |
| 10 | + | "time" | |
| 11 | + | ||
| 12 | + | "bnema.dev/xturbo/xproto" | |
| 13 | + | "github.com/stretchr/testify/require" | |
| 14 | + | ) | |
| 15 | + | ||
| 16 | + | // The recorded streams are the bytes an X server wrote to the XWM during a | |
| 17 | + | // steady-state session of one mapped window, captured from the scripted xpeer | |
| 18 | + | // (real encoded X packets: events, GetProperty replies). The scenario is | |
| 19 | + | // deterministic, so a replay meets the request sequence numbers it recorded. | |
| 20 | + | // They are not xtrace captures of a real Xwayland: xpeer speaks the same wire | |
| 21 | + | // protocol and keeps the fixture reproducible. Regenerate with | |
| 22 | + | // | |
| 23 | + | // XWM_UPDATE_STREAMS=1 go test ./internal/adapters/wayland/xwm -run TestRecordedStreams | |
| 24 | + | const ( | |
| 25 | + | streamCycles = 400 | |
| 26 | + | streamWarm = 20 // cycles replayed before measuring | |
| 27 | + | ) | |
| 28 | + | ||
| 29 | + | const streamWin = 0x500001 | |
| 30 | + | ||
| 31 | + | type streamKind struct { | |
| 32 | + | name string | |
| 33 | + | // perCycle is Events+Replies the XWM sees per cycle. | |
| 34 | + | perCycle int | |
| 35 | + | cycle func(hs *harness) | |
| 36 | + | } | |
| 37 | + | ||
| 38 | + | var streamKinds = []streamKind{ | |
| 39 | + | // A title notification the XWM answers with one GetProperty whose reply | |
| 40 | + | // equals the stored title. | |
| 41 | + | {"property_unchanged", 2, func(hs *harness) { | |
| 42 | + | before := hs.x.Stats().Replies | |
| 43 | + | hs.p.propertyNotify(streamWin, hs.p.atom("_NET_WM_NAME"), false) | |
| 44 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Replies > before }) | |
| 45 | + | }}, | |
| 46 | + | // The same plus ConfigureNotify, FocusIn and MapNotify. | |
| 47 | + | {"steady", 5, func(hs *harness) { | |
| 48 | + | before := hs.x.Stats().Replies | |
| 49 | + | hs.p.propertyNotify(streamWin, hs.p.atom("_NET_WM_NAME"), false) | |
| 50 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Replies > before }) | |
| 51 | + | events := hs.x.Stats().Events | |
| 52 | + | hs.p.configureNotify(streamWin) | |
| 53 | + | hs.p.focusIn(streamWin) | |
| 54 | + | hs.p.mapNotify(streamWin) | |
| 55 | + | readUntil(hs.t, hs.x, func() bool { return hs.x.Stats().Events >= events+3 }) | |
| 56 | + | }}, | |
| 57 | + | } | |
| 58 | + | ||
| 59 | + | // streamScenario boots, maps one window and parks the peer behind a poke so | |
| 60 | + | // nothing but the test writes to the XWM afterwards (an allocation count is | |
| 61 | + | // process-wide). The poke is part of the scenario, recorded or replayed. | |
| 62 | + | func streamScenario(t *testing.T) *harness { | |
| 63 | + | t.Helper() | |
| 64 | + | hs := newHarness(t, nil) | |
| 65 | + | hs.classic(streamWin) | |
| 66 | + | hs.mapAndWait(streamWin) | |
| 67 | + | return hs | |
| 68 | + | } | |
| 69 | + | ||
| 70 | + | func poke(hs *harness) { | |
| 71 | + | hs.t.Helper() | |
| 72 | + | n := len(hs.p.requests()) | |
| 73 | + | xproto.GetInputFocus(hs.x.conn.Buf()) | |
| 74 | + | hs.x.flush() | |
| 75 | + | hs.p.waitReq(n, func(r xpeerReq) bool { return r.major == opGetInputFocus }) | |
| 76 | + | } | |
| 77 | + | ||
| 78 | + | func recordStream(t *testing.T, k streamKind) []byte { | |
| 79 | + | hs := streamScenario(t) | |
| 80 | + | poke(hs) | |
| 81 | + | hs.p.mu.Lock() | |
| 82 | + | hs.p.record = true | |
| 83 | + | hs.p.mu.Unlock() | |
| 84 | + | for i := 0; i < streamCycles; i++ { | |
| 85 | + | k.cycle(hs) | |
| 86 | + | } | |
| 87 | + | hs.p.mu.Lock() | |
| 88 | + | defer hs.p.mu.Unlock() | |
| 89 | + | hs.p.record = false | |
| 90 | + | return append([]byte(nil), hs.p.tap...) | |
| 91 | + | } | |
| 92 | + | ||
| 93 | + | func streamPath(k streamKind) string { | |
| 94 | + | return filepath.Join("testdata", "streams", k.name+".hex") | |
| 95 | + | } | |
| 96 | + | ||
| 97 | + | func loadStream(t *testing.T, k streamKind) []byte { | |
| 98 | + | t.Helper() | |
| 99 | + | text, err := os.ReadFile(streamPath(k)) | |
| 100 | + | require.NoError(t, err) | |
| 101 | + | b, err := hex.DecodeString(strings.Join(strings.Fields(string(text)), "")) | |
| 102 | + | require.NoError(t, err) | |
| 103 | + | return b | |
| 104 | + | } | |
| 105 | + | ||
| 106 | + | func encodeHex(b []byte) string { | |
| 107 | + | var sb strings.Builder | |
| 108 | + | for len(b) > 0 { | |
| 109 | + | n := min(32, len(b)) | |
| 110 | + | sb.WriteString(hex.EncodeToString(b[:n])) | |
| 111 | + | sb.WriteByte('\n') | |
| 112 | + | b = b[n:] | |
| 113 | + | } | |
| 114 | + | return sb.String() | |
| 115 | + | } | |
| 116 | + | ||
| 117 | + | func TestRecordedStreams(t *testing.T) { | |
| 118 | + | for _, k := range streamKinds { | |
| 119 | + | t.Run(k.name, func(t *testing.T) { | |
| 120 | + | got := recordStream(t, k) | |
| 121 | + | if os.Getenv("XWM_UPDATE_STREAMS") != "" { | |
| 122 | + | require.NoError(t, os.MkdirAll(filepath.Dir(streamPath(k)), 0o755)) | |
| 123 | + | require.NoError(t, os.WriteFile(streamPath(k), []byte(encodeHex(got)), 0o644)) | |
| 124 | + | } | |
| 125 | + | require.Equal(t, loadStream(t, k), got, "the committed stream no longer matches the protocol the XWM speaks") | |
| 126 | + | }) | |
| 127 | + | } | |
| 128 | + | } | |
| 129 | + | ||
| 130 | + | // replay feeds the recorded stream and reports the mallocs of the part after | |
| 131 | + | // the warm-up cycles. | |
| 132 | + | func replay(t *testing.T, k streamKind) (mallocs uint64, hs *harness) { | |
| 133 | + | t.Helper() | |
| 134 | + | stream := loadStream(t, k) | |
| 135 | + | hs = streamScenario(t) | |
| 136 | + | hs.p.pause() | |
| 137 | + | poke(hs) | |
| 138 | + | _, err := hs.p.f.Write(stream) | |
| 139 | + | require.NoError(t, err) | |
| 140 | + | ||
| 141 | + | x := hs.x | |
| 142 | + | base := x.Stats().Events + x.Stats().Replies | |
| 143 | + | drive := func(until uint64) { | |
| 144 | + | deadline := time.Now().Add(10 * time.Second) | |
| 145 | + | for x.Stats().Events+x.Stats().Replies < until { | |
| 146 | + | if time.Now().After(deadline) { // no formatting arguments: boxing them would count as mallocs | |
| 147 | + | t.Fatal("stream stalled") | |
| 148 | + | } | |
| 149 | + | before := x.Stats().Events + x.Stats().Replies | |
| 150 | + | x.onReadable() | |
| 151 | + | if x.Stats().Events+x.Stats().Replies == before { | |
| 152 | + | runtime.Gosched() | |
| 153 | + | } | |
| 154 | + | } | |
| 155 | + | } | |
| 156 | + | drive(base + uint64(streamWarm*k.perCycle)) | |
| 157 | + | target := base + uint64(streamCycles*k.perCycle) | |
| 158 | + | ||
| 159 | + | var m0, m1 runtime.MemStats | |
| 160 | + | runtime.GC() | |
| 161 | + | runtime.ReadMemStats(&m0) | |
| 162 | + | drive(target) | |
| 163 | + | runtime.ReadMemStats(&m1) | |
| 164 | + | require.Equal(t, target, x.Stats().Events+x.Stats().Replies) | |
| 165 | + | return m1.Mallocs - m0.Mallocs, hs | |
| 166 | + | } | |
| 167 | + | ||
| 168 | + | func TestPropertyUnchangedAllocations(t *testing.T) { | |
| 169 | + | m, hs := replay(t, streamKinds[0]) | |
| 170 | + | require.Zero(t, m, "unchanged property cycles must not allocate") | |
| 171 | + | require.Equal(t, "net title", hs.x.tab.rec(hs.x.Slot(streamWin)).title) | |
| 172 | + | } | |
| 173 | + | ||
| 174 | + | func TestDispatchAllocations(t *testing.T) { | |
| 175 | + | m, hs := replay(t, streamKinds[1]) | |
| 176 | + | require.Zero(t, m, "steady-state event dispatch must not allocate") | |
| 177 | + | require.True(t, hs.x.tab.rec(hs.x.Slot(streamWin)).mapped) | |
| 178 | + | } | |
M internal/adapters/wayland/xwm/table.go +4 -2
| @@ -1,4 +1,4 @@ | |||
| 1 | - | //lint:file-ignore U1000 the record fields below are filled by the map, property, configure and focus flows that build on this skeleton | |
| 1 | + | //lint:file-ignore U1000 pend, sent and stateSent are used by the configure flow | |
| 2 | 2 | ||
| 3 | 3 | package xwm | |
| 4 | 4 | ||
| @@ -202,7 +202,9 @@ func (t *table) lookup(xid uint32) Slot { | |||
| 202 | 202 | } | |
| 203 | 203 | } | |
| 204 | 204 | ||
| 205 | - | // rec returns the record of s, or nil when s is out of range. | |
| 205 | + | // rec returns the record of s, or nil when s is out of range. The pointer is | |
| 206 | + | // valid only until the next insert, host call or anything else that can grow | |
| 207 | + | // the table or free s: never hold it across those, fetch it again with rec(s). | |
| 206 | 208 | func (t *table) rec(s Slot) *record { | |
| 207 | 209 | if s == 0 || int(s) > len(t.recs) { | |
| 208 | 210 | return nil | |
A internal/adapters/wayland/xwm/testdata/streams/property_unchanged.hex +950 -0
| @@ -0,0 +1,950 @@ | |||
| 1 | + | 1c005f0001005000f30300000000000000000000000000000000000000000000 | |
| 2 | + | 0108600003000000ef0300000000000009000000000000000000000000000000 | |
| 3 | + | 6e6574207469746c650000001c00600001005000f30300000000000000000000 | |
| 4 | + | 0000000000000000000000000108610003000000ef0300000000000009000000 | |
| 5 | + | 0000000000000000000000006e6574207469746c650000001c00610001005000 | |
| 6 | + | f303000000000000000000000000000000000000000000000108620003000000 | |
| 7 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 8 | + | 650000001c00620001005000f303000000000000000000000000000000000000 | |
| 9 | + | 000000000108630003000000ef03000000000000090000000000000000000000 | |
| 10 | + | 000000006e6574207469746c650000001c00630001005000f303000000000000 | |
| 11 | + | 000000000000000000000000000000000108640003000000ef03000000000000 | |
| 12 | + | 090000000000000000000000000000006e6574207469746c650000001c006400 | |
| 13 | + | 01005000f3030000000000000000000000000000000000000000000001086500 | |
| 14 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 15 | + | 7469746c650000001c00650001005000f3030000000000000000000000000000 | |
| 16 | + | 00000000000000000108660003000000ef030000000000000900000000000000 | |
| 17 | + | 00000000000000006e6574207469746c650000001c00660001005000f3030000 | |
| 18 | + | 00000000000000000000000000000000000000000108670003000000ef030000 | |
| 19 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 20 | + | 1c00670001005000f30300000000000000000000000000000000000000000000 | |
| 21 | + | 0108680003000000ef0300000000000009000000000000000000000000000000 | |
| 22 | + | 6e6574207469746c650000001c00680001005000f30300000000000000000000 | |
| 23 | + | 0000000000000000000000000108690003000000ef0300000000000009000000 | |
| 24 | + | 0000000000000000000000006e6574207469746c650000001c00690001005000 | |
| 25 | + | f3030000000000000000000000000000000000000000000001086a0003000000 | |
| 26 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 27 | + | 650000001c006a0001005000f303000000000000000000000000000000000000 | |
| 28 | + | 0000000001086b0003000000ef03000000000000090000000000000000000000 | |
| 29 | + | 000000006e6574207469746c650000001c006b0001005000f303000000000000 | |
| 30 | + | 0000000000000000000000000000000001086c0003000000ef03000000000000 | |
| 31 | + | 090000000000000000000000000000006e6574207469746c650000001c006c00 | |
| 32 | + | 01005000f3030000000000000000000000000000000000000000000001086d00 | |
| 33 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 34 | + | 7469746c650000001c006d0001005000f3030000000000000000000000000000 | |
| 35 | + | 000000000000000001086e0003000000ef030000000000000900000000000000 | |
| 36 | + | 00000000000000006e6574207469746c650000001c006e0001005000f3030000 | |
| 37 | + | 000000000000000000000000000000000000000001086f0003000000ef030000 | |
| 38 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 39 | + | 1c006f0001005000f30300000000000000000000000000000000000000000000 | |
| 40 | + | 0108700003000000ef0300000000000009000000000000000000000000000000 | |
| 41 | + | 6e6574207469746c650000001c00700001005000f30300000000000000000000 | |
| 42 | + | 0000000000000000000000000108710003000000ef0300000000000009000000 | |
| 43 | + | 0000000000000000000000006e6574207469746c650000001c00710001005000 | |
| 44 | + | f303000000000000000000000000000000000000000000000108720003000000 | |
| 45 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 46 | + | 650000001c00720001005000f303000000000000000000000000000000000000 | |
| 47 | + | 000000000108730003000000ef03000000000000090000000000000000000000 | |
| 48 | + | 000000006e6574207469746c650000001c00730001005000f303000000000000 | |
| 49 | + | 000000000000000000000000000000000108740003000000ef03000000000000 | |
| 50 | + | 090000000000000000000000000000006e6574207469746c650000001c007400 | |
| 51 | + | 01005000f3030000000000000000000000000000000000000000000001087500 | |
| 52 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 53 | + | 7469746c650000001c00750001005000f3030000000000000000000000000000 | |
| 54 | + | 00000000000000000108760003000000ef030000000000000900000000000000 | |
| 55 | + | 00000000000000006e6574207469746c650000001c00760001005000f3030000 | |
| 56 | + | 00000000000000000000000000000000000000000108770003000000ef030000 | |
| 57 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 58 | + | 1c00770001005000f30300000000000000000000000000000000000000000000 | |
| 59 | + | 0108780003000000ef0300000000000009000000000000000000000000000000 | |
| 60 | + | 6e6574207469746c650000001c00780001005000f30300000000000000000000 | |
| 61 | + | 0000000000000000000000000108790003000000ef0300000000000009000000 | |
| 62 | + | 0000000000000000000000006e6574207469746c650000001c00790001005000 | |
| 63 | + | f3030000000000000000000000000000000000000000000001087a0003000000 | |
| 64 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 65 | + | 650000001c007a0001005000f303000000000000000000000000000000000000 | |
| 66 | + | 0000000001087b0003000000ef03000000000000090000000000000000000000 | |
| 67 | + | 000000006e6574207469746c650000001c007b0001005000f303000000000000 | |
| 68 | + | 0000000000000000000000000000000001087c0003000000ef03000000000000 | |
| 69 | + | 090000000000000000000000000000006e6574207469746c650000001c007c00 | |
| 70 | + | 01005000f3030000000000000000000000000000000000000000000001087d00 | |
| 71 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 72 | + | 7469746c650000001c007d0001005000f3030000000000000000000000000000 | |
| 73 | + | 000000000000000001087e0003000000ef030000000000000900000000000000 | |
| 74 | + | 00000000000000006e6574207469746c650000001c007e0001005000f3030000 | |
| 75 | + | 000000000000000000000000000000000000000001087f0003000000ef030000 | |
| 76 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 77 | + | 1c007f0001005000f30300000000000000000000000000000000000000000000 | |
| 78 | + | 0108800003000000ef0300000000000009000000000000000000000000000000 | |
| 79 | + | 6e6574207469746c650000001c00800001005000f30300000000000000000000 | |
| 80 | + | 0000000000000000000000000108810003000000ef0300000000000009000000 | |
| 81 | + | 0000000000000000000000006e6574207469746c650000001c00810001005000 | |
| 82 | + | f303000000000000000000000000000000000000000000000108820003000000 | |
| 83 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 84 | + | 650000001c00820001005000f303000000000000000000000000000000000000 | |
| 85 | + | 000000000108830003000000ef03000000000000090000000000000000000000 | |
| 86 | + | 000000006e6574207469746c650000001c00830001005000f303000000000000 | |
| 87 | + | 000000000000000000000000000000000108840003000000ef03000000000000 | |
| 88 | + | 090000000000000000000000000000006e6574207469746c650000001c008400 | |
| 89 | + | 01005000f3030000000000000000000000000000000000000000000001088500 | |
| 90 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 91 | + | 7469746c650000001c00850001005000f3030000000000000000000000000000 | |
| 92 | + | 00000000000000000108860003000000ef030000000000000900000000000000 | |
| 93 | + | 00000000000000006e6574207469746c650000001c00860001005000f3030000 | |
| 94 | + | 00000000000000000000000000000000000000000108870003000000ef030000 | |
| 95 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 96 | + | 1c00870001005000f30300000000000000000000000000000000000000000000 | |
| 97 | + | 0108880003000000ef0300000000000009000000000000000000000000000000 | |
| 98 | + | 6e6574207469746c650000001c00880001005000f30300000000000000000000 | |
| 99 | + | 0000000000000000000000000108890003000000ef0300000000000009000000 | |
| 100 | + | 0000000000000000000000006e6574207469746c650000001c00890001005000 | |
| 101 | + | f3030000000000000000000000000000000000000000000001088a0003000000 | |
| 102 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 103 | + | 650000001c008a0001005000f303000000000000000000000000000000000000 | |
| 104 | + | 0000000001088b0003000000ef03000000000000090000000000000000000000 | |
| 105 | + | 000000006e6574207469746c650000001c008b0001005000f303000000000000 | |
| 106 | + | 0000000000000000000000000000000001088c0003000000ef03000000000000 | |
| 107 | + | 090000000000000000000000000000006e6574207469746c650000001c008c00 | |
| 108 | + | 01005000f3030000000000000000000000000000000000000000000001088d00 | |
| 109 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 110 | + | 7469746c650000001c008d0001005000f3030000000000000000000000000000 | |
| 111 | + | 000000000000000001088e0003000000ef030000000000000900000000000000 | |
| 112 | + | 00000000000000006e6574207469746c650000001c008e0001005000f3030000 | |
| 113 | + | 000000000000000000000000000000000000000001088f0003000000ef030000 | |
| 114 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 115 | + | 1c008f0001005000f30300000000000000000000000000000000000000000000 | |
| 116 | + | 0108900003000000ef0300000000000009000000000000000000000000000000 | |
| 117 | + | 6e6574207469746c650000001c00900001005000f30300000000000000000000 | |
| 118 | + | 0000000000000000000000000108910003000000ef0300000000000009000000 | |
| 119 | + | 0000000000000000000000006e6574207469746c650000001c00910001005000 | |
| 120 | + | f303000000000000000000000000000000000000000000000108920003000000 | |
| 121 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 122 | + | 650000001c00920001005000f303000000000000000000000000000000000000 | |
| 123 | + | 000000000108930003000000ef03000000000000090000000000000000000000 | |
| 124 | + | 000000006e6574207469746c650000001c00930001005000f303000000000000 | |
| 125 | + | 000000000000000000000000000000000108940003000000ef03000000000000 | |
| 126 | + | 090000000000000000000000000000006e6574207469746c650000001c009400 | |
| 127 | + | 01005000f3030000000000000000000000000000000000000000000001089500 | |
| 128 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 129 | + | 7469746c650000001c00950001005000f3030000000000000000000000000000 | |
| 130 | + | 00000000000000000108960003000000ef030000000000000900000000000000 | |
| 131 | + | 00000000000000006e6574207469746c650000001c00960001005000f3030000 | |
| 132 | + | 00000000000000000000000000000000000000000108970003000000ef030000 | |
| 133 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 134 | + | 1c00970001005000f30300000000000000000000000000000000000000000000 | |
| 135 | + | 0108980003000000ef0300000000000009000000000000000000000000000000 | |
| 136 | + | 6e6574207469746c650000001c00980001005000f30300000000000000000000 | |
| 137 | + | 0000000000000000000000000108990003000000ef0300000000000009000000 | |
| 138 | + | 0000000000000000000000006e6574207469746c650000001c00990001005000 | |
| 139 | + | f3030000000000000000000000000000000000000000000001089a0003000000 | |
| 140 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 141 | + | 650000001c009a0001005000f303000000000000000000000000000000000000 | |
| 142 | + | 0000000001089b0003000000ef03000000000000090000000000000000000000 | |
| 143 | + | 000000006e6574207469746c650000001c009b0001005000f303000000000000 | |
| 144 | + | 0000000000000000000000000000000001089c0003000000ef03000000000000 | |
| 145 | + | 090000000000000000000000000000006e6574207469746c650000001c009c00 | |
| 146 | + | 01005000f3030000000000000000000000000000000000000000000001089d00 | |
| 147 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 148 | + | 7469746c650000001c009d0001005000f3030000000000000000000000000000 | |
| 149 | + | 000000000000000001089e0003000000ef030000000000000900000000000000 | |
| 150 | + | 00000000000000006e6574207469746c650000001c009e0001005000f3030000 | |
| 151 | + | 000000000000000000000000000000000000000001089f0003000000ef030000 | |
| 152 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 153 | + | 1c009f0001005000f30300000000000000000000000000000000000000000000 | |
| 154 | + | 0108a00003000000ef0300000000000009000000000000000000000000000000 | |
| 155 | + | 6e6574207469746c650000001c00a00001005000f30300000000000000000000 | |
| 156 | + | 0000000000000000000000000108a10003000000ef0300000000000009000000 | |
| 157 | + | 0000000000000000000000006e6574207469746c650000001c00a10001005000 | |
| 158 | + | f303000000000000000000000000000000000000000000000108a20003000000 | |
| 159 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 160 | + | 650000001c00a20001005000f303000000000000000000000000000000000000 | |
| 161 | + | 000000000108a30003000000ef03000000000000090000000000000000000000 | |
| 162 | + | 000000006e6574207469746c650000001c00a30001005000f303000000000000 | |
| 163 | + | 000000000000000000000000000000000108a40003000000ef03000000000000 | |
| 164 | + | 090000000000000000000000000000006e6574207469746c650000001c00a400 | |
| 165 | + | 01005000f303000000000000000000000000000000000000000000000108a500 | |
| 166 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 167 | + | 7469746c650000001c00a50001005000f3030000000000000000000000000000 | |
| 168 | + | 00000000000000000108a60003000000ef030000000000000900000000000000 | |
| 169 | + | 00000000000000006e6574207469746c650000001c00a60001005000f3030000 | |
| 170 | + | 00000000000000000000000000000000000000000108a70003000000ef030000 | |
| 171 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 172 | + | 1c00a70001005000f30300000000000000000000000000000000000000000000 | |
| 173 | + | 0108a80003000000ef0300000000000009000000000000000000000000000000 | |
| 174 | + | 6e6574207469746c650000001c00a80001005000f30300000000000000000000 | |
| 175 | + | 0000000000000000000000000108a90003000000ef0300000000000009000000 | |
| 176 | + | 0000000000000000000000006e6574207469746c650000001c00a90001005000 | |
| 177 | + | f303000000000000000000000000000000000000000000000108aa0003000000 | |
| 178 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 179 | + | 650000001c00aa0001005000f303000000000000000000000000000000000000 | |
| 180 | + | 000000000108ab0003000000ef03000000000000090000000000000000000000 | |
| 181 | + | 000000006e6574207469746c650000001c00ab0001005000f303000000000000 | |
| 182 | + | 000000000000000000000000000000000108ac0003000000ef03000000000000 | |
| 183 | + | 090000000000000000000000000000006e6574207469746c650000001c00ac00 | |
| 184 | + | 01005000f303000000000000000000000000000000000000000000000108ad00 | |
| 185 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 186 | + | 7469746c650000001c00ad0001005000f3030000000000000000000000000000 | |
| 187 | + | 00000000000000000108ae0003000000ef030000000000000900000000000000 | |
| 188 | + | 00000000000000006e6574207469746c650000001c00ae0001005000f3030000 | |
| 189 | + | 00000000000000000000000000000000000000000108af0003000000ef030000 | |
| 190 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 191 | + | 1c00af0001005000f30300000000000000000000000000000000000000000000 | |
| 192 | + | 0108b00003000000ef0300000000000009000000000000000000000000000000 | |
| 193 | + | 6e6574207469746c650000001c00b00001005000f30300000000000000000000 | |
| 194 | + | 0000000000000000000000000108b10003000000ef0300000000000009000000 | |
| 195 | + | 0000000000000000000000006e6574207469746c650000001c00b10001005000 | |
| 196 | + | f303000000000000000000000000000000000000000000000108b20003000000 | |
| 197 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 198 | + | 650000001c00b20001005000f303000000000000000000000000000000000000 | |
| 199 | + | 000000000108b30003000000ef03000000000000090000000000000000000000 | |
| 200 | + | 000000006e6574207469746c650000001c00b30001005000f303000000000000 | |
| 201 | + | 000000000000000000000000000000000108b40003000000ef03000000000000 | |
| 202 | + | 090000000000000000000000000000006e6574207469746c650000001c00b400 | |
| 203 | + | 01005000f303000000000000000000000000000000000000000000000108b500 | |
| 204 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 205 | + | 7469746c650000001c00b50001005000f3030000000000000000000000000000 | |
| 206 | + | 00000000000000000108b60003000000ef030000000000000900000000000000 | |
| 207 | + | 00000000000000006e6574207469746c650000001c00b60001005000f3030000 | |
| 208 | + | 00000000000000000000000000000000000000000108b70003000000ef030000 | |
| 209 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 210 | + | 1c00b70001005000f30300000000000000000000000000000000000000000000 | |
| 211 | + | 0108b80003000000ef0300000000000009000000000000000000000000000000 | |
| 212 | + | 6e6574207469746c650000001c00b80001005000f30300000000000000000000 | |
| 213 | + | 0000000000000000000000000108b90003000000ef0300000000000009000000 | |
| 214 | + | 0000000000000000000000006e6574207469746c650000001c00b90001005000 | |
| 215 | + | f303000000000000000000000000000000000000000000000108ba0003000000 | |
| 216 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 217 | + | 650000001c00ba0001005000f303000000000000000000000000000000000000 | |
| 218 | + | 000000000108bb0003000000ef03000000000000090000000000000000000000 | |
| 219 | + | 000000006e6574207469746c650000001c00bb0001005000f303000000000000 | |
| 220 | + | 000000000000000000000000000000000108bc0003000000ef03000000000000 | |
| 221 | + | 090000000000000000000000000000006e6574207469746c650000001c00bc00 | |
| 222 | + | 01005000f303000000000000000000000000000000000000000000000108bd00 | |
| 223 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 224 | + | 7469746c650000001c00bd0001005000f3030000000000000000000000000000 | |
| 225 | + | 00000000000000000108be0003000000ef030000000000000900000000000000 | |
| 226 | + | 00000000000000006e6574207469746c650000001c00be0001005000f3030000 | |
| 227 | + | 00000000000000000000000000000000000000000108bf0003000000ef030000 | |
| 228 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 229 | + | 1c00bf0001005000f30300000000000000000000000000000000000000000000 | |
| 230 | + | 0108c00003000000ef0300000000000009000000000000000000000000000000 | |
| 231 | + | 6e6574207469746c650000001c00c00001005000f30300000000000000000000 | |
| 232 | + | 0000000000000000000000000108c10003000000ef0300000000000009000000 | |
| 233 | + | 0000000000000000000000006e6574207469746c650000001c00c10001005000 | |
| 234 | + | f303000000000000000000000000000000000000000000000108c20003000000 | |
| 235 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 236 | + | 650000001c00c20001005000f303000000000000000000000000000000000000 | |
| 237 | + | 000000000108c30003000000ef03000000000000090000000000000000000000 | |
| 238 | + | 000000006e6574207469746c650000001c00c30001005000f303000000000000 | |
| 239 | + | 000000000000000000000000000000000108c40003000000ef03000000000000 | |
| 240 | + | 090000000000000000000000000000006e6574207469746c650000001c00c400 | |
| 241 | + | 01005000f303000000000000000000000000000000000000000000000108c500 | |
| 242 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 243 | + | 7469746c650000001c00c50001005000f3030000000000000000000000000000 | |
| 244 | + | 00000000000000000108c60003000000ef030000000000000900000000000000 | |
| 245 | + | 00000000000000006e6574207469746c650000001c00c60001005000f3030000 | |
| 246 | + | 00000000000000000000000000000000000000000108c70003000000ef030000 | |
| 247 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 248 | + | 1c00c70001005000f30300000000000000000000000000000000000000000000 | |
| 249 | + | 0108c80003000000ef0300000000000009000000000000000000000000000000 | |
| 250 | + | 6e6574207469746c650000001c00c80001005000f30300000000000000000000 | |
| 251 | + | 0000000000000000000000000108c90003000000ef0300000000000009000000 | |
| 252 | + | 0000000000000000000000006e6574207469746c650000001c00c90001005000 | |
| 253 | + | f303000000000000000000000000000000000000000000000108ca0003000000 | |
| 254 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 255 | + | 650000001c00ca0001005000f303000000000000000000000000000000000000 | |
| 256 | + | 000000000108cb0003000000ef03000000000000090000000000000000000000 | |
| 257 | + | 000000006e6574207469746c650000001c00cb0001005000f303000000000000 | |
| 258 | + | 000000000000000000000000000000000108cc0003000000ef03000000000000 | |
| 259 | + | 090000000000000000000000000000006e6574207469746c650000001c00cc00 | |
| 260 | + | 01005000f303000000000000000000000000000000000000000000000108cd00 | |
| 261 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 262 | + | 7469746c650000001c00cd0001005000f3030000000000000000000000000000 | |
| 263 | + | 00000000000000000108ce0003000000ef030000000000000900000000000000 | |
| 264 | + | 00000000000000006e6574207469746c650000001c00ce0001005000f3030000 | |
| 265 | + | 00000000000000000000000000000000000000000108cf0003000000ef030000 | |
| 266 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 267 | + | 1c00cf0001005000f30300000000000000000000000000000000000000000000 | |
| 268 | + | 0108d00003000000ef0300000000000009000000000000000000000000000000 | |
| 269 | + | 6e6574207469746c650000001c00d00001005000f30300000000000000000000 | |
| 270 | + | 0000000000000000000000000108d10003000000ef0300000000000009000000 | |
| 271 | + | 0000000000000000000000006e6574207469746c650000001c00d10001005000 | |
| 272 | + | f303000000000000000000000000000000000000000000000108d20003000000 | |
| 273 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 274 | + | 650000001c00d20001005000f303000000000000000000000000000000000000 | |
| 275 | + | 000000000108d30003000000ef03000000000000090000000000000000000000 | |
| 276 | + | 000000006e6574207469746c650000001c00d30001005000f303000000000000 | |
| 277 | + | 000000000000000000000000000000000108d40003000000ef03000000000000 | |
| 278 | + | 090000000000000000000000000000006e6574207469746c650000001c00d400 | |
| 279 | + | 01005000f303000000000000000000000000000000000000000000000108d500 | |
| 280 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 281 | + | 7469746c650000001c00d50001005000f3030000000000000000000000000000 | |
| 282 | + | 00000000000000000108d60003000000ef030000000000000900000000000000 | |
| 283 | + | 00000000000000006e6574207469746c650000001c00d60001005000f3030000 | |
| 284 | + | 00000000000000000000000000000000000000000108d70003000000ef030000 | |
| 285 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 286 | + | 1c00d70001005000f30300000000000000000000000000000000000000000000 | |
| 287 | + | 0108d80003000000ef0300000000000009000000000000000000000000000000 | |
| 288 | + | 6e6574207469746c650000001c00d80001005000f30300000000000000000000 | |
| 289 | + | 0000000000000000000000000108d90003000000ef0300000000000009000000 | |
| 290 | + | 0000000000000000000000006e6574207469746c650000001c00d90001005000 | |
| 291 | + | f303000000000000000000000000000000000000000000000108da0003000000 | |
| 292 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 293 | + | 650000001c00da0001005000f303000000000000000000000000000000000000 | |
| 294 | + | 000000000108db0003000000ef03000000000000090000000000000000000000 | |
| 295 | + | 000000006e6574207469746c650000001c00db0001005000f303000000000000 | |
| 296 | + | 000000000000000000000000000000000108dc0003000000ef03000000000000 | |
| 297 | + | 090000000000000000000000000000006e6574207469746c650000001c00dc00 | |
| 298 | + | 01005000f303000000000000000000000000000000000000000000000108dd00 | |
| 299 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 300 | + | 7469746c650000001c00dd0001005000f3030000000000000000000000000000 | |
| 301 | + | 00000000000000000108de0003000000ef030000000000000900000000000000 | |
| 302 | + | 00000000000000006e6574207469746c650000001c00de0001005000f3030000 | |
| 303 | + | 00000000000000000000000000000000000000000108df0003000000ef030000 | |
| 304 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 305 | + | 1c00df0001005000f30300000000000000000000000000000000000000000000 | |
| 306 | + | 0108e00003000000ef0300000000000009000000000000000000000000000000 | |
| 307 | + | 6e6574207469746c650000001c00e00001005000f30300000000000000000000 | |
| 308 | + | 0000000000000000000000000108e10003000000ef0300000000000009000000 | |
| 309 | + | 0000000000000000000000006e6574207469746c650000001c00e10001005000 | |
| 310 | + | f303000000000000000000000000000000000000000000000108e20003000000 | |
| 311 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 312 | + | 650000001c00e20001005000f303000000000000000000000000000000000000 | |
| 313 | + | 000000000108e30003000000ef03000000000000090000000000000000000000 | |
| 314 | + | 000000006e6574207469746c650000001c00e30001005000f303000000000000 | |
| 315 | + | 000000000000000000000000000000000108e40003000000ef03000000000000 | |
| 316 | + | 090000000000000000000000000000006e6574207469746c650000001c00e400 | |
| 317 | + | 01005000f303000000000000000000000000000000000000000000000108e500 | |
| 318 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 319 | + | 7469746c650000001c00e50001005000f3030000000000000000000000000000 | |
| 320 | + | 00000000000000000108e60003000000ef030000000000000900000000000000 | |
| 321 | + | 00000000000000006e6574207469746c650000001c00e60001005000f3030000 | |
| 322 | + | 00000000000000000000000000000000000000000108e70003000000ef030000 | |
| 323 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 324 | + | 1c00e70001005000f30300000000000000000000000000000000000000000000 | |
| 325 | + | 0108e80003000000ef0300000000000009000000000000000000000000000000 | |
| 326 | + | 6e6574207469746c650000001c00e80001005000f30300000000000000000000 | |
| 327 | + | 0000000000000000000000000108e90003000000ef0300000000000009000000 | |
| 328 | + | 0000000000000000000000006e6574207469746c650000001c00e90001005000 | |
| 329 | + | f303000000000000000000000000000000000000000000000108ea0003000000 | |
| 330 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 331 | + | 650000001c00ea0001005000f303000000000000000000000000000000000000 | |
| 332 | + | 000000000108eb0003000000ef03000000000000090000000000000000000000 | |
| 333 | + | 000000006e6574207469746c650000001c00eb0001005000f303000000000000 | |
| 334 | + | 000000000000000000000000000000000108ec0003000000ef03000000000000 | |
| 335 | + | 090000000000000000000000000000006e6574207469746c650000001c00ec00 | |
| 336 | + | 01005000f303000000000000000000000000000000000000000000000108ed00 | |
| 337 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 338 | + | 7469746c650000001c00ed0001005000f3030000000000000000000000000000 | |
| 339 | + | 00000000000000000108ee0003000000ef030000000000000900000000000000 | |
| 340 | + | 00000000000000006e6574207469746c650000001c00ee0001005000f3030000 | |
| 341 | + | 00000000000000000000000000000000000000000108ef0003000000ef030000 | |
| 342 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 343 | + | 1c00ef0001005000f30300000000000000000000000000000000000000000000 | |
| 344 | + | 0108f00003000000ef0300000000000009000000000000000000000000000000 | |
| 345 | + | 6e6574207469746c650000001c00f00001005000f30300000000000000000000 | |
| 346 | + | 0000000000000000000000000108f10003000000ef0300000000000009000000 | |
| 347 | + | 0000000000000000000000006e6574207469746c650000001c00f10001005000 | |
| 348 | + | f303000000000000000000000000000000000000000000000108f20003000000 | |
| 349 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 350 | + | 650000001c00f20001005000f303000000000000000000000000000000000000 | |
| 351 | + | 000000000108f30003000000ef03000000000000090000000000000000000000 | |
| 352 | + | 000000006e6574207469746c650000001c00f30001005000f303000000000000 | |
| 353 | + | 000000000000000000000000000000000108f40003000000ef03000000000000 | |
| 354 | + | 090000000000000000000000000000006e6574207469746c650000001c00f400 | |
| 355 | + | 01005000f303000000000000000000000000000000000000000000000108f500 | |
| 356 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 357 | + | 7469746c650000001c00f50001005000f3030000000000000000000000000000 | |
| 358 | + | 00000000000000000108f60003000000ef030000000000000900000000000000 | |
| 359 | + | 00000000000000006e6574207469746c650000001c00f60001005000f3030000 | |
| 360 | + | 00000000000000000000000000000000000000000108f70003000000ef030000 | |
| 361 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 362 | + | 1c00f70001005000f30300000000000000000000000000000000000000000000 | |
| 363 | + | 0108f80003000000ef0300000000000009000000000000000000000000000000 | |
| 364 | + | 6e6574207469746c650000001c00f80001005000f30300000000000000000000 | |
| 365 | + | 0000000000000000000000000108f90003000000ef0300000000000009000000 | |
| 366 | + | 0000000000000000000000006e6574207469746c650000001c00f90001005000 | |
| 367 | + | f303000000000000000000000000000000000000000000000108fa0003000000 | |
| 368 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 369 | + | 650000001c00fa0001005000f303000000000000000000000000000000000000 | |
| 370 | + | 000000000108fb0003000000ef03000000000000090000000000000000000000 | |
| 371 | + | 000000006e6574207469746c650000001c00fb0001005000f303000000000000 | |
| 372 | + | 000000000000000000000000000000000108fc0003000000ef03000000000000 | |
| 373 | + | 090000000000000000000000000000006e6574207469746c650000001c00fc00 | |
| 374 | + | 01005000f303000000000000000000000000000000000000000000000108fd00 | |
| 375 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 376 | + | 7469746c650000001c00fd0001005000f3030000000000000000000000000000 | |
| 377 | + | 00000000000000000108fe0003000000ef030000000000000900000000000000 | |
| 378 | + | 00000000000000006e6574207469746c650000001c00fe0001005000f3030000 | |
| 379 | + | 00000000000000000000000000000000000000000108ff0003000000ef030000 | |
| 380 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 381 | + | 1c00ff0001005000f30300000000000000000000000000000000000000000000 | |
| 382 | + | 0108000103000000ef0300000000000009000000000000000000000000000000 | |
| 383 | + | 6e6574207469746c650000001c00000101005000f30300000000000000000000 | |
| 384 | + | 0000000000000000000000000108010103000000ef0300000000000009000000 | |
| 385 | + | 0000000000000000000000006e6574207469746c650000001c00010101005000 | |
| 386 | + | f303000000000000000000000000000000000000000000000108020103000000 | |
| 387 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 388 | + | 650000001c00020101005000f303000000000000000000000000000000000000 | |
| 389 | + | 000000000108030103000000ef03000000000000090000000000000000000000 | |
| 390 | + | 000000006e6574207469746c650000001c00030101005000f303000000000000 | |
| 391 | + | 000000000000000000000000000000000108040103000000ef03000000000000 | |
| 392 | + | 090000000000000000000000000000006e6574207469746c650000001c000401 | |
| 393 | + | 01005000f3030000000000000000000000000000000000000000000001080501 | |
| 394 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 395 | + | 7469746c650000001c00050101005000f3030000000000000000000000000000 | |
| 396 | + | 00000000000000000108060103000000ef030000000000000900000000000000 | |
| 397 | + | 00000000000000006e6574207469746c650000001c00060101005000f3030000 | |
| 398 | + | 00000000000000000000000000000000000000000108070103000000ef030000 | |
| 399 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 400 | + | 1c00070101005000f30300000000000000000000000000000000000000000000 | |
| 401 | + | 0108080103000000ef0300000000000009000000000000000000000000000000 | |
| 402 | + | 6e6574207469746c650000001c00080101005000f30300000000000000000000 | |
| 403 | + | 0000000000000000000000000108090103000000ef0300000000000009000000 | |
| 404 | + | 0000000000000000000000006e6574207469746c650000001c00090101005000 | |
| 405 | + | f3030000000000000000000000000000000000000000000001080a0103000000 | |
| 406 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 407 | + | 650000001c000a0101005000f303000000000000000000000000000000000000 | |
| 408 | + | 0000000001080b0103000000ef03000000000000090000000000000000000000 | |
| 409 | + | 000000006e6574207469746c650000001c000b0101005000f303000000000000 | |
| 410 | + | 0000000000000000000000000000000001080c0103000000ef03000000000000 | |
| 411 | + | 090000000000000000000000000000006e6574207469746c650000001c000c01 | |
| 412 | + | 01005000f3030000000000000000000000000000000000000000000001080d01 | |
| 413 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 414 | + | 7469746c650000001c000d0101005000f3030000000000000000000000000000 | |
| 415 | + | 000000000000000001080e0103000000ef030000000000000900000000000000 | |
| 416 | + | 00000000000000006e6574207469746c650000001c000e0101005000f3030000 | |
| 417 | + | 000000000000000000000000000000000000000001080f0103000000ef030000 | |
| 418 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 419 | + | 1c000f0101005000f30300000000000000000000000000000000000000000000 | |
| 420 | + | 0108100103000000ef0300000000000009000000000000000000000000000000 | |
| 421 | + | 6e6574207469746c650000001c00100101005000f30300000000000000000000 | |
| 422 | + | 0000000000000000000000000108110103000000ef0300000000000009000000 | |
| 423 | + | 0000000000000000000000006e6574207469746c650000001c00110101005000 | |
| 424 | + | f303000000000000000000000000000000000000000000000108120103000000 | |
| 425 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 426 | + | 650000001c00120101005000f303000000000000000000000000000000000000 | |
| 427 | + | 000000000108130103000000ef03000000000000090000000000000000000000 | |
| 428 | + | 000000006e6574207469746c650000001c00130101005000f303000000000000 | |
| 429 | + | 000000000000000000000000000000000108140103000000ef03000000000000 | |
| 430 | + | 090000000000000000000000000000006e6574207469746c650000001c001401 | |
| 431 | + | 01005000f3030000000000000000000000000000000000000000000001081501 | |
| 432 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 433 | + | 7469746c650000001c00150101005000f3030000000000000000000000000000 | |
| 434 | + | 00000000000000000108160103000000ef030000000000000900000000000000 | |
| 435 | + | 00000000000000006e6574207469746c650000001c00160101005000f3030000 | |
| 436 | + | 00000000000000000000000000000000000000000108170103000000ef030000 | |
| 437 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 438 | + | 1c00170101005000f30300000000000000000000000000000000000000000000 | |
| 439 | + | 0108180103000000ef0300000000000009000000000000000000000000000000 | |
| 440 | + | 6e6574207469746c650000001c00180101005000f30300000000000000000000 | |
| 441 | + | 0000000000000000000000000108190103000000ef0300000000000009000000 | |
| 442 | + | 0000000000000000000000006e6574207469746c650000001c00190101005000 | |
| 443 | + | f3030000000000000000000000000000000000000000000001081a0103000000 | |
| 444 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 445 | + | 650000001c001a0101005000f303000000000000000000000000000000000000 | |
| 446 | + | 0000000001081b0103000000ef03000000000000090000000000000000000000 | |
| 447 | + | 000000006e6574207469746c650000001c001b0101005000f303000000000000 | |
| 448 | + | 0000000000000000000000000000000001081c0103000000ef03000000000000 | |
| 449 | + | 090000000000000000000000000000006e6574207469746c650000001c001c01 | |
| 450 | + | 01005000f3030000000000000000000000000000000000000000000001081d01 | |
| 451 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 452 | + | 7469746c650000001c001d0101005000f3030000000000000000000000000000 | |
| 453 | + | 000000000000000001081e0103000000ef030000000000000900000000000000 | |
| 454 | + | 00000000000000006e6574207469746c650000001c001e0101005000f3030000 | |
| 455 | + | 000000000000000000000000000000000000000001081f0103000000ef030000 | |
| 456 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 457 | + | 1c001f0101005000f30300000000000000000000000000000000000000000000 | |
| 458 | + | 0108200103000000ef0300000000000009000000000000000000000000000000 | |
| 459 | + | 6e6574207469746c650000001c00200101005000f30300000000000000000000 | |
| 460 | + | 0000000000000000000000000108210103000000ef0300000000000009000000 | |
| 461 | + | 0000000000000000000000006e6574207469746c650000001c00210101005000 | |
| 462 | + | f303000000000000000000000000000000000000000000000108220103000000 | |
| 463 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 464 | + | 650000001c00220101005000f303000000000000000000000000000000000000 | |
| 465 | + | 000000000108230103000000ef03000000000000090000000000000000000000 | |
| 466 | + | 000000006e6574207469746c650000001c00230101005000f303000000000000 | |
| 467 | + | 000000000000000000000000000000000108240103000000ef03000000000000 | |
| 468 | + | 090000000000000000000000000000006e6574207469746c650000001c002401 | |
| 469 | + | 01005000f3030000000000000000000000000000000000000000000001082501 | |
| 470 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 471 | + | 7469746c650000001c00250101005000f3030000000000000000000000000000 | |
| 472 | + | 00000000000000000108260103000000ef030000000000000900000000000000 | |
| 473 | + | 00000000000000006e6574207469746c650000001c00260101005000f3030000 | |
| 474 | + | 00000000000000000000000000000000000000000108270103000000ef030000 | |
| 475 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 476 | + | 1c00270101005000f30300000000000000000000000000000000000000000000 | |
| 477 | + | 0108280103000000ef0300000000000009000000000000000000000000000000 | |
| 478 | + | 6e6574207469746c650000001c00280101005000f30300000000000000000000 | |
| 479 | + | 0000000000000000000000000108290103000000ef0300000000000009000000 | |
| 480 | + | 0000000000000000000000006e6574207469746c650000001c00290101005000 | |
| 481 | + | f3030000000000000000000000000000000000000000000001082a0103000000 | |
| 482 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 483 | + | 650000001c002a0101005000f303000000000000000000000000000000000000 | |
| 484 | + | 0000000001082b0103000000ef03000000000000090000000000000000000000 | |
| 485 | + | 000000006e6574207469746c650000001c002b0101005000f303000000000000 | |
| 486 | + | 0000000000000000000000000000000001082c0103000000ef03000000000000 | |
| 487 | + | 090000000000000000000000000000006e6574207469746c650000001c002c01 | |
| 488 | + | 01005000f3030000000000000000000000000000000000000000000001082d01 | |
| 489 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 490 | + | 7469746c650000001c002d0101005000f3030000000000000000000000000000 | |
| 491 | + | 000000000000000001082e0103000000ef030000000000000900000000000000 | |
| 492 | + | 00000000000000006e6574207469746c650000001c002e0101005000f3030000 | |
| 493 | + | 000000000000000000000000000000000000000001082f0103000000ef030000 | |
| 494 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 495 | + | 1c002f0101005000f30300000000000000000000000000000000000000000000 | |
| 496 | + | 0108300103000000ef0300000000000009000000000000000000000000000000 | |
| 497 | + | 6e6574207469746c650000001c00300101005000f30300000000000000000000 | |
| 498 | + | 0000000000000000000000000108310103000000ef0300000000000009000000 | |
| 499 | + | 0000000000000000000000006e6574207469746c650000001c00310101005000 | |
| 500 | + | f303000000000000000000000000000000000000000000000108320103000000 | |
| 501 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 502 | + | 650000001c00320101005000f303000000000000000000000000000000000000 | |
| 503 | + | 000000000108330103000000ef03000000000000090000000000000000000000 | |
| 504 | + | 000000006e6574207469746c650000001c00330101005000f303000000000000 | |
| 505 | + | 000000000000000000000000000000000108340103000000ef03000000000000 | |
| 506 | + | 090000000000000000000000000000006e6574207469746c650000001c003401 | |
| 507 | + | 01005000f3030000000000000000000000000000000000000000000001083501 | |
| 508 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 509 | + | 7469746c650000001c00350101005000f3030000000000000000000000000000 | |
| 510 | + | 00000000000000000108360103000000ef030000000000000900000000000000 | |
| 511 | + | 00000000000000006e6574207469746c650000001c00360101005000f3030000 | |
| 512 | + | 00000000000000000000000000000000000000000108370103000000ef030000 | |
| 513 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 514 | + | 1c00370101005000f30300000000000000000000000000000000000000000000 | |
| 515 | + | 0108380103000000ef0300000000000009000000000000000000000000000000 | |
| 516 | + | 6e6574207469746c650000001c00380101005000f30300000000000000000000 | |
| 517 | + | 0000000000000000000000000108390103000000ef0300000000000009000000 | |
| 518 | + | 0000000000000000000000006e6574207469746c650000001c00390101005000 | |
| 519 | + | f3030000000000000000000000000000000000000000000001083a0103000000 | |
| 520 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 521 | + | 650000001c003a0101005000f303000000000000000000000000000000000000 | |
| 522 | + | 0000000001083b0103000000ef03000000000000090000000000000000000000 | |
| 523 | + | 000000006e6574207469746c650000001c003b0101005000f303000000000000 | |
| 524 | + | 0000000000000000000000000000000001083c0103000000ef03000000000000 | |
| 525 | + | 090000000000000000000000000000006e6574207469746c650000001c003c01 | |
| 526 | + | 01005000f3030000000000000000000000000000000000000000000001083d01 | |
| 527 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 528 | + | 7469746c650000001c003d0101005000f3030000000000000000000000000000 | |
| 529 | + | 000000000000000001083e0103000000ef030000000000000900000000000000 | |
| 530 | + | 00000000000000006e6574207469746c650000001c003e0101005000f3030000 | |
| 531 | + | 000000000000000000000000000000000000000001083f0103000000ef030000 | |
| 532 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 533 | + | 1c003f0101005000f30300000000000000000000000000000000000000000000 | |
| 534 | + | 0108400103000000ef0300000000000009000000000000000000000000000000 | |
| 535 | + | 6e6574207469746c650000001c00400101005000f30300000000000000000000 | |
| 536 | + | 0000000000000000000000000108410103000000ef0300000000000009000000 | |
| 537 | + | 0000000000000000000000006e6574207469746c650000001c00410101005000 | |
| 538 | + | f303000000000000000000000000000000000000000000000108420103000000 | |
| 539 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 540 | + | 650000001c00420101005000f303000000000000000000000000000000000000 | |
| 541 | + | 000000000108430103000000ef03000000000000090000000000000000000000 | |
| 542 | + | 000000006e6574207469746c650000001c00430101005000f303000000000000 | |
| 543 | + | 000000000000000000000000000000000108440103000000ef03000000000000 | |
| 544 | + | 090000000000000000000000000000006e6574207469746c650000001c004401 | |
| 545 | + | 01005000f3030000000000000000000000000000000000000000000001084501 | |
| 546 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 547 | + | 7469746c650000001c00450101005000f3030000000000000000000000000000 | |
| 548 | + | 00000000000000000108460103000000ef030000000000000900000000000000 | |
| 549 | + | 00000000000000006e6574207469746c650000001c00460101005000f3030000 | |
| 550 | + | 00000000000000000000000000000000000000000108470103000000ef030000 | |
| 551 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 552 | + | 1c00470101005000f30300000000000000000000000000000000000000000000 | |
| 553 | + | 0108480103000000ef0300000000000009000000000000000000000000000000 | |
| 554 | + | 6e6574207469746c650000001c00480101005000f30300000000000000000000 | |
| 555 | + | 0000000000000000000000000108490103000000ef0300000000000009000000 | |
| 556 | + | 0000000000000000000000006e6574207469746c650000001c00490101005000 | |
| 557 | + | f3030000000000000000000000000000000000000000000001084a0103000000 | |
| 558 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 559 | + | 650000001c004a0101005000f303000000000000000000000000000000000000 | |
| 560 | + | 0000000001084b0103000000ef03000000000000090000000000000000000000 | |
| 561 | + | 000000006e6574207469746c650000001c004b0101005000f303000000000000 | |
| 562 | + | 0000000000000000000000000000000001084c0103000000ef03000000000000 | |
| 563 | + | 090000000000000000000000000000006e6574207469746c650000001c004c01 | |
| 564 | + | 01005000f3030000000000000000000000000000000000000000000001084d01 | |
| 565 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 566 | + | 7469746c650000001c004d0101005000f3030000000000000000000000000000 | |
| 567 | + | 000000000000000001084e0103000000ef030000000000000900000000000000 | |
| 568 | + | 00000000000000006e6574207469746c650000001c004e0101005000f3030000 | |
| 569 | + | 000000000000000000000000000000000000000001084f0103000000ef030000 | |
| 570 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 571 | + | 1c004f0101005000f30300000000000000000000000000000000000000000000 | |
| 572 | + | 0108500103000000ef0300000000000009000000000000000000000000000000 | |
| 573 | + | 6e6574207469746c650000001c00500101005000f30300000000000000000000 | |
| 574 | + | 0000000000000000000000000108510103000000ef0300000000000009000000 | |
| 575 | + | 0000000000000000000000006e6574207469746c650000001c00510101005000 | |
| 576 | + | f303000000000000000000000000000000000000000000000108520103000000 | |
| 577 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 578 | + | 650000001c00520101005000f303000000000000000000000000000000000000 | |
| 579 | + | 000000000108530103000000ef03000000000000090000000000000000000000 | |
| 580 | + | 000000006e6574207469746c650000001c00530101005000f303000000000000 | |
| 581 | + | 000000000000000000000000000000000108540103000000ef03000000000000 | |
| 582 | + | 090000000000000000000000000000006e6574207469746c650000001c005401 | |
| 583 | + | 01005000f3030000000000000000000000000000000000000000000001085501 | |
| 584 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 585 | + | 7469746c650000001c00550101005000f3030000000000000000000000000000 | |
| 586 | + | 00000000000000000108560103000000ef030000000000000900000000000000 | |
| 587 | + | 00000000000000006e6574207469746c650000001c00560101005000f3030000 | |
| 588 | + | 00000000000000000000000000000000000000000108570103000000ef030000 | |
| 589 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 590 | + | 1c00570101005000f30300000000000000000000000000000000000000000000 | |
| 591 | + | 0108580103000000ef0300000000000009000000000000000000000000000000 | |
| 592 | + | 6e6574207469746c650000001c00580101005000f30300000000000000000000 | |
| 593 | + | 0000000000000000000000000108590103000000ef0300000000000009000000 | |
| 594 | + | 0000000000000000000000006e6574207469746c650000001c00590101005000 | |
| 595 | + | f3030000000000000000000000000000000000000000000001085a0103000000 | |
| 596 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 597 | + | 650000001c005a0101005000f303000000000000000000000000000000000000 | |
| 598 | + | 0000000001085b0103000000ef03000000000000090000000000000000000000 | |
| 599 | + | 000000006e6574207469746c650000001c005b0101005000f303000000000000 | |
| 600 | + | 0000000000000000000000000000000001085c0103000000ef03000000000000 | |
| 601 | + | 090000000000000000000000000000006e6574207469746c650000001c005c01 | |
| 602 | + | 01005000f3030000000000000000000000000000000000000000000001085d01 | |
| 603 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 604 | + | 7469746c650000001c005d0101005000f3030000000000000000000000000000 | |
| 605 | + | 000000000000000001085e0103000000ef030000000000000900000000000000 | |
| 606 | + | 00000000000000006e6574207469746c650000001c005e0101005000f3030000 | |
| 607 | + | 000000000000000000000000000000000000000001085f0103000000ef030000 | |
| 608 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 609 | + | 1c005f0101005000f30300000000000000000000000000000000000000000000 | |
| 610 | + | 0108600103000000ef0300000000000009000000000000000000000000000000 | |
| 611 | + | 6e6574207469746c650000001c00600101005000f30300000000000000000000 | |
| 612 | + | 0000000000000000000000000108610103000000ef0300000000000009000000 | |
| 613 | + | 0000000000000000000000006e6574207469746c650000001c00610101005000 | |
| 614 | + | f303000000000000000000000000000000000000000000000108620103000000 | |
| 615 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 616 | + | 650000001c00620101005000f303000000000000000000000000000000000000 | |
| 617 | + | 000000000108630103000000ef03000000000000090000000000000000000000 | |
| 618 | + | 000000006e6574207469746c650000001c00630101005000f303000000000000 | |
| 619 | + | 000000000000000000000000000000000108640103000000ef03000000000000 | |
| 620 | + | 090000000000000000000000000000006e6574207469746c650000001c006401 | |
| 621 | + | 01005000f3030000000000000000000000000000000000000000000001086501 | |
| 622 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 623 | + | 7469746c650000001c00650101005000f3030000000000000000000000000000 | |
| 624 | + | 00000000000000000108660103000000ef030000000000000900000000000000 | |
| 625 | + | 00000000000000006e6574207469746c650000001c00660101005000f3030000 | |
| 626 | + | 00000000000000000000000000000000000000000108670103000000ef030000 | |
| 627 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 628 | + | 1c00670101005000f30300000000000000000000000000000000000000000000 | |
| 629 | + | 0108680103000000ef0300000000000009000000000000000000000000000000 | |
| 630 | + | 6e6574207469746c650000001c00680101005000f30300000000000000000000 | |
| 631 | + | 0000000000000000000000000108690103000000ef0300000000000009000000 | |
| 632 | + | 0000000000000000000000006e6574207469746c650000001c00690101005000 | |
| 633 | + | f3030000000000000000000000000000000000000000000001086a0103000000 | |
| 634 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 635 | + | 650000001c006a0101005000f303000000000000000000000000000000000000 | |
| 636 | + | 0000000001086b0103000000ef03000000000000090000000000000000000000 | |
| 637 | + | 000000006e6574207469746c650000001c006b0101005000f303000000000000 | |
| 638 | + | 0000000000000000000000000000000001086c0103000000ef03000000000000 | |
| 639 | + | 090000000000000000000000000000006e6574207469746c650000001c006c01 | |
| 640 | + | 01005000f3030000000000000000000000000000000000000000000001086d01 | |
| 641 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 642 | + | 7469746c650000001c006d0101005000f3030000000000000000000000000000 | |
| 643 | + | 000000000000000001086e0103000000ef030000000000000900000000000000 | |
| 644 | + | 00000000000000006e6574207469746c650000001c006e0101005000f3030000 | |
| 645 | + | 000000000000000000000000000000000000000001086f0103000000ef030000 | |
| 646 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 647 | + | 1c006f0101005000f30300000000000000000000000000000000000000000000 | |
| 648 | + | 0108700103000000ef0300000000000009000000000000000000000000000000 | |
| 649 | + | 6e6574207469746c650000001c00700101005000f30300000000000000000000 | |
| 650 | + | 0000000000000000000000000108710103000000ef0300000000000009000000 | |
| 651 | + | 0000000000000000000000006e6574207469746c650000001c00710101005000 | |
| 652 | + | f303000000000000000000000000000000000000000000000108720103000000 | |
| 653 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 654 | + | 650000001c00720101005000f303000000000000000000000000000000000000 | |
| 655 | + | 000000000108730103000000ef03000000000000090000000000000000000000 | |
| 656 | + | 000000006e6574207469746c650000001c00730101005000f303000000000000 | |
| 657 | + | 000000000000000000000000000000000108740103000000ef03000000000000 | |
| 658 | + | 090000000000000000000000000000006e6574207469746c650000001c007401 | |
| 659 | + | 01005000f3030000000000000000000000000000000000000000000001087501 | |
| 660 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 661 | + | 7469746c650000001c00750101005000f3030000000000000000000000000000 | |
| 662 | + | 00000000000000000108760103000000ef030000000000000900000000000000 | |
| 663 | + | 00000000000000006e6574207469746c650000001c00760101005000f3030000 | |
| 664 | + | 00000000000000000000000000000000000000000108770103000000ef030000 | |
| 665 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 666 | + | 1c00770101005000f30300000000000000000000000000000000000000000000 | |
| 667 | + | 0108780103000000ef0300000000000009000000000000000000000000000000 | |
| 668 | + | 6e6574207469746c650000001c00780101005000f30300000000000000000000 | |
| 669 | + | 0000000000000000000000000108790103000000ef0300000000000009000000 | |
| 670 | + | 0000000000000000000000006e6574207469746c650000001c00790101005000 | |
| 671 | + | f3030000000000000000000000000000000000000000000001087a0103000000 | |
| 672 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 673 | + | 650000001c007a0101005000f303000000000000000000000000000000000000 | |
| 674 | + | 0000000001087b0103000000ef03000000000000090000000000000000000000 | |
| 675 | + | 000000006e6574207469746c650000001c007b0101005000f303000000000000 | |
| 676 | + | 0000000000000000000000000000000001087c0103000000ef03000000000000 | |
| 677 | + | 090000000000000000000000000000006e6574207469746c650000001c007c01 | |
| 678 | + | 01005000f3030000000000000000000000000000000000000000000001087d01 | |
| 679 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 680 | + | 7469746c650000001c007d0101005000f3030000000000000000000000000000 | |
| 681 | + | 000000000000000001087e0103000000ef030000000000000900000000000000 | |
| 682 | + | 00000000000000006e6574207469746c650000001c007e0101005000f3030000 | |
| 683 | + | 000000000000000000000000000000000000000001087f0103000000ef030000 | |
| 684 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 685 | + | 1c007f0101005000f30300000000000000000000000000000000000000000000 | |
| 686 | + | 0108800103000000ef0300000000000009000000000000000000000000000000 | |
| 687 | + | 6e6574207469746c650000001c00800101005000f30300000000000000000000 | |
| 688 | + | 0000000000000000000000000108810103000000ef0300000000000009000000 | |
| 689 | + | 0000000000000000000000006e6574207469746c650000001c00810101005000 | |
| 690 | + | f303000000000000000000000000000000000000000000000108820103000000 | |
| 691 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 692 | + | 650000001c00820101005000f303000000000000000000000000000000000000 | |
| 693 | + | 000000000108830103000000ef03000000000000090000000000000000000000 | |
| 694 | + | 000000006e6574207469746c650000001c00830101005000f303000000000000 | |
| 695 | + | 000000000000000000000000000000000108840103000000ef03000000000000 | |
| 696 | + | 090000000000000000000000000000006e6574207469746c650000001c008401 | |
| 697 | + | 01005000f3030000000000000000000000000000000000000000000001088501 | |
| 698 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 699 | + | 7469746c650000001c00850101005000f3030000000000000000000000000000 | |
| 700 | + | 00000000000000000108860103000000ef030000000000000900000000000000 | |
| 701 | + | 00000000000000006e6574207469746c650000001c00860101005000f3030000 | |
| 702 | + | 00000000000000000000000000000000000000000108870103000000ef030000 | |
| 703 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 704 | + | 1c00870101005000f30300000000000000000000000000000000000000000000 | |
| 705 | + | 0108880103000000ef0300000000000009000000000000000000000000000000 | |
| 706 | + | 6e6574207469746c650000001c00880101005000f30300000000000000000000 | |
| 707 | + | 0000000000000000000000000108890103000000ef0300000000000009000000 | |
| 708 | + | 0000000000000000000000006e6574207469746c650000001c00890101005000 | |
| 709 | + | f3030000000000000000000000000000000000000000000001088a0103000000 | |
| 710 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 711 | + | 650000001c008a0101005000f303000000000000000000000000000000000000 | |
| 712 | + | 0000000001088b0103000000ef03000000000000090000000000000000000000 | |
| 713 | + | 000000006e6574207469746c650000001c008b0101005000f303000000000000 | |
| 714 | + | 0000000000000000000000000000000001088c0103000000ef03000000000000 | |
| 715 | + | 090000000000000000000000000000006e6574207469746c650000001c008c01 | |
| 716 | + | 01005000f3030000000000000000000000000000000000000000000001088d01 | |
| 717 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 718 | + | 7469746c650000001c008d0101005000f3030000000000000000000000000000 | |
| 719 | + | 000000000000000001088e0103000000ef030000000000000900000000000000 | |
| 720 | + | 00000000000000006e6574207469746c650000001c008e0101005000f3030000 | |
| 721 | + | 000000000000000000000000000000000000000001088f0103000000ef030000 | |
| 722 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 723 | + | 1c008f0101005000f30300000000000000000000000000000000000000000000 | |
| 724 | + | 0108900103000000ef0300000000000009000000000000000000000000000000 | |
| 725 | + | 6e6574207469746c650000001c00900101005000f30300000000000000000000 | |
| 726 | + | 0000000000000000000000000108910103000000ef0300000000000009000000 | |
| 727 | + | 0000000000000000000000006e6574207469746c650000001c00910101005000 | |
| 728 | + | f303000000000000000000000000000000000000000000000108920103000000 | |
| 729 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 730 | + | 650000001c00920101005000f303000000000000000000000000000000000000 | |
| 731 | + | 000000000108930103000000ef03000000000000090000000000000000000000 | |
| 732 | + | 000000006e6574207469746c650000001c00930101005000f303000000000000 | |
| 733 | + | 000000000000000000000000000000000108940103000000ef03000000000000 | |
| 734 | + | 090000000000000000000000000000006e6574207469746c650000001c009401 | |
| 735 | + | 01005000f3030000000000000000000000000000000000000000000001089501 | |
| 736 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 737 | + | 7469746c650000001c00950101005000f3030000000000000000000000000000 | |
| 738 | + | 00000000000000000108960103000000ef030000000000000900000000000000 | |
| 739 | + | 00000000000000006e6574207469746c650000001c00960101005000f3030000 | |
| 740 | + | 00000000000000000000000000000000000000000108970103000000ef030000 | |
| 741 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 742 | + | 1c00970101005000f30300000000000000000000000000000000000000000000 | |
| 743 | + | 0108980103000000ef0300000000000009000000000000000000000000000000 | |
| 744 | + | 6e6574207469746c650000001c00980101005000f30300000000000000000000 | |
| 745 | + | 0000000000000000000000000108990103000000ef0300000000000009000000 | |
| 746 | + | 0000000000000000000000006e6574207469746c650000001c00990101005000 | |
| 747 | + | f3030000000000000000000000000000000000000000000001089a0103000000 | |
| 748 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 749 | + | 650000001c009a0101005000f303000000000000000000000000000000000000 | |
| 750 | + | 0000000001089b0103000000ef03000000000000090000000000000000000000 | |
| 751 | + | 000000006e6574207469746c650000001c009b0101005000f303000000000000 | |
| 752 | + | 0000000000000000000000000000000001089c0103000000ef03000000000000 | |
| 753 | + | 090000000000000000000000000000006e6574207469746c650000001c009c01 | |
| 754 | + | 01005000f3030000000000000000000000000000000000000000000001089d01 | |
| 755 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 756 | + | 7469746c650000001c009d0101005000f3030000000000000000000000000000 | |
| 757 | + | 000000000000000001089e0103000000ef030000000000000900000000000000 | |
| 758 | + | 00000000000000006e6574207469746c650000001c009e0101005000f3030000 | |
| 759 | + | 000000000000000000000000000000000000000001089f0103000000ef030000 | |
| 760 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 761 | + | 1c009f0101005000f30300000000000000000000000000000000000000000000 | |
| 762 | + | 0108a00103000000ef0300000000000009000000000000000000000000000000 | |
| 763 | + | 6e6574207469746c650000001c00a00101005000f30300000000000000000000 | |
| 764 | + | 0000000000000000000000000108a10103000000ef0300000000000009000000 | |
| 765 | + | 0000000000000000000000006e6574207469746c650000001c00a10101005000 | |
| 766 | + | f303000000000000000000000000000000000000000000000108a20103000000 | |
| 767 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 768 | + | 650000001c00a20101005000f303000000000000000000000000000000000000 | |
| 769 | + | 000000000108a30103000000ef03000000000000090000000000000000000000 | |
| 770 | + | 000000006e6574207469746c650000001c00a30101005000f303000000000000 | |
| 771 | + | 000000000000000000000000000000000108a40103000000ef03000000000000 | |
| 772 | + | 090000000000000000000000000000006e6574207469746c650000001c00a401 | |
| 773 | + | 01005000f303000000000000000000000000000000000000000000000108a501 | |
| 774 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 775 | + | 7469746c650000001c00a50101005000f3030000000000000000000000000000 | |
| 776 | + | 00000000000000000108a60103000000ef030000000000000900000000000000 | |
| 777 | + | 00000000000000006e6574207469746c650000001c00a60101005000f3030000 | |
| 778 | + | 00000000000000000000000000000000000000000108a70103000000ef030000 | |
| 779 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 780 | + | 1c00a70101005000f30300000000000000000000000000000000000000000000 | |
| 781 | + | 0108a80103000000ef0300000000000009000000000000000000000000000000 | |
| 782 | + | 6e6574207469746c650000001c00a80101005000f30300000000000000000000 | |
| 783 | + | 0000000000000000000000000108a90103000000ef0300000000000009000000 | |
| 784 | + | 0000000000000000000000006e6574207469746c650000001c00a90101005000 | |
| 785 | + | f303000000000000000000000000000000000000000000000108aa0103000000 | |
| 786 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 787 | + | 650000001c00aa0101005000f303000000000000000000000000000000000000 | |
| 788 | + | 000000000108ab0103000000ef03000000000000090000000000000000000000 | |
| 789 | + | 000000006e6574207469746c650000001c00ab0101005000f303000000000000 | |
| 790 | + | 000000000000000000000000000000000108ac0103000000ef03000000000000 | |
| 791 | + | 090000000000000000000000000000006e6574207469746c650000001c00ac01 | |
| 792 | + | 01005000f303000000000000000000000000000000000000000000000108ad01 | |
| 793 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 794 | + | 7469746c650000001c00ad0101005000f3030000000000000000000000000000 | |
| 795 | + | 00000000000000000108ae0103000000ef030000000000000900000000000000 | |
| 796 | + | 00000000000000006e6574207469746c650000001c00ae0101005000f3030000 | |
| 797 | + | 00000000000000000000000000000000000000000108af0103000000ef030000 | |
| 798 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 799 | + | 1c00af0101005000f30300000000000000000000000000000000000000000000 | |
| 800 | + | 0108b00103000000ef0300000000000009000000000000000000000000000000 | |
| 801 | + | 6e6574207469746c650000001c00b00101005000f30300000000000000000000 | |
| 802 | + | 0000000000000000000000000108b10103000000ef0300000000000009000000 | |
| 803 | + | 0000000000000000000000006e6574207469746c650000001c00b10101005000 | |
| 804 | + | f303000000000000000000000000000000000000000000000108b20103000000 | |
| 805 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 806 | + | 650000001c00b20101005000f303000000000000000000000000000000000000 | |
| 807 | + | 000000000108b30103000000ef03000000000000090000000000000000000000 | |
| 808 | + | 000000006e6574207469746c650000001c00b30101005000f303000000000000 | |
| 809 | + | 000000000000000000000000000000000108b40103000000ef03000000000000 | |
| 810 | + | 090000000000000000000000000000006e6574207469746c650000001c00b401 | |
| 811 | + | 01005000f303000000000000000000000000000000000000000000000108b501 | |
| 812 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 813 | + | 7469746c650000001c00b50101005000f3030000000000000000000000000000 | |
| 814 | + | 00000000000000000108b60103000000ef030000000000000900000000000000 | |
| 815 | + | 00000000000000006e6574207469746c650000001c00b60101005000f3030000 | |
| 816 | + | 00000000000000000000000000000000000000000108b70103000000ef030000 | |
| 817 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 818 | + | 1c00b70101005000f30300000000000000000000000000000000000000000000 | |
| 819 | + | 0108b80103000000ef0300000000000009000000000000000000000000000000 | |
| 820 | + | 6e6574207469746c650000001c00b80101005000f30300000000000000000000 | |
| 821 | + | 0000000000000000000000000108b90103000000ef0300000000000009000000 | |
| 822 | + | 0000000000000000000000006e6574207469746c650000001c00b90101005000 | |
| 823 | + | f303000000000000000000000000000000000000000000000108ba0103000000 | |
| 824 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 825 | + | 650000001c00ba0101005000f303000000000000000000000000000000000000 | |
| 826 | + | 000000000108bb0103000000ef03000000000000090000000000000000000000 | |
| 827 | + | 000000006e6574207469746c650000001c00bb0101005000f303000000000000 | |
| 828 | + | 000000000000000000000000000000000108bc0103000000ef03000000000000 | |
| 829 | + | 090000000000000000000000000000006e6574207469746c650000001c00bc01 | |
| 830 | + | 01005000f303000000000000000000000000000000000000000000000108bd01 | |
| 831 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 832 | + | 7469746c650000001c00bd0101005000f3030000000000000000000000000000 | |
| 833 | + | 00000000000000000108be0103000000ef030000000000000900000000000000 | |
| 834 | + | 00000000000000006e6574207469746c650000001c00be0101005000f3030000 | |
| 835 | + | 00000000000000000000000000000000000000000108bf0103000000ef030000 | |
| 836 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 837 | + | 1c00bf0101005000f30300000000000000000000000000000000000000000000 | |
| 838 | + | 0108c00103000000ef0300000000000009000000000000000000000000000000 | |
| 839 | + | 6e6574207469746c650000001c00c00101005000f30300000000000000000000 | |
| 840 | + | 0000000000000000000000000108c10103000000ef0300000000000009000000 | |
| 841 | + | 0000000000000000000000006e6574207469746c650000001c00c10101005000 | |
| 842 | + | f303000000000000000000000000000000000000000000000108c20103000000 | |
| 843 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 844 | + | 650000001c00c20101005000f303000000000000000000000000000000000000 | |
| 845 | + | 000000000108c30103000000ef03000000000000090000000000000000000000 | |
| 846 | + | 000000006e6574207469746c650000001c00c30101005000f303000000000000 | |
| 847 | + | 000000000000000000000000000000000108c40103000000ef03000000000000 | |
| 848 | + | 090000000000000000000000000000006e6574207469746c650000001c00c401 | |
| 849 | + | 01005000f303000000000000000000000000000000000000000000000108c501 | |
| 850 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 851 | + | 7469746c650000001c00c50101005000f3030000000000000000000000000000 | |
| 852 | + | 00000000000000000108c60103000000ef030000000000000900000000000000 | |
| 853 | + | 00000000000000006e6574207469746c650000001c00c60101005000f3030000 | |
| 854 | + | 00000000000000000000000000000000000000000108c70103000000ef030000 | |
| 855 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 856 | + | 1c00c70101005000f30300000000000000000000000000000000000000000000 | |
| 857 | + | 0108c80103000000ef0300000000000009000000000000000000000000000000 | |
| 858 | + | 6e6574207469746c650000001c00c80101005000f30300000000000000000000 | |
| 859 | + | 0000000000000000000000000108c90103000000ef0300000000000009000000 | |
| 860 | + | 0000000000000000000000006e6574207469746c650000001c00c90101005000 | |
| 861 | + | f303000000000000000000000000000000000000000000000108ca0103000000 | |
| 862 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 863 | + | 650000001c00ca0101005000f303000000000000000000000000000000000000 | |
| 864 | + | 000000000108cb0103000000ef03000000000000090000000000000000000000 | |
| 865 | + | 000000006e6574207469746c650000001c00cb0101005000f303000000000000 | |
| 866 | + | 000000000000000000000000000000000108cc0103000000ef03000000000000 | |
| 867 | + | 090000000000000000000000000000006e6574207469746c650000001c00cc01 | |
| 868 | + | 01005000f303000000000000000000000000000000000000000000000108cd01 | |
| 869 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 870 | + | 7469746c650000001c00cd0101005000f3030000000000000000000000000000 | |
| 871 | + | 00000000000000000108ce0103000000ef030000000000000900000000000000 | |
| 872 | + | 00000000000000006e6574207469746c650000001c00ce0101005000f3030000 | |
| 873 | + | 00000000000000000000000000000000000000000108cf0103000000ef030000 | |
| 874 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 875 | + | 1c00cf0101005000f30300000000000000000000000000000000000000000000 | |
| 876 | + | 0108d00103000000ef0300000000000009000000000000000000000000000000 | |
| 877 | + | 6e6574207469746c650000001c00d00101005000f30300000000000000000000 | |
| 878 | + | 0000000000000000000000000108d10103000000ef0300000000000009000000 | |
| 879 | + | 0000000000000000000000006e6574207469746c650000001c00d10101005000 | |
| 880 | + | f303000000000000000000000000000000000000000000000108d20103000000 | |
| 881 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 882 | + | 650000001c00d20101005000f303000000000000000000000000000000000000 | |
| 883 | + | 000000000108d30103000000ef03000000000000090000000000000000000000 | |
| 884 | + | 000000006e6574207469746c650000001c00d30101005000f303000000000000 | |
| 885 | + | 000000000000000000000000000000000108d40103000000ef03000000000000 | |
| 886 | + | 090000000000000000000000000000006e6574207469746c650000001c00d401 | |
| 887 | + | 01005000f303000000000000000000000000000000000000000000000108d501 | |
| 888 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 889 | + | 7469746c650000001c00d50101005000f3030000000000000000000000000000 | |
| 890 | + | 00000000000000000108d60103000000ef030000000000000900000000000000 | |
| 891 | + | 00000000000000006e6574207469746c650000001c00d60101005000f3030000 | |
| 892 | + | 00000000000000000000000000000000000000000108d70103000000ef030000 | |
| 893 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 894 | + | 1c00d70101005000f30300000000000000000000000000000000000000000000 | |
| 895 | + | 0108d80103000000ef0300000000000009000000000000000000000000000000 | |
| 896 | + | 6e6574207469746c650000001c00d80101005000f30300000000000000000000 | |
| 897 | + | 0000000000000000000000000108d90103000000ef0300000000000009000000 | |
| 898 | + | 0000000000000000000000006e6574207469746c650000001c00d90101005000 | |
| 899 | + | f303000000000000000000000000000000000000000000000108da0103000000 | |
| 900 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 901 | + | 650000001c00da0101005000f303000000000000000000000000000000000000 | |
| 902 | + | 000000000108db0103000000ef03000000000000090000000000000000000000 | |
| 903 | + | 000000006e6574207469746c650000001c00db0101005000f303000000000000 | |
| 904 | + | 000000000000000000000000000000000108dc0103000000ef03000000000000 | |
| 905 | + | 090000000000000000000000000000006e6574207469746c650000001c00dc01 | |
| 906 | + | 01005000f303000000000000000000000000000000000000000000000108dd01 | |
| 907 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 908 | + | 7469746c650000001c00dd0101005000f3030000000000000000000000000000 | |
| 909 | + | 00000000000000000108de0103000000ef030000000000000900000000000000 | |
| 910 | + | 00000000000000006e6574207469746c650000001c00de0101005000f3030000 | |
| 911 | + | 00000000000000000000000000000000000000000108df0103000000ef030000 | |
| 912 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 913 | + | 1c00df0101005000f30300000000000000000000000000000000000000000000 | |
| 914 | + | 0108e00103000000ef0300000000000009000000000000000000000000000000 | |
| 915 | + | 6e6574207469746c650000001c00e00101005000f30300000000000000000000 | |
| 916 | + | 0000000000000000000000000108e10103000000ef0300000000000009000000 | |
| 917 | + | 0000000000000000000000006e6574207469746c650000001c00e10101005000 | |
| 918 | + | f303000000000000000000000000000000000000000000000108e20103000000 | |
| 919 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 920 | + | 650000001c00e20101005000f303000000000000000000000000000000000000 | |
| 921 | + | 000000000108e30103000000ef03000000000000090000000000000000000000 | |
| 922 | + | 000000006e6574207469746c650000001c00e30101005000f303000000000000 | |
| 923 | + | 000000000000000000000000000000000108e40103000000ef03000000000000 | |
| 924 | + | 090000000000000000000000000000006e6574207469746c650000001c00e401 | |
| 925 | + | 01005000f303000000000000000000000000000000000000000000000108e501 | |
| 926 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 927 | + | 7469746c650000001c00e50101005000f3030000000000000000000000000000 | |
| 928 | + | 00000000000000000108e60103000000ef030000000000000900000000000000 | |
| 929 | + | 00000000000000006e6574207469746c650000001c00e60101005000f3030000 | |
| 930 | + | 00000000000000000000000000000000000000000108e70103000000ef030000 | |
| 931 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 932 | + | 1c00e70101005000f30300000000000000000000000000000000000000000000 | |
| 933 | + | 0108e80103000000ef0300000000000009000000000000000000000000000000 | |
| 934 | + | 6e6574207469746c650000001c00e80101005000f30300000000000000000000 | |
| 935 | + | 0000000000000000000000000108e90103000000ef0300000000000009000000 | |
| 936 | + | 0000000000000000000000006e6574207469746c650000001c00e90101005000 | |
| 937 | + | f303000000000000000000000000000000000000000000000108ea0103000000 | |
| 938 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 939 | + | 650000001c00ea0101005000f303000000000000000000000000000000000000 | |
| 940 | + | 000000000108eb0103000000ef03000000000000090000000000000000000000 | |
| 941 | + | 000000006e6574207469746c650000001c00eb0101005000f303000000000000 | |
| 942 | + | 000000000000000000000000000000000108ec0103000000ef03000000000000 | |
| 943 | + | 090000000000000000000000000000006e6574207469746c650000001c00ec01 | |
| 944 | + | 01005000f303000000000000000000000000000000000000000000000108ed01 | |
| 945 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 946 | + | 7469746c650000001c00ed0101005000f3030000000000000000000000000000 | |
| 947 | + | 00000000000000000108ee0103000000ef030000000000000900000000000000 | |
| 948 | + | 00000000000000006e6574207469746c650000001c00ee0101005000f3030000 | |
| 949 | + | 00000000000000000000000000000000000000000108ef0103000000ef030000 | |
| 950 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
A internal/adapters/wayland/xwm/testdata/streams/steady.hex +2150 -0
| @@ -0,0 +1,2150 @@ | |||
| 1 | + | 1c005f0001005000f30300000000000000000000000000000000000000000000 | |
| 2 | + | 0108600003000000ef0300000000000009000000000000000000000000000000 | |
| 3 | + | 6e6574207469746c650000001600600001005000010050000000000000000000 | |
| 4 | + | 0a0014002c01c800000000000900600001005000000000000000000000000000 | |
| 5 | + | 0000000000000000000000001300600000010000010050000000000000000000 | |
| 6 | + | 0000000000000000000000001c00600001005000f30300000000000000000000 | |
| 7 | + | 0000000000000000000000000108610003000000ef0300000000000009000000 | |
| 8 | + | 0000000000000000000000006e6574207469746c650000001600610001005000 | |
| 9 | + | 0100500000000000000000000a0014002c01c800000000000900610001005000 | |
| 10 | + | 0000000000000000000000000000000000000000000000001300610000010000 | |
| 11 | + | 0100500000000000000000000000000000000000000000001c00610001005000 | |
| 12 | + | f303000000000000000000000000000000000000000000000108620003000000 | |
| 13 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 14 | + | 6500000016006200010050000100500000000000000000000a0014002c01c800 | |
| 15 | + | 0000000009006200010050000000000000000000000000000000000000000000 | |
| 16 | + | 0000000013006200000100000100500000000000000000000000000000000000 | |
| 17 | + | 000000001c00620001005000f303000000000000000000000000000000000000 | |
| 18 | + | 000000000108630003000000ef03000000000000090000000000000000000000 | |
| 19 | + | 000000006e6574207469746c6500000016006300010050000100500000000000 | |
| 20 | + | 000000000a0014002c01c8000000000009006300010050000000000000000000 | |
| 21 | + | 0000000000000000000000000000000013006300000100000100500000000000 | |
| 22 | + | 000000000000000000000000000000001c00630001005000f303000000000000 | |
| 23 | + | 000000000000000000000000000000000108640003000000ef03000000000000 | |
| 24 | + | 090000000000000000000000000000006e6574207469746c6500000016006400 | |
| 25 | + | 010050000100500000000000000000000a0014002c01c8000000000009006400 | |
| 26 | + | 0100500000000000000000000000000000000000000000000000000013006400 | |
| 27 | + | 000100000100500000000000000000000000000000000000000000001c006400 | |
| 28 | + | 01005000f3030000000000000000000000000000000000000000000001086500 | |
| 29 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 30 | + | 7469746c6500000016006500010050000100500000000000000000000a001400 | |
| 31 | + | 2c01c80000000000090065000100500000000000000000000000000000000000 | |
| 32 | + | 0000000000000000130065000001000001005000000000000000000000000000 | |
| 33 | + | 00000000000000001c00650001005000f3030000000000000000000000000000 | |
| 34 | + | 00000000000000000108660003000000ef030000000000000900000000000000 | |
| 35 | + | 00000000000000006e6574207469746c65000000160066000100500001005000 | |
| 36 | + | 00000000000000000a0014002c01c80000000000090066000100500000000000 | |
| 37 | + | 0000000000000000000000000000000000000000130066000001000001005000 | |
| 38 | + | 00000000000000000000000000000000000000001c00660001005000f3030000 | |
| 39 | + | 00000000000000000000000000000000000000000108670003000000ef030000 | |
| 40 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 41 | + | 16006700010050000100500000000000000000000a0014002c01c80000000000 | |
| 42 | + | 0900670001005000000000000000000000000000000000000000000000000000 | |
| 43 | + | 1300670000010000010050000000000000000000000000000000000000000000 | |
| 44 | + | 1c00670001005000f30300000000000000000000000000000000000000000000 | |
| 45 | + | 0108680003000000ef0300000000000009000000000000000000000000000000 | |
| 46 | + | 6e6574207469746c650000001600680001005000010050000000000000000000 | |
| 47 | + | 0a0014002c01c800000000000900680001005000000000000000000000000000 | |
| 48 | + | 0000000000000000000000001300680000010000010050000000000000000000 | |
| 49 | + | 0000000000000000000000001c00680001005000f30300000000000000000000 | |
| 50 | + | 0000000000000000000000000108690003000000ef0300000000000009000000 | |
| 51 | + | 0000000000000000000000006e6574207469746c650000001600690001005000 | |
| 52 | + | 0100500000000000000000000a0014002c01c800000000000900690001005000 | |
| 53 | + | 0000000000000000000000000000000000000000000000001300690000010000 | |
| 54 | + | 0100500000000000000000000000000000000000000000001c00690001005000 | |
| 55 | + | f3030000000000000000000000000000000000000000000001086a0003000000 | |
| 56 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 57 | + | 6500000016006a00010050000100500000000000000000000a0014002c01c800 | |
| 58 | + | 0000000009006a00010050000000000000000000000000000000000000000000 | |
| 59 | + | 0000000013006a00000100000100500000000000000000000000000000000000 | |
| 60 | + | 000000001c006a0001005000f303000000000000000000000000000000000000 | |
| 61 | + | 0000000001086b0003000000ef03000000000000090000000000000000000000 | |
| 62 | + | 000000006e6574207469746c6500000016006b00010050000100500000000000 | |
| 63 | + | 000000000a0014002c01c8000000000009006b00010050000000000000000000 | |
| 64 | + | 0000000000000000000000000000000013006b00000100000100500000000000 | |
| 65 | + | 000000000000000000000000000000001c006b0001005000f303000000000000 | |
| 66 | + | 0000000000000000000000000000000001086c0003000000ef03000000000000 | |
| 67 | + | 090000000000000000000000000000006e6574207469746c6500000016006c00 | |
| 68 | + | 010050000100500000000000000000000a0014002c01c8000000000009006c00 | |
| 69 | + | 0100500000000000000000000000000000000000000000000000000013006c00 | |
| 70 | + | 000100000100500000000000000000000000000000000000000000001c006c00 | |
| 71 | + | 01005000f3030000000000000000000000000000000000000000000001086d00 | |
| 72 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 73 | + | 7469746c6500000016006d00010050000100500000000000000000000a001400 | |
| 74 | + | 2c01c8000000000009006d000100500000000000000000000000000000000000 | |
| 75 | + | 000000000000000013006d000001000001005000000000000000000000000000 | |
| 76 | + | 00000000000000001c006d0001005000f3030000000000000000000000000000 | |
| 77 | + | 000000000000000001086e0003000000ef030000000000000900000000000000 | |
| 78 | + | 00000000000000006e6574207469746c6500000016006e000100500001005000 | |
| 79 | + | 00000000000000000a0014002c01c8000000000009006e000100500000000000 | |
| 80 | + | 000000000000000000000000000000000000000013006e000001000001005000 | |
| 81 | + | 00000000000000000000000000000000000000001c006e0001005000f3030000 | |
| 82 | + | 000000000000000000000000000000000000000001086f0003000000ef030000 | |
| 83 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 84 | + | 16006f00010050000100500000000000000000000a0014002c01c80000000000 | |
| 85 | + | 09006f0001005000000000000000000000000000000000000000000000000000 | |
| 86 | + | 13006f0000010000010050000000000000000000000000000000000000000000 | |
| 87 | + | 1c006f0001005000f30300000000000000000000000000000000000000000000 | |
| 88 | + | 0108700003000000ef0300000000000009000000000000000000000000000000 | |
| 89 | + | 6e6574207469746c650000001600700001005000010050000000000000000000 | |
| 90 | + | 0a0014002c01c800000000000900700001005000000000000000000000000000 | |
| 91 | + | 0000000000000000000000001300700000010000010050000000000000000000 | |
| 92 | + | 0000000000000000000000001c00700001005000f30300000000000000000000 | |
| 93 | + | 0000000000000000000000000108710003000000ef0300000000000009000000 | |
| 94 | + | 0000000000000000000000006e6574207469746c650000001600710001005000 | |
| 95 | + | 0100500000000000000000000a0014002c01c800000000000900710001005000 | |
| 96 | + | 0000000000000000000000000000000000000000000000001300710000010000 | |
| 97 | + | 0100500000000000000000000000000000000000000000001c00710001005000 | |
| 98 | + | f303000000000000000000000000000000000000000000000108720003000000 | |
| 99 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 100 | + | 6500000016007200010050000100500000000000000000000a0014002c01c800 | |
| 101 | + | 0000000009007200010050000000000000000000000000000000000000000000 | |
| 102 | + | 0000000013007200000100000100500000000000000000000000000000000000 | |
| 103 | + | 000000001c00720001005000f303000000000000000000000000000000000000 | |
| 104 | + | 000000000108730003000000ef03000000000000090000000000000000000000 | |
| 105 | + | 000000006e6574207469746c6500000016007300010050000100500000000000 | |
| 106 | + | 000000000a0014002c01c8000000000009007300010050000000000000000000 | |
| 107 | + | 0000000000000000000000000000000013007300000100000100500000000000 | |
| 108 | + | 000000000000000000000000000000001c00730001005000f303000000000000 | |
| 109 | + | 000000000000000000000000000000000108740003000000ef03000000000000 | |
| 110 | + | 090000000000000000000000000000006e6574207469746c6500000016007400 | |
| 111 | + | 010050000100500000000000000000000a0014002c01c8000000000009007400 | |
| 112 | + | 0100500000000000000000000000000000000000000000000000000013007400 | |
| 113 | + | 000100000100500000000000000000000000000000000000000000001c007400 | |
| 114 | + | 01005000f3030000000000000000000000000000000000000000000001087500 | |
| 115 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 116 | + | 7469746c6500000016007500010050000100500000000000000000000a001400 | |
| 117 | + | 2c01c80000000000090075000100500000000000000000000000000000000000 | |
| 118 | + | 0000000000000000130075000001000001005000000000000000000000000000 | |
| 119 | + | 00000000000000001c00750001005000f3030000000000000000000000000000 | |
| 120 | + | 00000000000000000108760003000000ef030000000000000900000000000000 | |
| 121 | + | 00000000000000006e6574207469746c65000000160076000100500001005000 | |
| 122 | + | 00000000000000000a0014002c01c80000000000090076000100500000000000 | |
| 123 | + | 0000000000000000000000000000000000000000130076000001000001005000 | |
| 124 | + | 00000000000000000000000000000000000000001c00760001005000f3030000 | |
| 125 | + | 00000000000000000000000000000000000000000108770003000000ef030000 | |
| 126 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 127 | + | 16007700010050000100500000000000000000000a0014002c01c80000000000 | |
| 128 | + | 0900770001005000000000000000000000000000000000000000000000000000 | |
| 129 | + | 1300770000010000010050000000000000000000000000000000000000000000 | |
| 130 | + | 1c00770001005000f30300000000000000000000000000000000000000000000 | |
| 131 | + | 0108780003000000ef0300000000000009000000000000000000000000000000 | |
| 132 | + | 6e6574207469746c650000001600780001005000010050000000000000000000 | |
| 133 | + | 0a0014002c01c800000000000900780001005000000000000000000000000000 | |
| 134 | + | 0000000000000000000000001300780000010000010050000000000000000000 | |
| 135 | + | 0000000000000000000000001c00780001005000f30300000000000000000000 | |
| 136 | + | 0000000000000000000000000108790003000000ef0300000000000009000000 | |
| 137 | + | 0000000000000000000000006e6574207469746c650000001600790001005000 | |
| 138 | + | 0100500000000000000000000a0014002c01c800000000000900790001005000 | |
| 139 | + | 0000000000000000000000000000000000000000000000001300790000010000 | |
| 140 | + | 0100500000000000000000000000000000000000000000001c00790001005000 | |
| 141 | + | f3030000000000000000000000000000000000000000000001087a0003000000 | |
| 142 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 143 | + | 6500000016007a00010050000100500000000000000000000a0014002c01c800 | |
| 144 | + | 0000000009007a00010050000000000000000000000000000000000000000000 | |
| 145 | + | 0000000013007a00000100000100500000000000000000000000000000000000 | |
| 146 | + | 000000001c007a0001005000f303000000000000000000000000000000000000 | |
| 147 | + | 0000000001087b0003000000ef03000000000000090000000000000000000000 | |
| 148 | + | 000000006e6574207469746c6500000016007b00010050000100500000000000 | |
| 149 | + | 000000000a0014002c01c8000000000009007b00010050000000000000000000 | |
| 150 | + | 0000000000000000000000000000000013007b00000100000100500000000000 | |
| 151 | + | 000000000000000000000000000000001c007b0001005000f303000000000000 | |
| 152 | + | 0000000000000000000000000000000001087c0003000000ef03000000000000 | |
| 153 | + | 090000000000000000000000000000006e6574207469746c6500000016007c00 | |
| 154 | + | 010050000100500000000000000000000a0014002c01c8000000000009007c00 | |
| 155 | + | 0100500000000000000000000000000000000000000000000000000013007c00 | |
| 156 | + | 000100000100500000000000000000000000000000000000000000001c007c00 | |
| 157 | + | 01005000f3030000000000000000000000000000000000000000000001087d00 | |
| 158 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 159 | + | 7469746c6500000016007d00010050000100500000000000000000000a001400 | |
| 160 | + | 2c01c8000000000009007d000100500000000000000000000000000000000000 | |
| 161 | + | 000000000000000013007d000001000001005000000000000000000000000000 | |
| 162 | + | 00000000000000001c007d0001005000f3030000000000000000000000000000 | |
| 163 | + | 000000000000000001087e0003000000ef030000000000000900000000000000 | |
| 164 | + | 00000000000000006e6574207469746c6500000016007e000100500001005000 | |
| 165 | + | 00000000000000000a0014002c01c8000000000009007e000100500000000000 | |
| 166 | + | 000000000000000000000000000000000000000013007e000001000001005000 | |
| 167 | + | 00000000000000000000000000000000000000001c007e0001005000f3030000 | |
| 168 | + | 000000000000000000000000000000000000000001087f0003000000ef030000 | |
| 169 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 170 | + | 16007f00010050000100500000000000000000000a0014002c01c80000000000 | |
| 171 | + | 09007f0001005000000000000000000000000000000000000000000000000000 | |
| 172 | + | 13007f0000010000010050000000000000000000000000000000000000000000 | |
| 173 | + | 1c007f0001005000f30300000000000000000000000000000000000000000000 | |
| 174 | + | 0108800003000000ef0300000000000009000000000000000000000000000000 | |
| 175 | + | 6e6574207469746c650000001600800001005000010050000000000000000000 | |
| 176 | + | 0a0014002c01c800000000000900800001005000000000000000000000000000 | |
| 177 | + | 0000000000000000000000001300800000010000010050000000000000000000 | |
| 178 | + | 0000000000000000000000001c00800001005000f30300000000000000000000 | |
| 179 | + | 0000000000000000000000000108810003000000ef0300000000000009000000 | |
| 180 | + | 0000000000000000000000006e6574207469746c650000001600810001005000 | |
| 181 | + | 0100500000000000000000000a0014002c01c800000000000900810001005000 | |
| 182 | + | 0000000000000000000000000000000000000000000000001300810000010000 | |
| 183 | + | 0100500000000000000000000000000000000000000000001c00810001005000 | |
| 184 | + | f303000000000000000000000000000000000000000000000108820003000000 | |
| 185 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 186 | + | 6500000016008200010050000100500000000000000000000a0014002c01c800 | |
| 187 | + | 0000000009008200010050000000000000000000000000000000000000000000 | |
| 188 | + | 0000000013008200000100000100500000000000000000000000000000000000 | |
| 189 | + | 000000001c00820001005000f303000000000000000000000000000000000000 | |
| 190 | + | 000000000108830003000000ef03000000000000090000000000000000000000 | |
| 191 | + | 000000006e6574207469746c6500000016008300010050000100500000000000 | |
| 192 | + | 000000000a0014002c01c8000000000009008300010050000000000000000000 | |
| 193 | + | 0000000000000000000000000000000013008300000100000100500000000000 | |
| 194 | + | 000000000000000000000000000000001c00830001005000f303000000000000 | |
| 195 | + | 000000000000000000000000000000000108840003000000ef03000000000000 | |
| 196 | + | 090000000000000000000000000000006e6574207469746c6500000016008400 | |
| 197 | + | 010050000100500000000000000000000a0014002c01c8000000000009008400 | |
| 198 | + | 0100500000000000000000000000000000000000000000000000000013008400 | |
| 199 | + | 000100000100500000000000000000000000000000000000000000001c008400 | |
| 200 | + | 01005000f3030000000000000000000000000000000000000000000001088500 | |
| 201 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 202 | + | 7469746c6500000016008500010050000100500000000000000000000a001400 | |
| 203 | + | 2c01c80000000000090085000100500000000000000000000000000000000000 | |
| 204 | + | 0000000000000000130085000001000001005000000000000000000000000000 | |
| 205 | + | 00000000000000001c00850001005000f3030000000000000000000000000000 | |
| 206 | + | 00000000000000000108860003000000ef030000000000000900000000000000 | |
| 207 | + | 00000000000000006e6574207469746c65000000160086000100500001005000 | |
| 208 | + | 00000000000000000a0014002c01c80000000000090086000100500000000000 | |
| 209 | + | 0000000000000000000000000000000000000000130086000001000001005000 | |
| 210 | + | 00000000000000000000000000000000000000001c00860001005000f3030000 | |
| 211 | + | 00000000000000000000000000000000000000000108870003000000ef030000 | |
| 212 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 213 | + | 16008700010050000100500000000000000000000a0014002c01c80000000000 | |
| 214 | + | 0900870001005000000000000000000000000000000000000000000000000000 | |
| 215 | + | 1300870000010000010050000000000000000000000000000000000000000000 | |
| 216 | + | 1c00870001005000f30300000000000000000000000000000000000000000000 | |
| 217 | + | 0108880003000000ef0300000000000009000000000000000000000000000000 | |
| 218 | + | 6e6574207469746c650000001600880001005000010050000000000000000000 | |
| 219 | + | 0a0014002c01c800000000000900880001005000000000000000000000000000 | |
| 220 | + | 0000000000000000000000001300880000010000010050000000000000000000 | |
| 221 | + | 0000000000000000000000001c00880001005000f30300000000000000000000 | |
| 222 | + | 0000000000000000000000000108890003000000ef0300000000000009000000 | |
| 223 | + | 0000000000000000000000006e6574207469746c650000001600890001005000 | |
| 224 | + | 0100500000000000000000000a0014002c01c800000000000900890001005000 | |
| 225 | + | 0000000000000000000000000000000000000000000000001300890000010000 | |
| 226 | + | 0100500000000000000000000000000000000000000000001c00890001005000 | |
| 227 | + | f3030000000000000000000000000000000000000000000001088a0003000000 | |
| 228 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 229 | + | 6500000016008a00010050000100500000000000000000000a0014002c01c800 | |
| 230 | + | 0000000009008a00010050000000000000000000000000000000000000000000 | |
| 231 | + | 0000000013008a00000100000100500000000000000000000000000000000000 | |
| 232 | + | 000000001c008a0001005000f303000000000000000000000000000000000000 | |
| 233 | + | 0000000001088b0003000000ef03000000000000090000000000000000000000 | |
| 234 | + | 000000006e6574207469746c6500000016008b00010050000100500000000000 | |
| 235 | + | 000000000a0014002c01c8000000000009008b00010050000000000000000000 | |
| 236 | + | 0000000000000000000000000000000013008b00000100000100500000000000 | |
| 237 | + | 000000000000000000000000000000001c008b0001005000f303000000000000 | |
| 238 | + | 0000000000000000000000000000000001088c0003000000ef03000000000000 | |
| 239 | + | 090000000000000000000000000000006e6574207469746c6500000016008c00 | |
| 240 | + | 010050000100500000000000000000000a0014002c01c8000000000009008c00 | |
| 241 | + | 0100500000000000000000000000000000000000000000000000000013008c00 | |
| 242 | + | 000100000100500000000000000000000000000000000000000000001c008c00 | |
| 243 | + | 01005000f3030000000000000000000000000000000000000000000001088d00 | |
| 244 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 245 | + | 7469746c6500000016008d00010050000100500000000000000000000a001400 | |
| 246 | + | 2c01c8000000000009008d000100500000000000000000000000000000000000 | |
| 247 | + | 000000000000000013008d000001000001005000000000000000000000000000 | |
| 248 | + | 00000000000000001c008d0001005000f3030000000000000000000000000000 | |
| 249 | + | 000000000000000001088e0003000000ef030000000000000900000000000000 | |
| 250 | + | 00000000000000006e6574207469746c6500000016008e000100500001005000 | |
| 251 | + | 00000000000000000a0014002c01c8000000000009008e000100500000000000 | |
| 252 | + | 000000000000000000000000000000000000000013008e000001000001005000 | |
| 253 | + | 00000000000000000000000000000000000000001c008e0001005000f3030000 | |
| 254 | + | 000000000000000000000000000000000000000001088f0003000000ef030000 | |
| 255 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 256 | + | 16008f00010050000100500000000000000000000a0014002c01c80000000000 | |
| 257 | + | 09008f0001005000000000000000000000000000000000000000000000000000 | |
| 258 | + | 13008f0000010000010050000000000000000000000000000000000000000000 | |
| 259 | + | 1c008f0001005000f30300000000000000000000000000000000000000000000 | |
| 260 | + | 0108900003000000ef0300000000000009000000000000000000000000000000 | |
| 261 | + | 6e6574207469746c650000001600900001005000010050000000000000000000 | |
| 262 | + | 0a0014002c01c800000000000900900001005000000000000000000000000000 | |
| 263 | + | 0000000000000000000000001300900000010000010050000000000000000000 | |
| 264 | + | 0000000000000000000000001c00900001005000f30300000000000000000000 | |
| 265 | + | 0000000000000000000000000108910003000000ef0300000000000009000000 | |
| 266 | + | 0000000000000000000000006e6574207469746c650000001600910001005000 | |
| 267 | + | 0100500000000000000000000a0014002c01c800000000000900910001005000 | |
| 268 | + | 0000000000000000000000000000000000000000000000001300910000010000 | |
| 269 | + | 0100500000000000000000000000000000000000000000001c00910001005000 | |
| 270 | + | f303000000000000000000000000000000000000000000000108920003000000 | |
| 271 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 272 | + | 6500000016009200010050000100500000000000000000000a0014002c01c800 | |
| 273 | + | 0000000009009200010050000000000000000000000000000000000000000000 | |
| 274 | + | 0000000013009200000100000100500000000000000000000000000000000000 | |
| 275 | + | 000000001c00920001005000f303000000000000000000000000000000000000 | |
| 276 | + | 000000000108930003000000ef03000000000000090000000000000000000000 | |
| 277 | + | 000000006e6574207469746c6500000016009300010050000100500000000000 | |
| 278 | + | 000000000a0014002c01c8000000000009009300010050000000000000000000 | |
| 279 | + | 0000000000000000000000000000000013009300000100000100500000000000 | |
| 280 | + | 000000000000000000000000000000001c00930001005000f303000000000000 | |
| 281 | + | 000000000000000000000000000000000108940003000000ef03000000000000 | |
| 282 | + | 090000000000000000000000000000006e6574207469746c6500000016009400 | |
| 283 | + | 010050000100500000000000000000000a0014002c01c8000000000009009400 | |
| 284 | + | 0100500000000000000000000000000000000000000000000000000013009400 | |
| 285 | + | 000100000100500000000000000000000000000000000000000000001c009400 | |
| 286 | + | 01005000f3030000000000000000000000000000000000000000000001089500 | |
| 287 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 288 | + | 7469746c6500000016009500010050000100500000000000000000000a001400 | |
| 289 | + | 2c01c80000000000090095000100500000000000000000000000000000000000 | |
| 290 | + | 0000000000000000130095000001000001005000000000000000000000000000 | |
| 291 | + | 00000000000000001c00950001005000f3030000000000000000000000000000 | |
| 292 | + | 00000000000000000108960003000000ef030000000000000900000000000000 | |
| 293 | + | 00000000000000006e6574207469746c65000000160096000100500001005000 | |
| 294 | + | 00000000000000000a0014002c01c80000000000090096000100500000000000 | |
| 295 | + | 0000000000000000000000000000000000000000130096000001000001005000 | |
| 296 | + | 00000000000000000000000000000000000000001c00960001005000f3030000 | |
| 297 | + | 00000000000000000000000000000000000000000108970003000000ef030000 | |
| 298 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 299 | + | 16009700010050000100500000000000000000000a0014002c01c80000000000 | |
| 300 | + | 0900970001005000000000000000000000000000000000000000000000000000 | |
| 301 | + | 1300970000010000010050000000000000000000000000000000000000000000 | |
| 302 | + | 1c00970001005000f30300000000000000000000000000000000000000000000 | |
| 303 | + | 0108980003000000ef0300000000000009000000000000000000000000000000 | |
| 304 | + | 6e6574207469746c650000001600980001005000010050000000000000000000 | |
| 305 | + | 0a0014002c01c800000000000900980001005000000000000000000000000000 | |
| 306 | + | 0000000000000000000000001300980000010000010050000000000000000000 | |
| 307 | + | 0000000000000000000000001c00980001005000f30300000000000000000000 | |
| 308 | + | 0000000000000000000000000108990003000000ef0300000000000009000000 | |
| 309 | + | 0000000000000000000000006e6574207469746c650000001600990001005000 | |
| 310 | + | 0100500000000000000000000a0014002c01c800000000000900990001005000 | |
| 311 | + | 0000000000000000000000000000000000000000000000001300990000010000 | |
| 312 | + | 0100500000000000000000000000000000000000000000001c00990001005000 | |
| 313 | + | f3030000000000000000000000000000000000000000000001089a0003000000 | |
| 314 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 315 | + | 6500000016009a00010050000100500000000000000000000a0014002c01c800 | |
| 316 | + | 0000000009009a00010050000000000000000000000000000000000000000000 | |
| 317 | + | 0000000013009a00000100000100500000000000000000000000000000000000 | |
| 318 | + | 000000001c009a0001005000f303000000000000000000000000000000000000 | |
| 319 | + | 0000000001089b0003000000ef03000000000000090000000000000000000000 | |
| 320 | + | 000000006e6574207469746c6500000016009b00010050000100500000000000 | |
| 321 | + | 000000000a0014002c01c8000000000009009b00010050000000000000000000 | |
| 322 | + | 0000000000000000000000000000000013009b00000100000100500000000000 | |
| 323 | + | 000000000000000000000000000000001c009b0001005000f303000000000000 | |
| 324 | + | 0000000000000000000000000000000001089c0003000000ef03000000000000 | |
| 325 | + | 090000000000000000000000000000006e6574207469746c6500000016009c00 | |
| 326 | + | 010050000100500000000000000000000a0014002c01c8000000000009009c00 | |
| 327 | + | 0100500000000000000000000000000000000000000000000000000013009c00 | |
| 328 | + | 000100000100500000000000000000000000000000000000000000001c009c00 | |
| 329 | + | 01005000f3030000000000000000000000000000000000000000000001089d00 | |
| 330 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 331 | + | 7469746c6500000016009d00010050000100500000000000000000000a001400 | |
| 332 | + | 2c01c8000000000009009d000100500000000000000000000000000000000000 | |
| 333 | + | 000000000000000013009d000001000001005000000000000000000000000000 | |
| 334 | + | 00000000000000001c009d0001005000f3030000000000000000000000000000 | |
| 335 | + | 000000000000000001089e0003000000ef030000000000000900000000000000 | |
| 336 | + | 00000000000000006e6574207469746c6500000016009e000100500001005000 | |
| 337 | + | 00000000000000000a0014002c01c8000000000009009e000100500000000000 | |
| 338 | + | 000000000000000000000000000000000000000013009e000001000001005000 | |
| 339 | + | 00000000000000000000000000000000000000001c009e0001005000f3030000 | |
| 340 | + | 000000000000000000000000000000000000000001089f0003000000ef030000 | |
| 341 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 342 | + | 16009f00010050000100500000000000000000000a0014002c01c80000000000 | |
| 343 | + | 09009f0001005000000000000000000000000000000000000000000000000000 | |
| 344 | + | 13009f0000010000010050000000000000000000000000000000000000000000 | |
| 345 | + | 1c009f0001005000f30300000000000000000000000000000000000000000000 | |
| 346 | + | 0108a00003000000ef0300000000000009000000000000000000000000000000 | |
| 347 | + | 6e6574207469746c650000001600a00001005000010050000000000000000000 | |
| 348 | + | 0a0014002c01c800000000000900a00001005000000000000000000000000000 | |
| 349 | + | 0000000000000000000000001300a00000010000010050000000000000000000 | |
| 350 | + | 0000000000000000000000001c00a00001005000f30300000000000000000000 | |
| 351 | + | 0000000000000000000000000108a10003000000ef0300000000000009000000 | |
| 352 | + | 0000000000000000000000006e6574207469746c650000001600a10001005000 | |
| 353 | + | 0100500000000000000000000a0014002c01c800000000000900a10001005000 | |
| 354 | + | 0000000000000000000000000000000000000000000000001300a10000010000 | |
| 355 | + | 0100500000000000000000000000000000000000000000001c00a10001005000 | |
| 356 | + | f303000000000000000000000000000000000000000000000108a20003000000 | |
| 357 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 358 | + | 650000001600a200010050000100500000000000000000000a0014002c01c800 | |
| 359 | + | 000000000900a200010050000000000000000000000000000000000000000000 | |
| 360 | + | 000000001300a200000100000100500000000000000000000000000000000000 | |
| 361 | + | 000000001c00a20001005000f303000000000000000000000000000000000000 | |
| 362 | + | 000000000108a30003000000ef03000000000000090000000000000000000000 | |
| 363 | + | 000000006e6574207469746c650000001600a300010050000100500000000000 | |
| 364 | + | 000000000a0014002c01c800000000000900a300010050000000000000000000 | |
| 365 | + | 000000000000000000000000000000001300a300000100000100500000000000 | |
| 366 | + | 000000000000000000000000000000001c00a30001005000f303000000000000 | |
| 367 | + | 000000000000000000000000000000000108a40003000000ef03000000000000 | |
| 368 | + | 090000000000000000000000000000006e6574207469746c650000001600a400 | |
| 369 | + | 010050000100500000000000000000000a0014002c01c800000000000900a400 | |
| 370 | + | 010050000000000000000000000000000000000000000000000000001300a400 | |
| 371 | + | 000100000100500000000000000000000000000000000000000000001c00a400 | |
| 372 | + | 01005000f303000000000000000000000000000000000000000000000108a500 | |
| 373 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 374 | + | 7469746c650000001600a500010050000100500000000000000000000a001400 | |
| 375 | + | 2c01c800000000000900a5000100500000000000000000000000000000000000 | |
| 376 | + | 00000000000000001300a5000001000001005000000000000000000000000000 | |
| 377 | + | 00000000000000001c00a50001005000f3030000000000000000000000000000 | |
| 378 | + | 00000000000000000108a60003000000ef030000000000000900000000000000 | |
| 379 | + | 00000000000000006e6574207469746c650000001600a6000100500001005000 | |
| 380 | + | 00000000000000000a0014002c01c800000000000900a6000100500000000000 | |
| 381 | + | 00000000000000000000000000000000000000001300a6000001000001005000 | |
| 382 | + | 00000000000000000000000000000000000000001c00a60001005000f3030000 | |
| 383 | + | 00000000000000000000000000000000000000000108a70003000000ef030000 | |
| 384 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 385 | + | 1600a700010050000100500000000000000000000a0014002c01c80000000000 | |
| 386 | + | 0900a70001005000000000000000000000000000000000000000000000000000 | |
| 387 | + | 1300a70000010000010050000000000000000000000000000000000000000000 | |
| 388 | + | 1c00a70001005000f30300000000000000000000000000000000000000000000 | |
| 389 | + | 0108a80003000000ef0300000000000009000000000000000000000000000000 | |
| 390 | + | 6e6574207469746c650000001600a80001005000010050000000000000000000 | |
| 391 | + | 0a0014002c01c800000000000900a80001005000000000000000000000000000 | |
| 392 | + | 0000000000000000000000001300a80000010000010050000000000000000000 | |
| 393 | + | 0000000000000000000000001c00a80001005000f30300000000000000000000 | |
| 394 | + | 0000000000000000000000000108a90003000000ef0300000000000009000000 | |
| 395 | + | 0000000000000000000000006e6574207469746c650000001600a90001005000 | |
| 396 | + | 0100500000000000000000000a0014002c01c800000000000900a90001005000 | |
| 397 | + | 0000000000000000000000000000000000000000000000001300a90000010000 | |
| 398 | + | 0100500000000000000000000000000000000000000000001c00a90001005000 | |
| 399 | + | f303000000000000000000000000000000000000000000000108aa0003000000 | |
| 400 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 401 | + | 650000001600aa00010050000100500000000000000000000a0014002c01c800 | |
| 402 | + | 000000000900aa00010050000000000000000000000000000000000000000000 | |
| 403 | + | 000000001300aa00000100000100500000000000000000000000000000000000 | |
| 404 | + | 000000001c00aa0001005000f303000000000000000000000000000000000000 | |
| 405 | + | 000000000108ab0003000000ef03000000000000090000000000000000000000 | |
| 406 | + | 000000006e6574207469746c650000001600ab00010050000100500000000000 | |
| 407 | + | 000000000a0014002c01c800000000000900ab00010050000000000000000000 | |
| 408 | + | 000000000000000000000000000000001300ab00000100000100500000000000 | |
| 409 | + | 000000000000000000000000000000001c00ab0001005000f303000000000000 | |
| 410 | + | 000000000000000000000000000000000108ac0003000000ef03000000000000 | |
| 411 | + | 090000000000000000000000000000006e6574207469746c650000001600ac00 | |
| 412 | + | 010050000100500000000000000000000a0014002c01c800000000000900ac00 | |
| 413 | + | 010050000000000000000000000000000000000000000000000000001300ac00 | |
| 414 | + | 000100000100500000000000000000000000000000000000000000001c00ac00 | |
| 415 | + | 01005000f303000000000000000000000000000000000000000000000108ad00 | |
| 416 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 417 | + | 7469746c650000001600ad00010050000100500000000000000000000a001400 | |
| 418 | + | 2c01c800000000000900ad000100500000000000000000000000000000000000 | |
| 419 | + | 00000000000000001300ad000001000001005000000000000000000000000000 | |
| 420 | + | 00000000000000001c00ad0001005000f3030000000000000000000000000000 | |
| 421 | + | 00000000000000000108ae0003000000ef030000000000000900000000000000 | |
| 422 | + | 00000000000000006e6574207469746c650000001600ae000100500001005000 | |
| 423 | + | 00000000000000000a0014002c01c800000000000900ae000100500000000000 | |
| 424 | + | 00000000000000000000000000000000000000001300ae000001000001005000 | |
| 425 | + | 00000000000000000000000000000000000000001c00ae0001005000f3030000 | |
| 426 | + | 00000000000000000000000000000000000000000108af0003000000ef030000 | |
| 427 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 428 | + | 1600af00010050000100500000000000000000000a0014002c01c80000000000 | |
| 429 | + | 0900af0001005000000000000000000000000000000000000000000000000000 | |
| 430 | + | 1300af0000010000010050000000000000000000000000000000000000000000 | |
| 431 | + | 1c00af0001005000f30300000000000000000000000000000000000000000000 | |
| 432 | + | 0108b00003000000ef0300000000000009000000000000000000000000000000 | |
| 433 | + | 6e6574207469746c650000001600b00001005000010050000000000000000000 | |
| 434 | + | 0a0014002c01c800000000000900b00001005000000000000000000000000000 | |
| 435 | + | 0000000000000000000000001300b00000010000010050000000000000000000 | |
| 436 | + | 0000000000000000000000001c00b00001005000f30300000000000000000000 | |
| 437 | + | 0000000000000000000000000108b10003000000ef0300000000000009000000 | |
| 438 | + | 0000000000000000000000006e6574207469746c650000001600b10001005000 | |
| 439 | + | 0100500000000000000000000a0014002c01c800000000000900b10001005000 | |
| 440 | + | 0000000000000000000000000000000000000000000000001300b10000010000 | |
| 441 | + | 0100500000000000000000000000000000000000000000001c00b10001005000 | |
| 442 | + | f303000000000000000000000000000000000000000000000108b20003000000 | |
| 443 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 444 | + | 650000001600b200010050000100500000000000000000000a0014002c01c800 | |
| 445 | + | 000000000900b200010050000000000000000000000000000000000000000000 | |
| 446 | + | 000000001300b200000100000100500000000000000000000000000000000000 | |
| 447 | + | 000000001c00b20001005000f303000000000000000000000000000000000000 | |
| 448 | + | 000000000108b30003000000ef03000000000000090000000000000000000000 | |
| 449 | + | 000000006e6574207469746c650000001600b300010050000100500000000000 | |
| 450 | + | 000000000a0014002c01c800000000000900b300010050000000000000000000 | |
| 451 | + | 000000000000000000000000000000001300b300000100000100500000000000 | |
| 452 | + | 000000000000000000000000000000001c00b30001005000f303000000000000 | |
| 453 | + | 000000000000000000000000000000000108b40003000000ef03000000000000 | |
| 454 | + | 090000000000000000000000000000006e6574207469746c650000001600b400 | |
| 455 | + | 010050000100500000000000000000000a0014002c01c800000000000900b400 | |
| 456 | + | 010050000000000000000000000000000000000000000000000000001300b400 | |
| 457 | + | 000100000100500000000000000000000000000000000000000000001c00b400 | |
| 458 | + | 01005000f303000000000000000000000000000000000000000000000108b500 | |
| 459 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 460 | + | 7469746c650000001600b500010050000100500000000000000000000a001400 | |
| 461 | + | 2c01c800000000000900b5000100500000000000000000000000000000000000 | |
| 462 | + | 00000000000000001300b5000001000001005000000000000000000000000000 | |
| 463 | + | 00000000000000001c00b50001005000f3030000000000000000000000000000 | |
| 464 | + | 00000000000000000108b60003000000ef030000000000000900000000000000 | |
| 465 | + | 00000000000000006e6574207469746c650000001600b6000100500001005000 | |
| 466 | + | 00000000000000000a0014002c01c800000000000900b6000100500000000000 | |
| 467 | + | 00000000000000000000000000000000000000001300b6000001000001005000 | |
| 468 | + | 00000000000000000000000000000000000000001c00b60001005000f3030000 | |
| 469 | + | 00000000000000000000000000000000000000000108b70003000000ef030000 | |
| 470 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 471 | + | 1600b700010050000100500000000000000000000a0014002c01c80000000000 | |
| 472 | + | 0900b70001005000000000000000000000000000000000000000000000000000 | |
| 473 | + | 1300b70000010000010050000000000000000000000000000000000000000000 | |
| 474 | + | 1c00b70001005000f30300000000000000000000000000000000000000000000 | |
| 475 | + | 0108b80003000000ef0300000000000009000000000000000000000000000000 | |
| 476 | + | 6e6574207469746c650000001600b80001005000010050000000000000000000 | |
| 477 | + | 0a0014002c01c800000000000900b80001005000000000000000000000000000 | |
| 478 | + | 0000000000000000000000001300b80000010000010050000000000000000000 | |
| 479 | + | 0000000000000000000000001c00b80001005000f30300000000000000000000 | |
| 480 | + | 0000000000000000000000000108b90003000000ef0300000000000009000000 | |
| 481 | + | 0000000000000000000000006e6574207469746c650000001600b90001005000 | |
| 482 | + | 0100500000000000000000000a0014002c01c800000000000900b90001005000 | |
| 483 | + | 0000000000000000000000000000000000000000000000001300b90000010000 | |
| 484 | + | 0100500000000000000000000000000000000000000000001c00b90001005000 | |
| 485 | + | f303000000000000000000000000000000000000000000000108ba0003000000 | |
| 486 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 487 | + | 650000001600ba00010050000100500000000000000000000a0014002c01c800 | |
| 488 | + | 000000000900ba00010050000000000000000000000000000000000000000000 | |
| 489 | + | 000000001300ba00000100000100500000000000000000000000000000000000 | |
| 490 | + | 000000001c00ba0001005000f303000000000000000000000000000000000000 | |
| 491 | + | 000000000108bb0003000000ef03000000000000090000000000000000000000 | |
| 492 | + | 000000006e6574207469746c650000001600bb00010050000100500000000000 | |
| 493 | + | 000000000a0014002c01c800000000000900bb00010050000000000000000000 | |
| 494 | + | 000000000000000000000000000000001300bb00000100000100500000000000 | |
| 495 | + | 000000000000000000000000000000001c00bb0001005000f303000000000000 | |
| 496 | + | 000000000000000000000000000000000108bc0003000000ef03000000000000 | |
| 497 | + | 090000000000000000000000000000006e6574207469746c650000001600bc00 | |
| 498 | + | 010050000100500000000000000000000a0014002c01c800000000000900bc00 | |
| 499 | + | 010050000000000000000000000000000000000000000000000000001300bc00 | |
| 500 | + | 000100000100500000000000000000000000000000000000000000001c00bc00 | |
| 501 | + | 01005000f303000000000000000000000000000000000000000000000108bd00 | |
| 502 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 503 | + | 7469746c650000001600bd00010050000100500000000000000000000a001400 | |
| 504 | + | 2c01c800000000000900bd000100500000000000000000000000000000000000 | |
| 505 | + | 00000000000000001300bd000001000001005000000000000000000000000000 | |
| 506 | + | 00000000000000001c00bd0001005000f3030000000000000000000000000000 | |
| 507 | + | 00000000000000000108be0003000000ef030000000000000900000000000000 | |
| 508 | + | 00000000000000006e6574207469746c650000001600be000100500001005000 | |
| 509 | + | 00000000000000000a0014002c01c800000000000900be000100500000000000 | |
| 510 | + | 00000000000000000000000000000000000000001300be000001000001005000 | |
| 511 | + | 00000000000000000000000000000000000000001c00be0001005000f3030000 | |
| 512 | + | 00000000000000000000000000000000000000000108bf0003000000ef030000 | |
| 513 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 514 | + | 1600bf00010050000100500000000000000000000a0014002c01c80000000000 | |
| 515 | + | 0900bf0001005000000000000000000000000000000000000000000000000000 | |
| 516 | + | 1300bf0000010000010050000000000000000000000000000000000000000000 | |
| 517 | + | 1c00bf0001005000f30300000000000000000000000000000000000000000000 | |
| 518 | + | 0108c00003000000ef0300000000000009000000000000000000000000000000 | |
| 519 | + | 6e6574207469746c650000001600c00001005000010050000000000000000000 | |
| 520 | + | 0a0014002c01c800000000000900c00001005000000000000000000000000000 | |
| 521 | + | 0000000000000000000000001300c00000010000010050000000000000000000 | |
| 522 | + | 0000000000000000000000001c00c00001005000f30300000000000000000000 | |
| 523 | + | 0000000000000000000000000108c10003000000ef0300000000000009000000 | |
| 524 | + | 0000000000000000000000006e6574207469746c650000001600c10001005000 | |
| 525 | + | 0100500000000000000000000a0014002c01c800000000000900c10001005000 | |
| 526 | + | 0000000000000000000000000000000000000000000000001300c10000010000 | |
| 527 | + | 0100500000000000000000000000000000000000000000001c00c10001005000 | |
| 528 | + | f303000000000000000000000000000000000000000000000108c20003000000 | |
| 529 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 530 | + | 650000001600c200010050000100500000000000000000000a0014002c01c800 | |
| 531 | + | 000000000900c200010050000000000000000000000000000000000000000000 | |
| 532 | + | 000000001300c200000100000100500000000000000000000000000000000000 | |
| 533 | + | 000000001c00c20001005000f303000000000000000000000000000000000000 | |
| 534 | + | 000000000108c30003000000ef03000000000000090000000000000000000000 | |
| 535 | + | 000000006e6574207469746c650000001600c300010050000100500000000000 | |
| 536 | + | 000000000a0014002c01c800000000000900c300010050000000000000000000 | |
| 537 | + | 000000000000000000000000000000001300c300000100000100500000000000 | |
| 538 | + | 000000000000000000000000000000001c00c30001005000f303000000000000 | |
| 539 | + | 000000000000000000000000000000000108c40003000000ef03000000000000 | |
| 540 | + | 090000000000000000000000000000006e6574207469746c650000001600c400 | |
| 541 | + | 010050000100500000000000000000000a0014002c01c800000000000900c400 | |
| 542 | + | 010050000000000000000000000000000000000000000000000000001300c400 | |
| 543 | + | 000100000100500000000000000000000000000000000000000000001c00c400 | |
| 544 | + | 01005000f303000000000000000000000000000000000000000000000108c500 | |
| 545 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 546 | + | 7469746c650000001600c500010050000100500000000000000000000a001400 | |
| 547 | + | 2c01c800000000000900c5000100500000000000000000000000000000000000 | |
| 548 | + | 00000000000000001300c5000001000001005000000000000000000000000000 | |
| 549 | + | 00000000000000001c00c50001005000f3030000000000000000000000000000 | |
| 550 | + | 00000000000000000108c60003000000ef030000000000000900000000000000 | |
| 551 | + | 00000000000000006e6574207469746c650000001600c6000100500001005000 | |
| 552 | + | 00000000000000000a0014002c01c800000000000900c6000100500000000000 | |
| 553 | + | 00000000000000000000000000000000000000001300c6000001000001005000 | |
| 554 | + | 00000000000000000000000000000000000000001c00c60001005000f3030000 | |
| 555 | + | 00000000000000000000000000000000000000000108c70003000000ef030000 | |
| 556 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 557 | + | 1600c700010050000100500000000000000000000a0014002c01c80000000000 | |
| 558 | + | 0900c70001005000000000000000000000000000000000000000000000000000 | |
| 559 | + | 1300c70000010000010050000000000000000000000000000000000000000000 | |
| 560 | + | 1c00c70001005000f30300000000000000000000000000000000000000000000 | |
| 561 | + | 0108c80003000000ef0300000000000009000000000000000000000000000000 | |
| 562 | + | 6e6574207469746c650000001600c80001005000010050000000000000000000 | |
| 563 | + | 0a0014002c01c800000000000900c80001005000000000000000000000000000 | |
| 564 | + | 0000000000000000000000001300c80000010000010050000000000000000000 | |
| 565 | + | 0000000000000000000000001c00c80001005000f30300000000000000000000 | |
| 566 | + | 0000000000000000000000000108c90003000000ef0300000000000009000000 | |
| 567 | + | 0000000000000000000000006e6574207469746c650000001600c90001005000 | |
| 568 | + | 0100500000000000000000000a0014002c01c800000000000900c90001005000 | |
| 569 | + | 0000000000000000000000000000000000000000000000001300c90000010000 | |
| 570 | + | 0100500000000000000000000000000000000000000000001c00c90001005000 | |
| 571 | + | f303000000000000000000000000000000000000000000000108ca0003000000 | |
| 572 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 573 | + | 650000001600ca00010050000100500000000000000000000a0014002c01c800 | |
| 574 | + | 000000000900ca00010050000000000000000000000000000000000000000000 | |
| 575 | + | 000000001300ca00000100000100500000000000000000000000000000000000 | |
| 576 | + | 000000001c00ca0001005000f303000000000000000000000000000000000000 | |
| 577 | + | 000000000108cb0003000000ef03000000000000090000000000000000000000 | |
| 578 | + | 000000006e6574207469746c650000001600cb00010050000100500000000000 | |
| 579 | + | 000000000a0014002c01c800000000000900cb00010050000000000000000000 | |
| 580 | + | 000000000000000000000000000000001300cb00000100000100500000000000 | |
| 581 | + | 000000000000000000000000000000001c00cb0001005000f303000000000000 | |
| 582 | + | 000000000000000000000000000000000108cc0003000000ef03000000000000 | |
| 583 | + | 090000000000000000000000000000006e6574207469746c650000001600cc00 | |
| 584 | + | 010050000100500000000000000000000a0014002c01c800000000000900cc00 | |
| 585 | + | 010050000000000000000000000000000000000000000000000000001300cc00 | |
| 586 | + | 000100000100500000000000000000000000000000000000000000001c00cc00 | |
| 587 | + | 01005000f303000000000000000000000000000000000000000000000108cd00 | |
| 588 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 589 | + | 7469746c650000001600cd00010050000100500000000000000000000a001400 | |
| 590 | + | 2c01c800000000000900cd000100500000000000000000000000000000000000 | |
| 591 | + | 00000000000000001300cd000001000001005000000000000000000000000000 | |
| 592 | + | 00000000000000001c00cd0001005000f3030000000000000000000000000000 | |
| 593 | + | 00000000000000000108ce0003000000ef030000000000000900000000000000 | |
| 594 | + | 00000000000000006e6574207469746c650000001600ce000100500001005000 | |
| 595 | + | 00000000000000000a0014002c01c800000000000900ce000100500000000000 | |
| 596 | + | 00000000000000000000000000000000000000001300ce000001000001005000 | |
| 597 | + | 00000000000000000000000000000000000000001c00ce0001005000f3030000 | |
| 598 | + | 00000000000000000000000000000000000000000108cf0003000000ef030000 | |
| 599 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 600 | + | 1600cf00010050000100500000000000000000000a0014002c01c80000000000 | |
| 601 | + | 0900cf0001005000000000000000000000000000000000000000000000000000 | |
| 602 | + | 1300cf0000010000010050000000000000000000000000000000000000000000 | |
| 603 | + | 1c00cf0001005000f30300000000000000000000000000000000000000000000 | |
| 604 | + | 0108d00003000000ef0300000000000009000000000000000000000000000000 | |
| 605 | + | 6e6574207469746c650000001600d00001005000010050000000000000000000 | |
| 606 | + | 0a0014002c01c800000000000900d00001005000000000000000000000000000 | |
| 607 | + | 0000000000000000000000001300d00000010000010050000000000000000000 | |
| 608 | + | 0000000000000000000000001c00d00001005000f30300000000000000000000 | |
| 609 | + | 0000000000000000000000000108d10003000000ef0300000000000009000000 | |
| 610 | + | 0000000000000000000000006e6574207469746c650000001600d10001005000 | |
| 611 | + | 0100500000000000000000000a0014002c01c800000000000900d10001005000 | |
| 612 | + | 0000000000000000000000000000000000000000000000001300d10000010000 | |
| 613 | + | 0100500000000000000000000000000000000000000000001c00d10001005000 | |
| 614 | + | f303000000000000000000000000000000000000000000000108d20003000000 | |
| 615 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 616 | + | 650000001600d200010050000100500000000000000000000a0014002c01c800 | |
| 617 | + | 000000000900d200010050000000000000000000000000000000000000000000 | |
| 618 | + | 000000001300d200000100000100500000000000000000000000000000000000 | |
| 619 | + | 000000001c00d20001005000f303000000000000000000000000000000000000 | |
| 620 | + | 000000000108d30003000000ef03000000000000090000000000000000000000 | |
| 621 | + | 000000006e6574207469746c650000001600d300010050000100500000000000 | |
| 622 | + | 000000000a0014002c01c800000000000900d300010050000000000000000000 | |
| 623 | + | 000000000000000000000000000000001300d300000100000100500000000000 | |
| 624 | + | 000000000000000000000000000000001c00d30001005000f303000000000000 | |
| 625 | + | 000000000000000000000000000000000108d40003000000ef03000000000000 | |
| 626 | + | 090000000000000000000000000000006e6574207469746c650000001600d400 | |
| 627 | + | 010050000100500000000000000000000a0014002c01c800000000000900d400 | |
| 628 | + | 010050000000000000000000000000000000000000000000000000001300d400 | |
| 629 | + | 000100000100500000000000000000000000000000000000000000001c00d400 | |
| 630 | + | 01005000f303000000000000000000000000000000000000000000000108d500 | |
| 631 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 632 | + | 7469746c650000001600d500010050000100500000000000000000000a001400 | |
| 633 | + | 2c01c800000000000900d5000100500000000000000000000000000000000000 | |
| 634 | + | 00000000000000001300d5000001000001005000000000000000000000000000 | |
| 635 | + | 00000000000000001c00d50001005000f3030000000000000000000000000000 | |
| 636 | + | 00000000000000000108d60003000000ef030000000000000900000000000000 | |
| 637 | + | 00000000000000006e6574207469746c650000001600d6000100500001005000 | |
| 638 | + | 00000000000000000a0014002c01c800000000000900d6000100500000000000 | |
| 639 | + | 00000000000000000000000000000000000000001300d6000001000001005000 | |
| 640 | + | 00000000000000000000000000000000000000001c00d60001005000f3030000 | |
| 641 | + | 00000000000000000000000000000000000000000108d70003000000ef030000 | |
| 642 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 643 | + | 1600d700010050000100500000000000000000000a0014002c01c80000000000 | |
| 644 | + | 0900d70001005000000000000000000000000000000000000000000000000000 | |
| 645 | + | 1300d70000010000010050000000000000000000000000000000000000000000 | |
| 646 | + | 1c00d70001005000f30300000000000000000000000000000000000000000000 | |
| 647 | + | 0108d80003000000ef0300000000000009000000000000000000000000000000 | |
| 648 | + | 6e6574207469746c650000001600d80001005000010050000000000000000000 | |
| 649 | + | 0a0014002c01c800000000000900d80001005000000000000000000000000000 | |
| 650 | + | 0000000000000000000000001300d80000010000010050000000000000000000 | |
| 651 | + | 0000000000000000000000001c00d80001005000f30300000000000000000000 | |
| 652 | + | 0000000000000000000000000108d90003000000ef0300000000000009000000 | |
| 653 | + | 0000000000000000000000006e6574207469746c650000001600d90001005000 | |
| 654 | + | 0100500000000000000000000a0014002c01c800000000000900d90001005000 | |
| 655 | + | 0000000000000000000000000000000000000000000000001300d90000010000 | |
| 656 | + | 0100500000000000000000000000000000000000000000001c00d90001005000 | |
| 657 | + | f303000000000000000000000000000000000000000000000108da0003000000 | |
| 658 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 659 | + | 650000001600da00010050000100500000000000000000000a0014002c01c800 | |
| 660 | + | 000000000900da00010050000000000000000000000000000000000000000000 | |
| 661 | + | 000000001300da00000100000100500000000000000000000000000000000000 | |
| 662 | + | 000000001c00da0001005000f303000000000000000000000000000000000000 | |
| 663 | + | 000000000108db0003000000ef03000000000000090000000000000000000000 | |
| 664 | + | 000000006e6574207469746c650000001600db00010050000100500000000000 | |
| 665 | + | 000000000a0014002c01c800000000000900db00010050000000000000000000 | |
| 666 | + | 000000000000000000000000000000001300db00000100000100500000000000 | |
| 667 | + | 000000000000000000000000000000001c00db0001005000f303000000000000 | |
| 668 | + | 000000000000000000000000000000000108dc0003000000ef03000000000000 | |
| 669 | + | 090000000000000000000000000000006e6574207469746c650000001600dc00 | |
| 670 | + | 010050000100500000000000000000000a0014002c01c800000000000900dc00 | |
| 671 | + | 010050000000000000000000000000000000000000000000000000001300dc00 | |
| 672 | + | 000100000100500000000000000000000000000000000000000000001c00dc00 | |
| 673 | + | 01005000f303000000000000000000000000000000000000000000000108dd00 | |
| 674 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 675 | + | 7469746c650000001600dd00010050000100500000000000000000000a001400 | |
| 676 | + | 2c01c800000000000900dd000100500000000000000000000000000000000000 | |
| 677 | + | 00000000000000001300dd000001000001005000000000000000000000000000 | |
| 678 | + | 00000000000000001c00dd0001005000f3030000000000000000000000000000 | |
| 679 | + | 00000000000000000108de0003000000ef030000000000000900000000000000 | |
| 680 | + | 00000000000000006e6574207469746c650000001600de000100500001005000 | |
| 681 | + | 00000000000000000a0014002c01c800000000000900de000100500000000000 | |
| 682 | + | 00000000000000000000000000000000000000001300de000001000001005000 | |
| 683 | + | 00000000000000000000000000000000000000001c00de0001005000f3030000 | |
| 684 | + | 00000000000000000000000000000000000000000108df0003000000ef030000 | |
| 685 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 686 | + | 1600df00010050000100500000000000000000000a0014002c01c80000000000 | |
| 687 | + | 0900df0001005000000000000000000000000000000000000000000000000000 | |
| 688 | + | 1300df0000010000010050000000000000000000000000000000000000000000 | |
| 689 | + | 1c00df0001005000f30300000000000000000000000000000000000000000000 | |
| 690 | + | 0108e00003000000ef0300000000000009000000000000000000000000000000 | |
| 691 | + | 6e6574207469746c650000001600e00001005000010050000000000000000000 | |
| 692 | + | 0a0014002c01c800000000000900e00001005000000000000000000000000000 | |
| 693 | + | 0000000000000000000000001300e00000010000010050000000000000000000 | |
| 694 | + | 0000000000000000000000001c00e00001005000f30300000000000000000000 | |
| 695 | + | 0000000000000000000000000108e10003000000ef0300000000000009000000 | |
| 696 | + | 0000000000000000000000006e6574207469746c650000001600e10001005000 | |
| 697 | + | 0100500000000000000000000a0014002c01c800000000000900e10001005000 | |
| 698 | + | 0000000000000000000000000000000000000000000000001300e10000010000 | |
| 699 | + | 0100500000000000000000000000000000000000000000001c00e10001005000 | |
| 700 | + | f303000000000000000000000000000000000000000000000108e20003000000 | |
| 701 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 702 | + | 650000001600e200010050000100500000000000000000000a0014002c01c800 | |
| 703 | + | 000000000900e200010050000000000000000000000000000000000000000000 | |
| 704 | + | 000000001300e200000100000100500000000000000000000000000000000000 | |
| 705 | + | 000000001c00e20001005000f303000000000000000000000000000000000000 | |
| 706 | + | 000000000108e30003000000ef03000000000000090000000000000000000000 | |
| 707 | + | 000000006e6574207469746c650000001600e300010050000100500000000000 | |
| 708 | + | 000000000a0014002c01c800000000000900e300010050000000000000000000 | |
| 709 | + | 000000000000000000000000000000001300e300000100000100500000000000 | |
| 710 | + | 000000000000000000000000000000001c00e30001005000f303000000000000 | |
| 711 | + | 000000000000000000000000000000000108e40003000000ef03000000000000 | |
| 712 | + | 090000000000000000000000000000006e6574207469746c650000001600e400 | |
| 713 | + | 010050000100500000000000000000000a0014002c01c800000000000900e400 | |
| 714 | + | 010050000000000000000000000000000000000000000000000000001300e400 | |
| 715 | + | 000100000100500000000000000000000000000000000000000000001c00e400 | |
| 716 | + | 01005000f303000000000000000000000000000000000000000000000108e500 | |
| 717 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 718 | + | 7469746c650000001600e500010050000100500000000000000000000a001400 | |
| 719 | + | 2c01c800000000000900e5000100500000000000000000000000000000000000 | |
| 720 | + | 00000000000000001300e5000001000001005000000000000000000000000000 | |
| 721 | + | 00000000000000001c00e50001005000f3030000000000000000000000000000 | |
| 722 | + | 00000000000000000108e60003000000ef030000000000000900000000000000 | |
| 723 | + | 00000000000000006e6574207469746c650000001600e6000100500001005000 | |
| 724 | + | 00000000000000000a0014002c01c800000000000900e6000100500000000000 | |
| 725 | + | 00000000000000000000000000000000000000001300e6000001000001005000 | |
| 726 | + | 00000000000000000000000000000000000000001c00e60001005000f3030000 | |
| 727 | + | 00000000000000000000000000000000000000000108e70003000000ef030000 | |
| 728 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 729 | + | 1600e700010050000100500000000000000000000a0014002c01c80000000000 | |
| 730 | + | 0900e70001005000000000000000000000000000000000000000000000000000 | |
| 731 | + | 1300e70000010000010050000000000000000000000000000000000000000000 | |
| 732 | + | 1c00e70001005000f30300000000000000000000000000000000000000000000 | |
| 733 | + | 0108e80003000000ef0300000000000009000000000000000000000000000000 | |
| 734 | + | 6e6574207469746c650000001600e80001005000010050000000000000000000 | |
| 735 | + | 0a0014002c01c800000000000900e80001005000000000000000000000000000 | |
| 736 | + | 0000000000000000000000001300e80000010000010050000000000000000000 | |
| 737 | + | 0000000000000000000000001c00e80001005000f30300000000000000000000 | |
| 738 | + | 0000000000000000000000000108e90003000000ef0300000000000009000000 | |
| 739 | + | 0000000000000000000000006e6574207469746c650000001600e90001005000 | |
| 740 | + | 0100500000000000000000000a0014002c01c800000000000900e90001005000 | |
| 741 | + | 0000000000000000000000000000000000000000000000001300e90000010000 | |
| 742 | + | 0100500000000000000000000000000000000000000000001c00e90001005000 | |
| 743 | + | f303000000000000000000000000000000000000000000000108ea0003000000 | |
| 744 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 745 | + | 650000001600ea00010050000100500000000000000000000a0014002c01c800 | |
| 746 | + | 000000000900ea00010050000000000000000000000000000000000000000000 | |
| 747 | + | 000000001300ea00000100000100500000000000000000000000000000000000 | |
| 748 | + | 000000001c00ea0001005000f303000000000000000000000000000000000000 | |
| 749 | + | 000000000108eb0003000000ef03000000000000090000000000000000000000 | |
| 750 | + | 000000006e6574207469746c650000001600eb00010050000100500000000000 | |
| 751 | + | 000000000a0014002c01c800000000000900eb00010050000000000000000000 | |
| 752 | + | 000000000000000000000000000000001300eb00000100000100500000000000 | |
| 753 | + | 000000000000000000000000000000001c00eb0001005000f303000000000000 | |
| 754 | + | 000000000000000000000000000000000108ec0003000000ef03000000000000 | |
| 755 | + | 090000000000000000000000000000006e6574207469746c650000001600ec00 | |
| 756 | + | 010050000100500000000000000000000a0014002c01c800000000000900ec00 | |
| 757 | + | 010050000000000000000000000000000000000000000000000000001300ec00 | |
| 758 | + | 000100000100500000000000000000000000000000000000000000001c00ec00 | |
| 759 | + | 01005000f303000000000000000000000000000000000000000000000108ed00 | |
| 760 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 761 | + | 7469746c650000001600ed00010050000100500000000000000000000a001400 | |
| 762 | + | 2c01c800000000000900ed000100500000000000000000000000000000000000 | |
| 763 | + | 00000000000000001300ed000001000001005000000000000000000000000000 | |
| 764 | + | 00000000000000001c00ed0001005000f3030000000000000000000000000000 | |
| 765 | + | 00000000000000000108ee0003000000ef030000000000000900000000000000 | |
| 766 | + | 00000000000000006e6574207469746c650000001600ee000100500001005000 | |
| 767 | + | 00000000000000000a0014002c01c800000000000900ee000100500000000000 | |
| 768 | + | 00000000000000000000000000000000000000001300ee000001000001005000 | |
| 769 | + | 00000000000000000000000000000000000000001c00ee0001005000f3030000 | |
| 770 | + | 00000000000000000000000000000000000000000108ef0003000000ef030000 | |
| 771 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 772 | + | 1600ef00010050000100500000000000000000000a0014002c01c80000000000 | |
| 773 | + | 0900ef0001005000000000000000000000000000000000000000000000000000 | |
| 774 | + | 1300ef0000010000010050000000000000000000000000000000000000000000 | |
| 775 | + | 1c00ef0001005000f30300000000000000000000000000000000000000000000 | |
| 776 | + | 0108f00003000000ef0300000000000009000000000000000000000000000000 | |
| 777 | + | 6e6574207469746c650000001600f00001005000010050000000000000000000 | |
| 778 | + | 0a0014002c01c800000000000900f00001005000000000000000000000000000 | |
| 779 | + | 0000000000000000000000001300f00000010000010050000000000000000000 | |
| 780 | + | 0000000000000000000000001c00f00001005000f30300000000000000000000 | |
| 781 | + | 0000000000000000000000000108f10003000000ef0300000000000009000000 | |
| 782 | + | 0000000000000000000000006e6574207469746c650000001600f10001005000 | |
| 783 | + | 0100500000000000000000000a0014002c01c800000000000900f10001005000 | |
| 784 | + | 0000000000000000000000000000000000000000000000001300f10000010000 | |
| 785 | + | 0100500000000000000000000000000000000000000000001c00f10001005000 | |
| 786 | + | f303000000000000000000000000000000000000000000000108f20003000000 | |
| 787 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 788 | + | 650000001600f200010050000100500000000000000000000a0014002c01c800 | |
| 789 | + | 000000000900f200010050000000000000000000000000000000000000000000 | |
| 790 | + | 000000001300f200000100000100500000000000000000000000000000000000 | |
| 791 | + | 000000001c00f20001005000f303000000000000000000000000000000000000 | |
| 792 | + | 000000000108f30003000000ef03000000000000090000000000000000000000 | |
| 793 | + | 000000006e6574207469746c650000001600f300010050000100500000000000 | |
| 794 | + | 000000000a0014002c01c800000000000900f300010050000000000000000000 | |
| 795 | + | 000000000000000000000000000000001300f300000100000100500000000000 | |
| 796 | + | 000000000000000000000000000000001c00f30001005000f303000000000000 | |
| 797 | + | 000000000000000000000000000000000108f40003000000ef03000000000000 | |
| 798 | + | 090000000000000000000000000000006e6574207469746c650000001600f400 | |
| 799 | + | 010050000100500000000000000000000a0014002c01c800000000000900f400 | |
| 800 | + | 010050000000000000000000000000000000000000000000000000001300f400 | |
| 801 | + | 000100000100500000000000000000000000000000000000000000001c00f400 | |
| 802 | + | 01005000f303000000000000000000000000000000000000000000000108f500 | |
| 803 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 804 | + | 7469746c650000001600f500010050000100500000000000000000000a001400 | |
| 805 | + | 2c01c800000000000900f5000100500000000000000000000000000000000000 | |
| 806 | + | 00000000000000001300f5000001000001005000000000000000000000000000 | |
| 807 | + | 00000000000000001c00f50001005000f3030000000000000000000000000000 | |
| 808 | + | 00000000000000000108f60003000000ef030000000000000900000000000000 | |
| 809 | + | 00000000000000006e6574207469746c650000001600f6000100500001005000 | |
| 810 | + | 00000000000000000a0014002c01c800000000000900f6000100500000000000 | |
| 811 | + | 00000000000000000000000000000000000000001300f6000001000001005000 | |
| 812 | + | 00000000000000000000000000000000000000001c00f60001005000f3030000 | |
| 813 | + | 00000000000000000000000000000000000000000108f70003000000ef030000 | |
| 814 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 815 | + | 1600f700010050000100500000000000000000000a0014002c01c80000000000 | |
| 816 | + | 0900f70001005000000000000000000000000000000000000000000000000000 | |
| 817 | + | 1300f70000010000010050000000000000000000000000000000000000000000 | |
| 818 | + | 1c00f70001005000f30300000000000000000000000000000000000000000000 | |
| 819 | + | 0108f80003000000ef0300000000000009000000000000000000000000000000 | |
| 820 | + | 6e6574207469746c650000001600f80001005000010050000000000000000000 | |
| 821 | + | 0a0014002c01c800000000000900f80001005000000000000000000000000000 | |
| 822 | + | 0000000000000000000000001300f80000010000010050000000000000000000 | |
| 823 | + | 0000000000000000000000001c00f80001005000f30300000000000000000000 | |
| 824 | + | 0000000000000000000000000108f90003000000ef0300000000000009000000 | |
| 825 | + | 0000000000000000000000006e6574207469746c650000001600f90001005000 | |
| 826 | + | 0100500000000000000000000a0014002c01c800000000000900f90001005000 | |
| 827 | + | 0000000000000000000000000000000000000000000000001300f90000010000 | |
| 828 | + | 0100500000000000000000000000000000000000000000001c00f90001005000 | |
| 829 | + | f303000000000000000000000000000000000000000000000108fa0003000000 | |
| 830 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 831 | + | 650000001600fa00010050000100500000000000000000000a0014002c01c800 | |
| 832 | + | 000000000900fa00010050000000000000000000000000000000000000000000 | |
| 833 | + | 000000001300fa00000100000100500000000000000000000000000000000000 | |
| 834 | + | 000000001c00fa0001005000f303000000000000000000000000000000000000 | |
| 835 | + | 000000000108fb0003000000ef03000000000000090000000000000000000000 | |
| 836 | + | 000000006e6574207469746c650000001600fb00010050000100500000000000 | |
| 837 | + | 000000000a0014002c01c800000000000900fb00010050000000000000000000 | |
| 838 | + | 000000000000000000000000000000001300fb00000100000100500000000000 | |
| 839 | + | 000000000000000000000000000000001c00fb0001005000f303000000000000 | |
| 840 | + | 000000000000000000000000000000000108fc0003000000ef03000000000000 | |
| 841 | + | 090000000000000000000000000000006e6574207469746c650000001600fc00 | |
| 842 | + | 010050000100500000000000000000000a0014002c01c800000000000900fc00 | |
| 843 | + | 010050000000000000000000000000000000000000000000000000001300fc00 | |
| 844 | + | 000100000100500000000000000000000000000000000000000000001c00fc00 | |
| 845 | + | 01005000f303000000000000000000000000000000000000000000000108fd00 | |
| 846 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 847 | + | 7469746c650000001600fd00010050000100500000000000000000000a001400 | |
| 848 | + | 2c01c800000000000900fd000100500000000000000000000000000000000000 | |
| 849 | + | 00000000000000001300fd000001000001005000000000000000000000000000 | |
| 850 | + | 00000000000000001c00fd0001005000f3030000000000000000000000000000 | |
| 851 | + | 00000000000000000108fe0003000000ef030000000000000900000000000000 | |
| 852 | + | 00000000000000006e6574207469746c650000001600fe000100500001005000 | |
| 853 | + | 00000000000000000a0014002c01c800000000000900fe000100500000000000 | |
| 854 | + | 00000000000000000000000000000000000000001300fe000001000001005000 | |
| 855 | + | 00000000000000000000000000000000000000001c00fe0001005000f3030000 | |
| 856 | + | 00000000000000000000000000000000000000000108ff0003000000ef030000 | |
| 857 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 858 | + | 1600ff00010050000100500000000000000000000a0014002c01c80000000000 | |
| 859 | + | 0900ff0001005000000000000000000000000000000000000000000000000000 | |
| 860 | + | 1300ff0000010000010050000000000000000000000000000000000000000000 | |
| 861 | + | 1c00ff0001005000f30300000000000000000000000000000000000000000000 | |
| 862 | + | 0108000103000000ef0300000000000009000000000000000000000000000000 | |
| 863 | + | 6e6574207469746c650000001600000101005000010050000000000000000000 | |
| 864 | + | 0a0014002c01c800000000000900000101005000000000000000000000000000 | |
| 865 | + | 0000000000000000000000001300000100010000010050000000000000000000 | |
| 866 | + | 0000000000000000000000001c00000101005000f30300000000000000000000 | |
| 867 | + | 0000000000000000000000000108010103000000ef0300000000000009000000 | |
| 868 | + | 0000000000000000000000006e6574207469746c650000001600010101005000 | |
| 869 | + | 0100500000000000000000000a0014002c01c800000000000900010101005000 | |
| 870 | + | 0000000000000000000000000000000000000000000000001300010100010000 | |
| 871 | + | 0100500000000000000000000000000000000000000000001c00010101005000 | |
| 872 | + | f303000000000000000000000000000000000000000000000108020103000000 | |
| 873 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 874 | + | 6500000016000201010050000100500000000000000000000a0014002c01c800 | |
| 875 | + | 0000000009000201010050000000000000000000000000000000000000000000 | |
| 876 | + | 0000000013000201000100000100500000000000000000000000000000000000 | |
| 877 | + | 000000001c00020101005000f303000000000000000000000000000000000000 | |
| 878 | + | 000000000108030103000000ef03000000000000090000000000000000000000 | |
| 879 | + | 000000006e6574207469746c6500000016000301010050000100500000000000 | |
| 880 | + | 000000000a0014002c01c8000000000009000301010050000000000000000000 | |
| 881 | + | 0000000000000000000000000000000013000301000100000100500000000000 | |
| 882 | + | 000000000000000000000000000000001c00030101005000f303000000000000 | |
| 883 | + | 000000000000000000000000000000000108040103000000ef03000000000000 | |
| 884 | + | 090000000000000000000000000000006e6574207469746c6500000016000401 | |
| 885 | + | 010050000100500000000000000000000a0014002c01c8000000000009000401 | |
| 886 | + | 0100500000000000000000000000000000000000000000000000000013000401 | |
| 887 | + | 000100000100500000000000000000000000000000000000000000001c000401 | |
| 888 | + | 01005000f3030000000000000000000000000000000000000000000001080501 | |
| 889 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 890 | + | 7469746c6500000016000501010050000100500000000000000000000a001400 | |
| 891 | + | 2c01c80000000000090005010100500000000000000000000000000000000000 | |
| 892 | + | 0000000000000000130005010001000001005000000000000000000000000000 | |
| 893 | + | 00000000000000001c00050101005000f3030000000000000000000000000000 | |
| 894 | + | 00000000000000000108060103000000ef030000000000000900000000000000 | |
| 895 | + | 00000000000000006e6574207469746c65000000160006010100500001005000 | |
| 896 | + | 00000000000000000a0014002c01c80000000000090006010100500000000000 | |
| 897 | + | 0000000000000000000000000000000000000000130006010001000001005000 | |
| 898 | + | 00000000000000000000000000000000000000001c00060101005000f3030000 | |
| 899 | + | 00000000000000000000000000000000000000000108070103000000ef030000 | |
| 900 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 901 | + | 16000701010050000100500000000000000000000a0014002c01c80000000000 | |
| 902 | + | 0900070101005000000000000000000000000000000000000000000000000000 | |
| 903 | + | 1300070100010000010050000000000000000000000000000000000000000000 | |
| 904 | + | 1c00070101005000f30300000000000000000000000000000000000000000000 | |
| 905 | + | 0108080103000000ef0300000000000009000000000000000000000000000000 | |
| 906 | + | 6e6574207469746c650000001600080101005000010050000000000000000000 | |
| 907 | + | 0a0014002c01c800000000000900080101005000000000000000000000000000 | |
| 908 | + | 0000000000000000000000001300080100010000010050000000000000000000 | |
| 909 | + | 0000000000000000000000001c00080101005000f30300000000000000000000 | |
| 910 | + | 0000000000000000000000000108090103000000ef0300000000000009000000 | |
| 911 | + | 0000000000000000000000006e6574207469746c650000001600090101005000 | |
| 912 | + | 0100500000000000000000000a0014002c01c800000000000900090101005000 | |
| 913 | + | 0000000000000000000000000000000000000000000000001300090100010000 | |
| 914 | + | 0100500000000000000000000000000000000000000000001c00090101005000 | |
| 915 | + | f3030000000000000000000000000000000000000000000001080a0103000000 | |
| 916 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 917 | + | 6500000016000a01010050000100500000000000000000000a0014002c01c800 | |
| 918 | + | 0000000009000a01010050000000000000000000000000000000000000000000 | |
| 919 | + | 0000000013000a01000100000100500000000000000000000000000000000000 | |
| 920 | + | 000000001c000a0101005000f303000000000000000000000000000000000000 | |
| 921 | + | 0000000001080b0103000000ef03000000000000090000000000000000000000 | |
| 922 | + | 000000006e6574207469746c6500000016000b01010050000100500000000000 | |
| 923 | + | 000000000a0014002c01c8000000000009000b01010050000000000000000000 | |
| 924 | + | 0000000000000000000000000000000013000b01000100000100500000000000 | |
| 925 | + | 000000000000000000000000000000001c000b0101005000f303000000000000 | |
| 926 | + | 0000000000000000000000000000000001080c0103000000ef03000000000000 | |
| 927 | + | 090000000000000000000000000000006e6574207469746c6500000016000c01 | |
| 928 | + | 010050000100500000000000000000000a0014002c01c8000000000009000c01 | |
| 929 | + | 0100500000000000000000000000000000000000000000000000000013000c01 | |
| 930 | + | 000100000100500000000000000000000000000000000000000000001c000c01 | |
| 931 | + | 01005000f3030000000000000000000000000000000000000000000001080d01 | |
| 932 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 933 | + | 7469746c6500000016000d01010050000100500000000000000000000a001400 | |
| 934 | + | 2c01c8000000000009000d010100500000000000000000000000000000000000 | |
| 935 | + | 000000000000000013000d010001000001005000000000000000000000000000 | |
| 936 | + | 00000000000000001c000d0101005000f3030000000000000000000000000000 | |
| 937 | + | 000000000000000001080e0103000000ef030000000000000900000000000000 | |
| 938 | + | 00000000000000006e6574207469746c6500000016000e010100500001005000 | |
| 939 | + | 00000000000000000a0014002c01c8000000000009000e010100500000000000 | |
| 940 | + | 000000000000000000000000000000000000000013000e010001000001005000 | |
| 941 | + | 00000000000000000000000000000000000000001c000e0101005000f3030000 | |
| 942 | + | 000000000000000000000000000000000000000001080f0103000000ef030000 | |
| 943 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 944 | + | 16000f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 945 | + | 09000f0101005000000000000000000000000000000000000000000000000000 | |
| 946 | + | 13000f0100010000010050000000000000000000000000000000000000000000 | |
| 947 | + | 1c000f0101005000f30300000000000000000000000000000000000000000000 | |
| 948 | + | 0108100103000000ef0300000000000009000000000000000000000000000000 | |
| 949 | + | 6e6574207469746c650000001600100101005000010050000000000000000000 | |
| 950 | + | 0a0014002c01c800000000000900100101005000000000000000000000000000 | |
| 951 | + | 0000000000000000000000001300100100010000010050000000000000000000 | |
| 952 | + | 0000000000000000000000001c00100101005000f30300000000000000000000 | |
| 953 | + | 0000000000000000000000000108110103000000ef0300000000000009000000 | |
| 954 | + | 0000000000000000000000006e6574207469746c650000001600110101005000 | |
| 955 | + | 0100500000000000000000000a0014002c01c800000000000900110101005000 | |
| 956 | + | 0000000000000000000000000000000000000000000000001300110100010000 | |
| 957 | + | 0100500000000000000000000000000000000000000000001c00110101005000 | |
| 958 | + | f303000000000000000000000000000000000000000000000108120103000000 | |
| 959 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 960 | + | 6500000016001201010050000100500000000000000000000a0014002c01c800 | |
| 961 | + | 0000000009001201010050000000000000000000000000000000000000000000 | |
| 962 | + | 0000000013001201000100000100500000000000000000000000000000000000 | |
| 963 | + | 000000001c00120101005000f303000000000000000000000000000000000000 | |
| 964 | + | 000000000108130103000000ef03000000000000090000000000000000000000 | |
| 965 | + | 000000006e6574207469746c6500000016001301010050000100500000000000 | |
| 966 | + | 000000000a0014002c01c8000000000009001301010050000000000000000000 | |
| 967 | + | 0000000000000000000000000000000013001301000100000100500000000000 | |
| 968 | + | 000000000000000000000000000000001c00130101005000f303000000000000 | |
| 969 | + | 000000000000000000000000000000000108140103000000ef03000000000000 | |
| 970 | + | 090000000000000000000000000000006e6574207469746c6500000016001401 | |
| 971 | + | 010050000100500000000000000000000a0014002c01c8000000000009001401 | |
| 972 | + | 0100500000000000000000000000000000000000000000000000000013001401 | |
| 973 | + | 000100000100500000000000000000000000000000000000000000001c001401 | |
| 974 | + | 01005000f3030000000000000000000000000000000000000000000001081501 | |
| 975 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 976 | + | 7469746c6500000016001501010050000100500000000000000000000a001400 | |
| 977 | + | 2c01c80000000000090015010100500000000000000000000000000000000000 | |
| 978 | + | 0000000000000000130015010001000001005000000000000000000000000000 | |
| 979 | + | 00000000000000001c00150101005000f3030000000000000000000000000000 | |
| 980 | + | 00000000000000000108160103000000ef030000000000000900000000000000 | |
| 981 | + | 00000000000000006e6574207469746c65000000160016010100500001005000 | |
| 982 | + | 00000000000000000a0014002c01c80000000000090016010100500000000000 | |
| 983 | + | 0000000000000000000000000000000000000000130016010001000001005000 | |
| 984 | + | 00000000000000000000000000000000000000001c00160101005000f3030000 | |
| 985 | + | 00000000000000000000000000000000000000000108170103000000ef030000 | |
| 986 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 987 | + | 16001701010050000100500000000000000000000a0014002c01c80000000000 | |
| 988 | + | 0900170101005000000000000000000000000000000000000000000000000000 | |
| 989 | + | 1300170100010000010050000000000000000000000000000000000000000000 | |
| 990 | + | 1c00170101005000f30300000000000000000000000000000000000000000000 | |
| 991 | + | 0108180103000000ef0300000000000009000000000000000000000000000000 | |
| 992 | + | 6e6574207469746c650000001600180101005000010050000000000000000000 | |
| 993 | + | 0a0014002c01c800000000000900180101005000000000000000000000000000 | |
| 994 | + | 0000000000000000000000001300180100010000010050000000000000000000 | |
| 995 | + | 0000000000000000000000001c00180101005000f30300000000000000000000 | |
| 996 | + | 0000000000000000000000000108190103000000ef0300000000000009000000 | |
| 997 | + | 0000000000000000000000006e6574207469746c650000001600190101005000 | |
| 998 | + | 0100500000000000000000000a0014002c01c800000000000900190101005000 | |
| 999 | + | 0000000000000000000000000000000000000000000000001300190100010000 | |
| 1000 | + | 0100500000000000000000000000000000000000000000001c00190101005000 | |
| 1001 | + | f3030000000000000000000000000000000000000000000001081a0103000000 | |
| 1002 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1003 | + | 6500000016001a01010050000100500000000000000000000a0014002c01c800 | |
| 1004 | + | 0000000009001a01010050000000000000000000000000000000000000000000 | |
| 1005 | + | 0000000013001a01000100000100500000000000000000000000000000000000 | |
| 1006 | + | 000000001c001a0101005000f303000000000000000000000000000000000000 | |
| 1007 | + | 0000000001081b0103000000ef03000000000000090000000000000000000000 | |
| 1008 | + | 000000006e6574207469746c6500000016001b01010050000100500000000000 | |
| 1009 | + | 000000000a0014002c01c8000000000009001b01010050000000000000000000 | |
| 1010 | + | 0000000000000000000000000000000013001b01000100000100500000000000 | |
| 1011 | + | 000000000000000000000000000000001c001b0101005000f303000000000000 | |
| 1012 | + | 0000000000000000000000000000000001081c0103000000ef03000000000000 | |
| 1013 | + | 090000000000000000000000000000006e6574207469746c6500000016001c01 | |
| 1014 | + | 010050000100500000000000000000000a0014002c01c8000000000009001c01 | |
| 1015 | + | 0100500000000000000000000000000000000000000000000000000013001c01 | |
| 1016 | + | 000100000100500000000000000000000000000000000000000000001c001c01 | |
| 1017 | + | 01005000f3030000000000000000000000000000000000000000000001081d01 | |
| 1018 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1019 | + | 7469746c6500000016001d01010050000100500000000000000000000a001400 | |
| 1020 | + | 2c01c8000000000009001d010100500000000000000000000000000000000000 | |
| 1021 | + | 000000000000000013001d010001000001005000000000000000000000000000 | |
| 1022 | + | 00000000000000001c001d0101005000f3030000000000000000000000000000 | |
| 1023 | + | 000000000000000001081e0103000000ef030000000000000900000000000000 | |
| 1024 | + | 00000000000000006e6574207469746c6500000016001e010100500001005000 | |
| 1025 | + | 00000000000000000a0014002c01c8000000000009001e010100500000000000 | |
| 1026 | + | 000000000000000000000000000000000000000013001e010001000001005000 | |
| 1027 | + | 00000000000000000000000000000000000000001c001e0101005000f3030000 | |
| 1028 | + | 000000000000000000000000000000000000000001081f0103000000ef030000 | |
| 1029 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1030 | + | 16001f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1031 | + | 09001f0101005000000000000000000000000000000000000000000000000000 | |
| 1032 | + | 13001f0100010000010050000000000000000000000000000000000000000000 | |
| 1033 | + | 1c001f0101005000f30300000000000000000000000000000000000000000000 | |
| 1034 | + | 0108200103000000ef0300000000000009000000000000000000000000000000 | |
| 1035 | + | 6e6574207469746c650000001600200101005000010050000000000000000000 | |
| 1036 | + | 0a0014002c01c800000000000900200101005000000000000000000000000000 | |
| 1037 | + | 0000000000000000000000001300200100010000010050000000000000000000 | |
| 1038 | + | 0000000000000000000000001c00200101005000f30300000000000000000000 | |
| 1039 | + | 0000000000000000000000000108210103000000ef0300000000000009000000 | |
| 1040 | + | 0000000000000000000000006e6574207469746c650000001600210101005000 | |
| 1041 | + | 0100500000000000000000000a0014002c01c800000000000900210101005000 | |
| 1042 | + | 0000000000000000000000000000000000000000000000001300210100010000 | |
| 1043 | + | 0100500000000000000000000000000000000000000000001c00210101005000 | |
| 1044 | + | f303000000000000000000000000000000000000000000000108220103000000 | |
| 1045 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1046 | + | 6500000016002201010050000100500000000000000000000a0014002c01c800 | |
| 1047 | + | 0000000009002201010050000000000000000000000000000000000000000000 | |
| 1048 | + | 0000000013002201000100000100500000000000000000000000000000000000 | |
| 1049 | + | 000000001c00220101005000f303000000000000000000000000000000000000 | |
| 1050 | + | 000000000108230103000000ef03000000000000090000000000000000000000 | |
| 1051 | + | 000000006e6574207469746c6500000016002301010050000100500000000000 | |
| 1052 | + | 000000000a0014002c01c8000000000009002301010050000000000000000000 | |
| 1053 | + | 0000000000000000000000000000000013002301000100000100500000000000 | |
| 1054 | + | 000000000000000000000000000000001c00230101005000f303000000000000 | |
| 1055 | + | 000000000000000000000000000000000108240103000000ef03000000000000 | |
| 1056 | + | 090000000000000000000000000000006e6574207469746c6500000016002401 | |
| 1057 | + | 010050000100500000000000000000000a0014002c01c8000000000009002401 | |
| 1058 | + | 0100500000000000000000000000000000000000000000000000000013002401 | |
| 1059 | + | 000100000100500000000000000000000000000000000000000000001c002401 | |
| 1060 | + | 01005000f3030000000000000000000000000000000000000000000001082501 | |
| 1061 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1062 | + | 7469746c6500000016002501010050000100500000000000000000000a001400 | |
| 1063 | + | 2c01c80000000000090025010100500000000000000000000000000000000000 | |
| 1064 | + | 0000000000000000130025010001000001005000000000000000000000000000 | |
| 1065 | + | 00000000000000001c00250101005000f3030000000000000000000000000000 | |
| 1066 | + | 00000000000000000108260103000000ef030000000000000900000000000000 | |
| 1067 | + | 00000000000000006e6574207469746c65000000160026010100500001005000 | |
| 1068 | + | 00000000000000000a0014002c01c80000000000090026010100500000000000 | |
| 1069 | + | 0000000000000000000000000000000000000000130026010001000001005000 | |
| 1070 | + | 00000000000000000000000000000000000000001c00260101005000f3030000 | |
| 1071 | + | 00000000000000000000000000000000000000000108270103000000ef030000 | |
| 1072 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1073 | + | 16002701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1074 | + | 0900270101005000000000000000000000000000000000000000000000000000 | |
| 1075 | + | 1300270100010000010050000000000000000000000000000000000000000000 | |
| 1076 | + | 1c00270101005000f30300000000000000000000000000000000000000000000 | |
| 1077 | + | 0108280103000000ef0300000000000009000000000000000000000000000000 | |
| 1078 | + | 6e6574207469746c650000001600280101005000010050000000000000000000 | |
| 1079 | + | 0a0014002c01c800000000000900280101005000000000000000000000000000 | |
| 1080 | + | 0000000000000000000000001300280100010000010050000000000000000000 | |
| 1081 | + | 0000000000000000000000001c00280101005000f30300000000000000000000 | |
| 1082 | + | 0000000000000000000000000108290103000000ef0300000000000009000000 | |
| 1083 | + | 0000000000000000000000006e6574207469746c650000001600290101005000 | |
| 1084 | + | 0100500000000000000000000a0014002c01c800000000000900290101005000 | |
| 1085 | + | 0000000000000000000000000000000000000000000000001300290100010000 | |
| 1086 | + | 0100500000000000000000000000000000000000000000001c00290101005000 | |
| 1087 | + | f3030000000000000000000000000000000000000000000001082a0103000000 | |
| 1088 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1089 | + | 6500000016002a01010050000100500000000000000000000a0014002c01c800 | |
| 1090 | + | 0000000009002a01010050000000000000000000000000000000000000000000 | |
| 1091 | + | 0000000013002a01000100000100500000000000000000000000000000000000 | |
| 1092 | + | 000000001c002a0101005000f303000000000000000000000000000000000000 | |
| 1093 | + | 0000000001082b0103000000ef03000000000000090000000000000000000000 | |
| 1094 | + | 000000006e6574207469746c6500000016002b01010050000100500000000000 | |
| 1095 | + | 000000000a0014002c01c8000000000009002b01010050000000000000000000 | |
| 1096 | + | 0000000000000000000000000000000013002b01000100000100500000000000 | |
| 1097 | + | 000000000000000000000000000000001c002b0101005000f303000000000000 | |
| 1098 | + | 0000000000000000000000000000000001082c0103000000ef03000000000000 | |
| 1099 | + | 090000000000000000000000000000006e6574207469746c6500000016002c01 | |
| 1100 | + | 010050000100500000000000000000000a0014002c01c8000000000009002c01 | |
| 1101 | + | 0100500000000000000000000000000000000000000000000000000013002c01 | |
| 1102 | + | 000100000100500000000000000000000000000000000000000000001c002c01 | |
| 1103 | + | 01005000f3030000000000000000000000000000000000000000000001082d01 | |
| 1104 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1105 | + | 7469746c6500000016002d01010050000100500000000000000000000a001400 | |
| 1106 | + | 2c01c8000000000009002d010100500000000000000000000000000000000000 | |
| 1107 | + | 000000000000000013002d010001000001005000000000000000000000000000 | |
| 1108 | + | 00000000000000001c002d0101005000f3030000000000000000000000000000 | |
| 1109 | + | 000000000000000001082e0103000000ef030000000000000900000000000000 | |
| 1110 | + | 00000000000000006e6574207469746c6500000016002e010100500001005000 | |
| 1111 | + | 00000000000000000a0014002c01c8000000000009002e010100500000000000 | |
| 1112 | + | 000000000000000000000000000000000000000013002e010001000001005000 | |
| 1113 | + | 00000000000000000000000000000000000000001c002e0101005000f3030000 | |
| 1114 | + | 000000000000000000000000000000000000000001082f0103000000ef030000 | |
| 1115 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1116 | + | 16002f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1117 | + | 09002f0101005000000000000000000000000000000000000000000000000000 | |
| 1118 | + | 13002f0100010000010050000000000000000000000000000000000000000000 | |
| 1119 | + | 1c002f0101005000f30300000000000000000000000000000000000000000000 | |
| 1120 | + | 0108300103000000ef0300000000000009000000000000000000000000000000 | |
| 1121 | + | 6e6574207469746c650000001600300101005000010050000000000000000000 | |
| 1122 | + | 0a0014002c01c800000000000900300101005000000000000000000000000000 | |
| 1123 | + | 0000000000000000000000001300300100010000010050000000000000000000 | |
| 1124 | + | 0000000000000000000000001c00300101005000f30300000000000000000000 | |
| 1125 | + | 0000000000000000000000000108310103000000ef0300000000000009000000 | |
| 1126 | + | 0000000000000000000000006e6574207469746c650000001600310101005000 | |
| 1127 | + | 0100500000000000000000000a0014002c01c800000000000900310101005000 | |
| 1128 | + | 0000000000000000000000000000000000000000000000001300310100010000 | |
| 1129 | + | 0100500000000000000000000000000000000000000000001c00310101005000 | |
| 1130 | + | f303000000000000000000000000000000000000000000000108320103000000 | |
| 1131 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1132 | + | 6500000016003201010050000100500000000000000000000a0014002c01c800 | |
| 1133 | + | 0000000009003201010050000000000000000000000000000000000000000000 | |
| 1134 | + | 0000000013003201000100000100500000000000000000000000000000000000 | |
| 1135 | + | 000000001c00320101005000f303000000000000000000000000000000000000 | |
| 1136 | + | 000000000108330103000000ef03000000000000090000000000000000000000 | |
| 1137 | + | 000000006e6574207469746c6500000016003301010050000100500000000000 | |
| 1138 | + | 000000000a0014002c01c8000000000009003301010050000000000000000000 | |
| 1139 | + | 0000000000000000000000000000000013003301000100000100500000000000 | |
| 1140 | + | 000000000000000000000000000000001c00330101005000f303000000000000 | |
| 1141 | + | 000000000000000000000000000000000108340103000000ef03000000000000 | |
| 1142 | + | 090000000000000000000000000000006e6574207469746c6500000016003401 | |
| 1143 | + | 010050000100500000000000000000000a0014002c01c8000000000009003401 | |
| 1144 | + | 0100500000000000000000000000000000000000000000000000000013003401 | |
| 1145 | + | 000100000100500000000000000000000000000000000000000000001c003401 | |
| 1146 | + | 01005000f3030000000000000000000000000000000000000000000001083501 | |
| 1147 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1148 | + | 7469746c6500000016003501010050000100500000000000000000000a001400 | |
| 1149 | + | 2c01c80000000000090035010100500000000000000000000000000000000000 | |
| 1150 | + | 0000000000000000130035010001000001005000000000000000000000000000 | |
| 1151 | + | 00000000000000001c00350101005000f3030000000000000000000000000000 | |
| 1152 | + | 00000000000000000108360103000000ef030000000000000900000000000000 | |
| 1153 | + | 00000000000000006e6574207469746c65000000160036010100500001005000 | |
| 1154 | + | 00000000000000000a0014002c01c80000000000090036010100500000000000 | |
| 1155 | + | 0000000000000000000000000000000000000000130036010001000001005000 | |
| 1156 | + | 00000000000000000000000000000000000000001c00360101005000f3030000 | |
| 1157 | + | 00000000000000000000000000000000000000000108370103000000ef030000 | |
| 1158 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1159 | + | 16003701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1160 | + | 0900370101005000000000000000000000000000000000000000000000000000 | |
| 1161 | + | 1300370100010000010050000000000000000000000000000000000000000000 | |
| 1162 | + | 1c00370101005000f30300000000000000000000000000000000000000000000 | |
| 1163 | + | 0108380103000000ef0300000000000009000000000000000000000000000000 | |
| 1164 | + | 6e6574207469746c650000001600380101005000010050000000000000000000 | |
| 1165 | + | 0a0014002c01c800000000000900380101005000000000000000000000000000 | |
| 1166 | + | 0000000000000000000000001300380100010000010050000000000000000000 | |
| 1167 | + | 0000000000000000000000001c00380101005000f30300000000000000000000 | |
| 1168 | + | 0000000000000000000000000108390103000000ef0300000000000009000000 | |
| 1169 | + | 0000000000000000000000006e6574207469746c650000001600390101005000 | |
| 1170 | + | 0100500000000000000000000a0014002c01c800000000000900390101005000 | |
| 1171 | + | 0000000000000000000000000000000000000000000000001300390100010000 | |
| 1172 | + | 0100500000000000000000000000000000000000000000001c00390101005000 | |
| 1173 | + | f3030000000000000000000000000000000000000000000001083a0103000000 | |
| 1174 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1175 | + | 6500000016003a01010050000100500000000000000000000a0014002c01c800 | |
| 1176 | + | 0000000009003a01010050000000000000000000000000000000000000000000 | |
| 1177 | + | 0000000013003a01000100000100500000000000000000000000000000000000 | |
| 1178 | + | 000000001c003a0101005000f303000000000000000000000000000000000000 | |
| 1179 | + | 0000000001083b0103000000ef03000000000000090000000000000000000000 | |
| 1180 | + | 000000006e6574207469746c6500000016003b01010050000100500000000000 | |
| 1181 | + | 000000000a0014002c01c8000000000009003b01010050000000000000000000 | |
| 1182 | + | 0000000000000000000000000000000013003b01000100000100500000000000 | |
| 1183 | + | 000000000000000000000000000000001c003b0101005000f303000000000000 | |
| 1184 | + | 0000000000000000000000000000000001083c0103000000ef03000000000000 | |
| 1185 | + | 090000000000000000000000000000006e6574207469746c6500000016003c01 | |
| 1186 | + | 010050000100500000000000000000000a0014002c01c8000000000009003c01 | |
| 1187 | + | 0100500000000000000000000000000000000000000000000000000013003c01 | |
| 1188 | + | 000100000100500000000000000000000000000000000000000000001c003c01 | |
| 1189 | + | 01005000f3030000000000000000000000000000000000000000000001083d01 | |
| 1190 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1191 | + | 7469746c6500000016003d01010050000100500000000000000000000a001400 | |
| 1192 | + | 2c01c8000000000009003d010100500000000000000000000000000000000000 | |
| 1193 | + | 000000000000000013003d010001000001005000000000000000000000000000 | |
| 1194 | + | 00000000000000001c003d0101005000f3030000000000000000000000000000 | |
| 1195 | + | 000000000000000001083e0103000000ef030000000000000900000000000000 | |
| 1196 | + | 00000000000000006e6574207469746c6500000016003e010100500001005000 | |
| 1197 | + | 00000000000000000a0014002c01c8000000000009003e010100500000000000 | |
| 1198 | + | 000000000000000000000000000000000000000013003e010001000001005000 | |
| 1199 | + | 00000000000000000000000000000000000000001c003e0101005000f3030000 | |
| 1200 | + | 000000000000000000000000000000000000000001083f0103000000ef030000 | |
| 1201 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1202 | + | 16003f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1203 | + | 09003f0101005000000000000000000000000000000000000000000000000000 | |
| 1204 | + | 13003f0100010000010050000000000000000000000000000000000000000000 | |
| 1205 | + | 1c003f0101005000f30300000000000000000000000000000000000000000000 | |
| 1206 | + | 0108400103000000ef0300000000000009000000000000000000000000000000 | |
| 1207 | + | 6e6574207469746c650000001600400101005000010050000000000000000000 | |
| 1208 | + | 0a0014002c01c800000000000900400101005000000000000000000000000000 | |
| 1209 | + | 0000000000000000000000001300400100010000010050000000000000000000 | |
| 1210 | + | 0000000000000000000000001c00400101005000f30300000000000000000000 | |
| 1211 | + | 0000000000000000000000000108410103000000ef0300000000000009000000 | |
| 1212 | + | 0000000000000000000000006e6574207469746c650000001600410101005000 | |
| 1213 | + | 0100500000000000000000000a0014002c01c800000000000900410101005000 | |
| 1214 | + | 0000000000000000000000000000000000000000000000001300410100010000 | |
| 1215 | + | 0100500000000000000000000000000000000000000000001c00410101005000 | |
| 1216 | + | f303000000000000000000000000000000000000000000000108420103000000 | |
| 1217 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1218 | + | 6500000016004201010050000100500000000000000000000a0014002c01c800 | |
| 1219 | + | 0000000009004201010050000000000000000000000000000000000000000000 | |
| 1220 | + | 0000000013004201000100000100500000000000000000000000000000000000 | |
| 1221 | + | 000000001c00420101005000f303000000000000000000000000000000000000 | |
| 1222 | + | 000000000108430103000000ef03000000000000090000000000000000000000 | |
| 1223 | + | 000000006e6574207469746c6500000016004301010050000100500000000000 | |
| 1224 | + | 000000000a0014002c01c8000000000009004301010050000000000000000000 | |
| 1225 | + | 0000000000000000000000000000000013004301000100000100500000000000 | |
| 1226 | + | 000000000000000000000000000000001c00430101005000f303000000000000 | |
| 1227 | + | 000000000000000000000000000000000108440103000000ef03000000000000 | |
| 1228 | + | 090000000000000000000000000000006e6574207469746c6500000016004401 | |
| 1229 | + | 010050000100500000000000000000000a0014002c01c8000000000009004401 | |
| 1230 | + | 0100500000000000000000000000000000000000000000000000000013004401 | |
| 1231 | + | 000100000100500000000000000000000000000000000000000000001c004401 | |
| 1232 | + | 01005000f3030000000000000000000000000000000000000000000001084501 | |
| 1233 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1234 | + | 7469746c6500000016004501010050000100500000000000000000000a001400 | |
| 1235 | + | 2c01c80000000000090045010100500000000000000000000000000000000000 | |
| 1236 | + | 0000000000000000130045010001000001005000000000000000000000000000 | |
| 1237 | + | 00000000000000001c00450101005000f3030000000000000000000000000000 | |
| 1238 | + | 00000000000000000108460103000000ef030000000000000900000000000000 | |
| 1239 | + | 00000000000000006e6574207469746c65000000160046010100500001005000 | |
| 1240 | + | 00000000000000000a0014002c01c80000000000090046010100500000000000 | |
| 1241 | + | 0000000000000000000000000000000000000000130046010001000001005000 | |
| 1242 | + | 00000000000000000000000000000000000000001c00460101005000f3030000 | |
| 1243 | + | 00000000000000000000000000000000000000000108470103000000ef030000 | |
| 1244 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1245 | + | 16004701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1246 | + | 0900470101005000000000000000000000000000000000000000000000000000 | |
| 1247 | + | 1300470100010000010050000000000000000000000000000000000000000000 | |
| 1248 | + | 1c00470101005000f30300000000000000000000000000000000000000000000 | |
| 1249 | + | 0108480103000000ef0300000000000009000000000000000000000000000000 | |
| 1250 | + | 6e6574207469746c650000001600480101005000010050000000000000000000 | |
| 1251 | + | 0a0014002c01c800000000000900480101005000000000000000000000000000 | |
| 1252 | + | 0000000000000000000000001300480100010000010050000000000000000000 | |
| 1253 | + | 0000000000000000000000001c00480101005000f30300000000000000000000 | |
| 1254 | + | 0000000000000000000000000108490103000000ef0300000000000009000000 | |
| 1255 | + | 0000000000000000000000006e6574207469746c650000001600490101005000 | |
| 1256 | + | 0100500000000000000000000a0014002c01c800000000000900490101005000 | |
| 1257 | + | 0000000000000000000000000000000000000000000000001300490100010000 | |
| 1258 | + | 0100500000000000000000000000000000000000000000001c00490101005000 | |
| 1259 | + | f3030000000000000000000000000000000000000000000001084a0103000000 | |
| 1260 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1261 | + | 6500000016004a01010050000100500000000000000000000a0014002c01c800 | |
| 1262 | + | 0000000009004a01010050000000000000000000000000000000000000000000 | |
| 1263 | + | 0000000013004a01000100000100500000000000000000000000000000000000 | |
| 1264 | + | 000000001c004a0101005000f303000000000000000000000000000000000000 | |
| 1265 | + | 0000000001084b0103000000ef03000000000000090000000000000000000000 | |
| 1266 | + | 000000006e6574207469746c6500000016004b01010050000100500000000000 | |
| 1267 | + | 000000000a0014002c01c8000000000009004b01010050000000000000000000 | |
| 1268 | + | 0000000000000000000000000000000013004b01000100000100500000000000 | |
| 1269 | + | 000000000000000000000000000000001c004b0101005000f303000000000000 | |
| 1270 | + | 0000000000000000000000000000000001084c0103000000ef03000000000000 | |
| 1271 | + | 090000000000000000000000000000006e6574207469746c6500000016004c01 | |
| 1272 | + | 010050000100500000000000000000000a0014002c01c8000000000009004c01 | |
| 1273 | + | 0100500000000000000000000000000000000000000000000000000013004c01 | |
| 1274 | + | 000100000100500000000000000000000000000000000000000000001c004c01 | |
| 1275 | + | 01005000f3030000000000000000000000000000000000000000000001084d01 | |
| 1276 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1277 | + | 7469746c6500000016004d01010050000100500000000000000000000a001400 | |
| 1278 | + | 2c01c8000000000009004d010100500000000000000000000000000000000000 | |
| 1279 | + | 000000000000000013004d010001000001005000000000000000000000000000 | |
| 1280 | + | 00000000000000001c004d0101005000f3030000000000000000000000000000 | |
| 1281 | + | 000000000000000001084e0103000000ef030000000000000900000000000000 | |
| 1282 | + | 00000000000000006e6574207469746c6500000016004e010100500001005000 | |
| 1283 | + | 00000000000000000a0014002c01c8000000000009004e010100500000000000 | |
| 1284 | + | 000000000000000000000000000000000000000013004e010001000001005000 | |
| 1285 | + | 00000000000000000000000000000000000000001c004e0101005000f3030000 | |
| 1286 | + | 000000000000000000000000000000000000000001084f0103000000ef030000 | |
| 1287 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1288 | + | 16004f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1289 | + | 09004f0101005000000000000000000000000000000000000000000000000000 | |
| 1290 | + | 13004f0100010000010050000000000000000000000000000000000000000000 | |
| 1291 | + | 1c004f0101005000f30300000000000000000000000000000000000000000000 | |
| 1292 | + | 0108500103000000ef0300000000000009000000000000000000000000000000 | |
| 1293 | + | 6e6574207469746c650000001600500101005000010050000000000000000000 | |
| 1294 | + | 0a0014002c01c800000000000900500101005000000000000000000000000000 | |
| 1295 | + | 0000000000000000000000001300500100010000010050000000000000000000 | |
| 1296 | + | 0000000000000000000000001c00500101005000f30300000000000000000000 | |
| 1297 | + | 0000000000000000000000000108510103000000ef0300000000000009000000 | |
| 1298 | + | 0000000000000000000000006e6574207469746c650000001600510101005000 | |
| 1299 | + | 0100500000000000000000000a0014002c01c800000000000900510101005000 | |
| 1300 | + | 0000000000000000000000000000000000000000000000001300510100010000 | |
| 1301 | + | 0100500000000000000000000000000000000000000000001c00510101005000 | |
| 1302 | + | f303000000000000000000000000000000000000000000000108520103000000 | |
| 1303 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1304 | + | 6500000016005201010050000100500000000000000000000a0014002c01c800 | |
| 1305 | + | 0000000009005201010050000000000000000000000000000000000000000000 | |
| 1306 | + | 0000000013005201000100000100500000000000000000000000000000000000 | |
| 1307 | + | 000000001c00520101005000f303000000000000000000000000000000000000 | |
| 1308 | + | 000000000108530103000000ef03000000000000090000000000000000000000 | |
| 1309 | + | 000000006e6574207469746c6500000016005301010050000100500000000000 | |
| 1310 | + | 000000000a0014002c01c8000000000009005301010050000000000000000000 | |
| 1311 | + | 0000000000000000000000000000000013005301000100000100500000000000 | |
| 1312 | + | 000000000000000000000000000000001c00530101005000f303000000000000 | |
| 1313 | + | 000000000000000000000000000000000108540103000000ef03000000000000 | |
| 1314 | + | 090000000000000000000000000000006e6574207469746c6500000016005401 | |
| 1315 | + | 010050000100500000000000000000000a0014002c01c8000000000009005401 | |
| 1316 | + | 0100500000000000000000000000000000000000000000000000000013005401 | |
| 1317 | + | 000100000100500000000000000000000000000000000000000000001c005401 | |
| 1318 | + | 01005000f3030000000000000000000000000000000000000000000001085501 | |
| 1319 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1320 | + | 7469746c6500000016005501010050000100500000000000000000000a001400 | |
| 1321 | + | 2c01c80000000000090055010100500000000000000000000000000000000000 | |
| 1322 | + | 0000000000000000130055010001000001005000000000000000000000000000 | |
| 1323 | + | 00000000000000001c00550101005000f3030000000000000000000000000000 | |
| 1324 | + | 00000000000000000108560103000000ef030000000000000900000000000000 | |
| 1325 | + | 00000000000000006e6574207469746c65000000160056010100500001005000 | |
| 1326 | + | 00000000000000000a0014002c01c80000000000090056010100500000000000 | |
| 1327 | + | 0000000000000000000000000000000000000000130056010001000001005000 | |
| 1328 | + | 00000000000000000000000000000000000000001c00560101005000f3030000 | |
| 1329 | + | 00000000000000000000000000000000000000000108570103000000ef030000 | |
| 1330 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1331 | + | 16005701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1332 | + | 0900570101005000000000000000000000000000000000000000000000000000 | |
| 1333 | + | 1300570100010000010050000000000000000000000000000000000000000000 | |
| 1334 | + | 1c00570101005000f30300000000000000000000000000000000000000000000 | |
| 1335 | + | 0108580103000000ef0300000000000009000000000000000000000000000000 | |
| 1336 | + | 6e6574207469746c650000001600580101005000010050000000000000000000 | |
| 1337 | + | 0a0014002c01c800000000000900580101005000000000000000000000000000 | |
| 1338 | + | 0000000000000000000000001300580100010000010050000000000000000000 | |
| 1339 | + | 0000000000000000000000001c00580101005000f30300000000000000000000 | |
| 1340 | + | 0000000000000000000000000108590103000000ef0300000000000009000000 | |
| 1341 | + | 0000000000000000000000006e6574207469746c650000001600590101005000 | |
| 1342 | + | 0100500000000000000000000a0014002c01c800000000000900590101005000 | |
| 1343 | + | 0000000000000000000000000000000000000000000000001300590100010000 | |
| 1344 | + | 0100500000000000000000000000000000000000000000001c00590101005000 | |
| 1345 | + | f3030000000000000000000000000000000000000000000001085a0103000000 | |
| 1346 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1347 | + | 6500000016005a01010050000100500000000000000000000a0014002c01c800 | |
| 1348 | + | 0000000009005a01010050000000000000000000000000000000000000000000 | |
| 1349 | + | 0000000013005a01000100000100500000000000000000000000000000000000 | |
| 1350 | + | 000000001c005a0101005000f303000000000000000000000000000000000000 | |
| 1351 | + | 0000000001085b0103000000ef03000000000000090000000000000000000000 | |
| 1352 | + | 000000006e6574207469746c6500000016005b01010050000100500000000000 | |
| 1353 | + | 000000000a0014002c01c8000000000009005b01010050000000000000000000 | |
| 1354 | + | 0000000000000000000000000000000013005b01000100000100500000000000 | |
| 1355 | + | 000000000000000000000000000000001c005b0101005000f303000000000000 | |
| 1356 | + | 0000000000000000000000000000000001085c0103000000ef03000000000000 | |
| 1357 | + | 090000000000000000000000000000006e6574207469746c6500000016005c01 | |
| 1358 | + | 010050000100500000000000000000000a0014002c01c8000000000009005c01 | |
| 1359 | + | 0100500000000000000000000000000000000000000000000000000013005c01 | |
| 1360 | + | 000100000100500000000000000000000000000000000000000000001c005c01 | |
| 1361 | + | 01005000f3030000000000000000000000000000000000000000000001085d01 | |
| 1362 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1363 | + | 7469746c6500000016005d01010050000100500000000000000000000a001400 | |
| 1364 | + | 2c01c8000000000009005d010100500000000000000000000000000000000000 | |
| 1365 | + | 000000000000000013005d010001000001005000000000000000000000000000 | |
| 1366 | + | 00000000000000001c005d0101005000f3030000000000000000000000000000 | |
| 1367 | + | 000000000000000001085e0103000000ef030000000000000900000000000000 | |
| 1368 | + | 00000000000000006e6574207469746c6500000016005e010100500001005000 | |
| 1369 | + | 00000000000000000a0014002c01c8000000000009005e010100500000000000 | |
| 1370 | + | 000000000000000000000000000000000000000013005e010001000001005000 | |
| 1371 | + | 00000000000000000000000000000000000000001c005e0101005000f3030000 | |
| 1372 | + | 000000000000000000000000000000000000000001085f0103000000ef030000 | |
| 1373 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1374 | + | 16005f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1375 | + | 09005f0101005000000000000000000000000000000000000000000000000000 | |
| 1376 | + | 13005f0100010000010050000000000000000000000000000000000000000000 | |
| 1377 | + | 1c005f0101005000f30300000000000000000000000000000000000000000000 | |
| 1378 | + | 0108600103000000ef0300000000000009000000000000000000000000000000 | |
| 1379 | + | 6e6574207469746c650000001600600101005000010050000000000000000000 | |
| 1380 | + | 0a0014002c01c800000000000900600101005000000000000000000000000000 | |
| 1381 | + | 0000000000000000000000001300600100010000010050000000000000000000 | |
| 1382 | + | 0000000000000000000000001c00600101005000f30300000000000000000000 | |
| 1383 | + | 0000000000000000000000000108610103000000ef0300000000000009000000 | |
| 1384 | + | 0000000000000000000000006e6574207469746c650000001600610101005000 | |
| 1385 | + | 0100500000000000000000000a0014002c01c800000000000900610101005000 | |
| 1386 | + | 0000000000000000000000000000000000000000000000001300610100010000 | |
| 1387 | + | 0100500000000000000000000000000000000000000000001c00610101005000 | |
| 1388 | + | f303000000000000000000000000000000000000000000000108620103000000 | |
| 1389 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1390 | + | 6500000016006201010050000100500000000000000000000a0014002c01c800 | |
| 1391 | + | 0000000009006201010050000000000000000000000000000000000000000000 | |
| 1392 | + | 0000000013006201000100000100500000000000000000000000000000000000 | |
| 1393 | + | 000000001c00620101005000f303000000000000000000000000000000000000 | |
| 1394 | + | 000000000108630103000000ef03000000000000090000000000000000000000 | |
| 1395 | + | 000000006e6574207469746c6500000016006301010050000100500000000000 | |
| 1396 | + | 000000000a0014002c01c8000000000009006301010050000000000000000000 | |
| 1397 | + | 0000000000000000000000000000000013006301000100000100500000000000 | |
| 1398 | + | 000000000000000000000000000000001c00630101005000f303000000000000 | |
| 1399 | + | 000000000000000000000000000000000108640103000000ef03000000000000 | |
| 1400 | + | 090000000000000000000000000000006e6574207469746c6500000016006401 | |
| 1401 | + | 010050000100500000000000000000000a0014002c01c8000000000009006401 | |
| 1402 | + | 0100500000000000000000000000000000000000000000000000000013006401 | |
| 1403 | + | 000100000100500000000000000000000000000000000000000000001c006401 | |
| 1404 | + | 01005000f3030000000000000000000000000000000000000000000001086501 | |
| 1405 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1406 | + | 7469746c6500000016006501010050000100500000000000000000000a001400 | |
| 1407 | + | 2c01c80000000000090065010100500000000000000000000000000000000000 | |
| 1408 | + | 0000000000000000130065010001000001005000000000000000000000000000 | |
| 1409 | + | 00000000000000001c00650101005000f3030000000000000000000000000000 | |
| 1410 | + | 00000000000000000108660103000000ef030000000000000900000000000000 | |
| 1411 | + | 00000000000000006e6574207469746c65000000160066010100500001005000 | |
| 1412 | + | 00000000000000000a0014002c01c80000000000090066010100500000000000 | |
| 1413 | + | 0000000000000000000000000000000000000000130066010001000001005000 | |
| 1414 | + | 00000000000000000000000000000000000000001c00660101005000f3030000 | |
| 1415 | + | 00000000000000000000000000000000000000000108670103000000ef030000 | |
| 1416 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1417 | + | 16006701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1418 | + | 0900670101005000000000000000000000000000000000000000000000000000 | |
| 1419 | + | 1300670100010000010050000000000000000000000000000000000000000000 | |
| 1420 | + | 1c00670101005000f30300000000000000000000000000000000000000000000 | |
| 1421 | + | 0108680103000000ef0300000000000009000000000000000000000000000000 | |
| 1422 | + | 6e6574207469746c650000001600680101005000010050000000000000000000 | |
| 1423 | + | 0a0014002c01c800000000000900680101005000000000000000000000000000 | |
| 1424 | + | 0000000000000000000000001300680100010000010050000000000000000000 | |
| 1425 | + | 0000000000000000000000001c00680101005000f30300000000000000000000 | |
| 1426 | + | 0000000000000000000000000108690103000000ef0300000000000009000000 | |
| 1427 | + | 0000000000000000000000006e6574207469746c650000001600690101005000 | |
| 1428 | + | 0100500000000000000000000a0014002c01c800000000000900690101005000 | |
| 1429 | + | 0000000000000000000000000000000000000000000000001300690100010000 | |
| 1430 | + | 0100500000000000000000000000000000000000000000001c00690101005000 | |
| 1431 | + | f3030000000000000000000000000000000000000000000001086a0103000000 | |
| 1432 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1433 | + | 6500000016006a01010050000100500000000000000000000a0014002c01c800 | |
| 1434 | + | 0000000009006a01010050000000000000000000000000000000000000000000 | |
| 1435 | + | 0000000013006a01000100000100500000000000000000000000000000000000 | |
| 1436 | + | 000000001c006a0101005000f303000000000000000000000000000000000000 | |
| 1437 | + | 0000000001086b0103000000ef03000000000000090000000000000000000000 | |
| 1438 | + | 000000006e6574207469746c6500000016006b01010050000100500000000000 | |
| 1439 | + | 000000000a0014002c01c8000000000009006b01010050000000000000000000 | |
| 1440 | + | 0000000000000000000000000000000013006b01000100000100500000000000 | |
| 1441 | + | 000000000000000000000000000000001c006b0101005000f303000000000000 | |
| 1442 | + | 0000000000000000000000000000000001086c0103000000ef03000000000000 | |
| 1443 | + | 090000000000000000000000000000006e6574207469746c6500000016006c01 | |
| 1444 | + | 010050000100500000000000000000000a0014002c01c8000000000009006c01 | |
| 1445 | + | 0100500000000000000000000000000000000000000000000000000013006c01 | |
| 1446 | + | 000100000100500000000000000000000000000000000000000000001c006c01 | |
| 1447 | + | 01005000f3030000000000000000000000000000000000000000000001086d01 | |
| 1448 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1449 | + | 7469746c6500000016006d01010050000100500000000000000000000a001400 | |
| 1450 | + | 2c01c8000000000009006d010100500000000000000000000000000000000000 | |
| 1451 | + | 000000000000000013006d010001000001005000000000000000000000000000 | |
| 1452 | + | 00000000000000001c006d0101005000f3030000000000000000000000000000 | |
| 1453 | + | 000000000000000001086e0103000000ef030000000000000900000000000000 | |
| 1454 | + | 00000000000000006e6574207469746c6500000016006e010100500001005000 | |
| 1455 | + | 00000000000000000a0014002c01c8000000000009006e010100500000000000 | |
| 1456 | + | 000000000000000000000000000000000000000013006e010001000001005000 | |
| 1457 | + | 00000000000000000000000000000000000000001c006e0101005000f3030000 | |
| 1458 | + | 000000000000000000000000000000000000000001086f0103000000ef030000 | |
| 1459 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1460 | + | 16006f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1461 | + | 09006f0101005000000000000000000000000000000000000000000000000000 | |
| 1462 | + | 13006f0100010000010050000000000000000000000000000000000000000000 | |
| 1463 | + | 1c006f0101005000f30300000000000000000000000000000000000000000000 | |
| 1464 | + | 0108700103000000ef0300000000000009000000000000000000000000000000 | |
| 1465 | + | 6e6574207469746c650000001600700101005000010050000000000000000000 | |
| 1466 | + | 0a0014002c01c800000000000900700101005000000000000000000000000000 | |
| 1467 | + | 0000000000000000000000001300700100010000010050000000000000000000 | |
| 1468 | + | 0000000000000000000000001c00700101005000f30300000000000000000000 | |
| 1469 | + | 0000000000000000000000000108710103000000ef0300000000000009000000 | |
| 1470 | + | 0000000000000000000000006e6574207469746c650000001600710101005000 | |
| 1471 | + | 0100500000000000000000000a0014002c01c800000000000900710101005000 | |
| 1472 | + | 0000000000000000000000000000000000000000000000001300710100010000 | |
| 1473 | + | 0100500000000000000000000000000000000000000000001c00710101005000 | |
| 1474 | + | f303000000000000000000000000000000000000000000000108720103000000 | |
| 1475 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1476 | + | 6500000016007201010050000100500000000000000000000a0014002c01c800 | |
| 1477 | + | 0000000009007201010050000000000000000000000000000000000000000000 | |
| 1478 | + | 0000000013007201000100000100500000000000000000000000000000000000 | |
| 1479 | + | 000000001c00720101005000f303000000000000000000000000000000000000 | |
| 1480 | + | 000000000108730103000000ef03000000000000090000000000000000000000 | |
| 1481 | + | 000000006e6574207469746c6500000016007301010050000100500000000000 | |
| 1482 | + | 000000000a0014002c01c8000000000009007301010050000000000000000000 | |
| 1483 | + | 0000000000000000000000000000000013007301000100000100500000000000 | |
| 1484 | + | 000000000000000000000000000000001c00730101005000f303000000000000 | |
| 1485 | + | 000000000000000000000000000000000108740103000000ef03000000000000 | |
| 1486 | + | 090000000000000000000000000000006e6574207469746c6500000016007401 | |
| 1487 | + | 010050000100500000000000000000000a0014002c01c8000000000009007401 | |
| 1488 | + | 0100500000000000000000000000000000000000000000000000000013007401 | |
| 1489 | + | 000100000100500000000000000000000000000000000000000000001c007401 | |
| 1490 | + | 01005000f3030000000000000000000000000000000000000000000001087501 | |
| 1491 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1492 | + | 7469746c6500000016007501010050000100500000000000000000000a001400 | |
| 1493 | + | 2c01c80000000000090075010100500000000000000000000000000000000000 | |
| 1494 | + | 0000000000000000130075010001000001005000000000000000000000000000 | |
| 1495 | + | 00000000000000001c00750101005000f3030000000000000000000000000000 | |
| 1496 | + | 00000000000000000108760103000000ef030000000000000900000000000000 | |
| 1497 | + | 00000000000000006e6574207469746c65000000160076010100500001005000 | |
| 1498 | + | 00000000000000000a0014002c01c80000000000090076010100500000000000 | |
| 1499 | + | 0000000000000000000000000000000000000000130076010001000001005000 | |
| 1500 | + | 00000000000000000000000000000000000000001c00760101005000f3030000 | |
| 1501 | + | 00000000000000000000000000000000000000000108770103000000ef030000 | |
| 1502 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1503 | + | 16007701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1504 | + | 0900770101005000000000000000000000000000000000000000000000000000 | |
| 1505 | + | 1300770100010000010050000000000000000000000000000000000000000000 | |
| 1506 | + | 1c00770101005000f30300000000000000000000000000000000000000000000 | |
| 1507 | + | 0108780103000000ef0300000000000009000000000000000000000000000000 | |
| 1508 | + | 6e6574207469746c650000001600780101005000010050000000000000000000 | |
| 1509 | + | 0a0014002c01c800000000000900780101005000000000000000000000000000 | |
| 1510 | + | 0000000000000000000000001300780100010000010050000000000000000000 | |
| 1511 | + | 0000000000000000000000001c00780101005000f30300000000000000000000 | |
| 1512 | + | 0000000000000000000000000108790103000000ef0300000000000009000000 | |
| 1513 | + | 0000000000000000000000006e6574207469746c650000001600790101005000 | |
| 1514 | + | 0100500000000000000000000a0014002c01c800000000000900790101005000 | |
| 1515 | + | 0000000000000000000000000000000000000000000000001300790100010000 | |
| 1516 | + | 0100500000000000000000000000000000000000000000001c00790101005000 | |
| 1517 | + | f3030000000000000000000000000000000000000000000001087a0103000000 | |
| 1518 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1519 | + | 6500000016007a01010050000100500000000000000000000a0014002c01c800 | |
| 1520 | + | 0000000009007a01010050000000000000000000000000000000000000000000 | |
| 1521 | + | 0000000013007a01000100000100500000000000000000000000000000000000 | |
| 1522 | + | 000000001c007a0101005000f303000000000000000000000000000000000000 | |
| 1523 | + | 0000000001087b0103000000ef03000000000000090000000000000000000000 | |
| 1524 | + | 000000006e6574207469746c6500000016007b01010050000100500000000000 | |
| 1525 | + | 000000000a0014002c01c8000000000009007b01010050000000000000000000 | |
| 1526 | + | 0000000000000000000000000000000013007b01000100000100500000000000 | |
| 1527 | + | 000000000000000000000000000000001c007b0101005000f303000000000000 | |
| 1528 | + | 0000000000000000000000000000000001087c0103000000ef03000000000000 | |
| 1529 | + | 090000000000000000000000000000006e6574207469746c6500000016007c01 | |
| 1530 | + | 010050000100500000000000000000000a0014002c01c8000000000009007c01 | |
| 1531 | + | 0100500000000000000000000000000000000000000000000000000013007c01 | |
| 1532 | + | 000100000100500000000000000000000000000000000000000000001c007c01 | |
| 1533 | + | 01005000f3030000000000000000000000000000000000000000000001087d01 | |
| 1534 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1535 | + | 7469746c6500000016007d01010050000100500000000000000000000a001400 | |
| 1536 | + | 2c01c8000000000009007d010100500000000000000000000000000000000000 | |
| 1537 | + | 000000000000000013007d010001000001005000000000000000000000000000 | |
| 1538 | + | 00000000000000001c007d0101005000f3030000000000000000000000000000 | |
| 1539 | + | 000000000000000001087e0103000000ef030000000000000900000000000000 | |
| 1540 | + | 00000000000000006e6574207469746c6500000016007e010100500001005000 | |
| 1541 | + | 00000000000000000a0014002c01c8000000000009007e010100500000000000 | |
| 1542 | + | 000000000000000000000000000000000000000013007e010001000001005000 | |
| 1543 | + | 00000000000000000000000000000000000000001c007e0101005000f3030000 | |
| 1544 | + | 000000000000000000000000000000000000000001087f0103000000ef030000 | |
| 1545 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1546 | + | 16007f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1547 | + | 09007f0101005000000000000000000000000000000000000000000000000000 | |
| 1548 | + | 13007f0100010000010050000000000000000000000000000000000000000000 | |
| 1549 | + | 1c007f0101005000f30300000000000000000000000000000000000000000000 | |
| 1550 | + | 0108800103000000ef0300000000000009000000000000000000000000000000 | |
| 1551 | + | 6e6574207469746c650000001600800101005000010050000000000000000000 | |
| 1552 | + | 0a0014002c01c800000000000900800101005000000000000000000000000000 | |
| 1553 | + | 0000000000000000000000001300800100010000010050000000000000000000 | |
| 1554 | + | 0000000000000000000000001c00800101005000f30300000000000000000000 | |
| 1555 | + | 0000000000000000000000000108810103000000ef0300000000000009000000 | |
| 1556 | + | 0000000000000000000000006e6574207469746c650000001600810101005000 | |
| 1557 | + | 0100500000000000000000000a0014002c01c800000000000900810101005000 | |
| 1558 | + | 0000000000000000000000000000000000000000000000001300810100010000 | |
| 1559 | + | 0100500000000000000000000000000000000000000000001c00810101005000 | |
| 1560 | + | f303000000000000000000000000000000000000000000000108820103000000 | |
| 1561 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1562 | + | 6500000016008201010050000100500000000000000000000a0014002c01c800 | |
| 1563 | + | 0000000009008201010050000000000000000000000000000000000000000000 | |
| 1564 | + | 0000000013008201000100000100500000000000000000000000000000000000 | |
| 1565 | + | 000000001c00820101005000f303000000000000000000000000000000000000 | |
| 1566 | + | 000000000108830103000000ef03000000000000090000000000000000000000 | |
| 1567 | + | 000000006e6574207469746c6500000016008301010050000100500000000000 | |
| 1568 | + | 000000000a0014002c01c8000000000009008301010050000000000000000000 | |
| 1569 | + | 0000000000000000000000000000000013008301000100000100500000000000 | |
| 1570 | + | 000000000000000000000000000000001c00830101005000f303000000000000 | |
| 1571 | + | 000000000000000000000000000000000108840103000000ef03000000000000 | |
| 1572 | + | 090000000000000000000000000000006e6574207469746c6500000016008401 | |
| 1573 | + | 010050000100500000000000000000000a0014002c01c8000000000009008401 | |
| 1574 | + | 0100500000000000000000000000000000000000000000000000000013008401 | |
| 1575 | + | 000100000100500000000000000000000000000000000000000000001c008401 | |
| 1576 | + | 01005000f3030000000000000000000000000000000000000000000001088501 | |
| 1577 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1578 | + | 7469746c6500000016008501010050000100500000000000000000000a001400 | |
| 1579 | + | 2c01c80000000000090085010100500000000000000000000000000000000000 | |
| 1580 | + | 0000000000000000130085010001000001005000000000000000000000000000 | |
| 1581 | + | 00000000000000001c00850101005000f3030000000000000000000000000000 | |
| 1582 | + | 00000000000000000108860103000000ef030000000000000900000000000000 | |
| 1583 | + | 00000000000000006e6574207469746c65000000160086010100500001005000 | |
| 1584 | + | 00000000000000000a0014002c01c80000000000090086010100500000000000 | |
| 1585 | + | 0000000000000000000000000000000000000000130086010001000001005000 | |
| 1586 | + | 00000000000000000000000000000000000000001c00860101005000f3030000 | |
| 1587 | + | 00000000000000000000000000000000000000000108870103000000ef030000 | |
| 1588 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1589 | + | 16008701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1590 | + | 0900870101005000000000000000000000000000000000000000000000000000 | |
| 1591 | + | 1300870100010000010050000000000000000000000000000000000000000000 | |
| 1592 | + | 1c00870101005000f30300000000000000000000000000000000000000000000 | |
| 1593 | + | 0108880103000000ef0300000000000009000000000000000000000000000000 | |
| 1594 | + | 6e6574207469746c650000001600880101005000010050000000000000000000 | |
| 1595 | + | 0a0014002c01c800000000000900880101005000000000000000000000000000 | |
| 1596 | + | 0000000000000000000000001300880100010000010050000000000000000000 | |
| 1597 | + | 0000000000000000000000001c00880101005000f30300000000000000000000 | |
| 1598 | + | 0000000000000000000000000108890103000000ef0300000000000009000000 | |
| 1599 | + | 0000000000000000000000006e6574207469746c650000001600890101005000 | |
| 1600 | + | 0100500000000000000000000a0014002c01c800000000000900890101005000 | |
| 1601 | + | 0000000000000000000000000000000000000000000000001300890100010000 | |
| 1602 | + | 0100500000000000000000000000000000000000000000001c00890101005000 | |
| 1603 | + | f3030000000000000000000000000000000000000000000001088a0103000000 | |
| 1604 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1605 | + | 6500000016008a01010050000100500000000000000000000a0014002c01c800 | |
| 1606 | + | 0000000009008a01010050000000000000000000000000000000000000000000 | |
| 1607 | + | 0000000013008a01000100000100500000000000000000000000000000000000 | |
| 1608 | + | 000000001c008a0101005000f303000000000000000000000000000000000000 | |
| 1609 | + | 0000000001088b0103000000ef03000000000000090000000000000000000000 | |
| 1610 | + | 000000006e6574207469746c6500000016008b01010050000100500000000000 | |
| 1611 | + | 000000000a0014002c01c8000000000009008b01010050000000000000000000 | |
| 1612 | + | 0000000000000000000000000000000013008b01000100000100500000000000 | |
| 1613 | + | 000000000000000000000000000000001c008b0101005000f303000000000000 | |
| 1614 | + | 0000000000000000000000000000000001088c0103000000ef03000000000000 | |
| 1615 | + | 090000000000000000000000000000006e6574207469746c6500000016008c01 | |
| 1616 | + | 010050000100500000000000000000000a0014002c01c8000000000009008c01 | |
| 1617 | + | 0100500000000000000000000000000000000000000000000000000013008c01 | |
| 1618 | + | 000100000100500000000000000000000000000000000000000000001c008c01 | |
| 1619 | + | 01005000f3030000000000000000000000000000000000000000000001088d01 | |
| 1620 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1621 | + | 7469746c6500000016008d01010050000100500000000000000000000a001400 | |
| 1622 | + | 2c01c8000000000009008d010100500000000000000000000000000000000000 | |
| 1623 | + | 000000000000000013008d010001000001005000000000000000000000000000 | |
| 1624 | + | 00000000000000001c008d0101005000f3030000000000000000000000000000 | |
| 1625 | + | 000000000000000001088e0103000000ef030000000000000900000000000000 | |
| 1626 | + | 00000000000000006e6574207469746c6500000016008e010100500001005000 | |
| 1627 | + | 00000000000000000a0014002c01c8000000000009008e010100500000000000 | |
| 1628 | + | 000000000000000000000000000000000000000013008e010001000001005000 | |
| 1629 | + | 00000000000000000000000000000000000000001c008e0101005000f3030000 | |
| 1630 | + | 000000000000000000000000000000000000000001088f0103000000ef030000 | |
| 1631 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1632 | + | 16008f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1633 | + | 09008f0101005000000000000000000000000000000000000000000000000000 | |
| 1634 | + | 13008f0100010000010050000000000000000000000000000000000000000000 | |
| 1635 | + | 1c008f0101005000f30300000000000000000000000000000000000000000000 | |
| 1636 | + | 0108900103000000ef0300000000000009000000000000000000000000000000 | |
| 1637 | + | 6e6574207469746c650000001600900101005000010050000000000000000000 | |
| 1638 | + | 0a0014002c01c800000000000900900101005000000000000000000000000000 | |
| 1639 | + | 0000000000000000000000001300900100010000010050000000000000000000 | |
| 1640 | + | 0000000000000000000000001c00900101005000f30300000000000000000000 | |
| 1641 | + | 0000000000000000000000000108910103000000ef0300000000000009000000 | |
| 1642 | + | 0000000000000000000000006e6574207469746c650000001600910101005000 | |
| 1643 | + | 0100500000000000000000000a0014002c01c800000000000900910101005000 | |
| 1644 | + | 0000000000000000000000000000000000000000000000001300910100010000 | |
| 1645 | + | 0100500000000000000000000000000000000000000000001c00910101005000 | |
| 1646 | + | f303000000000000000000000000000000000000000000000108920103000000 | |
| 1647 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1648 | + | 6500000016009201010050000100500000000000000000000a0014002c01c800 | |
| 1649 | + | 0000000009009201010050000000000000000000000000000000000000000000 | |
| 1650 | + | 0000000013009201000100000100500000000000000000000000000000000000 | |
| 1651 | + | 000000001c00920101005000f303000000000000000000000000000000000000 | |
| 1652 | + | 000000000108930103000000ef03000000000000090000000000000000000000 | |
| 1653 | + | 000000006e6574207469746c6500000016009301010050000100500000000000 | |
| 1654 | + | 000000000a0014002c01c8000000000009009301010050000000000000000000 | |
| 1655 | + | 0000000000000000000000000000000013009301000100000100500000000000 | |
| 1656 | + | 000000000000000000000000000000001c00930101005000f303000000000000 | |
| 1657 | + | 000000000000000000000000000000000108940103000000ef03000000000000 | |
| 1658 | + | 090000000000000000000000000000006e6574207469746c6500000016009401 | |
| 1659 | + | 010050000100500000000000000000000a0014002c01c8000000000009009401 | |
| 1660 | + | 0100500000000000000000000000000000000000000000000000000013009401 | |
| 1661 | + | 000100000100500000000000000000000000000000000000000000001c009401 | |
| 1662 | + | 01005000f3030000000000000000000000000000000000000000000001089501 | |
| 1663 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1664 | + | 7469746c6500000016009501010050000100500000000000000000000a001400 | |
| 1665 | + | 2c01c80000000000090095010100500000000000000000000000000000000000 | |
| 1666 | + | 0000000000000000130095010001000001005000000000000000000000000000 | |
| 1667 | + | 00000000000000001c00950101005000f3030000000000000000000000000000 | |
| 1668 | + | 00000000000000000108960103000000ef030000000000000900000000000000 | |
| 1669 | + | 00000000000000006e6574207469746c65000000160096010100500001005000 | |
| 1670 | + | 00000000000000000a0014002c01c80000000000090096010100500000000000 | |
| 1671 | + | 0000000000000000000000000000000000000000130096010001000001005000 | |
| 1672 | + | 00000000000000000000000000000000000000001c00960101005000f3030000 | |
| 1673 | + | 00000000000000000000000000000000000000000108970103000000ef030000 | |
| 1674 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1675 | + | 16009701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1676 | + | 0900970101005000000000000000000000000000000000000000000000000000 | |
| 1677 | + | 1300970100010000010050000000000000000000000000000000000000000000 | |
| 1678 | + | 1c00970101005000f30300000000000000000000000000000000000000000000 | |
| 1679 | + | 0108980103000000ef0300000000000009000000000000000000000000000000 | |
| 1680 | + | 6e6574207469746c650000001600980101005000010050000000000000000000 | |
| 1681 | + | 0a0014002c01c800000000000900980101005000000000000000000000000000 | |
| 1682 | + | 0000000000000000000000001300980100010000010050000000000000000000 | |
| 1683 | + | 0000000000000000000000001c00980101005000f30300000000000000000000 | |
| 1684 | + | 0000000000000000000000000108990103000000ef0300000000000009000000 | |
| 1685 | + | 0000000000000000000000006e6574207469746c650000001600990101005000 | |
| 1686 | + | 0100500000000000000000000a0014002c01c800000000000900990101005000 | |
| 1687 | + | 0000000000000000000000000000000000000000000000001300990100010000 | |
| 1688 | + | 0100500000000000000000000000000000000000000000001c00990101005000 | |
| 1689 | + | f3030000000000000000000000000000000000000000000001089a0103000000 | |
| 1690 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1691 | + | 6500000016009a01010050000100500000000000000000000a0014002c01c800 | |
| 1692 | + | 0000000009009a01010050000000000000000000000000000000000000000000 | |
| 1693 | + | 0000000013009a01000100000100500000000000000000000000000000000000 | |
| 1694 | + | 000000001c009a0101005000f303000000000000000000000000000000000000 | |
| 1695 | + | 0000000001089b0103000000ef03000000000000090000000000000000000000 | |
| 1696 | + | 000000006e6574207469746c6500000016009b01010050000100500000000000 | |
| 1697 | + | 000000000a0014002c01c8000000000009009b01010050000000000000000000 | |
| 1698 | + | 0000000000000000000000000000000013009b01000100000100500000000000 | |
| 1699 | + | 000000000000000000000000000000001c009b0101005000f303000000000000 | |
| 1700 | + | 0000000000000000000000000000000001089c0103000000ef03000000000000 | |
| 1701 | + | 090000000000000000000000000000006e6574207469746c6500000016009c01 | |
| 1702 | + | 010050000100500000000000000000000a0014002c01c8000000000009009c01 | |
| 1703 | + | 0100500000000000000000000000000000000000000000000000000013009c01 | |
| 1704 | + | 000100000100500000000000000000000000000000000000000000001c009c01 | |
| 1705 | + | 01005000f3030000000000000000000000000000000000000000000001089d01 | |
| 1706 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1707 | + | 7469746c6500000016009d01010050000100500000000000000000000a001400 | |
| 1708 | + | 2c01c8000000000009009d010100500000000000000000000000000000000000 | |
| 1709 | + | 000000000000000013009d010001000001005000000000000000000000000000 | |
| 1710 | + | 00000000000000001c009d0101005000f3030000000000000000000000000000 | |
| 1711 | + | 000000000000000001089e0103000000ef030000000000000900000000000000 | |
| 1712 | + | 00000000000000006e6574207469746c6500000016009e010100500001005000 | |
| 1713 | + | 00000000000000000a0014002c01c8000000000009009e010100500000000000 | |
| 1714 | + | 000000000000000000000000000000000000000013009e010001000001005000 | |
| 1715 | + | 00000000000000000000000000000000000000001c009e0101005000f3030000 | |
| 1716 | + | 000000000000000000000000000000000000000001089f0103000000ef030000 | |
| 1717 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1718 | + | 16009f01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1719 | + | 09009f0101005000000000000000000000000000000000000000000000000000 | |
| 1720 | + | 13009f0100010000010050000000000000000000000000000000000000000000 | |
| 1721 | + | 1c009f0101005000f30300000000000000000000000000000000000000000000 | |
| 1722 | + | 0108a00103000000ef0300000000000009000000000000000000000000000000 | |
| 1723 | + | 6e6574207469746c650000001600a00101005000010050000000000000000000 | |
| 1724 | + | 0a0014002c01c800000000000900a00101005000000000000000000000000000 | |
| 1725 | + | 0000000000000000000000001300a00100010000010050000000000000000000 | |
| 1726 | + | 0000000000000000000000001c00a00101005000f30300000000000000000000 | |
| 1727 | + | 0000000000000000000000000108a10103000000ef0300000000000009000000 | |
| 1728 | + | 0000000000000000000000006e6574207469746c650000001600a10101005000 | |
| 1729 | + | 0100500000000000000000000a0014002c01c800000000000900a10101005000 | |
| 1730 | + | 0000000000000000000000000000000000000000000000001300a10100010000 | |
| 1731 | + | 0100500000000000000000000000000000000000000000001c00a10101005000 | |
| 1732 | + | f303000000000000000000000000000000000000000000000108a20103000000 | |
| 1733 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1734 | + | 650000001600a201010050000100500000000000000000000a0014002c01c800 | |
| 1735 | + | 000000000900a201010050000000000000000000000000000000000000000000 | |
| 1736 | + | 000000001300a201000100000100500000000000000000000000000000000000 | |
| 1737 | + | 000000001c00a20101005000f303000000000000000000000000000000000000 | |
| 1738 | + | 000000000108a30103000000ef03000000000000090000000000000000000000 | |
| 1739 | + | 000000006e6574207469746c650000001600a301010050000100500000000000 | |
| 1740 | + | 000000000a0014002c01c800000000000900a301010050000000000000000000 | |
| 1741 | + | 000000000000000000000000000000001300a301000100000100500000000000 | |
| 1742 | + | 000000000000000000000000000000001c00a30101005000f303000000000000 | |
| 1743 | + | 000000000000000000000000000000000108a40103000000ef03000000000000 | |
| 1744 | + | 090000000000000000000000000000006e6574207469746c650000001600a401 | |
| 1745 | + | 010050000100500000000000000000000a0014002c01c800000000000900a401 | |
| 1746 | + | 010050000000000000000000000000000000000000000000000000001300a401 | |
| 1747 | + | 000100000100500000000000000000000000000000000000000000001c00a401 | |
| 1748 | + | 01005000f303000000000000000000000000000000000000000000000108a501 | |
| 1749 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1750 | + | 7469746c650000001600a501010050000100500000000000000000000a001400 | |
| 1751 | + | 2c01c800000000000900a5010100500000000000000000000000000000000000 | |
| 1752 | + | 00000000000000001300a5010001000001005000000000000000000000000000 | |
| 1753 | + | 00000000000000001c00a50101005000f3030000000000000000000000000000 | |
| 1754 | + | 00000000000000000108a60103000000ef030000000000000900000000000000 | |
| 1755 | + | 00000000000000006e6574207469746c650000001600a6010100500001005000 | |
| 1756 | + | 00000000000000000a0014002c01c800000000000900a6010100500000000000 | |
| 1757 | + | 00000000000000000000000000000000000000001300a6010001000001005000 | |
| 1758 | + | 00000000000000000000000000000000000000001c00a60101005000f3030000 | |
| 1759 | + | 00000000000000000000000000000000000000000108a70103000000ef030000 | |
| 1760 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1761 | + | 1600a701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1762 | + | 0900a70101005000000000000000000000000000000000000000000000000000 | |
| 1763 | + | 1300a70100010000010050000000000000000000000000000000000000000000 | |
| 1764 | + | 1c00a70101005000f30300000000000000000000000000000000000000000000 | |
| 1765 | + | 0108a80103000000ef0300000000000009000000000000000000000000000000 | |
| 1766 | + | 6e6574207469746c650000001600a80101005000010050000000000000000000 | |
| 1767 | + | 0a0014002c01c800000000000900a80101005000000000000000000000000000 | |
| 1768 | + | 0000000000000000000000001300a80100010000010050000000000000000000 | |
| 1769 | + | 0000000000000000000000001c00a80101005000f30300000000000000000000 | |
| 1770 | + | 0000000000000000000000000108a90103000000ef0300000000000009000000 | |
| 1771 | + | 0000000000000000000000006e6574207469746c650000001600a90101005000 | |
| 1772 | + | 0100500000000000000000000a0014002c01c800000000000900a90101005000 | |
| 1773 | + | 0000000000000000000000000000000000000000000000001300a90100010000 | |
| 1774 | + | 0100500000000000000000000000000000000000000000001c00a90101005000 | |
| 1775 | + | f303000000000000000000000000000000000000000000000108aa0103000000 | |
| 1776 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1777 | + | 650000001600aa01010050000100500000000000000000000a0014002c01c800 | |
| 1778 | + | 000000000900aa01010050000000000000000000000000000000000000000000 | |
| 1779 | + | 000000001300aa01000100000100500000000000000000000000000000000000 | |
| 1780 | + | 000000001c00aa0101005000f303000000000000000000000000000000000000 | |
| 1781 | + | 000000000108ab0103000000ef03000000000000090000000000000000000000 | |
| 1782 | + | 000000006e6574207469746c650000001600ab01010050000100500000000000 | |
| 1783 | + | 000000000a0014002c01c800000000000900ab01010050000000000000000000 | |
| 1784 | + | 000000000000000000000000000000001300ab01000100000100500000000000 | |
| 1785 | + | 000000000000000000000000000000001c00ab0101005000f303000000000000 | |
| 1786 | + | 000000000000000000000000000000000108ac0103000000ef03000000000000 | |
| 1787 | + | 090000000000000000000000000000006e6574207469746c650000001600ac01 | |
| 1788 | + | 010050000100500000000000000000000a0014002c01c800000000000900ac01 | |
| 1789 | + | 010050000000000000000000000000000000000000000000000000001300ac01 | |
| 1790 | + | 000100000100500000000000000000000000000000000000000000001c00ac01 | |
| 1791 | + | 01005000f303000000000000000000000000000000000000000000000108ad01 | |
| 1792 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1793 | + | 7469746c650000001600ad01010050000100500000000000000000000a001400 | |
| 1794 | + | 2c01c800000000000900ad010100500000000000000000000000000000000000 | |
| 1795 | + | 00000000000000001300ad010001000001005000000000000000000000000000 | |
| 1796 | + | 00000000000000001c00ad0101005000f3030000000000000000000000000000 | |
| 1797 | + | 00000000000000000108ae0103000000ef030000000000000900000000000000 | |
| 1798 | + | 00000000000000006e6574207469746c650000001600ae010100500001005000 | |
| 1799 | + | 00000000000000000a0014002c01c800000000000900ae010100500000000000 | |
| 1800 | + | 00000000000000000000000000000000000000001300ae010001000001005000 | |
| 1801 | + | 00000000000000000000000000000000000000001c00ae0101005000f3030000 | |
| 1802 | + | 00000000000000000000000000000000000000000108af0103000000ef030000 | |
| 1803 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1804 | + | 1600af01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1805 | + | 0900af0101005000000000000000000000000000000000000000000000000000 | |
| 1806 | + | 1300af0100010000010050000000000000000000000000000000000000000000 | |
| 1807 | + | 1c00af0101005000f30300000000000000000000000000000000000000000000 | |
| 1808 | + | 0108b00103000000ef0300000000000009000000000000000000000000000000 | |
| 1809 | + | 6e6574207469746c650000001600b00101005000010050000000000000000000 | |
| 1810 | + | 0a0014002c01c800000000000900b00101005000000000000000000000000000 | |
| 1811 | + | 0000000000000000000000001300b00100010000010050000000000000000000 | |
| 1812 | + | 0000000000000000000000001c00b00101005000f30300000000000000000000 | |
| 1813 | + | 0000000000000000000000000108b10103000000ef0300000000000009000000 | |
| 1814 | + | 0000000000000000000000006e6574207469746c650000001600b10101005000 | |
| 1815 | + | 0100500000000000000000000a0014002c01c800000000000900b10101005000 | |
| 1816 | + | 0000000000000000000000000000000000000000000000001300b10100010000 | |
| 1817 | + | 0100500000000000000000000000000000000000000000001c00b10101005000 | |
| 1818 | + | f303000000000000000000000000000000000000000000000108b20103000000 | |
| 1819 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1820 | + | 650000001600b201010050000100500000000000000000000a0014002c01c800 | |
| 1821 | + | 000000000900b201010050000000000000000000000000000000000000000000 | |
| 1822 | + | 000000001300b201000100000100500000000000000000000000000000000000 | |
| 1823 | + | 000000001c00b20101005000f303000000000000000000000000000000000000 | |
| 1824 | + | 000000000108b30103000000ef03000000000000090000000000000000000000 | |
| 1825 | + | 000000006e6574207469746c650000001600b301010050000100500000000000 | |
| 1826 | + | 000000000a0014002c01c800000000000900b301010050000000000000000000 | |
| 1827 | + | 000000000000000000000000000000001300b301000100000100500000000000 | |
| 1828 | + | 000000000000000000000000000000001c00b30101005000f303000000000000 | |
| 1829 | + | 000000000000000000000000000000000108b40103000000ef03000000000000 | |
| 1830 | + | 090000000000000000000000000000006e6574207469746c650000001600b401 | |
| 1831 | + | 010050000100500000000000000000000a0014002c01c800000000000900b401 | |
| 1832 | + | 010050000000000000000000000000000000000000000000000000001300b401 | |
| 1833 | + | 000100000100500000000000000000000000000000000000000000001c00b401 | |
| 1834 | + | 01005000f303000000000000000000000000000000000000000000000108b501 | |
| 1835 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1836 | + | 7469746c650000001600b501010050000100500000000000000000000a001400 | |
| 1837 | + | 2c01c800000000000900b5010100500000000000000000000000000000000000 | |
| 1838 | + | 00000000000000001300b5010001000001005000000000000000000000000000 | |
| 1839 | + | 00000000000000001c00b50101005000f3030000000000000000000000000000 | |
| 1840 | + | 00000000000000000108b60103000000ef030000000000000900000000000000 | |
| 1841 | + | 00000000000000006e6574207469746c650000001600b6010100500001005000 | |
| 1842 | + | 00000000000000000a0014002c01c800000000000900b6010100500000000000 | |
| 1843 | + | 00000000000000000000000000000000000000001300b6010001000001005000 | |
| 1844 | + | 00000000000000000000000000000000000000001c00b60101005000f3030000 | |
| 1845 | + | 00000000000000000000000000000000000000000108b70103000000ef030000 | |
| 1846 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1847 | + | 1600b701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1848 | + | 0900b70101005000000000000000000000000000000000000000000000000000 | |
| 1849 | + | 1300b70100010000010050000000000000000000000000000000000000000000 | |
| 1850 | + | 1c00b70101005000f30300000000000000000000000000000000000000000000 | |
| 1851 | + | 0108b80103000000ef0300000000000009000000000000000000000000000000 | |
| 1852 | + | 6e6574207469746c650000001600b80101005000010050000000000000000000 | |
| 1853 | + | 0a0014002c01c800000000000900b80101005000000000000000000000000000 | |
| 1854 | + | 0000000000000000000000001300b80100010000010050000000000000000000 | |
| 1855 | + | 0000000000000000000000001c00b80101005000f30300000000000000000000 | |
| 1856 | + | 0000000000000000000000000108b90103000000ef0300000000000009000000 | |
| 1857 | + | 0000000000000000000000006e6574207469746c650000001600b90101005000 | |
| 1858 | + | 0100500000000000000000000a0014002c01c800000000000900b90101005000 | |
| 1859 | + | 0000000000000000000000000000000000000000000000001300b90100010000 | |
| 1860 | + | 0100500000000000000000000000000000000000000000001c00b90101005000 | |
| 1861 | + | f303000000000000000000000000000000000000000000000108ba0103000000 | |
| 1862 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1863 | + | 650000001600ba01010050000100500000000000000000000a0014002c01c800 | |
| 1864 | + | 000000000900ba01010050000000000000000000000000000000000000000000 | |
| 1865 | + | 000000001300ba01000100000100500000000000000000000000000000000000 | |
| 1866 | + | 000000001c00ba0101005000f303000000000000000000000000000000000000 | |
| 1867 | + | 000000000108bb0103000000ef03000000000000090000000000000000000000 | |
| 1868 | + | 000000006e6574207469746c650000001600bb01010050000100500000000000 | |
| 1869 | + | 000000000a0014002c01c800000000000900bb01010050000000000000000000 | |
| 1870 | + | 000000000000000000000000000000001300bb01000100000100500000000000 | |
| 1871 | + | 000000000000000000000000000000001c00bb0101005000f303000000000000 | |
| 1872 | + | 000000000000000000000000000000000108bc0103000000ef03000000000000 | |
| 1873 | + | 090000000000000000000000000000006e6574207469746c650000001600bc01 | |
| 1874 | + | 010050000100500000000000000000000a0014002c01c800000000000900bc01 | |
| 1875 | + | 010050000000000000000000000000000000000000000000000000001300bc01 | |
| 1876 | + | 000100000100500000000000000000000000000000000000000000001c00bc01 | |
| 1877 | + | 01005000f303000000000000000000000000000000000000000000000108bd01 | |
| 1878 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1879 | + | 7469746c650000001600bd01010050000100500000000000000000000a001400 | |
| 1880 | + | 2c01c800000000000900bd010100500000000000000000000000000000000000 | |
| 1881 | + | 00000000000000001300bd010001000001005000000000000000000000000000 | |
| 1882 | + | 00000000000000001c00bd0101005000f3030000000000000000000000000000 | |
| 1883 | + | 00000000000000000108be0103000000ef030000000000000900000000000000 | |
| 1884 | + | 00000000000000006e6574207469746c650000001600be010100500001005000 | |
| 1885 | + | 00000000000000000a0014002c01c800000000000900be010100500000000000 | |
| 1886 | + | 00000000000000000000000000000000000000001300be010001000001005000 | |
| 1887 | + | 00000000000000000000000000000000000000001c00be0101005000f3030000 | |
| 1888 | + | 00000000000000000000000000000000000000000108bf0103000000ef030000 | |
| 1889 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1890 | + | 1600bf01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1891 | + | 0900bf0101005000000000000000000000000000000000000000000000000000 | |
| 1892 | + | 1300bf0100010000010050000000000000000000000000000000000000000000 | |
| 1893 | + | 1c00bf0101005000f30300000000000000000000000000000000000000000000 | |
| 1894 | + | 0108c00103000000ef0300000000000009000000000000000000000000000000 | |
| 1895 | + | 6e6574207469746c650000001600c00101005000010050000000000000000000 | |
| 1896 | + | 0a0014002c01c800000000000900c00101005000000000000000000000000000 | |
| 1897 | + | 0000000000000000000000001300c00100010000010050000000000000000000 | |
| 1898 | + | 0000000000000000000000001c00c00101005000f30300000000000000000000 | |
| 1899 | + | 0000000000000000000000000108c10103000000ef0300000000000009000000 | |
| 1900 | + | 0000000000000000000000006e6574207469746c650000001600c10101005000 | |
| 1901 | + | 0100500000000000000000000a0014002c01c800000000000900c10101005000 | |
| 1902 | + | 0000000000000000000000000000000000000000000000001300c10100010000 | |
| 1903 | + | 0100500000000000000000000000000000000000000000001c00c10101005000 | |
| 1904 | + | f303000000000000000000000000000000000000000000000108c20103000000 | |
| 1905 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1906 | + | 650000001600c201010050000100500000000000000000000a0014002c01c800 | |
| 1907 | + | 000000000900c201010050000000000000000000000000000000000000000000 | |
| 1908 | + | 000000001300c201000100000100500000000000000000000000000000000000 | |
| 1909 | + | 000000001c00c20101005000f303000000000000000000000000000000000000 | |
| 1910 | + | 000000000108c30103000000ef03000000000000090000000000000000000000 | |
| 1911 | + | 000000006e6574207469746c650000001600c301010050000100500000000000 | |
| 1912 | + | 000000000a0014002c01c800000000000900c301010050000000000000000000 | |
| 1913 | + | 000000000000000000000000000000001300c301000100000100500000000000 | |
| 1914 | + | 000000000000000000000000000000001c00c30101005000f303000000000000 | |
| 1915 | + | 000000000000000000000000000000000108c40103000000ef03000000000000 | |
| 1916 | + | 090000000000000000000000000000006e6574207469746c650000001600c401 | |
| 1917 | + | 010050000100500000000000000000000a0014002c01c800000000000900c401 | |
| 1918 | + | 010050000000000000000000000000000000000000000000000000001300c401 | |
| 1919 | + | 000100000100500000000000000000000000000000000000000000001c00c401 | |
| 1920 | + | 01005000f303000000000000000000000000000000000000000000000108c501 | |
| 1921 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1922 | + | 7469746c650000001600c501010050000100500000000000000000000a001400 | |
| 1923 | + | 2c01c800000000000900c5010100500000000000000000000000000000000000 | |
| 1924 | + | 00000000000000001300c5010001000001005000000000000000000000000000 | |
| 1925 | + | 00000000000000001c00c50101005000f3030000000000000000000000000000 | |
| 1926 | + | 00000000000000000108c60103000000ef030000000000000900000000000000 | |
| 1927 | + | 00000000000000006e6574207469746c650000001600c6010100500001005000 | |
| 1928 | + | 00000000000000000a0014002c01c800000000000900c6010100500000000000 | |
| 1929 | + | 00000000000000000000000000000000000000001300c6010001000001005000 | |
| 1930 | + | 00000000000000000000000000000000000000001c00c60101005000f3030000 | |
| 1931 | + | 00000000000000000000000000000000000000000108c70103000000ef030000 | |
| 1932 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1933 | + | 1600c701010050000100500000000000000000000a0014002c01c80000000000 | |
| 1934 | + | 0900c70101005000000000000000000000000000000000000000000000000000 | |
| 1935 | + | 1300c70100010000010050000000000000000000000000000000000000000000 | |
| 1936 | + | 1c00c70101005000f30300000000000000000000000000000000000000000000 | |
| 1937 | + | 0108c80103000000ef0300000000000009000000000000000000000000000000 | |
| 1938 | + | 6e6574207469746c650000001600c80101005000010050000000000000000000 | |
| 1939 | + | 0a0014002c01c800000000000900c80101005000000000000000000000000000 | |
| 1940 | + | 0000000000000000000000001300c80100010000010050000000000000000000 | |
| 1941 | + | 0000000000000000000000001c00c80101005000f30300000000000000000000 | |
| 1942 | + | 0000000000000000000000000108c90103000000ef0300000000000009000000 | |
| 1943 | + | 0000000000000000000000006e6574207469746c650000001600c90101005000 | |
| 1944 | + | 0100500000000000000000000a0014002c01c800000000000900c90101005000 | |
| 1945 | + | 0000000000000000000000000000000000000000000000001300c90100010000 | |
| 1946 | + | 0100500000000000000000000000000000000000000000001c00c90101005000 | |
| 1947 | + | f303000000000000000000000000000000000000000000000108ca0103000000 | |
| 1948 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1949 | + | 650000001600ca01010050000100500000000000000000000a0014002c01c800 | |
| 1950 | + | 000000000900ca01010050000000000000000000000000000000000000000000 | |
| 1951 | + | 000000001300ca01000100000100500000000000000000000000000000000000 | |
| 1952 | + | 000000001c00ca0101005000f303000000000000000000000000000000000000 | |
| 1953 | + | 000000000108cb0103000000ef03000000000000090000000000000000000000 | |
| 1954 | + | 000000006e6574207469746c650000001600cb01010050000100500000000000 | |
| 1955 | + | 000000000a0014002c01c800000000000900cb01010050000000000000000000 | |
| 1956 | + | 000000000000000000000000000000001300cb01000100000100500000000000 | |
| 1957 | + | 000000000000000000000000000000001c00cb0101005000f303000000000000 | |
| 1958 | + | 000000000000000000000000000000000108cc0103000000ef03000000000000 | |
| 1959 | + | 090000000000000000000000000000006e6574207469746c650000001600cc01 | |
| 1960 | + | 010050000100500000000000000000000a0014002c01c800000000000900cc01 | |
| 1961 | + | 010050000000000000000000000000000000000000000000000000001300cc01 | |
| 1962 | + | 000100000100500000000000000000000000000000000000000000001c00cc01 | |
| 1963 | + | 01005000f303000000000000000000000000000000000000000000000108cd01 | |
| 1964 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 1965 | + | 7469746c650000001600cd01010050000100500000000000000000000a001400 | |
| 1966 | + | 2c01c800000000000900cd010100500000000000000000000000000000000000 | |
| 1967 | + | 00000000000000001300cd010001000001005000000000000000000000000000 | |
| 1968 | + | 00000000000000001c00cd0101005000f3030000000000000000000000000000 | |
| 1969 | + | 00000000000000000108ce0103000000ef030000000000000900000000000000 | |
| 1970 | + | 00000000000000006e6574207469746c650000001600ce010100500001005000 | |
| 1971 | + | 00000000000000000a0014002c01c800000000000900ce010100500000000000 | |
| 1972 | + | 00000000000000000000000000000000000000001300ce010001000001005000 | |
| 1973 | + | 00000000000000000000000000000000000000001c00ce0101005000f3030000 | |
| 1974 | + | 00000000000000000000000000000000000000000108cf0103000000ef030000 | |
| 1975 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 1976 | + | 1600cf01010050000100500000000000000000000a0014002c01c80000000000 | |
| 1977 | + | 0900cf0101005000000000000000000000000000000000000000000000000000 | |
| 1978 | + | 1300cf0100010000010050000000000000000000000000000000000000000000 | |
| 1979 | + | 1c00cf0101005000f30300000000000000000000000000000000000000000000 | |
| 1980 | + | 0108d00103000000ef0300000000000009000000000000000000000000000000 | |
| 1981 | + | 6e6574207469746c650000001600d00101005000010050000000000000000000 | |
| 1982 | + | 0a0014002c01c800000000000900d00101005000000000000000000000000000 | |
| 1983 | + | 0000000000000000000000001300d00100010000010050000000000000000000 | |
| 1984 | + | 0000000000000000000000001c00d00101005000f30300000000000000000000 | |
| 1985 | + | 0000000000000000000000000108d10103000000ef0300000000000009000000 | |
| 1986 | + | 0000000000000000000000006e6574207469746c650000001600d10101005000 | |
| 1987 | + | 0100500000000000000000000a0014002c01c800000000000900d10101005000 | |
| 1988 | + | 0000000000000000000000000000000000000000000000001300d10100010000 | |
| 1989 | + | 0100500000000000000000000000000000000000000000001c00d10101005000 | |
| 1990 | + | f303000000000000000000000000000000000000000000000108d20103000000 | |
| 1991 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 1992 | + | 650000001600d201010050000100500000000000000000000a0014002c01c800 | |
| 1993 | + | 000000000900d201010050000000000000000000000000000000000000000000 | |
| 1994 | + | 000000001300d201000100000100500000000000000000000000000000000000 | |
| 1995 | + | 000000001c00d20101005000f303000000000000000000000000000000000000 | |
| 1996 | + | 000000000108d30103000000ef03000000000000090000000000000000000000 | |
| 1997 | + | 000000006e6574207469746c650000001600d301010050000100500000000000 | |
| 1998 | + | 000000000a0014002c01c800000000000900d301010050000000000000000000 | |
| 1999 | + | 000000000000000000000000000000001300d301000100000100500000000000 | |
| 2000 | + | 000000000000000000000000000000001c00d30101005000f303000000000000 | |
| 2001 | + | 000000000000000000000000000000000108d40103000000ef03000000000000 | |
| 2002 | + | 090000000000000000000000000000006e6574207469746c650000001600d401 | |
| 2003 | + | 010050000100500000000000000000000a0014002c01c800000000000900d401 | |
| 2004 | + | 010050000000000000000000000000000000000000000000000000001300d401 | |
| 2005 | + | 000100000100500000000000000000000000000000000000000000001c00d401 | |
| 2006 | + | 01005000f303000000000000000000000000000000000000000000000108d501 | |
| 2007 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 2008 | + | 7469746c650000001600d501010050000100500000000000000000000a001400 | |
| 2009 | + | 2c01c800000000000900d5010100500000000000000000000000000000000000 | |
| 2010 | + | 00000000000000001300d5010001000001005000000000000000000000000000 | |
| 2011 | + | 00000000000000001c00d50101005000f3030000000000000000000000000000 | |
| 2012 | + | 00000000000000000108d60103000000ef030000000000000900000000000000 | |
| 2013 | + | 00000000000000006e6574207469746c650000001600d6010100500001005000 | |
| 2014 | + | 00000000000000000a0014002c01c800000000000900d6010100500000000000 | |
| 2015 | + | 00000000000000000000000000000000000000001300d6010001000001005000 | |
| 2016 | + | 00000000000000000000000000000000000000001c00d60101005000f3030000 | |
| 2017 | + | 00000000000000000000000000000000000000000108d70103000000ef030000 | |
| 2018 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 2019 | + | 1600d701010050000100500000000000000000000a0014002c01c80000000000 | |
| 2020 | + | 0900d70101005000000000000000000000000000000000000000000000000000 | |
| 2021 | + | 1300d70100010000010050000000000000000000000000000000000000000000 | |
| 2022 | + | 1c00d70101005000f30300000000000000000000000000000000000000000000 | |
| 2023 | + | 0108d80103000000ef0300000000000009000000000000000000000000000000 | |
| 2024 | + | 6e6574207469746c650000001600d80101005000010050000000000000000000 | |
| 2025 | + | 0a0014002c01c800000000000900d80101005000000000000000000000000000 | |
| 2026 | + | 0000000000000000000000001300d80100010000010050000000000000000000 | |
| 2027 | + | 0000000000000000000000001c00d80101005000f30300000000000000000000 | |
| 2028 | + | 0000000000000000000000000108d90103000000ef0300000000000009000000 | |
| 2029 | + | 0000000000000000000000006e6574207469746c650000001600d90101005000 | |
| 2030 | + | 0100500000000000000000000a0014002c01c800000000000900d90101005000 | |
| 2031 | + | 0000000000000000000000000000000000000000000000001300d90100010000 | |
| 2032 | + | 0100500000000000000000000000000000000000000000001c00d90101005000 | |
| 2033 | + | f303000000000000000000000000000000000000000000000108da0103000000 | |
| 2034 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 2035 | + | 650000001600da01010050000100500000000000000000000a0014002c01c800 | |
| 2036 | + | 000000000900da01010050000000000000000000000000000000000000000000 | |
| 2037 | + | 000000001300da01000100000100500000000000000000000000000000000000 | |
| 2038 | + | 000000001c00da0101005000f303000000000000000000000000000000000000 | |
| 2039 | + | 000000000108db0103000000ef03000000000000090000000000000000000000 | |
| 2040 | + | 000000006e6574207469746c650000001600db01010050000100500000000000 | |
| 2041 | + | 000000000a0014002c01c800000000000900db01010050000000000000000000 | |
| 2042 | + | 000000000000000000000000000000001300db01000100000100500000000000 | |
| 2043 | + | 000000000000000000000000000000001c00db0101005000f303000000000000 | |
| 2044 | + | 000000000000000000000000000000000108dc0103000000ef03000000000000 | |
| 2045 | + | 090000000000000000000000000000006e6574207469746c650000001600dc01 | |
| 2046 | + | 010050000100500000000000000000000a0014002c01c800000000000900dc01 | |
| 2047 | + | 010050000000000000000000000000000000000000000000000000001300dc01 | |
| 2048 | + | 000100000100500000000000000000000000000000000000000000001c00dc01 | |
| 2049 | + | 01005000f303000000000000000000000000000000000000000000000108dd01 | |
| 2050 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 2051 | + | 7469746c650000001600dd01010050000100500000000000000000000a001400 | |
| 2052 | + | 2c01c800000000000900dd010100500000000000000000000000000000000000 | |
| 2053 | + | 00000000000000001300dd010001000001005000000000000000000000000000 | |
| 2054 | + | 00000000000000001c00dd0101005000f3030000000000000000000000000000 | |
| 2055 | + | 00000000000000000108de0103000000ef030000000000000900000000000000 | |
| 2056 | + | 00000000000000006e6574207469746c650000001600de010100500001005000 | |
| 2057 | + | 00000000000000000a0014002c01c800000000000900de010100500000000000 | |
| 2058 | + | 00000000000000000000000000000000000000001300de010001000001005000 | |
| 2059 | + | 00000000000000000000000000000000000000001c00de0101005000f3030000 | |
| 2060 | + | 00000000000000000000000000000000000000000108df0103000000ef030000 | |
| 2061 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 2062 | + | 1600df01010050000100500000000000000000000a0014002c01c80000000000 | |
| 2063 | + | 0900df0101005000000000000000000000000000000000000000000000000000 | |
| 2064 | + | 1300df0100010000010050000000000000000000000000000000000000000000 | |
| 2065 | + | 1c00df0101005000f30300000000000000000000000000000000000000000000 | |
| 2066 | + | 0108e00103000000ef0300000000000009000000000000000000000000000000 | |
| 2067 | + | 6e6574207469746c650000001600e00101005000010050000000000000000000 | |
| 2068 | + | 0a0014002c01c800000000000900e00101005000000000000000000000000000 | |
| 2069 | + | 0000000000000000000000001300e00100010000010050000000000000000000 | |
| 2070 | + | 0000000000000000000000001c00e00101005000f30300000000000000000000 | |
| 2071 | + | 0000000000000000000000000108e10103000000ef0300000000000009000000 | |
| 2072 | + | 0000000000000000000000006e6574207469746c650000001600e10101005000 | |
| 2073 | + | 0100500000000000000000000a0014002c01c800000000000900e10101005000 | |
| 2074 | + | 0000000000000000000000000000000000000000000000001300e10100010000 | |
| 2075 | + | 0100500000000000000000000000000000000000000000001c00e10101005000 | |
| 2076 | + | f303000000000000000000000000000000000000000000000108e20103000000 | |
| 2077 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 2078 | + | 650000001600e201010050000100500000000000000000000a0014002c01c800 | |
| 2079 | + | 000000000900e201010050000000000000000000000000000000000000000000 | |
| 2080 | + | 000000001300e201000100000100500000000000000000000000000000000000 | |
| 2081 | + | 000000001c00e20101005000f303000000000000000000000000000000000000 | |
| 2082 | + | 000000000108e30103000000ef03000000000000090000000000000000000000 | |
| 2083 | + | 000000006e6574207469746c650000001600e301010050000100500000000000 | |
| 2084 | + | 000000000a0014002c01c800000000000900e301010050000000000000000000 | |
| 2085 | + | 000000000000000000000000000000001300e301000100000100500000000000 | |
| 2086 | + | 000000000000000000000000000000001c00e30101005000f303000000000000 | |
| 2087 | + | 000000000000000000000000000000000108e40103000000ef03000000000000 | |
| 2088 | + | 090000000000000000000000000000006e6574207469746c650000001600e401 | |
| 2089 | + | 010050000100500000000000000000000a0014002c01c800000000000900e401 | |
| 2090 | + | 010050000000000000000000000000000000000000000000000000001300e401 | |
| 2091 | + | 000100000100500000000000000000000000000000000000000000001c00e401 | |
| 2092 | + | 01005000f303000000000000000000000000000000000000000000000108e501 | |
| 2093 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 2094 | + | 7469746c650000001600e501010050000100500000000000000000000a001400 | |
| 2095 | + | 2c01c800000000000900e5010100500000000000000000000000000000000000 | |
| 2096 | + | 00000000000000001300e5010001000001005000000000000000000000000000 | |
| 2097 | + | 00000000000000001c00e50101005000f3030000000000000000000000000000 | |
| 2098 | + | 00000000000000000108e60103000000ef030000000000000900000000000000 | |
| 2099 | + | 00000000000000006e6574207469746c650000001600e6010100500001005000 | |
| 2100 | + | 00000000000000000a0014002c01c800000000000900e6010100500000000000 | |
| 2101 | + | 00000000000000000000000000000000000000001300e6010001000001005000 | |
| 2102 | + | 00000000000000000000000000000000000000001c00e60101005000f3030000 | |
| 2103 | + | 00000000000000000000000000000000000000000108e70103000000ef030000 | |
| 2104 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 2105 | + | 1600e701010050000100500000000000000000000a0014002c01c80000000000 | |
| 2106 | + | 0900e70101005000000000000000000000000000000000000000000000000000 | |
| 2107 | + | 1300e70100010000010050000000000000000000000000000000000000000000 | |
| 2108 | + | 1c00e70101005000f30300000000000000000000000000000000000000000000 | |
| 2109 | + | 0108e80103000000ef0300000000000009000000000000000000000000000000 | |
| 2110 | + | 6e6574207469746c650000001600e80101005000010050000000000000000000 | |
| 2111 | + | 0a0014002c01c800000000000900e80101005000000000000000000000000000 | |
| 2112 | + | 0000000000000000000000001300e80100010000010050000000000000000000 | |
| 2113 | + | 0000000000000000000000001c00e80101005000f30300000000000000000000 | |
| 2114 | + | 0000000000000000000000000108e90103000000ef0300000000000009000000 | |
| 2115 | + | 0000000000000000000000006e6574207469746c650000001600e90101005000 | |
| 2116 | + | 0100500000000000000000000a0014002c01c800000000000900e90101005000 | |
| 2117 | + | 0000000000000000000000000000000000000000000000001300e90100010000 | |
| 2118 | + | 0100500000000000000000000000000000000000000000001c00e90101005000 | |
| 2119 | + | f303000000000000000000000000000000000000000000000108ea0103000000 | |
| 2120 | + | ef03000000000000090000000000000000000000000000006e6574207469746c | |
| 2121 | + | 650000001600ea01010050000100500000000000000000000a0014002c01c800 | |
| 2122 | + | 000000000900ea01010050000000000000000000000000000000000000000000 | |
| 2123 | + | 000000001300ea01000100000100500000000000000000000000000000000000 | |
| 2124 | + | 000000001c00ea0101005000f303000000000000000000000000000000000000 | |
| 2125 | + | 000000000108eb0103000000ef03000000000000090000000000000000000000 | |
| 2126 | + | 000000006e6574207469746c650000001600eb01010050000100500000000000 | |
| 2127 | + | 000000000a0014002c01c800000000000900eb01010050000000000000000000 | |
| 2128 | + | 000000000000000000000000000000001300eb01000100000100500000000000 | |
| 2129 | + | 000000000000000000000000000000001c00eb0101005000f303000000000000 | |
| 2130 | + | 000000000000000000000000000000000108ec0103000000ef03000000000000 | |
| 2131 | + | 090000000000000000000000000000006e6574207469746c650000001600ec01 | |
| 2132 | + | 010050000100500000000000000000000a0014002c01c800000000000900ec01 | |
| 2133 | + | 010050000000000000000000000000000000000000000000000000001300ec01 | |
| 2134 | + | 000100000100500000000000000000000000000000000000000000001c00ec01 | |
| 2135 | + | 01005000f303000000000000000000000000000000000000000000000108ed01 | |
| 2136 | + | 03000000ef03000000000000090000000000000000000000000000006e657420 | |
| 2137 | + | 7469746c650000001600ed01010050000100500000000000000000000a001400 | |
| 2138 | + | 2c01c800000000000900ed010100500000000000000000000000000000000000 | |
| 2139 | + | 00000000000000001300ed010001000001005000000000000000000000000000 | |
| 2140 | + | 00000000000000001c00ed0101005000f3030000000000000000000000000000 | |
| 2141 | + | 00000000000000000108ee0103000000ef030000000000000900000000000000 | |
| 2142 | + | 00000000000000006e6574207469746c650000001600ee010100500001005000 | |
| 2143 | + | 00000000000000000a0014002c01c800000000000900ee010100500000000000 | |
| 2144 | + | 00000000000000000000000000000000000000001300ee010001000001005000 | |
| 2145 | + | 00000000000000000000000000000000000000001c00ee0101005000f3030000 | |
| 2146 | + | 00000000000000000000000000000000000000000108ef0103000000ef030000 | |
| 2147 | + | 00000000090000000000000000000000000000006e6574207469746c65000000 | |
| 2148 | + | 1600ef01010050000100500000000000000000000a0014002c01c80000000000 | |
| 2149 | + | 0900ef0101005000000000000000000000000000000000000000000000000000 | |
| 2150 | + | 1300ef0100010000010050000000000000000000000000000000000000000000 | |
M internal/adapters/wayland/xwm/xpeer_test.go +135 -3
| @@ -18,6 +18,7 @@ const ( | |||
| 18 | 18 | opChangeWindowAttributes = 2 | |
| 19 | 19 | opGetWindowAttributes = 3 | |
| 20 | 20 | opMapWindow = 8 | |
| 21 | + | opDeleteProperty = 19 | |
| 21 | 22 | opConfigureWindow = 12 | |
| 22 | 23 | opGetGeometry = 14 | |
| 23 | 24 | opQueryTree = 15 | |
| @@ -80,7 +81,13 @@ type xpeer struct { | |||
| 80 | 81 | geoms map[uint32]xpeerGeom | |
| 81 | 82 | attrs map[uint32][2]byte // window -> {overrideRedirect, mapState} | |
| 82 | 83 | children []uint32 | |
| 83 | - | denyRoot bool // answer the root event-mask request with BadAccess | |
| 84 | + | denyRoot bool // answer the root event-mask request with BadAccess | |
| 85 | + | pids map[uint32]uint32 // XRes QueryClientIds answers, by window | |
| 86 | + | bad map[uint32]bool // windows whose GetProperty/GetGeometry fail with BadWindow | |
| 87 | + | hold bool // keep replies until release | |
| 88 | + | held [][]byte | |
| 89 | + | tap []byte // everything written to the client, when recording | |
| 90 | + | record bool | |
| 84 | 91 | ||
| 85 | 92 | gate atomic.Pointer[chan struct{}] // closed = reading allowed | |
| 86 | 93 | done chan struct{} | |
| @@ -108,12 +115,14 @@ func startXPeer(t *testing.T, exts map[string]xpeerExt) (int, *xpeer) { | |||
| 108 | 115 | t: t, f: os.NewFile(uintptr(fds[1]), "xpeer"), | |
| 109 | 116 | exts: exts, atoms: map[string]uint32{}, nextAtom: 1000, | |
| 110 | 117 | props: map[uint32]map[uint32]xpeerProp{}, geoms: map[uint32]xpeerGeom{}, attrs: map[uint32][2]byte{}, | |
| 118 | + | pids: map[uint32]uint32{}, bad: map[uint32]bool{}, | |
| 111 | 119 | done: make(chan struct{}), | |
| 112 | 120 | } | |
| 113 | 121 | open := make(chan struct{}) | |
| 114 | 122 | close(open) | |
| 115 | 123 | p.gate.Store(&open) | |
| 116 | 124 | t.Cleanup(func() { | |
| 125 | + | p.resume() // a paused peer would never see the close | |
| 117 | 126 | p.f.Close() | |
| 118 | 127 | <-p.done | |
| 119 | 128 | }) | |
| @@ -179,7 +188,12 @@ func (p *xpeer) serve() { | |||
| 179 | 188 | } | |
| 180 | 189 | ||
| 181 | 190 | // write sends bytes to the client. The caller holds p.mu. | |
| 182 | - | func (p *xpeer) write(b []byte) { _, _ = p.f.Write(b) } | |
| 191 | + | func (p *xpeer) write(b []byte) { | |
| 192 | + | if p.record { | |
| 193 | + | p.tap = append(p.tap, b...) | |
| 194 | + | } | |
| 195 | + | _, _ = p.f.Write(b) | |
| 196 | + | } | |
| 183 | 197 | ||
| 184 | 198 | func (p *xpeer) reply(data uint8, body []byte) { | |
| 185 | 199 | words := (max(len(body), 24) - 24 + 3) / 4 | |
| @@ -188,9 +202,31 @@ func (p *xpeer) reply(data uint8, body []byte) { | |||
| 188 | 202 | binary.LittleEndian.PutUint16(b[2:], p.seq) | |
| 189 | 203 | binary.LittleEndian.PutUint32(b[4:], uint32(words)) | |
| 190 | 204 | copy(b[8:], body) | |
| 205 | + | if p.hold { | |
| 206 | + | p.held = append(p.held, b) | |
| 207 | + | return | |
| 208 | + | } | |
| 191 | 209 | p.write(b) | |
| 192 | 210 | } | |
| 193 | 211 | ||
| 212 | + | // release sends the held replies, in request order as a real server does. | |
| 213 | + | func (p *xpeer) release() { | |
| 214 | + | p.mu.Lock() | |
| 215 | + | defer p.mu.Unlock() | |
| 216 | + | p.hold = false | |
| 217 | + | for _, b := range p.held { | |
| 218 | + | p.write(b) | |
| 219 | + | } | |
| 220 | + | p.held = nil | |
| 221 | + | } | |
| 222 | + | ||
| 223 | + | // holdReplies keeps the replies of the following requests back. | |
| 224 | + | func (p *xpeer) holdReplies() { | |
| 225 | + | p.mu.Lock() | |
| 226 | + | p.hold = true | |
| 227 | + | p.mu.Unlock() | |
| 228 | + | } | |
| 229 | + | ||
| 194 | 230 | func (p *xpeer) errorPacket(code, major uint8, bad uint32) { | |
| 195 | 231 | b := make([]byte, 32) | |
| 196 | 232 | b[1] = code | |
| @@ -252,6 +288,8 @@ func (p *xpeer) answer(r xpeerReq, body []byte) { | |||
| 252 | 288 | b[18] = a[1] // map_state is byte 26 of the reply | |
| 253 | 289 | b[19] = a[0] // override_redirect, byte 27 | |
| 254 | 290 | p.reply(0, b) | |
| 291 | + | case (r.major == opGetGeometry || r.major == opGetProperty) && p.bad[binary.LittleEndian.Uint32(body)]: | |
| 292 | + | p.errorPacket(3, r.major, binary.LittleEndian.Uint32(body)) // BadWindow | |
| 255 | 293 | case r.major == opGetGeometry: | |
| 256 | 294 | g := p.geoms[binary.LittleEndian.Uint32(body)] | |
| 257 | 295 | b := make([]byte, 24) | |
| @@ -272,6 +310,8 @@ func (p *xpeer) answer(r xpeerReq, body []byte) { | |||
| 272 | 310 | typ: binary.LittleEndian.Uint32(body[8:]), format: format, | |
| 273 | 311 | data: append([]byte(nil), body[20:20+n*int(format)/8]...), | |
| 274 | 312 | } | |
| 313 | + | case r.major == opDeleteProperty: | |
| 314 | + | delete(p.props[binary.LittleEndian.Uint32(body)], binary.LittleEndian.Uint32(body[4:])) | |
| 275 | 315 | case r.major == opGetProperty: | |
| 276 | 316 | win, prop := binary.LittleEndian.Uint32(body), binary.LittleEndian.Uint32(body[4:]) | |
| 277 | 317 | v, ok := p.props[win][prop] | |
| @@ -300,8 +340,22 @@ func (p *xpeer) answer(r xpeerReq, body []byte) { | |||
| 300 | 340 | p.reply(0, le32(5, 4)) | |
| 301 | 341 | } | |
| 302 | 342 | case "X-Resource": | |
| 303 | - | if r.minor == 0 { | |
| 343 | + | switch r.minor { | |
| 344 | + | case 0: | |
| 304 | 345 | p.reply(0, []byte{1, 0, 2, 0}) | |
| 346 | + | case 4: // QueryClientIds: one spec, answered when a pid is scripted | |
| 347 | + | pid, ok := p.pids[r.u32(8)] | |
| 348 | + | if !ok { | |
| 349 | + | p.reply(0, le32(0)) | |
| 350 | + | break | |
| 351 | + | } | |
| 352 | + | b := make([]byte, 40) | |
| 353 | + | binary.LittleEndian.PutUint32(b[0:], 1) | |
| 354 | + | binary.LittleEndian.PutUint32(b[24:], r.u32(8)) | |
| 355 | + | binary.LittleEndian.PutUint32(b[28:], 2) // LocalClientPID | |
| 356 | + | binary.LittleEndian.PutUint32(b[32:], 4) | |
| 357 | + | binary.LittleEndian.PutUint32(b[36:], pid) | |
| 358 | + | p.reply(0, b) | |
| 305 | 359 | } | |
| 306 | 360 | } | |
| 307 | 361 | } | |
| @@ -409,3 +463,81 @@ func (p *xpeer) hangup() { | |||
| 409 | 463 | _ = rc.Control(func(fd uintptr) { _ = unix.Shutdown(int(fd), unix.SHUT_RDWR) }) | |
| 410 | 464 | } | |
| 411 | 465 | } | |
| 466 | + | ||
| 467 | + | // setProp scripts a window property for GetProperty. | |
| 468 | + | func (p *xpeer) setProp(win, atom, typ uint32, format uint8, data []byte) { | |
| 469 | + | p.mu.Lock() | |
| 470 | + | defer p.mu.Unlock() | |
| 471 | + | if p.props[win] == nil { | |
| 472 | + | p.props[win] = map[uint32]xpeerProp{} | |
| 473 | + | } | |
| 474 | + | p.props[win][atom] = xpeerProp{typ: typ, format: format, data: data} | |
| 475 | + | } | |
| 476 | + | ||
| 477 | + | func (p *xpeer) mapRequest(win uint32) { | |
| 478 | + | p.event(20, func(b *[32]byte) { | |
| 479 | + | binary.LittleEndian.PutUint32(b[4:], peerRoot) | |
| 480 | + | binary.LittleEndian.PutUint32(b[8:], win) | |
| 481 | + | }) | |
| 482 | + | } | |
| 483 | + | ||
| 484 | + | func (p *xpeer) mapNotify(win uint32) { | |
| 485 | + | p.event(19, func(b *[32]byte) { | |
| 486 | + | binary.LittleEndian.PutUint32(b[4:], peerRoot) | |
| 487 | + | binary.LittleEndian.PutUint32(b[8:], win) | |
| 488 | + | }) | |
| 489 | + | } | |
| 490 | + | ||
| 491 | + | func (p *xpeer) unmapNotify(win uint32, synthetic bool) { | |
| 492 | + | p.event(18, func(b *[32]byte) { | |
| 493 | + | if synthetic { | |
| 494 | + | b[0] |= 0x80 | |
| 495 | + | } | |
| 496 | + | binary.LittleEndian.PutUint32(b[4:], peerRoot) | |
| 497 | + | binary.LittleEndian.PutUint32(b[8:], win) | |
| 498 | + | }) | |
| 499 | + | } | |
| 500 | + | ||
| 501 | + | func (p *xpeer) propertyNotify(win, atom uint32, deleted bool) { | |
| 502 | + | p.event(28, func(b *[32]byte) { | |
| 503 | + | binary.LittleEndian.PutUint32(b[4:], win) | |
| 504 | + | binary.LittleEndian.PutUint32(b[8:], atom) | |
| 505 | + | if deleted { | |
| 506 | + | b[16] = 1 | |
| 507 | + | } | |
| 508 | + | }) | |
| 509 | + | } | |
| 510 | + | ||
| 511 | + | func (p *xpeer) reparentNotify(win, parent uint32) { | |
| 512 | + | p.event(21, func(b *[32]byte) { | |
| 513 | + | binary.LittleEndian.PutUint32(b[4:], peerRoot) | |
| 514 | + | binary.LittleEndian.PutUint32(b[8:], win) | |
| 515 | + | binary.LittleEndian.PutUint32(b[12:], parent) | |
| 516 | + | }) | |
| 517 | + | } | |
| 518 | + | ||
| 519 | + | func (p *xpeer) clientMessage(win, typ uint32, data ...uint32) { | |
| 520 | + | p.event(33, func(b *[32]byte) { | |
| 521 | + | b[1] = 32 | |
| 522 | + | binary.LittleEndian.PutUint32(b[4:], win) | |
| 523 | + | binary.LittleEndian.PutUint32(b[8:], typ) | |
| 524 | + | for i, d := range data { | |
| 525 | + | binary.LittleEndian.PutUint32(b[12+4*i:], d) | |
| 526 | + | } | |
| 527 | + | }) | |
| 528 | + | } | |
| 529 | + | ||
| 530 | + | func (p *xpeer) focusIn(win uint32) { | |
| 531 | + | p.event(9, func(b *[32]byte) { binary.LittleEndian.PutUint32(b[4:], win) }) | |
| 532 | + | } | |
| 533 | + | ||
| 534 | + | func (p *xpeer) configureNotify(win uint32) { | |
| 535 | + | p.event(22, func(b *[32]byte) { | |
| 536 | + | binary.LittleEndian.PutUint32(b[4:], win) | |
| 537 | + | binary.LittleEndian.PutUint32(b[8:], win) | |
| 538 | + | binary.LittleEndian.PutUint16(b[20:], 10) | |
| 539 | + | binary.LittleEndian.PutUint16(b[22:], 20) | |
| 540 | + | binary.LittleEndian.PutUint16(b[24:], 300) | |
| 541 | + | binary.LittleEndian.PutUint16(b[26:], 200) | |
| 542 | + | }) | |
| 543 | + | } | |
M internal/adapters/wayland/xwm/xwm.go +2 -1
| @@ -1,4 +1,4 @@ | |||
| 1 | - | //lint:file-ignore U1000 pairing, focus and stacking state is used by the flows that build on this skeleton | |
| 1 | + | //lint:file-ignore U1000 refocus and listsDirty are used by the focus and configure flows | |
| 2 | 2 | ||
| 3 | 3 | // Package xwm is the built-in X11 window manager for Xwayland: it speaks the | |
| 4 | 4 | // X protocol over the -wm socket with xturbo and reports managed windows to | |
| @@ -66,6 +66,7 @@ type XWM struct { | |||
| 66 | 66 | posted, writable, closed bool | |
| 67 | 67 | bootErr error | |
| 68 | 68 | warnedRing, warnedFull bool | |
| 69 | + | warnedUnpaired bool | |
| 69 | 70 | ||
| 70 | 71 | scratch []byte // encode buffer for 32-bit property values, 4 bytes per slot | |
| 71 | 72 | ||