@cssints/apg-specs 0.0.0-stage → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/apg/accordion.bridge.d.mts +35 -0
  4. package/dist/apg/accordion.bridge.mjs +326 -0
  5. package/dist/apg/accordion.model.json +8397 -0
  6. package/dist/apg/alert.bridge.d.mts +22 -0
  7. package/dist/apg/alert.bridge.mjs +86 -0
  8. package/dist/apg/alert.model.json +871 -0
  9. package/dist/apg/alertdialog.bridge.d.mts +21 -0
  10. package/dist/apg/alertdialog.bridge.mjs +221 -0
  11. package/dist/apg/alertdialog.model.json +5232 -0
  12. package/dist/apg/breadcrumb.bridge.d.mts +26 -0
  13. package/dist/apg/breadcrumb.bridge.mjs +120 -0
  14. package/dist/apg/breadcrumb.model.json +574 -0
  15. package/dist/apg/button.bridge.d.mts +35 -0
  16. package/dist/apg/button.bridge.mjs +208 -0
  17. package/dist/apg/button.model.json +5814 -0
  18. package/dist/apg/carousel.bridge.d.mts +44 -0
  19. package/dist/apg/carousel.bridge.mjs +262 -0
  20. package/dist/apg/carousel.model.json +8963 -0
  21. package/dist/apg/checkbox-group.bridge.d.mts +25 -0
  22. package/dist/apg/checkbox-group.bridge.mjs +276 -0
  23. package/dist/apg/checkbox-group.model.json +3863 -0
  24. package/dist/apg/checkbox.bridge.d.mts +34 -0
  25. package/dist/apg/checkbox.bridge.mjs +253 -0
  26. package/dist/apg/checkbox.model.json +3158 -0
  27. package/dist/apg/combobox-autocomplete.bridge.d.mts +14 -0
  28. package/dist/apg/combobox-autocomplete.bridge.mjs +326 -0
  29. package/dist/apg/combobox-autocomplete.model.json +11586 -0
  30. package/dist/apg/combobox-dialog.bridge.d.mts +17 -0
  31. package/dist/apg/combobox-dialog.bridge.mjs +250 -0
  32. package/dist/apg/combobox-dialog.model.json +8981 -0
  33. package/dist/apg/combobox-grid.bridge.d.mts +17 -0
  34. package/dist/apg/combobox-grid.bridge.mjs +227 -0
  35. package/dist/apg/combobox-grid.model.json +8554 -0
  36. package/dist/apg/combobox-select-only.bridge.d.mts +24 -0
  37. package/dist/apg/combobox-select-only.bridge.mjs +304 -0
  38. package/dist/apg/combobox-select-only.model.json +7846 -0
  39. package/dist/apg/combobox-tree.bridge.d.mts +17 -0
  40. package/dist/apg/combobox-tree.bridge.mjs +211 -0
  41. package/dist/apg/combobox-tree.model.json +9345 -0
  42. package/dist/apg/dialog-modal.bridge.d.mts +35 -0
  43. package/dist/apg/dialog-modal.bridge.mjs +186 -0
  44. package/dist/apg/dialog-modal.model.json +7580 -0
  45. package/dist/apg/disclosure.bridge.d.mts +25 -0
  46. package/dist/apg/disclosure.bridge.mjs +202 -0
  47. package/dist/apg/disclosure.model.json +4703 -0
  48. package/dist/apg/feed.bridge.d.mts +31 -0
  49. package/dist/apg/feed.bridge.mjs +246 -0
  50. package/dist/apg/feed.model.json +4523 -0
  51. package/dist/apg/grid-selection.bridge.d.mts +13 -0
  52. package/dist/apg/grid-selection.bridge.mjs +160 -0
  53. package/dist/apg/grid-selection.model.json +6974 -0
  54. package/dist/apg/grid-sort.bridge.d.mts +12 -0
  55. package/dist/apg/grid-sort.bridge.mjs +138 -0
  56. package/dist/apg/grid-sort.model.json +3799 -0
  57. package/dist/apg/grid.bridge.d.mts +54 -0
  58. package/dist/apg/grid.bridge.mjs +441 -0
  59. package/dist/apg/grid.model.json +3802 -0
  60. package/dist/apg/link.bridge.d.mts +24 -0
  61. package/dist/apg/link.bridge.mjs +126 -0
  62. package/dist/apg/link.model.json +694 -0
  63. package/dist/apg/listbox-multi.bridge.d.mts +10 -0
  64. package/dist/apg/listbox-multi.bridge.mjs +261 -0
  65. package/dist/apg/listbox-multi.model.json +10893 -0
  66. package/dist/apg/listbox-rearrangeable.bridge.d.mts +20 -0
  67. package/dist/apg/listbox-rearrangeable.bridge.mjs +237 -0
  68. package/dist/apg/listbox-rearrangeable.model.json +17592 -0
  69. package/dist/apg/listbox-shared.d.mts +58 -0
  70. package/dist/apg/listbox-shared.mjs +171 -0
  71. package/dist/apg/listbox-single.bridge.d.mts +10 -0
  72. package/dist/apg/listbox-single.bridge.mjs +196 -0
  73. package/dist/apg/listbox-single.model.json +8024 -0
  74. package/dist/apg/listbox-typeahead.bridge.d.mts +10 -0
  75. package/dist/apg/listbox-typeahead.bridge.mjs +153 -0
  76. package/dist/apg/listbox-typeahead.model.json +5615 -0
  77. package/dist/apg/menu-button.bridge.d.mts +29 -0
  78. package/dist/apg/menu-button.bridge.mjs +259 -0
  79. package/dist/apg/menu-button.model.json +5706 -0
  80. package/dist/apg/menu-checkable.bridge.d.mts +25 -0
  81. package/dist/apg/menu-checkable.bridge.mjs +226 -0
  82. package/dist/apg/menu-checkable.model.json +4277 -0
  83. package/dist/apg/menu-menubar.bridge.d.mts +27 -0
  84. package/dist/apg/menu-menubar.bridge.mjs +273 -0
  85. package/dist/apg/menu-menubar.model.json +9540 -0
  86. package/dist/apg/meter.bridge.d.mts +28 -0
  87. package/dist/apg/meter.bridge.mjs +159 -0
  88. package/dist/apg/meter.model.json +1185 -0
  89. package/dist/apg/player.bridge.d.mts +24 -0
  90. package/dist/apg/player.bridge.mjs +342 -0
  91. package/dist/apg/player.model.json +11013 -0
  92. package/dist/apg/radio.bridge.d.mts +35 -0
  93. package/dist/apg/radio.bridge.mjs +371 -0
  94. package/dist/apg/radio.model.json +5011 -0
  95. package/dist/apg/slider-multithumb.bridge.d.mts +34 -0
  96. package/dist/apg/slider-multithumb.bridge.mjs +365 -0
  97. package/dist/apg/slider-multithumb.model.json +5774 -0
  98. package/dist/apg/slider.bridge.d.mts +54 -0
  99. package/dist/apg/slider.bridge.mjs +359 -0
  100. package/dist/apg/slider.model.json +4881 -0
  101. package/dist/apg/spinbutton.bridge.d.mts +41 -0
  102. package/dist/apg/spinbutton.bridge.mjs +327 -0
  103. package/dist/apg/spinbutton.model.json +7571 -0
  104. package/dist/apg/switch.bridge.d.mts +30 -0
  105. package/dist/apg/switch.bridge.mjs +243 -0
  106. package/dist/apg/switch.model.json +3159 -0
  107. package/dist/apg/tabs.bridge.d.mts +41 -0
  108. package/dist/apg/tabs.bridge.mjs +294 -0
  109. package/dist/apg/tabs.model.json +7659 -0
  110. package/dist/apg/timeline.bridge.d.mts +36 -0
  111. package/dist/apg/timeline.bridge.mjs +265 -0
  112. package/dist/apg/timeline.model.json +6189 -0
  113. package/dist/apg/toolbar.bridge.d.mts +25 -0
  114. package/dist/apg/toolbar.bridge.mjs +307 -0
  115. package/dist/apg/toolbar.model.json +6616 -0
  116. package/dist/apg/tooltip.bridge.d.mts +36 -0
  117. package/dist/apg/tooltip.bridge.mjs +208 -0
  118. package/dist/apg/tooltip.model.json +8295 -0
  119. package/dist/apg/treegrid.bridge.d.mts +28 -0
  120. package/dist/apg/treegrid.bridge.mjs +311 -0
  121. package/dist/apg/treegrid.model.json +17358 -0
  122. package/dist/apg/treeview.bridge.d.mts +26 -0
  123. package/dist/apg/treeview.bridge.mjs +396 -0
  124. package/dist/apg/treeview.model.json +13745 -0
  125. package/dist/apg/windowsplitter.bridge.d.mts +36 -0
  126. package/dist/apg/windowsplitter.bridge.mjs +242 -0
  127. package/dist/apg/windowsplitter.model.json +6253 -0
  128. package/dist/canvas/camera.model.json +6568 -0
  129. package/dist/canvas/canvas.bridge.d.mts +190 -0
  130. package/dist/canvas/canvas.bridge.mjs +729 -0
  131. package/dist/canvas/pointer.model.json +17095 -0
  132. package/dist/scenario.d.mts +233 -0
  133. package/dist/scenario.mjs +313 -0
  134. package/package.json +57 -4
  135. package/scenarios/apg/README.md +221 -0
  136. package/scenarios/apg/accordion.base-ui.json +1005 -0
  137. package/scenarios/apg/accordion.react-aria.json +929 -0
  138. package/scenarios/apg/alert.base-ui.json +81 -0
  139. package/scenarios/apg/alert.react-aria.json +98 -0
  140. package/scenarios/apg/alertdialog.base-ui.json +331 -0
  141. package/scenarios/apg/alertdialog.react-aria.json +225 -0
  142. package/scenarios/apg/breadcrumb.react-aria.json +312 -0
  143. package/scenarios/apg/button.ariakit.json +136 -0
  144. package/scenarios/apg/button.base-ui.json +747 -0
  145. package/scenarios/apg/button.react-aria.json +443 -0
  146. package/scenarios/apg/carousel.apg.json +909 -0
  147. package/scenarios/apg/checkbox.ariakit.json +299 -0
  148. package/scenarios/apg/checkbox.base-ui.json +1126 -0
  149. package/scenarios/apg/checkbox.react-aria.json +518 -0
  150. package/scenarios/apg/combobox.ariakit.json +945 -0
  151. package/scenarios/apg/combobox.base-ui.json +2444 -0
  152. package/scenarios/apg/combobox.react-aria.json +845 -0
  153. package/scenarios/apg/dialog-modal.ariakit.json +1102 -0
  154. package/scenarios/apg/dialog-modal.base-ui.json +775 -0
  155. package/scenarios/apg/dialog-modal.react-aria.json +638 -0
  156. package/scenarios/apg/disclosure.apg.json +349 -0
  157. package/scenarios/apg/disclosure.ariakit.json +163 -0
  158. package/scenarios/apg/disclosure.base-ui.json +451 -0
  159. package/scenarios/apg/disclosure.react-aria.json +643 -0
  160. package/scenarios/apg/feed.apg.json +442 -0
  161. package/scenarios/apg/grid.ariakit.json +197 -0
  162. package/scenarios/apg/grid.base-ui.json +720 -0
  163. package/scenarios/apg/grid.react-aria.json +969 -0
  164. package/scenarios/apg/landmarks.ariakit.json +93 -0
  165. package/scenarios/apg/landmarks.react-aria.json +330 -0
  166. package/scenarios/apg/link.ariakit.json +83 -0
  167. package/scenarios/apg/link.base-ui.json +88 -0
  168. package/scenarios/apg/link.react-aria.json +186 -0
  169. package/scenarios/apg/listbox.ariakit.json +78 -0
  170. package/scenarios/apg/listbox.base-ui.json +163 -0
  171. package/scenarios/apg/listbox.react-aria.json +1118 -0
  172. package/scenarios/apg/menu-button.ariakit.json +924 -0
  173. package/scenarios/apg/menu-button.base-ui.json +1155 -0
  174. package/scenarios/apg/menu-button.react-aria.json +1080 -0
  175. package/scenarios/apg/menubar.ariakit.json +758 -0
  176. package/scenarios/apg/menubar.base-ui.json +673 -0
  177. package/scenarios/apg/meter.base-ui.json +243 -0
  178. package/scenarios/apg/meter.react-aria.json +201 -0
  179. package/scenarios/apg/radio.ariakit.json +459 -0
  180. package/scenarios/apg/radio.base-ui.json +581 -0
  181. package/scenarios/apg/radio.react-aria.json +576 -0
  182. package/scenarios/apg/slider-multithumb.base-ui.json +316 -0
  183. package/scenarios/apg/slider-multithumb.react-aria.json +363 -0
  184. package/scenarios/apg/slider.base-ui.json +544 -0
  185. package/scenarios/apg/slider.react-aria.json +456 -0
  186. package/scenarios/apg/spinbutton.base-ui.json +1688 -0
  187. package/scenarios/apg/spinbutton.react-aria.json +426 -0
  188. package/scenarios/apg/switch.base-ui.json +456 -0
  189. package/scenarios/apg/switch.react-aria.json +303 -0
  190. package/scenarios/apg/table.ariakit.json +65 -0
  191. package/scenarios/apg/table.react-aria.json +221 -0
  192. package/scenarios/apg/tabs.ariakit.json +329 -0
  193. package/scenarios/apg/tabs.base-ui.json +875 -0
  194. package/scenarios/apg/tabs.react-aria.json +644 -0
  195. package/scenarios/apg/toolbar.ariakit.json +595 -0
  196. package/scenarios/apg/toolbar.base-ui.json +1189 -0
  197. package/scenarios/apg/toolbar.react-aria.json +383 -0
  198. package/scenarios/apg/tooltip.ariakit.json +441 -0
  199. package/scenarios/apg/tooltip.base-ui.json +411 -0
  200. package/scenarios/apg/tooltip.react-aria.json +454 -0
  201. package/scenarios/apg/treegrid.apg.json +2558 -0
  202. package/scenarios/apg/treegrid.react-aria.json +5094 -0
  203. package/scenarios/apg/treeview.apg.json +928 -0
  204. package/scenarios/apg/windowsplitter.apg.json +557 -0
  205. package/scenarios/canvas/README.md +69 -0
  206. package/scenarios/canvas/camera.contract.json +237 -0
  207. package/scenarios/canvas/camera.excalidraw.json +57 -0
  208. package/scenarios/canvas/marquee.excalidraw.json +122 -0
  209. package/scenarios/canvas/pan.excalidraw.json +46 -0
  210. package/scenarios/canvas/pointer.contract.json +528 -0
  211. package/scenarios/parts.json +291 -0
  212. package/shared/aria.qnt +186 -0
  213. package/shared/details-group.qnt +50 -0
  214. package/shared/focusgroup.qnt +152 -0
  215. package/shared/invokers.qnt +81 -0
  216. package/shared/popover.qnt +71 -0
  217. package/specs/apg/STATIC.md +103 -0
  218. package/specs/apg/accordion.qnt +578 -0
  219. package/specs/apg/alert.qnt +131 -0
  220. package/specs/apg/alertdialog.qnt +455 -0
  221. package/specs/apg/breadcrumb.qnt +88 -0
  222. package/specs/apg/button.qnt +445 -0
  223. package/specs/apg/carousel.qnt +732 -0
  224. package/specs/apg/checkbox-group.qnt +388 -0
  225. package/specs/apg/checkbox.qnt +394 -0
  226. package/specs/apg/combobox-autocomplete.qnt +764 -0
  227. package/specs/apg/combobox-dialog.qnt +627 -0
  228. package/specs/apg/combobox-grid.qnt +632 -0
  229. package/specs/apg/combobox-select-only.qnt +626 -0
  230. package/specs/apg/combobox-tree.qnt +633 -0
  231. package/specs/apg/dialog-modal.qnt +499 -0
  232. package/specs/apg/disclosure.qnt +309 -0
  233. package/specs/apg/feed.qnt +485 -0
  234. package/specs/apg/grid-selection.qnt +512 -0
  235. package/specs/apg/grid-sort.qnt +330 -0
  236. package/specs/apg/grid.qnt +360 -0
  237. package/specs/apg/link.qnt +119 -0
  238. package/specs/apg/listbox-multi.qnt +799 -0
  239. package/specs/apg/listbox-rearrangeable.qnt +801 -0
  240. package/specs/apg/listbox-single.qnt +511 -0
  241. package/specs/apg/listbox-typeahead.qnt +396 -0
  242. package/specs/apg/menu-button.qnt +363 -0
  243. package/specs/apg/menu-checkable.qnt +304 -0
  244. package/specs/apg/menu-menubar.qnt +531 -0
  245. package/specs/apg/meter.qnt +129 -0
  246. package/specs/apg/player.qnt +1081 -0
  247. package/specs/apg/radio.qnt +394 -0
  248. package/specs/apg/slider-multithumb.qnt +441 -0
  249. package/specs/apg/slider.qnt +396 -0
  250. package/specs/apg/spinbutton.qnt +494 -0
  251. package/specs/apg/switch.qnt +389 -0
  252. package/specs/apg/tabs.qnt +412 -0
  253. package/specs/apg/timeline.qnt +612 -0
  254. package/specs/apg/toolbar.qnt +364 -0
  255. package/specs/apg/tooltip.qnt +553 -0
  256. package/specs/apg/treegrid.qnt +983 -0
  257. package/specs/apg/treeview.qnt +1004 -0
  258. package/specs/apg/windowsplitter.qnt +487 -0
  259. package/specs/canvas/camera.qnt +407 -0
  260. package/specs/canvas/pointer.qnt +841 -0
