├── .gitignore
├── 49-stlinkv2.rules
├── LICENSE
├── README.md
├── interphase-keyboard-basic
├── config
│ ├── interphase.h
│ └── nrf_drv_config.h
├── custom
│ └── armgcc
│ │ ├── Makefile
│ │ └── gzll_gcc_nrf51.ld
├── main.c
└── program.sh
├── interphase-receiver-basic
├── config
│ └── nrf_drv_config.h
├── custom
│ └── armgcc
│ │ ├── Makefile
│ │ └── uart_gcc_nrf51.ld
├── main.c
└── program.sh
├── nrf-stlink.cfg
└── precompiled
├── precompiled-basic-left.hex
├── precompiled-basic-qmk.hex
├── precompiled-basic-receiver.hex
├── precompiled-basic-right.hex
└── testing-receiver-rgb.hex
/.gitignore:
--------------------------------------------------------------------------------
1 | *.o
2 | *.hex
3 | *.map
4 | *.bin
5 | *.out
6 |
--------------------------------------------------------------------------------
/49-stlinkv2.rules:
--------------------------------------------------------------------------------
1 | # stm32 discovery boards, with onboard st/linkv2
2 | # ie, STM32L, STM32F4.
3 | # STM32VL has st/linkv1, which is quite different
4 |
5 | SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", \
6 | MODE:="0666", \
7 | SYMLINK+="stlinkv2_%n"
8 |
9 | # If you share your linux system with other users, or just don't like the
10 | # idea of write permission for everybody, you can replace MODE:="0666" with
11 | # OWNER:="yourusername" to create the device owned by you, or with
12 | # GROUP:="somegroupname" and mange access using standard unix groups.
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 | {one line to give the program's name and a brief idea of what it does.}
635 | Copyright (C) {year} {name of author}
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | {project} Copyright (C) {year} {fullname}
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Interphase Keyboard Firmware
2 | Firmware for Nordic MCUs used in the Interphase Keyboard, contains precompiled .hex files, as well as sources buildable with the Nordic SDK
3 | This firmware is a dervivative of reversebias' mitosis firmware.
4 | https://github.com/reversebias/mitosis
5 |
6 | ## Install dependencies
7 |
8 | Tested on Ubuntu 16.04.2, but should be able to find alternatives on all distros.
9 |
10 | ```
11 | sudo apt install openocd gcc-arm-none-eabi
12 | ```
13 |
14 | ## Download Nordic SDK
15 |
16 | Nordic does not allow redistribution of their SDK or components, so download and extract from their site:
17 |
18 | https://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v11.x.x/nRF5_SDK_11.0.0_89a8197.zip
19 |
20 | Firmware written and tested with version 11
21 |
22 | ```
23 | unzip nRF5_SDK_11.0.0_89a8197.zip -d nRF5_SDK_11
24 | cd nRF5_SDK_11
25 | ```
26 |
27 | ## Toolchain set-up
28 |
29 | A cofiguration file that came with the SDK needs to be changed. Assuming you installed gcc-arm with apt, the compiler root path needs to be changed in /components/toolchain/gcc/Makefile.posix, the line:
30 | ```
31 | GNU_INSTALL_ROOT := /usr/local/gcc-arm-none-eabi-4_9-2015q1
32 | ```
33 | Replaced with:
34 | ```
35 | GNU_INSTALL_ROOT := /usr/
36 | ```
37 |
38 | ## Clone repository
39 | Inside nRF5_SDK_11/
40 | ```
41 | git clone https://github.com/Durburz/interphase-firmware
42 | ```
43 |
44 | ## Install udev rules
45 | ```
46 | sudo cp interphase-firmware/49-stlinkv2.rules /etc/udev/rules.d/
47 | ```
48 | Plug in, or replug in the programmer after this.
49 |
50 | ## OpenOCD server
51 | The programming header on the side of the keyboard, from top to bottom:
52 | ```
53 | SWCLK
54 | SWDIO
55 | GND
56 | 3.3V
57 | ```
58 | It's best to remove the battery during long sessions of debugging, as charging non-rechargeable lithium batteries isn't recommended.
59 |
60 | Launch a debugging session with:
61 | ```
62 | openocd -f interphase-firmware/nrf-stlink.cfg
63 | ```
64 | Should give you an output ending in:
65 | ```
66 | Info : nrf51.cpu: hardware has 4 breakpoints, 2 watchpoints
67 | ```
68 | Otherwise you likely have a loose or wrong wire.
69 |
70 |
71 | ## Manual programming
72 | From the factory, these chips need to be erased:
73 | ```
74 | echo reset halt | telnet localhost 4444
75 | echo nrf51 mass_erase | telnet localhost 4444
76 | ```
77 | From there, the precompiled binaries can be loaded:
78 | ```
79 | echo reset halt | telnet localhost 4444
80 | echo flash write_image `readlink -f precompiled-basic-left.hex` | telnet localhost 4444
81 | echo reset | telnet localhost 4444
82 | ```
83 |
84 | ## Automatic make and programming scripts
85 | To use the automatic build scripts:
86 | ```
87 | cd mitosis/interphase-keyboard-basic
88 | ./program.sh
89 | ```
90 | An openocd session should be running in another terminal, as this script sends commands to it.
91 |
--------------------------------------------------------------------------------
/interphase-keyboard-basic/config/interphase.h:
--------------------------------------------------------------------------------
1 |
2 | #define HAND_SENSE 12
3 | #define RIGHT_HAND false
4 | #define LEFT_HAND true
5 |
6 | #define ALPHA_SENSE 20
7 | #define ALPABETICAL false
8 |
9 | // left hand pins
10 |
11 | #define L_C01 6
12 | #define L_C02 5
13 | #define L_C03 4
14 | #define L_C04 3
15 | #define L_C05 2
16 | #define L_C06 0
17 | #define L_C07 30
18 | #define L_R01 28
19 | #define L_R02 23
20 | #define L_R03 22
21 | #define L_R04 21
22 | #define L_R05 29
23 |
24 | #define L_MASK (1< RAM
20 | } INSERT AFTER .data;
21 |
22 | INCLUDE "nrf5x_common.ld"
--------------------------------------------------------------------------------
/interphase-keyboard-basic/main.c:
--------------------------------------------------------------------------------
1 |
2 | #define COMPILE_RIGHT
3 | //#define COMPILE_LEFT
4 |
5 | #include "interphase.h"
6 | #include "nrf_drv_config.h"
7 | #include "nrf_gzll.h"
8 | #include "nrf_gpio.h"
9 | #include "nrf_delay.h"
10 | #include "nrf_drv_clock.h"
11 | #include "nrf_drv_rtc.h"
12 |
13 |
14 | /*****************************************************************************/
15 | /** Configuration */
16 | /*****************************************************************************/
17 |
18 | const nrf_drv_rtc_t rtc_maint = NRF_DRV_RTC_INSTANCE(0); /**< Declaring an instance of nrf_drv_rtc for RTC0. */
19 | const nrf_drv_rtc_t rtc_deb = NRF_DRV_RTC_INSTANCE(1); /**< Declaring an instance of nrf_drv_rtc for RTC1. */
20 |
21 |
22 | // Define payload length
23 | #define TX_PAYLOAD_LENGTH ROWS ///< 5 byte payload length when transmitting
24 |
25 | // Data and acknowledgement payloads
26 | static uint8_t data_payload[TX_PAYLOAD_LENGTH]; ///< Payload to send to Host.
27 | static uint8_t ack_payload[NRF_GZLL_CONST_MAX_PAYLOAD_LENGTH]; ///< Placeholder for received ACK payloads from Host.
28 |
29 | // Debounce time (dependent on tick frequency)
30 | #define DEBOUNCE 5
31 | #define ACTIVITY 500
32 |
33 | // Key buffers
34 | static uint8_t keys[ROWS], keys_snapshot[ROWS], keys_buffer[ROWS];
35 | static uint32_t debounce_ticks, activity_ticks;
36 | static volatile bool debouncing = false;
37 |
38 | // Debug helper variables
39 | static volatile bool init_ok, enable_ok, push_ok, pop_ok, tx_success;
40 |
41 | // Setup switch pins with pullups
42 | static void gpio_config(void)
43 | {
44 | nrf_gpio_cfg_sense_input(C01, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
45 | nrf_gpio_cfg_sense_input(C02, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
46 | nrf_gpio_cfg_sense_input(C03, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
47 | nrf_gpio_cfg_sense_input(C04, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
48 | nrf_gpio_cfg_sense_input(C05, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
49 | nrf_gpio_cfg_sense_input(C06, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
50 | nrf_gpio_cfg_sense_input(C07, NRF_GPIO_PIN_PULLDOWN, NRF_GPIO_PIN_SENSE_HIGH);
51 |
52 | nrf_gpio_cfg_output(R01);
53 | nrf_gpio_cfg_output(R02);
54 | nrf_gpio_cfg_output(R03);
55 | nrf_gpio_cfg_output(R04);
56 | nrf_gpio_cfg_output(R05);
57 | }
58 |
59 | // Return the key states of one row
60 | static uint8_t read_row(uint32_t row)
61 | {
62 | uint8_t buff = 0;
63 | uint32_t input = 0;
64 | nrf_gpio_pin_set(row);
65 | input = NRF_GPIO->IN;
66 | buff = (buff << 1) | ((input >> C01) & 1);
67 | buff = (buff << 1) | ((input >> C02) & 1);
68 | buff = (buff << 1) | ((input >> C03) & 1);
69 | buff = (buff << 1) | ((input >> C04) & 1);
70 | buff = (buff << 1) | ((input >> C05) & 1);
71 | buff = (buff << 1) | ((input >> C06) & 1);
72 | buff = (buff << 1) | ((input >> C07) & 1);
73 | buff = (buff << 1);
74 | nrf_gpio_pin_clear(row);
75 | return buff;
76 | }
77 |
78 | // Return the key states
79 | static void read_keys(void)
80 | {
81 | keys_buffer[0] = read_row(R01);
82 | keys_buffer[1] = read_row(R02);
83 | keys_buffer[2] = read_row(R03);
84 | keys_buffer[3] = read_row(R04);
85 | keys_buffer[4] = read_row(R05);
86 | return;
87 | }
88 |
89 | static bool compare_keys(uint8_t* first, uint8_t* second, uint32_t size)
90 | {
91 | for(int i=0; i < size; i++)
92 | {
93 | if (first[i] != second[i])
94 | {
95 | return false;
96 | }
97 | }
98 | return true;
99 | }
100 |
101 | static bool empty_keys(void)
102 | {
103 | for(int i=0; i < ROWS; i++)
104 | {
105 | if (keys_buffer[i])
106 | {
107 | return false;
108 | }
109 | }
110 | return true;
111 | }
112 |
113 | // Assemble packet and send to receiver
114 | static void send_data(void)
115 | {
116 | for(int i=0; i < ROWS; i++)
117 | {
118 | data_payload[i] = keys[i];
119 | }
120 | nrf_gzll_add_packet_to_tx_fifo(PIPE_NUMBER, data_payload, TX_PAYLOAD_LENGTH);
121 | }
122 |
123 | // 8Hz held key maintenance, keeping the reciever keystates valid
124 | static void handler_maintenance(nrf_drv_rtc_int_type_t int_type)
125 | {
126 | send_data();
127 | }
128 |
129 | // 1000Hz debounce sampling
130 | static void handler_debounce(nrf_drv_rtc_int_type_t int_type)
131 | {
132 | read_keys();
133 |
134 | // debouncing, waits until there have been no transitions in 5ms (assuming five 1ms ticks)
135 | if (debouncing)
136 | {
137 | // if debouncing, check if current keystates equal to the snapshot
138 | if (compare_keys(keys_snapshot, keys_buffer, ROWS))
139 | {
140 | // DEBOUNCE ticks of stable sampling needed before sending data
141 | debounce_ticks++;
142 | if (debounce_ticks == DEBOUNCE)
143 | {
144 | for(int j=0; j < ROWS; j++)
145 | {
146 | keys[j] = keys_snapshot[j];
147 | }
148 | send_data();
149 | }
150 | }
151 | else
152 | {
153 | // if keys change, start period again
154 | debouncing = false;
155 | }
156 | }
157 | else
158 | {
159 | // if the keystate is different from the last data
160 | // sent to the receiver, start debouncing
161 | if (!compare_keys(keys, keys_buffer, ROWS))
162 | {
163 | for(int k=0; k < ROWS; k++)
164 | {
165 | keys_snapshot[k] = keys_buffer[k];
166 | }
167 | debouncing = true;
168 | debounce_ticks = 0;
169 | }
170 | }
171 |
172 | // looking for 500 ticks of no keys pressed, to go back to deep sleep
173 | if (empty_keys())
174 | {
175 | activity_ticks++;
176 | if (activity_ticks > ACTIVITY)
177 | {
178 | nrf_drv_rtc_disable(&rtc_maint);
179 | nrf_drv_rtc_disable(&rtc_deb);
180 | nrf_gpio_pin_set(R01);
181 | nrf_gpio_pin_set(R02);
182 | nrf_gpio_pin_set(R03);
183 | nrf_gpio_pin_set(R04);
184 | nrf_gpio_pin_set(R05);
185 | }
186 |
187 | }
188 | else
189 | {
190 | activity_ticks = 0;
191 | }
192 |
193 | }
194 |
195 | // Low frequency clock configuration
196 | static void lfclk_config(void)
197 | {
198 | nrf_drv_clock_init();
199 |
200 | nrf_drv_clock_lfclk_request(NULL);
201 | }
202 |
203 | // RTC peripheral configuration
204 | static void rtc_config(void)
205 | {
206 | //Initialize RTC instance
207 | nrf_drv_rtc_init(&rtc_maint, NULL, handler_maintenance);
208 | nrf_drv_rtc_init(&rtc_deb, NULL, handler_debounce);
209 |
210 | //Enable tick event & interrupt
211 | nrf_drv_rtc_tick_enable(&rtc_maint,true);
212 | nrf_drv_rtc_tick_enable(&rtc_deb,true);
213 |
214 | //Power on RTC instance
215 | nrf_drv_rtc_enable(&rtc_maint);
216 | nrf_drv_rtc_enable(&rtc_deb);
217 | }
218 |
219 | int main()
220 | {
221 | // Initialize Gazell
222 | nrf_gzll_init(NRF_GZLL_MODE_DEVICE);
223 |
224 | // Attempt sending every packet up to 100 times
225 | nrf_gzll_set_max_tx_attempts(100);
226 |
227 | // Addressing
228 | nrf_gzll_set_base_address_0(0x01020304);
229 | nrf_gzll_set_base_address_1(0x05060708);
230 |
231 | // Enable Gazell to start sending over the air
232 | nrf_gzll_enable();
233 |
234 | // Configure 32kHz xtal oscillator
235 | lfclk_config();
236 |
237 | // Configure RTC peripherals with ticks
238 | rtc_config();
239 |
240 | // Configure all keys as inputs with pullups
241 | gpio_config();
242 |
243 | // Set the GPIOTE PORT event as interrupt source, and enable interrupts for GPIOTE
244 | NRF_GPIOTE->INTENSET = GPIOTE_INTENSET_PORT_Msk;
245 | NVIC_EnableIRQ(GPIOTE_IRQn);
246 |
247 |
248 | // Main loop, constantly sleep, waiting for RTC and gpio IRQs
249 | while(1)
250 | {
251 | __SEV();
252 | __WFE();
253 | __WFE();
254 | }
255 | }
256 |
257 | // This handler will be run after wakeup from system ON (GPIO wakeup)
258 | void GPIOTE_IRQHandler(void)
259 | {
260 | if(NRF_GPIOTE->EVENTS_PORT)
261 | {
262 | //clear wakeup event
263 | NRF_GPIOTE->EVENTS_PORT = 0;
264 |
265 | //enable rtc interupt triggers
266 | nrf_drv_rtc_enable(&rtc_maint);
267 | nrf_drv_rtc_enable(&rtc_deb);
268 |
269 | nrf_gpio_pin_clear(R01);
270 | nrf_gpio_pin_clear(R02);
271 | nrf_gpio_pin_clear(R03);
272 | nrf_gpio_pin_clear(R04);
273 | nrf_gpio_pin_clear(R05);
274 |
275 | //TODO: proper interrupt handling to avoid fake interrupts because of matrix scanning
276 | //debouncing = false;
277 | //debounce_ticks = 0;
278 | activity_ticks = 0;
279 | }
280 | }
281 |
282 |
283 |
284 | /*****************************************************************************/
285 | /** Gazell callback function definitions */
286 | /*****************************************************************************/
287 |
288 | void nrf_gzll_device_tx_success(uint32_t pipe, nrf_gzll_device_tx_info_t tx_info)
289 | {
290 | uint32_t ack_payload_length = NRF_GZLL_CONST_MAX_PAYLOAD_LENGTH;
291 |
292 | if (tx_info.payload_received_in_ack)
293 | {
294 | // Pop packet and write first byte of the payload to the GPIO port.
295 | nrf_gzll_fetch_packet_from_rx_fifo(pipe, ack_payload, &ack_payload_length);
296 | }
297 | }
298 |
299 | // no action is taken when a packet fails to send, this might need to change
300 | void nrf_gzll_device_tx_failed(uint32_t pipe, nrf_gzll_device_tx_info_t tx_info)
301 | {
302 |
303 | }
304 |
305 | // Callbacks not needed
306 | void nrf_gzll_host_rx_data_ready(uint32_t pipe, nrf_gzll_host_rx_info_t rx_info)
307 | {}
308 | void nrf_gzll_disabled()
309 | {}
310 |
--------------------------------------------------------------------------------
/interphase-keyboard-basic/program.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo '=============================== MAKING ================================'
3 | cd custom/armgcc
4 | make
5 | if [[ $? -ne 0 ]] ; then
6 | exit 0
7 | fi
8 | sleep 0.1
9 | HEX=`readlink -f _build/nrf51822_xxac.hex`
10 | du -b $HEX
11 |
12 | echo
13 | echo '============================= PROGRAMMING ============================='
14 | {
15 | echo "reset halt";
16 | sleep 0.1;
17 | echo "flash write_image erase" $HEX;
18 | sleep 10;
19 | echo "reset";
20 | sleep 0.1;
21 | exit;
22 |
23 | } | telnet localhost 4444
24 |
25 | echo
26 | echo '============================== FINISHED ==============================='
27 |
--------------------------------------------------------------------------------
/interphase-receiver-basic/config/nrf_drv_config.h:
--------------------------------------------------------------------------------
1 | /* Copyright (c) 2015 Nordic Semiconductor. All Rights Reserved.
2 | *
3 | * The information contained herein is property of Nordic Semiconductor ASA.
4 | * Terms and conditions of usage are described in detail in NORDIC
5 | * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
6 | *
7 | * Licensees are granted free, non-transferable use of the information. NO
8 | * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
9 | * the file.
10 | *
11 | */
12 |
13 | #ifndef NRF_DRV_CONFIG_H
14 | #define NRF_DRV_CONFIG_H
15 |
16 | /**
17 | * Provide a non-zero value here in applications that need to use several
18 | * peripherals with the same ID that are sharing certain resources
19 | * (for example, SPI0 and TWI0). Obviously, such peripherals cannot be used
20 | * simultaneously. Therefore, this definition allows to initialize the driver
21 | * for another peripheral from a given group only after the previously used one
22 | * is uninitialized. Normally, this is not possible, because interrupt handlers
23 | * are implemented in individual drivers.
24 | * This functionality requires a more complicated interrupt handling and driver
25 | * initialization, hence it is not always desirable to use it.
26 | */
27 | #define PERIPHERAL_RESOURCE_SHARING_ENABLED 0
28 |
29 | /* CLOCK */
30 | #define CLOCK_ENABLED 0
31 |
32 | #if (CLOCK_ENABLED == 1)
33 | #define CLOCK_CONFIG_XTAL_FREQ NRF_CLOCK_XTALFREQ_Default
34 | #define CLOCK_CONFIG_LF_SRC NRF_CLOCK_LFCLK_Xtal
35 | #define CLOCK_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
36 | #endif
37 |
38 | /* GPIOTE */
39 | #define GPIOTE_ENABLED 0
40 |
41 | #if (GPIOTE_ENABLED == 1)
42 | #define GPIOTE_CONFIG_USE_SWI_EGU false
43 | #define GPIOTE_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
44 | #define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1
45 | #endif
46 |
47 | /* TIMER */
48 | #define TIMER0_ENABLED 0
49 |
50 | #if (TIMER0_ENABLED == 1)
51 | #define TIMER0_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
52 | #define TIMER0_CONFIG_MODE TIMER_MODE_MODE_Timer
53 | #define TIMER0_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_32Bit
54 | #define TIMER0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
55 |
56 | #define TIMER0_INSTANCE_INDEX 0
57 | #endif
58 |
59 | #define TIMER1_ENABLED 0
60 |
61 | #if (TIMER1_ENABLED == 1)
62 | #define TIMER1_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
63 | #define TIMER1_CONFIG_MODE TIMER_MODE_MODE_Timer
64 | #define TIMER1_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_16Bit
65 | #define TIMER1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
66 |
67 | #define TIMER1_INSTANCE_INDEX (TIMER0_ENABLED)
68 | #endif
69 |
70 | #define TIMER2_ENABLED 0
71 |
72 | #if (TIMER2_ENABLED == 1)
73 | #define TIMER2_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
74 | #define TIMER2_CONFIG_MODE TIMER_MODE_MODE_Timer
75 | #define TIMER2_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_16Bit
76 | #define TIMER2_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
77 |
78 | #define TIMER2_INSTANCE_INDEX (TIMER1_ENABLED+TIMER0_ENABLED)
79 | #endif
80 |
81 | #define TIMER3_ENABLED 0
82 |
83 | #if (TIMER3_ENABLED == 1)
84 | #define TIMER3_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
85 | #define TIMER3_CONFIG_MODE TIMER_MODE_MODE_Timer
86 | #define TIMER3_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_16Bit
87 | #define TIMER3_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
88 |
89 | #define TIMER3_INSTANCE_INDEX (TIMER2_ENABLED+TIMER1_ENABLED+TIMER0_ENABLED)
90 | #endif
91 |
92 | #define TIMER4_ENABLED 0
93 |
94 | #if (TIMER4_ENABLED == 1)
95 | #define TIMER4_CONFIG_FREQUENCY NRF_TIMER_FREQ_16MHz
96 | #define TIMER4_CONFIG_MODE TIMER_MODE_MODE_Timer
97 | #define TIMER4_CONFIG_BIT_WIDTH TIMER_BITMODE_BITMODE_16Bit
98 | #define TIMER4_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
99 |
100 | #define TIMER4_INSTANCE_INDEX (TIMER3_ENABLED+TIMER2_ENABLED+TIMER1_ENABLED+TIMER0_ENABLED)
101 | #endif
102 |
103 |
104 | #define TIMER_COUNT (TIMER0_ENABLED + TIMER1_ENABLED + TIMER2_ENABLED + TIMER3_ENABLED + TIMER4_ENABLED)
105 |
106 | /* RTC */
107 | #define RTC0_ENABLED 0
108 |
109 | #if (RTC0_ENABLED == 1)
110 | #define RTC0_CONFIG_FREQUENCY 32678
111 | #define RTC0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
112 | #define RTC0_CONFIG_RELIABLE false
113 |
114 | #define RTC0_INSTANCE_INDEX 0
115 | #endif
116 |
117 | #define RTC1_ENABLED 0
118 |
119 | #if (RTC1_ENABLED == 1)
120 | #define RTC1_CONFIG_FREQUENCY 32768
121 | #define RTC1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
122 | #define RTC1_CONFIG_RELIABLE false
123 |
124 | #define RTC1_INSTANCE_INDEX (RTC0_ENABLED)
125 | #endif
126 |
127 | #define RTC2_ENABLED 0
128 |
129 | #if (RTC2_ENABLED == 1)
130 | #define RTC2_CONFIG_FREQUENCY 32768
131 | #define RTC2_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
132 | #define RTC2_CONFIG_RELIABLE false
133 |
134 | #define RTC2_INSTANCE_INDEX (RTC0_ENABLED+RTC1_ENABLED)
135 | #endif
136 |
137 |
138 | #define RTC_COUNT (RTC0_ENABLED+RTC1_ENABLED+RTC2_ENABLED)
139 |
140 | #define NRF_MAXIMUM_LATENCY_US 2000
141 |
142 | /* RNG */
143 | #define RNG_ENABLED 0
144 |
145 | #if (RNG_ENABLED == 1)
146 | #define RNG_CONFIG_ERROR_CORRECTION true
147 | #define RNG_CONFIG_POOL_SIZE 8
148 | #define RNG_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
149 | #endif
150 |
151 | /* PWM */
152 |
153 | #define PWM0_ENABLED 0
154 |
155 | #if (PWM0_ENABLED == 1)
156 | #define PWM0_CONFIG_OUT0_PIN 2
157 | #define PWM0_CONFIG_OUT1_PIN 3
158 | #define PWM0_CONFIG_OUT2_PIN 4
159 | #define PWM0_CONFIG_OUT3_PIN 5
160 | #define PWM0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
161 | #define PWM0_CONFIG_BASE_CLOCK NRF_PWM_CLK_1MHz
162 | #define PWM0_CONFIG_COUNT_MODE NRF_PWM_MODE_UP
163 | #define PWM0_CONFIG_TOP_VALUE 1000
164 | #define PWM0_CONFIG_LOAD_MODE NRF_PWM_LOAD_COMMON
165 | #define PWM0_CONFIG_STEP_MODE NRF_PWM_STEP_AUTO
166 |
167 | #define PWM0_INSTANCE_INDEX 0
168 | #endif
169 |
170 | #define PWM1_ENABLED 0
171 |
172 | #if (PWM1_ENABLED == 1)
173 | #define PWM1_CONFIG_OUT0_PIN 2
174 | #define PWM1_CONFIG_OUT1_PIN 3
175 | #define PWM1_CONFIG_OUT2_PIN 4
176 | #define PWM1_CONFIG_OUT3_PIN 5
177 | #define PWM1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
178 | #define PWM1_CONFIG_BASE_CLOCK NRF_PWM_CLK_1MHz
179 | #define PWM1_CONFIG_COUNT_MODE NRF_PWM_MODE_UP
180 | #define PWM1_CONFIG_TOP_VALUE 1000
181 | #define PWM1_CONFIG_LOAD_MODE NRF_PWM_LOAD_COMMON
182 | #define PWM1_CONFIG_STEP_MODE NRF_PWM_STEP_AUTO
183 |
184 | #define PWM1_INSTANCE_INDEX (PWM0_ENABLED)
185 | #endif
186 |
187 | #define PWM2_ENABLED 0
188 |
189 | #if (PWM2_ENABLED == 1)
190 | #define PWM2_CONFIG_OUT0_PIN 2
191 | #define PWM2_CONFIG_OUT1_PIN 3
192 | #define PWM2_CONFIG_OUT2_PIN 4
193 | #define PWM2_CONFIG_OUT3_PIN 5
194 | #define PWM2_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
195 | #define PWM2_CONFIG_BASE_CLOCK NRF_PWM_CLK_1MHz
196 | #define PWM2_CONFIG_COUNT_MODE NRF_PWM_MODE_UP
197 | #define PWM2_CONFIG_TOP_VALUE 1000
198 | #define PWM2_CONFIG_LOAD_MODE NRF_PWM_LOAD_COMMON
199 | #define PWM2_CONFIG_STEP_MODE NRF_PWM_STEP_AUTO
200 |
201 | #define PWM2_INSTANCE_INDEX (PWM0_ENABLED + PWM1_ENABLED)
202 | #endif
203 |
204 | #define PWM_COUNT (PWM0_ENABLED + PWM1_ENABLED + PWM2_ENABLED)
205 |
206 | /* SPI */
207 | #define SPI0_ENABLED 0
208 |
209 | #if (SPI0_ENABLED == 1)
210 | #define SPI0_USE_EASY_DMA 0
211 |
212 | #define SPI0_CONFIG_SCK_PIN 2
213 | #define SPI0_CONFIG_MOSI_PIN 3
214 | #define SPI0_CONFIG_MISO_PIN 4
215 | #define SPI0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
216 |
217 | #define SPI0_INSTANCE_INDEX 0
218 | #endif
219 |
220 | #define SPI1_ENABLED 0
221 |
222 | #if (SPI1_ENABLED == 1)
223 | #define SPI1_USE_EASY_DMA 0
224 |
225 | #define SPI1_CONFIG_SCK_PIN 2
226 | #define SPI1_CONFIG_MOSI_PIN 3
227 | #define SPI1_CONFIG_MISO_PIN 4
228 | #define SPI1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
229 |
230 | #define SPI1_INSTANCE_INDEX (SPI0_ENABLED)
231 | #endif
232 |
233 | #define SPI2_ENABLED 0
234 |
235 | #if (SPI2_ENABLED == 1)
236 | #define SPI2_USE_EASY_DMA 0
237 |
238 | #define SPI2_CONFIG_SCK_PIN 2
239 | #define SPI2_CONFIG_MOSI_PIN 3
240 | #define SPI2_CONFIG_MISO_PIN 4
241 | #define SPI2_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
242 |
243 | #define SPI2_INSTANCE_INDEX (SPI0_ENABLED + SPI1_ENABLED)
244 | #endif
245 |
246 | #define SPI_COUNT (SPI0_ENABLED + SPI1_ENABLED + SPI2_ENABLED)
247 |
248 | /* SPIS */
249 | #define SPIS0_ENABLED 0
250 |
251 | #if (SPIS0_ENABLED == 1)
252 | #define SPIS0_CONFIG_SCK_PIN 2
253 | #define SPIS0_CONFIG_MOSI_PIN 3
254 | #define SPIS0_CONFIG_MISO_PIN 4
255 | #define SPIS0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
256 |
257 | #define SPIS0_INSTANCE_INDEX 0
258 | #endif
259 |
260 | #define SPIS1_ENABLED 0
261 |
262 | #if (SPIS1_ENABLED == 1)
263 | #define SPIS1_CONFIG_SCK_PIN 2
264 | #define SPIS1_CONFIG_MOSI_PIN 3
265 | #define SPIS1_CONFIG_MISO_PIN 4
266 | #define SPIS1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
267 |
268 | #define SPIS1_INSTANCE_INDEX SPIS0_ENABLED
269 | #endif
270 |
271 | #define SPIS2_ENABLED 0
272 |
273 | #if (SPIS2_ENABLED == 1)
274 | #define SPIS2_CONFIG_SCK_PIN 2
275 | #define SPIS2_CONFIG_MOSI_PIN 3
276 | #define SPIS2_CONFIG_MISO_PIN 4
277 | #define SPIS2_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
278 |
279 | #define SPIS2_INSTANCE_INDEX (SPIS0_ENABLED + SPIS1_ENABLED)
280 | #endif
281 |
282 | #define SPIS_COUNT (SPIS0_ENABLED + SPIS1_ENABLED + SPIS2_ENABLED)
283 |
284 | /* UART */
285 | #define UART0_ENABLED 1
286 |
287 | #if (UART0_ENABLED == 1)
288 | #define UART0_CONFIG_HWFC NRF_UART_HWFC_DISABLED
289 | #define UART0_CONFIG_PARITY NRF_UART_PARITY_EXCLUDED
290 | #define UART0_CONFIG_BAUDRATE NRF_UART_BAUDRATE_115200
291 | #define UART0_CONFIG_PSEL_TXD 9
292 | #define UART0_CONFIG_PSEL_RXD 11
293 | #define UART0_CONFIG_PSEL_CTS 10
294 | #define UART0_CONFIG_PSEL_RTS 8
295 | #define UART0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
296 | #ifdef NRF52
297 | #define UART0_CONFIG_USE_EASY_DMA false
298 | //Compile time flag
299 | #define UART_EASY_DMA_SUPPORT 1
300 | #define UART_LEGACY_SUPPORT 1
301 | #endif //NRF52
302 | #endif
303 |
304 | #define TWI0_ENABLED 0
305 |
306 | #if (TWI0_ENABLED == 1)
307 | #define TWI0_USE_EASY_DMA 0
308 |
309 | #define TWI0_CONFIG_FREQUENCY NRF_TWI_FREQ_100K
310 | #define TWI0_CONFIG_SCL 0
311 | #define TWI0_CONFIG_SDA 1
312 | #define TWI0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
313 |
314 | #define TWI0_INSTANCE_INDEX 0
315 | #endif
316 |
317 | #define TWI1_ENABLED 0
318 |
319 | #if (TWI1_ENABLED == 1)
320 | #define TWI1_USE_EASY_DMA 0
321 |
322 | #define TWI1_CONFIG_FREQUENCY NRF_TWI_FREQ_100K
323 | #define TWI1_CONFIG_SCL 0
324 | #define TWI1_CONFIG_SDA 1
325 | #define TWI1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
326 |
327 | #define TWI1_INSTANCE_INDEX (TWI0_ENABLED)
328 | #endif
329 |
330 | #define TWI_COUNT (TWI0_ENABLED + TWI1_ENABLED)
331 |
332 | /* TWIS */
333 | #define TWIS0_ENABLED 0
334 |
335 | #if (TWIS0_ENABLED == 1)
336 | #define TWIS0_CONFIG_ADDR0 0
337 | #define TWIS0_CONFIG_ADDR1 0 /* 0: Disabled */
338 | #define TWIS0_CONFIG_SCL 0
339 | #define TWIS0_CONFIG_SDA 1
340 | #define TWIS0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
341 |
342 | #define TWIS0_INSTANCE_INDEX 0
343 | #endif
344 |
345 | #define TWIS1_ENABLED 0
346 |
347 | #if (TWIS1_ENABLED == 1)
348 | #define TWIS1_CONFIG_ADDR0 0
349 | #define TWIS1_CONFIG_ADDR1 0 /* 0: Disabled */
350 | #define TWIS1_CONFIG_SCL 0
351 | #define TWIS1_CONFIG_SDA 1
352 | #define TWIS1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
353 |
354 | #define TWIS1_INSTANCE_INDEX (TWIS0_ENABLED)
355 | #endif
356 |
357 | #define TWIS_COUNT (TWIS0_ENABLED + TWIS1_ENABLED)
358 | /* For more documentation see nrf_drv_twis.h file */
359 | #define TWIS_ASSUME_INIT_AFTER_RESET_ONLY 0
360 | /* For more documentation see nrf_drv_twis.h file */
361 | #define TWIS_NO_SYNC_MODE 0
362 |
363 | /* QDEC */
364 | #define QDEC_ENABLED 0
365 |
366 | #if (QDEC_ENABLED == 1)
367 | #define QDEC_CONFIG_REPORTPER NRF_QDEC_REPORTPER_10
368 | #define QDEC_CONFIG_SAMPLEPER NRF_QDEC_SAMPLEPER_16384us
369 | #define QDEC_CONFIG_PIO_A 1
370 | #define QDEC_CONFIG_PIO_B 2
371 | #define QDEC_CONFIG_PIO_LED 3
372 | #define QDEC_CONFIG_LEDPRE 511
373 | #define QDEC_CONFIG_LEDPOL NRF_QDEC_LEPOL_ACTIVE_HIGH
374 | #define QDEC_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
375 | #define QDEC_CONFIG_DBFEN false
376 | #define QDEC_CONFIG_SAMPLE_INTEN false
377 | #endif
378 |
379 | /* ADC */
380 | #define ADC_ENABLED 0
381 |
382 | #if (ADC_ENABLED == 1)
383 | #define ADC_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
384 | #endif
385 |
386 |
387 | /* SAADC */
388 | #define SAADC_ENABLED 0
389 |
390 | #if (SAADC_ENABLED == 1)
391 | #define SAADC_CONFIG_RESOLUTION NRF_SAADC_RESOLUTION_10BIT
392 | #define SAADC_CONFIG_OVERSAMPLE NRF_SAADC_OVERSAMPLE_DISABLED
393 | #define SAADC_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
394 | #endif
395 |
396 | /* PDM */
397 | #define PDM_ENABLED 0
398 |
399 | #if (PDM_ENABLED == 1)
400 | #define PDM_CONFIG_MODE NRF_PDM_MODE_MONO
401 | #define PDM_CONFIG_EDGE NRF_PDM_EDGE_LEFTFALLING
402 | #define PDM_CONFIG_CLOCK_FREQ NRF_PDM_FREQ_1032K
403 | #define PDM_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
404 | #endif
405 |
406 | /* COMP */
407 | #define COMP_ENABLED 0
408 |
409 | #if (COMP_ENABLED == 1)
410 | #define COMP_CONFIG_REF NRF_COMP_REF_Int1V8
411 | #define COMP_CONFIG_MAIN_MODE NRF_COMP_MAIN_MODE_SE
412 | #define COMP_CONFIG_SPEED_MODE NRF_COMP_SP_MODE_High
413 | #define COMP_CONFIG_HYST NRF_COMP_HYST_NoHyst
414 | #define COMP_CONFIG_ISOURCE NRF_COMP_ISOURCE_Off
415 | #define COMP_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
416 | #define COMP_CONFIG_INPUT NRF_COMP_INPUT_0
417 | #endif
418 |
419 | /* LPCOMP */
420 | #define LPCOMP_ENABLED 0
421 |
422 | #if (LPCOMP_ENABLED == 1)
423 | #define LPCOMP_CONFIG_REFERENCE NRF_LPCOMP_REF_SUPPLY_4_8
424 | #define LPCOMP_CONFIG_DETECTION NRF_LPCOMP_DETECT_DOWN
425 | #define LPCOMP_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
426 | #define LPCOMP_CONFIG_INPUT NRF_LPCOMP_INPUT_0
427 | #endif
428 |
429 | /* WDT */
430 | #define WDT_ENABLED 0
431 |
432 | #if (WDT_ENABLED == 1)
433 | #define WDT_CONFIG_BEHAVIOUR NRF_WDT_BEHAVIOUR_RUN_SLEEP
434 | #define WDT_CONFIG_RELOAD_VALUE 2000
435 | #define WDT_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH
436 | #endif
437 |
438 | /* SWI EGU */
439 | #ifdef NRF52
440 | #define EGU_ENABLED 0
441 | #endif
442 |
443 | /* I2S */
444 | #define I2S_ENABLED 0
445 |
446 | #if (I2S_ENABLED == 1)
447 | #define I2S_CONFIG_SCK_PIN 22
448 | #define I2S_CONFIG_LRCK_PIN 23
449 | #define I2S_CONFIG_MCK_PIN NRF_DRV_I2S_PIN_NOT_USED
450 | #define I2S_CONFIG_SDOUT_PIN 24
451 | #define I2S_CONFIG_SDIN_PIN 25
452 | #define I2S_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH
453 | #define I2S_CONFIG_MASTER NRF_I2S_MODE_MASTER
454 | #define I2S_CONFIG_FORMAT NRF_I2S_FORMAT_I2S
455 | #define I2S_CONFIG_ALIGN NRF_I2S_ALIGN_LEFT
456 | #define I2S_CONFIG_SWIDTH NRF_I2S_SWIDTH_16BIT
457 | #define I2S_CONFIG_CHANNELS NRF_I2S_CHANNELS_STEREO
458 | #define I2S_CONFIG_MCK_SETUP NRF_I2S_MCK_32MDIV8
459 | #define I2S_CONFIG_RATIO NRF_I2S_RATIO_256X
460 | #endif
461 |
462 | #include "nrf_drv_config_validation.h"
463 |
464 | #endif // NRF_DRV_CONFIG_H
465 |
--------------------------------------------------------------------------------
/interphase-receiver-basic/custom/armgcc/Makefile:
--------------------------------------------------------------------------------
1 | PROJECT_NAME := interphase-receiver-basic
2 |
3 | export OUTPUT_FILENAME
4 | #MAKEFILE_NAME := $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
5 | MAKEFILE_NAME := $(MAKEFILE_LIST)
6 | MAKEFILE_DIR := $(dir $(MAKEFILE_NAME) )
7 |
8 | TEMPLATE_PATH = ../../../../components/toolchain/gcc
9 | ifeq ($(OS),Windows_NT)
10 | include $(TEMPLATE_PATH)/Makefile.windows
11 | else
12 | include $(TEMPLATE_PATH)/Makefile.posix
13 | endif
14 |
15 | MK := mkdir
16 | RM := rm -rf
17 |
18 | #echo suspend
19 | ifeq ("$(VERBOSE)","1")
20 | NO_ECHO :=
21 | else
22 | NO_ECHO := @
23 | endif
24 |
25 | # Toolchain commands
26 | CC := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-gcc'
27 | AS := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-as'
28 | AR := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ar' -r
29 | LD := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-ld'
30 | NM := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-nm'
31 | OBJDUMP := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objdump'
32 | OBJCOPY := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-objcopy'
33 | SIZE := '$(GNU_INSTALL_ROOT)/bin/$(GNU_PREFIX)-size'
34 |
35 | #function for removing duplicates in a list
36 | remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-out $(firstword $1),$1))))
37 |
38 | #source common to all targets
39 | C_SOURCE_FILES += \
40 | $(abspath ../../../../components/toolchain/system_nrf51.c) \
41 | $(abspath ../../main.c) \
42 | $(abspath ../../../../components/libraries/util/app_error.c) \
43 | $(abspath ../../../../components/libraries/util/app_error_weak.c) \
44 | $(abspath ../../../../components/libraries/fifo/app_fifo.c) \
45 | $(abspath ../../../../components/libraries/util/app_util_platform.c) \
46 | $(abspath ../../../../components/libraries/util/nrf_assert.c) \
47 | $(abspath ../../../../components/libraries/uart/retarget.c) \
48 | $(abspath ../../../../components/libraries/uart/app_uart_fifo.c) \
49 | $(abspath ../../../../components/drivers_nrf/delay/nrf_delay.c) \
50 | $(abspath ../../../../components/drivers_nrf/common/nrf_drv_common.c) \
51 | $(abspath ../../../../components/drivers_nrf/uart/nrf_drv_uart.c) \
52 |
53 | #assembly files common to all targets
54 | ASM_SOURCE_FILES = $(abspath ../../../../components/toolchain/gcc/gcc_startup_nrf51.s)
55 |
56 | #assembly files common to all targets
57 | LIBS = $(abspath ../../../../components/properitary_rf/gzll/gcc/gzll_gcc.a)
58 |
59 |
60 | #includes common to all targets
61 | INC_PATHS += -I$(abspath ../../config)
62 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/nrf_soc_nosd)
63 | INC_PATHS += -I$(abspath ../../../../components/device)
64 | INC_PATHS += -I$(abspath ../../../../components/libraries/uart)
65 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/hal)
66 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/delay)
67 | INC_PATHS += -I$(abspath ../../../../components/toolchain/CMSIS/Include)
68 | INC_PATHS += -I$(abspath ../..)
69 | INC_PATHS += -I$(abspath ../../../../components/libraries/util)
70 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/uart)
71 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/common)
72 | INC_PATHS += -I$(abspath ../../../../components/toolchain)
73 | INC_PATHS += -I$(abspath ../../../../components/drivers_nrf/config)
74 | INC_PATHS += -I$(abspath ../../../../components/libraries/fifo)
75 | INC_PATHS += -I$(abspath ../../../../components/toolchain/gcc)
76 | INC_PATHS += -I$(abspath ../../../../components/properitary_rf/gzll)
77 |
78 | OBJECT_DIRECTORY = _build
79 | LISTING_DIRECTORY = $(OBJECT_DIRECTORY)
80 | OUTPUT_BINARY_DIRECTORY = $(OBJECT_DIRECTORY)
81 |
82 | # Sorting removes duplicates
83 | BUILD_DIRECTORIES := $(sort $(OBJECT_DIRECTORY) $(OUTPUT_BINARY_DIRECTORY) $(LISTING_DIRECTORY) )
84 |
85 | #flags common to all targets
86 | CFLAGS = -DNRF51
87 | CFLAGS += -DGAZELL_PRESENT
88 | CFLAGS += -DBOARD_CUSTOM
89 | CFLAGS += -DBSP_DEFINES_ONLY
90 | CFLAGS += -mcpu=cortex-m0
91 | CFLAGS += -mthumb -mabi=aapcs --std=gnu99
92 | CFLAGS += -Wall -Werror -O3 -g3
93 | CFLAGS += -Wno-unused-function
94 | CFLAGS += -Wno-unused-variable
95 | CFLAGS += -mfloat-abi=soft
96 | # keep every function in separate section. This will allow linker to dump unused functions
97 | CFLAGS += -ffunction-sections -fdata-sections -fno-strict-aliasing
98 | CFLAGS += -fno-builtin --short-enums
99 | # keep every function in separate section. This will allow linker to dump unused functions
100 | LDFLAGS += -Xlinker -Map=$(LISTING_DIRECTORY)/$(OUTPUT_FILENAME).map
101 | LDFLAGS += -mthumb -mabi=aapcs -L $(TEMPLATE_PATH) -T$(LINKER_SCRIPT)
102 | LDFLAGS += -mcpu=cortex-m0
103 | # let linker to dump unused sections
104 | LDFLAGS += -Wl,--gc-sections
105 | # use newlib in nano version
106 | LDFLAGS += --specs=nano.specs -lc -lnosys
107 | #suppress wchar errors
108 | LDFLAGS += -Wl,--no-wchar-size-warning
109 |
110 | # Assembler flags
111 | ASMFLAGS += -x assembler-with-cpp
112 | ASMFLAGS += -DNRF51
113 | ASMFLAGS += -DBOARD_CUSTOM
114 | ASMFLAGS += -DBSP_DEFINES_ONLY
115 |
116 | #default target - first one defined
117 | default: clean nrf51822_xxac
118 |
119 | #building all targets
120 | all: clean
121 | $(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e cleanobj
122 | $(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e nrf51822_xxac
123 |
124 | #target for printing all targets
125 | help:
126 | @echo following targets are available:
127 | @echo nrf51822_xxac
128 |
129 | C_SOURCE_FILE_NAMES = $(notdir $(C_SOURCE_FILES))
130 | C_PATHS = $(call remduplicates, $(dir $(C_SOURCE_FILES) ) )
131 | C_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(C_SOURCE_FILE_NAMES:.c=.o) )
132 |
133 | ASM_SOURCE_FILE_NAMES = $(notdir $(ASM_SOURCE_FILES))
134 | ASM_PATHS = $(call remduplicates, $(dir $(ASM_SOURCE_FILES) ))
135 | ASM_OBJECTS = $(addprefix $(OBJECT_DIRECTORY)/, $(ASM_SOURCE_FILE_NAMES:.s=.o) )
136 |
137 | vpath %.c $(C_PATHS)
138 | vpath %.s $(ASM_PATHS)
139 |
140 | OBJECTS = $(C_OBJECTS) $(ASM_OBJECTS)
141 |
142 | nrf51822_xxac: OUTPUT_FILENAME := nrf51822_xxac
143 | nrf51822_xxac: LINKER_SCRIPT=uart_gcc_nrf51.ld
144 |
145 | nrf51822_xxac: $(BUILD_DIRECTORIES) $(OBJECTS)
146 | @echo Linking target: $(OUTPUT_FILENAME).out
147 | $(NO_ECHO)$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -lm -o $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
148 | $(NO_ECHO)$(MAKE) -f $(MAKEFILE_NAME) -C $(MAKEFILE_DIR) -e finalize
149 |
150 | ## Create build directories
151 | $(BUILD_DIRECTORIES):
152 | echo $(MAKEFILE_NAME)
153 | $(MK) $@
154 |
155 | # Create objects from C SRC files
156 | $(OBJECT_DIRECTORY)/%.o: %.c
157 | @echo Compiling file: $(notdir $<)
158 | $(NO_ECHO)$(CC) $(CFLAGS) $(INC_PATHS) -c -o $@ $<
159 |
160 | # Assemble files
161 | $(OBJECT_DIRECTORY)/%.o: %.s
162 | @echo Assembly file: $(notdir $<)
163 | $(NO_ECHO)$(CC) $(ASMFLAGS) $(INC_PATHS) -c -o $@ $<
164 | # Link
165 | $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out: $(BUILD_DIRECTORIES) $(OBJECTS)
166 | @echo Linking target: $(OUTPUT_FILENAME).out
167 | $(NO_ECHO)$(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -lm -o $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
168 | ## Create binary .bin file from the .out file
169 | $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin: $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
170 | @echo Preparing: $(OUTPUT_FILENAME).bin
171 | $(NO_ECHO)$(OBJCOPY) -O binary $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin
172 |
173 | ## Create binary .hex file from the .out file
174 | $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex: $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
175 | @echo Preparing: $(OUTPUT_FILENAME).hex
176 | $(NO_ECHO)$(OBJCOPY) -O ihex $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex
177 |
178 | finalize: genbin genhex echosize
179 |
180 | genbin:
181 | @echo Preparing: $(OUTPUT_FILENAME).bin
182 | $(NO_ECHO)$(OBJCOPY) -O binary $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).bin
183 |
184 | ## Create binary .hex file from the .out file
185 | genhex:
186 | @echo Preparing: $(OUTPUT_FILENAME).hex
187 | $(NO_ECHO)$(OBJCOPY) -O ihex $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).hex
188 | echosize:
189 | -@echo ''
190 | $(NO_ECHO)$(SIZE) $(OUTPUT_BINARY_DIRECTORY)/$(OUTPUT_FILENAME).out
191 | -@echo ''
192 |
193 | clean:
194 | $(RM) $(BUILD_DIRECTORIES)
195 |
196 | cleanobj:
197 | $(RM) $(BUILD_DIRECTORIES)/*.o
198 | flash: nrf51822_xxac
199 | @echo Flashing: $(OUTPUT_BINARY_DIRECTORY)/$<.hex
200 | nrfjprog --program $(OUTPUT_BINARY_DIRECTORY)/$<.hex -f nrf51 --chiperase
201 | nrfjprog --reset -f nrf51
202 |
203 | ## Flash softdevice
204 |
--------------------------------------------------------------------------------
/interphase-receiver-basic/custom/armgcc/uart_gcc_nrf51.ld:
--------------------------------------------------------------------------------
1 | /* Linker script to configure memory regions. */
2 |
3 | SEARCH_DIR(.)
4 | GROUP(-lgcc -lc -lnosys)
5 |
6 | MEMORY
7 | {
8 | FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x40000
9 | RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x4000
10 | }
11 |
12 | SECTIONS
13 | {
14 | .fs_data :
15 | {
16 | PROVIDE(__start_fs_data = .);
17 | KEEP(*(.fs_data))
18 | PROVIDE(__stop_fs_data = .);
19 | } > RAM
20 | } INSERT AFTER .data;
21 |
22 | INCLUDE "nrf5x_common.ld"
--------------------------------------------------------------------------------
/interphase-receiver-basic/main.c:
--------------------------------------------------------------------------------
1 |
2 | #include
3 | #include
4 | #include
5 | #include "app_uart.h"
6 | #include "nrf_drv_uart.h"
7 | #include "app_error.h"
8 | #include "nrf_delay.h"
9 | #include "nrf.h"
10 | #include "nrf_gzll.h"
11 |
12 | #define MAX_TEST_DATA_BYTES (15U) /**< max number of test bytes to be used for tx and rx. */
13 | #define UART_TX_BUF_SIZE 256 /**< UART TX buffer size. */
14 | #define UART_RX_BUF_SIZE 1 /**< UART RX buffer size. */
15 |
16 |
17 | #define RX_PIN_NUMBER 25
18 | #define TX_PIN_NUMBER 24
19 | #define CTS_PIN_NUMBER 23
20 | #define RTS_PIN_NUMBER 22
21 | #define HWFC false
22 |
23 |
24 | // Define payload length
25 | #define TX_PAYLOAD_LENGTH 5 ///< 5 byte payload length
26 |
27 | // ticks for inactive keyboard
28 | #define INACTIVE 100000
29 |
30 | // Binary printing
31 | #define BYTE_TO_BINARY_PATTERN "%c%c%c%c%c%c%c%c"
32 | #define BYTE_TO_BINARY(byte) \
33 | (byte & 0x80 ? '#' : '.'), \
34 | (byte & 0x40 ? '#' : '.'), \
35 | (byte & 0x20 ? '#' : '.'), \
36 | (byte & 0x10 ? '#' : '.'), \
37 | (byte & 0x08 ? '#' : '.'), \
38 | (byte & 0x04 ? '#' : '.'), \
39 | (byte & 0x02 ? '#' : '.'), \
40 | (byte & 0x01 ? '#' : '.')
41 |
42 |
43 | // Data and acknowledgement payloads
44 | static uint8_t data_payload_left[NRF_GZLL_CONST_MAX_PAYLOAD_LENGTH]; ///< Placeholder for data payload received from host.
45 | static uint8_t data_payload_right[NRF_GZLL_CONST_MAX_PAYLOAD_LENGTH]; ///< Placeholder for data payload received from host.
46 | static uint8_t ack_payload[TX_PAYLOAD_LENGTH]; ///< Payload to attach to ACK sent to device.
47 | static uint8_t data_buffer[10];
48 |
49 | // Debug helper variables
50 | extern nrf_gzll_error_code_t nrf_gzll_error_code; ///< Error code
51 | static bool init_ok, enable_ok, push_ok, pop_ok, packet_received_left, packet_received_right;
52 | uint32_t left_active = 0;
53 | uint32_t right_active = 0;
54 | uint8_t c;
55 |
56 |
57 | void uart_error_handle(app_uart_evt_t * p_event)
58 | {
59 | if (p_event->evt_type == APP_UART_COMMUNICATION_ERROR)
60 | {
61 | APP_ERROR_HANDLER(p_event->data.error_communication);
62 | }
63 | else if (p_event->evt_type == APP_UART_FIFO_ERROR)
64 | {
65 | APP_ERROR_HANDLER(p_event->data.error_code);
66 | }
67 | }
68 |
69 |
70 | int main(void)
71 | {
72 | uint32_t err_code;
73 | const app_uart_comm_params_t comm_params =
74 | {
75 | RX_PIN_NUMBER,
76 | TX_PIN_NUMBER,
77 | RTS_PIN_NUMBER,
78 | CTS_PIN_NUMBER,
79 | APP_UART_FLOW_CONTROL_DISABLED,
80 | false,
81 | UART_BAUDRATE_BAUDRATE_Baud1M
82 | };
83 |
84 | APP_UART_FIFO_INIT(&comm_params,
85 | UART_RX_BUF_SIZE,
86 | UART_TX_BUF_SIZE,
87 | uart_error_handle,
88 | APP_IRQ_PRIORITY_LOW,
89 | err_code);
90 |
91 | APP_ERROR_CHECK(err_code);
92 |
93 | // Initialize Gazell
94 | nrf_gzll_init(NRF_GZLL_MODE_HOST);
95 |
96 | // Addressing
97 | nrf_gzll_set_base_address_0(0x01020304);
98 | nrf_gzll_set_base_address_1(0x05060708);
99 |
100 | // Load data into TX queue
101 | ack_payload[0] = 0x55;
102 | nrf_gzll_add_packet_to_tx_fifo(0, data_payload_left, TX_PAYLOAD_LENGTH);
103 | nrf_gzll_add_packet_to_tx_fifo(1, data_payload_left, TX_PAYLOAD_LENGTH);
104 |
105 | // Enable Gazell to start sending over the air
106 | nrf_gzll_enable();
107 |
108 | // main loop
109 | while (true)
110 | {
111 | // detecting received packet from interupt, and unpacking
112 | if (packet_received_left)
113 | {
114 | packet_received_left = false;
115 |
116 | data_buffer[0] = ((data_payload_left[0] & 1<<7) ? 1:0) << 0 |
117 | ((data_payload_left[0] & 1<<6) ? 1:0) << 1 |
118 | ((data_payload_left[0] & 1<<5) ? 1:0) << 2 |
119 | ((data_payload_left[0] & 1<<4) ? 1:0) << 3 |
120 | ((data_payload_left[0] & 1<<3) ? 1:0) << 4 |
121 | ((data_payload_left[0] & 1<<2) ? 1:0) << 5 |
122 | ((data_payload_left[0] & 1<<1) ? 1:0) << 6;
123 |
124 | data_buffer[2] = ((data_payload_left[1] & 1<<7) ? 1:0) << 0 |
125 | ((data_payload_left[1] & 1<<6) ? 1:0) << 1 |
126 | ((data_payload_left[1] & 1<<5) ? 1:0) << 2 |
127 | ((data_payload_left[1] & 1<<4) ? 1:0) << 3 |
128 | ((data_payload_left[1] & 1<<3) ? 1:0) << 4 |
129 | ((data_payload_left[1] & 1<<2) ? 1:0) << 5 |
130 | ((data_payload_left[1] & 1<<1) ? 1:0) << 6;
131 |
132 | data_buffer[4] = ((data_payload_left[2] & 1<<7) ? 1:0) << 0 |
133 | ((data_payload_left[2] & 1<<6) ? 1:0) << 1 |
134 | ((data_payload_left[2] & 1<<5) ? 1:0) << 2 |
135 | ((data_payload_left[2] & 1<<4) ? 1:0) << 3 |
136 | ((data_payload_left[2] & 1<<3) ? 1:0) << 4 |
137 | ((data_payload_left[2] & 1<<2) ? 1:0) << 5 |
138 | ((data_payload_left[2] & 1<<1) ? 1:0) << 6;
139 |
140 | data_buffer[6] = ((data_payload_left[3] & 1<<7) ? 1:0) << 0 |
141 | ((data_payload_left[3] & 1<<6) ? 1:0) << 1 |
142 | ((data_payload_left[3] & 1<<5) ? 1:0) << 2 |
143 | ((data_payload_left[3] & 1<<4) ? 1:0) << 3 |
144 | ((data_payload_left[3] & 1<<3) ? 1:0) << 4 |
145 | ((data_payload_left[3] & 1<<2) ? 1:0) << 5 |
146 | ((data_payload_left[3] & 1<<1) ? 1:0) << 6;
147 |
148 | data_buffer[8] = ((data_payload_left[4] & 1<<7) ? 1:0) << 0 |
149 | ((data_payload_left[4] & 1<<6) ? 1:0) << 1 |
150 | ((data_payload_left[4] & 1<<5) ? 1:0) << 2 |
151 | ((data_payload_left[4] & 1<<4) ? 1:0) << 3 |
152 | ((data_payload_left[4] & 1<<3) ? 1:0) << 4 |
153 | ((data_payload_left[4] & 1<<2) ? 1:0) << 5 |
154 | ((data_payload_left[4] & 1<<1) ? 1:0) << 6;
155 |
156 | }
157 |
158 | if (packet_received_right)
159 | {
160 | packet_received_right = false;
161 |
162 | data_buffer[1] = ((data_payload_right[0] & 1<<7) ? 1:0) << 0 |
163 | ((data_payload_right[0] & 1<<6) ? 1:0) << 1 |
164 | ((data_payload_right[0] & 1<<5) ? 1:0) << 2 |
165 | ((data_payload_right[0] & 1<<4) ? 1:0) << 3 |
166 | ((data_payload_right[0] & 1<<3) ? 1:0) << 4 |
167 | ((data_payload_right[0] & 1<<2) ? 1:0) << 5 |
168 | ((data_payload_right[0] & 1<<1) ? 1:0) << 6;
169 |
170 | data_buffer[3] = ((data_payload_right[1] & 1<<7) ? 1:0) << 0 |
171 | ((data_payload_right[1] & 1<<6) ? 1:0) << 1 |
172 | ((data_payload_right[1] & 1<<5) ? 1:0) << 2 |
173 | ((data_payload_right[1] & 1<<4) ? 1:0) << 3 |
174 | ((data_payload_right[1] & 1<<3) ? 1:0) << 4 |
175 | ((data_payload_right[1] & 1<<2) ? 1:0) << 5 |
176 | ((data_payload_right[1] & 1<<1) ? 1:0) << 6;
177 |
178 | data_buffer[5] = ((data_payload_right[2] & 1<<7) ? 1:0) << 0 |
179 | ((data_payload_right[2] & 1<<6) ? 1:0) << 1 |
180 | ((data_payload_right[2] & 1<<5) ? 1:0) << 2 |
181 | ((data_payload_right[2] & 1<<4) ? 1:0) << 3 |
182 | ((data_payload_right[2] & 1<<3) ? 1:0) << 4 |
183 | ((data_payload_right[2] & 1<<2) ? 1:0) << 5 |
184 | ((data_payload_right[2] & 1<<1) ? 1:0) << 6;
185 |
186 | data_buffer[7] = ((data_payload_right[3] & 1<<7) ? 1:0) << 0 |
187 | ((data_payload_right[3] & 1<<6) ? 1:0) << 1 |
188 | ((data_payload_right[3] & 1<<5) ? 1:0) << 2 |
189 | ((data_payload_right[3] & 1<<4) ? 1:0) << 3 |
190 | ((data_payload_right[3] & 1<<3) ? 1:0) << 4 |
191 | ((data_payload_right[3] & 1<<2) ? 1:0) << 5 |
192 | ((data_payload_right[3] & 1<<1) ? 1:0) << 6;
193 |
194 | data_buffer[9] = ((data_payload_right[4] & 1<<7) ? 1:0) << 0 |
195 | ((data_payload_right[4] & 1<<6) ? 1:0) << 1 |
196 | ((data_payload_right[4] & 1<<5) ? 1:0) << 2 |
197 | ((data_payload_right[4] & 1<<4) ? 1:0) << 3 |
198 | ((data_payload_right[4] & 1<<3) ? 1:0) << 4 |
199 | ((data_payload_right[4] & 1<<2) ? 1:0) << 5 |
200 | ((data_payload_right[4] & 1<<1) ? 1:0) << 6;
201 | }
202 |
203 | // checking for a poll request from QMK
204 | if (app_uart_get(&c) == NRF_SUCCESS && c == 's')
205 | {
206 | // sending data to QMK, and an end byte
207 | nrf_drv_uart_tx(data_buffer,10);
208 | app_uart_put(0xE0);
209 |
210 | // debugging help, for printing keystates to a serial console
211 | /*
212 | for (uint8_t i = 0; i < 10; i++)
213 | {
214 | app_uart_put(data_buffer[i]);
215 | }
216 | printf(BYTE_TO_BINARY_PATTERN " " \
217 | BYTE_TO_BINARY_PATTERN " " \
218 | BYTE_TO_BINARY_PATTERN " " \
219 | BYTE_TO_BINARY_PATTERN " " \
220 | BYTE_TO_BINARY_PATTERN "\r\n", \
221 | BYTE_TO_BINARY(data_payload_left[0]), \
222 | BYTE_TO_BINARY(data_payload_left[1]), \
223 | BYTE_TO_BINARY(data_payload_left[2]), \
224 | BYTE_TO_BINARY(data_payload_left[3]), \
225 | BYTE_TO_BINARY(data_payload_left[4]));
226 | nrf_delay_us(100);
227 | */
228 | }
229 | // allowing UART buffers to clear
230 | nrf_delay_us(10);
231 |
232 | // if no packets recieved from keyboards in a few seconds, assume either
233 | // out of range, or sleeping due to no keys pressed, update keystates to off
234 | left_active++;
235 | right_active++;
236 | if (left_active > INACTIVE)
237 | {
238 | data_buffer[0] = 0;
239 | data_buffer[2] = 0;
240 | data_buffer[4] = 0;
241 | data_buffer[6] = 0;
242 | data_buffer[8] = 0;
243 | left_active = 0;
244 | }
245 | if (right_active > INACTIVE)
246 | {
247 | data_buffer[1] = 0;
248 | data_buffer[3] = 0;
249 | data_buffer[5] = 0;
250 | data_buffer[7] = 0;
251 | data_buffer[9] = 0;
252 | right_active = 0;
253 | }
254 | }
255 | }
256 |
257 |
258 | // Callbacks not needed in this example.
259 | void nrf_gzll_device_tx_success(uint32_t pipe, nrf_gzll_device_tx_info_t tx_info) {}
260 | void nrf_gzll_device_tx_failed(uint32_t pipe, nrf_gzll_device_tx_info_t tx_info) {}
261 | void nrf_gzll_disabled() {}
262 |
263 | // If a data packet was received, identify half, and throw flag
264 | void nrf_gzll_host_rx_data_ready(uint32_t pipe, nrf_gzll_host_rx_info_t rx_info)
265 | {
266 | uint32_t data_payload_length = NRF_GZLL_CONST_MAX_PAYLOAD_LENGTH;
267 |
268 | if (pipe == 0)
269 | {
270 | packet_received_left = true;
271 | left_active = 0;
272 | // Pop packet and write first byte of the payload to the GPIO port.
273 | nrf_gzll_fetch_packet_from_rx_fifo(pipe, data_payload_left, &data_payload_length);
274 | }
275 | else if (pipe == 1)
276 | {
277 | packet_received_right = true;
278 | right_active = 0;
279 | // Pop packet and write first byte of the payload to the GPIO port.
280 | nrf_gzll_fetch_packet_from_rx_fifo(pipe, data_payload_right, &data_payload_length);
281 | }
282 |
283 | // not sure if required, I guess if enough packets are missed during blocking uart
284 | nrf_gzll_flush_rx_fifo(pipe);
285 |
286 | //load ACK payload into TX queue
287 | ack_payload[0] = 0x55;
288 | nrf_gzll_add_packet_to_tx_fifo(pipe, ack_payload, TX_PAYLOAD_LENGTH);
289 | }
290 |
--------------------------------------------------------------------------------
/interphase-receiver-basic/program.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | echo '=============================== MAKING ================================'
3 | cd custom/armgcc
4 | make
5 | if [[ $? -ne 0 ]] ; then
6 | exit 0
7 | fi
8 | sleep 0.1
9 | HEX=`readlink -f _build/nrf51822_xxac.hex`
10 | du -b $HEX
11 |
12 | echo
13 | echo '============================= PROGRAMMING ============================='
14 | {
15 | echo "reset halt";
16 | sleep 0.1;
17 | echo "flash write_image erase" $HEX;
18 | sleep 11;
19 | echo "reset";
20 | sleep 0.1;
21 | exit;
22 |
23 | } | telnet localhost 4444
24 |
25 | echo
26 | echo '============================== FINISHED ==============================='
27 |
--------------------------------------------------------------------------------
/nrf-stlink.cfg:
--------------------------------------------------------------------------------
1 | source [find interface/stlink-v2.cfg]
2 | transport select hla_swd
3 |
4 | set WORKAREASIZE 0x0
5 | source [find target/nrf51.cfg]
6 |
--------------------------------------------------------------------------------
/precompiled/precompiled-basic-left.hex:
--------------------------------------------------------------------------------
1 | :1000000000400020E10C0000210D0000230D000045
2 | :1000100000000000000000000000000000000000E0
3 | :10002000000000000000000000000000250D00009E
4 | :100030000000000000000000270D0000290D000056
5 | :10004000E5090000812A00002B0D00002B0D0000A7
6 | :100050002B0D000000000000BD0800002B0D00006B
7 | :100060002B0D00002B0D00000D3A0000A90B000025
8 | :100070002B0D00002B0D00002B0D00002B0D0000A0
9 | :100080002B0D0000450C00002B0D00002B0D000077
10 | :10009000D92D00002B0D00002B0D00002B0D0000B2
11 | :1000A0002B0D00002B0D00000000000000000000E0
12 | :1000B0000000000000000000000000000000000040
13 | :1000C00010B5064C2378002B07D1054B002B02D02E
14 | :1000D000044800E000BF0123237010BD840000200D
15 | :1000E000000000009C3B0000044B10B5002B03D027
16 | :1000F0000349044800E000BF10BDC04600000000F6
17 | :10010000880000209C3B0000144B002B00D1124BB8
18 | :100110009D46402292029A1A924600218B460F4633
19 | :100120001148124A121A00F07BF80D4B002B00D038
20 | :1001300098470C4B002B00D098470020002104006A
21 | :100140000D000B4800F016F800F046F820002900DA
22 | :1001500000F040FB00F016F800000800004000200E
23 | :100160000000000000000000840000207C0500204A
24 | :10017000B1010000002310B501001A00180000F0C2
25 | :1001800057F810BD084B10B50400002B02D0002119
26 | :1001900000F0B8F8054B1868836A002B00D0984728
27 | :1001A000200000F019F9C04605030000483B00009C
28 | :1001B00070B5074D074C641BA410002C02D103F04E
29 | :1001C000BDFC70BD013CA300EB589847F5E7C04665
30 | :1001D000800000208400002070B500260C4D0D4CDE
31 | :1001E000641BA410A64209D1002603F0A1FC0A4D0D
32 | :1001F0000A4C641BA410A64205D170BDB300EB5895
33 | :1002000098470136EEE7B300EB5898470136F2E71E
34 | :100210007C0000207C0000207C000020800000206A
35 | :1002200003001218934200D1704719700133F9E7A7
36 | :10023000F0B5304D85B02C6806000191170002938F
37 | :10024000002C0AD12C4B2D4A2B601C00002A04D014
38 | :1002500019001268883103920A6063681F2B3DDD24
39 | :10026000274B002B03D10120404205B0F0BD8C206C
40 | :1002700000E000BF041EF6D02A68002302600200DE
41 | :1002800088324360286013609E421ED08420400064
42 | :1002900000E000BF0028E6D003000022FC335A60D3
43 | :1002A0009A60230088331860012261688A408B00BD
44 | :1002B000C31880C3FC304168114341600299D9677B
45 | :1002C000022E02D183681A438260636800205A1CA0
46 | :1002D00062600233019A9B001A51C6E7002EF4D0E7
47 | :1002E0002300883318680028DED1054B002BBAD0D4
48 | :1002F000CCE7C0462C010020A00000200000000038
49 | :1003000000000000F0B585B003900191304D2C68DD
50 | :10031000002C01D105B0F0BD230088331E6863684E
51 | :100320005F1E9B000093002F14DA2A4B002BF1D0A4
52 | :1003300062682368002A49D1002B47D02B60002E29
53 | :1003400002D0300000E000BF200000E000BF2B68BA
54 | :100350001C00DDE7019B002B0BD0002E03D1009B7E
55 | :10036000013F043BDEE7009B019AF318DB6F9342E9
56 | :10037000F5D1009B6268E118013A4B68BA4216D188
57 | :100380006760002BEBD062680292002E06D001223B
58 | :100390003000BA40FC30416811420BD19847636885
59 | :1003A000029A9342B2D12B68A342D8D0AEE7002282
60 | :1003B0004A60E6E70099806804397158104202D11A
61 | :1003C00003989847EBE708009847E8E72500BFE760
62 | :1003D0002C01002000000000FEE7C0462E4B1B78D9
63 | :1003E000012B00D070472D4B1B681B07FAD1F02260
64 | :1003F0002B4B1B68134027D12A4B1B6813422BD071
65 | :10040000264B1B681B07EDD1F022254B1B681340C0
66 | :10041000402B2DD0F022224B1B681340A02B01D083
67 | :10042000D02BDFD1F0231F4A12681A42DAD11E4ABC
68 | :100430001368012B04D01D4B13601368012BFCD1F2
69 | :10044000C0221B4B1A60CDE7102B01D0302BDBD123
70 | :10045000144B1B681342D7D1164B174A1A608022DF
71 | :10046000164B12021A600C4B1B78012BC8D0B9E74F
72 | :100470000C4B1B681342CDD18022C1230121DB002C
73 | :10048000D205D150044B1B78012BABD1034B1B6819
74 | :100490001B07BFD0A6E7C046E00F00F0E40F00F056
75 | :1004A000E80F00F0EC0F00F000EC06407593000040
76 | :1004B00014EC064004050040DFFF07C0186C004044
77 | :1004C00010B5054B05491A6800200A601B79052202
78 | :1004D0000B7100F04EFC10BD64010020540100209F
79 | :1004E000F0B557464E464546DE46A024A12380215E
80 | :1004F000E0B5E405DB004905E15099460833E058D2
81 | :100500009846022342099C461A404509013B1D407A
82 | :100510002A4305091D4052002A43C5081D405200C8
83 | :100520002A4385081D4052002A431D005200054001
84 | :100530002A43800F184052009C4F9D4E02435200A8
85 | :1005400083B08020E151009232704A460004A050EE
86 | :100550004246A5586246690911406A091A4011438A
87 | :100560002A091A4049001143EA081A404900114378
88 | :10057000AA081A40490011431A0049002A401143B1
89 | :100580008022D2039246E0514A465046AD0F1D40AC
90 | :100590004900294349007170A0504246A55862465F
91 | :1005A000680910406A091A4010432A091A4040009D
92 | :1005B0001043EA081A4040001043AA081A404000BD
93 | :1005C00010431A0040002A401043AD0F1D40400068
94 | :1005D0002843420050460192E051B27080229203BB
95 | :1005E00092464A465046A0504246A558624668097F
96 | :1005F00010406A091A4010432A091A40400010436B
97 | :10060000EA081A4040001043AA081A40400010436C
98 | :100610001A0040002A4010435246E25180229205BF
99 | :100620009246AD0F1D4040004A46284355464000C3
100 | :10063000F070A5504246A55883466A099146624625
101 | :100640004846024094464A461A4091466246484609
102 | :100650000243520094462A091A409146624648468F
103 | :10066000024352009446EA081A40914662464846C0
104 | :10067000024352009446AA081A40914662464846F0
105 | :100680000243520094461A002A4091466246484668
106 | :10069000024352009446AA0F134062461343524647
107 | :1006A000E251444C5B0025783371002D3CD1424D22
108 | :1006B000009A2F7897420CD16A788A4209D1AA7899
109 | :1006C00001998A4205D1EA785A4502D12A799A429B
110 | :1006D00008D03A4A31681371012311600022237057
111 | :1006E000374B1A603378002B1AD17378002B17D14F
112 | :1006F000B378002B14D1F378002B11D13379002B70
113 | :100700000ED1304A136801331360FA22520093422B
114 | :1007100031D803B03CBC90469946A246AB46F0BDEA
115 | :100720000022284B1A60F4E7244D009A2F78974254
116 | :100730001ED16A788A421BD1AA7801998A4217D1C0
117 | :10074000EA785A4514D12A799A4211D11C490B688A
118 | :1007500001330B60052BC5D12B68174900200B60B6
119 | :100760000A7119490A710B60052200F002FBB9E712
120 | :1007700000232370B6E7154800F0F8F9144800F09C
121 | :10078000F5F9A022A1238021D205DB004905D15033
122 | :1007900080210904D1508021C903D15080218903CF
123 | :1007A000D15080218905D150B3E7C0460C05000027
124 | :1007B0006C01002060010020640100207401002011
125 | :1007C0005C0100205001002054010020543B000037
126 | :1007D0004C3B000070B5002000F0D4FD642000F018
127 | :1007E0007BFD284800F02AFC274800F03FFC00F081
128 | :1007F0009DFA00F0ABF8002000F0C4F8234D244A25
129 | :100800000021280000F070F9224C234A002120002A
130 | :1008100000F06AF90121280000F0B4F9012120005C
131 | :1008200000F0B0F9280000F095F9200000F092F9EE
132 | :10083000A023E321194ADB05C9005A5018495A5030
133 | :1008400004395A5017495A5004395A5008395A50E5
134 | :1008500078315A50032208395A5013495A500439F2
135 | :100860005A5012495A5012495A50C1238021114AF4
136 | :100870009B000906D15040220F4B1A6040BF20BF99
137 | :1008800020BFFBE70403020108070605543B0000F4
138 | :10089000C10400004C3B0000E10400000400020021
139 | :1008A000140700000C0700005C070000540700005C
140 | :1008B000740700000060004000E100E0BE2310B5B6
141 | :1008C000104A5B00D15800291BD000240E48D45098
142 | :1008D00000F040F90D4800F03DF9A02280210C4BBA
143 | :1008E000D2054905D15080210904D1508021C90386
144 | :1008F000D15080218903D15080218905D150054BE9
145 | :100900001C6010BD00600040543B00004C3B0000E8
146 | :100910000C05000050010020202300B5C9B285B0AD
147 | :100920000393002903D003AA024900F065FA05B039
148 | :1009300000BDC0463001002082B002B07047C04602
149 | :1009400082B002B07047C0467047C04670B50C4CCC
150 | :100950008520237A002B12D1636023602361E3603A
151 | :10096000AA228023FF210125DB05D2009950383AC5
152 | :1009700000209D50FC3900F083F80020257270BDE6
153 | :100980007C01002070B50500002000F067F8124CD3
154 | :10099000A37A002B0BD0002D02D06B680120984762
155 | :1009A000E36801330020E36000F060F870BD002DC3
156 | :1009B00002D0236925612B60E368002BF1D1074A3F
157 | :1009C00080211360C1220220C905920088500121B4
158 | :1009D000034A1160E5E7C0467C01002004010040A5
159 | :1009E0000800004010B51A4B1A68002A14D00022E3
160 | :1009F00080211A60C2220123164CC90592008B5037
161 | :100A000063726368002B07D01A6800205B6862601D
162 | :100A100098476368002BF7D10F4B1A68002A15D04E
163 | :100A200000221A608022C22302219B00D205D150ED
164 | :100A30000123084CA3722369002B07D01A680120F8
165 | :100A40005B68226198472369002BF7D110BDC0462F
166 | :100A5000000100407C0100200401004072B6024AFF
167 | :100A6000136801331360704790010020034A136834
168 | :100A7000013B1360002B00D162B67047900100204B
169 | :100A8000FF22032330B51400C5B22B40DB009C408D
170 | :100A900089010A40E4439A40002814DB104B800887
171 | :100AA0009C46C023800060449B00C1580C402243F8
172 | :100AB000C2501F23C0211D401E3BAB40084A4900C5
173 | :100AC0005350136030BD0F2306492B408C46083B22
174 | :100AD0009B089B006344D9690C402243DA61E8E734
175 | :100AE00000E100E000ED00E070B505000C00002A18
176 | :100AF00027D04179144B8800C2504B00002C1BD0EA
177 | :100B0000124E5B189B5D0820002B14D10420A178A5
178 | :100B10002856FFF7B5FFA12322882968DB00CA50B9
179 | :100B20006A79217953009B18F2185170E1780020FE
180 | :100B3000917001229A5570BD5C18054A6400141921
181 | :100B4000DEE70720F7E7C0469C0100209401002063
182 | :100B50005C3B00000122022103681A6042795300C5
183 | :100B60009B18014A995470479401002001220368A0
184 | :100B70005A6041794B005B1801495A547047C0468E
185 | :100B8000940100208023002210B504685B00E2502D
186 | :100B9000D1220468FF3B9200A350002902D00168D3
187 | :100BA000403A8B5010BDC046F0B5C646224B80255A
188 | :100BB000C1270024984600B5204E6D02BF00F359AE
189 | :100BC0001D4210D01E4BE3189B001A68002A0AD061
190 | :100BD000D2229200B550403AB55000221A604346E6
191 | :100BE000E0B21B68984701346D00042CE7D1C122A4
192 | :100BF000124B92009A58D2070AD580225200995877
193 | :100C0000002905D0002199500B4B04201B68984700
194 | :100C1000C1220A4B92009A5892070AD582225200AA
195 | :100C20009958002905D000219950034B05201B68D5
196 | :100C3000984704BC9046F0BD9C01002000B00040E5
197 | :100C4000502C0010F0B5C646224B8025C127002449
198 | :100C5000984600B5204E6D02BF00F3591D4210D0DA
199 | :100C60001E4BE3189B001A68002A0AD0D222920079
200 | :100C7000B550403AB55000221A604346E0B25B6876
201 | :100C8000984701346D00042CE7D1C122124B920029
202 | :100C90009A58D2070AD5802252009958002905D0C7
203 | :100CA000002199500B4B04205B689847C1220A4BE6
204 | :100CB00092009A5892070AD5822252009958002928
205 | :100CC00005D000219950034B05205B68984704BC70
206 | :100CD0009046F0BD9C0100200010014050440010DF
207 | :100CE00003210A4802680A430260094802680A436D
208 | :100CF00002600849084A094B9B1A03DD043BC858A7
209 | :100D0000D050FBDCFFF76AFBFFF7FEF9240500403B
210 | :100D100054050040A83B0000000000208400002093
211 | :100D2000FEE7FEE7FEE7FEE7FEE7FEE708B5064B57
212 | :100D30001868002803D1054902220A7002E001F078
213 | :100D400049F9012008BDC046A4010020E4010020AB
214 | :100D5000014B1868407E7047A401002008B500F0E0
215 | :100D600011FE002802D100F0F8FD01E0FFF7ECFDD4
216 | :100D700008BDF8B5051C0F1C161C072804D9042251
217 | :100D80001B4E0020327031E003220029F8D00622E9
218 | :100D9000202EF5D800F04CFE09220228F0D8281C9D
219 | :100DA00000F04AFE0A220228EAD800F049FE082292
220 | :100DB0000128E5D900F0F4FD4378041C06700120F9
221 | :100DC00003436370391C321CA01C02F0A7FEE8B27A
222 | :100DD000211C00F0F9FD051C0120002D06D105485D
223 | :100DE00002F0CAFA024F0F213970281CF8BDC04624
224 | :100DF000E4010020DD000500F8B5061C0D1C171CE1
225 | :100E000000F01AFE002803D1154F0B253D7025E098
226 | :100E10000322002D07D0301C00F0FCFD3A68037857
227 | :100E20009A4204D206220E4E0020327016E0301C88
228 | :100E300000F0E6FD041E0AD00278811C3A60281CEE
229 | :100E400002F06CFE201C00F0B5FD012006E0054814
230 | :100E500002F092FA02490F200870201CF8BDC0462B
231 | :100E6000E40100200501050008B5072804D9044B5A
232 | :100E700004221A70002001E000F0DAFD08BDC0462F
233 | :100E8000E401002008B5072805D9044B04220120FD
234 | :100E90001A70404201E000F0CFFD08BDE4010020DF
235 | :100EA00008B500F0CDFD0623181A08BD10B5041EC4
236 | :100EB000072C03D90B4B04241C7003E0FFF7D4FF6D
237 | :100EC000022801DD00200CE0201CFFF7DBFF0228D8
238 | :100ED000F8DCFFF7E5FF0623181A01218142924151
239 | :100EE000504210BDE401002008B50A4B19684A7E43
240 | :100EF000002A04D0084A0C211170002009E00728BC
241 | :100F000003D9054B04201870F7E7C0B200F09CFD30
242 | :100F1000012008BDA4010020E401002008B5072835
243 | :100F200004D9054B04221A70002003E0C0B200F07F
244 | :100F3000A5FD012008BDC046E401002010B5012830
245 | :100F40000AD0002803D0022808D1002000E00120A8
246 | :100F500001F028F8012005E00220F9E7024B052204
247 | :100F60001A70002010BDC046E401002010B500F04A
248 | :100F700011FD01280AD00224002808D0A04201D186
249 | :100F8000012404E0034802F0F7F900E00024201CEB
250 | :100F900010BDC0467001050038B5134A031C106827
251 | :100FA0000C1C407E002804D0104D02202870002028
252 | :100FB00018E001390F2903D90C4907220A7011E002
253 | :100FC000002B03D1094C03232370F0E7084D191CB3
254 | :100FD00010C5221C281C02F0A1FD281C211C00F0B9
255 | :100FE000BDFD012038BDC046A4010020E401002061
256 | :100FF000600000200C4B10B51A680C68944201D3B5
257 | :10100000102C04D9094C0720207000200AE0002889
258 | :1010100003D1064903220A7004E00A60191D02F098
259 | :101020007DFD012010BDC04660000020E4010020CD
260 | :10103000014B18687047C0466000002008B5074B98
261 | :1010400019684A7E002A04D0054B0220187000203F
262 | :1010500002E000F01DFD012008BDC046A4010020F3
263 | :10106000E401002008B500F023FD08BD08B5074BDA
264 | :1010700019684A7E002A04D0054B0220187000200F
265 | :1010800002E000F01BFD012008BDC046A4010020C5
266 | :10109000E401002008B500F01FFD08BD08B50A4BAB
267 | :1010A0001A68537E002B04D0084B02221A700020CD
268 | :1010B00008E0072803D9054804210170F7E700F08C
269 | :1010C00011FD012008BDC046A4010020E40100205C
270 | :1010D00010B50C1C072804D90422064B00201A70F6
271 | :1010E00006E003220029F8D000F028FD207001203E
272 | :1010F00010BDC046E401002008B5074B19684A7EC0
273 | :10110000002A04D0054B02201870002002E000F0F5
274 | :1011100065FD012008BDC046A4010020E4010020B7
275 | :1011200008B500F061FD08BD08B50E4A031C106843
276 | :10113000407E002804D00C480222027000200FE0FC
277 | :10114000012B0AD0002B07D0022B01D1012004E093
278 | :10115000054B0E21197003E0022000F0DDFD012097
279 | :1011600008BDC046A4010020E401002008B501F03C
280 | :1011700023F80021012801D8014B195C081C08BD87
281 | :10118000683B000008B5134B19684A7E002A04D05A
282 | :10119000114A0221117000201BE006280FD802F02E
283 | :1011A0006BFC12140406080A0C00FC200EE0F82068
284 | :1011B0000CE0F4200AE0F02008E0EC2006E0064B0A
285 | :1011C0000E201870E7E7042000E0002000F046FD44
286 | :1011D000012008BDA4010020E401002008B500F0B2
287 | :1011E0004BFDF02813D004D8042814D0EC2806D1E5
288 | :1011F0000FE0F82807D0FC2803D0F42805D0012000
289 | :101200000AE0022008E0032006E0042004E00520B4
290 | :1012100002E0062000E0002008BD08B5064B196872
291 | :101220004A7E002A04D0054B02201870002002E0FC
292 | :1012300000F0E0FC012008BDA4010020E401002032
293 | :1012400008B500F0DDFC08BD08B5074B19684A7EFB
294 | :10125000002A04D0054B02201870002002E000F0A4
295 | :1012600097FC012008BDC046A4010020E401002035
296 | :1012700008B500F093FC08BD08B5074B19684A7E15
297 | :10128000002A04D0054B02201870002002E000F074
298 | :10129000CBFC012008BDC046A4010020E4010020D1
299 | :1012A00008B500F0C9FC08BD08B5074B19684A7EAF
300 | :1012B000002A04D0054B02201870002002E000F044
301 | :1012C000A5FC012008BDC046A4010020E4010020C7
302 | :1012D00008B500F0A3FC08BD08B5074B19684A7EA5
303 | :1012E000002A04D0054B02201870002002E000F014
304 | :1012F000A9FC012008BDC046A4010020E401002093
305 | :1013000008B500F0A5FC08BD08B50B4B19684A7E6E
306 | :10131000002A04D0094A0221117000200AE00028A6
307 | :1013200005D0012803D0054B0E201870F5E700F01A
308 | :101330005BFF012008BDC046A4010020E40100209D
309 | :1013400008B500F057FF01384342584108BD08B5C1
310 | :101350000A4B19684A7E002A04D0094A02211170FA
311 | :1013600000200AE0002805D0012803D0044B0E20FD
312 | :101370001870F5E700F050FF012008BDA40100201F
313 | :10138000E4010020F8B51E4D00241E4E071C281C49
314 | :10139000211C0C22083034706C60FEF741FF1A48A3
315 | :1013A00000F048FE2860A04203D1012030700020E8
316 | :1013B00024E0164B181D1968FFF7EEFD051C381CBC
317 | :1013C000FFF7BCFD0540042000F0EEFB201CFFF7FA
318 | :1013D0009BFFEFB207400120FFF7D4FE0740022039
319 | :1013E000FFF7A2FE0740201CFFF7B1FF041C0120FD
320 | :1013F0003C4000F0E7FE002CD7D00120F8BDC046ED
321 | :10140000A4010020E40100208314000060000020FB
322 | :1014100008B500F007FF01384342584108BD024BB0
323 | :101420000022DA607047C046A4010020014BD86852
324 | :101430007047C046A4010020044B002200B51A7278
325 | :10144000904202D018610120187200BDA401002052
326 | :10145000014B18787047C046E4010020014B002280
327 | :101460001A707047E4010020014B58687047C0466D
328 | :10147000A4010020014B00225A607047A401002003
329 | :101480007047F0B589B0040C031C060A844601902D
330 | :10149000101C039297B2020C0D1C002002910092C6
331 | :1014A000E1B2624606AC069060600590D0B21B0EB9
332 | :1014B000F6B2052854D802F0DFFA03142943403D60
333 | :1014C0006A4649B2484223701388E080281C67802E
334 | :1014D000A38000F06FFA301C06996268FFF71CFACF
335 | :1014E00041E022490B68587E002802D1204801F0D3
336 | :1014F00043FF281C6D4600F05DFA67802F88301C82
337 | :10150000A78006996268FFF717FA2CE048B205AC8D
338 | :10151000424223706280002B07D0002D02D1154873
339 | :1015200001F02AFF281C00F045FA301C0599FFF74E
340 | :1015300007FA18E0FFF708FA15E0FFF7A1FF12E03D
341 | :101540000A4DE9682B7A0131E960002B0BD02F6935
342 | :10155000002F02D1FFF702FC05E0013F2F6102E0FE
343 | :10156000054801F009FF09B0F0BDC046A401002004
344 | :10157000B5030500C3030500E3030500024B03495F
345 | :101580000F221A7048607047E4010020A401002077
346 | :1015900000B5064A01231178022903D05068421E83
347 | :1015A000904100E0181C1840C0B200BDE8010020C6
348 | :1015B00008B5FFF7EDFF044B044A002801D0D068BE
349 | :1015C00000E09068186008BDBC01002020020020E7
350 | :1015D00008B5044B5A68002A01D0013A5A60FFF757
351 | :1015E000E7FF08BDE801002010B500231A1C041C09
352 | :1015F0001C41012121400724E41AA1400A43013380
353 | :10160000D2B2082BF3D1101C10BD70B50024061CFB
354 | :10161000251C301CE040C0B2FFF7E6FF1823191B61
355 | :10162000884008340543202CF3D1281C70BD38B500
356 | :101630000D1C01F071FE084C63699D4202D80748F9
357 | :1016400001F09AFE60690122291A054802F058F952
358 | :101650000021616138BDC046E80100204D06090047
359 | :101660005933000007B5A12303210F4A8B40D15005
360 | :1016700001F094FD002815D002280AD9032811D1C1
361 | :10168000002300930193181C191C1A1C01F09EFCE6
362 | :1016900003E00020011C01F035FD042802D00348BE
363 | :1016A00001F06AFE07BDC04600F00140E8010900F4
364 | :1016B00008B501F027FFA1230E4AD900505001F0D0
365 | :1016C0006DFD012807D001F069FD022802D00A480B
366 | :1016D00001F052FE002001F0B9FA02F093F9074B35
367 | :1016E000A221CA0098500648064AC1684868985026
368 | :1016F00008BDC046001000401E06090000F0014071
369 | :10170000BC0100201405000008B502F0EDF8012826
370 | :101710000FD002F0CDF8074B187F002803D18021AD
371 | :101720000122CB055A60002001F0F6FD024A00209C
372 | :10173000506008BD20020020E801002010B501F033
373 | :101740006AFD00281AD00E4B00229A81DA8101F03E
374 | :10175000C5FB0C4C0C49605001F0C0FBA6220123D4
375 | :101760008340D100635001F0BFFB084C206001F0C2
376 | :10177000C1FB074B6060E360FFF79AFF10BDC046F6
377 | :10178000E8010020001000402C05000004020020A9
378 | :101790003918000008B502F0A7F8012822D101F09D
379 | :1017A000D5FD002802D0104801F0E6FD1E210F48AB
380 | :1017B000002202F0A5F80E4B197F002902D002F09A
381 | :1017C0006BF80FE00B480C4B01220260596080213E
382 | :1017D000C8050260C046C046C046C0465A68002AD6
383 | :1017E000FCD0ECE708BDC0462C06090059330000C8
384 | :1017F0002002002014050040FC0000401FB5FFF748
385 | :1018000083FF01F0D9F80A4A002301A805210170DD
386 | :1018100043601C1C0381438143708370C3709370C9
387 | :10182000537601F09DFA03480470FFF71BFF1FBDBC
388 | :10183000E80100201C020020F0B53E4B8022D000C1
389 | :10184000195887B0012904D03B4C00261D59B542D8
390 | :1018500006D13A4E2022776800263B789A4276419C
391 | :10186000374C012561692E40281C002901D102F066
392 | :1018700041F8284201D10120606101F08FFC01286C
393 | :1018800002D0304801F078FD2F4DEF683B7D002BF2
394 | :1018900002D02E4801F070FD01F08EF8002E47D0E6
395 | :1018A0000120011C01F02EFC042836D802F0E4F8D7
396 | :1018B00003321832320001F017FBE289071CA689B7
397 | :1018C000019201F00BFBE9686D46897D0497AF88B2
398 | :1018D00003AB00221A701E815F815870997014E06A
399 | :1018E00001F002FB071CE089A689019001F0F6FADD
400 | :1018F000EB686D469A7D0497AF8803AB00219A7020
401 | :1019000019701E815F8158700122DA70181C01F075
402 | :1019100027FA02E00E4801F02FFD01F019FE0D4EEE
403 | :10192000206170696060FFF743FE002001F016FE41
404 | :1019300007B0F0BD00100040340500000402002094
405 | :10194000E8010020A8060900BC010020A906090042
406 | :10195000C806090020020020704708B5012282F362
407 | :101960001088074B597E002905D09878002802D1AD
408 | :101970009A70FFF70FFF002282F3108808BDC0465F
409 | :10198000E8010020024B0120597E48407047C046C4
410 | :10199000E8010020014B18787047C046E80100209C
411 | :1019A00008B5012383F3108801F094FC002181F332
412 | :1019B000108808BD08B5012383F3108801F08EFC60
413 | :1019C000002080F3108808BD08B5012383F3108838
414 | :1019D00001F0EAFB00280DD008488278002A04D1E3
415 | :1019E000417E002901D0FFF7D5FE002383F3108844
416 | :1019F000012001E080F3108808BDC046E801002006
417 | :101A000008B5012383F3108801F0F6FB002181F370
418 | :101A1000108808BD08B501F0EAFB08BD08B5012330
419 | :101A200083F3108801F0D3FB002181F3108808BDF7
420 | :101A300008B501F0D8FB08BD08B501F0E7FB08BD0B
421 | :101A400008B501F04FFC08BD10B50123041C83F359
422 | :101A5000108808480278002A05D0417E002902D06B
423 | :101A6000054801F089FC201C01F0B5FB002484F33B
424 | :101A7000108810BDE8010020FB02090008B5012311
425 | :101A800083F3108801F0BDFB002080F3108808BDAF
426 | :101A900008B5044B1862FFF7B8FD0349034A5050DC
427 | :101AA00008BDC046200200201C05000000100040B8
428 | :101AB000014B186A7047C0462002002008B5044B4D
429 | :101AC0005862FFF7A2FDA421024ACB00D05008BD06
430 | :101AD0002002002000100040014B586A7047C046A9
431 | :101AE00020020020F8B5031C081C072B1AD80F4A47
432 | :101AF00003261E40D118F600FF24B4402831E743E6
433 | :101B000008700B4C032B01D80A4D01E0A525ED0010
434 | :101B100063591F406751FFF767FD6759B04007439E
435 | :101B2000675102E0044801F027FCF8BD20020020C4
436 | :101B300000100040240500003903090010B5041E00
437 | :101B4000072C02D9034801F017FC034B1819283061
438 | :101B5000007810BD410309002002002038B5051CA3
439 | :101B60000C1E02D1074801F007FC002D02D10648E7
440 | :101B700001F002FC054B00209D605C6001F0D6FC8A
441 | :101B800038BDC0464803090049030900BC010020D4
442 | :101B9000014B58617047C04620020020014B586934
443 | :101BA0007047C04620020020064B074AA32110B50B
444 | :101BB0005877CB00D4580104044820400843D05043
445 | :101BC00010BDC0462002002000100040FFFFF8FFBB
446 | :101BD000014B587F7047C04620020020014B18611E
447 | :101BE0007047C04620020020014B18697047C0466C
448 | :101BF00020020020014B58607047C04620020020A0
449 | :101C0000014B58687047C0462002002008B5024BBF
450 | :101C1000D860FFF7CDFC08BD20020020014BD8683A
451 | :101C20007047C0462002002008B5024B9860FFF7BD
452 | :101C3000BFFC08BD20020020014B98687047C046D9
453 | :101C400020020020014B58837047C046200200202C
454 | :101C5000014B588B7047C04620020020034B0449BB
455 | :101C6000044A3033187050507047C046200200209C
456 | :101C70000C05000000100040014B3033187870470D
457 | :101C800020020020184B10B531331870174A184B3A
458 | :101C9000FF249958A1439950032821D8995801F05D
459 | :101CA000EBFE1D020A140124214399501149FF2023
460 | :101CB0005850114906E00220014399500F490D4A3E
461 | :101CC00099500F49A722D20008E0032421439950DC
462 | :101CD0000C480849A7225850A2400021995002E020
463 | :101CE000094801F049FB10BD200200203405000026
464 | :101CF000001000403C05000007010000FFFF00004D
465 | :101D000021100100FFFFFF00C2030900014B313326
466 | :101D100018787047200200201F4B00B5323318702E
467 | :101D2000012821D0002810D0022834D1A2211B4A3A
468 | :101D3000CB00D0501A491B481B4A08601B4B1C485B
469 | :101D40001C491A6008601C4A20E0A223134AD900EB
470 | :101D50005050134B1348154A186013491748154B38
471 | :101D600011601860164A11E0A2230C4AD9005050A5
472 | :101D70000B4B0C480C490D4A186011601148124A6F
473 | :101D80000C4B124918601160114A02E00E490A60BA
474 | :101D9000104A1148026000BD2002002000100040DF
475 | :101DA00024170040005000784E00005428170040CF
476 | :101DB00008800C602C1700408864720003800C605F
477 | :101DC0002264720002800C603017004011646600CB
478 | :101DD000DEC08F823E420F8234170040F8B5A12248
479 | :101DE000334C344B344E354DD000002703210122B3
480 | :101DF000F750315067516251E05831490F2201408C
481 | :101E0000E150E558062095430543E550E1582D4D36
482 | :101E1000C02290020D400543E550A323DD00615927
483 | :101E2000294A80230A406251605959040143615193
484 | :101E30006059FF2290432023184360516159234881
485 | :101E4000C02208406051224853000221C15001F0D5
486 | :101E5000D5FD2049204A70507251204D0323735103
487 | :101E60001F4800F0E1FD1F4E1F4DF060687FFFF737
488 | :101E70009BFE286AFFF70CFE686AFFF71FFEE81951
489 | :101E800028300178381C0137FFF72CFE082FF6D1D7
490 | :101E90002F1C30373978154AA1502C1C313420784A
491 | :101EA0003235FFF7EFFE2878FFF736FFF8BDC04662
492 | :101EB000001000401405000000F00140FC0F00007D
493 | :101EC000FFFEFFFFFFFFF0FFFFFFFFFDFF00FFFF33
494 | :101ED00000E100E01C0500000411004004050000C2
495 | :101EE00004020020BC010020200200200C0500009C
496 | :101EF00070B5274E86B0337872789A4245D0002B61
497 | :101F000001D1FFF76BFF7078002801D1FFF7AAFB22
498 | :101F10002049214D00246C5000F04EFD1F4D2C60D7
499 | :101F20006C602C61AC60EC603378012B08D101F05F
500 | :101F300035F9A04217D0201C211C01F0E3F812E073
501 | :101F4000022B10D100F038FD154A2C61147001F0FD
502 | :101F500025F9032807D100940194201C211C221C80
503 | :101F6000231C01F033F8FFF723FB70780024307056
504 | :101F700003A8042606704460048144814470847080
505 | :101F8000C47000F0EDFE012000E0002006B070BD3E
506 | :101F9000E80100201405000000F0014004020020C8
507 | :101FA0001C02002008B5012383F3108808490A7831
508 | :101FB000824208D04870487E002802D1FFF798FF7F
509 | :101FC00001E0FFF7E7FB002383F3108808BDC0465C
510 | :101FD000E801002038B5124B5A7E1C1C002A1DD186
511 | :101FE000FFF7FCFE0F488168051C002902D10E484E
512 | :101FF00001F0C2F96B68002B02D10C4801F0BCF96A
513 | :1020000001F098F9002802D0094801F0B5F9002044
514 | :1020100001F082F901226276FFF7BCFB38BDC046B1
515 | :10202000E8010020BC0100205E0209005F020900F7
516 | :1020300066020900F8B5071C012080F31088544D92
517 | :10204000544B554E0024002203211C605C609C60B0
518 | :10205000DC601C611A7529702A766A76B460746037
519 | :102060006870AC706C60AC60AC81EC812C616C61B0
520 | :1020700001F0D6FB381C00F059FE00F0F5FE201CE4
521 | :1020800001F042F9301C01F07BF9444FC22083007B
522 | :10209000F958434AC0260A40FA50B0003B5841491B
523 | :1020A000C522194039509600BB59FF204021834377
524 | :1020B0000B43BB510120FFF775FF3B4E3B4B3C48A8
525 | :1020C000311C3362706228310123301C0B702930BF
526 | :1020D0000223311C03702A3103200870FF22311CB7
527 | :1020E00032612B3104220A707277321C2C320520A7
528 | :1020F0001070321C2D320621301C11702E30072238
529 | :102100000270301C2F300821321C01703032002048
530 | :102110001070321C0120311C323210703131962285
531 | :102120009A400B701E2171617260F360FFF740FAF4
532 | :102130000F23B360FFF73CFA01207483307670768A
533 | :102140000021201C6924317701F0D0F834606E78CA
534 | :102150000124A64202D0174801F00EF900262C7087
535 | :10216000AE706E60AE60AE81EE812E616E612E76D5
536 | :102170006E76FFF733FEC023802180225800CC000A
537 | :1021800053033C503B5086F31088281CF8BDC046D2
538 | :10219000E801002004020020BC01002000E100E072
539 | :1021A000FFFF00FFFF00FFFF2002002004070A0DD1
540 | :1021B00005080B0E3C020900014B323318787047BA
541 | :1021C00020020020054B10B5041CD868002802D15D
542 | :1021D000034801F0D1F803490C7510BDBC01002083
543 | :1021E000F603090004020020014B18767047C04630
544 | :1021F00020020020014B187E7047C04620020020BC
545 | :10220000014B58767047C04620020020014B587E93
546 | :102210007047C04620020020014B18777047C04627
547 | :1022200020020020014B187F7047C046200200208A
548 | :1022300008B501F05BF808BD08B50B4BD868417DC7
549 | :10224000002906D0012000F05BFB084B9A8901327F
550 | :102250009A810749074B084A002058505168136873
551 | :10226000C91AFFF7E4F908BDBC010020E80100200D
552 | :102270001405000000F0014020020020084B10B5BA
553 | :102280001A781C1C012A02D0064801F075F806498C
554 | :10229000064A0220002320700B61CA6010BDC046B0
555 | :1022A0001C02002092050900040200204D230000BA
556 | :1022B00010B500F081FB194819491A4C002301227E
557 | :1022C000027023610869A623174AD900505000F014
558 | :1022D00065FF00280AD100F075FD01280DD900F036
559 | :1022E0000FFE6060002808D1104804E000F056FF9F
560 | :1022F000032802D00E4801F03FF8022000F0A6FCAF
561 | :10230000002000F0FDFA00F049FF032802D0094840
562 | :1023100001F032F8FFF7B2FF10BDC0461C020020EA
563 | :102320002002002004020020001000407B0509006C
564 | :10233000800509008805090008B5034B05221A70BD
565 | :10234000FFF7B6FF08BDC0461C020020F0B5484AA2
566 | :102350008023D800115887B0464C012904D0464D3F
567 | :10236000002356599E4205D1676800233978202002
568 | :1023700088425B41414E03250021012735702160D1
569 | :102380003B408B4255D08123D80015583C4B115807
570 | :102390003C48D15002A912583B1C00910194381CB2
571 | :1023A000291C00F013FE032841D801F065FB1E0232
572 | :1023B000204E0298002802D0334800F0DDFF281C90
573 | :1023C00000F024FF002802D1304800F0D5FF30494A
574 | :1023D00003A8CF680223B97D0027037047603A1C29
575 | :1023E00007814781457081701DE02A482BE0029AE1
576 | :1023F000002A02D1284800F0BFFF281C00F006FF89
577 | :10240000002802D1254800F0B7FF214F03A8FB6840
578 | :10241000029F997D0222002302704760038143815D
579 | :10242000457081700122C27000F09AFC0DE01C48DA
580 | :1024300009E000930193181C191C1A1C00F0C6FD3A
581 | :10244000042802D0174800F097FF2568002D06D118
582 | :1024500000F0B2FA65752561FFF72AFF05E0124822
583 | :102460000122627520610424347007B0F0BDC046BB
584 | :102470000010004004020020340500001C0200206F
585 | :102480002C0500000C040000B8050900B90509007E
586 | :10249000BC010020BD050900C0050900C1050900F7
587 | :1024A000C8050900CF0509003923000070B50C4D9F
588 | :1024B000A124E4002E5901F025F886420AD001F04B
589 | :1024C00021F82851FFF7F4FE064900204968FFF77C
590 | :1024D000AEF870BD044B18780028F3D0F4E7C0467E
591 | :1024E00000100040200200201C020020F0B5864CA5
592 | :1024F0000125636989B0281C002B01D101F0FAF98C
593 | :102500000126284000D0D3E02178B14202D100F06A
594 | :102510004BFA10E0022908D000F042FFFFF758F80C
595 | :10252000A678002E00D0A9E00EE0784A1378033B8D
596 | :10253000DDB2AE4240410028EED0754E7548776856
597 | :10254000012279086161CBE0FFF7D2FC704D071ED4
598 | :1025500000D08EE020780190061E012E06D00028C3
599 | :1025600063D0022865D1FFF7A1FF65E000F024FAEF
600 | :1025700000F014FE00281DD100F024FC012851D9E0
601 | :10258000FFF706F8071E0CD000F0FAFF002849D12B
602 | :10259000287E00280BD100F0DBFF2669B04241D134
603 | :1025A00005E0206900F0C2FF381C00F0D7FFFFF7FC
604 | :1025B000C5F837E0698B002920D0A2898A421DD353
605 | :1025C000311C381C00F09EFD00F08EFC0290A289A8
606 | :1025D0000392E68900F082FC69460A79029905AB0C
607 | :1025E0001A7006910C226946515A5870181C1981AC
608 | :1025F0005E819F70DF7000F0B3FB13E001F07AF9A9
609 | :10260000002802D0444800F0B7FEA1234348DF0071
610 | :10261000C65900F077FF864202D0E1890131E1819D
611 | :10262000FFF746F80120296800E06968FEF7FFFF20
612 | :1026300002E03B4800F0A0FE6D7E012D23D1FEF7A5
613 | :10264000A7FF00281FD12478012C07D0002C0DD023
614 | :10265000022C18D0334800F08FFE14E000F09EFDED
615 | :10266000002810D100F034FC00280CD1FFF74CF802
616 | :1026700009E06968301CFEF7DAFF04E0647E002C94
617 | :1026800001D0FFF7BBF800F09DFB01280CD905A88D
618 | :1026900000210323037041600181418141708170F9
619 | :1026A000C17000F05DFB2DE01F4800F065FE29E0E1
620 | :1026B000FEF78EFFA778002F1DD12178022912D1B5
621 | :1026C000124B1D78033D012D04D900F069FEFFF780
622 | :1026D000EDFE17E00E4F321C786841080D4861612D
623 | :1026E00001F00EF90EE000F05BFE094A381C51685B
624 | :1026F000FEF79DFF06E000F053FE607E002801D04B
625 | :10270000FFF77CF809B0F0BDE80100201C020020B2
626 | :1027100020020020593300000A0509000010004083
627 | :1027200058040900720409008C04090007B50190DF
628 | :10273000C046C046C046C046C046C046C046C04669
629 | :10274000C046C046C046C046C046C046019B013B8D
630 | :102750000193002BECD107BD70B58022164B910080
631 | :1027600000245C501549C2250E78AD00144A032E92
632 | :1027700007D109267442C1265C510825B4001D51B9
633 | :102780000AE0012676425E51C0230E4D02265B0010
634 | :10279000EE50146103244C70002353605361936026
635 | :1027A0004B600B75984205D0074801680A69002AFA
636 | :1027B00000D0904770BDC046001000405402002079
637 | :1027C000FC10004000E100E0CC010020F8B53F4BD8
638 | :1027D0001A69012A53D19D693D4C8022960001352A
639 | :1027E000032104209D611870C025A15139496A0058
640 | :1027F00002278F50384F00263E61C1227E607E61E5
641 | :10280000BE60364E08259100655035682A7D3D1C16
642 | :10281000002A17D0A927F9006258314F9A75A023D2
643 | :10282000D9007A58024202D12E4800F0A5FD0020BE
644 | :102830000123A12228620421A361D300F950A92712
645 | :10284000F90060506868002802D0274800F094FD25
646 | :102850002D69002D02D0254800F08EFD244A5368D2
647 | :1028600099072DD43768F968002900D08847366861
648 | :10287000707D002828D035681E4AA55024E0022A21
649 | :102880001AD1154900250D6111484D6180244D6014
650 | :1028900001278D60C221A6007A428C0085511D70EF
651 | :1028A0000251032058705D601D750C4B1E6837691E
652 | :1028B000AF4209D0B84707E00F4800F05DFD03E0E4
653 | :1028C0000E4800F059FDCDE7F8BDC0465402002087
654 | :1028D0000010004000E100E0FC100040CC010020AE
655 | :1028E00000F00140AD020A00B6020A00B7020A0079
656 | :1028F000FCE100E004050000E7020A00B8020A005B
657 | :1029000070B51E4D061C6B7D6C78002B02D11C48E7
658 | :1029100000F032FD287D002802D01A4800F02CFD7E
659 | :10292000012200212A756975022C0CD81648230152
660 | :10293000C318002E01D11E683260621E012A05D81C
661 | :10294000997A297002E0114800F016FD104D2868B0
662 | :10295000037D002B11D0022C0FD10E4C0E4E251CE6
663 | :102960003259530702D40D4800F006FD0C4948596E
664 | :10297000002802D10B4800F0FFFC70BD540200207B
665 | :1029800021010A0022010A006C3B00003A010A0002
666 | :10299000CC0100200405000000F0014040010A00C5
667 | :1029A0000010004041010A00024B98680138434280
668 | :1029B00058417047FC100040F8B5164B164C0220E9
669 | :1029C0000121C027C222D8674D4282407B00134EAE
670 | :1029D0008021134FA55081400025F0500122655001
671 | :1029E0007D61104D2261A2612C78944201D10620B4
672 | :1029F00003E0023C012C00D9101C0024FFF796FED6
673 | :102A00007C61201C2C70FFF7A7FE02206C753060E3
674 | :102A1000F8BDC04604E100E00010004000E100E025
675 | :102A2000FC1000405402002038B50E4B0E4C1860CC
676 | :102A30000E490F4B0F4A0225201DC56799500E48BD
677 | :102A4000A421CA009850FFF7B7FF0C4800230321C8
678 | :102A5000037041704360036103754375837525609E
679 | :102A600038BDC046CC01002000E100E01410004059
680 | :102A700000F0014024050000041100405402002031
681 | :102A800070B55C4C2369607D013365782361002853
682 | :102A900002D0594800F070FC2178032948D1574EE4
683 | :102AA0003269002A44D0012D35D12269032A02D08F
684 | :102AB000534800F061FCA06902210130514A802591
685 | :102AC000A06100238D400120217053514542C22056
686 | :102AD00088401550C02568004B4D29504B49336143
687 | :102AE000096873607361B360032666706360237561
688 | :102AF000087D98420DD0A925E80016580125A67535
689 | :102B00003E4C042623629561A124414DE4002E51E0
690 | :102B10001350CA6865E0022D08D12369012B02D049
691 | :102B20003C4800F029FCFFF751FE61E03A485DE0C7
692 | :102B3000032D5AD0012D3CD12169012918D12F48EC
693 | :102B40000021304B0126C222416081607042910019
694 | :102B5000C1265850B0001D502C4D304E2A68117DB2
695 | :102B6000002902D02A4D0420A851E4689C513FE07E
696 | :102B700002293DD1234E214A8023002598000221BD
697 | :102B8000C22315615561556035504A429800C121F4
698 | :102B900032508B000822F25003262670656025759E
699 | :102BA0001A4C2568261C2869002800D08047306808
700 | :102BB00016E0022DB7D0657819482B01C1180E7B9D
701 | :102BC0000025AE4203D00D4A15696A1E95418B7AE5
702 | :102BD00001202370FFF7C0FD002D09D00B4C2068A9
703 | :102BE0008268002A04D0904702E00E4800F0C4FB3F
704 | :102BF00070BDC0465402002090010A00FC10004045
705 | :102C00009F010A000010004000E100E0CC0100201C
706 | :102C100000F00140A4010A00A9010A000405000017
707 | :102C20006C3B0000D6010A0008B5022804D8054B09
708 | :102C300018784342584103E0034800F09DFB002010
709 | :102C400008BDC04654020020F9020A00F8B52B4C1A
710 | :102C50000301061C2A4F207DFF18002802D02948B6
711 | :102C600000F08AFB301CFFF7DFFF002802D1264866
712 | :102C700000F082FB0121C222244D00234842910032
713 | :102C80006375C022685022490220520088502148B2
714 | :102C900066700268116852682361A3613B68A16095
715 | :102CA000E2606360022E18D8387A80239B00E850D7
716 | :102CB000F87A194B002805D1E950EA58002A08D1C2
717 | :102CC000164804E0EA50E958002902D1144800F0FF
718 | :102CD00053FB7F7AC1208300EF500E4D29680A7D97
719 | :102CE000002A07D0022E05D10B480E4B00260427E0
720 | :102CF000A6751F5001256575F8BDC0465402002019
721 | :102D00006C3B0000DB000A00DD000A000010004000
722 | :102D100000E100E0CC0100200405000000010A00F1
723 | :102D200005010A0000F001407047C04610B5041EBE
724 | :102D300002D1084800F020FB074B00221C60191D3F
725 | :102D4000DA670833CA678020DA67044B44031C60E3
726 | :102D500010BDC04629000B007802002000E100E011
727 | :102D600070B5144C051C2368002B02D1124800F0EA
728 | :102D700003FB201C0830C16F092902D90F4800F05D
729 | :102D8000FBFAE66F0C225643A319043343CD43C329
730 | :102D9000251C0835E86F0130E867E16F0131E16714
731 | :102DA000E66F092E01D90022E2678024044B6503F7
732 | :102DB0005D6070BD7802002034000B0035000B0010
733 | :102DC000FCE100E0034B0A200833D96F421AD0B26D
734 | :102DD0007047C04678020020F0B587B0012383F326
735 | :102DE0001088134C124D0834E06F00281BD02A1DA8
736 | :102DF000D16F0C26714303AB69180431181CE0C96C
737 | :102E0000E0C0E76F0026013FE767D46F0134D46765
738 | :102E1000D56F092D00D9D66786F31088044A176844
739 | :102E200007CBB847DAE780F3108807B0F0BDC0469B
740 | :102E30007802002038B50A4C051CE36F002B02D144
741 | :102E4000084800F099FA291C0831E06F00F03CFCBA
742 | :102E50000021884201D0E1670121081C38BDC0462D
743 | :102E6000000300206F020C0010B500F0B7FB00213A
744 | :102E7000124A8800002384188818A361A363041CE5
745 | :102E800080348830237003700D480C180131237092
746 | :102E90000829EDD1111C101C141C903191305834AC
747 | :102EA000137053609360D360136153610B700370B0
748 | :102EB0002370D36792320123137010BD00030020EA
749 | :102EC00094030020014B185C7047C0469403002017
750 | :102ED000014B90331878704700030020014B58686D
751 | :102EE0007047C04600030020014B98687047C046F9
752 | :102EF00000030020014BD8687047C0460003002043
753 | :102F000010B5104C2378002B02D00F4800F034FA93
754 | :102F1000E06F002802D100F08BFBE067E06F002833
755 | :102F20000FD0012143784A4206210B4343700270BF
756 | :102F30000023C218FF2101339170202BF9D1032304
757 | :102F4000237010BD000300203B010C0038B5124C6B
758 | :102F50002378002B1ED1201C90300178002919D134
759 | :102F60000825606900F028FC002805D0231C606952
760 | :102F7000903301221A70206161690131082900D162
761 | :102F80000021231C616190331A78002A02D1013D8F
762 | :102F9000002DE6D138BDC0460003002038B5094DEC
763 | :102FA000041C2B1C90331878002804D02969A142F6
764 | :102FB00001D1FFF7CBFF2A19034B00258032157092
765 | :102FC0001D5538BD0003002094030020F0B5464D88
766 | :102FD00085B00393EB6F061C0C1C171C002B02D151
767 | :102FE000424800F0C9F92878032802D0404800F090
768 | :102FF000C3F9E96F01234A781A4202D192352D783C
769 | :103000006B400425002E61D050070126810F1E4021
770 | :10301000251C231C0A0608330E353F023249A8003E
771 | :103020003F0A02930B5817430B980A9A0025156024
772 | :1030300005609F4233D0201CFFF7FCFE0190AE429A
773 | :1030400000D0051C01232E1C1E40002828D0029908
774 | :10305000254A063188008750039F1D1C002F20D071
775 | :10306000244F3B5D002B1CD0201C00F0A5FB00284A
776 | :1030700002D1214800F080F9201C00F05BFB051E06
777 | :1030800002D0201CFFF78AFF0A990D60002D02D1A3
778 | :103090001A4800F071F900203855022501E0019529
779 | :1030A0000325002E0DD0201C00F06CFB0B9E306021
780 | :1030B000002802D1124B336005E00E4F01223A5531
781 | :1030C00001E00B9C26600199002905D1064CE06FB8
782 | :1030D00000F0CCFA0020E067034A00261670FFF7E4
783 | :1030E00035FF281C05B0F0BD000300205B010C007B
784 | :1030F0005C010C009403002091010C0096010C006F
785 | :1031000058030020F8B51F4C071C23780E1C013B08
786 | :10311000012B02D91C4800F02FF90425002F19D0EB
787 | :103120002078012802D0194800F026F9E268002A28
788 | :1031300002D1174800F020F9E16800250F78AF426E
789 | :1031400008D06068FFF776FE0225002802D11148FA
790 | :1031500000F012F9002E0ED06768381C00F0EAFA71
791 | :10316000061E02D0381CFFF719FFA3689E4202D04A
792 | :10317000094800F001F900202070FFF7E7FE281C45
793 | :10318000F8BDC04600030020FC000C0002010C004A
794 | :1031900003010C000E010C001E010C00014B1878FD
795 | :1031A0007047C0460003002038B5041C0D1C00F019
796 | :1031B00013FB002801D1002008E0281C211C00F08E
797 | :1031C00083FA0028F7D0FFF7C1FE012038BD08B50B
798 | :1031D00000F0D8FA08BD10B5041CFFF7DFFE201C74
799 | :1031E00000F000FB10BD08B500F0E6FA08BD08B518
800 | :1031F000083000F0C7FA08BD08B5083000F09AFAA8
801 | :1032000008BD08B5083000F0EDFA08BD08B5083073
802 | :1032100000F0D2FA08BD10B52A4C2378002B02D05A
803 | :10322000294800F0A9F8201C90300178002927D007
804 | :103230002069606000F0A6FAA060002802D123484F
805 | :1032400000F09AF8A26801235078034004D1211CB1
806 | :1032500092310A78002A10D16068FFF7D7FF022860
807 | :103260000ED8E36F002B02D100F0E2F9E067E16FC6
808 | :10327000E160002904D0012001E0E3600220207019
809 | :103280002278002082421BD0A368834202D11048DA
810 | :1032900000F072F820696060063081006318DA7807
811 | :1032A00003210132D0B2D870A36808405A78410097
812 | :1032B000062082430A435A70903400232370012071
813 | :1032C00010BDC04600030020C3000C00C9000C0064
814 | :1032D000E7000C0008B500F0ABF908BD08B500F038
815 | :1032E000C5F908BD08B500F077FA08BD014B923367
816 | :1032F0001870704700030020014B92331878704714
817 | :10330000000300207047C046024B98705870187038
818 | :103310007047C0469C03002010B5041E012C02D942
819 | :10332000024800F029F8024B5C7010BD2A000D0025
820 | :103330009C030020014B18787047C0469C03002076
821 | :10334000014B98787047C0469C030020014B587889
822 | :103350007047C0469C03002008B5054B1A78587882
823 | :103360009A701870034B8100CA58904708BDC04638
824 | :103370009C0300207400002008B5FEF7FFF808BD8C
825 | :1033800010B5041E02D10448FFF7F6FF034B0022DC
826 | :103390001C605A609A6010BD2A000100D001002014
827 | :1033A000094B00B518689A68016801329A608A4230
828 | :1033B00008D359684068002201319A6059608142FF
829 | :1033C00000D35A6000BDC046D0010020F8B50028E7
830 | :1033D0002AD0164CA36801280ED1276801333A6819
831 | :1033E000A360934220D36068796800250130A5600E
832 | :1033F0006060884218D316E02668C7183568A76051
833 | :10340000381C291C00F042FB62683B1C801860607D
834 | :10341000AB4201D35B1BFBE771686568A3608D421B
835 | :1034200001D36D1AFBE76560F8BDC046D0010020EE
836 | :10343000024B1A6899681068401A7047D001002042
837 | :1034400070B50D4D041C2B685868844202D30B489C
838 | :10345000FFF792FF6E68B4420CD002D829684A6820
839 | :10346000A418FFF7E5FF2D68F3432E68191971437F
840 | :10347000081800E0002070BDD001002068000100A5
841 | :1034800070B5041C0D1C884202D30B48FFF774FF73
842 | :103490000A4E33681868854202D90948FFF76CFF65
843 | :1034A000B168601AA14206D30020A94203D3326852
844 | :1034B00015686E1A301970BD7D000100D001002022
845 | :1034C0007E00010038B5041C101C0D1CFFF7B8FF6E
846 | :1034D000002801D0001911E0201C291CFFF7D0FFA3
847 | :1034E000041CFFF7A5FF031C201E984206D30449C5
848 | :1034F0000D686A682C68013A5443001938BDC0460B
849 | :10350000D0010020074B10B51A68596850681C1C80
850 | :10351000814202D30448FFF72FFF236861689A684D
851 | :10352000505C10BDD0010020B200010038B5064B40
852 | :10353000041C1A681D1C5068844202D30348FFF71C
853 | :103540001BFF6C6038BDC046D0010020B9000100EF
854 | :10355000014B58687047C046D001002038B5064B73
855 | :10356000041C1A681D1C1068844202D30348FFF72C
856 | :1035700003FFAC6038BDC046D0010020C50001008B
857 | :10358000014B98687047C046D001002010B50F4B22
858 | :103590001A68002393420BD20D499C006458A04244
859 | :1035A00003D10C48FFF7E8FE0CE00133DBB2F1E792
860 | :1035B00000242222624308495318984204D001345F
861 | :1035C000062CF6D1002000E0012010BDA003002051
862 | :1035D000A4030020F6000300AC04002010B5002274
863 | :1035E0000F495000801800230C1801326370A3703B
864 | :1035F0004354102AF4D122225A430A490A48541843
865 | :10360000211C9A0084502231DE22227001348C4227
866 | :10361000FAD10133062BEED1044C236010BDC04615
867 | :10362000BC030020AC040020A4030020A003002061
868 | :1036300038B50A4B1C68002C0ED0621E0849900059
869 | :103640004458084D1A604550201CFFF79FFF002882
870 | :1036500002D10548FFF790FE201C38BDA0030020D2
871 | :10366000A4030020ADDEADDE7D00030070B5104C7C
872 | :10367000051C2368052B02D90E48FFF77DFE281C88
873 | :10368000FFF784FF002802D10B48FFF775FE216881
874 | :103690000A488A0011580A4B061C994202D0094870
875 | :1036A000FFF76AFE206882000130B550206070BDCF
876 | :1036B000A00300208500030086000300A40300206F
877 | :1036C000ADDEADDE88000300F8B5051C0C1E0F2C26
878 | :1036D00002D91448FFF750FE281CFFF757FF0028B7
879 | :1036E00002D11148FFF748FE104966003019435CCB
880 | :1036F0000022022B13D80B185F78C0190C4F8000E2
881 | :10370000C5515D780135E8B258705F78022F00D955
882 | :103710005A7032198C5C0134E6B28E540122101CAE
883 | :10372000F8BDC0468F00030090000300BC030020DA
884 | :10373000EC03002038B5041E0F2C02D90E48FFF709
885 | :103740001BFE0E4A65002919885C002813D0531807
886 | :10375000987809180A488900085899780131C9B23F
887 | :1037600099709978022901D9002199702C19155D59
888 | :10377000013DEBB2135538BDA6000300BC03002089
889 | :10378000EC03002010B5041E0F2C02D90748FFF7E8
890 | :10379000F3FD074B62001119C85C002805D05818CA
891 | :1037A00084780B1903499A00505810BDB7000300E4
892 | :1037B000BC030020EC03002010B5041E0F2C02D91E
893 | :1037C0000348FFF7D9FD630002491819405C10BD9A
894 | :1037D000C8000300BC030020014B18687047C046B6
895 | :1037E000A003002038B5051E0F2D0CD90948FFF79E
896 | :1037F000C3FD08E0084B9C4202D10848FFF7BCFD1E
897 | :10380000201CFFF733FF281CFFF794FF041EF1D1A3
898 | :1038100038BDC046D7000300ADDEADDEDB000300DF
899 | :10382000164BA12110B50122CC0000205A60DA60AD
900 | :1038300018515A64124A1C1C9958814202D01148EE
901 | :10384000FFF79AFD0123C222584291000E4B6050AF
902 | :103850000022A2215A640420CB00E0500B490C4CFA
903 | :10386000012022602271627108700A4B8022C021FF
904 | :10387000D40081405C501C6010BDC04600A00040D8
905 | :103880004405000035000400FCA00040780500203D
906 | :10389000DC01002000E100E0034B0449012200208C
907 | :1038A0001A6008707047C04600A0004078050020EC
908 | :1038B000094A30B501235360084CD3608025084A7B
909 | :1038C000C0200021ED009840116011712550517108
910 | :1038D000044A137030BDC04600A0004000E100E083
911 | :1038E000DC01002078050020014B18787047C046A5
912 | :1038F00078050020014B18797047C046DC01002094
913 | :10390000F7B5334F0092334C8022C2237E79019168
914 | :10391000051C990050026050002E02D02E48FFF77F
915 | :103920002BFD002D02D12D48FFF726FD3A68002A15
916 | :1039300002D02B48FFF720FD3D60009D294E012D50
917 | :103940000DD0002D03D0022D0DD1A92208E00120B9
918 | :10395000254B00996064E5582064716407E0A82253
919 | :10396000D500655903E02148FFF706FD0025012237
920 | :103970007A71019FA821E81987B20023C8007364F7
921 | :103980002750275800976264174AA758716C1E1C6D
922 | :10399000994202D01648FFF7EFFC009BAB4205D3DB
923 | :1039A000AF4201D39F420CD3124808E0301CAF4213
924 | :1039B0007041009DAF427641B04202D00E48FFF701
925 | :1039C000DBFC8022C12157028E00A751F7BDC04603
926 | :1039D000DC01002000A0004073000400750004001A
927 | :1039E00076000400FCA000404405000089000400AB
928 | :1039F0009B000400B0000400C900040000487047A8
929 | :103A000048A000400048704740A1004070B58022A7
930 | :103A1000134C144DC223500299000026685066646E
931 | :103A2000114C2268B24202D11048FFF7A5FC104B9E
932 | :103A3000012166712068A82226606964EE58D300CF
933 | :103A4000EA580C4D1432AE4203D8C0231D02AA42DC
934 | :103A500002D80021964249412171804770BDC0467D
935 | :103A6000FCA0004000A00040DC010020EC000400AD
936 | :103A700044050000FF3F000002B4714649084900B8
937 | :103A8000095C49008E4402BC7047C046002934D00E
938 | :103A90000123002210B488422CD301242407A14220
939 | :103AA00004D2814202D209011B01F8E7E400A142DD
940 | :103AB00004D2814202D249005B00F8E7884201D378
941 | :103AC000401A1A434C08A04202D3001B5C08224350
942 | :103AD0008C08A04202D3001B9C082243CC08A042C1
943 | :103AE00002D3001BDC082243002803D01B0901D0AD
944 | :103AF0000909E3E7101C10BC704701B5002000F075
945 | :103B00000BF802BD0029F8D003B5FFF7C1FF0EBCCA
946 | :103B10004243891A1847C0467047C046002310B573
947 | :103B20009A4200D110BDCC5CC4540133F8E70000C8
948 | :103B3000F8B5C046F8BC08BC9E467047F8B5C0460C
949 | :103B4000F8BC08BC9E4670470000002000100140F1
950 | :103B50001101040000B000400B000400FF0F03003F
951 | :103B600000001F00030200000102000000100040DE
952 | :103B70001011004003100000010000000010004080
953 | :103B8000000000000B0204000000000004100040D0
954 | :103B90000000000007080301000000000000000012
955 | :083BA00068C5FF7F0100000071
956 | :103BA800000000000000000000000000000000000D
957 | :103BB80000000000000000000000000000000000FD
958 | :103BC80000000000000000000000000000000000ED
959 | :103BD80000000000000000000000000000000000DD
960 | :103BE80000000000000000000000000000000000CD
961 | :103BF80000000000000000000000000000000000BD
962 | :103C08000500000004192A3F4D00000000000000D4
963 | :103C180000000000ED24000039220000E900000047
964 | :043C2800C1000000D7
965 | :0400000300000CE10C
966 | :00000001FF
967 |
--------------------------------------------------------------------------------
/precompiled/precompiled-basic-right.hex:
--------------------------------------------------------------------------------
1 | :1000000000400020E90C0000290D00002B0D00002D
2 | :1000100000000000000000000000000000000000E0
3 | :100020000000000000000000000000002D0D000096
4 | :1000300000000000000000002F0D0000310D000046
5 | :10004000ED090000892A0000330D0000330D000087
6 | :10005000330D000000000000C5080000330D000053
7 | :10006000330D0000330D0000153A0000B10B000005
8 | :10007000330D0000330D0000330D0000330D000080
9 | :10008000330D00004D0C0000330D0000330D000057
10 | :10009000E12D0000330D0000330D0000330D000092
11 | :1000A000330D0000330D00000000000000000000D0
12 | :1000B0000000000000000000000000000000000040
13 | :1000C00010B5064C2378002B07D1054B002B02D02E
14 | :1000D000044800E000BF0123237010BD840000200D
15 | :1000E00000000000A43B0000044B10B5002B03D01F
16 | :1000F0000349044800E000BF10BDC04600000000F6
17 | :1001000088000020A43B0000144B002B00D1124BB0
18 | :100110009D46402292029A1A924600218B460F4633
19 | :100120001148124A121A00F07BF80D4B002B00D038
20 | :1001300098470C4B002B00D098470020002104006A
21 | :100140000D000B4800F016F800F046F820002900DA
22 | :1001500000F040FB00F016F800000800004000200E
23 | :100160000000000000000000840000207C0500204A
24 | :10017000B1010000002310B501001A00180000F0C2
25 | :1001800057F810BD084B10B50400002B02D0002119
26 | :1001900000F0B8F8054B1868836A002B00D0984728
27 | :1001A000200000F019F9C04605030000503B000094
28 | :1001B00070B5074D074C641BA410002C02D103F04E
29 | :1001C000C1FC70BD013CA300EB589847F5E7C04661
30 | :1001D000800000208400002070B500260C4D0D4CDE
31 | :1001E000641BA410A64209D1002603F0A5FC0A4D09
32 | :1001F0000A4C641BA410A64205D170BDB300EB5895
33 | :1002000098470136EEE7B300EB5898470136F2E71E
34 | :100210007C0000207C0000207C000020800000206A
35 | :1002200003001218934200D1704719700133F9E7A7
36 | :10023000F0B5304D85B02C6806000191170002938F
37 | :10024000002C0AD12C4B2D4A2B601C00002A04D014
38 | :1002500019001268883103920A6063681F2B3DDD24
39 | :10026000274B002B03D10120404205B0F0BD8C206C
40 | :1002700000E000BF041EF6D02A68002302600200DE
41 | :1002800088324360286013609E421ED08420400064
42 | :1002900000E000BF0028E6D003000022FC335A60D3
43 | :1002A0009A60230088331860012261688A408B00BD
44 | :1002B000C31880C3FC304168114341600299D9677B
45 | :1002C000022E02D183681A438260636800205A1CA0
46 | :1002D00062600233019A9B001A51C6E7002EF4D0E7
47 | :1002E0002300883318680028DED1054B002BBAD0D4
48 | :1002F000CCE7C0462C010020A00000200000000038
49 | :1003000000000000F0B585B003900191304D2C68DD
50 | :10031000002C01D105B0F0BD230088331E6863684E
51 | :100320005F1E9B000093002F14DA2A4B002BF1D0A4
52 | :1003300062682368002A49D1002B47D02B60002E29
53 | :1003400002D0300000E000BF200000E000BF2B68BA
54 | :100350001C00DDE7019B002B0BD0002E03D1009B7E
55 | :10036000013F043BDEE7009B019AF318DB6F9342E9
56 | :10037000F5D1009B6268E118013A4B68BA4216D188
57 | :100380006760002BEBD062680292002E06D001223B
58 | :100390003000BA40FC30416811420BD19847636885
59 | :1003A000029A9342B2D12B68A342D8D0AEE7002282
60 | :1003B0004A60E6E70099806804397158104202D11A
61 | :1003C00003989847EBE708009847E8E72500BFE760
62 | :1003D0002C01002000000000FEE7C0462E4B1B78D9
63 | :1003E000012B00D070472D4B1B681B07FAD1F02260
64 | :1003F0002B4B1B68134027D12A4B1B6813422BD071
65 | :10040000264B1B681B07EDD1F022254B1B681340C0
66 | :10041000402B2DD0F022224B1B681340A02B01D083
67 | :10042000D02BDFD1F0231F4A12681A42DAD11E4ABC
68 | :100430001368012B04D01D4B13601368012BFCD1F2
69 | :10044000C0221B4B1A60CDE7102B01D0302BDBD123
70 | :10045000144B1B681342D7D1164B174A1A608022DF
71 | :10046000164B12021A600C4B1B78012BC8D0B9E74F
72 | :100470000C4B1B681342CDD18022C1230121DB002C
73 | :10048000D205D150044B1B78012BABD1034B1B6819
74 | :100490001B07BFD0A6E7C046E00F00F0E40F00F056
75 | :1004A000E80F00F0EC0F00F000EC06407593000040
76 | :1004B00014EC064004050040DFFF07C0186C004044
77 | :1004C00010B5054B05491A6801200A601B79052201
78 | :1004D0000B7100F052FC10BD64010020540100209B
79 | :1004E000F0B557464E464546DE46A024A12380215E
80 | :1004F000E0B5E405DB00C901E15099460833E05856
81 | :1005000098460223420A9C461A40450A013B1D4078
82 | :100510002A43C5091D4052002A4385091D40520047
83 | :100520002A4345091D4052002A4305091D40520037
84 | :100530002A43C008184052009C4F9D4E024352006F
85 | :1005400083B08020E151009232704A468002A05070
86 | :100550004246A5586246690A11406A0A1A40114388
87 | :10056000EA091A4049001143AA091A4049001143F7
88 | :100570006A091A40490011432A091A4049001143E7
89 | :100580008022D2029346E0514A465846ED081D406B
90 | :100590004900294349007170A0504246A55862465F
91 | :1005A000680A10406A0A1A401043EA091A404000DB
92 | :1005B0001043AA091A40400010436A091A4040003B
93 | :1005C00010432A091A40400010434200E80818402E
94 | :1005D0001043420058460192E051B270802212034B
95 | :1005E00092464A465046A0504246A5586246680A7E
96 | :1005F00010406A0A1A401043EA091A4040001043AA
97 | :10060000AA091A40400010436A091A4040001043EA
98 | :100610002A091A40400010435246E25180229201BA
99 | :100620009246ED081D4040004A462843554640008A
100 | :10063000F070A5504246A55883466A0A9146624624
101 | :100640004846024094464A461A4091466246484609
102 | :10065000024352009446EA091A40914662464846CF
103 | :10066000024352009446AA091A40914662464846FF
104 | :100670000243520094466A091A409146624648462F
105 | :100680000243520094462A091A409146624648465F
106 | :10069000024352009446EA0813406246134352460E
107 | :1006A000E251444C5B0025783371002D3CD1424D22
108 | :1006B000009A2F7897420CD16A788A4209D1AA7899
109 | :1006C00001998A4205D1EA785A4502D12A799A429B
110 | :1006D00008D03A4A31681371012311600022237057
111 | :1006E000374B1A603378002B1AD17378002B17D14F
112 | :1006F000B378002B14D1F378002B11D13379002B70
113 | :100700000ED1304A136801331360FA22520093422B
114 | :1007100031D803B03CBC90469946A246AB46F0BDEA
115 | :100720000022284B1A60F4E7244D009A2F78974254
116 | :100730001ED16A788A421BD1AA7801998A4217D1C0
117 | :10074000EA785A4514D12A799A4211D11C490B688A
118 | :1007500001330B60052BC5D12B68174901200B60B5
119 | :100760000A7119490A710B60052200F006FBB9E70E
120 | :1007700000232370B6E7154800F0FCF9144800F098
121 | :10078000F9F9A022A1238021D205DB00C901D150B3
122 | :1007900080218902D1508021C902D15080210903D2
123 | :1007A000D15080218901D150B3E7C0460C0500002B
124 | :1007B0006C01002060010020640100207401002011
125 | :1007C0005C01002050010020540100205C3B00002F
126 | :1007D000543B000070B5002000F0D8FD642000F00C
127 | :1007E0007FFD284800F02EFC274800F043FC00F075
128 | :1007F000A1FA00F0AFF8002000F0C8F8234D244A19
129 | :100800000021280000F074F9224C234A0021200026
130 | :1008100000F06EF90121280000F0B8F90121200054
131 | :1008200000F0B4F9280000F099F9200000F096F9E2
132 | :10083000A023E521194ADB05C9005A5018495A502E
133 | :1008400018495A5004395A5017495A5004395A50C5
134 | :1008500016495A5003222C315A5015495A50043126
135 | :100860005A5014495A5014495A50C1238021134AEE
136 | :100870009B000906D1504022114B1A6040BF20BF97
137 | :1008800020BFFBE704030201080706055C3B0000EC
138 | :10089000C1040000543B0000E10400000400020019
139 | :1008A000240700001C070000140700000C070000CC
140 | :1008B000440700004C0700003407000000600040BF
141 | :1008C00000E100E0BE2310B5104A5B00D1580029BA
142 | :1008D0001BD000240E48D45000F040F90D4800F021
143 | :1008E0003DF9A02280210C4BD205C901D1508021B5
144 | :1008F0008902D1508021C902D15080210903D150F1
145 | :1009000080218901D150054B1C6010BD0060004062
146 | :100910005C3B0000543B00000C050000500100202F
147 | :10092000202300B5C9B285B00393002903D003AAE0
148 | :10093000024900F065FA05B000BDC0463001002054
149 | :1009400082B002B07047C04682B002B07047C04665
150 | :100950007047C04670B50C4C8520237A002B12D10D
151 | :10096000636023602361E360AA228023FF210125C5
152 | :10097000DB05D2009950383A00209D50FC3900F038
153 | :1009800083F80020257270BD7C01002070B5050041
154 | :10099000002000F067F8124CA37A002B0BD0002D3A
155 | :1009A00002D06B6801209847E36801330020E360C0
156 | :1009B00000F060F870BD002D02D0236925612B6026
157 | :1009C000E368002BF1D1074A80211360C122022085
158 | :1009D000C905920088500121034A1160E5E7C0462D
159 | :1009E0007C010020040100400800004010B51A4BB3
160 | :1009F0001A68002A14D0002280211A60C222012322
161 | :100A0000164CC90592008B5063726368002B07D0A7
162 | :100A10001A6800205B68626098476368002BF7D112
163 | :100A20000F4B1A68002A15D000221A608022C223B8
164 | :100A300002219B00D205D1500123084CA3722369E7
165 | :100A4000002B07D01A6801205B6822619847236950
166 | :100A5000002BF7D110BDC046000100407C010020F2
167 | :100A60000401004072B6024A1368013313607047F4
168 | :100A700090010020034A1368013B1360002B00D152
169 | :100A800062B6704790010020FF22032330B51400A6
170 | :100A9000C5B22B40DB009C4089010A40E4439A40E8
171 | :100AA000002814DB104B80089C46C0238000604463
172 | :100AB0009B00C1580C402243C2501F23C0211D403F
173 | :100AC0001E3BAB40084A49005350136030BD0F2312
174 | :100AD00006492B408C46083B9B089B006344D96920
175 | :100AE0000C402243DA61E8E700E100E000ED00E0BD
176 | :100AF00070B505000C00002A27D04179144B8800FE
177 | :100B0000C2504B00002C1BD0124E5B189B5D08207E
178 | :100B1000002B14D10420A1782856FFF7B5FFA1239C
179 | :100B200022882968DB00CA506A79217953009B1812
180 | :100B3000F2185170E1780020917001229A5570BD31
181 | :100B40005C18054A64001419DEE70720F7E7C04681
182 | :100B50009C01002094010020643B0000012202213E
183 | :100B600003681A60427953009B18014A99547047F0
184 | :100B700094010020012203685A6041794B005B1800
185 | :100B800001495A547047C046940100208023002236
186 | :100B900010B504685B00E250D1220468FF3B92006C
187 | :100BA000A350002902D00168403A8B5010BDC046C6
188 | :100BB000F0B5C646224B8025C1270024984600B5D3
189 | :100BC000204E6D02BF00F3591D4210D01E4BE3189A
190 | :100BD0009B001A68002A0AD0D2229200B550403AEF
191 | :100BE000B55000221A604346E0B21B6898470134B2
192 | :100BF0006D00042CE7D1C122124B92009A58D20703
193 | :100C00000AD5802252009958002905D00021995018
194 | :100C10000B4B04201B689847C1220A4B92009A583C
195 | :100C200092070AD5822252009958002905D0002146
196 | :100C30009950034B05201B68984704BC9046F0BDB3
197 | :100C40009C01002000B00040502C0010F0B5C646BA
198 | :100C5000224B8025C1270024984600B5204E6D0206
199 | :100C6000BF00F3591D4210D01E4BE3189B001A68B9
200 | :100C7000002A0AD0D2229200B550403AB550002244
201 | :100C80001A604346E0B25B68984701346D00042C5B
202 | :100C9000E7D1C122124B92009A58D2070AD580227E
203 | :100CA00052009958002905D0002199500B4B04207F
204 | :100CB0005B689847C1220A4B92009A5892070AD55E
205 | :100CC000822252009958002905D000219950034BE7
206 | :100CD00005205B68984704BC9046F0BD9C0100204D
207 | :100CE000001001405044001003210A4802680A43E2
208 | :100CF0000260094802680A4302600849084A094B31
209 | :100D00009B1A03DD043BC858D050FBDCFFF766FBA1
210 | :100D1000FFF7FAF92405004054050040B03B0000FD
211 | :100D20000000002084000020FEE7FEE7FEE7FEE76B
212 | :100D3000FEE7FEE708B5064B1868002803D1054911
213 | :100D400002220A7002E001F049F9012008BDC04604
214 | :100D5000A4010020E4010020014B1868407E704788
215 | :100D6000A401002008B500F011FE002802D100F017
216 | :100D7000F8FD01E0FFF7ECFD08BDF8B5051C0F1C00
217 | :100D8000161C072804D904221B4E0020327031E0C3
218 | :100D900003220029F8D00622202EF5D800F04CFEC0
219 | :100DA00009220228F0D8281C00F04AFE0A22022854
220 | :100DB000EAD800F049FE08220128E5D900F0F4FD48
221 | :100DC0004378041C0670012003436370391C321CF5
222 | :100DD000A01C02F0A7FEE8B2211C00F0F9FD051CE2
223 | :100DE0000120002D06D1054802F0CAFA024F0F215A
224 | :100DF0003970281CF8BDC046E4010020DD00050064
225 | :100E0000F8B5061C0D1C171C00F01AFE002803D1B3
226 | :100E1000154F0B253D7025E00322002D07D0301C17
227 | :100E200000F0FCFD3A6803789A4204D206220E4E86
228 | :100E30000020327016E0301C00F0E6FD041E0AD0DF
229 | :100E40000278811C3A60281C02F06CFE201C00F025
230 | :100E5000B5FD012006E0054802F092FA02490F2094
231 | :100E60000870201CF8BDC046E40100200501050003
232 | :100E700008B5072804D9044B04221A70002001E0A9
233 | :100E800000F0DAFD08BDC046E401002008B50728DF
234 | :100E900005D9044B042201201A70404201E000F001
235 | :100EA000CFFD08BDE401002008B500F0CDFD06230C
236 | :100EB000181A08BD10B5041E072C03D90B4B0424C7
237 | :100EC0001C7003E0FFF7D4FF022801DD00200CE0D6
238 | :100ED000201CFFF7DBFF0228F8DCFFF7E5FF062305
239 | :100EE000181A012181429241504210BDE4010020B4
240 | :100EF00008B50A4B19684A7E002A04D0084A0C211A
241 | :100F00001170002009E0072803D9054B0420187050
242 | :100F1000F7E7C0B200F09CFD012008BDA40100204D
243 | :100F2000E401002008B5072804D9054B04221A70F3
244 | :100F3000002003E0C0B200F0A5FD012008BDC046BE
245 | :100F4000E401002010B501280AD0002803D00228AF
246 | :100F500008D1002000E0012001F028F8012005E080
247 | :100F60000220F9E7024B05221A70002010BDC0468E
248 | :100F7000E401002010B500F011FD01280AD0022480
249 | :100F8000002808D0A04201D1012404E0034802F067
250 | :100F9000F7F900E00024201C10BDC04670010500D8
251 | :100FA00038B5134A031C10680C1C407E002804D07E
252 | :100FB000104D02202870002018E001390F2903D9B4
253 | :100FC0000C4907220A7011E0002B03D1094C0323BE
254 | :100FD0002370F0E7084D191C10C5221C281C02F0D4
255 | :100FE000A1FD281C211C00F0BDFD012038BDC0461C
256 | :100FF000A4010020E4010020600000200C4B10B58B
257 | :101000001A680C68944201D3102C04D9094C0720AB
258 | :10101000207000200AE0002803D1064903220A704C
259 | :1010200004E00A60191D02F07DFD012010BDC046DC
260 | :1010300060000020E4010020014B18687047C046A2
261 | :101040006000002008B5074B19684A7E002A04D0CA
262 | :10105000054B02201870002002E000F01DFD012069
263 | :1010600008BDC046A4010020E401002008B500F03E
264 | :1010700023FD08BD08B5074B19684A7E002A04D035
265 | :10108000054B02201870002002E000F01BFD01203B
266 | :1010900008BDC046A4010020E401002008B500F00E
267 | :1010A0001FFD08BD08B50A4B1A68537E002B04D0FB
268 | :1010B000084B02221A70002008E0072803D90548CF
269 | :1010C00004210170F7E700F011FD012008BDC046C2
270 | :1010D000A4010020E401002010B50C1C072804D94D
271 | :1010E0000422064B00201A7006E003220029F8D0E3
272 | :1010F00000F028FD2070012010BDC046E401002052
273 | :1011000008B5074B19684A7E002A04D0054B022017
274 | :101110001870002002E000F065FD012008BDC04607
275 | :10112000A4010020E401002008B500F061FD08BD25
276 | :1011300008B50E4A031C1068407E002804D00C48F5
277 | :101140000222027000200FE0012B0AD0002B07D0F2
278 | :10115000022B01D1012004E0054B0E21197003E0A0
279 | :10116000022000F0DDFD012008BDC046A4010020E2
280 | :10117000E401002008B501F023F80021012801D87E
281 | :10118000014B195C081C08BD703B000008B5134BEF
282 | :1011900019684A7E002A04D0114A022111700020E9
283 | :1011A0001BE006280FD802F06BFC12140406080A94
284 | :1011B0000C00FC200EE0F8200CE0F4200AE0F02007
285 | :1011C00008E0EC2006E0064B0E201870E7E704204C
286 | :1011D00000E0002000F046FD012008BDA401002031
287 | :1011E000E401002008B500F04BFDF02813D004D82E
288 | :1011F000042814D0EC2806D10FE0F82807D0FC28EA
289 | :1012000003D0F42805D001200AE0022008E00320E2
290 | :1012100006E0042004E0052002E0062000E00020B3
291 | :1012200008BD08B5064B19684A7E002A04D0054B54
292 | :1012300002201870002002E000F0E0FC012008BD50
293 | :10124000A4010020E401002008B500F0DDFC08BD89
294 | :1012500008B5074B19684A7E002A04D0054B0220C6
295 | :101260001870002002E000F097FC012008BDC04685
296 | :10127000A4010020E401002008B500F093FC08BDA3
297 | :1012800008B5074B19684A7E002A04D0054B022096
298 | :101290001870002002E000F0CBFC012008BDC04621
299 | :1012A000A4010020E401002008B500F0C9FC08BD3D
300 | :1012B00008B5074B19684A7E002A04D0054B022066
301 | :1012C0001870002002E000F0A5FC012008BDC04617
302 | :1012D000A4010020E401002008B500F0A3FC08BD33
303 | :1012E00008B5074B19684A7E002A04D0054B022036
304 | :1012F0001870002002E000F0A9FC012008BDC046E3
305 | :10130000A4010020E401002008B500F0A5FC08BD00
306 | :1013100008B50B4B19684A7E002A04D0094A0221FD
307 | :10132000117000200AE0002805D0012803D0054BE9
308 | :101330000E201870F5E700F05BFF012008BDC046E5
309 | :10134000A4010020E401002008B500F057FF013897
310 | :101350004342584108BD08B50A4B19684A7E002A25
311 | :1013600004D0094A0221117000200AE0002805D0AB
312 | :10137000012803D0044B0E201870F5E700F050FF51
313 | :10138000012008BDA4010020E4010020F8B51E4D95
314 | :1013900000241E4E071C281C211C0C22083034700F
315 | :1013A0006C60FEF73DFF1A4800F048FE2860A0423E
316 | :1013B00003D101203070002024E0164B181D19685D
317 | :1013C000FFF7EEFD051C381CFFF7BCFD05400420AF
318 | :1013D00000F0EEFB201CFFF79BFFEFB2074001205F
319 | :1013E000FFF7D4FE07400220FFF7A2FE0740201CB3
320 | :1013F000FFF7B1FF041C01203C4000F0E7FE002C89
321 | :10140000D7D00120F8BDC046A4010020E40100208F
322 | :101410008B1400006000002008B500F007FF0138C1
323 | :101420004342584108BD024B0022DA607047C04673
324 | :10143000A4010020014BD8687047C046A4010020D9
325 | :10144000044B002200B51A72904202D018610120AC
326 | :10145000187200BDA4010020014B18787047C046E7
327 | :10146000E4010020014B00221A707047E4010020C3
328 | :10147000014B58687047C046A4010020014B002270
329 | :101480005A607047A40100207047F0B589B0040C81
330 | :10149000031C060A84460190101C039297B2020CAA
331 | :1014A0000D1C002002910092E1B2624606AC06904B
332 | :1014B00060600590D0B21B0EF6B2052854D802F039
333 | :1014C000DFFA03142943403D6A4649B2484223707B
334 | :1014D0001388E080281C6780A38000F06FFA301C1E
335 | :1014E00006996268FFF71CFA41E022490B68587EB2
336 | :1014F000002802D1204801F043FF281C6D4600F06F
337 | :101500005DFA67802F88301CA78006996268FFF714
338 | :1015100017FA2CE048B205AC424223706280002BDF
339 | :1015200007D0002D02D1154801F02AFF281C00F039
340 | :1015300045FA301C0599FFF707FA18E0FFF708FA9B
341 | :1015400015E0FFF7A1FF12E00A4DE9682B7A01319F
342 | :10155000E960002B0BD02F69002F02D1FFF702FCAE
343 | :1015600005E0013F2F6102E0054801F009FF09B0E5
344 | :10157000F0BDC046A4010020B5030500C30305006B
345 | :10158000E3030500024B03490F221A7048607047BD
346 | :10159000E4010020A401002000B5064A01231178CF
347 | :1015A000022903D05068421E904100E0181C1840E8
348 | :1015B000C0B200BDE801002008B5FFF7EDFF044B05
349 | :1015C000044A002801D0D06800E09068186008BD87
350 | :1015D000BC0100202002002008B5044B5A68002AF4
351 | :1015E00001D0013A5A60FFF7E7FF08BDE80100208B
352 | :1015F00010B500231A1C041C1C41012121400724A2
353 | :10160000E41AA1400A430133D2B2082BF3D1101CD3
354 | :1016100010BD70B50024061C251C301CE040C0B273
355 | :10162000FFF7E6FF1823191B884008340543202CD8
356 | :10163000F3D1281C70BD38B50D1C01F071FE084CAB
357 | :1016400063699D4202D8074801F09AFE6069012251
358 | :10165000291A054802F058F90021616138BDC046D9
359 | :10166000E80100204D0609006133000007B5A12301
360 | :1016700003210F4A8B40D15001F094FD002815D072
361 | :1016800002280AD9032811D1002300930193181CC2
362 | :10169000191C1A1C01F09EFC03E00020011C01F043
363 | :1016A00035FD042802D0034801F06AFE07BDC0469C
364 | :1016B00000F00140E801090008B501F027FFA1236F
365 | :1016C0000E4AD900505001F06DFD012807D001F0FD
366 | :1016D00069FD022802D00A4801F052FE002001F004
367 | :1016E000B9FA02F093F9074BA221CA0098500648B4
368 | :1016F000064AC1684868985008BDC04600100040BE
369 | :101700001E06090000F00140BC0100201405000085
370 | :1017100008B502F0EDF801280FD002F0CDF8074B24
371 | :10172000187F002803D180210122CB055A600020B8
372 | :1017300001F0F6FD024A0020506008BD20020020A2
373 | :10174000E801002010B501F06AFD00281AD00E4B08
374 | :1017500000229A81DA8101F0C5FB0C4C0C496050E3
375 | :1017600001F0C0FBA62201238340D100635001F0A9
376 | :10177000BFFB084C206001F0C1FB074B6060E360D9
377 | :10178000FFF79AFF10BDC046E8010020001000409E
378 | :101790002C050000040200204118000008B502F0EA
379 | :1017A000A7F8012822D101F0D5FD002802D0104869
380 | :1017B00001F0E6FD1E210F48002202F0A5F80E4BB5
381 | :1017C000197F002902D002F06BF80FE00B480C4B98
382 | :1017D0000122026059608021C8050260C046C046EF
383 | :1017E000C046C0465A68002AFCD0ECE708BDC04697
384 | :1017F0002C0609006133000020020020140500407F
385 | :10180000FC0000401FB5FFF783FF01F0D9F80A4A3A
386 | :10181000002301A80521017043601C1C0381438142
387 | :1018200043708370C3709370537601F09DFA034840
388 | :101830000470FFF71BFF1FBDE80100201C02002001
389 | :10184000F0B53E4B8022D000195887B0012904D052
390 | :101850003B4C00261D59B54206D13A4E20227768EE
391 | :1018600000263B789A427641374C012561692E402B
392 | :10187000281C002901D102F041F8284201D10120A1
393 | :10188000606101F08FFC012802D0304801F078FD42
394 | :101890002F4DEF683B7D002B02D02E4801F070FDEC
395 | :1018A00001F08EF8002E47D00120011C01F02EFC23
396 | :1018B000042836D802F0E4F803321832320001F07E
397 | :1018C00017FBE289071CA689019201F00BFBE9686E
398 | :1018D0006D46897D0497AF8803AB00221A701E8184
399 | :1018E0005F815870997014E001F002FB071CE089D9
400 | :1018F000A689019001F0F6FAEB686D469A7D04978F
401 | :10190000AF8803AB00219A7019701E815F815870F7
402 | :101910000122DA70181C01F027FA02E00E4801F0EB
403 | :101920002FFD01F019FE0D4E206170696060FFF718
404 | :1019300043FE002001F016FE07B0F0BD001000408D
405 | :101940003405000004020020E8010020A806090078
406 | :10195000BC010020A9060900C806090020020020D9
407 | :10196000704708B5012282F31088074B597E002981
408 | :1019700005D09878002802D19A70FFF70FFF002257
409 | :1019800082F3108808BDC046E8010020024B012008
410 | :10199000597E48407047C046E8010020014B187846
411 | :1019A0007047C046E801002008B5012383F3108882
412 | :1019B00001F094FC002181F3108808BD08B50123D3
413 | :1019C00083F3108801F08EFC002080F3108808BD9E
414 | :1019D00008B5012383F3108801F0EAFB00280DD03D
415 | :1019E00008488278002A04D1417E002901D0FFF7FF
416 | :1019F000D5FE002383F31088012001E080F31088D6
417 | :101A000008BDC046E801002008B5012383F3108813
418 | :101A100001F0F6FB002181F3108808BD08B501F044
419 | :101A2000EAFB08BD08B5012383F3108801F0D3FB5E
420 | :101A3000002181F3108808BD08B501F0D8FB08BD6E
421 | :101A400008B501F0E7FB08BD08B501F04FFC08BD83
422 | :101A500010B50123041C83F3108808480278002A7B
423 | :101A600005D0417E002902D0054801F089FC201CE8
424 | :101A700001F0B5FB002484F3108810BDE8010020BC
425 | :101A8000FB02090008B5012383F3108801F0BDFBB8
426 | :101A9000002080F3108808BD08B5044B1862FFF7DA
427 | :101AA000B8FD0349034A505008BDC046200200203B
428 | :101AB0001C05000000100040014B186A7047C0462A
429 | :101AC0002002002008B5044B5862FFF7A2FDA421B4
430 | :101AD000024ACB00D05008BD200200200010004078
431 | :101AE000014B586A7047C04620020020F8B5031C1D
432 | :101AF000081C072B1AD80F4A03261E40D118F600DF
433 | :101B0000FF24B4402831E74308700B4C032B01D865
434 | :101B10000A4D01E0A525ED0063591F406751FFF70D
435 | :101B200067FD6759B0400743675102E0044801F080
436 | :101B300027FCF8BD20020020001000402405000012
437 | :101B40003903090010B5041E072C02D9034801F01F
438 | :101B500017FC034B18192830007810BD4103090009
439 | :101B60002002002038B5051C0C1E02D1074801F0E8
440 | :101B700007FC002D02D1064801F002FC054B0020B5
441 | :101B80009D605C6001F0D6FC38BDC046480309008A
442 | :101B900049030900BC010020014B58617047C04651
443 | :101BA00020020020014B58697047C04620020020E7
444 | :101BB000064B074AA32110B55877CB00D45801042F
445 | :101BC000044820400843D05010BDC04620020020E9
446 | :101BD00000100040FFFFF8FF014B587F7047C046E0
447 | :101BE00020020020014B18617047C04620020020EF
448 | :101BF000014B18697047C04620020020014B586015
449 | :101C00007047C04620020020014B58687047C0460C
450 | :101C10002002002008B5024BD860FFF7CDFC08BDBC
451 | :101C200020020020014BD8687047C04620020020E7
452 | :101C300008B5024B9860FFF7BFFC08BD20020020EA
453 | :101C4000014B98687047C04620020020014B588322
454 | :101C50007047C04620020020014B588B7047C04699
455 | :101C600020020020034B0449044A303318705050BE
456 | :101C70007047C046200200200C0500000010004004
457 | :101C8000014B30331878704720020020184B10B5F4
458 | :101C900031331870174A184BFF249958A1439950B3
459 | :101CA000032821D8995801F0EBFE1D020A140124E3
460 | :101CB000214399501149FF205850114906E0022054
461 | :101CC000014399500F490D4A99500F49A722D2005C
462 | :101CD00008E00324214399500C480849A722585092
463 | :101CE000A2400021995002E0094801F049FB10BDD3
464 | :101CF0002002002034050000001000403C050000D8
465 | :101D000007010000FFFF000021100100FFFFFF009E
466 | :101D1000C2030900014B31331878704720020020BC
467 | :101D20001F4B00B532331870012821D0002810D085
468 | :101D3000022834D1A2211B4ACB00D0501A491B489B
469 | :101D40001B4A08601B4B1C481C491A6008601C4A4F
470 | :101D500020E0A223134AD9005050134B1348154AD0
471 | :101D6000186013491748154B11601860164A11E0A6
472 | :101D7000A2230C4AD90050500B4B0C480C490D4A79
473 | :101D8000186011601148124A0C4B1249186011601A
474 | :101D9000114A02E00E490A60104A1148026000BD73
475 | :101DA000200200200010004024170040005000785E
476 | :101DB0004E0000542817004008800C602C1700408B
477 | :101DC0008864720003800C602264720002800C60E0
478 | :101DD0003017004011646600DEC08F823E420F82E1
479 | :101DE00034170040F8B5A122334C344B344E354DF6
480 | :101DF000D000002703210122F75031506751625172
481 | :101E0000E05831490F220140E150E5580620954342
482 | :101E10000543E550E1582D4DC02290020D40054389
483 | :101E2000E550A323DD006159294A80230A4062510D
484 | :101E300060595904014361516059FF2290432023A6
485 | :101E40001843605161592348C0220840605122481C
486 | :101E500053000221C15001F0D5FD2049204A7050A5
487 | :101E60007251204D032373511F4800F0E1FD1F4EB6
488 | :101E70001F4DF060687FFFF79BFE286AFFF70CFE9E
489 | :101E8000686AFFF71FFEE81928300178381C01370F
490 | :101E9000FFF72CFE082FF6D12F1C30373978154A62
491 | :101EA000A1502C1C313420783235FFF7EFFE287812
492 | :101EB000FFF736FFF8BDC0460010004014050000D3
493 | :101EC00000F00140FC0F0000FFFEFFFFFFFFF0FFEE
494 | :101ED000FFFFFFFDFF00FFFF00E100E01C05000029
495 | :101EE000041100400405000004020020BC01002091
496 | :101EF000200200200C05000070B5274E86B0337814
497 | :101F000072789A4245D0002B01D1FFF76BFF7078B1
498 | :101F1000002801D1FFF7AAFB2049214D00246C5075
499 | :101F200000F04EFD1F4D2C606C602C61AC60EC60CD
500 | :101F30003378012B08D101F035F9A04217D0201CCD
501 | :101F4000211C01F0E3F812E0022B10D100F038FD63
502 | :101F5000154A2C61147001F025F9032807D100946B
503 | :101F60000194201C211C221C231C01F033F8FFF7D4
504 | :101F700023FB70780024307003A8042606704460A8
505 | :101F80000481448144708470C47000F0EDFE01202F
506 | :101F900000E0002006B070BDE8010020140500003C
507 | :101FA00000F00140040200201C02002008B50123BB
508 | :101FB00083F3108808490A78824208D04870487E26
509 | :101FC000002802D1FFF798FF01E0FFF7E7FB0023AD
510 | :101FD00083F3108808BDC046E801002038B5124BD5
511 | :101FE0005A7E1C1C002A1DD1FFF7FCFE0F48816899
512 | :101FF000051C002902D10E4801F0C2F96B68002BC4
513 | :1020000002D10C4801F0BCF901F098F9002802D087
514 | :10201000094801F0B5F9002001F082F90122627649
515 | :10202000FFF7BCFB38BDC046E8010020BC01002022
516 | :102030005E0209005F02090066020900F8B5071C8C
517 | :10204000012080F31088544D544B554E002400223B
518 | :1020500003211C605C609C60DC601C611A75297047
519 | :102060002A766A76B46074606870AC706C60AC603C
520 | :10207000AC81EC812C616C6101F0D6FB381C00F066
521 | :1020800059FE00F0F5FE201C01F042F9301C01F071
522 | :102090007BF9444FC2208300F958434AC0260A40C6
523 | :1020A000FA50B0003B584149C522194039509600BA
524 | :1020B000BB59FF20402183430B43BB510120FFF755
525 | :1020C00075FF3B4E3B4B3C48311C336270622831FC
526 | :1020D0000123301C0B7029300223311C03702A317C
527 | :1020E00003200870FF22311C32612B3104220A7058
528 | :1020F0007277321C2C3205201070321C2D320621D2
529 | :10210000301C11702E3007220270301C2F30082135
530 | :10211000321C0170303200201070321C0120311C42
531 | :1021200032321070313196229A400B701E2171614B
532 | :102130007260F360FFF740FA0F23B360FFF73CFAD9
533 | :1021400001207483307670760021201C6924317759
534 | :1021500001F0D0F834606E780124A64202D017480E
535 | :1021600001F00EF900262C70AE706E60AE60AE818C
536 | :10217000EE812E616E612E766E76FFF733FEC02300
537 | :10218000802180225800CC0053033C503B5086F302
538 | :102190001088281CF8BDC046E80100200402002079
539 | :1021A000BC01002000E100E0FFFF00FFFF00FFFF97
540 | :1021B0002002002004070A0D05080B0E3C0209004E
541 | :1021C000014B32331878704720020020054B10B5C0
542 | :1021D000041CD868002802D1034801F0D1F8034953
543 | :1021E0000C7510BDBC010020F6030900040200209C
544 | :1021F000014B18767047C04620020020014B187E24
545 | :102200007047C04620020020014B58767047C046F8
546 | :1022100020020020014B587E7047C046200200205B
547 | :10222000014B18777047C04620020020014B187FF1
548 | :102230007047C0462002002008B501F05BF808BDD9
549 | :1022400008B50B4BD868417D002906D0012000F06D
550 | :102250005BFB084B9A8901329A810749074B084A70
551 | :102260000020585051681368C91AFFF7E4F908BDF7
552 | :10227000BC010020E80100201405000000F001402E
553 | :1022800020020020084B10B51A781C1C012A02D02D
554 | :10229000064801F075F80649064A0220002320701E
555 | :1022A0000B61CA6010BDC0461C02002092050900E7
556 | :1022B000040200205523000010B500F081FB1948EE
557 | :1022C00019491A4C00230122027023610869A623D0
558 | :1022D000174AD900505000F065FF00280AD100F0DD
559 | :1022E00075FD01280DD900F00FFE6060002808D1AF
560 | :1022F000104804E000F056FF032802D00E4801F019
561 | :102300003FF8022000F0A6FC002000F0FDFA00F0EB
562 | :1023100049FF032802D0094801F032F8FFF7B2FF65
563 | :1023200010BDC0461C020020200200200402002034
564 | :10233000001000407B0509008005090088050900A0
565 | :1023400008B5034B05221A70FFF7B6FF08BDC0465B
566 | :102350001C020020F0B5484A8023D800115887B0ED
567 | :10236000464C012904D0464D002356599E4205D1C2
568 | :10237000676800233978202088425B41414E03255D
569 | :1023800000210127357021603B408B4255D08123CD
570 | :10239000D80015583C4B11583C48D15002A912584E
571 | :1023A0003B1C00910194381C291C00F013FE0328EB
572 | :1023B00041D801F065FB1E02204E0298002802D091
573 | :1023C000334800F0DDFF281C00F024FF002802D174
574 | :1023D000304800F0D5FF304903A8CF680223B97D0B
575 | :1023E0000027037047603A1C078147814570817060
576 | :1023F0001DE02A482BE0029A002A02D1284800F06A
577 | :10240000BFFF281C00F006FF002802D1254800F07D
578 | :10241000B7FF214F03A8FB68029F997D022200238A
579 | :102420000270476003814381457081700122C27050
580 | :1024300000F09AFC0DE01C4809E000930193181C81
581 | :10244000191C1A1C00F0C6FD042802D0174800F021
582 | :1024500097FF2568002D06D100F0B2FA6575256159
583 | :10246000FFF72AFF05E0124801226275206104246B
584 | :10247000347007B0F0BDC0460010004004020020D8
585 | :10248000340500001C0200202C0500000C04000094
586 | :10249000B8050900B9050900BC010020BD05090007
587 | :1024A000C0050900C1050900C8050900CF050900DC
588 | :1024B0004123000070B50C4DA124E4002E5901F019
589 | :1024C00025F886420AD001F021F82851FFF7F4FEE2
590 | :1024D000064900204968FFF7AEF870BD044B187834
591 | :1024E0000028F3D0F4E7C04600100040200200208E
592 | :1024F0001C020020F0B5864C0125636989B0281CB8
593 | :10250000002B01D101F0FAF90126284000D0D3E0D8
594 | :102510002178B14202D100F04BFA10E0022908D034
595 | :1025200000F042FFFFF758F8A678002E00D0A9E08F
596 | :102530000EE0784A1378033BDDB2AE4240410028FA
597 | :10254000EED0754E75487768012279086161CBE05D
598 | :10255000FFF7D2FC704D071E00D08EE0207801906E
599 | :10256000061E012E06D0002863D0022865D1FFF791
600 | :10257000A1FF65E000F024FA00F014FE00281DD150
601 | :1025800000F024FC012851D9FFF706F8071E0CD0F3
602 | :1025900000F0FAFF002849D1287E00280BD100F076
603 | :1025A000DBFF2669B04241D105E0206900F0C2FF9F
604 | :1025B000381C00F0D7FFFFF7C5F837E0698B00291A
605 | :1025C00020D0A2898A421DD3311C381C00F09EFD08
606 | :1025D00000F08EFC0290A2890392E68900F082FC52
607 | :1025E00069460A79029905AB1A7006910C22694670
608 | :1025F000515A5870181C19815E819F70DF7000F06D
609 | :10260000B3FB13E001F07AF9002802D0444800F04F
610 | :10261000B7FEA1234348DF00C65900F077FF86428A
611 | :1026200002D0E1890131E181FFF746F801202968F4
612 | :1026300000E06968FEF7FFFF02E03B4800F0A0FE03
613 | :102640006D7E012D23D1FEF7A7FF00281FD124782E
614 | :10265000012C07D0002C0DD0022C18D0334800F0EC
615 | :102660008FFE14E000F09EFD002810D100F034FC35
616 | :1026700000280CD1FFF74CF809E06968301CFEF720
617 | :10268000DAFF04E0647E002C01D0FFF7BBF800F015
618 | :102690009DFB01280CD905A800210323037041608C
619 | :1026A0000181418141708170C17000F05DFB2DE0BE
620 | :1026B0001F4800F065FE29E0FEF78EFFA778002F87
621 | :1026C0001DD12178022912D1124B1D78033D012D15
622 | :1026D00004D900F069FEFFF7EDFE17E00E4F321C43
623 | :1026E000786841080D48616101F00EF90EE000F0D4
624 | :1026F0005BFE094A381C5168FEF79DFF06E000F0BA
625 | :1027000053FE607E002801D0FFF77CF809B0F0BDD1
626 | :10271000E80100201C02002020020020613300009C
627 | :102720000A0509000010004058040900720409005D
628 | :102730008C04090007B50190C046C046C046C0469B
629 | :10274000C046C046C046C046C046C046C046C04659
630 | :10275000C046C046019B013B0193002BECD107BD55
631 | :1027600070B58022164B910000245C501549C2259B
632 | :102770000E78AD00144A032E07D109267442C126F3
633 | :102780005C510825B4001D510AE0012676425E51D5
634 | :10279000C0230E4D02265B00EE50146103244C70E2
635 | :1027A00000235360536193604B600B75984205D0D2
636 | :1027B000074801680A69002A00D0904770BDC046EA
637 | :1027C0000010004054020020FC10004000E100E036
638 | :1027D000CC010020F8B53F4B1A69012A53D19D69FD
639 | :1027E0003D4C802296000135032104209D61187024
640 | :1027F000C025A15139496A0002278F50384F002661
641 | :102800003E61C1227E607E61BE60364E0825910029
642 | :10281000655035682A7D3D1C002A17D0A927F9008C
643 | :102820006258314F9A75A023D9007A58024202D1DA
644 | :102830002E4800F0A5FD00200123A12228620421DA
645 | :10284000A361D300F950A927F900605068680028F7
646 | :1028500002D0274800F094FD2D69002D02D02548B4
647 | :1028600000F08EFD244A536899072DD43768F96823
648 | :10287000002900D088473668707D002828D0356848
649 | :102880001E4AA55024E0022A1AD1154900250D61DF
650 | :1028900011484D6180244D6001278D60C221A60042
651 | :1028A0007A428C0085511D700251032058705D6082
652 | :1028B0001D750C4B1E683769AF4209D0B84707E059
653 | :1028C0000F4800F05DFD03E00E4800F059FDCDE734
654 | :1028D000F8BDC046540200200010004000E100E0B6
655 | :1028E000FC100040CC01002000F00140AD020A00C5
656 | :1028F000B6020A00B7020A00FCE100E0040500008D
657 | :10290000E7020A00B8020A0070B51E4D061C6B7D76
658 | :102910006C78002B02D11C4800F032FD287D002885
659 | :1029200002D01A4800F02CFD012200212A75697599
660 | :10293000022C0CD816482301C318002E01D11E68A2
661 | :102940003260621E012A05D8997A297002E0114886
662 | :1029500000F016FD104D2868037D002B11D0022CCD
663 | :102960000FD10E4C0E4E251C3259530702D40D4880
664 | :1029700000F006FD0C494859002802D10B4800F030
665 | :10298000FFFC70BD5402002021010A0022010A0050
666 | :10299000743B00003A010A00CC010020040500004D
667 | :1029A00000F0014040010A000010004041010A000F
668 | :1029B000024B98680138434258417047FC10004070
669 | :1029C000F8B5164B164C02200121C027C222D86749
670 | :1029D0004D4282407B00134E8021134FA550814011
671 | :1029E0000025F050012265507D61104D2261A261E9
672 | :1029F0002C78944201D1062003E0023C012C00D93E
673 | :102A0000101C0024FFF796FE7C61201C2C70FFF741
674 | :102A1000A7FE02206C753060F8BDC04604E100E0FE
675 | :102A20000010004000E100E0FC10004054020020D3
676 | :102A300038B50E4B0E4C18600E490F4B0F4A02254D
677 | :102A4000201DC56799500E48A421CA009850FFF771
678 | :102A5000B7FF0C48002303210370417043600361FA
679 | :102A6000037543758375256038BDC046CC010020D1
680 | :102A700000E100E01410004000F0014024050000D7
681 | :102A8000041100405402002070B55C4C2369607D45
682 | :102A9000013365782361002802D0594800F070FCAA
683 | :102AA0002178032948D1574E3269002A44D0012D9C
684 | :102AB00035D12269032A02D0534800F061FCA06995
685 | :102AC00002210130514A8025A06100238D40012060
686 | :102AD000217053514542C22088401550C0256800DE
687 | :102AE0004B4D29504B493361096873607361B36082
688 | :102AF0000326667063602375087D98420DD0A92572
689 | :102B0000E80016580125A6753E4C042623629561FF
690 | :102B1000A124414DE4002E511350CA6865E0022DF6
691 | :102B200008D12369012B02D03C4800F029FCFFF7B3
692 | :102B300051FE61E03A485DE0032D5AD0012D3CD1B1
693 | :102B40002169012918D12F480021304B0126C222CA
694 | :102B50004160816070429100C1265850B0001D5004
695 | :102B60002C4D304E2A68117D002902D02A4D0420B8
696 | :102B7000A851E4689C513FE002293DD1234E214AEF
697 | :102B80008023002598000221C223156155615560FC
698 | :102B900035504A429800C12132508B000822F25031
699 | :102BA00003262670656025751A4C2568261C286941
700 | :102BB000002800D08047306816E0022DB7D0657835
701 | :102BC00019482B01C1180E7B0025AE4203D00D4AD7
702 | :102BD00015696A1E95418B7A01202370FFF7C0FDAD
703 | :102BE000002D09D00B4C20688268002A04D0904741
704 | :102BF00002E00E4800F0C4FB70BDC0465402002045
705 | :102C000090010A00FC1000409F010A0000100040E3
706 | :102C100000E100E0CC01002000F00140A4010A0026
707 | :102C2000A9010A0004050000743B0000D6010A0057
708 | :102C300008B5022804D8054B18784342584103E0F0
709 | :102C4000034800F09DFB002008BDC0465402002050
710 | :102C5000F9020A00F8B52B4C0301061C2A4F207D0F
711 | :102C6000FF18002802D0294800F08AFB301CFFF72B
712 | :102C7000DFFF002802D1264800F082FB0121C2229A
713 | :102C8000244D0023484291006375C02268502249B8
714 | :102C9000022052008850214866700268116852680C
715 | :102CA0002361A3613B68A160E2606360022E18D8D3
716 | :102CB000387A80239B00E850F87A194B002805D118
717 | :102CC000E950EA58002A08D1164804E0EA50E958C9
718 | :102CD000002902D1144800F053FB7F7AC120830001
719 | :102CE000EF500E4D29680A7D002A07D0022E05D12B
720 | :102CF0000B480E4B00260427A6751F50012565754D
721 | :102D0000F8BDC04654020020743B0000DB000A00FE
722 | :102D1000DD000A000010004000E100E0CC010020CE
723 | :102D20000405000000010A0005010A0000F001404E
724 | :102D30007047C04610B5041E02D1084800F020FBC1
725 | :102D4000074B00221C60191DDA670833CA67802010
726 | :102D5000DA67044B44031C6010BDC04629000B0019
727 | :102D60007802002000E100E070B5144C051C2368D7
728 | :102D7000002B02D1124800F003FB201C0830C16F69
729 | :102D8000092902D90F4800F0FBFAE66F0C225643DE
730 | :102D9000A319043343CD43C3251C0835E86F013024
731 | :102DA000E867E16F0131E167E66F092E01D9002282
732 | :102DB000E2678024044B65035D6070BD78020020EB
733 | :102DC00034000B0035000B00FCE100E0034B0A204F
734 | :102DD0000833D96F421AD0B27047C046780200203B
735 | :102DE000F0B587B0012383F31088134C124D0834DB
736 | :102DF000E06F00281BD02A1DD16F0C26714303AB56
737 | :102E000069180431181CE0C9E0C0E76F0026013FD3
738 | :102E1000E767D46F0134D467D56F092D00D9D66721
739 | :102E200086F31088044A176807CBB847DAE780F3BF
740 | :102E3000108807B0F0BDC0467802002038B50A4CB3
741 | :102E4000051CE36F002B02D1084800F099FA291CF9
742 | :102E50000831E06F00F03CFC0021884201D0E167BE
743 | :102E60000121081C38BDC046000300206F020C0081
744 | :102E700010B500F0B7FB0021124A88000023841827
745 | :102E80008818A361A363041C803488302370037006
746 | :102E90000D480C18013123700829EDD1111C101CAC
747 | :102EA000141C903191305834137053609360D36088
748 | :102EB000136153610B7003702370D3679232012347
749 | :102EC000137010BD0003002094030020014B185C18
750 | :102ED0007047C04694030020014B90331878704728
751 | :102EE00000030020014B58687047C04600030020D3
752 | :102EF000014B98687047C04600030020014BD8681A
753 | :102F00007047C0460003002010B5104C2378002BFA
754 | :102F100002D00F4800F034FAE06F002802D100F030
755 | :102F20008BFBE067E06F00280FD0012143784A4215
756 | :102F300006210B43437002700023C218FF210133A6
757 | :102F40009170202BF9D10323237010BD00030020C2
758 | :102F50003B010C0038B5124C2378002B1ED1201CED
759 | :102F600090300178002919D10825606900F028FC0B
760 | :102F7000002805D0231C6069903301221A7020615B
761 | :102F800061690131082900D10021231C616190335E
762 | :102F90001A78002A02D1013D002DE6D138BDC04685
763 | :102FA0000003002038B5094D041C2B1C9033187801
764 | :102FB000002804D02969A14201D1FFF7CBFF2A19CB
765 | :102FC000034B0025803215701D5538BD00030020CD
766 | :102FD00094030020F0B5464D85B00393EB6F061CBB
767 | :102FE0000C1C171C002B02D1424800F0C9F92878AC
768 | :102FF000032802D0404800F0C3F9E96F01234A7862
769 | :103000001A4202D192352D786B400425002E61D0F2
770 | :1030100050070126810F1E40251C231C0A06083379
771 | :103020000E353F023249A8003F0A02930B5817435E
772 | :103030000B980A9A0025156005609F4233D0201C2A
773 | :10304000FFF7FCFE0190AE4200D0051C01232E1CB0
774 | :103050001E40002828D00299254A06318800875052
775 | :10306000039F1D1C002F20D0244F3B5D002B1CD044
776 | :10307000201C00F0A5FB002802D1214800F080F9B7
777 | :10308000201C00F05BFB051E02D0201CFFF78AFF0E
778 | :103090000A990D60002D02D11A4800F071F9002044
779 | :1030A0003855022501E001950325002E0DD0201C86
780 | :1030B00000F06CFB0B9E3060002802D1124B336095
781 | :1030C00005E00E4F01223A5501E00B9C2660019964
782 | :1030D000002905D1064CE06F00F0CCFA0020E06733
783 | :1030E000034A00261670FFF735FF281C05B0F0BD17
784 | :1030F000000300205B010C005C010C009403002025
785 | :1031000091010C0096010C0058030020F8B51F4CEB
786 | :10311000071C23780E1C013B012B02D91C4800F030
787 | :103120002FF90425002F19D02078012802D0194842
788 | :1031300000F026F9E268002A02D1174800F020F9D1
789 | :10314000E16800250F78AF4208D06068FFF776FE8F
790 | :103150000225002802D1114800F012F9002E0ED0ED
791 | :103160006768381C00F0EAFA061E02D0381CFFF728
792 | :1031700019FFA3689E4202D0094800F001F900201F
793 | :103180002070FFF7E7FE281CF8BDC04600030020B2
794 | :10319000FC000C0002010C0003010C000E010C00ED
795 | :1031A0001E010C00014B18787047C0460003002038
796 | :1031B00038B5041C0D1C00F013FB002801D10020C1
797 | :1031C00008E0281C211C00F083FA0028F7D0FFF744
798 | :1031D000C1FE012038BD08B500F0D8FA08BD10B511
799 | :1031E000041CFFF7DFFE201C00F000FB10BD08B53B
800 | :1031F00000F0E6FA08BD08B5083000F0C7FA08BDCF
801 | :1032000008B5083000F09AFA08BD08B5083000F09B
802 | :10321000EDFA08BD08B5083000F0D2FA08BD10B5C7
803 | :103220002A4C2378002B02D0294800F0A9F8201C52
804 | :1032300090300178002927D02069606000F0A6FA5C
805 | :10324000A060002802D1234800F09AF8A268012368
806 | :103250005078034004D1211C92310A78002A10D101
807 | :103260006068FFF7D7FF02280ED8E36F002B02D16A
808 | :1032700000F0E2F9E067E16FE160002904D001208D
809 | :1032800001E0E360022020702278002082421BD0FF
810 | :10329000A368834202D1104800F072F82069606090
811 | :1032A000063081006318DA7803210132D0B2D87079
812 | :1032B000A36808405A784100062082430A435A70A6
813 | :1032C000903400232370012010BDC046000300206D
814 | :1032D000C3000C00C9000C00E7000C0008B500F0AA
815 | :1032E000ABF908BD08B500F0C5F908BD08B500F098
816 | :1032F00077FA08BD014B9233187070470003002025
817 | :10330000014B923318787047000300207047C04685
818 | :10331000024B9870587018707047C0469C0300208C
819 | :1033200010B5041E012C02D9024800F029F8024B06
820 | :103330005C7010BD2A000D009C030020014B187822
821 | :103340007047C0469C030020014B98787047C046E8
822 | :103350009C030020014B58787047C0469C03002016
823 | :1033600008B5054B1A7858789A701870034B81008D
824 | :10337000CA58904708BDC0469C0300207400002036
825 | :1033800008B5FEF7FFF808BD10B5041E02D10448C9
826 | :10339000FFF7F6FF034B00221C605A609A6010BDD5
827 | :1033A0002A000100D0010020094B00B518689A6876
828 | :1033B000016801329A608A4208D359684068002245
829 | :1033C00001319A605960814200D35A6000BDC04605
830 | :1033D000D0010020F8B500282AD0164CA368012897
831 | :1033E0000ED1276801333A68A360934220D3606806
832 | :1033F000796800250130A5606060884218D316E026
833 | :103400002668C7183568A760381C291C00F042FBE5
834 | :1034100062683B1C80186060AB4201D35B1BFBE71A
835 | :1034200071686568A3608D4201D36D1AFBE7656022
836 | :10343000F8BDC046D0010020024B1A689968106898
837 | :10344000401A7047D001002070B50D4D041C2B6848
838 | :103450005868844202D30B48FFF792FF6E68B4426B
839 | :103460000CD002D829684A68A418FFF7E5FF2D6838
840 | :10347000F3432E6819197143081800E0002070BD4D
841 | :10348000D00100206800010070B5041C0D1C8842AA
842 | :1034900002D30B48FFF774FF0A4E33681868854261
843 | :1034A00002D90948FFF76CFFB168601AA14206D340
844 | :1034B0000020A94203D3326815686E1A301970BD16
845 | :1034C0007D000100D00100207E00010038B5041C01
846 | :1034D000101C0D1CFFF7B8FF002801D0001911E0E7
847 | :1034E000201C291CFFF7D0FF041CFFF7A5FF031CBD
848 | :1034F000201E984206D304490D686A682C68013A78
849 | :103500005443001938BDC046D0010020074B10B508
850 | :103510001A68596850681C1C814202D30448FFF79E
851 | :103520002FFF236861689A68505C10BDD0010020AD
852 | :10353000B200010038B5064B041C1A681D1C506807
853 | :10354000844202D30348FFF71BFF6C6038BDC046BE
854 | :10355000D0010020B9000100014B58687047C046F7
855 | :10356000D001002038B5064B041C1A681D1C1068D9
856 | :10357000844202D30348FFF703FFAC6038BDC04666
857 | :10358000D0010020C5000100014B98687047C0467B
858 | :10359000D001002010B50F4B1A68002393420BD2C4
859 | :1035A0000D499C006458A04203D10C48FFF7E8FE87
860 | :1035B0000CE00133DBB2F1E7002422226243084928
861 | :1035C0005318984204D00134062CF6D1002000E0B4
862 | :1035D000012010BDA0030020A4030020F60003007A
863 | :1035E000AC04002010B500220F49500080180023C1
864 | :1035F0000C1801326370A3704354102AF4D12222B4
865 | :103600005A430A490A485418211C9A00845022310E
866 | :10361000DE22227001348C42FAD10133062BEED126
867 | :10362000044C236010BDC046BC030020AC04002045
868 | :10363000A4030020A003002038B50A4B1C68002C0E
869 | :103640000ED0621E084990004458084D1A6045503B
870 | :10365000201CFFF79FFF002802D10548FFF790FECE
871 | :10366000201C38BDA0030020A4030020ADDEADDE89
872 | :103670007D00030070B5104C051C2368052B02D992
873 | :103680000E48FFF77DFE281CFFF784FF002802D1BB
874 | :103690000B48FFF775FE21680A488A0011580A4B4B
875 | :1036A000061C994202D00948FFF76AFE2068820092
876 | :1036B0000130B550206070BDA003002085000300DC
877 | :1036C00086000300A4030020ADDEADDE8800030009
878 | :1036D000F8B5051C0C1E0F2C02D91448FFF750FE3C
879 | :1036E000281CFFF757FF002802D11148FFF748FEBA
880 | :1036F000104966003019435C0022022B13D80B18C6
881 | :103700005F78C0190C4F8000C5515D780135E8B273
882 | :1037100058705F78022F00D95A7032198C5C0134CE
883 | :10372000E6B28E540122101CF8BDC0468F00030083
884 | :1037300090000300BC030020EC03002038B5041EF9
885 | :103740000F2C02D90E48FFF71BFE0E4A65002919FF
886 | :10375000885C002813D05318987809180A48890003
887 | :10376000085899780131C9B299709978022901D91C
888 | :10377000002199702C19155D013DEBB2135538BD30
889 | :10378000A6000300BC030020EC03002010B5041EBB
890 | :103790000F2C02D90748FFF7F3FD074B6200111900
891 | :1037A000C85C002805D0581884780B1903499A0082
892 | :1037B000505810BDB7000300BC030020EC030020EC
893 | :1037C00010B5041E0F2C02D90348FFF7D9FD630082
894 | :1037D00002491819405C10BDC8000300BC0300205A
895 | :1037E000014B18687047C046A003002038B5051E7D
896 | :1037F0000F2D0CD90948FFF7C3FD08E0084B9C4288
897 | :1038000002D10848FFF7BCFD201CFFF733FF281C3E
898 | :10381000FFF794FF041EF1D138BDC046D700030066
899 | :10382000ADDEADDEDB000300164BA12110B5012299
900 | :10383000CC0000205A60DA6018515A64124A1C1CED
901 | :103840009958814202D01148FFF79AFD0123C22204
902 | :10385000584291000E4B60500022A2215A6404206D
903 | :10386000CB00E0500B490C4C0120226022716271A8
904 | :1038700008700A4B8022C021D40081405C501C603B
905 | :1038800010BDC04600A00040440500003500040003
906 | :10389000FCA0004078050020DC01002000E100E0F1
907 | :1038A000034B0449012200201A6008707047C0468B
908 | :1038B00000A0004078050020094A30B5012353607C
909 | :1038C000084CD3608025084AC0200021ED009840B4
910 | :1038D0001160117125505171044A137030BDC046FA
911 | :1038E00000A0004000E100E0DC010020780500209D
912 | :1038F000014B18787047C04678050020014B1879B5
913 | :103900007047C046DC010020F7B5334F0092334CBE
914 | :103910008022C2237E790191051C990050026050DB
915 | :10392000002E02D02E48FFF72BFD002D02D12D488E
916 | :10393000FFF726FD3A68002A02D02B48FFF720FD4A
917 | :103940003D60009D294E012D0DD0002D03D0022D8C
918 | :103950000DD1A92208E00120254B00996064E558AB
919 | :103960002064716407E0A822D500655903E021486E
920 | :10397000FFF706FD002501227A71019FA821E819B1
921 | :1039800087B20023C80073642750275800976264E9
922 | :10399000174AA758716C1E1C994202D01648FFF7AF
923 | :1039A000EFFC009BAB4205D3AF4201D39F420CD347
924 | :1039B000124808E0301CAF427041009DAF42764192
925 | :1039C000B04202D00E48FFF7DBFC8022C121570233
926 | :1039D0008E00A751F7BDC046DC01002000A00040CA
927 | :1039E000730004007500040076000400FCA0004091
928 | :1039F00044050000890004009B000400B00004009E
929 | :103A0000C90004000048704748A0004000487047C3
930 | :103A100040A1004070B58022134C144DC2235002C7
931 | :103A20009900002668506664114C2268B24202D1A7
932 | :103A30001048FFF7A5FC104B012166712068A822F1
933 | :103A400026606964EE58D300EA580C4D1432AE4239
934 | :103A500003D8C0231D02AA4202D800219642494140
935 | :103A60002171804770BDC046FCA0004000A000400E
936 | :103A7000DC010020EC00040044050000FF3F0000D2
937 | :103A800002B4714649084900095C49008E4402BCF1
938 | :103A90007047C046002934D00123002210B4884268
939 | :103AA0002CD301242407A14204D2814202D209016D
940 | :103AB0001B01F8E7E400A14204D2814202D249008E
941 | :103AC0005B00F8E7884201D3401A1A434C08A04231
942 | :103AD00002D3001B5C0822438C08A04202D3001BC7
943 | :103AE0009C082243CC08A04202D3001BDC082243DE
944 | :103AF000002803D01B0901D00909E3E7101C10BC02
945 | :103B0000704701B5002000F00BF802BD0029F8D085
946 | :103B100003B5FFF7C1FF0EBC4243891A1847C046E0
947 | :103B20007047C046002310B59A4200D110BDCC5C4E
948 | :103B3000C4540133F8E70000F8B5C046F8BC08BC2F
949 | :103B40009E467047F8B5C046F8BC08BC9E46704714
950 | :103B500000000020001001401101040000B00040EE
951 | :103B60000B000400FF0F030000001F000302000011
952 | :103B7000010200000010004010110040031000007E
953 | :103B80000100000000100040000000000B020400D3
954 | :103B900000000000041000400000000007080301BE
955 | :083BA00000000000000000001D
956 | :083BA80060C5FF7F0100000071
957 | :103BB0000000000000000000000000000000000005
958 | :103BC00000000000000000000000000000000000F5
959 | :103BD00000000000000000000000000000000000E5
960 | :103BE00000000000000000000000000000000000D5
961 | :103BF00000000000000000000000000000000000C5
962 | :103C000000000000000000000000000000000000B4
963 | :103C10000500000004192A3F4D00000000000000CC
964 | :103C200000000000F524000041220000E90000002F
965 | :043C3000C1000000CF
966 | :0400000300000CE904
967 | :00000001FF
968 |
--------------------------------------------------------------------------------
/precompiled/testing-receiver-rgb.hex:
--------------------------------------------------------------------------------
1 | :100000000C94D6000C94FE000C94FE000C94FE00A0
2 | :100010000C94FE000C94FE000C94FE000C94FE0068
3 | :100020000C94FE000C94FE000C9478060C940D05C4
4 | :100030000C94FE000C94FE000C94FE000C94FE0048
5 | :100040000C94FE000C94FE000C94FE000C94FE0038
6 | :100050000C94FE000C94FE000C94FE000C945401D1
7 | :100060000C94FE000C94FE000C94FE000C94FE0018
8 | :100070000C94FE000C94FE000C94FE000C94FE0008
9 | :100080000C94FE000C94FE000C94FE000C94FE00F8
10 | :100090000C94FE000C94FE000C94FE000C94FE00E8
11 | :1000A0000C94FE000C94FE000C94FE000000000274
12 | :1000B00000090F0000030401000C00000000000014
13 | :1000C00000000000000000000000040802011040D1
14 | :1000D00080401020408040800802040180402010B1
15 | :1000E00002011080102040400404040404030405AD
16 | :1000F00002020202040302020202060606060606C5
17 | :1001000004040202020400000000250028002B0065
18 | :100110002E00310000000000240027002A002D00DE
19 | :10012000300012010002EF0201404123368000013D
20 | :100130000102030112010002000000404123368049
21 | :1001400000010102030141726475696E6F204C4C1D
22 | :10015000430041726475696E6F204C656F6E617209
23 | :10016000646F0004030904080B0002020201000985
24 | :100170000400000102020000052400100105240112
25 | :10018000010104240206052406000107058103106D
26 | :10019000004009040100020A0000000705020240B5
27 | :1001A00000000705830240000000E90711241FBE7C
28 | :1001B000CFEFDAE0DEBFCDBF11E0A0E0B1E0ECE3CD
29 | :1001C000F1E102C005900D92A432B107D9F721E008
30 | :1001D000A4E2B1E001C01D92A439B207E1F710E03A
31 | :1001E000C6EDD0E004C02197FE010E949608C53DEF
32 | :1001F000D107C9F70E94F9020C949C080C940000E6
33 | :1002000061E082E00E948E0261E085E10E948E0240
34 | :1002100061E084E10C948E0261E082E00E94CA02F7
35 | :1002200060E084E10E94CA0261E085E10E94CA02A6
36 | :1002300068EE73E080E090E00E94C30160E082E03D
37 | :100240000E94CA0261E084E10E94CA0261E085E185
38 | :100250000E94CA0268EE73E080E090E00E94C30151
39 | :1002600061E082E00E94CA0261E084E10E94CA0269
40 | :1002700060E085E10E94CA0268EE73E080E090E0F1
41 | :100280000E94C30161E082E00E94CA0261E084E151
42 | :100290000E94CA0261E085E10E94CA0268EE73E032
43 | :1002A00080E090E00C94C3011F920F920FB60F9262
44 | :1002B00011242F933F938F939F93AF93BF9380917C
45 | :1002C000250190912601A0912701B091280130913C
46 | :1002D000240123E0230F2D3758F50196A11DB11DF0
47 | :1002E000209324018093250190932601A093270158
48 | :1002F000B09328018091290190912A01A0912B01AE
49 | :10030000B0912C010196A11DB11D809329019093FC
50 | :100310002A01A0932B01B0932C01BF91AF919F9123
51 | :100320008F913F912F910F900FBE0F901F901895B6
52 | :1003300026E8230F0296A11DB11DD2CF3FB7F89436
53 | :100340008091290190912A01A0912B01B0912C015B
54 | :1003500026B5A89B05C02F3F19F00196A11DB11D20
55 | :100360003FBFBA2FA92F982F8827BC01CD01620F5C
56 | :10037000711D811D911D42E0660F771F881F991F17
57 | :100380004A95D1F70895CF92DF92EF92FF92CF93E3
58 | :10039000DF936B017C010E949E01EB01C114D1042B
59 | :1003A000E104F10439F4DF91CF91FF90EF90DF90F9
60 | :1003B000CF9008950E940C030E949E016C1B7D0B40
61 | :1003C000683E734058F381E0C81AD108E108F1088B
62 | :1003D000C851DC4FE3CF789484B5826084BD84B586
63 | :1003E000816084BD85B5826085BD85B5816085BD30
64 | :1003F000EEE6F0E0808181608083E1E8F0E0108249
65 | :10040000808182608083808181608083E0E8F0E089
66 | :10041000808181608083E1E9F0E080818260808377
67 | :10042000808181608083E0E9F0E080818160808369
68 | :10043000E1ECF0E080818460808380818260808351
69 | :10044000808181608083E3ECF0E080818160808343
70 | :10045000E0ECF0E0808182608083E2ECF0E080817B
71 | :1004600081608083EAE7F0E080818460808380811E
72 | :1004700082608083808181608083808180688083C6
73 | :10048000089590E0FC013197EF30F10508F045C088
74 | :10049000E45BFD4F0C94960869026D025B026102F9
75 | :1004A00065028D028D028D02700276027A027E0252
76 | :1004B00084028D028802809180008F778093800073
77 | :1004C0000895809180008F7DF9CF80918000877F93
78 | :1004D000F5CF84B58F7784BD089584B58F7DFBCF2C
79 | :1004E000809190008F778093900008958091900084
80 | :1004F0008F7DF9CF80919000877FF5CF8091C000EC
81 | :100500008F778093C00008958091C0008F7DF9CFD0
82 | :100510008091C200877F8093C2000895CF93DF93BC
83 | :1005200090E0FC01E653FF4F249188519F4FFC015E
84 | :1005300084918823C9F090E0880F991FFC01EC5E3C
85 | :10054000FE4FA591B491FC01EA5FFE4FC591D49195
86 | :1005500061110DC09FB7F8948C91209582238C93E4
87 | :100560008881282328839FBFDF91CF91089562302F
88 | :1005700051F49FB7F8943C91822F809583238C93FC
89 | :10058000E8812E2BEFCF8FB7F894EC912E2B2C9384
90 | :100590008FBFEACF1F93CF93DF93162F282F30E022
91 | :1005A000F901E455FF4F8491F901E653FF4FD491CF
92 | :1005B000F901E851FF4FC491CC23A1F081110E94B1
93 | :1005C0004102EC2FF0E0EE0FFF1FEA5FFE4FA59116
94 | :1005D000B4918FB7F894EC91111108C0D095DE2337
95 | :1005E000DC938FBFDF91CF911F910895DE2BF8CF61
96 | :1005F00008950E94EB010E94F8028DE291E00E94B2
97 | :10060000FB060E940001C0E0D0E00E940C01209790
98 | :10061000E1F30E940000F9CF0895615030F020917D
99 | :10062000F100FC0120830196F8CF289884E680939E
100 | :1006300036010895409131015091320120912F01EE
101 | :100640003091300142175307B4F49091E80095704F
102 | :10065000E1F39091E80092FD19C08093F100809140
103 | :1006600031019091320101968F739927892B19F4EA
104 | :100670008EEF8093E80080913101909132010196D4
105 | :10068000909332018093310181E0089580E00895D4
106 | :10069000DF92EF92FF920F931F93CF93DF937C0132
107 | :1006A000D42E062F10E0C8010196880F0E941A036D
108 | :1006B00083E00E941A03D0E0ED2FF0E0E017F1078D
109 | :1006C0008CF4EE0DFF1DD7FE0BC084910E941A031F
110 | :1006D000C82F80E00E941A038C2329F0DF5FECCF43
111 | :1006E0008081F4CF81E0DF91CF911F910F91FF9036
112 | :1006F000EF90DF9008958091D70081608093D700BC
113 | :1007000080EA8093D80089B5806189BD89B582600F
114 | :1007100089BD09B400FEFDCF61E070E080E090E0AB
115 | :100720000E94C3018091D8008F7C80618093D800A3
116 | :100730008091E000807F8093E0000895CF93DF9365
117 | :100740001F92CDB7DEB71982CE0101960E946B07CA
118 | :100750000E948208BE016F5F7F4F0E94FE07898161
119 | :100760000F90DF91CF9108952FB7FC012083F8946B
120 | :1007700067706093E9000895CF93DF931F92CDB720
121 | :10078000DEB7682FCE0101960E94B4038091F2007B
122 | :1007900099819FBF0F90DF91CF910895EF92FF92C3
123 | :1007A0000F931F93CF93DF931F92CDB7DEB77B01DB
124 | :1007B0008A0190913501992311F057FF13C08FEFF3
125 | :1007C0009FEF08C0009721F02091F200222311F141
126 | :1007D00029812FBF0F90DF91CF911F910F91FF9033
127 | :1007E000EF900895682FCE0101960E94B403809186
128 | :1007F000F20090E0081719070CF4C801282FF70140
129 | :1008000034E62150F8F22898309336014091F100F7
130 | :100810004193F7CF2BE62093E800DACFCF93DF9315
131 | :100820001F92CDB7DEB741E050E0BE016F5F7F4F52
132 | :100830000E94CE03019731F4898190E00F90DF91FF
133 | :10084000CF9108958FEF9FEFF9CFCF93DF931F9252
134 | :10085000CDB7DEB7682FCE0101960E94B403909108
135 | :10086000E800892F807295FF04C09091F20080E427
136 | :10087000891B99819FBF0F90DF91CF9108956F924F
137 | :100880007F928F929F92AF92BF92CF92DF92EF9220
138 | :10089000FF920F931F93CF93DF931F92CDB7DEB7D5
139 | :1008A000A82EB42E052F80913501882309F16B0104
140 | :1008B000E42EF52E8AEF982E8A2D8072782E9AE3F8
141 | :1008C000892E8A2D8074682EE114F10409F459C030
142 | :1008D0008A2D0E942504182F81111CC09A949920FA
143 | :1008E00039F061E070E080E090E00E94C301ECCF5D
144 | :1008F0008FEF9FEF0F90DF91CF911F910F91FF909E
145 | :10090000EF90DF90CF90BF90AF909F908F907F90AF
146 | :100910006F90089590E0E816F9060CF41E2D6A2DEC
147 | :10092000CE0101960E94B4038091E80085FF1BC0B0
148 | :10093000812F90E0E81AF90A772029F0115050F041
149 | :100940001092F100FBCFF601A7FE15C0115070F414
150 | :10095000C80ED91E8091E80085FF1AC0E114F10489
151 | :1009600011F4611015C089818FBFAECF24912093FF
152 | :10097000F1003196EBCF115058F321912093F10003
153 | :10098000FACF5D9884E6809337018B2D902FB2CFFC
154 | :100990008092E800E8CF1092E900109232011092A4
155 | :1009A00031019093300180932F010895DF92EF92EF
156 | :1009B000FF920F931F93CF93DF93D82E8A01EB0101
157 | :1009C0007B01E40EF51ECE15DF0559F0D7FE12C0EF
158 | :1009D000FE0184910E941A0321968111F4CF0FEF3A
159 | :1009E0001FEFC801DF91CF911F910F91FF90EF9002
160 | :1009F000DF9008958881EECFCF93DF93EB012091B4
161 | :100A0000E80022FFFCCF6C2F0E940D038BEF809338
162 | :100A1000E800CE01DF91CF9108951F920F920FB69B
163 | :100A20000F921124CF92DF92EF92FF920F931F93B8
164 | :100A30002F933F934F935F936F937F938F939F93E6
165 | :100A4000AF93BF93EF93FF93CF93DF93CDB7DEB711
166 | :100A50006C97DEBFCDBF1092E9008091E80083FF64
167 | :100A600025C068E0CE0145960E940D0382EF809379
168 | :100A7000E8008D8987FF39C09091E80090FFFCCF96
169 | :100A8000982F907609F010C19E894F89588D2F8933
170 | :100A9000188D911131C0803861F5809134018093B7
171 | :100AA000F1001092F1008EEF8093E8006C960FB683
172 | :100AB000F894DEBF0FBECDBFDF91CF91FF91EF91D4
173 | :100AC000BF91AF919F918F917F916F915F914F9166
174 | :100AD0003F912F911F910F91FF90EF90DF90CF905A
175 | :100AE0000F900FBE0F901F9018959EEF9093E80007
176 | :100AF000C7CF1092F100D5CF913059F48111D3CFE7
177 | :100B00004130510581F6809134018D7F809334010D
178 | :100B1000CACF933049F48111C6CF4130510519F63F
179 | :100B2000809134018260F2CF953041F48091E800E9
180 | :100B300080FFFCCF20682093E300B5CF963009F00A
181 | :100B400086C0EB8CFC8C123069F580E090E00E944E
182 | :100B5000CB040E949E0399E09E012F5F3F4F6901E5
183 | :100B6000F901292F11922A95E9F799831A8391E0C7
184 | :100B70009E8390EA98879AEF99872091310130916E
185 | :100B80003201275F3F4F3C832B838D83C7010E9437
186 | :100B9000CB0449E050E0B60180E00E94D6040E94F8
187 | :100BA0009E0381CFC7010E94CB040E948208BE0130
188 | :100BB0006B5E7F4F0E942608009731F00CF073CFD8
189 | :100BC00081E28093EB0072CF1130A1F48B8D9C8D6C
190 | :100BD000089719F481E080932E0180912E018111F4
191 | :100BE00077C064E371E0FB01449150E080E80E942B
192 | :100BF000D60459CF133021F78F89882309F46BC0AD
193 | :100C0000823049F440E860E182E591E00E944803C7
194 | :100C10008823B1F248CF813029F440E86BE086E4C4
195 | :100C200091E0F4CF833061F60E9482088E010F5F5D
196 | :100C30001F4FB8010E944508F80101900020E9F714
197 | :100C40003197BF01601B710B40E0C801DFCF9730C7
198 | :100C500009F4B6CF983021F481E08093F10023CFDE
199 | :100C6000993009F020CF837009F0AACFE1E0F1E0DC
200 | :100C700081E031E096E32081211109C08EE7809365
201 | :100C8000EA001092EA008F89809335010CCF80939F
202 | :100C9000E9003093EB0021912093EC009093ED005C
203 | :100CA0008F5F873041F7EACF8B8D9C8D0E94CB04FC
204 | :100CB000898D811105C0CE0145960E947607A8CF87
205 | :100CC0000E948208BE016B5E7F4F0E946408A0CF25
206 | :100CD00062E271E088CF63E671E085CF8093E9003E
207 | :100CE0008091F200882319F08AE38093E800089548
208 | :100CF0001F920F920FB60F9211242F933F934F9391
209 | :100D00005F936F937F938F939F93AF93BF93CF9393
210 | :100D1000EF93FF93C091E1008091E100837F809386
211 | :100D2000E1008093E100C3FF0FC01092E90081E071
212 | :100D30008093EB001092EC0082E38093ED00109220
213 | :100D4000350188E08093F000C2FF1AC083E00E9462
214 | :100D50006E0680913701882341F0809137018150E0
215 | :100D600080933701882309F442C08091360188239B
216 | :100D700039F0809136018150809336018823C9F182
217 | :100D8000C4FF23C08091E2008E7E81608093E200E8
218 | :100D90008091E1008F7E8093E100809133018E7E0F
219 | :100DA000806180933301FF91EF91CF91BF91AF911B
220 | :100DB0009F918F917F916F915F914F913F912F9173
221 | :100DC0000F900FBE0F901F901895C0FFECCF809131
222 | :100DD000E2008E7E80618093E2008091E1008E7E51
223 | :100DE0008093E100809133018E7E8160DACF5D9A3D
224 | :100DF000BCCF289AC5CF10923501109234011092C1
225 | :100E000033010E947B03E1EEF0E080818E7E8083DF
226 | :100E10008DE08093E200559A209A0895CF93DF9356
227 | :100E20001F92CDB7DEB76983DC01ED91FC910280A2
228 | :100E3000F381E02D41E050E0BE016F5F7F4F0995E7
229 | :100E40000F90DF91CF910895CF93DF93EC018C85C4
230 | :100E50009D8597FF05C082E00E940E049D878C87C8
231 | :100E60008C859D85DF91CF91089583E00C946E066B
232 | :100E7000FC018485958597FD06C082E00E94BC0335
233 | :100E800090E00196089582E00E94BC0390E00895EE
234 | :100E9000FC018485958597FD05C02FEF3FEF3587D1
235 | :100EA0002487089582E00C940E04CF93DF93EC0125
236 | :100EB00080911201882331F083E00E943F041816CC
237 | :100EC000190634F081E090E09B838A8380E090E013
238 | :100ED000DF91CF910895FC0190819E5F908342E461
239 | :100EE00050E067E671E080E80C94D604FC01818153
240 | :100EF0009081913A61F4813209F050C047E050E0AE
241 | :100F00006BE071E080E00E94D60481E008959132A8
242 | :100F100009F044C0833269F482819381A0E0B0E09B
243 | :100F20008093070190930801A0930901B0930A01EF
244 | :100F3000ECCF803261F567E070E08BE091E00E94D9
245 | :100F4000FC0480910B0190910C01A0910D01B091D6
246 | :100F50000E01803B9440A105B10521F4809112015E
247 | :100F600080FF1EC00FB6F894A8958091600088613C
248 | :100F700080936000109260000FBEA8958091FE0AD9
249 | :100F80009091FF0A9093010880930008BECF8232AF
250 | :100F900009F0BBCF828180931201D3CF80E0089506
251 | :100FA00080910008909101089093FF0A8093FE0AB7
252 | :100FB00087E797E790930108809300089BE088E11A
253 | :100FC0000FB6F894A895809360000FBE90936000D0
254 | :100FD0009CCFE8E3F1E01382128288EE93E0A0E078
255 | :100FE000B0E084839583A683B78387E191E0918302
256 | :100FF00080838FEF9FEF958784870895EF92FF920C
257 | :101000000F931F93CF93DF937B01FC01C281D381A8
258 | :1010100000E010E0209791F0E881F9810280F381EF
259 | :10102000E02DB701CE01099597FD06C0080F191FE5
260 | :101030000884D985C02DEECF0FEF1FEFC801DF91D7
261 | :10104000CF911F910F91FF90EF9008950F931F93F1
262 | :10105000CF93DF938B01FC01C281D381209771F084
263 | :10106000E881F9810480F581E02DB801CE01099570
264 | :10107000009731F40884D985C02DF0CF80E090E04E
265 | :10108000DF91CF911F910F9108950F931F93CF93ED
266 | :10109000DF938B01FC01C281D381209771F0E8813D
267 | :1010A000F9810680F781E02DB801CE010995080F7E
268 | :1010B000111D0884D985C02DF0CFF8011082DF9171
269 | :1010C000CF911F910F9108950F931F93CF93DF93AB
270 | :1010D0008B01FC01C281D381209771F0E881F981F5
271 | :1010E0000190F081E02DB801CE010995811105C074
272 | :1010F0000884D985C02DF0CF80E0DF91CF911F917A
273 | :101100000F9108958091880181110DC082E0809334
274 | :10111000900184E0809391011092930110929201CA
275 | :1011200081E08093880180E991E00895EE0FFF1F30
276 | :0C1130000590F491E02D0994F894FFCF95
277 | :10113C0000C18081000000FFFFFFFF00E100000004
278 | :10114C00000000000000000E075507380748072470
279 | :04115C00073507004C
280 | :00000001FF
281 |
--------------------------------------------------------------------------------