@@ -0,0 +1,4523 @@
1
+ {
2
+ "generatedFrom": "../../specs/apg/feed.qnt",
3
+ "specHash": "1593bb9c9c291ba19148c31e45d9c1773a9837d0279ae49edc1226b86d148d79",
4
+ "module": "apg_feed",
5
+ "vars": [
6
+ {
7
+ "name": "phase",
8
+ "type": "str"
9
+ },
10
+ {
11
+ "name": "busy",
12
+ "type": "bool"
13
+ },
14
+ {
15
+ "name": "loaded",
16
+ "type": "int"
17
+ },
18
+ {
19
+ "name": "zone",
20
+ "type": "str"
21
+ },
22
+ {
23
+ "name": "focus",
24
+ "type": "int"
25
+ },
26
+ {
27
+ "name": "sizeMode",
28
+ "type": "str"
29
+ },
30
+ {
31
+ "name": "totalKnown",
32
+ "type": "bool"
33
+ },
34
+ {
35
+ "name": "controlled",
36
+ "type": "bool"
37
+ },
38
+ {
39
+ "name": "accepting",
40
+ "type": "bool"
41
+ },
42
+ {
43
+ "name": "valueProp",
44
+ "type": "int"
45
+ },
46
+ {
47
+ "name": "requested",
48
+ "type": "int"
49
+ },
50
+ {
51
+ "name": "requests",
52
+ "type": "int"
53
+ },
54
+ {
55
+ "name": "outcome",
56
+ "type": "str"
57
+ },
58
+ {
59
+ "name": "base",
60
+ "type": "int"
61
+ }
62
+ ],
63
+ "defs": {
64
+ "totalArticles": {
65
+ "kind": "function",
66
+ "params": [],
67
+ "body": {
68
+ "kind": "int",
69
+ "value": "6"
70
+ }
71
+ },
72
+ "ariaPosinset": {
73
+ "kind": "function",
74
+ "params": [
75
+ "i"
76
+ ],
77
+ "body": {
78
+ "kind": "name",
79
+ "name": "i"
80
+ }
81
+ },
82
+ "ariaSetsize": {
83
+ "kind": "function",
84
+ "params": [
85
+ "mode",
86
+ "known",
87
+ "count"
88
+ ],
89
+ "body": {
90
+ "kind": "app",
91
+ "opcode": "ite",
92
+ "args": [
93
+ {
94
+ "kind": "app",
95
+ "opcode": "eq",
96
+ "args": [
97
+ {
98
+ "kind": "name",
99
+ "name": "mode"
100
+ },
101
+ {
102
+ "kind": "str",
103
+ "value": "loaded"
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "kind": "name",
109
+ "name": "count"
110
+ },
111
+ {
112
+ "kind": "app",
113
+ "opcode": "ite",
114
+ "args": [
115
+ {
116
+ "kind": "name",
117
+ "name": "known"
118
+ },
119
+ {
120
+ "kind": "name",
121
+ "name": "totalArticles"
122
+ },
123
+ {
124
+ "kind": "app",
125
+ "opcode": "iuminus",
126
+ "args": [
127
+ {
128
+ "kind": "int",
129
+ "value": "1"
130
+ }
131
+ ]
132
+ }
133
+ ]
134
+ }
135
+ ]
136
+ }
137
+ },
138
+ "ariaBusy": {
139
+ "kind": "function",
140
+ "params": [
141
+ "p"
142
+ ],
143
+ "body": {
144
+ "kind": "app",
145
+ "opcode": "eq",
146
+ "args": [
147
+ {
148
+ "kind": "name",
149
+ "name": "p"
150
+ },
151
+ {
152
+ "kind": "str",
153
+ "value": "loading"
154
+ }
155
+ ]
156
+ }
157
+ },
158
+ "articleTabindex": {
159
+ "kind": "function",
160
+ "params": [
161
+ "i"
162
+ ],
163
+ "body": {
164
+ "kind": "int",
165
+ "value": "0"
166
+ }
167
+ },
168
+ "hasMore": {
169
+ "kind": "function",
170
+ "params": [
171
+ "count"
172
+ ],
173
+ "body": {
174
+ "kind": "app",
175
+ "opcode": "ilt",
176
+ "args": [
177
+ {
178
+ "kind": "name",
179
+ "name": "count"
180
+ },
181
+ {
182
+ "kind": "name",
183
+ "name": "totalArticles"
184
+ }
185
+ ]
186
+ }
187
+ },
188
+ "canStartLoad": {
189
+ "kind": "function",
190
+ "params": [
191
+ "p",
192
+ "count"
193
+ ],
194
+ "body": {
195
+ "kind": "app",
196
+ "opcode": "and",
197
+ "args": [
198
+ {
199
+ "kind": "app",
200
+ "opcode": "eq",
201
+ "args": [
202
+ {
203
+ "kind": "name",
204
+ "name": "p"
205
+ },
206
+ {
207
+ "kind": "str",
208
+ "value": "idle"
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "kind": "app",
214
+ "opcode": "hasMore",
215
+ "args": [
216
+ {
217
+ "kind": "name",
218
+ "name": "count"
219
+ }
220
+ ]
221
+ }
222
+ ]
223
+ }
224
+ },
225
+ "inFeed": {
226
+ "kind": "function",
227
+ "params": [
228
+ "z"
229
+ ],
230
+ "body": {
231
+ "kind": "app",
232
+ "opcode": "eq",
233
+ "args": [
234
+ {
235
+ "kind": "name",
236
+ "name": "z"
237
+ },
238
+ {
239
+ "kind": "str",
240
+ "value": "feed"
241
+ }
242
+ ]
243
+ }
244
+ },
245
+ "pageDownTarget": {
246
+ "kind": "function",
247
+ "params": [
248
+ "z",
249
+ "f",
250
+ "count"
251
+ ],
252
+ "body": {
253
+ "kind": "app",
254
+ "opcode": "ite",
255
+ "args": [
256
+ {
257
+ "kind": "app",
258
+ "opcode": "and",
259
+ "args": [
260
+ {
261
+ "kind": "app",
262
+ "opcode": "inFeed",
263
+ "args": [
264
+ {
265
+ "kind": "name",
266
+ "name": "z"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "kind": "app",
272
+ "opcode": "ilt",
273
+ "args": [
274
+ {
275
+ "kind": "name",
276
+ "name": "f"
277
+ },
278
+ {
279
+ "kind": "name",
280
+ "name": "count"
281
+ }
282
+ ]
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ "kind": "app",
288
+ "opcode": "iadd",
289
+ "args": [
290
+ {
291
+ "kind": "name",
292
+ "name": "f"
293
+ },
294
+ {
295
+ "kind": "int",
296
+ "value": "1"
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "kind": "name",
302
+ "name": "f"
303
+ }
304
+ ]
305
+ }
306
+ },
307
+ "pageUpTarget": {
308
+ "kind": "function",
309
+ "params": [
310
+ "z",
311
+ "f"
312
+ ],
313
+ "body": {
314
+ "kind": "app",
315
+ "opcode": "ite",
316
+ "args": [
317
+ {
318
+ "kind": "app",
319
+ "opcode": "and",
320
+ "args": [
321
+ {
322
+ "kind": "app",
323
+ "opcode": "inFeed",
324
+ "args": [
325
+ {
326
+ "kind": "name",
327
+ "name": "z"
328
+ }
329
+ ]
330
+ },
331
+ {
332
+ "kind": "app",
333
+ "opcode": "igt",
334
+ "args": [
335
+ {
336
+ "kind": "name",
337
+ "name": "f"
338
+ },
339
+ {
340
+ "kind": "int",
341
+ "value": "1"
342
+ }
343
+ ]
344
+ }
345
+ ]
346
+ },
347
+ {
348
+ "kind": "app",
349
+ "opcode": "isub",
350
+ "args": [
351
+ {
352
+ "kind": "name",
353
+ "name": "f"
354
+ },
355
+ {
356
+ "kind": "int",
357
+ "value": "1"
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "kind": "name",
363
+ "name": "f"
364
+ }
365
+ ]
366
+ }
367
+ },
368
+ "focusTriggersLoad": {
369
+ "kind": "function",
370
+ "params": [
371
+ "z",
372
+ "f",
373
+ "p",
374
+ "count"
375
+ ],
376
+ "body": {
377
+ "kind": "app",
378
+ "opcode": "and",
379
+ "args": [
380
+ {
381
+ "kind": "app",
382
+ "opcode": "and",
383
+ "args": [
384
+ {
385
+ "kind": "app",
386
+ "opcode": "inFeed",
387
+ "args": [
388
+ {
389
+ "kind": "name",
390
+ "name": "z"
391
+ }
392
+ ]
393
+ },
394
+ {
395
+ "kind": "app",
396
+ "opcode": "eq",
397
+ "args": [
398
+ {
399
+ "kind": "name",
400
+ "name": "f"
401
+ },
402
+ {
403
+ "kind": "name",
404
+ "name": "count"
405
+ }
406
+ ]
407
+ }
408
+ ]
409
+ },
410
+ {
411
+ "kind": "app",
412
+ "opcode": "canStartLoad",
413
+ "args": [
414
+ {
415
+ "kind": "name",
416
+ "name": "p"
417
+ },
418
+ {
419
+ "kind": "name",
420
+ "name": "count"
421
+ }
422
+ ]
423
+ }
424
+ ]
425
+ }
426
+ },
427
+ "addedArticles": {
428
+ "kind": "function",
429
+ "params": [
430
+ "count",
431
+ "n"
432
+ ],
433
+ "body": {
434
+ "kind": "app",
435
+ "opcode": "ite",
436
+ "args": [
437
+ {
438
+ "kind": "app",
439
+ "opcode": "ilte",
440
+ "args": [
441
+ {
442
+ "kind": "app",
443
+ "opcode": "iadd",
444
+ "args": [
445
+ {
446
+ "kind": "name",
447
+ "name": "count"
448
+ },
449
+ {
450
+ "kind": "name",
451
+ "name": "n"
452
+ }
453
+ ]
454
+ },
455
+ {
456
+ "kind": "name",
457
+ "name": "totalArticles"
458
+ }
459
+ ]
460
+ },
461
+ {
462
+ "kind": "name",
463
+ "name": "n"
464
+ },
465
+ {
466
+ "kind": "app",
467
+ "opcode": "isub",
468
+ "args": [
469
+ {
470
+ "kind": "name",
471
+ "name": "totalArticles"
472
+ },
473
+ {
474
+ "kind": "name",
475
+ "name": "count"
476
+ }
477
+ ]
478
+ }
479
+ ]
480
+ }
481
+ },
482
+ "moved": {
483
+ "kind": "function",
484
+ "params": [
485
+ "before",
486
+ "after"
487
+ ],
488
+ "body": {
489
+ "kind": "app",
490
+ "opcode": "ite",
491
+ "args": [
492
+ {
493
+ "kind": "app",
494
+ "opcode": "eq",
495
+ "args": [
496
+ {
497
+ "kind": "name",
498
+ "name": "before"
499
+ },
500
+ {
501
+ "kind": "name",
502
+ "name": "after"
503
+ }
504
+ ]
505
+ },
506
+ {
507
+ "kind": "int",
508
+ "value": "0"
509
+ },
510
+ {
511
+ "kind": "int",
512
+ "value": "1"
513
+ }
514
+ ]
515
+ }
516
+ },
517
+ "finishWant": {
518
+ "kind": "function",
519
+ "params": [
520
+ "loading",
521
+ "count",
522
+ "n"
523
+ ],
524
+ "body": {
525
+ "kind": "app",
526
+ "opcode": "ite",
527
+ "args": [
528
+ {
529
+ "kind": "name",
530
+ "name": "loading"
531
+ },
532
+ {
533
+ "kind": "app",
534
+ "opcode": "iadd",
535
+ "args": [
536
+ {
537
+ "kind": "name",
538
+ "name": "count"
539
+ },
540
+ {
541
+ "kind": "app",
542
+ "opcode": "addedArticles",
543
+ "args": [
544
+ {
545
+ "kind": "name",
546
+ "name": "count"
547
+ },
548
+ {
549
+ "kind": "name",
550
+ "name": "n"
551
+ }
552
+ ]
553
+ }
554
+ ]
555
+ },
556
+ {
557
+ "kind": "name",
558
+ "name": "count"
559
+ }
560
+ ]
561
+ }
562
+ },
563
+ "holds": {
564
+ "kind": "function",
565
+ "params": [],
566
+ "body": {
567
+ "kind": "app",
568
+ "opcode": "and",
569
+ "args": [
570
+ {
571
+ "kind": "name",
572
+ "name": "controlled"
573
+ },
574
+ {
575
+ "kind": "app",
576
+ "opcode": "not",
577
+ "args": [
578
+ {
579
+ "kind": "name",
580
+ "name": "accepting"
581
+ }
582
+ ]
583
+ }
584
+ ]
585
+ }
586
+ },
587
+ "follows": {
588
+ "kind": "function",
589
+ "params": [],
590
+ "body": {
591
+ "kind": "app",
592
+ "opcode": "and",
593
+ "args": [
594
+ {
595
+ "kind": "name",
596
+ "name": "controlled"
597
+ },
598
+ {
599
+ "kind": "name",
600
+ "name": "accepting"
601
+ }
602
+ ]
603
+ }
604
+ },
605
+ "verdict": {
606
+ "kind": "function",
607
+ "params": [],
608
+ "body": {
609
+ "kind": "app",
610
+ "opcode": "ite",
611
+ "args": [
612
+ {
613
+ "kind": "name",
614
+ "name": "holds"
615
+ },
616
+ {
617
+ "kind": "str",
618
+ "value": "rejected"
619
+ },
620
+ {
621
+ "kind": "str",
622
+ "value": "accepted"
623
+ }
624
+ ]
625
+ }
626
+ },
627
+ "landed": {
628
+ "kind": "function",
629
+ "params": [
630
+ "h",
631
+ "current",
632
+ "want"
633
+ ],
634
+ "body": {
635
+ "kind": "app",
636
+ "opcode": "ite",
637
+ "args": [
638
+ {
639
+ "kind": "name",
640
+ "name": "h"
641
+ },
642
+ {
643
+ "kind": "name",
644
+ "name": "current"
645
+ },
646
+ {
647
+ "kind": "name",
648
+ "name": "want"
649
+ }
650
+ ]
651
+ }
652
+ },
653
+ "propAfter": {
654
+ "kind": "function",
655
+ "params": [
656
+ "f",
657
+ "p",
658
+ "want"
659
+ ],
660
+ "body": {
661
+ "kind": "app",
662
+ "opcode": "ite",
663
+ "args": [
664
+ {
665
+ "kind": "name",
666
+ "name": "f"
667
+ },
668
+ {
669
+ "kind": "name",
670
+ "name": "want"
671
+ },
672
+ {
673
+ "kind": "name",
674
+ "name": "p"
675
+ }
676
+ ]
677
+ }
678
+ },
679
+ "BusyIffLoading": {
680
+ "kind": "invariant",
681
+ "params": [],
682
+ "body": {
683
+ "kind": "app",
684
+ "opcode": "or",
685
+ "args": [
686
+ {
687
+ "kind": "app",
688
+ "opcode": "and",
689
+ "args": [
690
+ {
691
+ "kind": "name",
692
+ "name": "busy"
693
+ },
694
+ {
695
+ "kind": "app",
696
+ "opcode": "ariaBusy",
697
+ "args": [
698
+ {
699
+ "kind": "name",
700
+ "name": "phase"
701
+ }
702
+ ]
703
+ }
704
+ ]
705
+ },
706
+ {
707
+ "kind": "app",
708
+ "opcode": "and",
709
+ "args": [
710
+ {
711
+ "kind": "app",
712
+ "opcode": "not",
713
+ "args": [
714
+ {
715
+ "kind": "name",
716
+ "name": "busy"
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "kind": "app",
722
+ "opcode": "not",
723
+ "args": [
724
+ {
725
+ "kind": "app",
726
+ "opcode": "ariaBusy",
727
+ "args": [
728
+ {
729
+ "kind": "name",
730
+ "name": "phase"
731
+ }
732
+ ]
733
+ }
734
+ ]
735
+ }
736
+ ]
737
+ }
738
+ ]
739
+ }
740
+ },
741
+ "PhaseValid": {
742
+ "kind": "invariant",
743
+ "params": [],
744
+ "body": {
745
+ "kind": "app",
746
+ "opcode": "or",
747
+ "args": [
748
+ {
749
+ "kind": "app",
750
+ "opcode": "eq",
751
+ "args": [
752
+ {
753
+ "kind": "name",
754
+ "name": "phase"
755
+ },
756
+ {
757
+ "kind": "str",
758
+ "value": "idle"
759
+ }
760
+ ]
761
+ },
762
+ {
763
+ "kind": "app",
764
+ "opcode": "eq",
765
+ "args": [
766
+ {
767
+ "kind": "name",
768
+ "name": "phase"
769
+ },
770
+ {
771
+ "kind": "str",
772
+ "value": "loading"
773
+ }
774
+ ]
775
+ }
776
+ ]
777
+ }
778
+ },
779
+ "LoadingImpliesMore": {
780
+ "kind": "invariant",
781
+ "params": [],
782
+ "body": {
783
+ "kind": "app",
784
+ "opcode": "or",
785
+ "args": [
786
+ {
787
+ "kind": "app",
788
+ "opcode": "not",
789
+ "args": [
790
+ {
791
+ "kind": "app",
792
+ "opcode": "ariaBusy",
793
+ "args": [
794
+ {
795
+ "kind": "name",
796
+ "name": "phase"
797
+ }
798
+ ]
799
+ }
800
+ ]
801
+ },
802
+ {
803
+ "kind": "app",
804
+ "opcode": "hasMore",
805
+ "args": [
806
+ {
807
+ "kind": "name",
808
+ "name": "loaded"
809
+ }
810
+ ]
811
+ }
812
+ ]
813
+ }
814
+ },
815
+ "LoadedWithinTotal": {
816
+ "kind": "invariant",
817
+ "params": [],
818
+ "body": {
819
+ "kind": "app",
820
+ "opcode": "and",
821
+ "args": [
822
+ {
823
+ "kind": "app",
824
+ "opcode": "igte",
825
+ "args": [
826
+ {
827
+ "kind": "name",
828
+ "name": "loaded"
829
+ },
830
+ {
831
+ "kind": "int",
832
+ "value": "1"
833
+ }
834
+ ]
835
+ },
836
+ {
837
+ "kind": "app",
838
+ "opcode": "ilte",
839
+ "args": [
840
+ {
841
+ "kind": "name",
842
+ "name": "loaded"
843
+ },
844
+ {
845
+ "kind": "name",
846
+ "name": "totalArticles"
847
+ }
848
+ ]
849
+ }
850
+ ]
851
+ }
852
+ },
853
+ "ZoneValid": {
854
+ "kind": "invariant",
855
+ "params": [],
856
+ "body": {
857
+ "kind": "app",
858
+ "opcode": "or",
859
+ "args": [
860
+ {
861
+ "kind": "app",
862
+ "opcode": "eq",
863
+ "args": [
864
+ {
865
+ "kind": "name",
866
+ "name": "zone"
867
+ },
868
+ {
869
+ "kind": "str",
870
+ "value": "before"
871
+ }
872
+ ]
873
+ },
874
+ {
875
+ "kind": "app",
876
+ "opcode": "eq",
877
+ "args": [
878
+ {
879
+ "kind": "name",
880
+ "name": "zone"
881
+ },
882
+ {
883
+ "kind": "str",
884
+ "value": "feed"
885
+ }
886
+ ]
887
+ },
888
+ {
889
+ "kind": "app",
890
+ "opcode": "eq",
891
+ "args": [
892
+ {
893
+ "kind": "name",
894
+ "name": "zone"
895
+ },
896
+ {
897
+ "kind": "str",
898
+ "value": "after"
899
+ }
900
+ ]
901
+ }
902
+ ]
903
+ }
904
+ },
905
+ "FocusMatchesZone": {
906
+ "kind": "invariant",
907
+ "params": [],
908
+ "body": {
909
+ "kind": "app",
910
+ "opcode": "or",
911
+ "args": [
912
+ {
913
+ "kind": "app",
914
+ "opcode": "and",
915
+ "args": [
916
+ {
917
+ "kind": "app",
918
+ "opcode": "inFeed",
919
+ "args": [
920
+ {
921
+ "kind": "name",
922
+ "name": "zone"
923
+ }
924
+ ]
925
+ },
926
+ {
927
+ "kind": "app",
928
+ "opcode": "igte",
929
+ "args": [
930
+ {
931
+ "kind": "name",
932
+ "name": "focus"
933
+ },
934
+ {
935
+ "kind": "int",
936
+ "value": "1"
937
+ }
938
+ ]
939
+ }
940
+ ]
941
+ },
942
+ {
943
+ "kind": "app",
944
+ "opcode": "and",
945
+ "args": [
946
+ {
947
+ "kind": "app",
948
+ "opcode": "not",
949
+ "args": [
950
+ {
951
+ "kind": "app",
952
+ "opcode": "inFeed",
953
+ "args": [
954
+ {
955
+ "kind": "name",
956
+ "name": "zone"
957
+ }
958
+ ]
959
+ }
960
+ ]
961
+ },
962
+ {
963
+ "kind": "app",
964
+ "opcode": "eq",
965
+ "args": [
966
+ {
967
+ "kind": "name",
968
+ "name": "focus"
969
+ },
970
+ {
971
+ "kind": "int",
972
+ "value": "0"
973
+ }
974
+ ]
975
+ }
976
+ ]
977
+ }
978
+ ]
979
+ }
980
+ },
981
+ "FocusWithinLoaded": {
982
+ "kind": "invariant",
983
+ "params": [],
984
+ "body": {
985
+ "kind": "app",
986
+ "opcode": "ilte",
987
+ "args": [
988
+ {
989
+ "kind": "name",
990
+ "name": "focus"
991
+ },
992
+ {
993
+ "kind": "name",
994
+ "name": "loaded"
995
+ }
996
+ ]
997
+ }
998
+ },
999
+ "SizeModeValid": {
1000
+ "kind": "invariant",
1001
+ "params": [],
1002
+ "body": {
1003
+ "kind": "app",
1004
+ "opcode": "or",
1005
+ "args": [
1006
+ {
1007
+ "kind": "app",
1008
+ "opcode": "eq",
1009
+ "args": [
1010
+ {
1011
+ "kind": "name",
1012
+ "name": "sizeMode"
1013
+ },
1014
+ {
1015
+ "kind": "str",
1016
+ "value": "loaded"
1017
+ }
1018
+ ]
1019
+ },
1020
+ {
1021
+ "kind": "app",
1022
+ "opcode": "eq",
1023
+ "args": [
1024
+ {
1025
+ "kind": "name",
1026
+ "name": "sizeMode"
1027
+ },
1028
+ {
1029
+ "kind": "str",
1030
+ "value": "total"
1031
+ }
1032
+ ]
1033
+ }
1034
+ ]
1035
+ }
1036
+ },
1037
+ "PosinsetsContiguous": {
1038
+ "kind": "invariant",
1039
+ "params": [],
1040
+ "body": {
1041
+ "kind": "app",
1042
+ "opcode": "and",
1043
+ "args": [
1044
+ {
1045
+ "kind": "app",
1046
+ "opcode": "eq",
1047
+ "args": [
1048
+ {
1049
+ "kind": "app",
1050
+ "opcode": "ariaPosinset",
1051
+ "args": [
1052
+ {
1053
+ "kind": "int",
1054
+ "value": "1"
1055
+ }
1056
+ ]
1057
+ },
1058
+ {
1059
+ "kind": "int",
1060
+ "value": "1"
1061
+ }
1062
+ ]
1063
+ },
1064
+ {
1065
+ "kind": "app",
1066
+ "opcode": "eq",
1067
+ "args": [
1068
+ {
1069
+ "kind": "app",
1070
+ "opcode": "ariaPosinset",
1071
+ "args": [
1072
+ {
1073
+ "kind": "name",
1074
+ "name": "loaded"
1075
+ }
1076
+ ]
1077
+ },
1078
+ {
1079
+ "kind": "name",
1080
+ "name": "loaded"
1081
+ }
1082
+ ]
1083
+ }
1084
+ ]
1085
+ }
1086
+ },
1087
+ "PosinsetWithinSetsize": {
1088
+ "kind": "invariant",
1089
+ "params": [],
1090
+ "body": {
1091
+ "kind": "app",
1092
+ "opcode": "or",
1093
+ "args": [
1094
+ {
1095
+ "kind": "app",
1096
+ "opcode": "eq",
1097
+ "args": [
1098
+ {
1099
+ "kind": "app",
1100
+ "opcode": "ariaSetsize",
1101
+ "args": [
1102
+ {
1103
+ "kind": "name",
1104
+ "name": "sizeMode"
1105
+ },
1106
+ {
1107
+ "kind": "name",
1108
+ "name": "totalKnown"
1109
+ },
1110
+ {
1111
+ "kind": "name",
1112
+ "name": "loaded"
1113
+ }
1114
+ ]
1115
+ },
1116
+ {
1117
+ "kind": "app",
1118
+ "opcode": "iuminus",
1119
+ "args": [
1120
+ {
1121
+ "kind": "int",
1122
+ "value": "1"
1123
+ }
1124
+ ]
1125
+ }
1126
+ ]
1127
+ },
1128
+ {
1129
+ "kind": "app",
1130
+ "opcode": "ilte",
1131
+ "args": [
1132
+ {
1133
+ "kind": "app",
1134
+ "opcode": "ariaPosinset",
1135
+ "args": [
1136
+ {
1137
+ "kind": "name",
1138
+ "name": "loaded"
1139
+ }
1140
+ ]
1141
+ },
1142
+ {
1143
+ "kind": "app",
1144
+ "opcode": "ariaSetsize",
1145
+ "args": [
1146
+ {
1147
+ "kind": "name",
1148
+ "name": "sizeMode"
1149
+ },
1150
+ {
1151
+ "kind": "name",
1152
+ "name": "totalKnown"
1153
+ },
1154
+ {
1155
+ "kind": "name",
1156
+ "name": "loaded"
1157
+ }
1158
+ ]
1159
+ }
1160
+ ]
1161
+ }
1162
+ ]
1163
+ }
1164
+ },
1165
+ "FocusedPosinsetWithinSetsize": {
1166
+ "kind": "invariant",
1167
+ "params": [],
1168
+ "body": {
1169
+ "kind": "app",
1170
+ "opcode": "or",
1171
+ "args": [
1172
+ {
1173
+ "kind": "app",
1174
+ "opcode": "not",
1175
+ "args": [
1176
+ {
1177
+ "kind": "app",
1178
+ "opcode": "inFeed",
1179
+ "args": [
1180
+ {
1181
+ "kind": "name",
1182
+ "name": "zone"
1183
+ }
1184
+ ]
1185
+ }
1186
+ ]
1187
+ },
1188
+ {
1189
+ "kind": "app",
1190
+ "opcode": "or",
1191
+ "args": [
1192
+ {
1193
+ "kind": "app",
1194
+ "opcode": "eq",
1195
+ "args": [
1196
+ {
1197
+ "kind": "app",
1198
+ "opcode": "ariaSetsize",
1199
+ "args": [
1200
+ {
1201
+ "kind": "name",
1202
+ "name": "sizeMode"
1203
+ },
1204
+ {
1205
+ "kind": "name",
1206
+ "name": "totalKnown"
1207
+ },
1208
+ {
1209
+ "kind": "name",
1210
+ "name": "loaded"
1211
+ }
1212
+ ]
1213
+ },
1214
+ {
1215
+ "kind": "app",
1216
+ "opcode": "iuminus",
1217
+ "args": [
1218
+ {
1219
+ "kind": "int",
1220
+ "value": "1"
1221
+ }
1222
+ ]
1223
+ }
1224
+ ]
1225
+ },
1226
+ {
1227
+ "kind": "app",
1228
+ "opcode": "ilte",
1229
+ "args": [
1230
+ {
1231
+ "kind": "app",
1232
+ "opcode": "ariaPosinset",
1233
+ "args": [
1234
+ {
1235
+ "kind": "name",
1236
+ "name": "focus"
1237
+ }
1238
+ ]
1239
+ },
1240
+ {
1241
+ "kind": "app",
1242
+ "opcode": "ariaSetsize",
1243
+ "args": [
1244
+ {
1245
+ "kind": "name",
1246
+ "name": "sizeMode"
1247
+ },
1248
+ {
1249
+ "kind": "name",
1250
+ "name": "totalKnown"
1251
+ },
1252
+ {
1253
+ "kind": "name",
1254
+ "name": "loaded"
1255
+ }
1256
+ ]
1257
+ }
1258
+ ]
1259
+ }
1260
+ ]
1261
+ }
1262
+ ]
1263
+ }
1264
+ },
1265
+ "SetsizeUnknownOnlyWhenTotalUnknown": {
1266
+ "kind": "invariant",
1267
+ "params": [],
1268
+ "body": {
1269
+ "kind": "app",
1270
+ "opcode": "or",
1271
+ "args": [
1272
+ {
1273
+ "kind": "app",
1274
+ "opcode": "and",
1275
+ "args": [
1276
+ {
1277
+ "kind": "app",
1278
+ "opcode": "eq",
1279
+ "args": [
1280
+ {
1281
+ "kind": "app",
1282
+ "opcode": "ariaSetsize",
1283
+ "args": [
1284
+ {
1285
+ "kind": "name",
1286
+ "name": "sizeMode"
1287
+ },
1288
+ {
1289
+ "kind": "name",
1290
+ "name": "totalKnown"
1291
+ },
1292
+ {
1293
+ "kind": "name",
1294
+ "name": "loaded"
1295
+ }
1296
+ ]
1297
+ },
1298
+ {
1299
+ "kind": "app",
1300
+ "opcode": "iuminus",
1301
+ "args": [
1302
+ {
1303
+ "kind": "int",
1304
+ "value": "1"
1305
+ }
1306
+ ]
1307
+ }
1308
+ ]
1309
+ },
1310
+ {
1311
+ "kind": "app",
1312
+ "opcode": "and",
1313
+ "args": [
1314
+ {
1315
+ "kind": "app",
1316
+ "opcode": "eq",
1317
+ "args": [
1318
+ {
1319
+ "kind": "name",
1320
+ "name": "sizeMode"
1321
+ },
1322
+ {
1323
+ "kind": "str",
1324
+ "value": "total"
1325
+ }
1326
+ ]
1327
+ },
1328
+ {
1329
+ "kind": "app",
1330
+ "opcode": "not",
1331
+ "args": [
1332
+ {
1333
+ "kind": "name",
1334
+ "name": "totalKnown"
1335
+ }
1336
+ ]
1337
+ }
1338
+ ]
1339
+ }
1340
+ ]
1341
+ },
1342
+ {
1343
+ "kind": "app",
1344
+ "opcode": "and",
1345
+ "args": [
1346
+ {
1347
+ "kind": "app",
1348
+ "opcode": "not",
1349
+ "args": [
1350
+ {
1351
+ "kind": "app",
1352
+ "opcode": "eq",
1353
+ "args": [
1354
+ {
1355
+ "kind": "app",
1356
+ "opcode": "ariaSetsize",
1357
+ "args": [
1358
+ {
1359
+ "kind": "name",
1360
+ "name": "sizeMode"
1361
+ },
1362
+ {
1363
+ "kind": "name",
1364
+ "name": "totalKnown"
1365
+ },
1366
+ {
1367
+ "kind": "name",
1368
+ "name": "loaded"
1369
+ }
1370
+ ]
1371
+ },
1372
+ {
1373
+ "kind": "app",
1374
+ "opcode": "iuminus",
1375
+ "args": [
1376
+ {
1377
+ "kind": "int",
1378
+ "value": "1"
1379
+ }
1380
+ ]
1381
+ }
1382
+ ]
1383
+ }
1384
+ ]
1385
+ },
1386
+ {
1387
+ "kind": "app",
1388
+ "opcode": "not",
1389
+ "args": [
1390
+ {
1391
+ "kind": "app",
1392
+ "opcode": "and",
1393
+ "args": [
1394
+ {
1395
+ "kind": "app",
1396
+ "opcode": "eq",
1397
+ "args": [
1398
+ {
1399
+ "kind": "name",
1400
+ "name": "sizeMode"
1401
+ },
1402
+ {
1403
+ "kind": "str",
1404
+ "value": "total"
1405
+ }
1406
+ ]
1407
+ },
1408
+ {
1409
+ "kind": "app",
1410
+ "opcode": "not",
1411
+ "args": [
1412
+ {
1413
+ "kind": "name",
1414
+ "name": "totalKnown"
1415
+ }
1416
+ ]
1417
+ }
1418
+ ]
1419
+ }
1420
+ ]
1421
+ }
1422
+ ]
1423
+ }
1424
+ ]
1425
+ }
1426
+ },
1427
+ "SetsizeValid": {
1428
+ "kind": "invariant",
1429
+ "params": [],
1430
+ "body": {
1431
+ "kind": "app",
1432
+ "opcode": "or",
1433
+ "args": [
1434
+ {
1435
+ "kind": "app",
1436
+ "opcode": "eq",
1437
+ "args": [
1438
+ {
1439
+ "kind": "app",
1440
+ "opcode": "ariaSetsize",
1441
+ "args": [
1442
+ {
1443
+ "kind": "name",
1444
+ "name": "sizeMode"
1445
+ },
1446
+ {
1447
+ "kind": "name",
1448
+ "name": "totalKnown"
1449
+ },
1450
+ {
1451
+ "kind": "name",
1452
+ "name": "loaded"
1453
+ }
1454
+ ]
1455
+ },
1456
+ {
1457
+ "kind": "app",
1458
+ "opcode": "iuminus",
1459
+ "args": [
1460
+ {
1461
+ "kind": "int",
1462
+ "value": "1"
1463
+ }
1464
+ ]
1465
+ }
1466
+ ]
1467
+ },
1468
+ {
1469
+ "kind": "app",
1470
+ "opcode": "igte",
1471
+ "args": [
1472
+ {
1473
+ "kind": "app",
1474
+ "opcode": "ariaSetsize",
1475
+ "args": [
1476
+ {
1477
+ "kind": "name",
1478
+ "name": "sizeMode"
1479
+ },
1480
+ {
1481
+ "kind": "name",
1482
+ "name": "totalKnown"
1483
+ },
1484
+ {
1485
+ "kind": "name",
1486
+ "name": "loaded"
1487
+ }
1488
+ ]
1489
+ },
1490
+ {
1491
+ "kind": "int",
1492
+ "value": "1"
1493
+ }
1494
+ ]
1495
+ }
1496
+ ]
1497
+ }
1498
+ },
1499
+ "ArticlesTabbable": {
1500
+ "kind": "invariant",
1501
+ "params": [],
1502
+ "body": {
1503
+ "kind": "app",
1504
+ "opcode": "eq",
1505
+ "args": [
1506
+ {
1507
+ "kind": "app",
1508
+ "opcode": "articleTabindex",
1509
+ "args": [
1510
+ {
1511
+ "kind": "name",
1512
+ "name": "loaded"
1513
+ }
1514
+ ]
1515
+ },
1516
+ {
1517
+ "kind": "int",
1518
+ "value": "0"
1519
+ }
1520
+ ]
1521
+ }
1522
+ },
1523
+ "RequestsNonNegative": {
1524
+ "kind": "invariant",
1525
+ "params": [],
1526
+ "body": {
1527
+ "kind": "app",
1528
+ "opcode": "igte",
1529
+ "args": [
1530
+ {
1531
+ "kind": "name",
1532
+ "name": "requests"
1533
+ },
1534
+ {
1535
+ "kind": "int",
1536
+ "value": "0"
1537
+ }
1538
+ ]
1539
+ }
1540
+ },
1541
+ "ControlledFollowsProp": {
1542
+ "kind": "invariant",
1543
+ "params": [],
1544
+ "body": {
1545
+ "kind": "app",
1546
+ "opcode": "or",
1547
+ "args": [
1548
+ {
1549
+ "kind": "app",
1550
+ "opcode": "not",
1551
+ "args": [
1552
+ {
1553
+ "kind": "name",
1554
+ "name": "controlled"
1555
+ }
1556
+ ]
1557
+ },
1558
+ {
1559
+ "kind": "app",
1560
+ "opcode": "eq",
1561
+ "args": [
1562
+ {
1563
+ "kind": "name",
1564
+ "name": "loaded"
1565
+ },
1566
+ {
1567
+ "kind": "name",
1568
+ "name": "valueProp"
1569
+ }
1570
+ ]
1571
+ }
1572
+ ]
1573
+ }
1574
+ },
1575
+ "RejectedRequestUntouched": {
1576
+ "kind": "invariant",
1577
+ "params": [],
1578
+ "body": {
1579
+ "kind": "app",
1580
+ "opcode": "or",
1581
+ "args": [
1582
+ {
1583
+ "kind": "app",
1584
+ "opcode": "not",
1585
+ "args": [
1586
+ {
1587
+ "kind": "app",
1588
+ "opcode": "eq",
1589
+ "args": [
1590
+ {
1591
+ "kind": "name",
1592
+ "name": "outcome"
1593
+ },
1594
+ {
1595
+ "kind": "str",
1596
+ "value": "rejected"
1597
+ }
1598
+ ]
1599
+ }
1600
+ ]
1601
+ },
1602
+ {
1603
+ "kind": "app",
1604
+ "opcode": "eq",
1605
+ "args": [
1606
+ {
1607
+ "kind": "name",
1608
+ "name": "loaded"
1609
+ },
1610
+ {
1611
+ "kind": "name",
1612
+ "name": "base"
1613
+ }
1614
+ ]
1615
+ }
1616
+ ]
1617
+ }
1618
+ },
1619
+ "AcceptedRequestCommits": {
1620
+ "kind": "invariant",
1621
+ "params": [],
1622
+ "body": {
1623
+ "kind": "app",
1624
+ "opcode": "or",
1625
+ "args": [
1626
+ {
1627
+ "kind": "app",
1628
+ "opcode": "not",
1629
+ "args": [
1630
+ {
1631
+ "kind": "app",
1632
+ "opcode": "eq",
1633
+ "args": [
1634
+ {
1635
+ "kind": "name",
1636
+ "name": "outcome"
1637
+ },
1638
+ {
1639
+ "kind": "str",
1640
+ "value": "accepted"
1641
+ }
1642
+ ]
1643
+ }
1644
+ ]
1645
+ },
1646
+ {
1647
+ "kind": "app",
1648
+ "opcode": "eq",
1649
+ "args": [
1650
+ {
1651
+ "kind": "name",
1652
+ "name": "loaded"
1653
+ },
1654
+ {
1655
+ "kind": "name",
1656
+ "name": "requested"
1657
+ }
1658
+ ]
1659
+ }
1660
+ ]
1661
+ }
1662
+ }
1663
+ },
1664
+ "actions": [
1665
+ {
1666
+ "name": "init",
1667
+ "assignments": [
1668
+ {
1669
+ "field": "phase",
1670
+ "rhs": {
1671
+ "kind": "str",
1672
+ "value": "idle"
1673
+ }
1674
+ },
1675
+ {
1676
+ "field": "busy",
1677
+ "rhs": {
1678
+ "kind": "bool",
1679
+ "value": false
1680
+ }
1681
+ },
1682
+ {
1683
+ "field": "loaded",
1684
+ "rhs": {
1685
+ "kind": "int",
1686
+ "value": "1"
1687
+ }
1688
+ },
1689
+ {
1690
+ "field": "zone",
1691
+ "rhs": {
1692
+ "kind": "str",
1693
+ "value": "before"
1694
+ }
1695
+ },
1696
+ {
1697
+ "field": "focus",
1698
+ "rhs": {
1699
+ "kind": "int",
1700
+ "value": "0"
1701
+ }
1702
+ },
1703
+ {
1704
+ "field": "sizeMode",
1705
+ "rhs": {
1706
+ "kind": "str",
1707
+ "value": "loaded"
1708
+ }
1709
+ },
1710
+ {
1711
+ "field": "totalKnown",
1712
+ "rhs": {
1713
+ "kind": "bool",
1714
+ "value": false
1715
+ }
1716
+ },
1717
+ {
1718
+ "field": "controlled",
1719
+ "rhs": {
1720
+ "kind": "bool",
1721
+ "value": false
1722
+ }
1723
+ },
1724
+ {
1725
+ "field": "accepting",
1726
+ "rhs": {
1727
+ "kind": "bool",
1728
+ "value": false
1729
+ }
1730
+ },
1731
+ {
1732
+ "field": "valueProp",
1733
+ "rhs": {
1734
+ "kind": "int",
1735
+ "value": "1"
1736
+ }
1737
+ },
1738
+ {
1739
+ "field": "requested",
1740
+ "rhs": {
1741
+ "kind": "int",
1742
+ "value": "1"
1743
+ }
1744
+ },
1745
+ {
1746
+ "field": "requests",
1747
+ "rhs": {
1748
+ "kind": "int",
1749
+ "value": "0"
1750
+ }
1751
+ },
1752
+ {
1753
+ "field": "outcome",
1754
+ "rhs": {
1755
+ "kind": "str",
1756
+ "value": "none"
1757
+ }
1758
+ },
1759
+ {
1760
+ "field": "base",
1761
+ "rhs": {
1762
+ "kind": "int",
1763
+ "value": "1"
1764
+ }
1765
+ }
1766
+ ]
1767
+ },
1768
+ {
1769
+ "name": "focus_article",
1770
+ "nondet": {
1771
+ "name": "n",
1772
+ "kind": "int",
1773
+ "pool": [
1774
+ "1",
1775
+ "2",
1776
+ "3",
1777
+ "4",
1778
+ "5",
1779
+ "6"
1780
+ ]
1781
+ },
1782
+ "assignments": [
1783
+ {
1784
+ "field": "phase",
1785
+ "rhs": {
1786
+ "kind": "app",
1787
+ "opcode": "ite",
1788
+ "args": [
1789
+ {
1790
+ "kind": "app",
1791
+ "opcode": "focusTriggersLoad",
1792
+ "args": [
1793
+ {
1794
+ "kind": "app",
1795
+ "opcode": "ite",
1796
+ "args": [
1797
+ {
1798
+ "kind": "app",
1799
+ "opcode": "and",
1800
+ "args": [
1801
+ {
1802
+ "kind": "app",
1803
+ "opcode": "igte",
1804
+ "args": [
1805
+ {
1806
+ "kind": "name",
1807
+ "name": "n"
1808
+ },
1809
+ {
1810
+ "kind": "int",
1811
+ "value": "1"
1812
+ }
1813
+ ]
1814
+ },
1815
+ {
1816
+ "kind": "app",
1817
+ "opcode": "ilte",
1818
+ "args": [
1819
+ {
1820
+ "kind": "name",
1821
+ "name": "n"
1822
+ },
1823
+ {
1824
+ "kind": "name",
1825
+ "name": "loaded"
1826
+ }
1827
+ ]
1828
+ }
1829
+ ]
1830
+ },
1831
+ {
1832
+ "kind": "str",
1833
+ "value": "feed"
1834
+ },
1835
+ {
1836
+ "kind": "name",
1837
+ "name": "zone"
1838
+ }
1839
+ ]
1840
+ },
1841
+ {
1842
+ "kind": "app",
1843
+ "opcode": "ite",
1844
+ "args": [
1845
+ {
1846
+ "kind": "app",
1847
+ "opcode": "and",
1848
+ "args": [
1849
+ {
1850
+ "kind": "app",
1851
+ "opcode": "igte",
1852
+ "args": [
1853
+ {
1854
+ "kind": "name",
1855
+ "name": "n"
1856
+ },
1857
+ {
1858
+ "kind": "int",
1859
+ "value": "1"
1860
+ }
1861
+ ]
1862
+ },
1863
+ {
1864
+ "kind": "app",
1865
+ "opcode": "ilte",
1866
+ "args": [
1867
+ {
1868
+ "kind": "name",
1869
+ "name": "n"
1870
+ },
1871
+ {
1872
+ "kind": "name",
1873
+ "name": "loaded"
1874
+ }
1875
+ ]
1876
+ }
1877
+ ]
1878
+ },
1879
+ {
1880
+ "kind": "name",
1881
+ "name": "n"
1882
+ },
1883
+ {
1884
+ "kind": "name",
1885
+ "name": "focus"
1886
+ }
1887
+ ]
1888
+ },
1889
+ {
1890
+ "kind": "name",
1891
+ "name": "phase"
1892
+ },
1893
+ {
1894
+ "kind": "name",
1895
+ "name": "loaded"
1896
+ }
1897
+ ]
1898
+ },
1899
+ {
1900
+ "kind": "str",
1901
+ "value": "loading"
1902
+ },
1903
+ {
1904
+ "kind": "name",
1905
+ "name": "phase"
1906
+ }
1907
+ ]
1908
+ }
1909
+ },
1910
+ {
1911
+ "field": "busy",
1912
+ "rhs": {
1913
+ "kind": "app",
1914
+ "opcode": "ite",
1915
+ "args": [
1916
+ {
1917
+ "kind": "app",
1918
+ "opcode": "focusTriggersLoad",
1919
+ "args": [
1920
+ {
1921
+ "kind": "app",
1922
+ "opcode": "ite",
1923
+ "args": [
1924
+ {
1925
+ "kind": "app",
1926
+ "opcode": "and",
1927
+ "args": [
1928
+ {
1929
+ "kind": "app",
1930
+ "opcode": "igte",
1931
+ "args": [
1932
+ {
1933
+ "kind": "name",
1934
+ "name": "n"
1935
+ },
1936
+ {
1937
+ "kind": "int",
1938
+ "value": "1"
1939
+ }
1940
+ ]
1941
+ },
1942
+ {
1943
+ "kind": "app",
1944
+ "opcode": "ilte",
1945
+ "args": [
1946
+ {
1947
+ "kind": "name",
1948
+ "name": "n"
1949
+ },
1950
+ {
1951
+ "kind": "name",
1952
+ "name": "loaded"
1953
+ }
1954
+ ]
1955
+ }
1956
+ ]
1957
+ },
1958
+ {
1959
+ "kind": "str",
1960
+ "value": "feed"
1961
+ },
1962
+ {
1963
+ "kind": "name",
1964
+ "name": "zone"
1965
+ }
1966
+ ]
1967
+ },
1968
+ {
1969
+ "kind": "app",
1970
+ "opcode": "ite",
1971
+ "args": [
1972
+ {
1973
+ "kind": "app",
1974
+ "opcode": "and",
1975
+ "args": [
1976
+ {
1977
+ "kind": "app",
1978
+ "opcode": "igte",
1979
+ "args": [
1980
+ {
1981
+ "kind": "name",
1982
+ "name": "n"
1983
+ },
1984
+ {
1985
+ "kind": "int",
1986
+ "value": "1"
1987
+ }
1988
+ ]
1989
+ },
1990
+ {
1991
+ "kind": "app",
1992
+ "opcode": "ilte",
1993
+ "args": [
1994
+ {
1995
+ "kind": "name",
1996
+ "name": "n"
1997
+ },
1998
+ {
1999
+ "kind": "name",
2000
+ "name": "loaded"
2001
+ }
2002
+ ]
2003
+ }
2004
+ ]
2005
+ },
2006
+ {
2007
+ "kind": "name",
2008
+ "name": "n"
2009
+ },
2010
+ {
2011
+ "kind": "name",
2012
+ "name": "focus"
2013
+ }
2014
+ ]
2015
+ },
2016
+ {
2017
+ "kind": "name",
2018
+ "name": "phase"
2019
+ },
2020
+ {
2021
+ "kind": "name",
2022
+ "name": "loaded"
2023
+ }
2024
+ ]
2025
+ },
2026
+ {
2027
+ "kind": "bool",
2028
+ "value": true
2029
+ },
2030
+ {
2031
+ "kind": "name",
2032
+ "name": "busy"
2033
+ }
2034
+ ]
2035
+ }
2036
+ },
2037
+ {
2038
+ "field": "loaded",
2039
+ "rhs": {
2040
+ "kind": "name",
2041
+ "name": "loaded"
2042
+ }
2043
+ },
2044
+ {
2045
+ "field": "zone",
2046
+ "rhs": {
2047
+ "kind": "app",
2048
+ "opcode": "ite",
2049
+ "args": [
2050
+ {
2051
+ "kind": "app",
2052
+ "opcode": "and",
2053
+ "args": [
2054
+ {
2055
+ "kind": "app",
2056
+ "opcode": "igte",
2057
+ "args": [
2058
+ {
2059
+ "kind": "name",
2060
+ "name": "n"
2061
+ },
2062
+ {
2063
+ "kind": "int",
2064
+ "value": "1"
2065
+ }
2066
+ ]
2067
+ },
2068
+ {
2069
+ "kind": "app",
2070
+ "opcode": "ilte",
2071
+ "args": [
2072
+ {
2073
+ "kind": "name",
2074
+ "name": "n"
2075
+ },
2076
+ {
2077
+ "kind": "name",
2078
+ "name": "loaded"
2079
+ }
2080
+ ]
2081
+ }
2082
+ ]
2083
+ },
2084
+ {
2085
+ "kind": "str",
2086
+ "value": "feed"
2087
+ },
2088
+ {
2089
+ "kind": "name",
2090
+ "name": "zone"
2091
+ }
2092
+ ]
2093
+ }
2094
+ },
2095
+ {
2096
+ "field": "focus",
2097
+ "rhs": {
2098
+ "kind": "app",
2099
+ "opcode": "ite",
2100
+ "args": [
2101
+ {
2102
+ "kind": "app",
2103
+ "opcode": "and",
2104
+ "args": [
2105
+ {
2106
+ "kind": "app",
2107
+ "opcode": "igte",
2108
+ "args": [
2109
+ {
2110
+ "kind": "name",
2111
+ "name": "n"
2112
+ },
2113
+ {
2114
+ "kind": "int",
2115
+ "value": "1"
2116
+ }
2117
+ ]
2118
+ },
2119
+ {
2120
+ "kind": "app",
2121
+ "opcode": "ilte",
2122
+ "args": [
2123
+ {
2124
+ "kind": "name",
2125
+ "name": "n"
2126
+ },
2127
+ {
2128
+ "kind": "name",
2129
+ "name": "loaded"
2130
+ }
2131
+ ]
2132
+ }
2133
+ ]
2134
+ },
2135
+ {
2136
+ "kind": "name",
2137
+ "name": "n"
2138
+ },
2139
+ {
2140
+ "kind": "name",
2141
+ "name": "focus"
2142
+ }
2143
+ ]
2144
+ }
2145
+ },
2146
+ {
2147
+ "field": "sizeMode",
2148
+ "rhs": {
2149
+ "kind": "name",
2150
+ "name": "sizeMode"
2151
+ }
2152
+ },
2153
+ {
2154
+ "field": "totalKnown",
2155
+ "rhs": {
2156
+ "kind": "name",
2157
+ "name": "totalKnown"
2158
+ }
2159
+ },
2160
+ {
2161
+ "field": "controlled",
2162
+ "rhs": {
2163
+ "kind": "name",
2164
+ "name": "controlled"
2165
+ }
2166
+ },
2167
+ {
2168
+ "field": "accepting",
2169
+ "rhs": {
2170
+ "kind": "name",
2171
+ "name": "accepting"
2172
+ }
2173
+ },
2174
+ {
2175
+ "field": "valueProp",
2176
+ "rhs": {
2177
+ "kind": "name",
2178
+ "name": "valueProp"
2179
+ }
2180
+ },
2181
+ {
2182
+ "field": "requested",
2183
+ "rhs": {
2184
+ "kind": "name",
2185
+ "name": "requested"
2186
+ }
2187
+ },
2188
+ {
2189
+ "field": "requests",
2190
+ "rhs": {
2191
+ "kind": "name",
2192
+ "name": "requests"
2193
+ }
2194
+ },
2195
+ {
2196
+ "field": "outcome",
2197
+ "rhs": {
2198
+ "kind": "name",
2199
+ "name": "outcome"
2200
+ }
2201
+ },
2202
+ {
2203
+ "field": "base",
2204
+ "rhs": {
2205
+ "kind": "name",
2206
+ "name": "base"
2207
+ }
2208
+ }
2209
+ ]
2210
+ },
2211
+ {
2212
+ "name": "page_down",
2213
+ "assignments": [
2214
+ {
2215
+ "field": "phase",
2216
+ "rhs": {
2217
+ "kind": "app",
2218
+ "opcode": "ite",
2219
+ "args": [
2220
+ {
2221
+ "kind": "app",
2222
+ "opcode": "focusTriggersLoad",
2223
+ "args": [
2224
+ {
2225
+ "kind": "name",
2226
+ "name": "zone"
2227
+ },
2228
+ {
2229
+ "kind": "app",
2230
+ "opcode": "pageDownTarget",
2231
+ "args": [
2232
+ {
2233
+ "kind": "name",
2234
+ "name": "zone"
2235
+ },
2236
+ {
2237
+ "kind": "name",
2238
+ "name": "focus"
2239
+ },
2240
+ {
2241
+ "kind": "name",
2242
+ "name": "loaded"
2243
+ }
2244
+ ]
2245
+ },
2246
+ {
2247
+ "kind": "name",
2248
+ "name": "phase"
2249
+ },
2250
+ {
2251
+ "kind": "name",
2252
+ "name": "loaded"
2253
+ }
2254
+ ]
2255
+ },
2256
+ {
2257
+ "kind": "str",
2258
+ "value": "loading"
2259
+ },
2260
+ {
2261
+ "kind": "name",
2262
+ "name": "phase"
2263
+ }
2264
+ ]
2265
+ }
2266
+ },
2267
+ {
2268
+ "field": "busy",
2269
+ "rhs": {
2270
+ "kind": "app",
2271
+ "opcode": "ite",
2272
+ "args": [
2273
+ {
2274
+ "kind": "app",
2275
+ "opcode": "focusTriggersLoad",
2276
+ "args": [
2277
+ {
2278
+ "kind": "name",
2279
+ "name": "zone"
2280
+ },
2281
+ {
2282
+ "kind": "app",
2283
+ "opcode": "pageDownTarget",
2284
+ "args": [
2285
+ {
2286
+ "kind": "name",
2287
+ "name": "zone"
2288
+ },
2289
+ {
2290
+ "kind": "name",
2291
+ "name": "focus"
2292
+ },
2293
+ {
2294
+ "kind": "name",
2295
+ "name": "loaded"
2296
+ }
2297
+ ]
2298
+ },
2299
+ {
2300
+ "kind": "name",
2301
+ "name": "phase"
2302
+ },
2303
+ {
2304
+ "kind": "name",
2305
+ "name": "loaded"
2306
+ }
2307
+ ]
2308
+ },
2309
+ {
2310
+ "kind": "bool",
2311
+ "value": true
2312
+ },
2313
+ {
2314
+ "kind": "name",
2315
+ "name": "busy"
2316
+ }
2317
+ ]
2318
+ }
2319
+ },
2320
+ {
2321
+ "field": "loaded",
2322
+ "rhs": {
2323
+ "kind": "name",
2324
+ "name": "loaded"
2325
+ }
2326
+ },
2327
+ {
2328
+ "field": "zone",
2329
+ "rhs": {
2330
+ "kind": "name",
2331
+ "name": "zone"
2332
+ }
2333
+ },
2334
+ {
2335
+ "field": "focus",
2336
+ "rhs": {
2337
+ "kind": "app",
2338
+ "opcode": "pageDownTarget",
2339
+ "args": [
2340
+ {
2341
+ "kind": "name",
2342
+ "name": "zone"
2343
+ },
2344
+ {
2345
+ "kind": "name",
2346
+ "name": "focus"
2347
+ },
2348
+ {
2349
+ "kind": "name",
2350
+ "name": "loaded"
2351
+ }
2352
+ ]
2353
+ }
2354
+ },
2355
+ {
2356
+ "field": "sizeMode",
2357
+ "rhs": {
2358
+ "kind": "name",
2359
+ "name": "sizeMode"
2360
+ }
2361
+ },
2362
+ {
2363
+ "field": "totalKnown",
2364
+ "rhs": {
2365
+ "kind": "name",
2366
+ "name": "totalKnown"
2367
+ }
2368
+ },
2369
+ {
2370
+ "field": "controlled",
2371
+ "rhs": {
2372
+ "kind": "name",
2373
+ "name": "controlled"
2374
+ }
2375
+ },
2376
+ {
2377
+ "field": "accepting",
2378
+ "rhs": {
2379
+ "kind": "name",
2380
+ "name": "accepting"
2381
+ }
2382
+ },
2383
+ {
2384
+ "field": "valueProp",
2385
+ "rhs": {
2386
+ "kind": "name",
2387
+ "name": "valueProp"
2388
+ }
2389
+ },
2390
+ {
2391
+ "field": "requested",
2392
+ "rhs": {
2393
+ "kind": "name",
2394
+ "name": "requested"
2395
+ }
2396
+ },
2397
+ {
2398
+ "field": "requests",
2399
+ "rhs": {
2400
+ "kind": "name",
2401
+ "name": "requests"
2402
+ }
2403
+ },
2404
+ {
2405
+ "field": "outcome",
2406
+ "rhs": {
2407
+ "kind": "name",
2408
+ "name": "outcome"
2409
+ }
2410
+ },
2411
+ {
2412
+ "field": "base",
2413
+ "rhs": {
2414
+ "kind": "name",
2415
+ "name": "base"
2416
+ }
2417
+ }
2418
+ ]
2419
+ },
2420
+ {
2421
+ "name": "page_up",
2422
+ "assignments": [
2423
+ {
2424
+ "field": "phase",
2425
+ "rhs": {
2426
+ "kind": "name",
2427
+ "name": "phase"
2428
+ }
2429
+ },
2430
+ {
2431
+ "field": "busy",
2432
+ "rhs": {
2433
+ "kind": "name",
2434
+ "name": "busy"
2435
+ }
2436
+ },
2437
+ {
2438
+ "field": "loaded",
2439
+ "rhs": {
2440
+ "kind": "name",
2441
+ "name": "loaded"
2442
+ }
2443
+ },
2444
+ {
2445
+ "field": "zone",
2446
+ "rhs": {
2447
+ "kind": "name",
2448
+ "name": "zone"
2449
+ }
2450
+ },
2451
+ {
2452
+ "field": "focus",
2453
+ "rhs": {
2454
+ "kind": "app",
2455
+ "opcode": "pageUpTarget",
2456
+ "args": [
2457
+ {
2458
+ "kind": "name",
2459
+ "name": "zone"
2460
+ },
2461
+ {
2462
+ "kind": "name",
2463
+ "name": "focus"
2464
+ }
2465
+ ]
2466
+ }
2467
+ },
2468
+ {
2469
+ "field": "sizeMode",
2470
+ "rhs": {
2471
+ "kind": "name",
2472
+ "name": "sizeMode"
2473
+ }
2474
+ },
2475
+ {
2476
+ "field": "totalKnown",
2477
+ "rhs": {
2478
+ "kind": "name",
2479
+ "name": "totalKnown"
2480
+ }
2481
+ },
2482
+ {
2483
+ "field": "controlled",
2484
+ "rhs": {
2485
+ "kind": "name",
2486
+ "name": "controlled"
2487
+ }
2488
+ },
2489
+ {
2490
+ "field": "accepting",
2491
+ "rhs": {
2492
+ "kind": "name",
2493
+ "name": "accepting"
2494
+ }
2495
+ },
2496
+ {
2497
+ "field": "valueProp",
2498
+ "rhs": {
2499
+ "kind": "name",
2500
+ "name": "valueProp"
2501
+ }
2502
+ },
2503
+ {
2504
+ "field": "requested",
2505
+ "rhs": {
2506
+ "kind": "name",
2507
+ "name": "requested"
2508
+ }
2509
+ },
2510
+ {
2511
+ "field": "requests",
2512
+ "rhs": {
2513
+ "kind": "name",
2514
+ "name": "requests"
2515
+ }
2516
+ },
2517
+ {
2518
+ "field": "outcome",
2519
+ "rhs": {
2520
+ "kind": "name",
2521
+ "name": "outcome"
2522
+ }
2523
+ },
2524
+ {
2525
+ "field": "base",
2526
+ "rhs": {
2527
+ "kind": "name",
2528
+ "name": "base"
2529
+ }
2530
+ }
2531
+ ]
2532
+ },
2533
+ {
2534
+ "name": "ctrl_end",
2535
+ "assignments": [
2536
+ {
2537
+ "field": "phase",
2538
+ "rhs": {
2539
+ "kind": "name",
2540
+ "name": "phase"
2541
+ }
2542
+ },
2543
+ {
2544
+ "field": "busy",
2545
+ "rhs": {
2546
+ "kind": "name",
2547
+ "name": "busy"
2548
+ }
2549
+ },
2550
+ {
2551
+ "field": "loaded",
2552
+ "rhs": {
2553
+ "kind": "name",
2554
+ "name": "loaded"
2555
+ }
2556
+ },
2557
+ {
2558
+ "field": "zone",
2559
+ "rhs": {
2560
+ "kind": "app",
2561
+ "opcode": "ite",
2562
+ "args": [
2563
+ {
2564
+ "kind": "app",
2565
+ "opcode": "inFeed",
2566
+ "args": [
2567
+ {
2568
+ "kind": "name",
2569
+ "name": "zone"
2570
+ }
2571
+ ]
2572
+ },
2573
+ {
2574
+ "kind": "str",
2575
+ "value": "after"
2576
+ },
2577
+ {
2578
+ "kind": "name",
2579
+ "name": "zone"
2580
+ }
2581
+ ]
2582
+ }
2583
+ },
2584
+ {
2585
+ "field": "focus",
2586
+ "rhs": {
2587
+ "kind": "app",
2588
+ "opcode": "ite",
2589
+ "args": [
2590
+ {
2591
+ "kind": "app",
2592
+ "opcode": "inFeed",
2593
+ "args": [
2594
+ {
2595
+ "kind": "name",
2596
+ "name": "zone"
2597
+ }
2598
+ ]
2599
+ },
2600
+ {
2601
+ "kind": "int",
2602
+ "value": "0"
2603
+ },
2604
+ {
2605
+ "kind": "name",
2606
+ "name": "focus"
2607
+ }
2608
+ ]
2609
+ }
2610
+ },
2611
+ {
2612
+ "field": "sizeMode",
2613
+ "rhs": {
2614
+ "kind": "name",
2615
+ "name": "sizeMode"
2616
+ }
2617
+ },
2618
+ {
2619
+ "field": "totalKnown",
2620
+ "rhs": {
2621
+ "kind": "name",
2622
+ "name": "totalKnown"
2623
+ }
2624
+ },
2625
+ {
2626
+ "field": "controlled",
2627
+ "rhs": {
2628
+ "kind": "name",
2629
+ "name": "controlled"
2630
+ }
2631
+ },
2632
+ {
2633
+ "field": "accepting",
2634
+ "rhs": {
2635
+ "kind": "name",
2636
+ "name": "accepting"
2637
+ }
2638
+ },
2639
+ {
2640
+ "field": "valueProp",
2641
+ "rhs": {
2642
+ "kind": "name",
2643
+ "name": "valueProp"
2644
+ }
2645
+ },
2646
+ {
2647
+ "field": "requested",
2648
+ "rhs": {
2649
+ "kind": "name",
2650
+ "name": "requested"
2651
+ }
2652
+ },
2653
+ {
2654
+ "field": "requests",
2655
+ "rhs": {
2656
+ "kind": "name",
2657
+ "name": "requests"
2658
+ }
2659
+ },
2660
+ {
2661
+ "field": "outcome",
2662
+ "rhs": {
2663
+ "kind": "name",
2664
+ "name": "outcome"
2665
+ }
2666
+ },
2667
+ {
2668
+ "field": "base",
2669
+ "rhs": {
2670
+ "kind": "name",
2671
+ "name": "base"
2672
+ }
2673
+ }
2674
+ ]
2675
+ },
2676
+ {
2677
+ "name": "ctrl_home",
2678
+ "assignments": [
2679
+ {
2680
+ "field": "phase",
2681
+ "rhs": {
2682
+ "kind": "name",
2683
+ "name": "phase"
2684
+ }
2685
+ },
2686
+ {
2687
+ "field": "busy",
2688
+ "rhs": {
2689
+ "kind": "name",
2690
+ "name": "busy"
2691
+ }
2692
+ },
2693
+ {
2694
+ "field": "loaded",
2695
+ "rhs": {
2696
+ "kind": "name",
2697
+ "name": "loaded"
2698
+ }
2699
+ },
2700
+ {
2701
+ "field": "zone",
2702
+ "rhs": {
2703
+ "kind": "app",
2704
+ "opcode": "ite",
2705
+ "args": [
2706
+ {
2707
+ "kind": "app",
2708
+ "opcode": "inFeed",
2709
+ "args": [
2710
+ {
2711
+ "kind": "name",
2712
+ "name": "zone"
2713
+ }
2714
+ ]
2715
+ },
2716
+ {
2717
+ "kind": "str",
2718
+ "value": "before"
2719
+ },
2720
+ {
2721
+ "kind": "name",
2722
+ "name": "zone"
2723
+ }
2724
+ ]
2725
+ }
2726
+ },
2727
+ {
2728
+ "field": "focus",
2729
+ "rhs": {
2730
+ "kind": "app",
2731
+ "opcode": "ite",
2732
+ "args": [
2733
+ {
2734
+ "kind": "app",
2735
+ "opcode": "inFeed",
2736
+ "args": [
2737
+ {
2738
+ "kind": "name",
2739
+ "name": "zone"
2740
+ }
2741
+ ]
2742
+ },
2743
+ {
2744
+ "kind": "int",
2745
+ "value": "0"
2746
+ },
2747
+ {
2748
+ "kind": "name",
2749
+ "name": "focus"
2750
+ }
2751
+ ]
2752
+ }
2753
+ },
2754
+ {
2755
+ "field": "sizeMode",
2756
+ "rhs": {
2757
+ "kind": "name",
2758
+ "name": "sizeMode"
2759
+ }
2760
+ },
2761
+ {
2762
+ "field": "totalKnown",
2763
+ "rhs": {
2764
+ "kind": "name",
2765
+ "name": "totalKnown"
2766
+ }
2767
+ },
2768
+ {
2769
+ "field": "controlled",
2770
+ "rhs": {
2771
+ "kind": "name",
2772
+ "name": "controlled"
2773
+ }
2774
+ },
2775
+ {
2776
+ "field": "accepting",
2777
+ "rhs": {
2778
+ "kind": "name",
2779
+ "name": "accepting"
2780
+ }
2781
+ },
2782
+ {
2783
+ "field": "valueProp",
2784
+ "rhs": {
2785
+ "kind": "name",
2786
+ "name": "valueProp"
2787
+ }
2788
+ },
2789
+ {
2790
+ "field": "requested",
2791
+ "rhs": {
2792
+ "kind": "name",
2793
+ "name": "requested"
2794
+ }
2795
+ },
2796
+ {
2797
+ "field": "requests",
2798
+ "rhs": {
2799
+ "kind": "name",
2800
+ "name": "requests"
2801
+ }
2802
+ },
2803
+ {
2804
+ "field": "outcome",
2805
+ "rhs": {
2806
+ "kind": "name",
2807
+ "name": "outcome"
2808
+ }
2809
+ },
2810
+ {
2811
+ "field": "base",
2812
+ "rhs": {
2813
+ "kind": "name",
2814
+ "name": "base"
2815
+ }
2816
+ }
2817
+ ]
2818
+ },
2819
+ {
2820
+ "name": "focus_outside",
2821
+ "nondet": {
2822
+ "name": "side",
2823
+ "kind": "str",
2824
+ "pool": [
2825
+ "before",
2826
+ "after"
2827
+ ]
2828
+ },
2829
+ "assignments": [
2830
+ {
2831
+ "field": "phase",
2832
+ "rhs": {
2833
+ "kind": "name",
2834
+ "name": "phase"
2835
+ }
2836
+ },
2837
+ {
2838
+ "field": "busy",
2839
+ "rhs": {
2840
+ "kind": "name",
2841
+ "name": "busy"
2842
+ }
2843
+ },
2844
+ {
2845
+ "field": "loaded",
2846
+ "rhs": {
2847
+ "kind": "name",
2848
+ "name": "loaded"
2849
+ }
2850
+ },
2851
+ {
2852
+ "field": "zone",
2853
+ "rhs": {
2854
+ "kind": "name",
2855
+ "name": "side"
2856
+ }
2857
+ },
2858
+ {
2859
+ "field": "focus",
2860
+ "rhs": {
2861
+ "kind": "int",
2862
+ "value": "0"
2863
+ }
2864
+ },
2865
+ {
2866
+ "field": "sizeMode",
2867
+ "rhs": {
2868
+ "kind": "name",
2869
+ "name": "sizeMode"
2870
+ }
2871
+ },
2872
+ {
2873
+ "field": "totalKnown",
2874
+ "rhs": {
2875
+ "kind": "name",
2876
+ "name": "totalKnown"
2877
+ }
2878
+ },
2879
+ {
2880
+ "field": "controlled",
2881
+ "rhs": {
2882
+ "kind": "name",
2883
+ "name": "controlled"
2884
+ }
2885
+ },
2886
+ {
2887
+ "field": "accepting",
2888
+ "rhs": {
2889
+ "kind": "name",
2890
+ "name": "accepting"
2891
+ }
2892
+ },
2893
+ {
2894
+ "field": "valueProp",
2895
+ "rhs": {
2896
+ "kind": "name",
2897
+ "name": "valueProp"
2898
+ }
2899
+ },
2900
+ {
2901
+ "field": "requested",
2902
+ "rhs": {
2903
+ "kind": "name",
2904
+ "name": "requested"
2905
+ }
2906
+ },
2907
+ {
2908
+ "field": "requests",
2909
+ "rhs": {
2910
+ "kind": "name",
2911
+ "name": "requests"
2912
+ }
2913
+ },
2914
+ {
2915
+ "field": "outcome",
2916
+ "rhs": {
2917
+ "kind": "name",
2918
+ "name": "outcome"
2919
+ }
2920
+ },
2921
+ {
2922
+ "field": "base",
2923
+ "rhs": {
2924
+ "kind": "name",
2925
+ "name": "base"
2926
+ }
2927
+ }
2928
+ ]
2929
+ },
2930
+ {
2931
+ "name": "load_start",
2932
+ "assignments": [
2933
+ {
2934
+ "field": "phase",
2935
+ "rhs": {
2936
+ "kind": "app",
2937
+ "opcode": "ite",
2938
+ "args": [
2939
+ {
2940
+ "kind": "app",
2941
+ "opcode": "canStartLoad",
2942
+ "args": [
2943
+ {
2944
+ "kind": "name",
2945
+ "name": "phase"
2946
+ },
2947
+ {
2948
+ "kind": "name",
2949
+ "name": "loaded"
2950
+ }
2951
+ ]
2952
+ },
2953
+ {
2954
+ "kind": "str",
2955
+ "value": "loading"
2956
+ },
2957
+ {
2958
+ "kind": "name",
2959
+ "name": "phase"
2960
+ }
2961
+ ]
2962
+ }
2963
+ },
2964
+ {
2965
+ "field": "busy",
2966
+ "rhs": {
2967
+ "kind": "app",
2968
+ "opcode": "ite",
2969
+ "args": [
2970
+ {
2971
+ "kind": "app",
2972
+ "opcode": "canStartLoad",
2973
+ "args": [
2974
+ {
2975
+ "kind": "name",
2976
+ "name": "phase"
2977
+ },
2978
+ {
2979
+ "kind": "name",
2980
+ "name": "loaded"
2981
+ }
2982
+ ]
2983
+ },
2984
+ {
2985
+ "kind": "bool",
2986
+ "value": true
2987
+ },
2988
+ {
2989
+ "kind": "name",
2990
+ "name": "busy"
2991
+ }
2992
+ ]
2993
+ }
2994
+ },
2995
+ {
2996
+ "field": "loaded",
2997
+ "rhs": {
2998
+ "kind": "name",
2999
+ "name": "loaded"
3000
+ }
3001
+ },
3002
+ {
3003
+ "field": "zone",
3004
+ "rhs": {
3005
+ "kind": "name",
3006
+ "name": "zone"
3007
+ }
3008
+ },
3009
+ {
3010
+ "field": "focus",
3011
+ "rhs": {
3012
+ "kind": "name",
3013
+ "name": "focus"
3014
+ }
3015
+ },
3016
+ {
3017
+ "field": "sizeMode",
3018
+ "rhs": {
3019
+ "kind": "name",
3020
+ "name": "sizeMode"
3021
+ }
3022
+ },
3023
+ {
3024
+ "field": "totalKnown",
3025
+ "rhs": {
3026
+ "kind": "name",
3027
+ "name": "totalKnown"
3028
+ }
3029
+ },
3030
+ {
3031
+ "field": "controlled",
3032
+ "rhs": {
3033
+ "kind": "name",
3034
+ "name": "controlled"
3035
+ }
3036
+ },
3037
+ {
3038
+ "field": "accepting",
3039
+ "rhs": {
3040
+ "kind": "name",
3041
+ "name": "accepting"
3042
+ }
3043
+ },
3044
+ {
3045
+ "field": "valueProp",
3046
+ "rhs": {
3047
+ "kind": "name",
3048
+ "name": "valueProp"
3049
+ }
3050
+ },
3051
+ {
3052
+ "field": "requested",
3053
+ "rhs": {
3054
+ "kind": "name",
3055
+ "name": "requested"
3056
+ }
3057
+ },
3058
+ {
3059
+ "field": "requests",
3060
+ "rhs": {
3061
+ "kind": "name",
3062
+ "name": "requests"
3063
+ }
3064
+ },
3065
+ {
3066
+ "field": "outcome",
3067
+ "rhs": {
3068
+ "kind": "name",
3069
+ "name": "outcome"
3070
+ }
3071
+ },
3072
+ {
3073
+ "field": "base",
3074
+ "rhs": {
3075
+ "kind": "name",
3076
+ "name": "base"
3077
+ }
3078
+ }
3079
+ ]
3080
+ },
3081
+ {
3082
+ "name": "load_finish",
3083
+ "nondet": {
3084
+ "name": "n",
3085
+ "kind": "int",
3086
+ "pool": [
3087
+ "1",
3088
+ "2",
3089
+ "3"
3090
+ ]
3091
+ },
3092
+ "assignments": [
3093
+ {
3094
+ "field": "phase",
3095
+ "rhs": {
3096
+ "kind": "app",
3097
+ "opcode": "ite",
3098
+ "args": [
3099
+ {
3100
+ "kind": "app",
3101
+ "opcode": "eq",
3102
+ "args": [
3103
+ {
3104
+ "kind": "name",
3105
+ "name": "phase"
3106
+ },
3107
+ {
3108
+ "kind": "str",
3109
+ "value": "loading"
3110
+ }
3111
+ ]
3112
+ },
3113
+ {
3114
+ "kind": "str",
3115
+ "value": "idle"
3116
+ },
3117
+ {
3118
+ "kind": "name",
3119
+ "name": "phase"
3120
+ }
3121
+ ]
3122
+ }
3123
+ },
3124
+ {
3125
+ "field": "busy",
3126
+ "rhs": {
3127
+ "kind": "app",
3128
+ "opcode": "ite",
3129
+ "args": [
3130
+ {
3131
+ "kind": "app",
3132
+ "opcode": "eq",
3133
+ "args": [
3134
+ {
3135
+ "kind": "name",
3136
+ "name": "phase"
3137
+ },
3138
+ {
3139
+ "kind": "str",
3140
+ "value": "loading"
3141
+ }
3142
+ ]
3143
+ },
3144
+ {
3145
+ "kind": "bool",
3146
+ "value": false
3147
+ },
3148
+ {
3149
+ "kind": "name",
3150
+ "name": "busy"
3151
+ }
3152
+ ]
3153
+ }
3154
+ },
3155
+ {
3156
+ "field": "loaded",
3157
+ "rhs": {
3158
+ "kind": "app",
3159
+ "opcode": "ite",
3160
+ "args": [
3161
+ {
3162
+ "kind": "app",
3163
+ "opcode": "eq",
3164
+ "args": [
3165
+ {
3166
+ "kind": "name",
3167
+ "name": "phase"
3168
+ },
3169
+ {
3170
+ "kind": "str",
3171
+ "value": "loading"
3172
+ }
3173
+ ]
3174
+ },
3175
+ {
3176
+ "kind": "app",
3177
+ "opcode": "landed",
3178
+ "args": [
3179
+ {
3180
+ "kind": "name",
3181
+ "name": "holds"
3182
+ },
3183
+ {
3184
+ "kind": "name",
3185
+ "name": "loaded"
3186
+ },
3187
+ {
3188
+ "kind": "app",
3189
+ "opcode": "finishWant",
3190
+ "args": [
3191
+ {
3192
+ "kind": "bool",
3193
+ "value": true
3194
+ },
3195
+ {
3196
+ "kind": "name",
3197
+ "name": "loaded"
3198
+ },
3199
+ {
3200
+ "kind": "name",
3201
+ "name": "n"
3202
+ }
3203
+ ]
3204
+ }
3205
+ ]
3206
+ },
3207
+ {
3208
+ "kind": "name",
3209
+ "name": "loaded"
3210
+ }
3211
+ ]
3212
+ }
3213
+ },
3214
+ {
3215
+ "field": "zone",
3216
+ "rhs": {
3217
+ "kind": "name",
3218
+ "name": "zone"
3219
+ }
3220
+ },
3221
+ {
3222
+ "field": "focus",
3223
+ "rhs": {
3224
+ "kind": "name",
3225
+ "name": "focus"
3226
+ }
3227
+ },
3228
+ {
3229
+ "field": "sizeMode",
3230
+ "rhs": {
3231
+ "kind": "name",
3232
+ "name": "sizeMode"
3233
+ }
3234
+ },
3235
+ {
3236
+ "field": "totalKnown",
3237
+ "rhs": {
3238
+ "kind": "name",
3239
+ "name": "totalKnown"
3240
+ }
3241
+ },
3242
+ {
3243
+ "field": "controlled",
3244
+ "rhs": {
3245
+ "kind": "name",
3246
+ "name": "controlled"
3247
+ }
3248
+ },
3249
+ {
3250
+ "field": "accepting",
3251
+ "rhs": {
3252
+ "kind": "name",
3253
+ "name": "accepting"
3254
+ }
3255
+ },
3256
+ {
3257
+ "field": "valueProp",
3258
+ "rhs": {
3259
+ "kind": "app",
3260
+ "opcode": "ite",
3261
+ "args": [
3262
+ {
3263
+ "kind": "app",
3264
+ "opcode": "eq",
3265
+ "args": [
3266
+ {
3267
+ "kind": "app",
3268
+ "opcode": "moved",
3269
+ "args": [
3270
+ {
3271
+ "kind": "name",
3272
+ "name": "loaded"
3273
+ },
3274
+ {
3275
+ "kind": "app",
3276
+ "opcode": "finishWant",
3277
+ "args": [
3278
+ {
3279
+ "kind": "app",
3280
+ "opcode": "eq",
3281
+ "args": [
3282
+ {
3283
+ "kind": "name",
3284
+ "name": "phase"
3285
+ },
3286
+ {
3287
+ "kind": "str",
3288
+ "value": "loading"
3289
+ }
3290
+ ]
3291
+ },
3292
+ {
3293
+ "kind": "name",
3294
+ "name": "loaded"
3295
+ },
3296
+ {
3297
+ "kind": "name",
3298
+ "name": "n"
3299
+ }
3300
+ ]
3301
+ }
3302
+ ]
3303
+ },
3304
+ {
3305
+ "kind": "int",
3306
+ "value": "1"
3307
+ }
3308
+ ]
3309
+ },
3310
+ {
3311
+ "kind": "app",
3312
+ "opcode": "propAfter",
3313
+ "args": [
3314
+ {
3315
+ "kind": "name",
3316
+ "name": "follows"
3317
+ },
3318
+ {
3319
+ "kind": "name",
3320
+ "name": "valueProp"
3321
+ },
3322
+ {
3323
+ "kind": "app",
3324
+ "opcode": "finishWant",
3325
+ "args": [
3326
+ {
3327
+ "kind": "bool",
3328
+ "value": true
3329
+ },
3330
+ {
3331
+ "kind": "name",
3332
+ "name": "loaded"
3333
+ },
3334
+ {
3335
+ "kind": "name",
3336
+ "name": "n"
3337
+ }
3338
+ ]
3339
+ }
3340
+ ]
3341
+ },
3342
+ {
3343
+ "kind": "name",
3344
+ "name": "valueProp"
3345
+ }
3346
+ ]
3347
+ }
3348
+ },
3349
+ {
3350
+ "field": "requested",
3351
+ "rhs": {
3352
+ "kind": "app",
3353
+ "opcode": "ite",
3354
+ "args": [
3355
+ {
3356
+ "kind": "app",
3357
+ "opcode": "eq",
3358
+ "args": [
3359
+ {
3360
+ "kind": "app",
3361
+ "opcode": "moved",
3362
+ "args": [
3363
+ {
3364
+ "kind": "name",
3365
+ "name": "loaded"
3366
+ },
3367
+ {
3368
+ "kind": "app",
3369
+ "opcode": "finishWant",
3370
+ "args": [
3371
+ {
3372
+ "kind": "app",
3373
+ "opcode": "eq",
3374
+ "args": [
3375
+ {
3376
+ "kind": "name",
3377
+ "name": "phase"
3378
+ },
3379
+ {
3380
+ "kind": "str",
3381
+ "value": "loading"
3382
+ }
3383
+ ]
3384
+ },
3385
+ {
3386
+ "kind": "name",
3387
+ "name": "loaded"
3388
+ },
3389
+ {
3390
+ "kind": "name",
3391
+ "name": "n"
3392
+ }
3393
+ ]
3394
+ }
3395
+ ]
3396
+ },
3397
+ {
3398
+ "kind": "int",
3399
+ "value": "1"
3400
+ }
3401
+ ]
3402
+ },
3403
+ {
3404
+ "kind": "app",
3405
+ "opcode": "finishWant",
3406
+ "args": [
3407
+ {
3408
+ "kind": "bool",
3409
+ "value": true
3410
+ },
3411
+ {
3412
+ "kind": "name",
3413
+ "name": "loaded"
3414
+ },
3415
+ {
3416
+ "kind": "name",
3417
+ "name": "n"
3418
+ }
3419
+ ]
3420
+ },
3421
+ {
3422
+ "kind": "name",
3423
+ "name": "requested"
3424
+ }
3425
+ ]
3426
+ }
3427
+ },
3428
+ {
3429
+ "field": "requests",
3430
+ "rhs": {
3431
+ "kind": "app",
3432
+ "opcode": "iadd",
3433
+ "args": [
3434
+ {
3435
+ "kind": "name",
3436
+ "name": "requests"
3437
+ },
3438
+ {
3439
+ "kind": "app",
3440
+ "opcode": "moved",
3441
+ "args": [
3442
+ {
3443
+ "kind": "name",
3444
+ "name": "loaded"
3445
+ },
3446
+ {
3447
+ "kind": "app",
3448
+ "opcode": "finishWant",
3449
+ "args": [
3450
+ {
3451
+ "kind": "app",
3452
+ "opcode": "eq",
3453
+ "args": [
3454
+ {
3455
+ "kind": "name",
3456
+ "name": "phase"
3457
+ },
3458
+ {
3459
+ "kind": "str",
3460
+ "value": "loading"
3461
+ }
3462
+ ]
3463
+ },
3464
+ {
3465
+ "kind": "name",
3466
+ "name": "loaded"
3467
+ },
3468
+ {
3469
+ "kind": "name",
3470
+ "name": "n"
3471
+ }
3472
+ ]
3473
+ }
3474
+ ]
3475
+ }
3476
+ ]
3477
+ }
3478
+ },
3479
+ {
3480
+ "field": "outcome",
3481
+ "rhs": {
3482
+ "kind": "app",
3483
+ "opcode": "ite",
3484
+ "args": [
3485
+ {
3486
+ "kind": "app",
3487
+ "opcode": "eq",
3488
+ "args": [
3489
+ {
3490
+ "kind": "app",
3491
+ "opcode": "moved",
3492
+ "args": [
3493
+ {
3494
+ "kind": "name",
3495
+ "name": "loaded"
3496
+ },
3497
+ {
3498
+ "kind": "app",
3499
+ "opcode": "finishWant",
3500
+ "args": [
3501
+ {
3502
+ "kind": "app",
3503
+ "opcode": "eq",
3504
+ "args": [
3505
+ {
3506
+ "kind": "name",
3507
+ "name": "phase"
3508
+ },
3509
+ {
3510
+ "kind": "str",
3511
+ "value": "loading"
3512
+ }
3513
+ ]
3514
+ },
3515
+ {
3516
+ "kind": "name",
3517
+ "name": "loaded"
3518
+ },
3519
+ {
3520
+ "kind": "name",
3521
+ "name": "n"
3522
+ }
3523
+ ]
3524
+ }
3525
+ ]
3526
+ },
3527
+ {
3528
+ "kind": "int",
3529
+ "value": "1"
3530
+ }
3531
+ ]
3532
+ },
3533
+ {
3534
+ "kind": "name",
3535
+ "name": "verdict"
3536
+ },
3537
+ {
3538
+ "kind": "name",
3539
+ "name": "outcome"
3540
+ }
3541
+ ]
3542
+ }
3543
+ },
3544
+ {
3545
+ "field": "base",
3546
+ "rhs": {
3547
+ "kind": "app",
3548
+ "opcode": "ite",
3549
+ "args": [
3550
+ {
3551
+ "kind": "app",
3552
+ "opcode": "eq",
3553
+ "args": [
3554
+ {
3555
+ "kind": "app",
3556
+ "opcode": "moved",
3557
+ "args": [
3558
+ {
3559
+ "kind": "name",
3560
+ "name": "loaded"
3561
+ },
3562
+ {
3563
+ "kind": "app",
3564
+ "opcode": "finishWant",
3565
+ "args": [
3566
+ {
3567
+ "kind": "app",
3568
+ "opcode": "eq",
3569
+ "args": [
3570
+ {
3571
+ "kind": "name",
3572
+ "name": "phase"
3573
+ },
3574
+ {
3575
+ "kind": "str",
3576
+ "value": "loading"
3577
+ }
3578
+ ]
3579
+ },
3580
+ {
3581
+ "kind": "name",
3582
+ "name": "loaded"
3583
+ },
3584
+ {
3585
+ "kind": "name",
3586
+ "name": "n"
3587
+ }
3588
+ ]
3589
+ }
3590
+ ]
3591
+ },
3592
+ {
3593
+ "kind": "int",
3594
+ "value": "1"
3595
+ }
3596
+ ]
3597
+ },
3598
+ {
3599
+ "kind": "name",
3600
+ "name": "loaded"
3601
+ },
3602
+ {
3603
+ "kind": "name",
3604
+ "name": "base"
3605
+ }
3606
+ ]
3607
+ }
3608
+ }
3609
+ ]
3610
+ },
3611
+ {
3612
+ "name": "load_fail",
3613
+ "assignments": [
3614
+ {
3615
+ "field": "phase",
3616
+ "rhs": {
3617
+ "kind": "app",
3618
+ "opcode": "ite",
3619
+ "args": [
3620
+ {
3621
+ "kind": "app",
3622
+ "opcode": "eq",
3623
+ "args": [
3624
+ {
3625
+ "kind": "name",
3626
+ "name": "phase"
3627
+ },
3628
+ {
3629
+ "kind": "str",
3630
+ "value": "loading"
3631
+ }
3632
+ ]
3633
+ },
3634
+ {
3635
+ "kind": "str",
3636
+ "value": "idle"
3637
+ },
3638
+ {
3639
+ "kind": "name",
3640
+ "name": "phase"
3641
+ }
3642
+ ]
3643
+ }
3644
+ },
3645
+ {
3646
+ "field": "busy",
3647
+ "rhs": {
3648
+ "kind": "app",
3649
+ "opcode": "ite",
3650
+ "args": [
3651
+ {
3652
+ "kind": "app",
3653
+ "opcode": "eq",
3654
+ "args": [
3655
+ {
3656
+ "kind": "name",
3657
+ "name": "phase"
3658
+ },
3659
+ {
3660
+ "kind": "str",
3661
+ "value": "loading"
3662
+ }
3663
+ ]
3664
+ },
3665
+ {
3666
+ "kind": "bool",
3667
+ "value": false
3668
+ },
3669
+ {
3670
+ "kind": "name",
3671
+ "name": "busy"
3672
+ }
3673
+ ]
3674
+ }
3675
+ },
3676
+ {
3677
+ "field": "loaded",
3678
+ "rhs": {
3679
+ "kind": "name",
3680
+ "name": "loaded"
3681
+ }
3682
+ },
3683
+ {
3684
+ "field": "zone",
3685
+ "rhs": {
3686
+ "kind": "name",
3687
+ "name": "zone"
3688
+ }
3689
+ },
3690
+ {
3691
+ "field": "focus",
3692
+ "rhs": {
3693
+ "kind": "name",
3694
+ "name": "focus"
3695
+ }
3696
+ },
3697
+ {
3698
+ "field": "sizeMode",
3699
+ "rhs": {
3700
+ "kind": "name",
3701
+ "name": "sizeMode"
3702
+ }
3703
+ },
3704
+ {
3705
+ "field": "totalKnown",
3706
+ "rhs": {
3707
+ "kind": "name",
3708
+ "name": "totalKnown"
3709
+ }
3710
+ },
3711
+ {
3712
+ "field": "controlled",
3713
+ "rhs": {
3714
+ "kind": "name",
3715
+ "name": "controlled"
3716
+ }
3717
+ },
3718
+ {
3719
+ "field": "accepting",
3720
+ "rhs": {
3721
+ "kind": "name",
3722
+ "name": "accepting"
3723
+ }
3724
+ },
3725
+ {
3726
+ "field": "valueProp",
3727
+ "rhs": {
3728
+ "kind": "name",
3729
+ "name": "valueProp"
3730
+ }
3731
+ },
3732
+ {
3733
+ "field": "requested",
3734
+ "rhs": {
3735
+ "kind": "name",
3736
+ "name": "requested"
3737
+ }
3738
+ },
3739
+ {
3740
+ "field": "requests",
3741
+ "rhs": {
3742
+ "kind": "name",
3743
+ "name": "requests"
3744
+ }
3745
+ },
3746
+ {
3747
+ "field": "outcome",
3748
+ "rhs": {
3749
+ "kind": "name",
3750
+ "name": "outcome"
3751
+ }
3752
+ },
3753
+ {
3754
+ "field": "base",
3755
+ "rhs": {
3756
+ "kind": "name",
3757
+ "name": "base"
3758
+ }
3759
+ }
3760
+ ]
3761
+ },
3762
+ {
3763
+ "name": "set_size_mode",
3764
+ "nondet": {
3765
+ "name": "mode",
3766
+ "kind": "str",
3767
+ "pool": [
3768
+ "loaded",
3769
+ "total"
3770
+ ]
3771
+ },
3772
+ "assignments": [
3773
+ {
3774
+ "field": "phase",
3775
+ "rhs": {
3776
+ "kind": "name",
3777
+ "name": "phase"
3778
+ }
3779
+ },
3780
+ {
3781
+ "field": "busy",
3782
+ "rhs": {
3783
+ "kind": "name",
3784
+ "name": "busy"
3785
+ }
3786
+ },
3787
+ {
3788
+ "field": "loaded",
3789
+ "rhs": {
3790
+ "kind": "name",
3791
+ "name": "loaded"
3792
+ }
3793
+ },
3794
+ {
3795
+ "field": "zone",
3796
+ "rhs": {
3797
+ "kind": "name",
3798
+ "name": "zone"
3799
+ }
3800
+ },
3801
+ {
3802
+ "field": "focus",
3803
+ "rhs": {
3804
+ "kind": "name",
3805
+ "name": "focus"
3806
+ }
3807
+ },
3808
+ {
3809
+ "field": "sizeMode",
3810
+ "rhs": {
3811
+ "kind": "name",
3812
+ "name": "mode"
3813
+ }
3814
+ },
3815
+ {
3816
+ "field": "totalKnown",
3817
+ "rhs": {
3818
+ "kind": "name",
3819
+ "name": "totalKnown"
3820
+ }
3821
+ },
3822
+ {
3823
+ "field": "controlled",
3824
+ "rhs": {
3825
+ "kind": "name",
3826
+ "name": "controlled"
3827
+ }
3828
+ },
3829
+ {
3830
+ "field": "accepting",
3831
+ "rhs": {
3832
+ "kind": "name",
3833
+ "name": "accepting"
3834
+ }
3835
+ },
3836
+ {
3837
+ "field": "valueProp",
3838
+ "rhs": {
3839
+ "kind": "name",
3840
+ "name": "valueProp"
3841
+ }
3842
+ },
3843
+ {
3844
+ "field": "requested",
3845
+ "rhs": {
3846
+ "kind": "name",
3847
+ "name": "requested"
3848
+ }
3849
+ },
3850
+ {
3851
+ "field": "requests",
3852
+ "rhs": {
3853
+ "kind": "name",
3854
+ "name": "requests"
3855
+ }
3856
+ },
3857
+ {
3858
+ "field": "outcome",
3859
+ "rhs": {
3860
+ "kind": "name",
3861
+ "name": "outcome"
3862
+ }
3863
+ },
3864
+ {
3865
+ "field": "base",
3866
+ "rhs": {
3867
+ "kind": "name",
3868
+ "name": "base"
3869
+ }
3870
+ }
3871
+ ]
3872
+ },
3873
+ {
3874
+ "name": "set_total_known",
3875
+ "nondet": {
3876
+ "name": "known",
3877
+ "kind": "bool",
3878
+ "pool": [
3879
+ true,
3880
+ false
3881
+ ]
3882
+ },
3883
+ "assignments": [
3884
+ {
3885
+ "field": "phase",
3886
+ "rhs": {
3887
+ "kind": "name",
3888
+ "name": "phase"
3889
+ }
3890
+ },
3891
+ {
3892
+ "field": "busy",
3893
+ "rhs": {
3894
+ "kind": "name",
3895
+ "name": "busy"
3896
+ }
3897
+ },
3898
+ {
3899
+ "field": "loaded",
3900
+ "rhs": {
3901
+ "kind": "name",
3902
+ "name": "loaded"
3903
+ }
3904
+ },
3905
+ {
3906
+ "field": "zone",
3907
+ "rhs": {
3908
+ "kind": "name",
3909
+ "name": "zone"
3910
+ }
3911
+ },
3912
+ {
3913
+ "field": "focus",
3914
+ "rhs": {
3915
+ "kind": "name",
3916
+ "name": "focus"
3917
+ }
3918
+ },
3919
+ {
3920
+ "field": "sizeMode",
3921
+ "rhs": {
3922
+ "kind": "name",
3923
+ "name": "sizeMode"
3924
+ }
3925
+ },
3926
+ {
3927
+ "field": "totalKnown",
3928
+ "rhs": {
3929
+ "kind": "name",
3930
+ "name": "known"
3931
+ }
3932
+ },
3933
+ {
3934
+ "field": "controlled",
3935
+ "rhs": {
3936
+ "kind": "name",
3937
+ "name": "controlled"
3938
+ }
3939
+ },
3940
+ {
3941
+ "field": "accepting",
3942
+ "rhs": {
3943
+ "kind": "name",
3944
+ "name": "accepting"
3945
+ }
3946
+ },
3947
+ {
3948
+ "field": "valueProp",
3949
+ "rhs": {
3950
+ "kind": "name",
3951
+ "name": "valueProp"
3952
+ }
3953
+ },
3954
+ {
3955
+ "field": "requested",
3956
+ "rhs": {
3957
+ "kind": "name",
3958
+ "name": "requested"
3959
+ }
3960
+ },
3961
+ {
3962
+ "field": "requests",
3963
+ "rhs": {
3964
+ "kind": "name",
3965
+ "name": "requests"
3966
+ }
3967
+ },
3968
+ {
3969
+ "field": "outcome",
3970
+ "rhs": {
3971
+ "kind": "name",
3972
+ "name": "outcome"
3973
+ }
3974
+ },
3975
+ {
3976
+ "field": "base",
3977
+ "rhs": {
3978
+ "kind": "name",
3979
+ "name": "base"
3980
+ }
3981
+ }
3982
+ ]
3983
+ },
3984
+ {
3985
+ "name": "setValue",
3986
+ "nondet": {
3987
+ "name": "v",
3988
+ "kind": "int",
3989
+ "pool": [
3990
+ "1",
3991
+ "2",
3992
+ "3",
3993
+ "4",
3994
+ "5",
3995
+ "6"
3996
+ ]
3997
+ },
3998
+ "assignments": [
3999
+ {
4000
+ "field": "phase",
4001
+ "rhs": {
4002
+ "kind": "app",
4003
+ "opcode": "ite",
4004
+ "args": [
4005
+ {
4006
+ "kind": "name",
4007
+ "name": "controlled"
4008
+ },
4009
+ {
4010
+ "kind": "app",
4011
+ "opcode": "ite",
4012
+ "args": [
4013
+ {
4014
+ "kind": "app",
4015
+ "opcode": "and",
4016
+ "args": [
4017
+ {
4018
+ "kind": "app",
4019
+ "opcode": "inFeed",
4020
+ "args": [
4021
+ {
4022
+ "kind": "name",
4023
+ "name": "zone"
4024
+ }
4025
+ ]
4026
+ },
4027
+ {
4028
+ "kind": "app",
4029
+ "opcode": "igt",
4030
+ "args": [
4031
+ {
4032
+ "kind": "name",
4033
+ "name": "focus"
4034
+ },
4035
+ {
4036
+ "kind": "name",
4037
+ "name": "v"
4038
+ }
4039
+ ]
4040
+ },
4041
+ {
4042
+ "kind": "app",
4043
+ "opcode": "hasMore",
4044
+ "args": [
4045
+ {
4046
+ "kind": "name",
4047
+ "name": "v"
4048
+ }
4049
+ ]
4050
+ }
4051
+ ]
4052
+ },
4053
+ {
4054
+ "kind": "str",
4055
+ "value": "loading"
4056
+ },
4057
+ {
4058
+ "kind": "str",
4059
+ "value": "idle"
4060
+ }
4061
+ ]
4062
+ },
4063
+ {
4064
+ "kind": "name",
4065
+ "name": "phase"
4066
+ }
4067
+ ]
4068
+ }
4069
+ },
4070
+ {
4071
+ "field": "busy",
4072
+ "rhs": {
4073
+ "kind": "app",
4074
+ "opcode": "ite",
4075
+ "args": [
4076
+ {
4077
+ "kind": "name",
4078
+ "name": "controlled"
4079
+ },
4080
+ {
4081
+ "kind": "app",
4082
+ "opcode": "and",
4083
+ "args": [
4084
+ {
4085
+ "kind": "app",
4086
+ "opcode": "inFeed",
4087
+ "args": [
4088
+ {
4089
+ "kind": "name",
4090
+ "name": "zone"
4091
+ }
4092
+ ]
4093
+ },
4094
+ {
4095
+ "kind": "app",
4096
+ "opcode": "igt",
4097
+ "args": [
4098
+ {
4099
+ "kind": "name",
4100
+ "name": "focus"
4101
+ },
4102
+ {
4103
+ "kind": "name",
4104
+ "name": "v"
4105
+ }
4106
+ ]
4107
+ },
4108
+ {
4109
+ "kind": "app",
4110
+ "opcode": "hasMore",
4111
+ "args": [
4112
+ {
4113
+ "kind": "name",
4114
+ "name": "v"
4115
+ }
4116
+ ]
4117
+ }
4118
+ ]
4119
+ },
4120
+ {
4121
+ "kind": "name",
4122
+ "name": "busy"
4123
+ }
4124
+ ]
4125
+ }
4126
+ },
4127
+ {
4128
+ "field": "loaded",
4129
+ "rhs": {
4130
+ "kind": "app",
4131
+ "opcode": "ite",
4132
+ "args": [
4133
+ {
4134
+ "kind": "name",
4135
+ "name": "controlled"
4136
+ },
4137
+ {
4138
+ "kind": "name",
4139
+ "name": "v"
4140
+ },
4141
+ {
4142
+ "kind": "name",
4143
+ "name": "loaded"
4144
+ }
4145
+ ]
4146
+ }
4147
+ },
4148
+ {
4149
+ "field": "zone",
4150
+ "rhs": {
4151
+ "kind": "name",
4152
+ "name": "zone"
4153
+ }
4154
+ },
4155
+ {
4156
+ "field": "focus",
4157
+ "rhs": {
4158
+ "kind": "app",
4159
+ "opcode": "ite",
4160
+ "args": [
4161
+ {
4162
+ "kind": "app",
4163
+ "opcode": "and",
4164
+ "args": [
4165
+ {
4166
+ "kind": "name",
4167
+ "name": "controlled"
4168
+ },
4169
+ {
4170
+ "kind": "app",
4171
+ "opcode": "inFeed",
4172
+ "args": [
4173
+ {
4174
+ "kind": "name",
4175
+ "name": "zone"
4176
+ }
4177
+ ]
4178
+ },
4179
+ {
4180
+ "kind": "app",
4181
+ "opcode": "igt",
4182
+ "args": [
4183
+ {
4184
+ "kind": "name",
4185
+ "name": "focus"
4186
+ },
4187
+ {
4188
+ "kind": "name",
4189
+ "name": "v"
4190
+ }
4191
+ ]
4192
+ }
4193
+ ]
4194
+ },
4195
+ {
4196
+ "kind": "name",
4197
+ "name": "v"
4198
+ },
4199
+ {
4200
+ "kind": "name",
4201
+ "name": "focus"
4202
+ }
4203
+ ]
4204
+ }
4205
+ },
4206
+ {
4207
+ "field": "sizeMode",
4208
+ "rhs": {
4209
+ "kind": "name",
4210
+ "name": "sizeMode"
4211
+ }
4212
+ },
4213
+ {
4214
+ "field": "totalKnown",
4215
+ "rhs": {
4216
+ "kind": "name",
4217
+ "name": "totalKnown"
4218
+ }
4219
+ },
4220
+ {
4221
+ "field": "controlled",
4222
+ "rhs": {
4223
+ "kind": "name",
4224
+ "name": "controlled"
4225
+ }
4226
+ },
4227
+ {
4228
+ "field": "accepting",
4229
+ "rhs": {
4230
+ "kind": "name",
4231
+ "name": "accepting"
4232
+ }
4233
+ },
4234
+ {
4235
+ "field": "valueProp",
4236
+ "rhs": {
4237
+ "kind": "app",
4238
+ "opcode": "ite",
4239
+ "args": [
4240
+ {
4241
+ "kind": "name",
4242
+ "name": "controlled"
4243
+ },
4244
+ {
4245
+ "kind": "name",
4246
+ "name": "v"
4247
+ },
4248
+ {
4249
+ "kind": "name",
4250
+ "name": "valueProp"
4251
+ }
4252
+ ]
4253
+ }
4254
+ },
4255
+ {
4256
+ "field": "requested",
4257
+ "rhs": {
4258
+ "kind": "name",
4259
+ "name": "requested"
4260
+ }
4261
+ },
4262
+ {
4263
+ "field": "requests",
4264
+ "rhs": {
4265
+ "kind": "name",
4266
+ "name": "requests"
4267
+ }
4268
+ },
4269
+ {
4270
+ "field": "outcome",
4271
+ "rhs": {
4272
+ "kind": "app",
4273
+ "opcode": "ite",
4274
+ "args": [
4275
+ {
4276
+ "kind": "name",
4277
+ "name": "controlled"
4278
+ },
4279
+ {
4280
+ "kind": "str",
4281
+ "value": "none"
4282
+ },
4283
+ {
4284
+ "kind": "name",
4285
+ "name": "outcome"
4286
+ }
4287
+ ]
4288
+ }
4289
+ },
4290
+ {
4291
+ "field": "base",
4292
+ "rhs": {
4293
+ "kind": "name",
4294
+ "name": "base"
4295
+ }
4296
+ }
4297
+ ]
4298
+ },
4299
+ {
4300
+ "name": "control",
4301
+ "assignments": [
4302
+ {
4303
+ "field": "phase",
4304
+ "rhs": {
4305
+ "kind": "name",
4306
+ "name": "phase"
4307
+ }
4308
+ },
4309
+ {
4310
+ "field": "busy",
4311
+ "rhs": {
4312
+ "kind": "name",
4313
+ "name": "busy"
4314
+ }
4315
+ },
4316
+ {
4317
+ "field": "loaded",
4318
+ "rhs": {
4319
+ "kind": "name",
4320
+ "name": "loaded"
4321
+ }
4322
+ },
4323
+ {
4324
+ "field": "zone",
4325
+ "rhs": {
4326
+ "kind": "name",
4327
+ "name": "zone"
4328
+ }
4329
+ },
4330
+ {
4331
+ "field": "focus",
4332
+ "rhs": {
4333
+ "kind": "name",
4334
+ "name": "focus"
4335
+ }
4336
+ },
4337
+ {
4338
+ "field": "sizeMode",
4339
+ "rhs": {
4340
+ "kind": "name",
4341
+ "name": "sizeMode"
4342
+ }
4343
+ },
4344
+ {
4345
+ "field": "totalKnown",
4346
+ "rhs": {
4347
+ "kind": "name",
4348
+ "name": "totalKnown"
4349
+ }
4350
+ },
4351
+ {
4352
+ "field": "controlled",
4353
+ "rhs": {
4354
+ "kind": "bool",
4355
+ "value": true
4356
+ }
4357
+ },
4358
+ {
4359
+ "field": "accepting",
4360
+ "rhs": {
4361
+ "kind": "name",
4362
+ "name": "accepting"
4363
+ }
4364
+ },
4365
+ {
4366
+ "field": "valueProp",
4367
+ "rhs": {
4368
+ "kind": "name",
4369
+ "name": "loaded"
4370
+ }
4371
+ },
4372
+ {
4373
+ "field": "requested",
4374
+ "rhs": {
4375
+ "kind": "name",
4376
+ "name": "requested"
4377
+ }
4378
+ },
4379
+ {
4380
+ "field": "requests",
4381
+ "rhs": {
4382
+ "kind": "name",
4383
+ "name": "requests"
4384
+ }
4385
+ },
4386
+ {
4387
+ "field": "outcome",
4388
+ "rhs": {
4389
+ "kind": "name",
4390
+ "name": "outcome"
4391
+ }
4392
+ },
4393
+ {
4394
+ "field": "base",
4395
+ "rhs": {
4396
+ "kind": "name",
4397
+ "name": "base"
4398
+ }
4399
+ }
4400
+ ]
4401
+ },
4402
+ {
4403
+ "name": "acceptRequests",
4404
+ "assignments": [
4405
+ {
4406
+ "field": "phase",
4407
+ "rhs": {
4408
+ "kind": "name",
4409
+ "name": "phase"
4410
+ }
4411
+ },
4412
+ {
4413
+ "field": "busy",
4414
+ "rhs": {
4415
+ "kind": "name",
4416
+ "name": "busy"
4417
+ }
4418
+ },
4419
+ {
4420
+ "field": "loaded",
4421
+ "rhs": {
4422
+ "kind": "name",
4423
+ "name": "loaded"
4424
+ }
4425
+ },
4426
+ {
4427
+ "field": "zone",
4428
+ "rhs": {
4429
+ "kind": "name",
4430
+ "name": "zone"
4431
+ }
4432
+ },
4433
+ {
4434
+ "field": "focus",
4435
+ "rhs": {
4436
+ "kind": "name",
4437
+ "name": "focus"
4438
+ }
4439
+ },
4440
+ {
4441
+ "field": "sizeMode",
4442
+ "rhs": {
4443
+ "kind": "name",
4444
+ "name": "sizeMode"
4445
+ }
4446
+ },
4447
+ {
4448
+ "field": "totalKnown",
4449
+ "rhs": {
4450
+ "kind": "name",
4451
+ "name": "totalKnown"
4452
+ }
4453
+ },
4454
+ {
4455
+ "field": "controlled",
4456
+ "rhs": {
4457
+ "kind": "name",
4458
+ "name": "controlled"
4459
+ }
4460
+ },
4461
+ {
4462
+ "field": "accepting",
4463
+ "rhs": {
4464
+ "kind": "bool",
4465
+ "value": true
4466
+ }
4467
+ },
4468
+ {
4469
+ "field": "valueProp",
4470
+ "rhs": {
4471
+ "kind": "name",
4472
+ "name": "valueProp"
4473
+ }
4474
+ },
4475
+ {
4476
+ "field": "requested",
4477
+ "rhs": {
4478
+ "kind": "name",
4479
+ "name": "requested"
4480
+ }
4481
+ },
4482
+ {
4483
+ "field": "requests",
4484
+ "rhs": {
4485
+ "kind": "name",
4486
+ "name": "requests"
4487
+ }
4488
+ },
4489
+ {
4490
+ "field": "outcome",
4491
+ "rhs": {
4492
+ "kind": "name",
4493
+ "name": "outcome"
4494
+ }
4495
+ },
4496
+ {
4497
+ "field": "base",
4498
+ "rhs": {
4499
+ "kind": "name",
4500
+ "name": "base"
4501
+ }
4502
+ }
4503
+ ]
4504
+ }
4505
+ ],
4506
+ "step": [
4507
+ "init",
4508
+ "focus_article",
4509
+ "page_down",
4510
+ "page_up",
4511
+ "ctrl_end",
4512
+ "ctrl_home",
4513
+ "focus_outside",
4514
+ "load_start",
4515
+ "load_finish",
4516
+ "load_fail",
4517
+ "set_size_mode",
4518
+ "set_total_known",
4519
+ "setValue",
4520
+ "control",
4521
+ "acceptRequests"
4522
+ ]
4523
+ }