mirror of
git://f0xx.org/android_cast
synced 2026-07-29 04:38:53 +03:00
docs update, be sync
This commit is contained in:
@@ -1,5 +1,24 @@
|
||||
# Android Cast — On-Demand Remote Access (Reverse Tunnel) Proposals
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-03 |
|
||||
| Last modification date | 2026-06-03 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | DR |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Date: 2026-06-02 — **merged document**: initial proposal (rev. 1) + infra review addendum (rev. 2)_
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ _Date: 2026-06-02 — **merged document**: initial proposal (rev. 1) + infra rev
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,24 @@
|
||||
# Android Cast — Email agent config & 2FA / mobile auth flow
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-08 |
|
||||
| Last modification date | 2026-06-08 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Date: 2026-06-07 — FR §9 (email) + FR §10 (registration, 2FA, mobile) — **alpha must-have**_
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ _Date: 2026-06-07 — FR §9 (email) + FR §10 (registration, 2FA, mobile) — *
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Android Cast — alpha priorities (2026-06-08 renumber)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-08 |
|
||||
| Last modification date | 2026-06-08 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | pre-requisite to |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Owner-agreed task order, dependencies, and implementation prep. Supersedes informal numbering in older roadmap tickets._
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ _Owner-agreed task order, dependencies, and implementation prep. Supersedes info
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,8 +1,26 @@
|
||||
# BE services & infrastructure — validation map
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-08 |
|
||||
| Last modification date | 2026-06-08 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Last validated: 2026-06-08. Companion to [INFRA.md](INFRA.md), [REMOTE_ACCESS_IMPL.md](REMOTE_ACCESS_IMPL.md)._
|
||||
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -10,6 +28,17 @@ _Last validated: 2026-06-08. Companion to [INFRA.md](INFRA.md), [REMOTE_ACCESS_I
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Stream dump — developer debug recording (FR 0.1)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-08 |
|
||||
| Last modification date | 2026-06-08 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | postponed |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Emergency debug — not an alpha release blocker. Enables 6.5 (audio lag) and 6.6 analysis._
|
||||
|
||||
**Parent:** [20260608_ALPHA_PRIORITIES.md](20260608_ALPHA_PRIORITIES.md) §0.1
|
||||
@@ -10,6 +29,17 @@ _Emergency debug — not an alpha release blocker. Enables 6.5 (audio lag) and 6
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 14 0 R /F5 16 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 13 0 R /F5 14 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,42 +17,42 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 716.2874 66.58104 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 762.0394 66.58104 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 705.2874 119.949 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 751.0394 119.949 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 694.2874 97.25304 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 740.0394 97.25304 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 683.2874 110.597 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 729.0394 110.597 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 672.2874 146.581 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 718.0394 146.581 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 661.2874 147.061 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 707.0394 147.061 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 650.2874 115.053 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 696.0394 115.053 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 639.2874 65.24504 650.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 685.0394 65.24504 696.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
@@ -62,22 +62,17 @@ endobj
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -87,12 +82,17 @@ endobj
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -102,88 +102,139 @@ endobj
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Outlines 20 0 R /PageMode /UseNone /Pages 29 0 R /Type /Catalog
|
||||
/Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190925+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190925+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Stream dump \204 developer debug recording \(FR 0.1\)) /Trapped /False
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Count 8 /First 21 0 R /Last 28 0 R /Type /Outlines
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 22 0 R /Parent 20 0 R /Title (Goals)
|
||||
/Outlines 23 0 R /PageMode /UseNone /Pages 32 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 23 0 R /Parent 20 0 R /Prev 21 0 R /Title (Modes 0.1.1 vs 0.1.2)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Stream dump \204 developer debug recording \(FR 0.1\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 24 0 R /Parent 20 0 R /Prev 22 0 R /Title (Archive format)
|
||||
/Count 8 /First 24 0 R /Last 31 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 25 0 R /Parent 20 0 R /Prev 23 0 R /Title (meta.json schema)
|
||||
/Dest [ 15 0 R /Fit ] /Next 25 0 R /Parent 23 0 R /Title (Goals)
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 26 0 R /Parent 20 0 R /Prev 24 0 R /Title (Wire frame format \(raw files\))
|
||||
/Dest [ 15 0 R /Fit ] /Next 26 0 R /Parent 23 0 R /Prev 24 0 R /Title (Modes 0.1.1 vs 0.1.2)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 27 0 R /Parent 20 0 R /Prev 25 0 R /Title (Android implementation plan)
|
||||
/Dest [ 15 0 R /Fit ] /Next 27 0 R /Parent 23 0 R /Prev 25 0 R /Title (Archive format)
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 28 0 R /Parent 20 0 R /Prev 26 0 R /Title (Visualization / 0.1.3)
|
||||
/Dest [ 15 0 R /Fit ] /Next 28 0 R /Parent 23 0 R /Prev 26 0 R /Title (meta.json schema)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Parent 20 0 R /Prev 27 0 R /Title (Tests)
|
||||
/Dest [ 15 0 R /Fit ] /Next 29 0 R /Parent 23 0 R /Prev 27 0 R /Title (Wire frame format \(raw files\))
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 13 0 R 15 0 R 17 0 R ] /Type /Pages
|
||||
/Dest [ 15 0 R /Fit ] /Next 30 0 R /Parent 23 0 R /Prev 28 0 R /Title (Android implementation plan)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 662
|
||||
/Dest [ 15 0 R /Fit ] /Next 31 0 R /Parent 23 0 R /Prev 29 0 R /Title (Visualization / 0.1.3)
|
||||
>>
|
||||
stream
|
||||
Gatn$>Aoub'Z],&.F)EaBs)<g^tr6@kt<7D%Gb>774pQV>JSH0M6p'n'6;j%Zt0uX";\`LJ*..@MM!e4ZiIU1i-N=lECf6-I,[M6&&Y4;X2joqrIB\PTK\$;8>m@%GRg&HNOTdL5eL4G0EMjk4SBZF71\it8!spO![Th1?n9(h<^6pQ::\15,_Q)l[Rq<sXbmI_S;33*[E;4?/C'hg$a;*<2UgahVZ"me:r9)2=-1'[nccc,HPs,=a)QrC0G9oN"3P)hi;A#Kmu_!j!Sa&p5,-dBpTWf\pD<^=WH/6BF>]d6ptc#Y6GfM%!P5q[A&f&G4jN9=jo"31INkBrcHIFhAZa,/[/e-upj[_\i30*L(MhOhN6L$);QhUiZ,r6bL'WF=hG*dc!$^Q2!Sl=LWRhL>`YPjt+WYtXg)$Rn<D2oB9F3=WW^=-*%r#,)5IEqTXXjsZA'nJjJN4L$44W^[/4&&o%*Hd4SUiDn>SWY!ZI\6).[O]S%R969j+he.RHr`lq<K@H]bU`WfG-]H>aplmfQ%+QfUG#qE%IsdL/2ngn#VFBbfZgJ)fTWO<7#;:8KNXGj4W@)r%K&uDkHGgOmRT):8NsEEa?C?fGOJm\qGjT#hE0rP]]eU1"k?^Wf4'"X]Dlp3QNs])XGJ4n^..8(2ocK~>endstream
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3186
|
||||
/Dest [ 15 0 R /Fit ] /Parent 23 0 R /Prev 30 0 R /Title (Tests)
|
||||
>>
|
||||
stream
|
||||
Gb"/)l]9f?&c_:6@_NO9#Br9_hi(DHkM/(@l9gguV*U4OL_[I`B_.K8F_A,Gs5$nm6rA?SBn68l@*@%PB6PCYo:)-o+QJ7<s10AhgEg+>,<urFY(:8L#0W'H[s[l'.oO[BFNLb/=Td-Y,[If8Hk1uY>pd!GT`*+oYE1*1QVf%LQ6@lTJsiecM]Y."`EgR[L.1MO4LWs\i(6d>LuJhV">iZX'K?I;9c:$af_s%("EtG`"Y9fZ8N^;*S`e$)d*:$TI)j-3%K**>54qk=2(Uu.nf,EfO8.sKa0[,&B'3jR9!RPoX4QeSYf,D[r51I4Z(RUUfsgc,6@Sb""XpZcaG+Lk2]ik)Dk+eaLVH!"=FRc,PX5lue4a!h;g,$2MQE4TB0?nB8Mt)-5JaR$<Ot(B_2q>n[K\(WP%>I49;nYXck7ED6@+Mea\FrWL%g!hK62\^Laf<//"j/=BSa#QoL)@d*gdmf%n\^E>.d,,$;l/7n([\+F,W9E6(2d__\Ba(pS1H#O`';G1N7&s6-@X*O!?KtPXQYRYkE@2]g7!f),B0&-Q.rn!0&dEr9<kgCQsg53%Hnu\ZRkrT;A(2"cp?fbK;W&?*1YugC*_Zg>Nhh)`J6?Re_2]i5O$N2'6O%ZP9])%Ks+6(MKV-3bd3#D1&ICDV=V]*!Q3ukQ]U[(M%B"`TqY>9lFDS,>4s_cVHdcL7,E2E$6+eha5OQLX;)/mN:8K9(ZF?8)EM;1TgQr/L^iH9*3GYJ!Ae1)8[3K157>=ersW;;0<U!eM^se!m/q,>K_G2KWjVeDUasdU)7i<<4"klItK#cVjsJqN@DBh@Z$D6e"HYF^4c)=?E38P+[[]l\T/<9<7$SQ.n8fX$'te]gjXsYH=]Ij%p16N1[':tmA6h]MM/_?SDAW17iD/a?IGic8t(^$ANo@Nd^C-amtr@:06U?d]@pc7GAakLbSqAt,jM0s4ZE=Zq(#__\2[`:jZ(KEU\-lZd*"lEbLKh,L7?rZj&MQ89=Is(GenfP><*A!+E8"!N(T_j3#YlTI"iH-XVjWC_A^,7L=9\&io*H1]'j!$YW>^"K)OSM^AE1\CQjRHBW^/f*OI^m\'SH>n08CiO8'QJ/qnfK6]@'m*L@'.i1GHrlV3$]?A>>%?,bfCL!AfR*Cb+)!?Irp(?6L4gVYoflhl9_5J<42`RJu4\ukFVmh#rF9BD;RKC?aV!$:_4\bWjboWrq4f9jr[#2OQ7!2$7lo[8^"Hn#=+,5U()"Msr.-E&>9ThR7H5LdTNVA57/_t?AWr*s)-eSRrW%(.0\lBWlejb,AHI=`?n`i,mX-3`(g[?3d*/<"Un/!*q&dE"3na?`(N[Su*E8p%p"#W2UUa=D!^\+Wt_+Xm!7Gg%P.$f05V>I"&[[&tqPKUM&`VIU?'9h>.Kd:"J5e4]a333)niN-Uf4d(Ua"=*RZe;_HjUQ(OOqji@/IkPr7K:8d.>_BcgtdiX2+MkW04?oj!`V</'h3:Xo]>Q&`:fJs+HM:7fo3R>F[]&r&dki?*7&Bsf[7/0h-jb2;f\_%&d4SuL&=k$YAJn&Z(_XNY)0nf`p7hW&gEJXDa)'O9kU"N2_?SUH(<5n&cB,W+JeV'@A<N?@&GKW<6MHa(\DlbgJ>DXhj!`t=g?#rJs/!75:au2840JY@Pf?hj:X"0re<Vm39,!(ZS=<3neMXh(Yk5puo_L_E5(>Y'_;mt#G]\Fn5$%se_'%,(!c6.MX;O@9+"?7?f'7!1kTJ`&fNh,dcG^?rAQcLL*E<LagTa[faf_hlG6[fd:.@Bs6&-WVer!@O&M>E>C0RctD@8IC(pV"U3p\19B]RM#Xkl?#59:eeGa2($L>Y/E<h6WnS;*H:.->ZjI@4UVRFVHBY,<S*uLrD&\MkpU;#,O,4r)qII-r60>_AB,F-94Le\i0FNi>N"!*1Al=M;>9iOBU2_R^C;$["<OcXOK.S_4WV2NB:T@(tVH9-7s6B6b7ZfOCHIG-jR6A9M?XX`'h97`8']4j*]&u9in;ZZMkb_pn$)ZLT2El>bU4h-Ubg#K[1=SI*r7nj=2/`b$\)C9.$ARiD_giP=@B#[rHn"5?Q3V17DT0EsZKL7VNM,lk0pPB=J4:qb%K;(q8fN:Tq`n/>H&U&W`-U0o(VAjd7A<OejmiaIuQX;N^+'HmmQR#1=@)VeQ4<N5bi]<<JUm1^<HK)UOQ15.XW&@+N[A^o+bAA/nU,N5LD#@kOepP-,QYPF%B2LP$.;fdKgl(Q#/IC:q#JUoHsW+/k0t$DuXj4m]*DqI'cOYDV$6'UJX`BEkLKX0LM`#5eE_o7*'=:;YjDd`f:U4eM64OUTNjqk5,*"5935;,D_i7EN0=Xb'OoVQT0igHqU#-^?7qNN^5fUK7K@_VZ*LMsB:]_t+K<MIJCX2.AdBOj@XgiHKk(,IQ0MkB^d'E@=0[=L?2Y:;Y]<s&+%+RONiu3g2<'.i-&V"$FiKen^9IF52"!:b=Z6;J2ci_'2:,6>%R41e[u5E14&?OKR=blu#6&ESr1dU"M:F%1e'@"8n_8fo,<a^!.^l[`mWF-YR6YPTA%@C@"!P+ZK()B?S#JlRDKt4n8HIA/A0)bXAZQXaP3Z-0Og_p".%*IbZjj46q_dYk*n_+M4,%'g')/;'C[if]8hnd$UIuRVqcTOs:aA-d:q,r9OfU_Xie1maTWD3.370f:<,o?J@.Z]6ir8DUKPJ\)ln(e34=aZg5t5l3FeRrTI:qT;h3BdaS0l7>',S@k#((K-E#JqFa0L5tnt$i7G5GSB+&,bO3uPL1u<PT@\rNGOfCfgVLj(C"a?_GF1BD0]@uHpnTuQ@%5phP\O=>hHnts?"]*4\`qRY#o:_)6ZX)%-+[\2OG-?<B^r3Kibf2f/$NU7S('2?ROY;Jeo157OF"e!Q>u!Uf_</t+Yk]/MQK5Yd/F5:Po]+8^8a6]?J6J[fpIG#>'HoI5DktdN*;Rl_Bb.:YF/,22!1R!.CZ]s(GfumUpq8\,+#.S?gn!Qgtr"cH!EPgh:t*$5M\!,[S1qa_h>Wpo>0$g?;%faKuqZrcT4*)!e=ofSE*tPFNo=_$&cGh5S&KD'LX1Z][;BsIq8fQLg>-Y.[lqG^5q=#?2jC,pV&m1[(/\.='V7bhaiB-7GZ9=]PL^Rl[WlGZ[Y!q:/rB&.5+IGK<V=4^B8r`Q[qoBJHG#MX8`0UW&,b~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1090
|
||||
/Count 6 /Kids [ 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 856
|
||||
>>
|
||||
stream
|
||||
Gau0B>Ar4L'Ro4HS4C.#j%F:^@FDTee#H]\P&;pD<>6FA.QCRIkdk-9'*gipTnQbd6"6IErLJ?!Eu7`dR/N*/!,k1@?8,b,_??5n*!edG]<M%)a&\d<5cA'CpqFP!Ob7)n>$^6kVpL9Ii4(#K)*SIrJ5S`)U.7Zoo`GH1pJhe$m0KG0<HMA\bd[K/O*2fL[q'^2NaN;WN0nMrN2lZeErt;@KJ0?!?h)i\j+7r*HCL^kF4h7%_Y'YMs.[<+*F:_5WBZD9.Fm0DS$=N2Be3?Z<G3J]abt;'gYUkA]ABu;4V(,aU+H6hiE'3uBm7D(1_I:I\_;s;+GM,!jZ[%QUN<$M-"q!dWb*0P5Fd;HB<t8UU'^#B9-G$D(\9s\P%R]rioI7DG)<uG*XT@F\.#tCX7nd:_S)c_KmCqg%)t9Sd&iaT#*#$gcdQJE#J9qs[4MK@C'3Xo\j090B!@0ig8Ut0&he2Q^.Y(2he.C<eD1TU-%+h$ALKmbE\gnT/"1Ja[V>Ru#:8h)74);4R*%`S6jma1V?pKsb@m!<m(r7/ddQ\l%aANmdYsj0'0\E"HO7#Ei;1A(:E\`dg>2kO=G;h-27dPXLA*:MMlK,U?ERZAPV=<TDJ1V9?GJMc&K5WI$6[4N'G00`,H&pK1"mpTs%<Qc]N,74'/IX]"1jT'].hJ#m""4^3q%2GNK!475$lS09!?^/hQbQK?h`2@7UO7s02XO:>!%C?)&9V!:iiEjs5O6,*QPH>:Q'7/8#MH5d9K#.09jla;R.qkAqBTrP9`e$e`:_1'`f>ABlO,nIVeuK`-PN=FJDPZU\RW\i1tV]_OgD;2s6Bg^X@2i_3Ws;kS`?^otU%OXoGL[s$l3R$24e?(SEg7,I(;S4l7VR38T)hHs/TO.?ku6_1'gL<Y1Ju]2l_uI<=,GmU7n[^AmDtaKjhGamm&<N@_ti2n"_h4Rdd?Umd_+5uGcMr<Xcna`LpPBJ8bH'^*V,WR;o=(,@dgMFZB**eK3sh).86dAKOo+`diBIbK@G)X^OFCVNso=.9^])nO>&rCsb<JmsjR(=aMF/nLFt&)A^>Bt:LsdOjl;TUdPuml+7G^g[~>endstream
|
||||
Gat=*a`=.1&A@rkqO")$MHX\E@qNh^:$%P*b/kI>a9a9t*XkX%n#+"</7W1/@9Z4'p\K$5[30F7YkhYE!8i16]gk<grYeTg$2t&)oOiYdpbbr!VHq.e(h4D,4@qLf1[YT?3PZV1F5m<X8pCslH^PHn*o%V%@r`^m<Tui+dXfsPk<bBg&)h8cB/YPh/E/64KeO(lGIpGU2PYbOMAOA#.a>gYH%G)-r=a.)bNis5hn[!XH'aJs5LOUH^IG(=rJIAJ&c-?O^VePb!\?^4*:^>p!PWZkY,2*W2;2/7"hU;#f(oRR.DpgS.REG&g8-o1]!N"Rqd@:)'':TOp6\+f`152BL%PmpQ;9Y5n7,s174=keegQ!=ft2piSEJFhnB1@8c:*R,k,jr4!4Ss@nc(YE:1leV]^"c`R]':[<G11&a<J5&:KA)XA<N_%K_[X\'Xl';7[F9C&.3VO35i8C]-;`!ZOsHI5b6tM!dErQ$$MrL35+mu)j@00pQL#dG#=]u(OcBD%S/I@e*roOU7A#G)!(Xp4ed/3"$sQcSC>M!d&e[niINm\Lsn%]8#n'>9_U@n!'*44krboEgQ#C:b4PFT$-qU&(3DlT;>tjthfS;=L/ANnA-aPqBT\@EdHSU(FI-ppA0CE,h5R27dT$n6,_u;=4$rUNrnOY_'<:`M&anQKI@Drm(oc_"dVGJ(dDZ8Q%OZ_\S4Mc-"r<J\[gg"!c!(9S6V\2X2hnb41h>^UTP`Ztb3OSj#%K\*di``;Tc8[O+Cp+D3XDX[X"15?TJZQ!.WL613nD>MG;P;JBlpUdZcks.US6T=%S`#KY>_c-%*C:5?.sIU@LCMb/s]QE\"Gg:!4..b=+Tf~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 576
|
||||
>>
|
||||
stream
|
||||
Gatn#9lJc/(kD)N(%3m5Jb"C%Gdg^FHWd.^V;!:o`#Q)0g*QnLOnS*2S?,oK8@9oTa]JcEH/9'a5h!O:>1N]*)D5q>OF^^=Ag@KW"f?V<H\A;f=\aXmBa.I-6@"]ipX1gjMXd2=iJ!q&!KfAm15,.4PeN"#(o3hj`*aqs@gBkQS"GrL^OjlmX_ld:!W!E#VZZg3)X$mIIXob*GQcPcL`QHFS#QuR.u#7nr6e'-":;s5Gf+h5E&Elq<@HI:B49mhD;$%Ep5s*^7G"t*j>$K8@_&qTklF:/'`<^o.Hk1)J"ac-*6]I)Y-N%rdDL\#K@QVt#4Il9l:kjUeFf\].4^n12",dI+re\b]8Kll\N`U^A_2pSLOnGP)/'udr:2$P3F#HE&C58+JuI.QUm+e/"N'L#N=s?o;B03p71Tolf"KsqdXDBiR@o/3`P)7/]p^N"&$rmeA:"2n9BmhI)3YVKfk%@-bu9;/%o;+%\=;9hcIol?&__AB[^b.0Ht^u4CI;S]0MT+O+d+e#':C"9!O([]r,VoI,#1Z#Ij*oY&lbh9/13HPlG=LH<*JgD"/EUuW*HY~>endstream
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3227
|
||||
>>
|
||||
stream
|
||||
Gb"/)lYkP!&c_:6@_NOq%Q;SnRhlcmF*91H`i*D5H77&D@R[FF-@BArfhm\,n"&Q5'ZHs_'I_<6M*gTKG3?+l^R84+14DdnY8[PU=hrQl!^qUY$A^$CYkS4-MmG'LUnlL^afoki"4K.R7Fk.[n*FO3JYc"O8ath8dUcl,"PVa\I>3rKH6'#]_]m$!W*nbGOMq_Pi;>KDI*EjZ#9I)efC5Ra-:DhX1]eR@)[`)=N2@#L60s&4>_:^d/d%DkJLmD<l.5H9#jD-L'u&_eY6KI)@$g_hoElA+@.Al2oja%BVI%ICj`&I:Z0#f#=)ShX`7j>N_q/jV:H=?=+7iWgK(IrB:h7P,%G>d)5MX#cG4$I/s6\eDir/8>'RD1#B$(aSZ8+jH9ptWX_QY=le[5DZ"&1(G!sGW7)91#;7$:QEpClbVKEemj#]rWq'P2dporONM5CmE>L91kX6-PdjAO8_:"`a7aIc@nP^n5*TU_?EFX!hQ"%(N'm]S*Z*jGB6N4>8_V*gEg*HI=gbG).2-q6'*P\0YUFH&uX.d4b`BbPc+Fmg;#FT,G-qbogS3lGjKSK9SeGj08*"R_?^(j"_n>&18?Udf;<t`q\#`#s/2gfhc<-7^pn?K'WB*$[^30DsO]L+(giimc3ki*A"\pKj3/g_h;VcDI[q]ZV<#ARaE[?/<0fUm*dt4'M4k(C.nA''A]nUb;]iPYOO#Ed;=uQXVJ$?/Mk(pAW.h,SNK.8N!j7G>/H,,\9e<4#9?,qR^R[oQ;l[<HbJ4]baMq:Qf"JaV''kOi48WDd^p^@.X&IB)3+G;fhtdT"\H*2fsF#]D/3q_3?R3q\qpg&-&!`O>S7eM%otn;9CXH&1p'&qCFr)QS=KlOn+%d#lZfDkS&[C_N$uhG:fBY9qRm`V(G8rJY]KgZ]'@fT_3;l*m@:udrCnqH7E#]`)lKe2V`;igr9.^oU=3e]Xe!9(f<hZ8k.>(1oW)7tkK`dgnZA9t3V17U5D_I9EmJ$@>lT]4]=I:ni%P\NecU?:;_DNd0AjP[>i.(R0@O`=*c';bkM18?eR>0e/C$VK;<_!t8)qUY0CV,;/&kGUYej=Pc"XITEUtFVh=XPk7%J$M+o[h1msZ=eg*GfN<pMuJp/W-l>?J)JplU;UNqaHI0#[SPLDV+e3A(kf_E\!p[[RP$]F7O)Wf"dU#+I:3>E%\Q"$/oj%E:V'2u@/Ck4o2\IQEZD`RJu4gTBq"T+R.%96DG6qm-s.!dMoojQ>q%_9_\DY!LI[#*8Aq!'XBbGY0n!n>R6IR!.P>+;iZ?2+'g;$YtXYqOns226G6,(p4t'iK&CA<OXeV[cMsOWLK9APQYLSrs1EnM:#:,9MD`$CEnO4GSoQ17Nf*pU6D^?OFr'%m6cHf.+&@%+OgCE,.FQ!gra8\LS3"$iAR<Y/p'cI&;g-kBO/#\Jski^\eGfRRZR5uUA\&s;GZs5EDYccA^&&.MY:m)]u$7BT(_+EXF/q'/)S?*56(@WYr`tE)^afLSUqGImM*VP!7NC(.lDN1^sP0$^X[8cae_pTQ8j<WU3ZGqejYd<TMp;BdO_F`,LS,IZ:ff&??s9p!dOEQgU!ifKET?LDM@$mh-_-/IZ>[]`T%O"mk[<$/46n;P!a#N.1sclq^'*)YTfJ!?+"r#FZ1kIUUX<(87Se7ge(Ok'Y%TTl_57_Y!gi13SWTt`[JbB?UI&/YHEiT<UCIpMWcak@<IZB']fu`OK<U-QabrSm0>5S+j$TtT>GlY9DT;-<OO3JTgPBdpkGUtp[\Z01,(*HPWV3H:0VNrkF(l4GigWD9q(&Ar:iVs9WbSq9CIZ6.bIZRoq<Q:+R&S6r+6T9"!(eIW'J4m)Wn5MLO\a[4O8<I/e$20oEpmHQT'tXJS_mF`[&8GBqs[8bcjdn[!';eeB-u(=9M-=H5]V<@EqnH$cWWjB+k**Zt"2Y[>2,AnAXXj8P[ZrY0Gg"3![;aLLq#h@X$i@UfOn3-;AQSXWX42X/!fV#,Nb_gjr#5\Rl1*Bp',4dcFti'Pjj:3Og(G@M7]'+l_T2k%9)\QX`3p\kE9joiI6mpUm@b<;"W$.OA^h+VIOYI%!sqZed2Y2sH]-#)as:3YC`bVofmI1nmRQM>P3ehK)H@d0.4Pb;eN=8s>WT(Qe,G_auQ9?[uh-\6\uVH7_Ts)3()@Gaq`mfb8OqA"&?EQI6`sqbiDE7@HU7^0$"*87MdpWWC=!)?]b6%:F)$(r3%a5X24EkXn!g=[Q[!TB]%2EDS)>p'Xn3V6!9[\m"l&?:(Y5p.A.mUG.+&,cVocn_PaX8hA)io_pJB.U/'>'(e4a?U*nKn]RXb!/9V831@Z5ZIYC]/;*nNT(ua:1FHW")/3\g_Of*KHR+78iI:!GrID>BAe^IOF]%_4BrbX,LT)g#m']aS`DL2>7,t=%dHG.,ZgbR.Gu7ie(O/,q?W)j&U.4K>.E^=[3d_`W4]73?=0?ai]EU0FJ48d?j!:.sr3'\@Y*gJilT6P*Y[g&t1*G%nCq\i,0ZT0^"4`!O.s3bM*\9Y-.!.qQ8])f]%]:1[/*X)$_X9nc&-m*Im$h;PdI88\h8A.7P.gWsg"RL0BuBlAAqHlA6eUFgUrKRd"`dO;FuJ^Q\=HNYe:a_Y-+eiQ@4$TNB]Y/10=d$;YJ(Hhp>`kqfNAm]^s;s[!861=XMj?,Ll/9)KNS2^jG8dO=TeU5@[K$hbl5Y$^-F,0mo\b.3][MD01GcLdm;]/l\]4rcTU,Z\u"hlSDB7[]:j+cmFt52i-)jV9rll%[J`UA\pqJ1YhWe@Kf?J;"K"D4:ZsEeWE0N+1"M:.)Cg=%rRY<]mV'-VR,<iQfCERq)oBQtC"cVK:RF6$A',\$nPOe=5WALY:`<d\HTQ69Fd4[fA>`5,,e.2Dmb>Wm/($9XJLt-L7?_Yt't7u:=b.$WhP@#'_&\,Fhs^<J=c^nr)+Pa/I1L];,P,ZF=?.W-mI)aY(Xob2X<ZCqG:%<k'QiLIA)4h:bTnNhn^[jmediAU_1U;JZ7q-1j#^f#dtmf#I)8mbq*hj[,UmUoZ,gLUo[hiI3&e<rG9.P2\(>iLc*)?chcT;-&7PFKV!0So0eX3qCr><mmUmP7$A#=c%2*rQ.:"[$8\u\?!q>D=PR4'S?=$[LT>([noS2-&+k/_u",%G<#LN60Oh7-]$J^fD&Rl[*rn]_VI\u,JV&)'aUT<B*_ZN<^1r3RlTBt`%69sQrO`:"9h;BLm~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1206
|
||||
>>
|
||||
stream
|
||||
GauHJD3LGI&H;*)YoeBc:IYBgcA0[j]jBGeg,(Nu^Nemq@c?@!"\#^MQXAW=(lW$RB/_JrD(P(4oW35.'a4gaC4;?]^oI_ff+]Wc-jAlJ&#)#PF#<`;7(8UI,`YNG#e5M:VB20DC&M#SO[LL>$D'I.N%tm0e:gL[qJ8Qsg^-:Xm.]':FU*m!r8R'nMISQ!.bhWAB'\ekj"@R?fkfPtFoajde]u"<[NE*t&D]YEXS28rT:Iq'1;Y'GF*d&n\EFp@Mo,8@UA,#6n`8D>K]A\6V.W+Ir`lYLX_;K/L8"_mP@>[b8E)c3-VciT\A&akdQCi&+cgNh"[&_>+a[!PDOm@/q5q")c]Um+ftaaK=X%\38f)&SjS(SmB0P3SDWW+eA=R;)"anTfG]#1E&iq@`lHs:MF+`SHO<<Z^]Fl/[6L.;t'n#fD"mBF+bQT2Z1ZlD'n_=qJ,mr'Ea.0reTd+oDhn'I,=lB)im.^Ba7`:(/;cO=/R[VK0L(djHeaqUi'0H*_:,e.N_tl@X$1QCNY_%3'*&Rf;VG6.:Kt>+OiB&R6SkjUp4*\hq5_=LjFgQo=]R[5gJt9Ii$Tn[ZeF,GJ)2.n_qaUZbgk1Q.[Lo_TV<TfiCsk16iH;ei0+414Qirq?XTZ:(0j3fn-RcFIk832m-M7om+1mRVUo]hc!%G&?1"N)"a*i2^ASPM;%`0_A9Y_g9*2gNZ")pH[X[enC\\8Hi27*i=nCc<<U*]02qeuX^U2(1HK[-c8$1(;h!pc1c<##/m?/]n?+3I$RL#r.&hY&3BHT!7tKMm'M1EC9(?6hsnA7Cbl"I<%mhC:cG&k[Y3f'kFd7&_8@le[Yn6X%GZ!D0P^>('*t^L$4`VGE>OGp_i$Dd';9WiS;`3BK2!NFOh[(:mAS'(P7aVKPj$fWaQ!kge5]ierWl-po(boQ(thpE=k."%)h54\C?sHc1%iITuo7XAq6D-mL9pj%6^aJHdA>=oh:jT\3/Rg!".A**eh(G$JHrr*<l;<)HkZ]bZ8[JH0^6QhpE]X@/M*JdSPhEN(\?IP=JF.AVt[WBbh\7A@a&>M;]>K#e7Q@s0o-hd_L;josUMPm5jV.r;)$buFtOYe-Br0l;@+?hX1^:p0EFT_]b=)c:22K,nMj/N8Dfm,7jKc9[[ci)(D3YhqOV2TD-:>JfgIc$(n%6Yr"2-U+B#$/q6rj79m+@.YPDYoDL~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 33
|
||||
0 39
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -198,35 +249,41 @@ xref
|
||||
0000001386 00000 n
|
||||
0000001535 00000 n
|
||||
0000001651 00000 n
|
||||
0000001919 00000 n
|
||||
0000002025 00000 n
|
||||
0000002231 00000 n
|
||||
0000001757 00000 n
|
||||
0000001835 00000 n
|
||||
0000002041 00000 n
|
||||
0000002309 00000 n
|
||||
0000002515 00000 n
|
||||
0000002602 00000 n
|
||||
0000002930 00000 n
|
||||
0000003004 00000 n
|
||||
0000003091 00000 n
|
||||
0000003206 00000 n
|
||||
0000003315 00000 n
|
||||
0000003426 00000 n
|
||||
0000003552 00000 n
|
||||
0000003674 00000 n
|
||||
0000003790 00000 n
|
||||
0000003877 00000 n
|
||||
0000003952 00000 n
|
||||
0000004705 00000 n
|
||||
0000007983 00000 n
|
||||
0000002721 00000 n
|
||||
0000002927 00000 n
|
||||
0000003133 00000 n
|
||||
0000003220 00000 n
|
||||
0000003548 00000 n
|
||||
0000003622 00000 n
|
||||
0000003709 00000 n
|
||||
0000003824 00000 n
|
||||
0000003933 00000 n
|
||||
0000004044 00000 n
|
||||
0000004170 00000 n
|
||||
0000004292 00000 n
|
||||
0000004408 00000 n
|
||||
0000004495 00000 n
|
||||
0000004591 00000 n
|
||||
0000005538 00000 n
|
||||
0000006205 00000 n
|
||||
0000006433 00000 n
|
||||
0000006661 00000 n
|
||||
0000009980 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<3b9b84c2007c5695de8ad1fc8eea63e2><3b9b84c2007c5695de8ad1fc8eea63e2>]
|
||||
[<d5199be1b9289b743a4b5a7e9d5e6fce><d5199be1b9289b743a4b5a7e9d5e6fce>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 19 0 R
|
||||
/Root 18 0 R
|
||||
/Size 33
|
||||
/Info 22 0 R
|
||||
/Root 21 0 R
|
||||
/Size 39
|
||||
>>
|
||||
startxref
|
||||
9165
|
||||
11278
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Android Cast — exposed services catalog
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-10 |
|
||||
| Last modification date | 2026-06-10 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Validated: 2026-06-10 after FE `apps.conf` consolidation + BE sync. Public base: **https://apps.f0xx.org**._
|
||||
|
||||
**Documentation index:** [README.md](README.md) · Companion: [INFRA.md](INFRA.md), [20260608_BE_SERVICES_and_infra.md](20260608_BE_SERVICES_and_infra.md)
|
||||
@@ -10,6 +29,17 @@ _Validated: 2026-06-10 after FE `apps.conf` consolidation + BE sync. Public base
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
@@ -41,7 +71,7 @@ _Validated: 2026-06-10 after FE `apps.conf` consolidation + BE sync. Public base
|
||||
- [Publish (operator)](#publish-operator)
|
||||
- [Heartbeat (device)](#heartbeat-device)
|
||||
- [Auth & account security](#auth-account-security)
|
||||
- [URL shortener (preview — not deployed)](#url-shortener-preview-not-deployed)
|
||||
- [URL shortener](#url-shortener)
|
||||
- [Non-HTTP services](#non-http-services)
|
||||
- [Validation scripts](#validation-scripts)
|
||||
<!-- /toc -->
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 33 0 R /F4 35 0 R /F5 36 0 R /F6 37 0 R
|
||||
/F7 38 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 33 0 R /F4 34 0 R /F5 35 0 R /F6 36 0 R
|
||||
/F7 37 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -18,147 +18,147 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 716.2874 115.501 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 762.0394 115.501 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 705.2874 88.37304 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 751.0394 88.37304 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 694.2874 97.26104 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 740.0394 97.26104 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 683.2874 123.037 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 729.0394 123.037 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 59.68504 672.8499 120.135 682.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 718.6019 120.135 728.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 59.68504 662.8499 109.2825 672.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 708.6019 109.2825 718.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 652.8499 133.4625 662.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 698.6019 133.4625 708.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 642.2874 71.02104 653.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 688.0394 71.02104 699.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 631.8499 120.135 641.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 677.6019 120.135 687.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 621.8499 103.4475 631.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 667.6019 103.4475 677.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 611.8499 164.295 621.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 657.6019 164.295 667.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 601.2874 71.91704 612.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 647.0394 71.91704 658.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 590.8499 120.135 600.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 636.6019 120.135 646.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 580.8499 155.9775 590.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 626.6019 155.9775 636.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 570.2874 100.813 581.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 616.0394 100.813 627.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 59.68504 559.8499 120.135 569.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 605.6019 120.135 615.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 549.2874 125.709 560.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 595.0394 125.709 606.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 59.68504 538.8499 120.135 548.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 584.6019 120.135 594.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 528.2874 87.92504 539.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 574.0394 87.92504 585.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 59.68504 517.8499 120.135 527.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 563.6019 120.135 573.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 507.2874 82.58104 518.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 553.0394 82.58104 564.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 496.2874 92.82104 507.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 542.0394 92.82104 553.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 59.68504 485.8499 82.20004 495.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 531.6019 82.20004 541.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 59.68504 475.8499 119.2875 485.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 521.6019 119.2875 531.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 465.2874 111.485 476.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 511.0394 111.485 522.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 453.6874 129.725 463.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 499.4394 129.725 509.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 443.2874 97.70104 454.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 489.0394 97.70104 500.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 432.2874 115.469 443.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 478.0394 115.469 489.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 421.2874 106.149 432.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 467.0394 106.149 478.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
@@ -168,39 +168,27 @@ endobj
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R ] /Contents 76 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 75 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-BoldOblique /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F7 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F7 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Contents 77 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 75 0 R /Resources <<
|
||||
/Contents 79 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -208,9 +196,21 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R ] /Contents 80 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Contents 78 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 75 0 R /Resources <<
|
||||
/Contents 81 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -220,7 +220,7 @@ endobj
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Contents 79 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 75 0 R /Resources <<
|
||||
/Contents 82 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -230,7 +230,7 @@ endobj
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Contents 80 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 75 0 R /Resources <<
|
||||
/Contents 83 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -240,214 +240,265 @@ endobj
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Outlines 45 0 R /PageMode /UseNone /Pages 75 0 R /Type /Catalog
|
||||
/Contents 84 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190925+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190925+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 exposed services catalog) /Trapped /False
|
||||
/Contents 85 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Count 36 /First 46 0 R /Last 74 0 R /Type /Outlines
|
||||
/Contents 86 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 78 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 47 0 R /Parent 45 0 R /Title (Validation snapshot)
|
||||
/Outlines 48 0 R /PageMode /UseNone /Pages 78 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 48 0 R /Parent 45 0 R /Prev 46 0 R /Title (Hub landing)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 exposed services catalog) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 49 0 R /Parent 45 0 R /Prev 47 0 R /Title (Console home)
|
||||
/Count 36 /First 49 0 R /Last 77 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Count 3 /Dest [ 39 0 R /Fit ] /First 50 0 R /Last 52 0 R /Next 53 0 R /Parent 45 0 R
|
||||
/Prev 48 0 R /Title (Issues \(crash reports\))
|
||||
/Dest [ 38 0 R /Fit ] /Next 50 0 R /Parent 48 0 R /Title (Validation snapshot)
|
||||
>>
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 51 0 R /Parent 49 0 R /Title (Related endpoints)
|
||||
/Dest [ 38 0 R /Fit ] /Next 51 0 R /Parent 48 0 R /Prev 49 0 R /Title (Hub landing)
|
||||
>>
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 52 0 R /Parent 49 0 R /Prev 50 0 R /Title (Upload via curl)
|
||||
/Dest [ 38 0 R /Fit ] /Next 52 0 R /Parent 48 0 R /Prev 50 0 R /Title (Console home)
|
||||
>>
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Parent 49 0 R /Prev 51 0 R /Title (Bulk / synthetic issues)
|
||||
/Count 3 /Dest [ 38 0 R /Fit ] /First 53 0 R /Last 55 0 R /Next 56 0 R /Parent 48 0 R
|
||||
/Prev 51 0 R /Title (Issues \(crash reports\))
|
||||
>>
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Count 3 /Dest [ 40 0 R /Fit ] /First 54 0 R /Last 56 0 R /Next 57 0 R /Parent 45 0 R
|
||||
/Prev 49 0 R /Title (Tickets)
|
||||
/Dest [ 38 0 R /Fit ] /Next 54 0 R /Parent 52 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 55 0 R /Parent 53 0 R /Title (Related endpoints)
|
||||
/Dest [ 38 0 R /Fit ] /Next 55 0 R /Parent 52 0 R /Prev 53 0 R /Title (Upload via curl)
|
||||
>>
|
||||
endobj
|
||||
55 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 56 0 R /Parent 53 0 R /Prev 54 0 R /Title (Create via UI)
|
||||
/Dest [ 38 0 R /Fit ] /Parent 52 0 R /Prev 54 0 R /Title (Bulk / synthetic issues)
|
||||
>>
|
||||
endobj
|
||||
56 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Parent 53 0 R /Prev 55 0 R /Title (Create via curl \(session cookie\))
|
||||
/Count 3 /Dest [ 38 0 R /Fit ] /First 57 0 R /Last 59 0 R /Next 60 0 R /Parent 48 0 R
|
||||
/Prev 52 0 R /Title (Tickets)
|
||||
>>
|
||||
endobj
|
||||
57 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 40 0 R /Fit ] /First 58 0 R /Last 59 0 R /Next 60 0 R /Parent 45 0 R
|
||||
/Prev 53 0 R /Title (Graphs)
|
||||
/Dest [ 38 0 R /Fit ] /Next 58 0 R /Parent 56 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
58 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 59 0 R /Parent 57 0 R /Title (Related endpoints)
|
||||
/Dest [ 38 0 R /Fit ] /Next 59 0 R /Parent 56 0 R /Prev 57 0 R /Title (Create via UI)
|
||||
>>
|
||||
endobj
|
||||
59 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Parent 57 0 R /Prev 58 0 R /Title (Fake session data \(dev / BE\))
|
||||
/Dest [ 38 0 R /Fit ] /Parent 56 0 R /Prev 58 0 R /Title (Create via curl \(session cookie\))
|
||||
>>
|
||||
endobj
|
||||
60 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 41 0 R /Fit ] /First 61 0 R /Last 61 0 R /Next 62 0 R /Parent 45 0 R
|
||||
/Prev 57 0 R /Title (Remote access)
|
||||
/Count 2 /Dest [ 38 0 R /Fit ] /First 61 0 R /Last 62 0 R /Next 63 0 R /Parent 48 0 R
|
||||
/Prev 56 0 R /Title (Graphs)
|
||||
>>
|
||||
endobj
|
||||
61 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Parent 60 0 R /Title (Related endpoints)
|
||||
/Dest [ 38 0 R /Fit ] /Next 62 0 R /Parent 60 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
62 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 41 0 R /Fit ] /First 63 0 R /Last 63 0 R /Next 64 0 R /Parent 45 0 R
|
||||
/Prev 60 0 R /Title (RBAC / access control)
|
||||
/Dest [ 38 0 R /Fit ] /Parent 60 0 R /Prev 61 0 R /Title (Fake session data \(dev / BE\))
|
||||
>>
|
||||
endobj
|
||||
63 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Parent 62 0 R /Title (Related endpoints)
|
||||
/Count 1 /Dest [ 38 0 R /Fit ] /First 64 0 R /Last 64 0 R /Next 65 0 R /Parent 48 0 R
|
||||
/Prev 60 0 R /Title (Remote access)
|
||||
>>
|
||||
endobj
|
||||
64 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 41 0 R /Fit ] /First 65 0 R /Last 65 0 R /Next 66 0 R /Parent 45 0 R
|
||||
/Prev 62 0 R /Title (APK builder)
|
||||
/Dest [ 38 0 R /Fit ] /Parent 63 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
65 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Parent 64 0 R /Title (Related endpoints)
|
||||
/Count 1 /Dest [ 38 0 R /Fit ] /First 66 0 R /Last 66 0 R /Next 67 0 R /Parent 48 0 R
|
||||
/Prev 63 0 R /Title (RBAC / access control)
|
||||
>>
|
||||
endobj
|
||||
66 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 67 0 R /Parent 45 0 R /Prev 64 0 R /Title (Git \(Gitea\))
|
||||
/Dest [ 38 0 R /Fit ] /Parent 65 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
67 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 41 0 R /Fit ] /First 68 0 R /Last 69 0 R /Next 70 0 R /Parent 45 0 R
|
||||
/Prev 66 0 R /Title (OTA updates)
|
||||
/Count 1 /Dest [ 38 0 R /Fit ] /First 68 0 R /Last 68 0 R /Next 69 0 R /Parent 48 0 R
|
||||
/Prev 65 0 R /Title (APK builder)
|
||||
>>
|
||||
endobj
|
||||
68 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 69 0 R /Parent 67 0 R /Title (Layout)
|
||||
/Dest [ 38 0 R /Fit ] /Parent 67 0 R /Title (Related endpoints)
|
||||
>>
|
||||
endobj
|
||||
69 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Parent 67 0 R /Prev 68 0 R /Title (Publish \(operator\))
|
||||
/Dest [ 38 0 R /Fit ] /Next 70 0 R /Parent 48 0 R /Prev 67 0 R /Title (Git \(Gitea\))
|
||||
>>
|
||||
endobj
|
||||
70 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 71 0 R /Parent 45 0 R /Prev 67 0 R /Title (Heartbeat \(device\))
|
||||
/Count 2 /Dest [ 38 0 R /Fit ] /First 71 0 R /Last 72 0 R /Next 73 0 R /Parent 48 0 R
|
||||
/Prev 69 0 R /Title (OTA updates)
|
||||
>>
|
||||
endobj
|
||||
71 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 72 0 R /Parent 45 0 R /Prev 70 0 R /Title (Auth & account security)
|
||||
/Dest [ 38 0 R /Fit ] /Next 72 0 R /Parent 70 0 R /Title (Layout)
|
||||
>>
|
||||
endobj
|
||||
72 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 73 0 R /Parent 45 0 R /Prev 71 0 R /Title (URL shortener)
|
||||
/Dest [ 38 0 R /Fit ] /Parent 70 0 R /Prev 71 0 R /Title (Publish \(operator\))
|
||||
>>
|
||||
endobj
|
||||
73 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 74 0 R /Parent 45 0 R /Prev 72 0 R /Title (Non-HTTP services)
|
||||
/Dest [ 38 0 R /Fit ] /Next 74 0 R /Parent 48 0 R /Prev 70 0 R /Title (Heartbeat \(device\))
|
||||
>>
|
||||
endobj
|
||||
74 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Parent 45 0 R /Prev 73 0 R /Title (Validation scripts)
|
||||
/Dest [ 38 0 R /Fit ] /Next 75 0 R /Parent 48 0 R /Prev 73 0 R /Title (Auth & account security)
|
||||
>>
|
||||
endobj
|
||||
75 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 34 0 R 39 0 R 40 0 R 41 0 R 42 0 R ] /Type /Pages
|
||||
/Dest [ 38 0 R /Fit ] /Next 76 0 R /Parent 48 0 R /Prev 74 0 R /Title (URL shortener)
|
||||
>>
|
||||
endobj
|
||||
76 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1045
|
||||
/Dest [ 38 0 R /Fit ] /Next 77 0 R /Parent 48 0 R /Prev 75 0 R /Title (Non-HTTP services)
|
||||
>>
|
||||
stream
|
||||
Gau0Cd8&FM'Rf-pmaG.4&Rm+_d_1pKChRMJ+Rk%@\V["ddl=\)1B)_].29dP\]@^F</OtRj)a[smi`8%6i)#3"?=J2s,[5SOC&'GK,F/hR,g=nGKB0qQj$($_AL]X%Dlcqj8X'X#W!C(#_H`WKP:WVb31N+TW`NX9sT=A+^ZDr"i<;+8im"cdNG8mK]@=aK2Goh,tf(rA)W$f'Z@1E),YttH6ir-T\u,;l=q.++-=6k]g#R`_Vaj.MKD/dG#+Q\A=*pQr;2k''X0H3dd]h9_X>;r$ms<i>-gCS3B$>61d/_MMH@+E<iUI/7RNX2KaAC,gVXDp=W5X<m7BN*+X3B^m\(c^-5Q5;(5&.'.KSfI$<:;->N7s[1M(q2kYBU.f9GpkkP%$*RQ"i]X93ngq830]cCj0>.I4$aj!I.Y$[8[eUJU]q=pbMmlnnfn')9P8()-FO:hXb/TLGW_2&Ek7,gu'OO;R26@LCc!S9cM0U>crH8^q=HUf68!M-gU&9r3(@/'4JuFlbl=q'C",<X[ObF&Ui(Yd+8^LW=s:*;[g6>S[_+Ujf[6VXFY\IOU5`5RMo@S/jW*PQ(jEjW@O"&]SpJ@A21;$CA&/_kF8-po&HoGDH=D[YOLF#V>XAiK,\qgkh(.'$"+=@YM480QDt:P51!PM-)6$$=7+miM$J0*nb`kimc`F%n:%CID,Hj-.0lo>\;CW%"*su'42rBVOq;Jb,Q00!LIV`l[.q@o6(7.ZiJodE0mkgLYb)>YPAIX##!k8qMhiKEF0@WR,=jnU%=7B^UVa9<_7*00*\EgRTlVZ<)<Gbhh#W*_cq).hP-ui,/>6Xid[`)(Z/U`cOalo[<$TA*B:($/RAI&&PIK2^`iF&PG<+#F?UW1QV5<<YNWlq62mVD]h`o;h)JRCFQ0F[G\I'`/K:%_-72TOOGl;;Najo$jEABj/:[<5nt2p_(ZKj]i'Zl2^7S.qcB#u/dpQ=]XZ`OT^P,;2$No!Q00n)BrG[R@S[]HhJ=U2!S$qR_(62OkCL.%F$]MV&*pjhgIKLXV!/C~>endstream
|
||||
endobj
|
||||
77 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3471
|
||||
/Dest [ 38 0 R /Fit ] /Parent 48 0 R /Prev 76 0 R /Title (Validation scripts)
|
||||
>>
|
||||
stream
|
||||
Gb!#_=``=W&q9SYka/F!A8I.tiDaPBaZ/g&SAZ'i].^=05nkS!VFV1_q:LK$mG$PFP2ZMbREUt,9-D#>j6K10]?sJ@`ZHN*lYZa[b[L?C!C__<$5?do@=A@ro92C6P^K9E8>^7F3`rgB)4I>\He=<2.O?Z@117g"7HU4D85TJI'9io.ED5KP1L@u[T>^Ji,b`D&:hA0>PKbmP#-pj7%.>h,B:+096@)+76DB9-DA]JGkP55o^h52l.=#>%^VH<H?r)>(_=_^)HS-iTUZVe<,CaKm,S<,1:/e/Cq=.;hj)p![Pd]a.3#]Ql:FdWDABDF%&a:.*9"$#r4Tf4dedT6=J7V<P/DE;iF@e:5Sgech*7,7dU2[*2C*k_oD6MAo\LJd5/.5"e2IRd0MJ>_+qg<-W9baht1Oe!\k=s@Q8$\,%b,0&Mf]G)h;&H'k9GbX\UVUungt7Mt2SIEOl?5I3)3+)JQSOD73]T*8KO-CKY`&q,P&.1fTn0""VJOp.=bc5*>\-\4rgKP?;B8>/<"mOk%:T[F(J'bi'OrttD2a\le=l\@]S1tC.HBG5.*M0(A_T7tYbbE-68`MOgCDg8h0/^2FPFVM!hpFCP&>"BeP,9CotV,RBHM:A.294ahH[Ta$4\F;H+Td<?)J#ZL+161ll8CglPJ>BOH=]]]6C(u3tfuMNgX9nPoJeb,krGK!DKm)AlYk;?LAR1E!aqBX)tnST9<S"LYgH*/@gc"n/HM6W;q+:=##,9<p's5McO%1>gDNaGk<l@Xl5&tBdA.G\WN[=58U:!Q9oZBYe3hE,I>C'Pm-Xr]aAcW1g)EU$`hRI@CEo3LMJR,K,b2XK`$6lU(%c$>);eodd*.3#gf>lrsOCdSZt/hfm3R[`kt%LOZp^/_<D?C4IYlV&7s$)Xj(2HEDdu37(,OJ4V<$&Rcj-NDG=t!=J+c[_;11qT`-WY6KIHff"F0T'/Ih1R'MArHn'PS@?8V?(lbsp/T^`Y_YpoXmWT>b*[('GggQT6Z<eV7JXZs8EHoPg5/HF>?35rsDaiFa_AHdiK)<6JmtYd!Bf*qJ4iY-BIIhN@gk:'E_c%1kOWTbJYi,0)@&="$h>jj16B]EZAlD:K->G1&rPa.dQ@g.cM/n7pj[2Vf`s>rs#1oJ[F8.Hdr2Ea;7lYo2eRLn%JE8595=63U@^`&N1!%:W'Sk'hNa>;9G99aj7X/DWoLB65GA+K;d]^.+g`;#`r4(S1^G3`#A,[%2EMFBY3'G=XQGpR/L1f4Us8SMaK-CRfLhO$2K)un/"!\4X"n;VC^R[p(C?^HSc-J'3:F$#`aun!nT.Stq+(f5R>j[VgO6+O"b)d*"4ASrD_IhJTm:mI:Q<fAKlb[8e-.h=CpY=G&[0Ko)LS\'6YZ5ep!N<5.kISNPS`_KGFcHia'gp/DQZHFjp'>B<R40-E0,m@[mp-5j_pTgJZ+G(WL5Ajj"$4sl93(PRT;F#pSE8h>:Li2G2l_akOs^M`?,A)`rUAc^(I:G%[l`]]B0fHg*h.?=+IR\?,upbS>tV`=+*q72OR,i,!0:j"MZ_OXU[#*q:L<VIq9k2KQ8MUFmOn4llk4cY$s@T\[C#a*^pE8fR3!`YS/RXnYI25W`Z-1I3WF>(^c(^SJ8lWRk1oJ)S`G6T"E21cji(HLD1bR?@gNU[QCH?>#Wilmqj[*Ds$FP@o<ed5$b?[Tg)T0oM4YC;56YR:,*"_\QAt-T0\?PoTQ^>>13?PVc)_4cK8.0IKu*G]?/olkp?S2oTPs,-6[a=E4ea(H*:jSe[R$?s'_4Y@6K_bi?#e&91Wdm`KaaDj57H*kJ(I1\NAV/,i4k$a7t;O2l-&u1.!1//&iQY)*c@7b*]CBaUaGn*#E,-9"`=pY<8P<V2!0(s9/\XL-6%3`jMsW=5Dfk;^2GgADc-#<:D"A)pMbUS/n9lL\9A)*7(+Aae@P+<FNZ';N4_osgb"%pD8^[d&`$D3[=+X!CF$<eYlCGU"8-KDo,F;:hD;+R>mq3\W/i4<UBt#emESM?Lo`%u)s7$rc?,=:5jlJ_K"G!Ohe&;3;g@aWVsk5:G*JQ7giJS\I`\mVVsoCX_h8)2?/-g*O=/3sQu*+HNcOm(@<gt_6ZYWMg['BK%r>^1VqQ\jl[hma1_ob'RcRM!*4UJSQ,0LEh*0uDaV_\5HLC0_+cj<fq$eppYi@s>mPTl#+Fc5:mO(uLAfeV]G5l-9ArR7\AdKO;me$AHH5IqOlF$DcDPhcS)UH!N/]<1Eha_NVCs?S@&$mK*pKDV,+EZN-(:@)[C-R)bfNGqo[c&g(LG:Vr;uYV]FH?XbcdA]82fq^O([r-N03LJ"4tePCZ6fG%0mX<DJi^$*nD?*(TB+$]IXMJ.8+'NB1g96<n:rTh34^*]*_'5PTXh7J@&o5bNEVie*#FX$1UT`JH$<mTW`c4[3'H@`RV>C*A+jQ>MdTLu"J_SU=AiJhJo:=OZ@r+p\;qaB_aM;ndkD=k9r0pLehBcL#)mZtEj#X)@B9Aa-W2KeBqOTZG^IC>qtn&s+'rrQdCUdicJp)J`sr30APZWN^Bder4^'(!H'Odk$n(']4"oF&:\4ZMrk7=]nRkGI.(m<]J6][0H_1n&"Xn/Z6o`e;l^HX9^M54ZJ<>_NXT\/f6&)IgMi$Ak)O@2,:\s+:,3N0\CYc'W2,XhEZ,^>T&qn*M2V^%.5i\i)Q`uLf>st%.`R@uLTo*m);"P&s"%L$B-0"Zd;P9'_Y"(bDWiC56e]n3($[<]kTN8'_I9sSn(c4aV(\Bsk3;QB2Rq7Ekg8V1hBoR/CecN2Z=5Omui3SpukSi#[#gj])r7P(cMTC3lc&r#sP>0[CHD%[S;5D6o^<"j$PIRWlOsukjn]`jDh*-s=8\49P`t5uA`DO^F#FTgQUWB5!rqUDoJ-<k**kIj/(Q-Re8j+X4\ikRA-r069R2n$l_S9]c:M(el#O#d:D'^hj=T?Dlf/";WZaN:p#\l'eh+X-o),Krk3r-T:-6AlVlMc6u(E+(9Gg]Y79;X5c:XWKs\dIj0jGr2S=g('p%a^t0N6tkB<Toj,88dtU/J#OOR!aQfFe!j!PPuKjEqrrs:gHe"NQp[E0/7bEVbT_'KDS$44K+o='3a"-&fFK6kCj:hnC>nR1KZ=k1u;d9f8PLl"Eit[,mj+ZouIRt5.;afN[)tAkZP7JRNF(?6f7;KS_+Me`A>t3.#91('8"#\/q&[<.&=KCE=_tLd_@!X6&;2Gr4q7"loM]u,f)0I9qPYBTj%-3$;7V-UE%o`fMNg1j-!T&`kJIiWDuqXql1"(<`NSqX"'&H^P6lYIS8'E[7^$p7:XZQW]HOtnG]_un(2YEP@p<a.iLj+B*QSrf[b"PZST'uRem,\UX63Dmu#,J!&%4]\@/a;Zi08Pk#_C`P$fDZ9k)PEUJ;E(,I86iG#j_(H?SiDW2)ao'ka^7?=.!NlM<__/:F&Gb^C`1jKS=o:AtLaIq3O~>endstream
|
||||
endobj
|
||||
78 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2900
|
||||
/Count 8 /Kids [ 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gb!;&CNGt9o"0B?QSs1kp**mh9%e7P3Jf]\<&S`*D;A3_Y#JmJ8_=:SKAq-"oA?_V&4.506*]lUY!`]Ie*lPcmX]nCIjFpK>lqYUKDIA)U;M3[`)KDI^P0#adAJ3e5an!J%kZ$/a*&0A(n%o%kkg9kc(\`?e!,+o1ndEC#+j&"&0iW\ka#\oG_n7NYf5W2L4Vblj8#a>hNEUD)@W32qAr?Kr:PD#H.mTPj(fM3!<)4Z0Gr/I%Z0X?mg6/\_6K0-3(hUJ^,gfm3-1$WQ`%T)]KPSsT.l[tb5pBu'#9$)_VcMTnc!QfO=s?^cVth[l7*8fl7)6ImVOTY)#OHU0;C44@6,7_`U#V33"C>&VLB5Zf/sD$OYPpa%^,_k-?nsg_&<>hmR+>K9Z;"-,BVNG@$umY!.:g20NTFF`:)I)>XP4+[Dnp?qKG/Y>U&+LkQY28(_U"r"DFEUU!#E'>]g_&(XlWG/5`ULHc&0Gj_j(u.9BHfe*.k"9a_-p`Kk2^]Gk#nn&'bO@EuCnUYH/6]Y@PP2kU5e$e#8PI2@:V=,]dK-$H99/ZS$Xqc,NtNW\`[@8\"/9^aauc$U:Or1<W[E/o6AGdL(J<m29qqp/Grh7uMc69g`g:KHG&@$p/h".V)jIrY1"H?sS6/3QEg2k&Q=&UE3FNM<r.l=SMpq7QCL"am2(cb0+KEl6J[W2OTu4c'h:9K?K?J]nD:#J#MLp;m)2#8koM/8,YOc65pGCkhpjA&!-03r>Ot$>pRK-t%S,2bT^i3H*92P]XJl1>2hbD/8J5g7BNWLp$(0/LSP<ai?U5q,CgYfqtm=N?mqk=0J\!n*K=b?"8dLNVRW1j)</,RJ,a#&g_TR;JG>@OmfgpUJICJf??t\8;.ZAVp@Q=4\;K<2QR\-m.Z?tk^H/CUM#$8Kp;-IrZg2faiuAmDF'X&-N0C(F2%)<#/@Xj79$=?/Qk[n:M$&IO;=P`#M>(g^r+\)%.eHaG$6CVH\giHZ,"kE)et6ge.'S$`>I9s1Bb\%oT;_`8KWgi6Oh]g.6>jn(_?c^#.#B_V>+94fM3*=Os)ZUrjuKJR?^e9c:sZ8]a89mAtn\34<,DmfXCP62&h8'K3)uUZG`6oE-gqc7),)()/+OtDTnCl/^McN%&5@<qj""9aD5o566'Qmc>j3UZbd;YOm@b)fU@4"hl!N^4_$3?7klmF?k5MMYtF#3ZPr8sHEj`!fYFd=8=EPAYKt3$#3_(kU2*dI?:?VS"P<4;g2.NQJtu$.'$jWQZm>"d*VWd1Vm,W35d!hVX-uGu+JF;&gk@^PN9(I%FV@6f;C#h:p5kI(5^RUnr=W\W=tZ.4h&LbnB$n^FR0>P.6^_L#HO#p,9!SQDdN/(#EE6Q3"cb'QR2o<Ga[F/ON&&g&bU-<rqJm@6P3O`RF@Ro4&!s.MLuo8f]8Y].O(/TFpi(4'=tWHX@+?cQP"8/fQpJ<YIYfha?.lI`QM!5'0R"Ra*CEg<Q'SA5l9"AU-.cRKk`5Kr9rY`9VC4K/3t,S?51??+.fJ=$FGeM2p;k49g`04t*G1Q(W3[b-QBp3lBQZMcj_XLT-BUF<+7VVbN;?Or)eRp3NE$n<]YT*L8'4YP9T)17pZ(Qa`IcjMNaH\(9JHt617R!dfRBr&!%T0DLdW>X3ebIl$B+lJ'Fr;8XRW>i3%UuK2D)5.L%Te(#"RtcXO/O33*K+F>9'"L#4sMDqO0MiB'u+>LN9V]=4]sQhh_)KYaIFD1H3%80*gh=%rJEk;n!Lr*Z;)>5uZ6*JBlE6,'t->c/6h@pSEi-80L^7jBJkO=h>bDPHX>b(Z!%/4*D!kNO**\jPr*(h"$cE%9cNWqf.mY$T%Wprn%q=HKMMM6IC7HBG;B1YhAdlHK'3%SQQ(p=@>g5BUIr-k5fnhFNNJ5ik/,3buD8f`%iEF4(O\7P<R;[3k/%/j0Qj+#mN5]A3fkBe0HWtVW.UGjIe\_H/uY!rHP'69*BDC\J.[4-/G)Ije\pa]dF*@K>CR`<*Z4/4?-YeQ@rq_'C%1Jn1QNXr&.0[I!E<<CW6.i%rl"\WlI<(i@5*O8DPX9E<j*uD(@UBUR1gk^j==R_OJJ$;X[cW.e21#?d4aIR2Jl7MnD-!KhnG%lokC3+$JN!(V-m2l[W<HT_dY_Nhc&Z_mX3Rp[qYi+2oe45Sq<X<nCX#@_JuFqHDpdEX@.I7.dqCWR7+>SeK%[NW/b[^"UcdS':rA>lo,\3-q.BGTh&1UKb=(23[f2>TD!E2H:&I`AWq@o3SLLE]Xkj'&Vg/i@_a"B]=kA,-a)FV09)3j%gZA<:"qh0"M=\4T,l)K['f/_u51;kb>5iC1>@G]c4$t9GjIM0XtCBnQ_-5R?5liKiCp9pbY8\1?t62[tt&$[n=T=P1t&[A2W3\rV(5.G*hLOEfncjZhusYGMI5j.,FEBlRg9Z=N+X#)A10a7hN[h.]qO)GPm,]s(B=Ml$T),H+(?:_<oM/qf`QSo?0#2%P7JB<gdhaOsJf$#Lqi$1Ic2GbF1n=4bH8j6c[l?]'%bU6Hs./Q#*ufPP<l`@6_0=M"3\1CTDil*4ZPF$.mrTW1\F'$G8dZ>_&0ic1Q98h-,7@b>Ru[88lbV#\%f]JF4NMAY'8G^Ka#:XY>B]FFato"Vb*eh=U7&$F=3l%mBW_WQ)UF]h88]c$Y_sD1JIs6m9.m-Jn`tiFdJS@%H22/-YjeWW5tn(M>M"PiH;]8XE>t0Nq'te/$,S(--"N9/%PbB.1T<CVOF(^K-7$]IX\'m+4'6`@NIpS7'o&5f;^f=G\3n6q+H%OC@Cj?+t]T7Vg:5"W:657-`[NEkVMl`.#c3<t(+U2"@Ph"kC8sE4t:[[>ABBQ:UXO^K@i57.?:t+UYf9pp)dKq^J*F;BN@$\jAm]R#;);rs&(:ds:~>endstream
|
||||
endobj
|
||||
79 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2787
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 862
|
||||
>>
|
||||
stream
|
||||
Gb!#^lYkfA'*"Q<@_NhD('u9a0.T;lE-ARK2V3(](W?CU%,#6/D.H57kWJ9Ps8*6O=dEX@VX/2I#SMpTBP'4Wre?X<3rTuLhrtd3Ad$gX!t5O37kcK'_<;AH7q[=A)$QjJ';oL/(:^M?FORSc3Ln(oNKTW:^h=%=b(mBc1`JYkZT@S9SDUYa//\02.8/,3@.Xmt5>!B>i_Pa`LD%4%&l(tpL+Y]3@D-M\^U)$^-:4jcRlcCZ&4q2EBmu5@jACDT,r)%8Olf.i*XB$NT8IX*j)8``Zmkau"\Z7IcN/C'k*bYt>^(EP^VB$J^OecRlC(;s+r\YfC+;@DTWi7%<XcWI;<.LG`bRr3In^dS7Ef0Y7qisK.sP2"JqZK?@)ec?<9s\GKLPBW^tGWNcY%dXpVYs&85\UO+!V+RdU$,hoEs4BerK:](Y`@0qLZtB7C+6L,1.G=Ng+#*i&F_V7.4"%2M%6eUUrZ3BJIggUlcjKb]ZiZO&1HiE+t]T)*InS/EKYn@TaEYN7XSQAF(kGIhiP<?,K#Uh^jIp*XDu+aWD0IB<OgHIhiI*baJKA@M-piX^`2#l(NNci-\ar^6LW7.<0Im(p3ZcZ"W67=t[(%oON0[K,%2APgrl;T9nfhDL^,7OD&K&r&Pf<[Q`N:WHh4>0n,e,?.KfV$+*=`=:75e;j&\pGQ(QL;I7O:%XUi_NCHp5@@m+H*Ced6^6baDZ,BA2Q_gU]JpEcsW7OaHON)!'P7$\\ZOQR9m5Bg+Ep^*eCEuhnqgB[HoDhuIT8O$I"\Hi:=<rYBY-auVL]7uWoc.`;p*"&fF_?3FFr.[W6P>/_\VQ%4R]eY#'lODjk'kR5NEbI>q"sH;oVcQY#1Pm+5FpaSo<POub>"PI;$b'U6EbjADgea+kUI:kCiJ^=9]0SIJNH20!_<'>JS6M@'$7?tPRK#6E_"::E_oN#QBh>7:7$TBqU`13fl:if\qV_`fM#]-KGF]GOHi[5<e[:j_t`=#&3OP':?s?7$0WRn.mU0Q]/B*K5](/'[%*;H,mQ=YX:oAkEt"h"]o#Kpgq^md7m!.amg/Gj?0B.U$Y+[`!0/&JC9oP0Oo<9?0&n=fK.Gj:pP5AZLZ=m'nFl],'O0]EHhE^sLfGgl(iu"]>VN<Tr94jr1+f'f+;(S"(c'daZWO+rg:jt5ekaOGr&R@"JB'I50%fefDB(a(:f[O`n_ir>[K*\V9Q:4sn]^_)Z$X1WI+K,>gBQ#^(.a1bi,O!D+ksucD\Vt*F@'YVCk2H:15Jp+);E_HFT3DaK!"c*dLL@+VK]7CO>VKRj?TVnFSkhSlkF.%HZ]\O3NI?2h0H&D$JkNLg*pDHFi9-/DF^-6<p\+Y[opKL/9fYCkYO_#EU?#8f(Z[_V\cRJb6d4n,"QYa`m^i1[3r*$rS[N/?Z]nnisGo64B;!,MQe<eZ`]gJ6`hN4h^:^,/>!ZqM^'OH?.(Stm0XdP<=uW;:1-Yq9]0S+e1MUs6g\p*)/9u:X\dd'*F_""fa8HF&-"-c3eO,<1tW8SiO?tNc13:IRJG6(1P)<f"<EV#J+,6f<^A]T>X8tF+_J'N^B3n8H>3e%RWcXi/IC'Q<;Q]3+6MPZ0399@0V@D*R9V;$WSl!-@We4$i9R<PfLlC/r`!8E,Ys%,RLmXrg-#$k@$dj^'laItQ_E.=JX8lf!+,)%5j))ISa+U@o6Kja:d"8ipqV1T$(.nXB6DGMS[TO"ld#6(bh)0.2Ma?QYjo?3bqMUnJ;Suq:b:*=L6Ae$0Lg9;H$Rk:q&pkf`ZCN1W1a(Vp@$;8B)fLhX4^iOfQ$WRcMC![%Z;GE0n7qfGe8#aU'@dpmu$M1i\f2GMnQAX^f#6-d]/=K`=]0Tmbdj&^;giAn#)C*i7R@p\fVKB<)%lA/sorEXVXmk=l72>&:VuThY)GC79"ItIMnMr9SVu%7-_emSQW`%UF?R:6\NBZV_t+[7ogQp*%J@h)oC_Y[*$JE]%6Cb3T4ju^[@t9Fgg")a8(q&N],$;2mf(Mk)OUJhqHMI\j:.K=^.@\l5;uC#eILP$_LpAJ^l$%i$ApB.*bb!kGAe0f=]!qf<5Q^?_ei!A.3@)qf;F>r8Dg<p[qm(WH('fHTctKdGD-,gF3Fip:-^rJ]kjDbZ?eBVj9X(Ak@J@QTG_26B=c6UWjd6^&@I::tf]8mM59;'d7<BQ/uJT'5TV;:Um#>>`i2sRC]P:o`^Z$-%L+`Ne45P!j2XrMk6K7&tD8p)b]6m(eZ[7=K=h"eLU(Qf^8\O6U-otR\p2kT*Got+:t23iZl<AO=rO+cYYn;0m\"7cnTS&+i>dt@Fq^P@\2Nsf\&4+;2SSF0)R,,Tjmp`lWPieXa!B0Kg,k]q3LI%T/N^l""Qf?gMXT$-:AEiGCg3f+qm1PitW*j/&C5rG%t*_9/e@\m:O!SX#f">;]ZdQdq7(H7n\(*>J+]8=kF"RVK.X_DDJ^X?ps%0YiE*Z+o[[0iW;>`6^h@QeFh]`b;2dU$6C'3qrqE5W-%SeY:HG,d7mZh%%[:aT`3f%Jo<e*ZheYpFq.Q:0M!!^V:TX$.)#(A2^88Vi9W2\94%r_)u/3,6d4u0c=1RZX-'B(:<M&S3K'[Clk1mjq5b7Z95]DCU;da<<^P[%4DC=>%'s%_b[p</_=-@ATnM+G>a^+57P^R.LnF5EN4o@YN(<hnCt,a,pgBlRN$Vp1Q75lt><eg"16kTCl?Tc8`<6<pCP'i7F)q`4GSTV[FHNsT9aF(#^HS)]AW>BrY:4V[g_.mF`.42<gbkM@p"J/1(!cd`)c?L&~>endstream
|
||||
Gat=*9lldX&A@sBlnQaAMH6?gFOR&7NXq+DHg6;>E^Ic2$J94pI0BcF;&b.C!=`5G[nj&18I3g0=FSj6^aBY1*tXNb[fI12J@C&UDt\O4mj!N3b)oYRes]G'$B)6&664&l#Jsb8[0&fijpHe6BkBBqi'r>8=VhKC(+pFS*$AgG1WliU$fGb@#AFeTE9Cjor*i?Pq>6Uk-@j=9qf$C-=SoYD9qFP!pB'2/giOF8i(*Ya'<RA;7^SuT.YN9*(X7f<A7M=j#)3m6$b3c4TrV)iA%BZE_Yj:4qq_/(0_"ZfM(9O?9\iNVL"CA_&1obJN\3c0#:RVFJ;p=5lsLo?M7A(UBpi8DO=;,-$)rL#[H/s2H46Rh`fQ?[5ejEuoK9I,$*c\?X"N?GkBZklJJdN$CQ*gCAeP!U^hbC%QBIP>rG6"e$'i'bQAPAJRVd"!P>EG8'\+MR5Q0upoU+CsU*p5C6Ce\uZ0cMEbFau?`*=pfNcSESo8OjhfpgZcXup[D`2UYf2#Au5jaCJ1"l)'[<DO+B?#$C1aDOQIV*1Ps\q;`,)lUke=;9paPQ]ql>Ygd'FAJYY+JoB-\adl02Bus:lMc5cJ5;cYb3Vh@k&9G]:$7O1&FQ9D#iXhMXn#=>3h86hiAF?$;NkYoJgZ?3F0aXk-I*caHQAf,14O2mc`tagm1Jc)p3i>@LM7q!h5/^U^Y%i]r&L;C;0+'!^KXg*-JCB):,d#!C^iBj<88AF-J"7n(PB/Q2CQ$:EZ9u*5]hWT*JA/=U4X!dJp.d=V5l,I7\J,YC)+7r:Hd=M;n"T;MC<SNY$.P'U/oWZHcN!VeGHf08d<Bp6-!lU9G33GPh453KNiCVM#al3G>="D~>endstream
|
||||
endobj
|
||||
80 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3309
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 966
|
||||
>>
|
||||
stream
|
||||
Gb"/*D0+Gi')q<+Z/_7a3)0/P^?DDWl,^"J\!In$;Qfa[EuKpf,UO5AOH:JAPQ(8[O<RCrUe&X"V_cqERM5n7Md6=pca09%;"7&6s)urnk@7>k1scMe(SDYO!TR7#3Bm7\U2<C=VJLBLeUUDm/$"!B_"Y&P?dpi6RL\@8BW>m+f9Iif>p3"'J&3M%NO[4l&J140P%mRWg4'Ii&$bDEj;D3._Y+RVMB=:VWku9J'M!&qSYVf+4e!#3g)ZW)_>,DL]4`ni([c;WdeSs^XDHdl*\:QWVBWLu54]YIHcdM+i@UT:ohWjAoS*F=mE]K+GmY3O3Y6+>Sf=fI%_93U*?N$Q\>>n2\/3ltV<`Vk"c\#QRHQBGjt?8a^OJM&\T7N^0$69R.:!ch-E>H*$WB7)d'EblQ.*[o&X';dB]g3"R\E)(C3)4Y:2aEn:7aA2&a@H/EeQo_ahb[])kHB`%\NP2B4(s1]I5`K@(pjBBJ*Jtb4thD>l+&B\N\o?:gpQa]H)u?`H`$f'a84faU@e5B:4HHd8Fq]KZouKG/U:Ea?EFU.o'bJ.iMj2X/o2PbJ>ZA@$95Xls?f-d]]FTDd^TIpMf<d<RHnE-:NR?9[()/mZ/Qs@j=+`d;oTXRW0h1Ne>Y$@%N.s<055j"58OW/r6#[I1DK'%5t`HeMDRPE>-b($eI<"FFI_Tp.9"&@:OKo:P`^eidVb2/Hu;i'7(ci,EVm,nZka<nDo2sSGHJ/a&Br'oA&D;.N]ks5Cpp%S`L`>1l!Gc:,>\:p:m+)'2SM'Ja4sbT:[G8Aa7S2&Z65-Op@ml^D8)CNu_0a5>='.lM+aqA@GNI<"C[aCd?/D1>(M3q^:;+@2iR,<:mrKmjf41&kPPK_6f/k8m1Noh:+aAH^<CMK%r(Pcd9V1qtM'n1!H4_1h)#haXEshp]3g@TC!35//oeRiX@77]7%dH[;trs&TVl-SQpPgBLnZ&8TMU'ZBqq@>gpW4jem_V7q4'B(E\STHV#`SL$/Z+_`C9Tqr+T-f_i?**`Q?P)@a&fH#9`%VV6>Pg'aJ`e]a&HG>JZ"S^pj>O=o@Fe$+;dm:G`[4fhSX"6m8E0YV%[5WpY4^rl8IhdeCJf<\rnc]fKT"[bjS*J6\W_Lsgr42(a\LR?p.5`X'kp,[Eag;Zaa2HHOWgFBd>gTJ!hV@=<>JU!s<N^SdnL!$#IqagZ%,q=D`s#uso?.(H$%>t/q?_1Zr^.Y7!qB77rbC`[IU#quJ4-.pIEOc\C@PC733j=lm?lI+/?n:W[i1K>N<n`,,>R17"4"ui\3j=lk&CO360'8HW[W?dsKo8W_aLZ7k`Oqc':u0:jCNJ^3OHUTRMk/YnRdq2_=)M!^Zt-S>p5Y6),5^ZCV=nHEcoO\<^=e/?Mi%P>H.HbZli`?NGLGMHZTt'>K"5Ta5Rqh"b^6H:<0@O)KGP/:IX+o6W'#h?6Uiu:4Clq`B?ep>Q](UD7eWFV>)@;gGLkDi=.aZlOB'Kh<MFT!kd%`>d$b`i.;i@oLn)g$OR!X+*;s]W!tVk-]HqM=">%K>TZh3WA,BM&?;'>X1u9dRnXpc!2)RNQYB%CRS?>uQ\anAnbaHq@92$hT2i1cKP11_Yg!',NUZ-Zs"V-dKeIa)d*EC*AW)n<"5gkl,BZZ)B&OWo<cLVS)YQml<dbf(>a&Q&9gA/NE@6tOX(Wp-<q:bN9?JYtq5M`pCmR:s8e8tSL&V?k<q;@tX%U01HIh1lUD,b<pl2You1R?lTF/Jr]qS#2[qj6V-aKNXg8\V4N%diAl@@Tf:,+lNF[WfNMbX7@8mpt%:QT/33<Gs`lc8h[Ho9WT\Jr,3Ud^\-_.JFPYGna??qnPC-LHFaF%R6S<-t7U'C-,$S?+gafM(\X$M2QVX,GQ/_R4$aYEDGn_L(G"94IDa!DFgghc8"\Zh66p9CEg0,T7%'309N_HI[,OQMk#@-DVOQ%oB,.`!SDI+T0hg)Cec;%QkpLG*?`cl^H@T!NhOri3l_DEWW@Q1o!%T2`0&=?6_tHUU(_[7'Kq[dHL8N>gl5D'3O$k9])Ic0@rH$q;67A0qDkM/aK6s@,2:$41?e^3.ENY-p^VE,20))2UpkU6@2;@`kW*n/:a!_=l&CM74f*N#mg;Q2--G@N:5S6C+F7+U%;W]Ynh?_(&;6kpOHu\O'Mp%h&cNe"7+G8ed^5u;h1XWA6gr)B''q0$>9?`mKO^foN)C2VFebGNo,HM)/YZ)Kcn>VD8F6PH_]V&Y?4L=u6O)_+dH-9!VGM/>b5LIEc)+qOEqCLQ@Q531?]M!F,$WlKJZL\>TAm_)RYqJNZoC"4W]MtA>]KEHY\W(AjfV$Co`._0#.,Y/DjW1`O-+s20=Rta=\=p76#t+_Lf-5@g*%O!S>V+gPd@#'\`K?Z7dabh:a7O*_^\-4hnKcIh[r#-YK!&!qrX(!7s#6I@Mup@)/9;*G;T;R8E&[M%N@+Ap/jMcjdhdc2b`%(Q-Hs-Q1:7=2Y#`-Cd21olkulZJj1$rms&V-)I6j_N'nu`HN<qkLDd\?SL-eYf$n5$D\;eA&16(:Yd3TMe\5dIJY%HpK/_$UHZNB]roY53HuW(Q`-k"j\@G+]kAK?7[.h:V]^^ua%!FY:'2kWkCGuZ)LnN1/Fc<7McfBL>MEZ:`DENZ_j$Ae09[6`_[]"W<DY&+k^Ac&2VY_*dG[I95oK+u41;:s)!Ol>V"!_H0lTek8Hd&(J`S]g^]Fm+EK]UmsE`i;W5i:6/b0fsl]+TN*"-IWM0Im_Id6!.PHJRieWgO<0$(:d0HgX#,,haHW>0PJR@V*eJ.FLUbWN4U-id>N`e'i%8QWLV2jSlof4A@t4lcNUA]Mf_r^sQK\A++elHJ?5]S"'I>S^D/o)i@%]e@J,LZsD^(*X:)HU9$d4A9,[kDBuC?-A7Hd,2WllFRau4972?IcGl6q/Uqtskp?s]]TIW%eEkh3+XeW^.Nn47J\X&QC(D01kj"n\R*Z=DV53bYcg>mlGo8,_\F*^QIGTi.m9>["niKR-F(7Skhn0@&E49jJNJhZ"dLVB\HS\N.ccgPNRrJSY3$2DT/4=jKT1hA)<fJJU"QUA$?_I=cfs`W,a0Xt&ZMEoKVYhN;ZqsDdo398kjR\,^@h=<p=`A*bBQ$^&i)t#"eG1N<_P<d*J2MV&Ls8Csp0h>hR`u3QYUJC_c*Rk`:Taq,Bh)arq_.\@?>=1#/FF/(kRjrnbE7f3pX0)E^XKaIr\>()]#IF_C$X)ein'G!9e*C,GG6#R#);hZ;sPkCku-#eEN\<1]E4QaX1_*&e_>2A[%L;Z;(3R$J$e.pIkNRZ;u~>endstream
|
||||
Gau1/?#Q2d'Sc)J/'c\0:)_(U%.(.=d^<8dAL["HUractj+UlQRo]L^4-6i7qQW&G-R=9FiH`b9cZ'5DG`_o0D?*-0*$,b9'T+C`E=bKW#*WNcCI!&=`_!tO,`Em@diaV?(k7=MK.s&t&j[)j/5.i*dY-a;!I[,HGEN1>$),uoKC0S@G(a;?(R4uC"f86$W3&(1i[5H/48*k\?K/<\%K'mt-]n!:P+I-E/%O_AWZ"RU)m`GnJKO'hpa>G1.UFc>II4h011/hAWf9?[YLH$$JE^8>rZ_-eQrY&k%nk0l$FFK2[Ut!H+G/r5K#Bp,jBb@1?!d2\Le;9Ri`7TreB:<Q\&8[Q9"8Oa`KtNg3L$YKr[iZ^IKb\aC(5r+mV9?H<gFm*n2L]qR'2GsA@WI.hIl*P9[=$\QsU/0/Pnd+!#MOCpuK3K]DTRH1r>Vt0eASn9Ard7%'Md)_Iq,_PtMgcrK4f-JbkXNbgupaSW=5:@k<r*#&A9:EJag@CemoqM2fBJi+7ac*6@+<AC&(_o#R<jUSBP)I;=3pP%`s]/go?O$@FoYV7rI=2#RK6<`Vke*Oop8Y&Dc&ib]!b(+TpAK"I7Q&pp*9^D08c2H]f.m5KmqkPi`jBDbN4%[1ftrGnh'U67J?cA/D3RTlVZ]H6p=^BN54JR*6,hTF9GkJd8W62W`Sqsk!ClO'oJ>.]B1h1DEUg0tH*7P*qtK8.V)9R\]X"5N]cgjZe5I/J^ZlkT(m<IZtWMCI8]46J]$Ia#IL)ilq-V3[+a=q`9/&>^Q7n1R!;B0itQ!;.W]aVfZ-T?m/c=%EJY[Q_8U:uf*$FX]KU%4MZ&$%JI@As]FUaa(*n_OT&]9:=Xi9%Ib[[n<hiehI&EN,tQ"(#"1D@=F]Sl*ac?cO*tL$@#icbY@TNjrfWi8JsYhghM:W@NMc0?NcE@8YS$a)$U0*UP+`1[q\I=V.P3r@.5+LR(%G~>endstream
|
||||
endobj
|
||||
81 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9$AT&MD_`PtL;Egp*cQ&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:ps&&=X(PCeL]7-s8G,Z6b]&CVFJ!om<]_Oaf@33/!:]XjY5-C*Ut>641HTb(JKc.+9~>endstream
|
||||
endobj
|
||||
82 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`Sh(gXlj:fa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B]'raq*pZH62`G1DsFgA+6hs6uHU'5'".RbXr2MH_7OtUjbJt$1U9V<CL~>endstream
|
||||
endobj
|
||||
83 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3476
|
||||
>>
|
||||
stream
|
||||
Gb!#^>Beg]%Xua-^tX)p#u+:ko^(8[G1pOiBq%$KmRtjfa>.8+;']/)Rq*W7[kF\L-!;&,l#cWpW?[T.^^hOnJ5CdUO-9J1h>t8o_#0/n$A6;,-lUK@E=T/g8)K>k@]$"9_pYLgVJQl62&"k/qU@OAdYV+#pi_=TQ&:u%FBI=L6H/+JZ;eXS*/RE*gJIT-j#,'[l1j,X8bqWc(hL\n2,4hmc:uGkGk2i&KuI+=Uud8A:)#"m%>1/0qguWmn@Ksi.!]5$^VS+FO?<_"JW&pDpKUf]#sU#@l,?kr1l[[Iq)kEu6Q[@?(p@/.8bTfA-K+aMLBo,j8X0=t.&!ZDohR89"J&]u'/ZF%`W-BF+hF];r=]Tt(q*i`9[JW-0K(UN-'Xh;^][7DRglT0<]-R^3f5+4#J"Jj_m8HpCm<Mq6msu#S1*'DWJ"^p("_6_O0q\^!NX?4o/8RFRid-!mNS8NF#S9*c#q7*0LeF#0-0eQ#HN.0`a4lVoC%B1?SD4t_W1*Vb7g%TH6l&::n^#-:hg%FC,&^iJZ-"C9accV1KtOIjsUeEkmWnn';dGc:)"FP%QD^qVYDV'W-6c4OqH3:rE6jgP=I(^f*>-LFHj(B*^JB-C+l7uFjTN1CP6RaILWmE@#Y37M-`V0F4`%Q3ecsHCDEDMOrHu,YV#G^`a)HG"bG@-%<l`;9i04H6;;2:6M\f;gd.#_nXB4@8sS*5Bq'l3fUWF&noYRS%hAZ[/.&IOSa4sP.05bL?*-k'S2YL:=N-uCEh+JhNoKOYGLO)*G*>u^Iq-uR#DGZ`//6AFM[MXrgZUQbbKlJ'pq7;8Ose6%bU'KXimGR4MGZP2`or[6n=.&tH2LXab4EJdMPqJbDu&AG$\fe%Cb"La@jftU&kGZXhFDm_d?al[ZL!&ad$?g0kEfE!?h&@\BIVC,3%kG`$(*)5rYM<!7uie7g$:jt.YOY>G$)$tj)6<gr1i<hYdWj5L6P)^bp$57X+rq<"CDS^,.&R27F:8a7jT:;/(6JBge)o@0ZojL<>%gMDQ#D&`e2/4PMI@AZo(3Hk[/1X%-7OF;A,O+07s-Vh>oa%[_90i'?shaR?ik[p5PS'7Fi,[R^hqK5&A;R+LG.1+bM&"V7\i_'(EA.'Nf(6HcSdYYV^cAG#ZW4g!UY8?61*0jo*PnPuGpGL&7+q0_L\G1<ZJ9R>%57FRPJ=qsuGq?KNiH\&T:XI(XjE@ag7YUVglHk=:0rTrniF<YH88jHMr^:<3!KGGpp?2)^GK6X!5At`SDiC[L=PSZZ_J+`;6-iuEA[sJBEDAU]s$$m@:^',j&J%oe:dDnf^^,Qf7D-OqY=HN?VPYljrqu]fM!/ebeTpS+eH5:)_dt_olN=Na26BTS:$EfHl9t:gI&r(l\NY\]eW?L`L@DGdU.ns9-_4i"8+<Jt0X^`W5*Z4E!,>t%V61-\PdrDe;rU\_79=QZ'iJ*D4+pRJj9@!OX+t`n;dTQ'7n+EGqeN4CAeDYBctgXHWD`*\X@-4B/8$V`*ogSA@LNik*[0Hh"ZN.DL\E1N#U1X=qb)r2&JVR7Z0f$o$Mo*L;MFK8;Dof[d*l`^jBn0@pm@u63(VbAe0DF"S*-Mp^[bk+AaL,3]8_4u3J1\a_B_9u7d9mg&/BUjd#V+lAkln_C9>UF$\o"Z/`*+dYg%PC^cW,4$YdQY:5cW7^oK0!n_uVRD+dR[92Zg]7GDW::9lgfLc=;Ms+OA/p1l8$QM`(gH$b])1k+HZr\:(u&.-i@[VW2f^gJ,2P1n_2.*tO'1ad-2>;RVn9/PDeZT-a%_tM+Dm#A^3\$n<Q""Fr>Z)H%4)l.=?Td]!"HkE7'\a\BUZbfGgaIk'X_dJK#GC9nLP."j*r-'7C$uj*!IpO)qV6)#)L2FBd_l^rFI`&3[C0!%B>O:H]i0HArmG4gGMpI;u\nT):q8D=%4<?!M6"V=`I@\Q0NJdIYNj-U;L\m:F8^a&^HUl(Ld/DV(s1V&\P\S(Rl_LlS'#`?jN$SVS9L?Aels1j@[__s$0DE\soA4J5<Hol61\q4oh,*R2pm.hpW:.0Dl:'!e",:6uO64Z);@&f]i-W:WB$IOM9("FHp!R@F8!7\6EXW?%72#Ac?@=qjchoCh3B41"qrATO@Msa?NJ!^qg-'<jhKjS,h)OhFI_R3V[^!_KD9o!M5pu&gb54-Jctbn,gqO`Lkgbc,*HL8;O'ZB\p%CqS;f?(C5Yj*UpeRf7Ja/Ju+&/X0!=c8=#Htm*Hs*86;q%Mb'T[3WIW9NcNfk+L7Xij/dt:Ik(L>#s@`#'</o4g"cJMnKR(5/5K6sTpB"MlL.VAG6K@<SQQ$#gin2s9oNbg?)H\MQa7/f1aQ,SL8EVKu*`>U4l:X7;0bI2d)Is-iY!/7)klR2T@c.-IGED]s_67S(D;C7AE]9`BRP>iT/c0J-"CLkfJf*:`Db#@t&SuNluN`M[]ZdE6l2]5U)L7kdM-6lN'6tIShdkVe@>05u`&6<$m\mX1(k".%3A)'QcLLDYEm&:n8b*LSM.B=Xe/LF."p55dP2IWN^Zl)_1lu#9W,MFYlf\aGjr;LV$A;ops%-R/Bs0fnb@Pq!6WtrNf<^UYs.aN1&M<SQ`8kuE@mfU<0:]+LVpr%Ajp/"5.cN0kaDg*o\-4<ZC5Y4Lafu27fr^JfCS(31KL6/SAn]X7Q]R;;m_GaBid`qFI)atpZK[_KP5rI$s(9o6-!@J/*a1H;[5Rs52I6<:-*,["8RP,aY;@cK$aG$WiSMagKMch8'*HM_g+i<onW1@+?>."]fXV+rEI*lWXj1a_""\bA[cjL&N.0FuSkGH?Yg9Jq`ZrT7nB*6jYW,I`@n<rtNFEMX]L$6f;rp6dF7HQeI&]h`Mkp@B@4n)RX:o/r/IU/=60C`lY:u`\/70TPQ-IVB;UUG=OiJVOmKh;.aPL"([3r/2Nga5U+?om8O]BNb#8F]WI=^fZ!!E;[r#D;mNOD,=+4V)s](Kgl+=#8ec7?bRa5@1ahg$#!7-.>3-J8sdbZ;T"jZ?t:S%N[Y'8F^K8qfuI\>X?h1T6j-j^[_4YX6!up&7Ig9(r!U%</<9>_c(Hjk_%,aV4G`,j;JQclHl$BksoJgLZrG4kqA04QS2;?p!n0WfM(`.P1.Hjl"#r@6p+H5K1e6^WHB5YOm/Z1?+AC>=:O^`K-cFCdp:ODc\S)Xd$Ch?-[#?+4`Q*JYO+l]j++EI7b5\)/IiQW0XNng(NuTRn\fG[.Un+rKI$&N>9>'jMUUJW\-%10l/,A'+@OR^EF=T,Fq)>!-cIoTc(E_B_9?M(Kdk^-;,-Ckm&1L/GtFc"A(O^h2nCL*>uua5kc-=\>nqZQ?JR`V^85MR=_79.nmNn)@s2_s@_@$>NN8M6lSC&APn2u$D["?ALhc1?g>@q,FqZ38TjP+X'qM0'U.Je>1l/-iFu#`h\I7,t"<84^7-ul2\nVks_UOh76rt'QP@^W/*39>d3;O`^a&JT~>endstream
|
||||
endobj
|
||||
84 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2971
|
||||
>>
|
||||
stream
|
||||
Gb!;fD0+IA&cV3*Z(pGrja&*W^+2.6X-<=!cK#TcekJ5)FYp<.8[Kq0+XfG?2?1>tP+j@nPX*3*YN&2B&;ttQZWQPq,bX*<ao7nb!FCdOrL!Z5@5J'q.OL,2_:e&9o+<E"9hV`s9/FDhLnYbS'?;,AGEK+4PUpO;1@KfAoLR0HPPGf2,c)'9-l.c-.)Q0l4O1_W')F7W0@*B/Bc?RZW_2<=.l6S9(F;]9U8?;b9-W8_;P$YC,e@U:<1PA#0,T0KUMC]p&,j]#?SC9,SZjbh)$c,`rKDoR;3J4Qjk8rkrq;f;;WX?;@6+25q<O7$P(kJ*%%`IU*_dOMjZ>YThCD1#5JpkoP;so&#JFb0U'J_2/ms:7:>d#`*+N'Q8e:n1j)I(!@(Jr3)":08r#ICR>`OnDfSp[Cl7*8fl7)6ImVNI9)#OHUYG*^^@6,7]a6WufPQ^uMVLB5Z_MVi&$oOo7.mKiO4oBH,Aq86VC]r(+'uqJX!3_g+E#$&/pq.'1Smt;JnbXs1(KV`iL)g&.roM1^>6K<kh4VoY63;=#OS7F*\t[Xm(4%I&-@VJ*2._U=*8+&D$0$jpe!bDLa)05[/Tc2Xc#jlc?F\D]jXRb@(&33E/m.C7_<63REO-Z`26ECs/ZH7Ip.sA/3"C=l"f*u*R,2J>2tL21nHZD`LNAt%Kh&1Sb)3obA,h<"ib@>G"/2>ZdO2*b+Yepuh#Ye<I(2._5<6D:=-fG`Ir=VHer5F_gq8Q>\?>+/dF@j%o@!lud_od)I8II^lXNnaDR;Q`'0f/N?p'&M"Q=u<`^jb;XU[%ZF'-d7A=Q#Ud+Jj+YGQd5R!&(?I1"FOjAE\m<H#<,V/tKI?W,J.b0Xf4(q+.]qeKu-&7N/QYEtbm="PNi\E6_H'kSDR@Q'*g0YMd\HN2!f?IWWST`%@Yl.0Kk-`OK$ACrXjqgIH;]&/[jka<Mg+f5*krs3gGE\e)t3tP6*\6m-6fB\!+n-?"!7(#)/P,39u>f%A[U"*W%rW)hP"h;*hJ71X%`(Fe[B=jO=&.>fKI3VJ6>huUm:lM*M3A)_?V%69E;N4M3E\YbAL5J`J)[=62KYd#%A1@N/1q(k$ULXd-W;j"j=_;4Z\oSNt6Z8^Pa-gUf3P4\[N,<np?aJ.Y4acol.ndTZ&uk&S7e?p'Uk&LSF"j)i6p4<X$P('*62["EMo][V'g`nZ7;"W6oi^70XitoT=)?,F8FP#-g7GPdVPBLsVU,Q%^/u\$`*&(DFhCi/4#!mT$'Ah"jI<K<"9@9RNciSr_lH=_Mr7cV<4bGY&kK#(06)L72p)(0>e9NUkOTD]m1-)&Blomm;)1\d^L?P>S8ZDf!+<(MBN^4g9G.jbb7;Ic47?6a"4hM'7I"L>COno%:BV%X_T.7>'mg2$,%]GYY]T(,>F^u2H%D`J>\43j6^d._!%:5%d4hP'd$I*fb,W>Zl-<I3*`JNU+IYY3mfLCHSd#VXID!')/XIb#=S5;S,Z9pK#"WshYL!K^.m#Z)ZCV7,F6BFP0iS<RM+"1>hhcuM?&.CcSb6]cdcj(`;4M=e!6"*6Vb<jcqW$u,'WihSaN]lQ*)a3c#"j*j=cu3HA9K;'SMtXN9V)k0aW:<d2tYCs?Uo<KG$;=?V*W=0r-*Rb\@Q0R"R<aohAds[gm*$[E`6P,AcS0#f2frcCTTp*+_b@1c2jqNfIXY=fWTI,Zg>OI^Y4CdZAWPB+raZe^K5`c[I1gK^!_J6FbdN(J[nWChib1H`=l_CXsnH@)]O-HI@0nkkV!mEI`"!`n3qi[=SI;]3sma"VV(UhBK[1h>e;9FHrs?Yn)A0T\+BR];MJ[0Ue-mM&aXddg^iD+Y<7"^:)!Nnfc;mjS/#lgDm)UfP.0dpd^#p&*`o>N0VcDF:G&:-bZsk/:`M\l*#'="h@+jg1\&,Dc4C!k(=A:&!n2PfH,.(4\n#c+ES`Yubu2-sLuCP?El]jHa*jP7FI5PFNR,VjpFDoK:8u#NiSO:ql),1P>pAf\OB\ES?dd2Z=C.FkU%\tPHSDrZT8JQVJHs4GcB8a44/(NZ&-!VJcL7LGbF?Q<]2l"Or"'*&TR,s*%9GjB+R5X#M*'@lCKmL[n%I4H"4hhH'Ab";Oa97aXqIAOnC9(HQ5PM<?0'i%.sqt@AFIK%Idd(R^;uiS?O-4\"k=DjF):fs2Jd_0H=).MkbFN!($_N]e*?eZZ<6S]5JPc+X^"1W#SFa%GA;4H$hjs:[mkl'`FWrMa.(<VQ<"W?]Jt5$d!-^R"f!$FU,@l(Dd4:,1Gr/=4a!fB.e^p*,.A5Z..O2T4BuH!&PYB-8L2lA\C;!hF8UjsRYk)UI#9Pna3T5<0;7u'_Jm12+hHl:>W&ctSDFe-&LNI`4W)s+R!>dS`QZCpV*_1UQhWC'+u8F%Bf#c<DO$#\'t<@0a_JICqVU2+ln6i'jW^N_BDHn=m_%Ya;7cAtem"A'=N+X#)A10a7hN[h.ad\5H[\<*s0H27F?WLQ4BpY-i:cm8_tus+q;i++%P7JBW(aW1OsH*H&#dV'/OjQAb<hu5m_Qg6VW2J_h=Ku;U#s%].^g=cg&(cV^e\eJ;>uNig+(u38+)&'Uh`.:W3CQ;$G9p%>_&0sc1Q;.h-,7@"18sUp"'%ukcWnZ"Pl<'b<-RnI^stS>%%UCklMsh$Ri=U3qVt-$F=3l%mBW_WQ'>T]h88]c$Y_sD2>%&6m8#PB&<N_iFdJS@%H22/-Y^aWW5tnQY/(MPYEpdUe<.J(bMQuc5+KM(--"N9/%PbAn]"kCV=:&^K-7$]IX\'m+4(1`@NIpS7'o&5[a0bXQ0q=eSeqR/mYj-LJQ?3XkDk[;lWD[r>Snb(I3W*&)#lu_=<[854u(ORTC<.GJ(+;_=_N!7'CH=R);#u4ChlVK'kA-CsDm,JieV7LTRGUO<Hfj9i;rEpEgjE^RNFn;]?rUOh+MnZj]GJ/nV\hkTIgg/FM9VqsKaoE:b6IIMPf~>endstream
|
||||
endobj
|
||||
85 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2836
|
||||
>>
|
||||
stream
|
||||
Gb!#^lYkfA'*"Q<JmT!YMhD_BGCX(`lt.>VY+*E`M?<ns[*@7WaHB0CH/.BXpDZ`1/Ba2Ng"l?5,S!O`AiMICAgi7)p`]IjaTA1%+Yl4o6mrs;,%>%$%<'Y=nDoWD;QdAIm.u`V,L>tcBa$CW#Li/bWFulqL'pDKHJ&!`oC6<SCEbK#VtYS$8<2>5_R&S62#N)_5:S;#_G;*uQXZk`'20fT`)N?41OkV?msKMFZV^PAk>'E0au$^a%$mb.IPbD=E?]"0A?^;.P&NHjR2i%Iq8Of1QjB#&H"O^9%f+;EaCQG.ZD33(qs1<W(T?BpZK<,b(6-gb%1sY1d+GcoCC4D8W-/+TiKYT^^SY6iR0YW@i[fr]"aZSlP"/q-d?HkN+P7Q(;BDUj6btu=R@#1#I6SQr7MuIP_IH\87d>1XJR=kc?Pt1e?Ym;>`$Cs!*`(61N+KIK\;CZ6OR(KN@FM-?@j,XlY3G`fK>mt^-mck%R,`af!N(O]kaYaGE:ioMOAnI+'&0Q@!Il\ei1-<sR\/\/Ycd)]MJaJ%Zu?.7\)PFp[_("_Kfr'16#OnrE]HpmS_>7*_`m;I!6R6sl8r]YMdk:[&!?^'.Hd7D/_e1O$'spRpMMG.,i]?^p#f=7FR.hi1cX2.*5;u<qmB4D7V\&!)h]<3ku@J4V4gaZ*%QcA=bbCNqMn8q"QcJ+AA>OZp.4JC%#U_8D_Tn9nUi%8b:Tk!]h1Ff(+dnp=YjurKJ^hdP18'c,[7IDK&4KRA?IMi4-a>*Bto]6*:ElKc@d0Y-?33L^c^FkE31^/)#T^GDT5MB[J(Q.1l_GW5@)Y7'hXZ<W]'Bdg9C6rVt)G$Q\%)rfQosb"M`hhYYRF:+fP3^s60[3R$UhH?``iUN$:+"-d;G]k/Q$8H<kAV3uL"=C(i:)9u)T^Rt+?j5laX@:8/"pK8LeJ6"*;A>n*fJbI.e*W9J%n:B0$j3kMPI4caj1L@#?g#Ld_05%I*NaJq)hA!FW2+953J]sD<Af,VBoiu/IZa'Jk\4Aa)S>ZsiNbYeG1-00mt\iGF?b[4p61*#4m.H2r$JT_IsY:4P8hP,Zt28G>ifj3;833lc!K15@L[rCI+ql@QrS&+=bC2e6>&;mULOh\1j)F;rr-Ur]cM3(sZ@lAT65\=O?&Z.<>,R5N_GS]iacFT)1p&:pj\R0:D\eE1":$-ioU^iD::$@K7bXM=%f%9udA?*0B'*hQ^r&DF*RdXG^6.pdIZ34'C/4C3=(Wc+hoNN44%@%Lg)@@TF?%fIX4l\M6L[<on<,bN\c#$7Q?j1m-"dS,WQgC[c@,3HHHRf9bJ$2J<5@sdcTg*D-8teK*@k._%URjI8e'67d_i"D,D\icmJCUX1)]e2t400Fc:\l+Bm-G-4pgVH92@i_'7*4L==mcQ2CH&aec5+)bDj^[BLrf4)Tu664b,d8Xh`tq@kO51=2PeY;ie<L1e?7B16gYd0(tB5+>>7@TX\HTE(Y#Sn[R9Fs\fGOPe"'=i0jRK._!6R[Fo_Q-$[RH!Fu7h^_SN_8aNY2Cp8t&He%WUTWs(YKcdgjtBY4bK.2NnSfIjVdq>:tX-^W</&CYZ7lKAMhY#aopaF+VTn%W*M.DjaHrm1C,>0Nf#C]W4/#(s+s.g37ZprFcparo4DdO7Fu6Fn`@4^aUf=uCJME#17"]tc.k#66Dq5G3)`J53THgYOU?"H#]mL\LH<O2-/A.I1KXrj;>P?[oZ-@QqPND\-m-Ic^;ORq%C$!L8Y\8C$lNL).,50LgQ?7=$aFoc[2;N?'_!eNs$0p"uBX6iTSIf$hALZbuFmTCfN(*6lAp-K8ltignp0M&s1`I4BDa`>bg!Q"OUW^sY#meufK=`;ub\SDV<E^;CN\n#*N:i6^ehVB#Yqe5_"p/t?8IXVXn68`(jN,[&dUDu7;],&/$i\.$T-#"/D`,5jDbDpn)W4Q-l-!$R3\E<W;XOnD$PL0>neH=;.0=sk##>jDO"Rd`58?Z05Y\f54]li,"-7r.);$ek9$HUYQ8mjr0)P@+Vff$5J$"pCFWK)R(`S-c,F+Ie$=H3r[QQ2ME(F]/R"CJj&&X4N'j0@F5bi#H&&p>u"ckek[$mFQjHL!K&oomI72d9X"Ua/p-LXDpIY'".gj3Rd5O;k%0uS^UqCjj$2l;<(Q4FK&cb[6NLji:\(@H"F:(70q<k@>15=(s3<(Y[Aoq'd`O,AX]LDggHs`N$+0,EB%A=Jpj<OU1^N,!`QmCXbf@P,Gg,!BcYNnB$FRDX8QB<FB*8baYSeA52W%Z7M5\>8f8b!%K>WH$,#]o%.Tm'5u5g,9nm4?KrSM?`B<,lW9daaB_a6KbZPqW8CN'\9d>eE-m(3"ai4q5hm+9cdoo`$YgO5nl_Zc(;MO^XbIKkd4D#HQ/Oe1E#pd!_Y$FUO>OUL[S+2fClE.s1EBl(a9;hYk9=O7>=a#!)ekE$=m:4n+%%Iaad;U4E)6KTgrtLn]K+Br'AnMHnrV+XDb_!gm,DTYkhPqEG:7l,mTo?F&j(1=Vj8M,V^3?8ZgE=SFIb9RLGKXt?Aol&AX1'snhKPf3QN+H.r%Sck-7,;@0u:F4Za\)`:`:-ZjC4\>Wr"s>Z''[1K1=.Y9al'AK<RVji.C2kW]Q^u6h#n!'WZaE0E9)^4aM@O?oDcG9F*.8b+DMp5LgG*I3g?\%Bo2n:s35(6Yl4h4H5N5>e'@XAr")p<@0%L#\`sj#lk$.$[P=foaP(MbBWo\MnBa<6P)ld<GOWo3G.TiVUTBZ9*J)l".kP]e)W&]Hf*qcfX%9AE`)FLh;-8H":^U_^"W0#bJV9mHiSBC+`L1+<Le@H5Q1j/FRhZ($P8@~>endstream
|
||||
endobj
|
||||
86 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3359
|
||||
>>
|
||||
stream
|
||||
Gb"/*D0)1;')q<+dH.C?31G_jiC-:AW@ce=a1IZS7oF6nKBcDAN?f.T&/a*jVR!u8H9bkk5_,A@D:NLFYlce(:\W(T5>Mef6,AU#s)urnk@9UW<)<m[(SL&V%c^W03Bm7\U2G>CL1FJBU-lD*8W)*JnMtF*#LuM6WkiohWZi>?EVYKB-0-NF-X=OALtd:j!E"[+;9Y'#oUj"q6``?:Gm7?:Ye>aZi`kuU+u=,[`LbiMDK;9t4e!##h!LOf_>,DL/Mrjj$[9,fl24%j<jqHq%i2<<;j#gCTD=G`4lm7&n<V@XqBoo:H:%n_p?+9&4G=(b>mN>Ec](t5LYQ1f%ZfNcgsXPTg^ENKde,iFK#U%99_=]^F-l^lh`mdN>Ub(.-fl@t8ghW?Ln]+4`0>Jm[B)`8k#='VKV\2dY4E<N:!oUO[5j[=Vmifr-Vk\?LfdQa>Tj]#EcA/Y7V@(K_e20P&_KA\:C7R6R.&ii)N/?1).,Uo97J!:fB7J_.]h0i\"b[Z3"Mat/E8-'Bq]qR/?s.CY%1cd+`lh,*V!hTZ4GIDZ4ks>MFQ7db,a%8;QpKHR&"gC]2pSQo]t`.)jmo+4l!Sq<AYs?8^Up(';OujqkH]`fEc\CoGg3/At4$\a2.Wa0[IXN.`g]F!UW6f(IV#i4pT6$"q04n[*7BVgk9dc_R7WKS_r(nI?L%"=P2HJ'4MfUq!UPJ`F.V?64Z-)#Wi!:GhP41nDo2sSGKlSNe`Kjk./UZPWqR[Ifbg*3m'7/c5`F'3R'[/gAc1C9K_^7#-P^'I=@W$Pc6ab>F\0qPMA.rqR%I1H`WT4s/D0a<Q>=X,J0od]t/i6AfY%ZOMM,;ffoKR#i#+uUn[lpIU>,"VFWJB!J[T:<(`$:1d_@:l^:As!i]ssT!!rRp[KuNUDl@QW5O?!-DQ[>iWg/H52.]e;:\0n`T^4s]7%aC[;r\3&TY-pSQrgSW(WYi8[?03ZBqpUSC>Dtjh$-j>@T1V(N56OHV#`cKkLUe_`UEVqr+T-f_i'"*`Q?PkRFnuH#9`%VV6>Pg'aJ``Q5K\G>JZBS_@-BO=o@Fe$+;bm:G_p4fhSX!O:?n(uMTY5WpY4^rl8Ihde=Hf<\rnc]fKT"[bjS*J6\W_Lsgr42(a\LR?p.5`X'kp,[Eag;_91D6-,9[T.F[[U!eZ9H-Z%"7^]6*Jp'l'e4^mlm)11Pc4Kps*Zkh/CN&X'oIKr02F9Ihka2!r=B\5b(ERHT]GPl41CK1I^pN]@PC73)Xo4n^bh-g^oOgCK7C$)YL3Wfau/*Qg45;Jf76po"!P@rj'liX`HH(dWc4)/&kUPoZ^A5.*3,E0HYj8k'67!GIBett?;nRIo?)ce)Q'<PQ/3+9;e07K\Wi\]l>$&!ff,BS?r8WY2U?]O\"1=>ohKhgDAK2"7PHbq'?EJBP'O6RKLukcR.0+ObqG+b)3t*g@*$FcQ%t=pmAq40ic=QoG*+qc.;%QZd@=KYS#^bFVFue\p*rqN5r?^9G%aSXitSsS=@>pJ#0?HE4H=m!f7A]M+^Pek%K[F*3fn!_K<]hW-]b*DIi9sUc?R]pe/G?QR9-q*;GL;pn6C8*%d)""a!E&9j'.:D%?f5i=gOO^+\0NAF;EM+>$"4Ygi*r6o:T.KD&l2Hg7]f?6:;708iY-]JAWEbR7MhN2'#am8SR>ikCa.-?sb=7%H_HXhg9Sq./\2Qd^p=#/Q:!g5=PpEL?F2I4ud@!f`"%<41%knKr>+#.Ett`A`QP`S+V2Zf(UiLDie=e@?Z(=T,lY/ID\%(r^8qq9l9?L-(0N,8`%Rl0/%=P,-0S#U7?9q9BIn&X991En"k$;>>jl>"S*tD`qP%4bVj[nn/Qm@#>rG9VUTdRKXuIO2A0<fTc=m=;Fa26\h['i2rgF^+UoSA1:T&'D;:4RDk1CjmCQd/&D'<bjZ<8Qb$Q?2Zhu9VLF,"`DcYWSG4XkXIKA)BB:hNU4)@YRS1uZH/3?+mGCFf[4WHhgLNJOijAZ6ZG3!)hV26Fdo7opcl:!(8$7U9L47q6XkID80gjNS(]6*unMq_Q>Q(hB)!VCG0[uafq:dhaIpLV_MRo5D4o^NscaD9jmE_(+gf>B/"!7>lWOJ+psGL@-:JU:#@nD=t@8kP>-Xdg$S'gOTKPB:l\!:nL19+ZcQ'p+`W@MDWa'G:>)A>6#[@]J]mRr1Q2R\=rd&d`^s_6"4s'uE/*XH-TsnMT.F`qbTh\/*Jj"R)0S%]"9"b@(r'$nmAh`$U-._<CGY#u`621$*k*\n4kq!%E5UIPDh$XtN;o*KdJL]KhXLZ;5Ju2U03o.9`5\9[t#K-B>T^#M?G]CQ`6A;VaW=ZOSPni>^p'Y/a)K[ti_gJLi*>6mk!+2+4F6"mlk^Em@TNBZaK)Nne[#;^;%A/>s-rhdI7p`:)Rhk3n*I`(/k4Tm_"(mislK=g<qCS.%9,^cNHa6_s3l@ttL1@s]aKg<r_ikj*u#/+R</TZVN'H(0%u!OaX6GkMQs(r7:%kBFQr*0%*U>XkHNq)s9,^;G%ek"_,7Chmc@Upl/--jZ#Q03HnMmV6)d^HbT2X21:fJA!rpH2mJq4MJ<S,3$>>@bf``_/hPU(ts=Dg0akL7g?RFfa0+Ub-`1C/4<>!ZT:QTQ=obP+@RBbIQ&=cg[UrX!@DG1&51M:FLHHW@UFWE*7OkD7D(9OG5@f"!#a\Upjh,%O+EG"^i^d(mlb:/bMmG]=C)<'&&Rn=?TB\;$_Zs)#j(8sgK]TLM2k-;V]1nWLhL'^,!E!<K48@3>!f*9gR^K&%Z.X8Y8/osHE=4$.n-JZ.Ws9F;4MQaDL-'"i:>$6NSOOmPc$!dBjDV#McWN'(HC-,IdEJ@:MUnODj)2,V_^A.Gsd_XPZl[0Q+CbdbemhW:mA@9KhTeeb)O?%gOp+N60-c$OtM2;AVjKmgY!F-\`N9t0\ljUN]48IOd[<f/d/#(6j3]7-4kD+6L=e`)BE+J(_bW>Wg&_hs17$H/MCT;&D-m(O3_%XUjWW6=+7%REc,\aqidB*!:El?VfB!/=o..J@o"FDm$ZO%@l',f)Wua2RYb\grKDe&dAl`PO+@-0lO/qa1]$h,o6Bo_?8c.Ra-?VaMABs+F+3GbS%RU^]+'@R2%*0]!UU=g#2BU3ME2iu??d0K'sK"q&Fm%<R!n1#Nb7m7">%\SiFU_rfI,:&=(t$5jng_*;I4*P,qQK\V"][KrT6XPQ$R/"f'hj.D8/aIS?=SFESC7HSbR2M6'DYWpeFe@Dd]LS2ROUsO=it](rn,?jV?G'=mZYZXkop<3t'c!#MP%3QYe=RX5dHP;#L3@[c2;bZu+c&DV,.K'@js27L[C8<@]udbQ8Z`*BeB45F-f93<~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 81
|
||||
0 87
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000160 00000 n
|
||||
@@ -483,62 +534,68 @@ xref
|
||||
0000004531 00000 n
|
||||
0000004679 00000 n
|
||||
0000004795 00000 n
|
||||
0000005216 00000 n
|
||||
0000005322 00000 n
|
||||
0000005442 00000 n
|
||||
0000005526 00000 n
|
||||
0000005604 00000 n
|
||||
0000004901 00000 n
|
||||
0000005021 00000 n
|
||||
0000005105 00000 n
|
||||
0000005183 00000 n
|
||||
0000005389 00000 n
|
||||
0000005810 00000 n
|
||||
0000006016 00000 n
|
||||
0000006222 00000 n
|
||||
0000006428 00000 n
|
||||
0000006515 00000 n
|
||||
0000006832 00000 n
|
||||
0000006907 00000 n
|
||||
0000007008 00000 n
|
||||
0000007114 00000 n
|
||||
0000007221 00000 n
|
||||
0000007379 00000 n
|
||||
0000007478 00000 n
|
||||
0000007588 00000 n
|
||||
0000007693 00000 n
|
||||
0000007834 00000 n
|
||||
0000007933 00000 n
|
||||
0000008041 00000 n
|
||||
0000008157 00000 n
|
||||
0000008297 00000 n
|
||||
0000008396 00000 n
|
||||
0000008508 00000 n
|
||||
0000008655 00000 n
|
||||
0000008741 00000 n
|
||||
0000008896 00000 n
|
||||
0000008982 00000 n
|
||||
0000009127 00000 n
|
||||
0000009213 00000 n
|
||||
0000009321 00000 n
|
||||
0000009466 00000 n
|
||||
0000009554 00000 n
|
||||
0000009656 00000 n
|
||||
0000009771 00000 n
|
||||
0000009889 00000 n
|
||||
0000009997 00000 n
|
||||
0000010109 00000 n
|
||||
0000010209 00000 n
|
||||
0000010298 00000 n
|
||||
0000011435 00000 n
|
||||
0000014998 00000 n
|
||||
0000017990 00000 n
|
||||
0000020869 00000 n
|
||||
0000006634 00000 n
|
||||
0000006840 00000 n
|
||||
0000007046 00000 n
|
||||
0000007133 00000 n
|
||||
0000007450 00000 n
|
||||
0000007525 00000 n
|
||||
0000007626 00000 n
|
||||
0000007732 00000 n
|
||||
0000007839 00000 n
|
||||
0000007997 00000 n
|
||||
0000008096 00000 n
|
||||
0000008206 00000 n
|
||||
0000008311 00000 n
|
||||
0000008452 00000 n
|
||||
0000008551 00000 n
|
||||
0000008659 00000 n
|
||||
0000008775 00000 n
|
||||
0000008915 00000 n
|
||||
0000009014 00000 n
|
||||
0000009126 00000 n
|
||||
0000009273 00000 n
|
||||
0000009359 00000 n
|
||||
0000009514 00000 n
|
||||
0000009600 00000 n
|
||||
0000009745 00000 n
|
||||
0000009831 00000 n
|
||||
0000009939 00000 n
|
||||
0000010084 00000 n
|
||||
0000010172 00000 n
|
||||
0000010274 00000 n
|
||||
0000010389 00000 n
|
||||
0000010507 00000 n
|
||||
0000010615 00000 n
|
||||
0000010727 00000 n
|
||||
0000010827 00000 n
|
||||
0000010937 00000 n
|
||||
0000011890 00000 n
|
||||
0000012947 00000 n
|
||||
0000013177 00000 n
|
||||
0000013405 00000 n
|
||||
0000016973 00000 n
|
||||
0000020036 00000 n
|
||||
0000022964 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<c28c36aeaaa65554ca8ff15fe717eeb8><c28c36aeaaa65554ca8ff15fe717eeb8>]
|
||||
[<31f0eae15bf1213465266b8d555540ce><31f0eae15bf1213465266b8d555540ce>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 44 0 R
|
||||
/Root 43 0 R
|
||||
/Size 81
|
||||
/Info 47 0 R
|
||||
/Root 46 0 R
|
||||
/Size 87
|
||||
>>
|
||||
startxref
|
||||
24270
|
||||
26415
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Android Cast — alpha release & QA
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-24 |
|
||||
| Last modification date | 2026-05-24 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | scheduled |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Last updated: 2026-06-04. Use this document for **feature freeze**, **alpha builds**, and **sign-off** before widening testing.
|
||||
|
||||
**Related:** [ROADMAP.md](ROADMAP.md) · [README.md](../README.md)
|
||||
@@ -14,6 +33,17 @@ Last updated: 2026-06-04. Use this document for **feature freeze**, **alpha buil
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
245
docs/ALPHA.pdf
245
docs/ALPHA.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 18 0 R /F4 20 0 R /F5 21 0 R /F6 22 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 18 0 R /F4 19 0 R /F5 20 0 R /F6 21 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,72 +17,72 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 716.2874 143.501 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 762.0394 143.501 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 705.2874 182.629 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 751.0394 182.629 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 694.2874 179.957 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 740.0394 179.957 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 683.2874 157.733 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 729.0394 157.733 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 59.68504 672.8499 182.22 682.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 718.6019 182.22 728.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 662.8499 138.0375 672.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 708.6019 138.0375 718.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 652.8499 243.495 662.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 698.6019 243.495 708.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 642.8499 156.795 652.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 688.6019 156.795 698.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 632.8499 195.15 642.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 678.6019 195.15 688.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 622.2874 170.181 633.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 668.0394 170.181 679.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 611.2874 202.645 622.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 657.0394 202.645 668.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 59.68504 600.8499 256.83 610.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 646.6019 256.83 656.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 59.68504 590.8499 258.3 600.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 636.6019 258.3 646.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 580.2874 122.173 591.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 626.0394 122.173 637.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
@@ -92,33 +92,22 @@ endobj
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R ] /Contents 44 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Contents 45 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -126,9 +115,20 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R ] /Contents 48 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Contents 46 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 49 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -138,7 +138,7 @@ endobj
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 50 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -148,127 +148,178 @@ endobj
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Outlines 28 0 R /PageMode /UseNone /Pages 43 0 R /Type /Catalog
|
||||
/Contents 51 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190925+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190925+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 alpha release & QA) /Trapped /False
|
||||
/Contents 52 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Count 16 /First 29 0 R /Last 42 0 R /Type /Outlines
|
||||
/Contents 53 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 30 0 R /Parent 28 0 R /Title (Alpha scope \(what we ship\))
|
||||
/Outlines 31 0 R /PageMode /UseNone /Pages 46 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 31 0 R /Parent 28 0 R /Prev 29 0 R /Title (Recommended defaults \(both devices\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 alpha release & QA) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 32 0 R /Parent 28 0 R /Prev 30 0 R /Title (Feature freeze checklist \(engineering\))
|
||||
/Count 16 /First 32 0 R /Last 45 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Count 5 /Dest [ 23 0 R /Fit ] /First 33 0 R /Last 37 0 R /Next 38 0 R /Parent 28 0 R
|
||||
/Prev 31 0 R /Title (Alpha app sign-off \(manual QA\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 33 0 R /Parent 31 0 R /Title (Alpha scope \(what we ship\))
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 34 0 R /Parent 32 0 R /Title (A. Smoke \(required \204 all must pass\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 34 0 R /Parent 31 0 R /Prev 32 0 R /Title (Recommended defaults \(both devices\))
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 35 0 R /Parent 32 0 R /Prev 33 0 R /Title (B. Resilience \(required\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 35 0 R /Parent 31 0 R /Prev 33 0 R /Title (Feature freeze checklist \(engineering\))
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 36 0 R /Parent 32 0 R /Prev 34 0 R /Title (C. Settings matrix \(pick one row for official alpha demo\))
|
||||
/Count 5 /Dest [ 22 0 R /Fit ] /First 36 0 R /Last 40 0 R /Next 41 0 R /Parent 31 0 R
|
||||
/Prev 34 0 R /Title (Alpha app sign-off \(manual QA\))
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 37 0 R /Parent 32 0 R /Prev 35 0 R /Title (D. Regression guards \(quick\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 37 0 R /Parent 35 0 R /Title (A. Smoke \(required \204 all must pass\))
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Parent 32 0 R /Prev 36 0 R /Title (E. Known limitations \(not alpha blockers\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 38 0 R /Parent 35 0 R /Prev 36 0 R /Title (B. Resilience \(required\))
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 39 0 R /Parent 28 0 R /Prev 32 0 R /Title (Log capture \(when something fails\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 39 0 R /Parent 35 0 R /Prev 37 0 R /Title (C. Settings matrix \(pick one row for official alpha demo\))
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 24 0 R /Fit ] /First 40 0 R /Last 41 0 R /Next 42 0 R /Parent 28 0 R
|
||||
/Prev 38 0 R /Title (Alpha backend \(optional for LAN-only alpha\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 40 0 R /Parent 35 0 R /Prev 38 0 R /Title (D. Regression guards \(quick\))
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 41 0 R /Parent 39 0 R /Title (F. Remote access \204 RSSH \(required for full alpha sign-off\))
|
||||
/Dest [ 22 0 R /Fit ] /Parent 35 0 R /Prev 39 0 R /Title (E. Known limitations \(not alpha blockers\))
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Parent 39 0 R /Prev 40 0 R /Title (G. Email + registration / 2FA \(required for full alpha sign-off\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 42 0 R /Parent 31 0 R /Prev 35 0 R /Title (Log capture \(when something fails\))
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Parent 28 0 R /Prev 39 0 R /Title (Ending feature freeze)
|
||||
/Count 2 /Dest [ 22 0 R /Fit ] /First 43 0 R /Last 44 0 R /Next 45 0 R /Parent 31 0 R
|
||||
/Prev 41 0 R /Title (Alpha backend \(optional for LAN-only alpha\))
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Count 4 /Kids [ 19 0 R 23 0 R 24 0 R 25 0 R ] /Type /Pages
|
||||
/Dest [ 22 0 R /Fit ] /Next 44 0 R /Parent 42 0 R /Title (F. Remote access \204 RSSH \(required for full alpha sign-off\))
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 952
|
||||
/Dest [ 22 0 R /Fit ] /Parent 42 0 R /Prev 43 0 R /Title (G. Email + registration / 2FA \(required for full alpha sign-off\))
|
||||
>>
|
||||
stream
|
||||
Gatn%:N+uI&B4,6'Q[Hf?%`g_a-(djgUIE%'Q'RS/dsV#=\GP_;YBI,qAm^RO9BEn"G-UmZ7,:a2fG;0+ejmUT<\QD?c'd:"-9.WJYt&QEXS5qg!;I')OY2R=_(A:H(M>j=f(a34f0%krEM@I*R0_P,0:J/0.Vk=0[muf#+gOZ=]E>u+\PkZ-ng,4=hI?efEN+,?!3pPp`Q)^RlJ\Z[/EaM`>4.pp^=g>ha$u>b-u?hGSrjH:=nrRQ^hX]\1ER5C<>H![r!2T,[jj.9@+q+-&KJL>?G^Cl!V4'p3Fool42sEe[(db76[mRqZ.#<+$b(#<9GtWO,e>PWFAA_(T"WY&PNY^BTLlZ$%Q"AQ`m%:M,TAmn8\-o==bgoO)VEbm"C,rK%m:(k04$j.%(J($DluJe.l"\@4d5b4!M6nIRj.IPXIHaBXs#`,2/^ZK12^jidV5SLN;:Pi:7':7VP8kF>F6'G`?(%WL)gqE2q=KVQL6''7(3A2;0=Cr8fUpL%mrTZ0^+L7j8/hS_48F=St0-9*IH>5RZC5HM,-LX5.f&ZM+d1d&C'>Q4NL4Z"3I3Hm"^$HSUP4:3`i=+eW/`4W'/dblMQh.0XH4'p\?WTbV`_&o9T^m)L5RA'm;J1c0ih<TlkL:[TV#]HSGij1/^i7@Spa<cuOm:K2m8)h/Lc[P`)dG+-V6BWbt&RKfSOa-6kgM&MoKd-mpW:^bfK",^.NVSfMY0f4%3_Xp,Enl%6oG5_*hkk<o/AlHdVe]Z(+X5bQ%W\Y\^8BQ!tb_`Cdld$*Z,I#`dHe/CE3B%8SQl#N2K?K;?#_1<KVP3@cU\WgLilud%k.I(^r0Ou5SbM?/CC3AOQFu.*4RZh(R.8XU<uf8D-c`K-1K]M&mS@@`)`X(W[]Ru)#7"c5TJV&n\:Iuo&(KCm_s,)KI;c3bB-(oo[a9&-XCG'"$"s8?3'OF>~>endstream
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3674
|
||||
/Dest [ 22 0 R /Fit ] /Parent 31 0 R /Prev 42 0 R /Title (Ending feature freeze)
|
||||
>>
|
||||
stream
|
||||
Gb"/*>BAO[%Xua-^s'NgM509`aj*)[DUN,m0!=SXB6H%O7^;0EN@mDhPaqBt0.9u/,[6Sup,q^[[rj,t+:*QA4oeVK`fH;]3tD<TcJ\Um!C_^q!Yeqg@<Ma>Z_KaFPk@T'OA+DjFg,[d1,MMApTPTD<(^>oAAB_r7HWJd)+C#.Pd=0`%*(:Z9-@McDF1uD:hA0>POX\d_#kpD/1CZSR\p/m'3IXWI"9moUnd'oNYfW.d[7fo-KGD7GHN;R*]-C!rbC]7;bDJ!D2i[*Y;r3%kO:$+//i$WM'+;OhP`q2)EpMT=G#F.2K!]Tjn'9P]4>L+P2&u:C/\.Hib)_8Z89$5I_$P[V8.^Re[/_)M=!rPp>O&R<*?[i5:lt:8[Ds(I=US?mMl"o!N'DLZFsn$-J>9,D[HZ%VAS\&$sQULdqKnsRcT'SfG0*5>u_9#o6+-t_b=^q4B`>A4FUMG$+pjX9=fHIcmiDOc5ANVXYR(*gT"k!+DHib>;f$<TfTc:di=)>29eFI*D'71'@%:$\6bdM:&ZT]@+UDn;FXK<k'->2%d]uBb6LkPX\Qa!IK3YPl(kB7#LM"[::dA2Rj$Et%*8pQ$<CaTeLdi#iBo]amQu[Ia.0278\s?gNj$?*_-6M'ePsYTc%Ci0V[5bL;M,d*oRhg$\m)#O:!9.$jTi&C"f9AYc0u3*MB'9ldXpf8!KX6hQ<(-Y*6-TS@P>t$I3S:f9;5Ds_2GMn3_W'aOp!Y`GM`Z#C^LdBF:o6GBUoa5P1<ji"/!CYXHZ^D;@fD>osGf-orcL\bskoiP1U5s.Z+m=N$(R2"`?)&E\<uYA-j<&V/sNI(qP]S$E!^DkNg%YBE6r2dq"3j&(?SP#t^G]+WIRt#S5O66tJHSPCAWn;hn9g%S+%k@HbZBooT&LE)VfeI?l?Hl.BPu=iO>8]S'@.)PR8fY>TO->nQWT\EMq6Kq%q\Ss<KVW(p%6,Ol'ihjdM*GKm6sTqJa0_?aX.$G4pGab%rO6+OLX!7sZc$8,0;BF*B@T6Pa)f1[&tVFJYQ-jgd_\\[[)D:&>d'BEqt*C3fH;*sCO0"uU1m\5e""brQ1]@9>@$D.+[aOTD9r,+Lj%9V]*i3*$@dMR\VIGWarXZ</g-"4lhZVK]I3/=F<X3?RClQPqL3/<`\ph[['nG%'?0H=GPVP!Qbq#NU>GnbRBr-jC#YsMAlYVUf6)S;E#ddYId[@:k>1eVrEOW0D7c-HAn!aMGaS.<oTB?;#oT\Om2[.q9mGRj5iKcZh?JAs<]nCs,c8`cK#RGG2?<>V3B;Ofg$f-beAJu12['"X`W2cKX'\"EH6A%n#QKYsU,(j`[='0gA@RN8kc95Jaug[*^DGik-=UUQTnGbEHO5,HT8V3C09b5djXo1FM1HCS!ciYNU),Ami+8\"7-S/0<hJ%Y..(5N=[)]n=kW>g1s;<Yb24M,[IB,SGko#'l-T5PZ-PWP9-2u`c),h]2o)[\F:-_HG26GA_P,1u[s]]m<jl]S:hEp^,:)-@d)6AW+O?21nq65R8fL!?nrXqR$Y/0LmioO+``5U]Lo^fJj6E1t^2XeGn`6DXcg70`mF8dDe^%eTNH*SALr<7T*7S9%so$8HpF_q0Vp99/;E@p?j6-%.pA3-[3949EiH68$u1;JCA3r\FEMl>ek2QsBW>27^Btmj7l>SZK190B$Pt0Hbl)JY5-biqaU$N+E#&1s7%033d/Rl\tW7<SAZ'@[NHl3-mZX2`.9L+:-THi'frIXfGNJ<=E_1:Nq!"JZ;93D@X7eAP/,CF&N4*VJ?Rg'`-iEh>hfXne`-Hien6,m[)-^I^nSM1[),NiO18\TQF[e76Uj]45HRc3WugZh4WS#%g`G^a'0#]\*T0aF@QmQ;\\;rQ)dn`'Z6/G96Lf?c$blN4'QkR77X18JFoWE:(@S"35U.<X>">DZKalk[[mPUn!2?T-4@8la5+Zuh6Q6%8WDsI6gYW.YGM])YXACIFa]^kGKW7AoI]TH\gQ'-8E&0!#3,]b^`l#1V[h_9LE;%.%XkY[m`Qu^<-\Xh!N:Z3'VPrfdX?Du#PJOVM9jNHrB9/gKcU!hn3@K-d06"`b=eB'0MS9Z3W*X'cmuic+R%3rMPUHo$/^N:/#XS+B\l62`$`ZG.Ljd>jGCN##'^1Cq[fcP+F(8RXot[R4`4qAqH#dk_t$>nG.J_3&+4;/2arsPDZj]oNsdbjEOLNF_rL'p*XX25olC45L:59=?5#=JWhp.l+%sil^4VQ;T7cip<QEZk:M=)FCk;9p66$6[5l(\*4#P+HC`p2eKA>#^Egnr-D/LK*;1mYY\cM''i'esQ:ldS8!tP!K6P434$nYO!^='<l=fEa;q)7gCZ;L8'U3g0HE+dDge@(,$^DP<#Z<C><^UP)*5^4gBO2d<o!/US\i#Johlj#sYOlK^k4\P;7`ft'1n\Y>i4gH27`=qU/,p_,J^j\+iJc!(A<*gJagUNn29@i($Q-7fE+^(PUM91YES2eJT`<d5>]p\$^lDdE2M;T,>/me4e_f\fpc3]Qhc*NK8g<(I6"O44ta&1SY.iSDj(a'Ya\>kgZTID2Y(S>;j@M1lRO:X%-*X)PDW`OH?)k$a++nKJ3@XZ\&iijCuD9@;G3Odk;7e?W7'hI*t<CaQF4r]J)$ZOS!N3.;^5oe1"g5cHWZ12ZoY$#?eb=#Tr"L7Hl*NKa,LKWcY".isdcSOpQXSU^rK,+*S'umA-bjrC5`F>=4VD&r0lOl^-l_GOoi[e7(Ge>5?5dLSO]J<#FpXQ*(hm$Lu9&]S-(8UDXj6q%]o3/i?mXh\"$$!WLG7<:70s:fuZ/feZLuZSeM23C^+sqO80B@NnF/PRT5(VnL76#?lnJBbJe<hrdUIX^93%KAnW+3mW?+e)/(#)rN+HE#40mTVV%:,uunXN&9Cot%l/?e$R4M>_SIF"[2^$9Tj)<ojG@<t@[2+r$t^t%O[!-ui8VUfA[1r'dLG[LfJ<4jZ+.&emNT6]++#5MTKb@mdbs$g@F"o;uUST^\W<E1><e_;U4<Q1):gM)FMMJ\U\%P%?u=0&XpL6oul@I!^YFkA'qW*#Lam@LsPKfDXkLpg3;a]enKjZB5Yf.XFt>BT:k>Kh#-rS5Vh(K2?0p$q/8.gdhU$:uEB:SGd7?7(.&6aX;Dp3#uL%rE$;'iBns\6HmK!5n>F"*g^,Cd^QSP6#X(f)sPP]$hu`HS%+efJA:IW,7t+di`tq2S1N5auiRn:sJ8E3H4@a\#j]uMLr;If]MNg3-B1?`A;("E<fT#XBdL0kgmnEqpPFG&7kP*&Sb/(+$K0f_F1:.fi&G_k*Lbcnm]jr;3`RO5$*&@>P;*fk,)sqpc'oOaK.[.&To-.T=BjLURCp5\bEJ1GD^Sl@s=cM6s%Lt:kcHam\"/&>9)olYdc;][9K4kd9_0bfs[MZHDQU!d<.t.jVB=37jsG&N!Ga@h\-=/bVu\*d!'M/O?#V-I52tKpO:O8OX)F?K==gmQ>ieqc^G,UBjTDq[A!Ng:[Mci98>9Y+SH1t.)m(Hnq:N3T0T'u''&mY'lB#eL$4O:^A#KKYQ"c_TKI:R@No^6\1&sfMFXr9<])l%eeY'A(>u(3o%,7DKOrm[ZT'g<hbb?>UjTBcR5DqP5WDdR0N]:0@+;EDYsC@O<L?*uS<C57Bq0<iN\fVWIgdWT^A~>endstream
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3361
|
||||
/Count 7 /Kids [ 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gb!l"D/\/g')nJ06/\ttRl7Q?]k9Pi0>?SO9s\h_q^'%/Z"QY>P,M9!dbM%@Td7gE<jG8o?#4LOl\$H>,\P2dB3oBs*I`t,Eu?3EG))r9!uVs3XcQt*(:sBn0(4h7*#[9ta4#.ZY`[t(5C<iF.sf/F?QUS'ODZ2ap,-Yo#G#7]3(9n.,L(FSf<\<JGP.9fpV#'#CqBr!2=48PL=mCFNH0h]lkkIV9Q:H3i'25"7(uuJU%sF?Eu*VgG6E<`ra]WU6$L)=]44.l(\l[G1MfS1?/8#B;,V6C1CQRO+B"EY:((Sk6-'Ugc\I=Nqan:a1a2@4J4L<Gg!(8KrnI</kW-j/_dpB6ko?%S-<Ndki6"aLf*oiAeb;.r43cTJ'=Wbh:'dalRBt0uB5N,?eWRllZ4!*(PbWoni@8)q4Cec@*nbUhNmC:_LWTD&@-Vq+$)\Z!2IbH$5F$G<0L%-ZR@in,5>?@gUuLf6?0!PRYBke$SAcoB@<=BRC9HkDgJ6)'-Rd.u,r(qe+FD_%`fc'P5aTrI_ikMj%#$u8a(;$iZ%HV?/S3U[j0A\crQSkOF7C!n.E.dm'Xa['/0dcMk[e!9at,SY(s9/Ra(:r<F?u6%o_&nS9VGbE-3k]I8X>Pg!rY=#.a4NqLoa18gqT!0o_2ti^Yo.\8",3=b;N2kp[(2+1`JRoelbL_"Y(_'J1%b((*.O-f<;YFo_Pg01@PKuO%'Ye[N,?.)BI2YFo\UWF?lmu`GA7X<ZQp3QA7^VY&<UW@-UM/H-otX[f*s_jCHr4j4V!I0[/*Qf-h>PrrCZL#B[>'#:p'F)W"L*pu4S<':`e#Q=aP>dUXfr"K,Tb+fE/J'=>`6[UhD[eT;=k[YZiI!,"iDD<tIg!/>h4=<"%RHJb)%o]Ps8`YN!l(Eeab[EVR[AeP>8UGJ]2Q$<h>1^odFLn!#a*tn94Sa%Dsl+"_mJFF#i\nG"CFRKBQIG4>;(h\mjeI!0XZC%Y[_Et;U(($1K?r5g,4><(r.@OQ"8jI@GFWP?*4_;]ZL<',V]#kT^G)JOTRL8ud5aHo$3ST(8`.En^gb45Oau][(4G<eNU09<S8;7sO"a6$HP00jggi$*1P%UYFhddf]1sU-);oF>4;%cjMEkk!!A8S:'Gn\_pE[]aHYa.'$X"nT'pU6:ehjGeLD4/OdJP&F418rd=p%\d_atA8-,I[LPICek+IjL3l9!+BlJCOlR:[>W&c5PIga(rsGi\e59/25PR`)93;54=BhI_nu+/eXjlc00[AKhH`TV0"0!Zhl[r;?Il&;BD$T-9:jJPl@$K/3H(Q_H#X=#qI=\5CE2:Oh:c>ct*lR@rojmW*G@/i.0"u+=,<JZcgu5o33i#^N1RRQ4)[>>R7sL?@+VhflCIoA%uqZ05nY8W;6aI$emEo>;uLHhnh;LH@W;>ENYu=bsg\E6SZ].p_?PH)T$c4$&(J2N)j=mfa:Jp#fiH'kp&IpNL>Ik@C^8c@3a'Ql&YZ^d%g#ToLG2.nNW=r$F]I]B<-!4W\k2do70+3OM9a#a\p-6Y<FkLk31*Ald"a8J#q.?2,!\G"/u6gFZCZ7A/KY*:Z#uplC>#u-5pJs/IAB_>'g%sMjn](W0=oL>;siUFh0LoN!Xu"=h%4%i&2+lTcP8EP:.&MJAd"?-%0ti_.@2XE_KL\HaQ1Z.aU3`oAu`ta9d0$)ieNYH]Y_+Ah,9AqJoWC*nP<e)e>Vlk^\.m+Z.(dV-01rD5/G6Z!WAWFOuM`gU+&F]nI'R2QH12)ecdjL.qnsD.%3p9W.=Y5I**YJL5N6EcIrYbfae=9^3Pb>U%C6OP33CO\d0u_TrteNf9*/e[LI[WD<-<j\3rG!_(7"mjF_Wf*E?=:ud=Nm;J6hptMe,?>j>OB7$2/;*A]`T[Z)Nd+887>n9d*2(h9<A'J_RM%I^R6[4]D\++#3mY6BV@:HPtpP>",``!cC+dn;gig4i.iK-aQCQ4,H4gGde7-0A_3o*jTO8XbZIG4!R_K`"XrQJEM7Q4E#MA_;-&rnC'N#*q#,q%C+30TWZpD9.%>Y(5%;a!)01!F)N^it>"XeuR7VQ+eN<bPZ<:XlX+0^5Sl\ePOH$pL_<!#1&X,O6GaN9*AMoroOWoZH6b`0:oLZ_/e%gLMLLI9K$!_o`[DY]A8>:m&9*bo$0c=g;ujO_[dKF<h28GaV1F.Ia<E^X<uq8Y/kP#VWW5AUXotk-\T\-Q-aop;`U@ADC4@]-Hs=CK8%GiFHjPRVZG#F*6:X7!R@.lN,-6mnuOQ:=sW>U+d)#<0fdo$-TBjnUjB/:nI'*Hb5PfQA4^joURG8p:+@k3&=kA!-I`r*,NN8_<$3^(I+Z*Zg6%uk4EGl8PJN?%43&O[I=l?nq$qg;RGGV"Z*M7m*HAA!8L0(NQb!7o,BA,K'S=m:7jlL/8fQ@&YC/_L_^^:@Bu2%N/_2fQA$a6+DI:<%-@br?h,J%aGYit_ICr@"5l+L;7M"9=d+PHbFnTo4MC*%YC\uJQ(KZnAq^MA4],0XZt?Q/QRo$hqE2N[If9UcqcNoZJ?8i>ggf]FJ1W^bfN=OH"M_Fe*bHV,.'jr(T=FptJRT2"Y?JNIIpW$GM,R_e1LMnL:B6$=+),b!CK7Q3>DfH"3mCekRru``lOGm1@!>A2(iPEJ(%%Qs<Tp86@g__=Ne_YdU:_mcX,c/n>tJg(6EYIqbr8LbH2>ubJflV>$kWcL/;q]/OqaSEaN14jHg+c!]\(cimaAe@gb'B2n))1lbj[I<EK!2;C3WK:TXS/+j/kF4]-U:^XtKpJ1lu9g1.@JI\ce]^HIQmCc)VX7@%2p(aLnT6:)VgtQCgdn"q#--gJ9aNCW9ib-%[)QaUiFHc>Fl)1b"-8R:t&cahos]VM4Y<^6"P7Xd:<bZ:D:3]Y:ngrQjKop1j:%h-Q[[?N!p6>O1W]--YV#f!*Y?6dr(:b"V]N6#S"fE@PNZB%loWZ5iH@3(AK)FHTY:5p`jp#>7g+,/,;,TNp]Wdpoa:$>Mer-"+!p5Wj^#=W:5PI8ej\e)U:6<O6Ofhj@2kp8Ed@XEg[,>Z5EG?h=4Z2\1uYo]sd'2m:FI<f3\Uk97.iTP%&&!ZIsrPqlFf`PX4jBQ^(GWu&L1aL["L!<q*&@S'Q,dSO>:/ju?"B%%r1Yhb4lk-0IJJ^pEFKq1FUU=aAn-U=',l<?npP6PFAZ?Kk:!h']G6*E-G9,)3"Zne^4AiX_ljbM*l1ZRtQWH13tPF!M&_#?`^`7N9K$A=\.doQMl^/=I27J@^fH[(dV[r?(hh:-e;eP<_^Psj$',YfSQ9`[p^TChCC2@oR@7WGN;39VM<miN%ZgIk&@IaINhG/j9)c(X$olVERBj@ZTb*W6M+]cR^~>endstream
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2831
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 844
|
||||
>>
|
||||
stream
|
||||
Gb!#^D,91_')p1[.-\I]%P_k9-A,()^c35*(kr?*=#qKJ-gi8:EOri##DW-K=7*IV-B@K[kd3Yfln2@`<HVA+:H8PWr#s2>q&81+$5Xog7"a_*LnPY>]`i%po&g>$,d"eTlGNgp&H$0Ki+'m-r"7*cL-ki&)!4*2Lh8r6kTD9)IQ:70Q>6.'W.&=hg#g#(G4\sA8]4H[l.*oeiC3U)RTP1dRDF&UYP-7F*GdgFYl"VQ]S94`[gE?1q9r+r%/:dcKc@.5\r_i;MDLY!!RkDOp2B`4SO(^^`DWgJ-@2=!Xs_,Bcd*9frp++[9U)qd4-:#=d<11Zc5-D"K0FXPgd]OHj>4GMSEMK1k:;Y>HD(?MWITfEZ-S^JDun'S(F(`$4q7;B%?s[[\_*hQ$dld9/SrqZ2GP;75%Bu24Jq&^k;6p^Vmb4&6-2s*C?R>W="^.hb$s6;5%Z-R%QT6.ms1/6RX5a?:)SiEmdFQ/R?W1^]*+2/pi?cc%tY(iSF_,jVs"hL:><]C^0r'dnj5c56!>"ER(6)\F*7l<GA`AR7@fC_is8t=(DXdH9qgipji94IUDQ1&32-[#<8_t-d.,*j*kW'R,7*(-O0daR(9#GOXGZp%lg_q\!Siil[YaV;ldU2$?=,c)&'m1AmV`VS:XV7FcJ%pn>cTb$K"Hk@/HWC/DE.)lLg+GkqJ="J<KXhjaLL*\B2p,>c<'7A%,+h;FU=NCO+j6"$jck(Tl;PWbf2@6M`8"lqK7+6M=I=5W>\s>g-'OK09PP%q90@_:O8qJ#l*`b&H%F#J".p8br5%k<Bhkk'?,XV,b:s>:,@7t%sXj?Xn$p\;%0M;pXS7]9'hnb1/Jn)X*ao2Iq\ndnc<T?5g'BhD30KWY+W;GB)5Q]+,6asI8`#=<r7bkP9^n3'sRO(+]-i^I<6*>,gt"_dQlY;n"l-JPB*CK-V^oj8O-(LK)W<sUZNlcC9\(sb2IY-X52WX9f@tsBlT$af5spr78GBW.(6)aN1uaR?#-OOKFIQSc\@TEYkL;fUNi]jl_L(X_e@Q3^Y0JJ8[[.[<-t?^:."uZ%1=mB7CC[^0j5Z.)V4(DFeB9Jj*ZO>HhUfsCCc/Ug@#@l7\n^%K0`F>DM&n6KPH`aJ'q#+2pnMsF5b>##mdIVA6FWHD>DqX^UA2k&K`c(E8O<G3A,LB-Ueb4X<`2H,/0WHI5/%MCLDK)[_M\4Xj3'ZRNlV:99bEu/H["%6`#1MD^#&b_QCaLJtsCI]LOeU%\Q!N$CESr"$T0VJbk=8LmnLpfh4iUUH;R"l-8`P%^06qUNVe$b'8QK&W>("p0VJ>:C?C4=#BYiiH^L02G9^e$b=Sm5Yl#h'E]8U.$cdu+.%T%MMDb>GVF7"eU^n*KVGf*NXgcGG7K>S*"))kqU77kNprllQMq/<nHKes7j<-m?u2bl0EV0;ARW0gP>c]?e!Ro>BoDB7g!ZXDg'[38qUB??e'9SZj"`8X&n9lRQ"g(VI01Q_&n(,mf;?crZE95nV<=L?$L__CB:$%3mh52VYd1oX_!*<'h[8elqdi2/17!^b1*8hf=;o#V7aR3PY;Cc2%A9>\HFa^Lnqr@mnoWDSUE[a:MgW1''ps`XR&W?KAHerK.r$D-m0[C*5a@rj0BcJ>_%u@K@4:mYB#N:9AQu1f:BAT)n?-.$gTm423uqA?c_2P%7?DCh=%8D/25s,/SQ/*`k#E3VF6DF8gB6$]24fgGRaL,oMSpoG@Wp2c`L7O$'1HE3.Ma6)Q*j00"Vm7F*h_l=(S%Vtpa`bMGoLFkf*/aRrf%Z63u09G`r[a>q*i`IpaHVJ\'3:sRM_^FgiM:_M/=+Q+_i6%gZ]?[<GYftHM=baUUnAaGba+"NHF<Bh6j]PNSP?L2;ZuCVsY8]E=:Vo87OmQ*PJskBqI4BLb[fA^V_lJ.1>gh%u#r'DZ*9pJ1CcRI`ui;m&$X#E\Hh6iA&UrH#56OGJ>+,\8mVc+Ta7jh*C@d\<,--==BoNJa(M0*(VmK4a`[S9-tJMm!Hn)[Z,1X*LGSUQjNa1*I+J[pp[TW8%Z8-gRE0j\n2tYs8)gKIGJ`[GAN56;8LMJ7\nM>PR5IcMhoL#1rf1BUs3'+m(oH,AX]0"eUl*fVUg*(Fj$,c`$.e+NtQF&b(WphoE.;Wc8RJfMp`P4KF&fE@gNf&5aZg,]FN,5gY(Td,?GqqiH<tentS;LF-k#J+M)fXGSDS_:#E#tDdY1#kHP^M4?F(87ji5<En@eimGF<fB)q]SF66&[=Y>;:s$#:I0o_A<;"Dn9IW?4o;GSZHdC"A(l.fQ<*maF7*k6.Pi`:3mmmNn0*O[FNgQC\dY_GQ4'HJ=]&mFbnlP;/(&2fg3SQS1H?Pb5riRcb-/\fjg9sO4a/\fkV,m0E7o`CRf#jd7tR[2DXH!LW-%eG(VKE^L;q*g'mT_-"lI@]baa97K3`gVmT;Sn$8k"UA)U;/WnLB3D!QI3`E.kb>VQb_Zd_R--X@6GIaru5Ph5<s\bad2VJO&:?4CDoY0P."c$\uO;+kZs*u<*L'*!`PU`:eZr_Pm"Z"S(DPBQ`)[o`Y:PLR6H[L^](C;]b[ZuqP6$0HG^qL>U7?Ip*`Qr8Uo[r^*NCYj`dO_&N[L>^A=3rKo->kBLDWM(M.i<s*=B%Ee`&`M=Wiu36m!npa6j4+JMj\h;h3F;9T3GCAdXI42#p237lI#DpIFs\Jnl23hP7XfE*BhWCL1gaX5's^3^p?]sP0Y$D.]5I])<Q#Tb?q]GID+Og;Oq15bG=T4\rAimhX(@hKZ"QJd!;cLDP]^?:B_T'&TeVKJu?@<.g.:'J[Il\=onl)\V9SGWoY/cma~>endstream
|
||||
Gat=*997d\&AI`dk#B`n0HS8qj@HbV<Q1X_;,=kn`%5'QYmk+lrdF1<ON0[Y:^!(Irk=fr4FSDLo3qI0:&r$'0V'F2"+LEo#mYq\hu(mZ&\cTPJk/s>%SA0:*KM/00cM7,\J4gqiS_XsKOak-#`Mo`l'qb]b>"qYXH>K6Urik8"S4T>rX@gi)Wk0:_IKf#i"'<)K(sI-5d"T;lnj*Ajm4eu0Ao(1V!5mP\hr<@E$Z-:%[RHYSj[8$q/\>*LBsB-eO5[c:ckn3nN>,1Qn<dcR#rXV"k2F9.)K4hHEU,+Y0kTE+rNJs9lsIU)5S,2#fH!@L.iKdKFnDH%u/P^V`B]BRR9\6%ditCU:6Q(H\g3h??m&7^Wl*",t'\1\P3pNAP'+eHc-=Ra/,Tn:qNg]Z)H<[W4ZV/768.h8LT[>MXhhNha+p,/`o+J<d.%`eEu3+lOIS)@[lIBEk-f`/[?(&Rii/`#JImdo>'[e;hOs=^I>a_95b&a#<-gZWWpZ9R-UD!TgBS1mA7K-mr/Mj1-)%;_K\T+Ej,r[H_`#l(i?#?O9C;blBM>k/poP`b3IP@p8UsVo:CRj30TVVds4n4DYkBuS`hc]-QNQQ@"hWMY8&'Q]N];s\;r_)2sLl!rL0k_M,"F,%^/$i*mA!Toen\8*adk)Bmq][i\JK,H%NEWVsic5!rpP)IT"um[N!,a1srmc2MPp_@Vs7&,5YiJRoi*kT*9?NX\`=+jAd&IJ>`eu)[KRiGQYc4K[W1G[CDZ6SIilmEO@@cgc=K-]_4gY.#C>.:OABUNi451gX`4c&c$lkequaQMP+aF>pb@mFN[bH(h!cO;$\lP&")3qc2~>endstream
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 885
|
||||
>>
|
||||
stream
|
||||
Gatn%>>s91&;B$;(&J:(+=uF![noV`.F[7=7p^kS:=RpZO^uo6f6?<ZL>+D:nTZBU@O:p9m+GliM!3dqX)%crkAW9<^gia5^f-Q9r#AJpHZsga[kc31?=m%A78^9;RABI:]$-m(:9k")1<H;c"BK(',irF#Hh<s.Ymc\$hGB2V=!N_mL&JQlXV"51dV+]q]*"H#LA@04qiZuKlK?PBl6k?W*6N_c]WXN$gQ_ad9oEts^KCjR)[*WJmENHIOE<5na;%=r1oM5#J-AuJX1]aP>N8fWq-HX7K8>\2/>=!hhcYWT,5srk/!T@'3DWVQQV&K+V3ch-im7D]SUQF("fI[_cr:b=1dZD\L<Jg()#eLlSjLZ,#G*-PXa32:+pQYY=U4h+]^(fY#2[:<!MZ`jkt&!Y\7*(/`[*]YE.q';$FP8=2hWKLN6Cd_<'p&q0Ff#[XnkCMXcdHR)SqjO<5qfC<(\WTV<H[H^r?e7/]WQ.$,S8G3i@pkALHggbTa#6f7S<3OcSu$S20l=bsk(&)WcZ#WkbBhh[+F0)nAF"aCTXgO#;mZAdMABI7f1^6k.EukZ?8GW._1+!G0rol#8.D$r'[1Dq^j!q'h]sI/<0UkkaaKZU&-da3!3(j"0u*0ciVOb&b&:M6#t.Z_uao=KATR(kRO5)[)[i$iGXnBg[<%Y@)?Afl)6/_%FVlkuc/L3`c,RoqHZeZQ%Kr!a`1.Lj1%eHN=:k\Q_=T=i;[JLR71*L_$L4:i%uu?P)A-l)_gA0Km01S$HXM]5T0FD/6!"%Q;>06#!hgRDHSR%1P8kn9![$[PcXb230Xt>A1Q&f!/<RA4=XdOi,B6QLdtc$-RNgH;Eb2UgUh\rSriJS<s1Lp1%ibnZ35er<HG4GUi~>endstream
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9$AT&MD_`PtL;ZBnUJQ&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:ps&&=X(PCH'Wj;^H^&o:u0B4;^:%sp:ZE&Wa6R#'r_sXjY5-C*Ut>641HTb(JK2s*r~>endstream
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`Sh(bM!;,fa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#A2MA-a(rHVR:D)FhU3a#MVn+@6p(6,SFQ!,JH2MH_7OtUjbJt$1U9TU8;~>endstream
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3696
|
||||
>>
|
||||
stream
|
||||
Gb"/*>>s9K&q9"FFOe)b@"dqa[e@N\E5FU<N,:IQ>?%.+eefq$ib0SsjO\=2A6j%X`lUF3.7.:fN-fl^H[>PSDBoe`7nWegq>_TRE-<OY,f='pOt*E7\:MiBdJ"l"4&aZ4h:+h-$qhCI;)Rii8,%?XR$qE!-[\-Fb#5L3/829W5n_l69tI.B<YX#TkSZiK2N8m53-IucF-&gn58E^\._l-4&?f@H::NuF'#_!],PV7sDb*CDk_rQ\Ng#:7.O*pYfa_m9)3(,lD/Zbhi@/b0L[NBo"/e/O]$J3,\6:cP_@o49#e[\X$/FGV@R=T&'[h8b@j]:o(0MMY+j<,Qa\>p_LmO!uaj06jo'+>..ejK9b.7V[974Ila!(B%JmsO6]5i$eckK4AR%U5J7C-KU,+,su[=ff]MPRXUcqHa2FK8o'-7HGVG>(9db(eb:6+$jOOunt+FhuR$V.5*,LpGI6KHq?I)QK,LVKq6PX*=8B<W",M>Ik5%"<L'OCHI80!d*gI*^@$s=>r%8C8esh>sU;Y78lHJ/6t)+&5Y3L.cE-Q!W/<p+iflk9<o&*Oojud*@";PPL%(=4`c:@TF/rir*).cQa/"\5hRu?#oi.1FEORLY%f"C=4)?YU+)=*n=_Q_p"hG@WUlF">do;<btQs(%5hB"1Uhsf`<_F*K?V,7m7C>h5o93HLu0L5KWDtA=&JaF"?X%rV8q@qa8Ri4dDLQ8A`76A$]^,b]TV7i;6(?OAPFg?CZR]QYAa6NY[hqrf/I@_D?^B<J(N:<9VR'UBL/6g5/qef#Z9&j6u9V\79iHLpK^X4"Y9=F7bpX!I%&X\2M14BS\833lqE9]4.r&sMU=-U"=<6cnT)maHj\mk398Uq'&)=.9)7OA&!tW@_tCtc^65DI!^@dh+&?AZYL,[/Y1s!uXuf$_>.fcB(1^^)':;HGE6j``M*ff[mSCVn*&ekC<W5Fb2Poq)$BsX1]OKe3No=l>d'NP&OMATN0T3%!`/?^#C@&RE3c/>d;3=Aqpm/k;F4XCi"pLP=(.out_k;M:]du]K(8UP+n8Vh'C!Hn)*$'V/j:R.rGKZ5ZAa0?m\HmhQqqU,<6S/Z/$85cXoE`;\$=gB#EV%GMEZ54Y.59gFe'\dHaa"eB,?L3JB=F(_5CeL^$Yo'Ui^P=A(3aDbF"JNk0*tA6?$3m"i&s=mfVG3'?4VnU_&4M_7&S4NLrZ-5K?<a('_Q"Xc4Aia/Ao9.U\@\DN=EJAS=MB^E?dP&;E$SC2skKd!QEu&p;6MpA7oNT4TXtI[SFhu05,`*<[d].MWS:?#1!;k]"l/2i4Dj>$@Z3kGZ#D,G\0#q.BC+>c15qrjSEC??dSHL@I1/PV4AP(YhP4gi@3794D%FW$ms8dn;//E-V9A'f+qRXoJSpX(S!P)B*^7:4s"BZVGG;iWcU.kIicM]FdsZ4W?,\T2V81']TBZj8n',p$7@iTUQ:a/_?+&[I)TUo>@L+JBc)*`3R@C3modf9K']^'`+*OlNcGXD^Z4dl,JfTR<Kj*O3W&1L@I.3L.JtrmAWInVdiktW+P'kWQ&1bT/VMbtFU3JT+UkWV6hjalM04DZaT@'Oap:2m!sg2&"8J)k+C(iRi);gi+JCQ@:\atlJ][sVjT?@i<sJ.C)j"V]dl?C!Gf[jChhLYYL<qf[*SY=t0$)cRg^0L/clqmpa5jo3-5@jde'F4BY:_2\LY:d]=0p)ns'3FU0ZZkT3?*-B#R0c8*XJ*DI;H*G`Ft^96+7h1KG1EK]hXEN?)7W90q+sFW[tR<GtjT^$(PrT*F@t,be#o]<(51N$k-cA%RaU,p2eTaQ8sdP_+gNJRVt>_;s98e]E.N9AU-,D`\15S]2p]dpu/kEc(LG)L"j<uK@Gt8-1MPnDY8X*it0S?pOdW`4sV#mT5Q_@h9qj2l-CK.3\SS3)HWu98EaYR6aR>uc!lt34'T&p8O]C8JFooM:(Bib=PRoi,'R`!Z5Q-D[\"OpGKT.dP6I.7ibmbJIT[(_UrIM-TfRntX6G5]*K]/+[cb[!rA*:YrIm4KdZNk;V=<e"K6@5qTV7\\1C&Bo'*gfDK0JOJp\>I>ZFBpZ"_`Q,'QGSK[Jf[Q"nm"gnZU9ur=3hHgk#C<=X"*:(kO@:ji(#EP/LeD*.BbN(mJBF&9Q]NMM23.$/Yo".qg&0BKj?cp_QMAWZ,?maGPgg%e(J+\e$?@,5>W:?1H<C#2IS\oWMBBL1ZjDoQ35mQJ=!s2gL^q1P8W_j4k(8S1X0QnFZR#J3e0frG8)?WU1n!f0iAsXJd,la27DWmpP5=kFfM!e?QD9&D@p6>G-Cu&AnN+OBt7kWs6,:&onpKaDI0'>H^>1]nG0E%<?6)$.<V2Mb;-cSoL\U*:!?S4P_,'i_5>dmBh*dGH)e@9@_,'Mhc\m(#:C;+m>BC?9M@$roXr`5Z[.836:PWQ4Vp;4$_uM63+t'05q+sGkV(uX2sc_&Y91$Gb^1kq"S9VOWIYfSH]T#:1N:M(U+].?f:@\\Wi:GbVu][LrS3AeAeBXT+J3RiC%3D=A@Si6cB>l2I.qVGBMF])2I^=5o8iL@Hk?W$'p8+n!7\1!e'0\/:t`b)^MaQ[A#'I0nD-=E)g[j6!$[E0:nX[MFm=(#)"[m$toX&;8FOhIj=Rb5@f5&7r1`lPTQ4OWD2SP,NmYT;et6^q\"a4Zg%ftcP@<q8/'cr:up4)`P<#I5BW_eIVeqYT%>NnPslj65_5;Ld@OY5_o&kPiW(L6T4Jc28l^<(g&;1Gd0l_L+SGYUHc'#ieDt5:B4(QbDHjKCEKh5S*_..^q/0BOL0"^R@)(Eua##]Q<lr%(c\?I"2EWD4q?=4>$UP(7`:;.11Nb(a]UbSUP5?QBO!f9"_N2e/SDZE?OS;bnJp,c9#WtU8_O6T[]W`u^7YJ?;#4t[\ZblEj2MTGcX*<3N@\(1<r7G^%O]Rm^@7ZY[<jTl!X_h(,Aj%,JUc4:MDcsMd:d5FK,CPI1VO,n8dmE4X>[:Zp+m\qQH[WolqKS_`9+56jMDrKS,NWP!2qGR06GD(21>47s^X:[5!e%K+:A`D'/=M0f8aW(fZD\(aUpn5pa\[j$#IXNaRn_:S_cl-f+L+)>T+!.l8uWg(0&Br%S0\2h4!hi?/VMCFS[qJKbH%$m^%@P7bcgI.]q2p`QPp&#q8N4](MN@ROB;K`6B.M:<W=$ck\]A9lfOHQg+^%]ZPXEr[u*Ko-IY3!nEaVg&c03\O+C`Q!N8akZo4nO>H+%$c7J[`VDJ>9Ie^d-G0rR?7\m,YReAZqi&[ZP>=k5Z#Ji<n+0=[+YYt*-pOEuYh=maQg8h;rG8(!d5ad:pkWC14]j4'hKUXU[]0$oQC"tZ26lJl-keqb7=5)m`c8l$TK:OnZSOLIA2C7^SV-uq2#aMMbdJg`B^-W1q/t#A30Gi5Kc1GR?LE8C_S&b];^hR5ofP\c9"IP1Ocg<tRHKOK>7oYKSMrfi%5>U;61/hG[2t-Mg-Zb4Vpio8EkP_ntV;-Yd=JbrOD\M6:`.#0bZOV[0IBqHhV9Iq;(5d26hqoW2&Upuu1`1640a!.P&[%c#_[\*Nn1')qotr"bUD?$3<[//6\f2';hF9rI(5;$b'WT`YB!i&9>?^pt(C(9Op=BM-HK1W*W#3kGd/5FJRP["@d!'ic<"u)VL*2m$=3-i'8WoK23?nuoI(cH_8,ia*B39T~>endstream
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3406
|
||||
>>
|
||||
stream
|
||||
Gb!l">Ar7U(4OT5+L"t`9cI62m[5Hcign<%BdV,!?NMbqMfpp%M^g##PPt0$.*8cr8f$Zu`>"6;Fsp7DjEJ[d%n7oDi8Sgl6KmbGNMdV%K'jB[gP1^UhP89+UX)H?)X7*QBjh7\*V^qbiO,C]reTZ5+pVNqfhPod9O)[k/L20:*$6&LCO3^Sg>AC/9\alNOQrqgb$NFPA:UoE%FVYS"6dVA3d,3Q35L[`9!:LCI"A$r)n&B.R]kY<+n3Wh9-KB"7MGY.]))Tc*D9SN_U"MhG$MrWb[=*;954WmRcJ'a2#9?B)+QMX)&4%K$#F1uU*h;7F-JmY#qBO-:J(BA#hYbLO"+<X`#"64o>f_\=_;&L)g_g+HTZG?+=+Qt(CrT?7"M<HYVQ]lO#ujMGTX_bFVk.pnG*VOF?bWuLa<aa%hVN&1qC.`,^=\9VS[\dL+VE'X:X7sXnI2S7b77?O`cGAFb5$@98He_B.OAJS0g@Z(=AZ7&Y._EO[!LBpmbrAPUqk':cFT!"Nu&&QK*_ieDB<'GhT;YT&)/mQ8`n`8c,=/Eh9_Cp-S6`auY'U#27=Eh%Rirf_,S^\R9L_k<@,H27QKi)Su!P82?EN'SS7\k)D9.#P3]&g:Zqj`3f./GZ1C4$LX/Fc!ZE4d#@*AUIkA=bRA?E%VLMS07mV=BG6rA3=!)X#74="(V\1G#uQlI1lal9:P]MU'+`J:NKX/t$:oY^TRVOmIiK=inSAH*p@mshNXQ.U(\WoH<i@kK@Pi]b[4rpglGg9ih!Hf]a)X_s)q$-NG!U2u"h%g6#?mT,YkK%Vd+WSlQ.P5M<]uAK1Po+S@)jbCLKo&ZfIkK*h3'4m^M[laIr2I;FptUC9cLGH0g#s_ZFP=4j4=B:!l>37J]HF#Lkn;[BF9SP"5U76MBeG2V5YWjkB/%P\E@gJ9R=`'NHku^-^J6c_^`l:A9\Rjm&cCG3mHQJ,@DSN#R&'=\p&tDmT@AU5gomf7VbP'dZ])+4]]+cUj43bTqEn-WQoOM.[]5lKPtPT2FQ(YSm\aMf-P+Vn1[!$<%Fa6Oft.DQ7N/&8<G<G#J(\2`rkKb)PbFIXb(\u]?Z%oUp"W0SrmHO4\sfn^YK_Ri*/h&mX`[`>RJ1Lh+8lLHK^\RU<YjKLj:J?>;21!/-NUiJI8_QdEL*pno0pfgWVdd'O3-NE2Er5e!qR6'o<^$9$"h:!rm&\,j%gR^Z7`s=hmXiXYr(m4(?pPi0co*`p*oQljjt5190>".f^g1/%_UN+7o<#ki6g?2:,f8+k16ZJK=W\jFhr&F0rCQ[6lre$DAHf'e(qGa-Ml-dqP9lpEQ8%G0q.dCS4&g'[><&QEn&Ch!X(`E=I"db/B/a/BP^CAF.(t-g:ah'J15):223]fA`8iO48RcBjEVkEafJ<&X>:Q&+&gU)MFo/]&RsMM$5sn7'LeW]H%g*gU[sAc?c&K/Cog`A)[C#7D6>ThkKE)odq0,1`XsOH@6/+88SQEq\J?!R^$*%eM=M+\VU6:;k6BshKcur:->9TW)p]`P8qCnVfDQ(;92dC_>1<@]<SR@kJIW2I1PO%+:#1/V\ulAM+YR&f:Eb*&a^1<(jguJ!$+?$:=(7Z\`gg)"<9VWF:VW#cK>#AW4$?kAmc]GrO8kfLq8e$pKB[bZV@H@\tJB!+0:nE8e^R4l/++2L3]Ffp)7i)0`(WfDa^t,iWWo@1-'p?gcpRCjD7HK=F'uT#@<bhh73U0g/QTfeg>aO5]A4"161r$,:epp075@uUh^M+HILRSMHPM!euZo7/'S89BJhj/hbXRfgEecd27I;L":5B,[`ImJ;0Q6Q?,Beo_+g]imaZls9+5:?Uoa`79gc"ns8PX=-j6"2M5nO_%T"g^#rCg=]Q8c\dm7Fb]gYhLS4Z"I`]GqNqaKC#/uLe]pIhES.g1a:M;F:W<j!#o5Tn&W6g\fV)Yr-EiD+<$.q^r7NBoQt9FtsQe*Ce"7'-]-q\g8+O0KBMb@HE=\Y^Rp^t\Xs#'WGNSZo?OR!V*>qnoBAmuU5_pT6PU=!$5-aAV48<Dst8FC1k,p=GsZ8ZrL*je5KCPMjOqh-=6$Agh+X"_'f;;5>W&Jn>?Y=k`3=Ng245$7a*EcV8eCZ5&YEGDPgLV[NX(.YNmeBNu?Se?Li,l+/U\"c_LM5-%Q^ZiZ@ZQTo_KbCr:J@D<Q+acgeW@Y1<h&$%1jFXAorVaZh+W`0!Q/([Js'o>$#N,elZ`@Mf4\H[JGNlKJ!-rUF4".T_n[Ea"ho:1Z5=ZZCHfk^SIg#OXfS,N;jjou]AVo.7%qSoomrr-lB57gPt9],>5e*j^6Li:lIZn8p`"8t=?cO#K(<E,j$UkP0)]S[[naA`K[fcG3Q]+PVnUg?XER0%5$au.9sithoM.3HW`NBIeW%etJG'7)mR0%FX\rlP\(WElh2_Eh*n:N8g1:agRG('::>L=V&"RY)=TG7q,W=c$X;"V>.Q^*j`_.:UWo7TUMuq([b0;#q7T99mIu_/!JIaT;p?VA[NaDNO]@->?.\A.0%cPNHX7IT%:Xo,!ZLOl3VIrQOKSb;T)EnWBmMGkiL5=:"E7EDc(k_6RFRS?:/9l,EGH#<:JadbkE,&o<AN69GtQq0F>G<osG!mk(i#R7o65C^9AUl+VTh)!((bQ7hWu^O,k=.5.kB!%dmYQpK&Z/30i/WaDVTAO0gsjt*-!>%?Es#Fo5TSQdD[S)\%aHY[F4H>1TjK)&`n6Np[J;3\@da7/K)g,5^h0\Z/rlaY)"IBetiN63P9$k+]1ij,:("Xl;bZ>%Ni\lLjDFu=ErFRM`/Ze<\!Dj2+$(maLI?@dtsWufVj/jRL4T<c/J:qj"a"Iq=,AT9J:Q,U$c6<3(pG'q32(XSqHq_#ss/4NApg^g!KWm#)+Zi0J"Gg43"RM+Qg'su;+gs#1/[o=f1MA[;lCbDG=cc-._:Hm6kQnRVZ2mPq1]=bkf]`$1Co(Hhh*o1.o?XE\;[s-EV[7VC&=lA'5>dJgqX9N?jp/-@q8Cm?2WZXc%4d@L+5n@E]HpB&^KafNJ.NZe;@u:-TM&?t)/tF&Y9i9:*dn'TZ.gkB*BU,t;jkD_jr]!'D030sb#5cDf$FC%@KEK-$bl4&7N*RY6p=qd7A>%h%&%Hmrrid"\brQB'%0nn?_@r"j`MlhIJmd@+Y,!AoEL0WXHl\Vt#PA-"XsM&MWYD6P^a`KC52K#R7D*$7(B[B?#;$"8?3(EqInjOZh\&\7<,:#+1nf%1JjRZ;Q-fkN`ghdSg&Ns,\1Z4PYc8Ga=[Of+XI$%,qsV_:Wh>41:eC7oF#(=XW[fb5^.ugkL[6nVel>\I;1@!]A8E5-4A]QEi'2?srU?sG@X'fNSr;=[gDF7:#2nU#'+J%`b;6@5$mq"n@-e]hDrdWIgARcqFS%fjZVoW~>endstream
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2946
|
||||
>>
|
||||
stream
|
||||
Gb!#^D/\/g')nJ00u/3W[]qCKeS9'=\Z+V$025?bf``,l!nj;bD.QQpaa(F(^I.;*Z6EG7>9"DElS':f3A]a?o8H@.`ZHE(?Yf^+c!YK^J1**U!mr8&B%J`.Sc!Us;Ft@HaXY]SYkTl;L6%0orY)G0HnHZXcu_oYLgiWAW";j/rc02cL27>W."A*i%>Rpom3ssd,P2mHi?:pud]4'NE0,ms_I=3NSRMqu..99mJgDdN5XCPp'EpF'EU!D[9I'2DYUG6)R/Ml*H8=0KYP'=4BJa,%4a<7t@X@_U?gJa2lkWQ"75AC`[r-2`V%)L$Mk0M..>?O08D6&2g/TiOY%g2M^gh;e#jl;bh@!F&e$+,th&#)J^R1&L^H>62GIQ&SG^A!V6gM>#"nS)KC5YU?@<rqOgQ8Pa55(W51\Fj86\oCq]Da8](7#J``tl*2"X04j?!=uT'm.m@7\seYo`"gtL2"P7$MIppUDA#&Q$-=76^=sN,;30RJD-tE]=.Gg2)05E&([oD:`hU>U%$_+)>nZ%!t474q8^s*E9OX?TF`g'Mr<(Z/DF\GS`6En[dfl)I0V?LVI;lD>88r]gJR;mruAQ;lkk//3dnSq,C"BK<!3_5\Z2"()cP)%g\:fe&OlJf"M_PlSS[]?JS,%%"J.dF1Z*P3,q?6T<KXoaqeWg-!0:ZnD*%ZB3u^DD/hY0<pJ4jtn#d0C:XV7Fj,NGP\6%d4"SO`[[g65-gi2'kLg0,B])IlkV^+&Hak4nYouf\WSM/dA(pjUYlQ!>F?AjoJ0Hg/6LYT.6R#PNtQZ$R9lumPrNq&j:a9l*"RsfBL?V'iKD!lVVcb7e7HL.Ih"M`s25>S)K@VU.=b+I/)M58%IW"(S!d\>m?4oQ`\'mq2Im,mF.#s&#A(TDZ]MdKls8(e$2]YXf3Z3`'tKaA`1'?]0bP"d?^Q(/)n\U9M+iEPR=BY%^_F]lU;Y=k`a7&$h"0M*ln3b:[#+W`Epbg)Wqs%kglQP)uMBa>ap`<;<p*d](/CPs"V&[uYgot8`'HT\Dnr#&&Q<MQcY8KK@]Y(EGVKE.17/!dVr/ZR6T5R=WpTL&_`Z-95'lCj20g?I.p7_R@!-5R9@7QCHcLse:PrMqh-6oQCEPc\H&hT%IOc_Rim&ImcJK]5)j?288sr.mK%$8=)(Z[XO,.;?7W'kt80MQ8rk]!7l^PJ:bIWG;W).&UieUZ5X"gtf`RCLDu@q+f"98!J>Tm)Bbd(EBM4Ct0`DSc(^]1l?YL.lLF6RtjJra=>Gs26.@$@q:KO#fBIgY45^]5=0%Mil*'?#(bXkSLB+l+!?,5.Ja&]UOb+Jc7m2]!U8sIUZ9`Bb$V0nn^%d7?`m3e:#T]s79#+4Bb@u'["(&%C+n-po5F&BLX*@ZTY;'nf8fqqSH;e"BXFX=hDi#MKp5Y$">KY(JK:p)e@IaVSK2fo-rdTq.(&,5-jTL=glZf&0KHK32/pGl(gnDAm(%nVTlu5(?nZsIVK9C1\OSB6\P&9t38U2X4kcg9W5-,CobKaYm*Zimo5_bM31a$>VSCS=E03HfjplKM_Ac.g)G*hI%pGduY(h+CBmXO>+^YhDX%F%[:WYjS=@39"ME#,t:>mmr6<mW[_,2HB8&SJr^ek4!-b>`d"MVQsYhPa!)bF$(Hp5X6CKZ4kC6C3M<\5iK'hsiiJTB'ZAHajh9R+CX`!UZih[Y7"4_$s/=]9f?7#)'k\K9SfCg^<[;gl>V8c/uh!hTbH%HEZ',^2OH&s&r%&_hNPS"&/jn!NJClg4mp`uN?;nPi*>;J\)$l1JN1MC([;`$gNILjjV$$L*_.e42VdrF\'"rW]R@<-t*YJX5E/5W@0,M$-sG,N8Q&5^>C4M"\ha@=YA\'_^.s!4BrRo0*7U.iD=h;^4\JUhY5cn@"2`UJYqe95MuP_n8i`K17on`pR#7o#C*TIuH=pii.9YH.%:''%5G"HUf`lr1o6#/n3$S]6fp",AAUA^.Kq]mFP\G!phVZg5fAhk.T?AJ*nRF4hSdKS$*9UmI$=9!E[:G4%,_F^H;?cV@mklV2MQS6qMaS>pMFlVTugR3kOEGc?&sQ#ufTd_0PL>pGu_(ZBsdj)jf?pSW,he^"qT59Noe#iun<(#.4#6^TH:r0p4p.%sJYK:<ug&jK(M*)"1[=9YX<VgkF#p4??NShDnUgptT:m>oB\Y[W4AD&S40>i8fTG:>YO8f]#!I`aCG-mhZQ_"OrGl9Y^X:juMq:/G!^kMuSiCH.%H!Fm$mXr!k8oTD&T<`='VZ8==2_hF5)L)2*sf>U9(1_F#@rhD8`GDrKH#11s>_n5&2jdknB>4E5flY-=;5U'Dt#M"=F)8$((dM:Zje?[@`N#1J@6/<,#M)nNOZSbsjtBPig4nmOTmSI=#1k^oN27%H^24antA^K!YN>^Ug/r+phQn%=B^Vt7=o>1G1G<"5[i?`TV==Y__s"c/HP<5Lpia_2P6(BNLIG?fV$9?aC5CCn[Ndf7klF`o8Z'@cRfCCXrC$$6*62$&"kJd]T5r=[R"UQ7ho:GCsQnG-;*Unnu<4W*#R(ZnrR6[nFlQM&C[;18Zf)Fa@W[U?8\d&Q]a]+tQ![jVpsB"2#80gS9n'Bg'FhUk\+U5Eb+;t/j_p2kS.qn'4Tg?]H/CgA%2L/"\X8VVTY;dXd4^>euA-h`/_gYA>**Gp;2r[=d5abC21+o+0X1qLEu14$MOO(JpOn^HTA4T8h!s2KZV7C6m,/\[A[`@RfrNF*d1B3.mXn\t:g\+0*)Ho(V@4oY@S_%&0pPWH1:TCh+4VsfX7EBe.h"JO"*Q[e&X,D7T`=M,_%-^"65r`']iO$?8B+iN^6B's_NaF&R!Bm>B)R.)+XI-Wk3'OY+bWZ$]Jo[jNh(0`kNc]>!mm?1/&&CZ1#kDiJuSQh8>P0/B-\nXiJBF`E+P"s(p(u$iT!9W-!E:Pq+iDT=~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 48
|
||||
0 54
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -289,44 +340,50 @@ xref
|
||||
0000002279 00000 n
|
||||
0000002427 00000 n
|
||||
0000002543 00000 n
|
||||
0000002856 00000 n
|
||||
0000002934 00000 n
|
||||
0000003040 00000 n
|
||||
0000003124 00000 n
|
||||
0000002621 00000 n
|
||||
0000002727 00000 n
|
||||
0000002811 00000 n
|
||||
0000003017 00000 n
|
||||
0000003330 00000 n
|
||||
0000003536 00000 n
|
||||
0000003742 00000 n
|
||||
0000003829 00000 n
|
||||
0000004140 00000 n
|
||||
0000004215 00000 n
|
||||
0000004325 00000 n
|
||||
0000004457 00000 n
|
||||
0000004592 00000 n
|
||||
0000003948 00000 n
|
||||
0000004154 00000 n
|
||||
0000004360 00000 n
|
||||
0000004447 00000 n
|
||||
0000004758 00000 n
|
||||
0000004880 00000 n
|
||||
0000005001 00000 n
|
||||
0000005155 00000 n
|
||||
0000005280 00000 n
|
||||
0000005405 00000 n
|
||||
0000005536 00000 n
|
||||
0000005715 00000 n
|
||||
0000005860 00000 n
|
||||
0000006008 00000 n
|
||||
0000006111 00000 n
|
||||
0000006193 00000 n
|
||||
0000007236 00000 n
|
||||
0000011002 00000 n
|
||||
0000014455 00000 n
|
||||
0000004833 00000 n
|
||||
0000004943 00000 n
|
||||
0000005075 00000 n
|
||||
0000005210 00000 n
|
||||
0000005376 00000 n
|
||||
0000005498 00000 n
|
||||
0000005619 00000 n
|
||||
0000005773 00000 n
|
||||
0000005898 00000 n
|
||||
0000006023 00000 n
|
||||
0000006154 00000 n
|
||||
0000006333 00000 n
|
||||
0000006478 00000 n
|
||||
0000006626 00000 n
|
||||
0000006729 00000 n
|
||||
0000006832 00000 n
|
||||
0000007767 00000 n
|
||||
0000008743 00000 n
|
||||
0000008973 00000 n
|
||||
0000009201 00000 n
|
||||
0000012989 00000 n
|
||||
0000016487 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<ddd886f869ceb4f407d340fda95ecc82><ddd886f869ceb4f407d340fda95ecc82>]
|
||||
[<0fe2b532305c2f37dd6c62ca6bdde964><0fe2b532305c2f37dd6c62ca6bdde964>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 27 0 R
|
||||
/Root 26 0 R
|
||||
/Size 48
|
||||
/Info 30 0 R
|
||||
/Root 29 0 R
|
||||
/Size 54
|
||||
>>
|
||||
startxref
|
||||
17378
|
||||
19525
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Alpha soak checklist (LAN demo)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-23 |
|
||||
| Last modification date | 2026-05-23 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | scheduled |
|
||||
| Document type | draft |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Manual QA on **two devices** on the same Wi‑Fi. Goal: stable show path without experimental transports or stream protection.
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ Manual QA on **two devices** on the same Wi‑Fi. Goal: stable show path without
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 10 0 R /F4 12 0 R /F5 13 0 R /F6 14 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 10 0 R /F4 11 0 R /F5 12 0 R /F6 13 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,32 +17,32 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 716.2874 102.157 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 762.0394 102.157 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 705.2874 122.829 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 751.0394 122.829 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 694.2874 137.053 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 740.0394 137.053 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 683.2874 89.69304 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 729.0394 89.69304 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 672.2874 105.709 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 718.0394 105.709 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 661.2874 131.061 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 707.0394 131.061 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
@@ -52,32 +52,22 @@ endobj
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R ] /Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 25 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /ZapfDingbats /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 25 0 R /Resources <<
|
||||
/Contents 29 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 28 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -85,73 +75,134 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R ] /Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 28 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Outlines 18 0 R /PageMode /UseNone /Pages 25 0 R /Type /Catalog
|
||||
/Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 28 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190926+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190926+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Alpha soak checklist \(LAN demo\)) /Trapped /False
|
||||
/Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 28 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Count 6 /First 19 0 R /Last 24 0 R /Type /Outlines
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 28 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 20 0 R /Parent 18 0 R /Title (Before you start)
|
||||
/Outlines 21 0 R /PageMode /UseNone /Pages 28 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 21 0 R /Parent 18 0 R /Prev 19 0 R /Title (Happy path \(~15 min\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Alpha soak checklist \(LAN demo\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 22 0 R /Parent 18 0 R /Prev 20 0 R /Title (Stress \(optional, ~10 min\))
|
||||
/Count 6 /First 22 0 R /Last 27 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 23 0 R /Parent 18 0 R /Prev 21 0 R /Title (Pass criteria)
|
||||
/Dest [ 14 0 R /Fit ] /Next 23 0 R /Parent 21 0 R /Title (Before you start)
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 24 0 R /Parent 18 0 R /Prev 22 0 R /Title (If something fails)
|
||||
/Dest [ 14 0 R /Fit ] /Next 24 0 R /Parent 21 0 R /Prev 22 0 R /Title (Happy path \(~15 min\))
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Parent 18 0 R /Prev 23 0 R /Title (Not in alpha soak scope)
|
||||
/Dest [ 14 0 R /Fit ] /Next 25 0 R /Parent 21 0 R /Prev 23 0 R /Title (Stress \(optional, ~10 min\))
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 11 0 R 15 0 R ] /Type /Pages
|
||||
/Dest [ 14 0 R /Fit ] /Next 26 0 R /Parent 21 0 R /Prev 24 0 R /Title (Pass criteria)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 592
|
||||
/Dest [ 14 0 R /Fit ] /Next 27 0 R /Parent 21 0 R /Prev 25 0 R /Title (If something fails)
|
||||
>>
|
||||
stream
|
||||
Gatn#?Z2Df'ZJu$.F)EaD4^b-L:sG;U/$WX9]7_Sj:\Ap!+r[GW\=>;1Kg3G;**)SZ31fqlgqa?a-V@3`HKS%!A8G@S2)dYHjpjR#l+m9o$Qn<H]3nmP,'gl+Jg>_A5UDU^BmWFL]rUU&h6fk)=oCgYd^C3-elg8j@t`o?u[j9GqZsd+A@N+ML:-JV!^hYB@I,SWJaJV3KN9H2S$h"2eI>TJc$>TGPLYi0l[*tlP+-O8:4g).E`?Yj7b:/+Rq["emjJad/Lokj/FmF-F<NujQGP"j;Vf6:IP4KLaD#Zg``0t&8WFB]Ut/N)p/[#*Tu^behCkRVY.OnD?+'(mapc_V[fQ8%^DT$V-Y+AEGr:)?<KKXS;MBE?`C3?8#L_P4S',#el;%Q1+sjt)*\qS_HZD4O>i`69WRIQGR+O3'I8*b&Pdr%<PU#!jgD5?!+eaJV>PHV/o[S6=gb_@X/[6!^a.4N-%BboWYXkR8R,[b4bQ+_KVe%SCRRY"j?*XZ@?cSC;6hl[>Nel/V[8ZZ9/p5LmQk-d)i$Lb2gn9hcVsb@oUWE#^/Q.kgNCO0jb?\D?A!!NdTB#"MT+d4#fg0M~>endstream
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2557
|
||||
/Dest [ 14 0 R /Fit ] /Parent 21 0 R /Prev 26 0 R /Title (Not in alpha soak scope)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 840
|
||||
>>
|
||||
stream
|
||||
Gau0Fb?s#6(>eXaS7Ti[>t]VmYY)ITJLRF[K\K3Z_GQ*na7?Y";E"L.kK'hd&'']=IVB+sj<NnNYO<Gu^r-c*IekRF:K.&`R/ip7>l_,=)lD6Va7SHm-`!,D4,,h=9H1Y'cu?(KNR-Q;5"I/+e8Sg,!b1H`lV-;7$T,1cr!7qY/501Hho?j,GR)^4E>$MD%Fh_;3WCOUSeNEgir_GI/NG(m`SlS#7dYT1>\t$i5#pG=/.D;PZJZ-(`?#'pZ]rcI0su[ITp@H6^jed8(+UFUgmj7)Qp`]1$-3sUM)ed+'MHDn-"L\"b=k\h4Q#\8(F$oh9\\#-2,'[_cnidp$)V-7Nnlh6o*fB&_ZLQg_fFQ896^U48=\fKeu5%AV.`3&Sghpl9XF&rRQp=rN&ePl<+?uM7`a@.*YXlZ*Nuo;@1K9u=C>5UfCXf*GRbbI"@\r9p__kmSWQ2EFl<G-!*<?oU.G53VRXpc.7PZ0L@+Hh+c!MK[73=?inQH&Gk]RLbWRD"R9e8^hmC2lEo]h-D#'pY<[D.<H,YFe-,R\lbn.oQ9[=^O&fo8CgaLi27g?5Tf0f*LpUU(0,J,QnqgUCsNnn,8;I=HJ7Y>l[3XO\'ci&?3gL5-rL0?0G<;N5rl$fJ]l6lb%%9@2;@)\AFS@r]E'Pqe@6BgdBfoB%075g7=OWeXulE0.L*?L-Ys2:F#nE$2;m5T2#^TlZhK=WsUF*p4NG"@Z?,6-L,:e'd=f\H!b#,sKmPb2J`ikPm98paL`5mQnX)/X^#k44CKjL<..P2!;sDo"cYkUI0;P'256#@U*$GKAd(Q1m-FPkYgYO,WsPmT;0X'cp7?WE]lF*h^jNGm?]a,FnbMs*pXX6gE>7JaMp<5>RC64dS!6[Ebds'u2(60^JJXNSETA?>[]20uu(a"*dfU+HNH1i)Mdfm%H=f=60EgeHYMM3Ik)%2Lnm)!-,)FR<if%7C>(tFE>h%E-5"dIrAeuY2c2@>KrD\[;Ef3-61;.Dm+&?h(KUKlWNJ.:16qO>4sl9T+1]E$QhBb&?RMD.LCn7KUgBaI.j]F%<i+qg2@p]]jt"4P1KuG_/FGdPm@nRWbP+<1orBI2"hoih*Qf4E"sR(%YAi21Zo;5j2W"mN$TI`[pO5/oH8-\7B+c;#A<8nf,HTUla2h.SSbFo.hbo[kAHi-7NJt35&67p/cG?o-b:"C5U;5B-2$)u\54Z[&3e8mPcbW435$rBT6@M#8(V=#Z*nh[cDgHNKs[0F"u+)F&b?,W;C&tE_g(Dj,SL+*3j8/eJAjT6W5D;iLXFpfgc?^0b]sIXMc:Vd0)BbIRVs52n?r?61.8^YJt*99h#bp\oR\AMnA.o:!(f>t.+V'VIU/Ogfbl.7hNmB,GP3g;Zn.^L9BSY,pf"/+;(#A3LjcM>f&iJ[lrdRfeP=#[bOP)2hS?`-ge#I!06*>Pcd.`](WsfL)EalTkFrD2,7MIm2ZnGd`aSAbAXA_3?O<;)\%#tS)olKrmC#&`m@)Dt>#d:IM[gCsW68g#1:'S0"C4c2>"to.9;K-Y`"U?!1=@+N_0brObc^3[*Y)D=N)b>%Q=n/-i"P^S*b1V4r>#C,Y@iT*RE>=-(=6Tu<'+7aU6G.AmgCIo,jQ+U>)tJ`dNhI$OGEn3%VVH^.66$e)`q^rcF*;:5,Ma2ld8U70?hmIldWt:d:Fi2pKD)TkT5P[?4`f)&tLl&L2+q$_.9ds6Z_W.PB1)@O%e;#QQoX.?b1H>[3#+J^^MDhLQs95XWDC+Y/`51,%qr^6S7GRY12L;@\@"eNl(N3ID([DE@0F:hRC9hdE$B](HWX`@d\F%(M0o%IY/]manSR$[J8u'LadhFT]sE5&^F9R4np<<<DN%"?&5fJ%f=8VWs'bh`AMCkH-g6lH.,V2KsmS^h;7`M[4/W7:;,oj%IFV8qqK^SEaRYL[Z9c:^T8V*=,jF_M]/b_p(;_XjSi*XT!N]YlN;c,`k'mMEk((r)f8M@4)Y>T-pgoOjW1RHO:e[Y^&+imd9uAn2`=4TGerkj;i:Co2f5@N;tO>^8I)h"'b89Ba$Sa4kCmA^I/Pt.G4W%"f@]S*S_5^.>`Wg[ZpB"!fr.,Cc4iXKKXhi`cZU$!FC`QW4hgl8%c_LL9//s*rD+<V6"!t52S]4SdBU>d8tF]^;J6O!TpHm;"h/S*a`c;,N[lYK1ZGjnp75OV]H,Zr'M)@BLr]Z28&3P@m3Sc&Zm"grrh8/Q%;?o%6a"C9fWVb-akM"Y.37MBcs*G$MCgZn'C!k"7\^&=TW-sN'9:;F2cABVYTR+)be*3J$[3"[m2;ML`3?:"HSLTMpK&1#&Us5)];bekIe)`UiYdAQs5cM$SQKLkoY#G=q%(1<c1p;AmU%DbfDmd9$O&Q&J^qd+#P9#f:3=IqImnqXKgHm5:*aq<e6u;<BYR8`-aMX,@mhUjf4bpi2TJO+B1B>.2<7!HhW=DOs5iiCmBdr_P=nSq.mt#;O2Q(.o=g"CV=9foFpdh0MLdTC8ph&BVI75XQSIG2MfnL)f<djl?#@dFleBUfZ,4a`)caKP(7b:)DC/oA~>endstream
|
||||
Gat=*?#Q2d'Re<2\;t@#\A%rq8+t>)>I:LAg/FgS"_XM<Td-@3s8<?TiF</pKG"[IkM5+XCO?_mIB`KR`W5IT\@G$n#6"s+&-;bM55LI-'7?8u,Z0St!jpO3E`ZA5*@B9E>]LtB<E)%FZt-=)8:ODd-Q^0=n7*Dh!QmM-@sJ(8S=m<($@W7ZDtCUO@$_!lY[![ZdjEd[n1^D[h]Oaqno/^TrZh3i0P^`lc9(ond]/DM8uncO.YN!"f#ih3W5W#Mon2BIF-tg]8IXJRa(Okmik+rM`*oXD6\<g@3P(;KT:d1iU,>:mFr]tXF.:(W[*1.2aHUg56>BnND)q3cSAXQi3M[c3cu)Jj^!,i'+kE!*eJMV4R?rsiU78VO-k)Ui0A-<&`-1^h<mm_CSQi0X#=W78LU;r_k'SML6m=%Z1!Dk7c/,gplf^IM4-i4(*W`Med+`4!,jhk&&_,Pdfn-[?[__C^m*D:dE;TF[i4_-'d4S&"Q\CLY`X\toYRU&"'4b,nKL+2Gg(Sdf#@Ndq)3m"t4*7O>2Tu:#0oqMP>"-UX$Q'qaf)im0j-*VBA@LfC<i'\`mfi3s.p85UP=F6kj`n\R@hV?/\AKI0m*HsB[A1WrGIAIspR;ZQXh-ql5:"F#Cpk3lYKo@2&*=DO@$R;@rF18;'B1\tUocpdmJSD:VSM*LD')ig;?".X7573r"16HMCD1J^c4K*f6@FYiA9gaC+/0LmD1LCKUDjbM+]JQ;.YMIX7"sP."L%')asmuOoO4Y<h!q4GleT,J9VEX;*A#Med/m/qBXb)Odj=;H`iLJ<jI2`O5IjH#M<GXbj:pPWA0V[ondg\fFB/~>endstream
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 535
|
||||
>>
|
||||
stream
|
||||
Gatn#d;%Di'Sc)J'`V`*L8lJ&QFshoX`UX\)>.QKW1MF^8M!Y8<dN5-TBq6:[=ObZ";]Y1qS(kM?ij,^L24I+/h3Au&kJ[!Jo[0P]#LX_np<]Yb$;5=9:eL"`HYGGl+Q_VE@ir6JRrE/Pm1/bPW?S;:"#I%KHZ@jRi(/#&>COG.s&>-E(e]`NOFi*%+R"1ms=^%[#XYarW[h[`tS*,O9YQ8>rlooi-#CRpc&>HQ`#FBRBCm%BAs8Vkp&c9Rs&d066XgU;RhS?L61o-MiDMsjujbaUW/1I[g^,NOh"%%[;Vf4N>Y$Zi`,!b9*D`3ERhF?=INhXAcfM*(&k7lBNgct[k^OnX:]4!g".7%Z=KB_e2nX'd$j2d6'@J&b(B,1Ij)qp?8I3P1jOSG*u29V[JbX/p&&Ruj6#+_$et[!63r9Ql[F/aC"d^F^%:PRder,Or\X?*qLH(2&Rj:6cM)<WQd`%P[.VT;^g;\*.OS*tT'q$ZVb^F#ip`<2-\BPV,G!O2,a1WBLbfc*L]!3ca^8-/-@Z~>endstream
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``PkDdF-fp`Q&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:emFgZ@onCPq82Ws8G-_Tt6^R9oWtig34W3;D"0MP=sG_Q,?.RGJoD!mbh^0(JJ'S*<~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`SgmmFhnNfa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B](9((,pZH62[FH7Fl==&J^W3%Z>&B5W+giG*2MH_7OtUjbJt$1U9Q2!n~>endstream
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2647
|
||||
>>
|
||||
stream
|
||||
Gau0F8UK2M&A@sBbY`?nKE*sQ4t1AJ]5\fDEc]V3VB?7(7Bg%VplaOk!B3j`7>c7Q`K<`B"5qGtAnVMUIVAGi[flI_JWHEP:^3+D:lAF0\V*0o8,jXX@]!]MB4r5"\0Hb__fG:XURRefL,O%0$3)'?A6LS)L^fOo:d]_>AkNX,MFR;r*b"Q'#:]E+Adg/>G;/gt-aA'I+F.!A'0i9?iaS^.I%Vi7$NVth$MZ63;(E_?<uV;.:K@-R9*0Smm[lb7n-:&S/CZJ/4B]J+9GT*P5l;$Z,aT]GE-"UhK/ch-&qc)2R7QfnKTSl[QUhjQCmiDM`p]c2,"@<i62+c#&AtlWjpA2K=tk\X-<S3.S39NTPh7=jRjU0_if'DTSd@:m3fNHo?kS+&cCP=HTd.!Y$/6c'4Z&WU0Y<dX@;M0C>Joi>QH$5r\uC)jEto"+;5r,nPVfBLEA04GNb-em,0#_4[L'kl3JKTuinA3Z;&"Emi+%#PZ:BRFk.h4:!j4@E7ZmOG9QBE);b/7\K$EcD+e,m^2+KgjinQH&G^&&0/;>it1Z)YG!Q5,=#RR=72I_<i<[D.<H01Yg&fEeiC51FP0jJ5<96;j$;57[N(_LL[[tj$Ki<f<i96OTkN^:oLj_it],cr^[.3h_P;OrKES`g"HlZSXfZ.m\rV>n*lmT5:JN\Z.L@%#"@/:$5,VXKri"cFFZd+r;uDF^_U,&9_TWBdgXp""/7%1bnfD`JI<4>ddY3t@h"YO2(S0ZQLsNpe@Qp?AhMjSrEbo)*Y:2Ral2I]?*Fji:MgfX!nu;RoVJ#B6(CDL)<RM2Lrd\&N-V2J6ITK"6ie<C.bImJ%_4_NZd!T>_g#mq_29njBcG1@DHY6c&\$GXr:?E]&Z,O$54/*=VItE;Brlr])/ik#sZsc0sCOO-"WNQS`-]b,T^J_d,0.eF+>l[uJqNg5OisOCQcEn>[Hn*`3llX)\3n6Yuh,aoT/T%H,!A!3&5#!3bqoC7Dahp"l^,C2^!.jIkhtlCo-0Bk#AJ7>W`SROP(C,-<LF**dns?X.#n1$<5P-`&'AKfr:F>+9*DFPn`qn0gO+BOr&_M*]E1&7Qtudrug)!IHY>g2@p]4m-8KP1M/3_(Tp$V%!'NWn!8"X2;*gfQ4.&M^;!R,!`m/ql>Ti-6CUUNtJr@Ns1KG^Z^"16/fP8Eif]ZY1[0#N,7(&,mcZd<7t>*X2<<<389\N:.(#n+Fd>dlNQ21;?V@b-R't<n!_3!.Znf:nLR&l8i;@`bB!H!2k/9==^S8T/Za"CrI5umV8!&TOdJW_7Z3M9VpI,(q?RD(pU&'n4TpQ`_$>+Ml1$I=H\>UYfSbCg^uJjd7\YgTD-$81"!-5BE2E]4)b\9*&C`<$"HLfQX90RBO;sA3_j"TSo_mtKEL35!XM6(8X.B41#V?R!^se]N3rW)nRb(,2-=ReXNk%>d"a_"ddq#NDeE(p%m16isi)V-d&LHipnAHc]p-KXB7>&Y1k$59f</=sBlXk[&d5^W&]'PU-r^q,9>iV";FrXH>VVCBd[;A7..of">/NS\26!ZZqR@.'V+m<kPCH-&i79^td`?Cg\3`)O,&GP)"05>T'Vj;,+-lK)`7P.E8lbY%;4Zu7a7JeY:6=8%If/2L]"Y?=gAuTs\!^nCNRGR+3qJk)ebd8F&R&+eg/0L6B7NKi<V,ME=S2PQ;HCRXi4ag!+?e(pJ[U,>tOk-Le+f!4]D"G'UhP#9=Wd6sa2NDq./=X55O9Lia64_>K:JB&^NB_H#.p\1RBOA>pNO9gPOi.YPH&%XnpU,=[;RddgUkt`N":_c+'=q)&Mi*(/34_+jFru.?O$.J0gJHb9^dZYlF+]f`D[EAIrH;RT-;3_bk[@bUcQ#!L`D=N>9_l"39eXYFE0d6`_(VsiEf=Ys6Bk4!l5Sn=jq+Sid&9+i6)1jNc.k>eD*;g<^#r+*;fJY*HIKJFg1t_Q\$'#s^:L"T*o(me=b_c:2T!a57NB>1,Pl4"]Vk`lBB.@i#6osBFg[iQJ&='$g89UJh@-PaKW6fM4(+tZ6;\tSpD8+L_;&12C_3MlSDuc(,huV:Bd7bjU??8eg='?-E&_)b((-sD0/[P*X#HKTS"JfA`^W)Vb_FO,Ed[PW%FX:K[JBu;4Q4AH0XkNifoACkNbk,]a4FZn@3!K8-"lGT^Qmat,h>s]o@o<I*QtdCd^`'qL"7C7HO6uUE(efGDK[UM7=p5,7bfoU^6>n*[j,[F!\);4&U?Y$#[!N@4,N5'D+JHEIqWt@6X'BAO=N%&p?QQdqY&`7`^[KOoG4Hb@LJ1_7-9pD#A\dJc7E-n3&')n.;bEerG]S-n+%hWgbDp=B6^6J`+8b>74[u>\\C+VO76F;geRJppNN5n,U-`;X1r!)YS6<O:>]h7TE!:(?]ECGD#^>"LCG*GCS@CK=0PqVrIDV7`JLbm`6ZesSkRMO[1c,;,.2?HNpPR[d@J@-Ru@rES6VtcYP8MbV4ALWU=PG#1jt_BHfCqN_IT_GG^"@l8T0GV!r%dYDK=V.n@Xk>!p!Bj5#3npk!k2g@FUOshsN8>,34mS4a<DrkbP7rH$jmc4siqX/@/0\42<&C7B,Ugk4aacA4rSB(*o[[T5D/m%ZsdIS(Nr81F*2`!bJR;"%W@l&4;k2~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 28
|
||||
0 34
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -164,32 +215,38 @@ xref
|
||||
0000001101 00000 n
|
||||
0000001248 00000 n
|
||||
0000001364 00000 n
|
||||
0000001618 00000 n
|
||||
0000001702 00000 n
|
||||
0000001808 00000 n
|
||||
0000001886 00000 n
|
||||
0000001448 00000 n
|
||||
0000001554 00000 n
|
||||
0000001632 00000 n
|
||||
0000001838 00000 n
|
||||
0000002092 00000 n
|
||||
0000002179 00000 n
|
||||
0000002487 00000 n
|
||||
0000002561 00000 n
|
||||
0000002659 00000 n
|
||||
0000002776 00000 n
|
||||
0000002899 00000 n
|
||||
0000003007 00000 n
|
||||
0000003120 00000 n
|
||||
0000003225 00000 n
|
||||
0000003293 00000 n
|
||||
0000003976 00000 n
|
||||
0000002298 00000 n
|
||||
0000002504 00000 n
|
||||
0000002710 00000 n
|
||||
0000002797 00000 n
|
||||
0000003105 00000 n
|
||||
0000003179 00000 n
|
||||
0000003277 00000 n
|
||||
0000003394 00000 n
|
||||
0000003517 00000 n
|
||||
0000003625 00000 n
|
||||
0000003738 00000 n
|
||||
0000003843 00000 n
|
||||
0000003932 00000 n
|
||||
0000004863 00000 n
|
||||
0000005489 00000 n
|
||||
0000005719 00000 n
|
||||
0000005947 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<0031c88799808434ed1ff089b107fa6c><0031c88799808434ed1ff089b107fa6c>]
|
||||
[<53b93f56e4ba8440cb5af34509f955e7><53b93f56e4ba8440cb5af34509f955e7>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 17 0 R
|
||||
/Root 16 0 R
|
||||
/Size 28
|
||||
/Info 20 0 R
|
||||
/Root 19 0 R
|
||||
/Size 34
|
||||
>>
|
||||
startxref
|
||||
6625
|
||||
8686
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# AV quality enhancement — Q&A session notes
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-21 |
|
||||
| Last modification date | 2026-05-21 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | internal |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Research and recommendations for **movie cast** vs **video cast** quality enhancement in the Android Cast project. Combines user requirements, comparison tables, algorithm choices, placement (sender vs receiver), and fit with the current codebase.
|
||||
|
||||
**Status:** Receiver experimental presets in **Developer settings** — audio PCM chain + video GLES post-decode (immersive / HDR shaders).
|
||||
@@ -15,6 +34,17 @@ Research and recommendations for **movie cast** vs **video cast** quality enhanc
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 26 0 R /F4 28 0 R /F5 29 0 R /F6 31 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 26 0 R /F4 27 0 R /F5 28 0 R /F6 29 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,112 +17,112 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 716.2874 203.525 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 762.0394 203.525 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 705.2874 205.277 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 751.0394 205.277 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 694.2874 108.373 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 740.0394 108.373 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 683.2874 157.733 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 729.0394 157.733 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 32 0 R /Fit ] /Rect [ 45.68504 672.2874 157.733 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 718.0394 157.733 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 32 0 R /Fit ] /Rect [ 45.68504 661.2874 219.509 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 707.0394 219.509 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 45.68504 650.2874 150.157 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 696.0394 150.157 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 45.68504 639.2874 229.309 650.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 685.0394 229.309 696.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 59.68504 628.8499 105.9525 638.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 674.6019 105.9525 684.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 59.68504 618.8499 100.53 628.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 664.6019 100.53 674.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 59.68504 608.8499 183.8925 618.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 654.6019 183.8925 664.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 45.68504 598.2874 206.181 609.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 644.0394 206.181 655.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 59.68504 587.8499 186.81 597.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 633.6019 186.81 643.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 33 0 R /Fit ] /Rect [ 59.68504 577.8499 202.8525 587.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 623.6019 202.8525 633.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 34 0 R /Fit ] /Rect [ 59.68504 567.8499 208.9125 577.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 613.6019 208.9125 623.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 34 0 R /Fit ] /Rect [ 59.68504 557.8499 173.8875 567.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 59.68504 603.6019 173.8875 613.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 34 0 R /Fit ] /Rect [ 45.68504 547.2874 304.461 558.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 593.0394 304.461 604.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 34 0 R /Fit ] /Rect [ 45.68504 536.2874 211.085 547.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 582.0394 211.085 593.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 34 0 R /Fit ] /Rect [ 45.68504 525.2874 195.533 536.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 571.0394 195.533 582.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 35 0 R /Fit ] /Rect [ 45.68504 514.2874 99.04504 525.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 560.0394 99.04504 571.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 35 0 R /Fit ] /Rect [ 45.68504 503.2874 234.197 514.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 549.0394 234.197 560.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 35 0 R /Fit ] /Rect [ 45.68504 492.2874 213.757 503.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 30 0 R /Fit ] /Rect [ 45.68504 538.0394 213.757 549.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
@@ -132,29 +132,22 @@ endobj
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R ] /Contents 62 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Contents 63 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Contents 65 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -164,12 +157,19 @@ endobj
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R ] /Contents 66 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Contents 64 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Contents 67 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -179,7 +179,7 @@ endobj
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Contents 65 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Contents 68 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -189,7 +189,7 @@ endobj
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Contents 66 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Contents 69 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -199,7 +199,7 @@ endobj
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Contents 67 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 61 0 R /Resources <<
|
||||
/Contents 70 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -209,181 +209,232 @@ endobj
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Outlines 38 0 R /PageMode /UseNone /Pages 61 0 R /Type /Catalog
|
||||
/Contents 71 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190926+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190926+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (AV quality enhancement \204 Q&A session notes) /Trapped /False
|
||||
/Contents 72 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Count 24 /First 39 0 R /Last 60 0 R /Type /Outlines
|
||||
/Contents 73 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 64 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Dest [ 30 0 R /Fit ] /Next 40 0 R /Parent 38 0 R /Title (0. Receiver A/V presets \(product, May 2026\))
|
||||
/Outlines 41 0 R /PageMode /UseNone /Pages 64 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Dest [ 30 0 R /Fit ] /Next 41 0 R /Parent 38 0 R /Prev 39 0 R /Title (1. User requirements \(preliminary conditions\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (AV quality enhancement \204 Q&A session notes) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Dest [ 30 0 R /Fit ] /Next 42 0 R /Parent 38 0 R /Prev 40 0 R /Title (2. Mode overview)
|
||||
/Count 24 /First 42 0 R /Last 63 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Dest [ 30 0 R /Fit ] /Next 43 0 R /Parent 38 0 R /Prev 41 0 R /Title (3. Video \204 method comparison)
|
||||
/Dest [ 30 0 R /Fit ] /Next 43 0 R /Parent 41 0 R /Title (0. Receiver A/V presets \(product, May 2026\))
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Dest [ 32 0 R /Fit ] /Next 44 0 R /Parent 38 0 R /Prev 42 0 R /Title (4. Audio \204 method comparison)
|
||||
/Dest [ 30 0 R /Fit ] /Next 44 0 R /Parent 41 0 R /Prev 42 0 R /Title (1. User requirements \(preliminary conditions\))
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Dest [ 32 0 R /Fit ] /Next 45 0 R /Parent 38 0 R /Prev 43 0 R /Title (5. Single vs 2-frame vs stream \204 decision matrix)
|
||||
/Dest [ 30 0 R /Fit ] /Next 45 0 R /Parent 41 0 R /Prev 43 0 R /Title (2. Mode overview)
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Next 46 0 R /Parent 38 0 R /Prev 44 0 R /Title (6. PTS/DTS reassembly \(2.3\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 46 0 R /Parent 41 0 R /Prev 44 0 R /Title (3. Video \204 method comparison)
|
||||
>>
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Count 3 /Dest [ 33 0 R /Fit ] /First 47 0 R /Last 49 0 R /Next 50 0 R /Parent 38 0 R
|
||||
/Prev 45 0 R /Title (7. Pipeline placement: sender \(2.1\) vs receiver \(2.2\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 47 0 R /Parent 41 0 R /Prev 45 0 R /Title (4. Audio \204 method comparison)
|
||||
>>
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Next 48 0 R /Parent 46 0 R /Title (User question)
|
||||
/Dest [ 30 0 R /Fit ] /Next 48 0 R /Parent 41 0 R /Prev 46 0 R /Title (5. Single vs 2-frame vs stream \204 decision matrix)
|
||||
>>
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Next 49 0 R /Parent 46 0 R /Prev 47 0 R /Title (Assessment)
|
||||
/Dest [ 30 0 R /Fit ] /Next 49 0 R /Parent 41 0 R /Prev 47 0 R /Title (6. PTS/DTS reassembly \(2.3\))
|
||||
>>
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Parent 46 0 R /Prev 48 0 R /Title (Preference \(consensus from session\))
|
||||
/Count 3 /Dest [ 30 0 R /Fit ] /First 50 0 R /Last 52 0 R /Next 53 0 R /Parent 41 0 R
|
||||
/Prev 48 0 R /Title (7. Pipeline placement: sender \(2.1\) vs receiver \(2.2\))
|
||||
>>
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Count 4 /Dest [ 33 0 R /Fit ] /First 51 0 R /Last 54 0 R /Next 55 0 R /Parent 38 0 R
|
||||
/Prev 46 0 R /Title (8. Named algorithm pipelines \(best practices\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 51 0 R /Parent 49 0 R /Title (User question)
|
||||
>>
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Next 52 0 R /Parent 50 0 R /Title (A. Receiver \204 live video cast \(default\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 52 0 R /Parent 49 0 R /Prev 50 0 R /Title (Assessment)
|
||||
>>
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Dest [ 33 0 R /Fit ] /Next 53 0 R /Parent 50 0 R /Prev 51 0 R /Title (B. Receiver \204 movie cast \(+1 frame delay\))
|
||||
/Dest [ 30 0 R /Fit ] /Parent 49 0 R /Prev 51 0 R /Title (Preference \(consensus from session\))
|
||||
>>
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Dest [ 34 0 R /Fit ] /Next 54 0 R /Parent 50 0 R /Prev 52 0 R /Title (C. Sender \204 optional compression prep only)
|
||||
/Count 4 /Dest [ 30 0 R /Fit ] /First 54 0 R /Last 57 0 R /Next 58 0 R /Parent 41 0 R
|
||||
/Prev 49 0 R /Title (8. Named algorithm pipelines \(best practices\))
|
||||
>>
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Dest [ 34 0 R /Fit ] /Parent 50 0 R /Prev 53 0 R /Title (D. Avoid for realtime in this project)
|
||||
/Dest [ 30 0 R /Fit ] /Next 55 0 R /Parent 53 0 R /Title (A. Receiver \204 live video cast \(default\))
|
||||
>>
|
||||
endobj
|
||||
55 0 obj
|
||||
<<
|
||||
/Dest [ 34 0 R /Fit ] /Next 56 0 R /Parent 38 0 R /Prev 50 0 R /Title (9. Ranked preferences \(quality benefit vs implementation in android cast\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 56 0 R /Parent 53 0 R /Prev 54 0 R /Title (B. Receiver \204 movie cast \(+1 frame delay\))
|
||||
>>
|
||||
endobj
|
||||
56 0 obj
|
||||
<<
|
||||
/Dest [ 34 0 R /Fit ] /Next 57 0 R /Parent 38 0 R /Prev 55 0 R /Title (10. Multithreading pipeline \(target architecture\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 57 0 R /Parent 53 0 R /Prev 55 0 R /Title (C. Sender \204 optional compression prep only)
|
||||
>>
|
||||
endobj
|
||||
57 0 obj
|
||||
<<
|
||||
/Dest [ 34 0 R /Fit ] /Next 58 0 R /Parent 38 0 R /Prev 56 0 R /Title (11. Short answers to numbered conditions)
|
||||
/Dest [ 30 0 R /Fit ] /Parent 53 0 R /Prev 56 0 R /Title (D. Avoid for realtime in this project)
|
||||
>>
|
||||
endobj
|
||||
58 0 obj
|
||||
<<
|
||||
/Dest [ 35 0 R /Fit ] /Next 59 0 R /Parent 38 0 R /Prev 57 0 R /Title (12. Bottom line)
|
||||
/Dest [ 30 0 R /Fit ] /Next 59 0 R /Parent 41 0 R /Prev 53 0 R /Title (9. Ranked preferences \(quality benefit vs implementation in android cast\))
|
||||
>>
|
||||
endobj
|
||||
59 0 obj
|
||||
<<
|
||||
/Dest [ 35 0 R /Fit ] /Next 60 0 R /Parent 38 0 R /Prev 58 0 R /Title (13. Other work in same project session \(context only\))
|
||||
/Dest [ 30 0 R /Fit ] /Next 60 0 R /Parent 41 0 R /Prev 58 0 R /Title (10. Multithreading pipeline \(target architecture\))
|
||||
>>
|
||||
endobj
|
||||
60 0 obj
|
||||
<<
|
||||
/Dest [ 35 0 R /Fit ] /Parent 38 0 R /Prev 59 0 R /Title (14. Open decisions when implementation starts)
|
||||
/Dest [ 30 0 R /Fit ] /Next 61 0 R /Parent 41 0 R /Prev 59 0 R /Title (11. Short answers to numbered conditions)
|
||||
>>
|
||||
endobj
|
||||
61 0 obj
|
||||
<<
|
||||
/Count 6 /Kids [ 27 0 R 30 0 R 32 0 R 33 0 R 34 0 R 35 0 R ] /Type /Pages
|
||||
/Dest [ 30 0 R /Fit ] /Next 62 0 R /Parent 41 0 R /Prev 60 0 R /Title (12. Bottom line)
|
||||
>>
|
||||
endobj
|
||||
62 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1267
|
||||
/Dest [ 30 0 R /Fit ] /Next 63 0 R /Parent 41 0 R /Prev 61 0 R /Title (13. Other work in same project session \(context only\))
|
||||
>>
|
||||
stream
|
||||
Gatn&gMYb*&;KZF'Q^[$G.3E$*Sieidf9Q7-<[AM$5a%^M2p7[U-_aQrUq8S#:)c:0We`uQ=NSYE=P3G-j9==rHD*@SE=d2:4Y1A(I02X6%/j,ntX5M]"KnW8Wq%Y"DO<f+<3oH*<(p.df$dUaD8ldBc=2YcgqbdF)O*"B0]u$DA$J2N'e`H3!n"A8/egS6p]_JBQ=KA*Nu8EK4pR`.7>a+$T#e#\2f<A4,j0mr(Om3A#*k4;-'(`@fA<6G\J,mDt*AP)A5[%r>J3HcuDD2n5nM^>[Bs1[m9,T[.dMW/mQ3U>cSbi[s'c<-PrEHDg+.(]BQ6Xo^gTL;O9JT?dQ_?@9M=5]RE4=pGX5_RkB)F97m[*gP0haMG_[^PlS4B68]PWCHMSO,Mm?'gc6nNSOInk!J18>+ll7/R%2quX+_/:^hhM8<Ha)p(G>M%(^=u'lp2D?6]k4I?O]nIn^pFhVqqVN<3hf!f5'QS;HcaUj271AfhcLD^niM8C?W*k'MfdiZen?B=,ht<DIk9HV@[NOQ`<GTe1K;#W5aH9%>J>K#Y_g-rW,YS*f;6j0U9mG(=UD+qlnG[mLP<-K%CsY;A?FgWL@$CIsCHOfhd&&Ja7]0EgBKUVn"OVSl]^OBLY=loF99C85^^q/_3cDTWRuYf0?!a2^K60,GMMSk;p;?#'Z&P;6oppdKnJ].4=XTb^7iG!ZjF3>a]r+Vo+sq(q6b1pNY=#L:)H3`Bn6hgFg&ZV%1CQ3Wfc!\S\f[T8:GGA>m/_#^jI_.Y1[q8kZdtU#"jnPNFkp#r`E%=BPn_8WL.OZi)XacZZY/hCC^A<Nh\l8%RBP'FWbter).$QL=C,Y#`&Xm(iUoY`Z"b<.+)PQOM(3*t%44!Z[bG?-Vo>f5nXmn*ltRePp;p]QdPk1YcbH8sZ\XXt/FqQ09gQJ6bd"@-Y?P4N]M#UOh]=Mui%b!u=;:Y>nX0]<6E3)R5CT.B0E'Wg?lVSEd%u;eic[(OiQ$LP%I4fI4W`('.GiqQ[t5F'lsYDn3Ru(:Yu_d\9Ar/\Ll2E315UIab.A#go"eTab*-9ioZg`T=G/cNB%7f(7jii)Ej;lK]GO@65=-jeLK"?.gN)k*+4(/piOUMJ^Z-LTc/rYi:H*/(>q[d<Mlr&8)WcC.5JtYm``Hnamsq%AoK<N"b1:R*^f+3J9h87-O?!hj>;!K:-_Z3aIQ&DiTer9f2'O[gL?0#I=r\p";@80qckB--(OXD<oVO@PkHU:`Q&]T+*e_2]Vc!&S]in~>endstream
|
||||
endobj
|
||||
63 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4795
|
||||
/Dest [ 30 0 R /Fit ] /Parent 41 0 R /Prev 62 0 R /Title (14. Open decisions when implementation starts)
|
||||
>>
|
||||
stream
|
||||
Gau`W=``=g%Xua-kXT8p;f(;1f5.RQ9TC^Zn^pI6VTLP+fogZu6fB3/o8qkD5k>]/;jja>=(5+a7&'c>n,[3",/Xp+s18:TYEreiNY8@RjdK"?d`D!Jr4[RKm0,(RC:[qX\uZLmZm8e^20]XdiC-qtU+0:Mj?f/CC07c:Q;<1VP)co2\qS(6nIoi^ff_uq'>%K.KH>u<)[-6M4X]>gR#lG)PF#hU(VH^-0:i?pSho@e8QlN:'[OiaC!YUVO%#U\^L`GOdq?P7XV88SQ:qSq8\/Ko.eM_VHfPXK7WreD(NWN3]SV4T%p;6)KZ1ai[uAAe[H(T>?N($'JXrCK#'NbcP6e*I/"\-N`:5c`bgUDoghju8r+P7T`N"u3$1&IA!rK3M`qM$5I!I?_Z0!K\JenStDAL:fJfAuOjWmMLf*)?V!C'j^1/(:.<g&%A#o\[ug5:/HSMWugD+j<2i/t843u2nmKB%TS5`KK012Q45/_`'GJuJl"UcdEXD2OC3@M1'[GXUuVgjk>'T^n!$b'SX:qZGM?8UB>Mgc<H6K8%5Mn3@cM_qTO$C`SUEo([6_6o:Z7,.ZA:#iqTQ:<G\mJ0V<5c`i"GG':KO,Y<nlUC1_LpndZ/H2FF9ZsRe8n,7TA(G$VSm0Z;V<_-kFXruO`(So`QI*Gaih=lJ%.apW=_k$6YY8m<&Q(.>-S?t#j.Pl>uXJG$u8NKlu;q=XlER+bjZ:p\[:JfHLl.WoU>uG4d)OR0gWaQ;eU"Eb/<$.K88;;!6]b:fYX!Y2JRA),\8nlBAgpCTpWfQ]#i_+E?+4%a[H't.nP8i\Q.'d;E^)RqKG^5-hF)p>RNr4C'pkpQmTAa_mX6;B!EY_-Dn<<r7&G5h;Mk)5;Vn_qC_E^hJ)Ka/;lp6dd7FbB^WO<t>(6M9rYr)js^BidU>Ck&RP!Tn9>_(^f)-Qt@,k7e"@bP*d,XG0MmGGlUL=(5PeCQufe%2E8crH;r\g$Jkq*Ch!;9W*u7<>_u>&3@>2-^`tnbq7hoEq/SL*W7oI0*j9m!8u=Z7Sq5RO8Z\j#cBjKI:Kp3R=fBRUje+qF+st?)I\SZcgg2[L^1-ao!'NR#S&3a1PkPDmK8=kf2R3q<&8k]EW%8G#"3rgGm>6gMo+K^R5j0?,dF.-LkAU\`A*6b6KPGLn_'U*R,l:,P(Qe%\d9sUQ#36Lh?9?fffFb/3un+L]j_dhM,;q:C`maO+e0A(jT+:E>ENN6Y$l!=?*J!',Z*+JgRNH9"L:TCmi$b/+C)Fj9O4Ho&9%YZ2q2mZ\ld[AcQcNR&8oDde+1cUMU2I$bd7:\u^NMc6<ct(++jpARO)^npp.-FfoQ`VX.C<4l_VZ`81Zn&"kS=!(`,=[PG!3V%\%OKGh<aA/ZSE=!T_sN?`]=GlZ(-+sL(1]"'/73Y9Od9pGdLI]2[QDfPR\?jCMj@qu::MK]Ah)W83$RF]o=IMB>PE,'[C(>%<^?Tf'.U2[2.M097YNfmqt!6Bfd[S[G]!J(-T82_u4,p5Fn5.8]*&/gI#NRGB2rNHC1JLpG3@6Gl-ZdhX%rZCq0f*f\u9MMF\rVQTm$\2PZ-#<m&+952$Gn:'uo5j`cA%A2_R*eV40Mc0YT#q)L22qW].L,su1^;m;*)I,I<Q[1tY3)U4/6!,p$`\%(g;)\4Tc!d(&&.=p0%l-<O4AA?X![Ji3b26qm)*#I;$L0ojs&W04A3.G&M^K-W!u#Xq@$h#Hqp7mecu3P$HVWI5K^X#_,8,(5a8+,MPm^HJ5h]$pm,j,(J#9ApgKrd`ejg*EsUT@(?\*()1hfT\+8m2-,\n]8-G)hSJ#$AYgGoa[fE[A$.T3T'K?(<+ba%7#MLJDGTc9/BX>G!2giS5M'XXU3#4tkSHOr.M,Om<,u#ZUi&VE:*8cMbi+s7KUusZ0Y>2p.2up;56!`(fX]p/47?ESldRW#Ra`"tp&2IInR>[?##'b^7&F=cKHG'IX0K3sbo,u4FP]!&!8@k[75ZR\>0NteJr\o+M)CnsT)<'-F4pt:1Yb(Z:r`h(%#jMnTAlL79Zc8)LFnMWIO-`99."@+M=WQlV%[b9k/:N3/h.!:tb"F]X=o;'3=!31/**$'0IR7?EB4!WF3mMo(Mankp<U5pjQfMl(_SY^HpmnFH[K+BiM1HU#I5rHDi%TI>7al6@qPbF&[$*faP7@Z@[C-"&M.TuBKUF+u.Zr'Eb-%[u0LSj5'4Y`#oXLhm:FV07Q6s`0]SmXq-l/?#oa!]8E:[m8+oJi`hHpP<"?-k]-uib:_M.<+76'M;=p.l'\o#2#ADl!>n8>\h!K;WG,\kjN#BqRGeS,e.d$Pq+;si&g\?$CDc0Xa+Aoe8d;*>H'+TfH>0#/0=%CMn_*giJ(I=/t5$"@\'I0CEs@CSUQZ"$@TKrSH\;n=Q<.S#'J84nrm1u!%K!%0F&!6TA10SJ3<'XEb8!g:M9&&%2+$^;n;L?ac)"3m`>?o*?(^L\NIJ?jljEuLtO:H324GLK!S%raf_+FrXSP>pl0j=b;I%Z^`.G!p!qJQ2iUd!'Xp,d>G<,,[:(1mN6R+p`JL(;$EEO9].q:l\q3iGQ!kl`jhrLsdpNA,nnL0a\2&rp(bb14Xe>J>-.E]_MfWV?tV>Z99]3HH7fSdZ+g+,,pY8"6a10b!1VO!)7Zf:6RMH:6<)GYDhl&<2(5F@L2+;[sV;j>s97?.+%:KItn+V1:>o^J8YI:#6Ip-6k^+:*LF+Qk+)kaZpEO2,1")-AMS-+#R>p[n9pCRD%iT*,G\r/G<U4rl9E0q$/^E[Rikb^ZA6DV)1k9dfbhgBhUL@K%sr)KBS0bj@ZZb!7j@**0@>Cc8YjC)L\o3(E5LCaB`<AhD`^/B3S\S(==PRtpGX5GpNN7QDWg#JLY6kS#Vh^s%V:1892$:L\>p!"H"O9V9&17(oGii*/K@6E$R'ThZdAX1=WSDVGt9Xi^>K)1o;9J3eM8CK\,4o3.U`0p_T]e+iSt.>MWcbf,s3(1'I\^h=DO^2@&`1W!r7M,^1N@J$5DNR%Kmg7GI1:V.WaqD2^P]pP.@\dQDWlg$$6=\4uD-VarK%K(siT=74'fW>qlA>.].1eq;q2X%\TF9RJu30.8)/a1$:4Z)Vg0?#>T/Ykk<dhlTdG4mn)">MNFGQ*p/$F/97pYWqQ7H:f2trA.g/1fGumN?(P?Dbj0\:NAShGB0X>=WZiPbY/6VWPP&fA3N3EVn*JR7<@b7-;RWTh*Ee)!FSA"L49prR3,PTLDpGg7MWhSV0ESKhm'\YrA["mnl_10=4,:j:cH$$)>/92kepr9@m;(,S%un)M=pka&DI)?ZdlSO6H4B0T.=h"(/"45fRg<HFAR9L1AP0DTmh_ink]!EL@4)R3mSNG@=As$HdNXI;<ma!Rp[R(;;+$^Hr#RHJ'mWoq>DgXthjIJV0OILQ0&.?@ZWH2`VIMd%,=B('Y#1E)ile7/(I%lQ^G2"tNbTZ'Z[XT)kKWZ&cS/ERf+I5c`R<!)EEFrbH>^3jqN,7tDpto^fcj=IZ;KurRA0<+HhasSMea$Z<t?rPJqa0sT5%U3MJdNgi+Z*LWg_Pq\8%*[%gL7H&A[XEJ'+eg;[4<pV=&$E"'0-HL.r&6_j.6WM?Rao_I>o;X8':F<(oGV2NCfKeZ]DVLes@MHBf#[E,X2u0m$!nQ2[YI!\'C?9UOWoq4f@>4eAK1P3o7p$"I=A;;be]k4l,8RiI0&2630Hm:A2VfAKn$(Kk#e-=6:'8\;KLE-01$fZ"%@<OF!rT(>o^%@'t*ln3mC*'>2$jluPG2MqsgC8m=(ocTIbc;7O>KM:rLn!qWmLZ60/f\6Dq05hWM-U)pOXhHnPRrHu5[cppsH)5%h?7\.CH0p(]*?Es@R2uPdfddt5QR(9.m"7+^o?B0>#ibr#(*F;QUJpTWFP`T,bZU$_W_ZYB/]D:d2Y=+hbm^jTh=?pcmM5jBPk+`6,Ugb_-3E=EKfE<6?/?XYAm2S)gq6e(',R)aBONHU4m)8YcXah<0fMNshs=.(\%gVa*VVkt[k(Mhq(;$p'ZfL9E("V(+2ecA]P\_:+9RY00`Xus?"^,BG$el2L3k.,iWg,`@W,eTQ7Q1i5W+gA<]+;t2-#o4mU3srP^oUba<U@Z@R`_O:2sjoR!&pC*A)l3ZnY"5VhHb2q%>g6^+MR`#V#u-.ij.LZD%D02[Ag6Q'I:1dN9DKJuX,OFB_Vn-!<$h'6`oSC-%=N\eB7=9oHU8ALd7GmD&FqaCa9[rTT$7C^mSD>8!bJ4_5r+^c\4M4d^!#U)>a5-D%GP$-i3EAa+$@N3+#(6k*E`_'#0U]hWN?WC/?8PQOjnOA<ej,8XYQY/6@C!\+>%[c7(I0T9_(\h]Y("2sZr@5t<QRc!TU5N:/%3l"pDm:c#9o=m=pj+NU\5C]ZEjL;mR\ud%)Npl"pZc8Pd+j[?RoXE340-&1_qr^3n\N9%(Oi8S'$^iqmhPqeaBn=0b'VFqb#(7%aG#kO`YV(pF%kkG(Q"p1PdHV^tQdRYOHTk8d.aRY,o&o#0jN53Le'SnCQ)&Y'U->/eY-1%e4q)V8ZT.<;j=]cu]Ymbn$_1tJ/Pjf.'A#*nI(SEO:H@P''c&MIV>K-i_1.hgH19s[]tn25E#RFHpLbJZS2>[dE=M?N^51jUE2__qT"k)JR<nl3.H/VJ9#3g(doP5\*>gEFg7sp<_!fOj/?MjQK)rA"JG^QT\k'#NW7IZJP+O=gE0Ut,E;.rlW^<dl>j2rVf^b^Wf(Ig#`GkWL%JP61Tc2M,gcWMoq+qGq[Y0NlS;P)KArW.ipb.j:Xg.~>endstream
|
||||
endobj
|
||||
64 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4104
|
||||
/Count 9 /Kids [ 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gau0HgN)%.&q0LUi+8sREC9oAF/JZI\_-F!<ZG8alrLZ3Mj>J)'4)B9ZK$AcDdS#/!RMEEJ1F]9`eKps1qNSBdK_T1OT%W?s-G/7D\h9l$ismk`>TlNEl$`KGeZ67EJ/L2qOn'5j8fc[oU!Xq?`U$i?ZC:Sd>.'"!nW>])qdEB\e#PmXFE=;+s.#_$_IB7^ZFn^<`_'sUD`luDajO[,D;k**2KKXs$/Z'pQ#[4hP?5!*$3W/[X[hU6eu31/sa8(GhD?g/5iLbDH'"t_rR7sG7"6h,inC-H3G(6J]2R"dlFq+]YD1,4.@kuLIka:TH`&&s5`Q`G4V_N;.I>eJ&3>S[@lp^2R#??ZjSd8+ka$;fdB\VP8Wb^mGR'LPFo@i4hhbT^WGi2btbGp:<p&Wp=b7oB0eJL[eZ'6[QUKniYC.DrMi$<JcUg"WK*TgEN`sn"r</&DiEh4*8b*\H_H-iLrO--5W/9cG$ni((Bmbm<%4]+)KPK2AqF*.\3-b[cUs=CNXm`&HgW:8($'qa8[!"J+Ua"OW6tMNQP<D=q321VO_g!beQ?M/7q8"^Ef]79-W"<!cEh:!-e%hAoCLGaCB=<&P$Q;>+Di(pp/>5O@3FN3!D7G#at+6g1flf_2=Pim[2b.fC>\qL^!4%>8ct18Hjjo%'e#:D;$2=14_Wko7/E%1/gq(Id'_aJC/[Y:2I[FR*l5ddY)>99Ms7j3CN._q"Dc[n>\*Uf?@M'F>>lo$A+1<O)ueN-JebQNkgQoG1]B2]?(USh<r$6+0&o@0A<LcX)!mPfSY^MX21AK^LLG!TB>)ZD4$kfqP_\3\`ana/hBI?;1N%$`^XlY3&+==pDEZO@Fm0`o)Ba\%5&_VnZu,D7ZpcdsmfJhd[>bh#mE#\_<QnZ,]8s:0s6p/?OeX\P#odqjfpnW((&5D.6#J$mD*dn,i4*E\*:H_iG1#X]br>BKICeT'X>blV]_XQU3B,k^YuM?cG@(jLk,S(S5Jgr*^`V>L!pbmB.8-+'jL(\s)dJM_4GZh3Gt#XbMJ5@lJ0UtG_hQnHTmBai3jZ^$ip?V#Tj%n==ua.hF?(r%39f>Bn@:g1L<cGEZ3hD;4GbR#T3GP`@OsiJ>M25aJPN.+ac'MV3(,!&;XQ[r]uc0I/eX>(d02G`%)[6V?XL-mI)h'lBcn80N<;&"D!nfZs%M!O\Ljje"48@5;g5Ll$]qUA(*D(4]M[U;A(Q*!$bECam_CS11uN/P?4GdHjfYW!EV_c,\<q@#/7rr0]?N`&:#f,fe`5b3Rr2fMp#C<cA\__nEk@OnjEA.Aj'ik@03>nDf;uBi*kWuR,4_R&=!Jnm_m$6%MCeec&ZpqX,bQ8(Z21/m24!Y[C9oI3^qdnGK(6(]Fhi5M?@EM._W`C#kRRK%nkI!aao'n@0jQ+\2dfNu'rfCZG>2S%fA#@fPOo2``a8UuM^P1,P`@1JJOJ51.1001;nmX`^$\Pg=k'RtX)@T8%HqL[IMtVG\bbW>n)jBeoY8/$XO%G^%tWn.kN>@$#9IYi$%`jJ>[%94kpN!4@KPBtEnD+_O4ba@hdDtE/93$Km#%GI0tp?pYpL8aJBB(iCdhV[,U9lYE"b@@Rh;$T2h^i0g'rM!S2V_(k;3aOj_[B+D<Nl;@WL=ejIXsGU6`7t+a9U:j>E.mL*ZMF-8fRagQ:D$_`G3jdI2O&V-fglTkF1p#@6U"h[0G=&'`+c#9577qW2UN>5=5-;la2FP\eo`m58Pj*_]fHS8MCR#B\&p5`2W>Hj,g]\r#\:W&S@sKX)VOU1Xjg[c9B`Eb`H+=Fk*TY$c%?87GSu:&>d`+;hrY,1dp4F:n.8BF_[@PNdVBohnd>]f!WB.gT`$L8N^gb<!03&VZMYOVc@U.&Y%-Z0phi82giMEQ7]THo[YfV[l+F("*4'1QHZi]dCp>;Y<iT..Abprc)F.SR9fa`(<Cn1OpErmiVPX^X,$Mj[4Ms>ZBdo*C1'"3f#Kmq6Gtn;E]R9Yur=)B%tWp4)R<)+EGM]ibEI]nnrI'^ZNtT3(0MCIS"$DWd>YJkLhBO:g_:/Y.EA9"fCu[`k/\m/!M^%K4FEMM^\3mP+'_^59L;DH%C5ILA]]DWtK5:#F"9J2X<T<#]0=N0f>k:'*Y>YodZ#t*'8q`=(''Rn$TH1-u^pcTN;:LE?WkRbEu"qMK<6bSAVq/qAZFhTlZo95+CZ0PUip*0]&=^KE>V;`AON^$)1WJeQGbB`)_n>Y>]XhPWmE*rtKpa:US\Y%AYu?Th@<a/0dX%m\ck+QA^>`b3CUPUe\mddiJaWq/GVG=rL3mf?EQR)+tYQ9UU*EN$,12fIXpp@5K_^2pE'\;3%Rk,it#Z5WLpuO;a0*>NLnI@=Jo[d1`W](+%Xu'spSP]f94)j!cbWBC3dl^k7+=pN_7rT>S^^#@6thCXu['bggG[1o't&I"e4^L:R.j_u`J.pV0)%Di9Xn3nsbMCV&9\#QRquh@=2-V_ko%"^[=&"kH,6Jg;tf.V0.@CjF0=NU(ioYu%?UMbcJ&c*_>`r@"Frdsa[j4u>*?ng&;48R<lEWC;C6+?n3o$!=L(qdB7Bf(&)J\G<,!.E7;1St1=Jj(p$43)7dWOPqU+[d4IHS2#h*\nco(#Fsio*Dd0KJH$uFbdD5;@[,9XTGZYdB:#\k<oG;IGN>'oA,J#9bX^[C7$Z?3l*0"d@&`jc1S+]DF3q.HnY"F-RY"ufY2f,aiai=CU/9_I)LIgG`IdnfRPVni(Lk*ASR6-%-&`)'H^$3bXQG?7q8$1:?(W0C^!hV=pAH\lB8fsC>UEfkF+>0D3%"1RIZ@!#`2`72Lc2fbofFAOj<E4k5p6Rt=[H>p^iO#eD/j11mLW<?b81=Do[\CegCUe<j>MOhq4P/>aTK.@9J(0%6>kOTPNOeFe2ARt(c:J\bM.c540I>6?-NV^%E\>UeToX56-\l#[$M</"5i\JaQ_f5m(fkma7]<OE"RT8O:h%7ckLc@6O@p[m+AL93Mk\k<d72.P%PnsX+L6hA;TMGArW]Y'DXCXKUf_dNp#kXArn?[L,D&3N+Nb4CM#u*Z/u<$.]+gTfB[d9H9HV.?=u6Bp8HWC6T7]+H,dM7gOb^`<Hi<!Ec8+/#I9g*SWa`mF0Q:GGL<.Oomp)-.T+MM+3&2%BWfX7^[r^c)PUo(CC_H>0roTc"TMG<Q:8a9H_^Ie>UnUcjH23!4`oG5#KU.-gGPtSB'!L^^&@hEanCmJSPeg4=Eu&qWj8,g':2,5kN9A1bO/b*2H[]RXK"u6p[X@#6ioT]GcT1eI:R^?8Z&Hf]9TM..P2Z6N,LMddIY-K!7#Z)D$4Q75>!Z$O;>1uc)X(E-I3(H]QYmo2st7pN9R`F#_oL_M\qh*Ui_lXJ[sd`\@<cOi\aLDLR1gI,%[$MY:HciJi2f=83ol3W#h)c,><"GOhJ0!ZNuW[TMB`cZU<bGs6U8Y]9m-9K*S^!\`uVif(\;iM*dkM*TTL?n"<fl_(cdQIB!a/Go+n/F)V2LTn%BemLK#,P&NB10tY2u',C,1#.>h0=;[f9TD10C^C(4*=&22r1[p?=rhi1RehjVr2[HqNbr^.`B.J9jGRa3K>a5!LFjL%$i__DukPRLsX1BN63<<A!H2f`K*Y.dj(@6I-nhhgo*%O&MY&ST$kh;H_-B(q8r<3>?+;h.C,<t]*n-u>m[^rF+)u&q],O<!5Rgq]R,TtuFRr+uQbj-5L]3+L7T=60Xk3CjDRqbTWqmGjU1LHGZ]+;N'$\@[WoUj.r=_9Y;k*FVKkeY1Koh4U5&^2i[]b\uuM(XC%;ln]=+e;PDpPrkb5VQ<[MB.p\/29$^o1++Y,0TH)mY$i'.u%"S0ce%L0Cq$>fh1pm8OT+[:LUZ^)RX/,TNbEEY+?/C_HoTHnG2n?=MAV/JA/;5RV"sHQ0WZf!67(S)n'C:'7ctFf?jaG9]IkNl0@(HPFd!+$s4I`bM)a&XGoH[g.7*'&R6)s&iJ]1?.MIV/Zc`>M]DOUT.US+,T6s"?*;60U8[[(:aFm,$Gm8Z'QSc^@>B5e*U8_OT$7F6a.&+YJ_b<s/U=#T!(Y9Mq#c#+5J[$g",r9/>Fq#*nJs-!lt0`,EWhF%#6l+J`r~>endstream
|
||||
endobj
|
||||
65 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3434
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 885
|
||||
>>
|
||||
stream
|
||||
GauHN8U&oK'#+6Ei2C`KM?N\Kota:amMRBlgIb5T5U7VKc)h<#NrJtk\;?-R.K/Dn,r1=ZnC:hk"j-72ZMtpeTpmoCI8Z/Yd<^]b:"%Db*dq:#r,\PG1GrGn/7$hgBpt3dg)@&F@9BI-HRT;*qZp]:GkDAUceE887e$s?$jf(uT2p1%-PTLr3V>>f!Bi*?UcuP?LXpsMol&j>^Yj/qfs'Bs77W)hCBmM<KiMDIP%krABd(UJZ)oHoc:&kAab"&-_?r3J;GlC<[/CI-'VAipA_!XXebKn.gJ:3(mp_DfS6FFp=4>II(Zl1oRkY0n1ZK#6E(<@*SE!MAh;et[N2\_>`VRPr'ZD58p:\6l\fo1mCnJ!,*T^&?U4e4dn+Nbt98]U6B5ISoF=D-F>[K'n\K<<MS9s+b_(tS;6W$5]?:\>Z:A-d[SRDtuPq,NsD1:+NnS+sMQcMm2,%/&Mr/F+##($tBe1FI&'GQP%4R(Ek6<LJ`qX:@,?(Wbd*]Y>joHP8n1+41YKUU;(C@'a('N?.`c!MnoBn[;U`W.I&!j6fVFsqZHaW>!u=6(sMR-e!@]F%d!^c89V&86TOQPhZILaQR4r;h"?FY:87J8<5oJ/'@=Y+-%f)@%,Rg[YDRXUT4`;bhrjj5:hNqT]I.Mn:SAo?]ui9OlG<@SEuSqM]Ql\L)YVOK\Gf8[hnBK7iqc>t/]tl(%i>;))VpE"/[LHQE74XogTmfmk[]<9@B;e7ISA*mBr?s&'cCKpVtW4UV%N#"b:-:)JLD"N_X$/5T%K(2;\,@s2sGZ'g8Dj.qHt$=7Yg(jYK@Ph#R?r;6@XZEU=m$>P&TI_LncoN!u%s6*4sUPGGH+h9cZ2dX\8M7"cq)aWsi)hFo-!!7i-!'HMK&/Nb"i2I[rDdOH6VgLbWeQb!8%Fr@Y#$!R%Yf1k[:lbS+@SITP)29`2VNQ4Wdh;j1`IsOF@Xo:tVo[jZO7B<K<'I0#rD6(KQ&FL)Lk7<H\b+t6GZ>P[TmMCUa<<Z3C#Dk6&cESmb[Cfe!N0qC!nE6+'Z.HaN%poCWE0RFG;1@;*OmWNb41n)X9l-_Ml=YtL^HO$i.F2jJA<YGRE<=/o)'!2Ec=&LKtHI8n::Hu&gb^a6s0]m<_8Q.?I[*n%ToES;DA&:^9p!o[g^ABE>6>c*F:75?9]qO;cFM\k;?K`4_5IPUnBF-![k@KaW%&W0K_s*#^)aU%L>Ks<Y.1+HU*So0!'$-k/S/1XII4$aF<(h(d/Y)Rrf>59gGa`\FkgY35]/CrJ(=?nfa2!(*mT0%<QJ1fX*"G[*E:j;#O!K#adO"+Xs<8m`5br5G0])U,7E/_UZL*8)X92"Tn0K+j@QMP8o_4;-k`&Le4N">>n;RH]"b/6NYB?@)?UBW7Ak7,]hK*B]>uEVl#D!GfJs]n9/KfBF^ucN_XIT_YRb=XCB;5NH7#W6"?6AD9bi$dI:Q#F=Mh9=:":M`p*s'4:ZjSM!mnD\]3q!ETMlanO+4Y`59be.God=kL(oINl*Q-W!3[r3#tVaPkjPG-nYTB$ph@VRiEfe4JTNr?)gpUZM[*Q:-7u."D4cLe"o@O3*gDM$oUq`Xa=C@W>BQ]@/tX@=!UPnQ8f1@,XG\2]&NBZ=C9(fo0D$*EDTf5gP>5dA=3F4BLc1>D`i&e/oKRT#rmO4A9eUeOcSmDlk@],<&Q\hLI%hq0e^o()j-nUVhM\3][K_qD&Y0N[/kNP6InVfMiU.V=KQnbX;1mTgGu4lV!=X5WAdf,/5:_8<UC7Q1deDmbk<-(`^,:tKCAuK,9$'9(PsZ@(AQ,\<Ct^rCF"l6(/l:I!P3PGnPIb+Mitj?>BG4pm<^7Vic.tf^\MBlWD$$1/nIIc`c4q0q!(HR8O]9MG_hb`iWG'OS=Se/+A]d`*BH(n@hV24%=#7H92q;;9B7nT/KN[_$FB#5Xe8ZnSh`[sLTbO80pO&Ykm0F0&t^u9dP*lBMAp."_`67EiP-VAY?i$@`J/Zr>%6Kn^>=@5"Pc9DeapCGOcWVbptuZ*pa'VUi"nu@0D_FJ2E,'m?Y+0QS*=gn&k\9$6SQE]Wp#r>p5i:p.,8^@jSG.P1sAka?h-3h_c`At1nR^k47.*(gOK=+4!X@\N:_i\da.MF`C[a,8%!G1P80kEkGY7)fu8VNDWT0A9#o*8D/l&bZ,dhT'VTpl^@2Z.%L*kqmC^iTQTj\Cm!=8Y.MLQCj6\\jS9EWd+Y0j2gTlSh)fY/&c//?D+JHE[V3=F>'Dc4F&%Q3)/TXfC&`$IKGK@u=QUq,s>_Ce9c-tLG2*20[<KnSnfdWt0'09a'U,ab8Q,9^Jn?0'\U0"V@cFqE$13)&-X@b7.e*kuP2>VSk,-pb&^tMGGV`W]Tf(>l=Ac6$/D4ILMQIE/J'th8SFhM$FhpCQ`O&$jT'%FSjrhl6(o+nip7ijZ!->`PFL9;)PXA^lA:s)^_+ma<QZ4hOPio0T(_:c7>AZOB:EF(!a"6\QhVuo#k;(XQ\>iG6E?p`nqRb`8#BbbPXi-)LOUS=^/80USL0n!@B@T12C.?1f(Sb-Dnmpndp87OKM0mZo2_!"*;/m=,=73=bOQS_sA36YTqK@2o^B[bp40&9I:10V%F_3A9Z/\!L.CH)9*!b1i[N0VR;-&YeOpJ#9'bq.M4NTKn,hM_NZ#psL/T@jsQpWA=b&D;`Ogu$VND+T.jIo@HRD]UjC)l4kX=;*G.]iF+F&_.d?;9_/6=Obste41FLqJ]u+%9##]eaAF`Z"?rKg'1Cpl[+4bnU7+e/n1Q]l'FVq&Gc#mVZB`'MjB&B<\CnM/i:4[F/[pa&KsF:O>D&39OUd1@lt@VMPq@3ItEgU[_+.r69cOX,+1XWi.F<mNB5F<(t<FiQO%B,AD/s0kFA8G'5$rX/I?h/'At(omD>5:HbV$2E)AuqU/_3=5@G&`;nBGqAbOM,Tr031A#W%!H!6Ut:up%VJ]N9Q.?LRhMNjO.C*#iTor^s[q;M3kb@1t%p1LJIEt,MfK(3`U,,'dR-d-*Y>Dd]'ob'`AbIjVda'#6cpDCF559pN#QTR9Q'WprK(q;h5FsUZ7H!qO))Z\o.9&'MXAJ98#Zs]3h\Q?^I7se/]/B@!*eN5G[X/`JU$NbHpFIE)".t/4@<L'bh*0g;1_A+qU4r73*I1`-]#Z$)S5)F[(?VYUdBA&>31*.M[(YF9>SYgNZ5+`pcKZ`$.LGm+5iYQ"Q86rW9h5hpAZAeLip[*78pXanB>RCe.E$\aJC,<7V%l]D]ob<Yp$[O^[8k5Hp^O?pWen))f5+<?QaIL1M=[$0u]6\Xmp"hb+nfI2ODSM,9(H2<](*q3:?\p^q6<h`c4.4Dj;3P>.H\s6MH2$sXj4-d5.rq[MFNRp/"7>F#\!Nr]/+e>.c]=%A$]R6PS$iFB3XqqSC'NHlLs^8_1gG;EG@=*F$.-Zk!4UR0'*~>endstream
|
||||
Gat=*D/\,^&H9tY\5*d=K^3^WP'kK^G3X`=;6ifX-D:\R9gt4'KNA'GZU5lhK92`3/AF<.miJ+ILHs+>`W&%)p_(C8/HR[5Q@PKE#f^fs$sj/5Z'#J=>sUJ!V$M3+DK'4A!:dk$+GdikBV\=jI]rgl/CX8D!u.&j:mX2Z!TJ?e.MmmRbi8u^$ASN^]PPK.PeViG*lDNkA"D]MQSAZ-cO`4TnC+Q1@A>cN-qtgUF1j",K.@ehpGV_@b]h89M*r>2+G-=8&XmRFWk7F*@3)^AWBqtI#KAI1c-dI,LY:at5J@O)bU3=*H8D,KrVB+F`SS*?CP3nU<J<<\"k#7p)qcKHLO!Cs8Hf?UKfR"(H\A)T@:[`QL?4]Z[,6<AUW:rIJri@+h4s1ZB($@AFe2Z@_TU9s3Yr+Mc<K'M#&Y"sm/MuS#+aRIdUK-mAo&8oC_pX=0#AgG4rm3CODp*J''=sg^"!SS.b[@=M_!<EYT[%+oXFX+RW\,]!pV$i.D]AG8[s&tgXA(l]Il7q\F9*+A2DMV__9rf(/n4O)89]Db\_B*KR*0&O4`3:"(kHtLl)d[ZWm-h@2s0*Lsnf"N95O.keC%D#C(aWdns48\*e3:Kkfas%Sgq<VYX;*k/BHt?[qKG0;<==U(I$!BUX-+dJh)13a"kmb2hR68ADRbgfoJNl$Q^b+o2"V#Le%k7nKki,[;FbraC7O"6))TKdfY5mJV6-\\QtYeW7mTa`c8i/Z*3(K%>ZjART/l#pNS2<2WhiAkRdA'J30g%HNck<J.4_+_q?d,'XR598$523#0'jB'g2OeaBXmma0Ya3]U3<8X)W;Mu.io'Lu+8RVh*DoSEEi3@h?W*(A43WL!o8&Da(d*$SX?<so-Jqu[s8JkH~>endstream
|
||||
endobj
|
||||
66 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3891
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1194
|
||||
>>
|
||||
stream
|
||||
GauHO>BAQ-&q801fU4O.7VQV+"N=S#B;WD]N]X]88nuX=h$8ah/2e3AOH^dcqm.EaX*=Z0oL+NV$K(utposN/$YZ3m8'?@m)h@M`S6fp&&Ql,"Rjq?=gqq+NS$-b;IEeabR'r\`_6Rpsd%)W"LW0%_<luVD!K.D#.fXpd8[Q#n2>b<f0[USZ$]Dd)Lu_!gbFA>,RsjB)6ufie'obShV!aS%WnZ$IB`P1VH@a+n(VPJ.4u;ZtD,tfL'A)5fr,cX^fnt*W-KIFU]8OYY8`6L_>b@LT)5M)TNFM7da25nn%c7U:8a/!<&@3`K$53Go9WL'.7:/,6.iTs;SEL=([l!c_8+)iB+fs[:"(u;tVk*92mr[e!1hF>?mpP/\*pgaS:#i@;W=>n?lB.[#<mT'7Sf_B*Ln[&HI4rt"eGPF7SM.,]&3[?ZT\C.FH0p0/f7)\n4ptL%.mH:?[;,`sJVHh;[T?VnH^9i'pr>sh`f+g5n4C^L](n]Z]aI_f8OF$DBX<\$P!lQ?-T'9'$%(P947<4OLOW1i`!$4)KcXFeOUs%4i_dco\aKM^!WH_i1F.2cmu-Fdq^^)QaCdnioY*I6/K:5s';K'sY@s*-legUV0tO"'N<p]>_TSC%Yk6B]-(a&mO.Vi,gS#o=N8!aH(_'5(c=baApMc#(,EBVgaCZjD%!KKS2tE=[?ntsA0cl]5S#p0IRr92AFub&n"u;3D*7bV["od!I^j<?aq_!*'A?.+jE-?CJU7aM0*hSc+S39BV#M:0qAr774_Z1]h](Qe:./KFDBl>(eDHb9b_l:s\7C@tikb.."WEM2.Q9h%?`dMBRYF,Ugh,/tt9K:FAC_]u8Th,19=#!6I'dXMPL%b!69=co/(JEiN@_Eqq);?9AAR:rJ:^nG(iJ"".-8GTs^.&6$;=(4H9s<N4:)$VaNtIC..uD-/jSJ0^L],rb3-It@hMtNbb\BJG2O-q*>Pn)gS.>?2o+sX(R>o`XVhskkT$Q9,)n/Vjh*LpOFo*_a#hFqu^V\[j%XnG:W*AmsVP`)4<`a8^5I93iFWe-"I;Z2O[T#__f@'K[k4Yr`knbcE[+YZaE%a:jOJ76a#!%`R>e^>)A051m4o=T!485?J=Xl%>K<=Ehc9]kukBHda(]lnI(8itd0s5EA^::bhX]A]YPLO7Dj8eR,U6jH^lViP;Q6OBO+j'Pr]T)et(&7^b#Rmc8RNJm/1Bq+L':+#2J'[*`%D%AkYP@ST2i:>2WM)WTp[%_c/h/N.CYr+:&t]5mB*E&KHaWCO>1K\(kSAg:6EL6[M?<GK[/t_*$Lk#qJ:EIYFQBh2I*)g&EH6^&/sHnD0)XS8"<3B(=I*Rh60P;@.ZQ\hDV.C'$WEM6#EOsU[d`H@X;hCU2#MsD$JEIW`Q3s>JirqrNaheWMBE8Zb"ptV!IqEbfS5)/jWp'DnjnIE^A,<2lpUWY0u[h;kb_l]G0(@5OcIX-15D#+_<$[^?No=Xf[h-FTKb%Y(l,7u<DQ'i#>qVW$BD"M?j<'*B-k,98.BP6*L3^i@jJ,/W+=*9W\PdN(q53:*$P''=d%p7dS'jbh[:,+WNL,4NtQiFNdS<c<RV@e]9__%,PiRVDDh_'QEDGncIWG-YfH`;(0u%sD2S>XLc0^#3gTb'D"JX3Kc\DYF;VQ@CGg-bXpR:@[IRU^fjE.!EW8kB25/dBN>cdDX'*lH=VJT=fgU%(mJ8fYN4BA]A.6dH1d<5jUe(kJh&e#r%t>!IlO'1LC,SUKdGbG.)TI`i+o(nAf<$#cO"H"*rNb=9/&0s0`sG"5?Hl7_MXq!+C\SY8/L^]CbMu(TOi)9s+!YeOAbHX3KuHBY3'Aje8@&cJ*[hL#:.U]r!2g@]]l5)'_>B3,6ri/`r05Zi8VO]aa(A]t<VVa/.`3([:oX0*LOo+C6%JYQ,!g,\VZN76\jE"Wo5@g1J'3F;+V,rrBH(oH$#Khe$Y]QpCP=ooG\F[Yh;uoZZqU&?4C+@R_=4$D9c!K0>%s/_.g,i$Y;HP1N^CUN^O,ek;np!He:gM?(_(aO8,[GU8l45I]2=0Ilu@.)M+JjJjaEdb3#8&;YaL?!.b.DWFEfEO*,b<Sh(d75D>;8_7bit*9cb2NmL!HHOU\IJ1h.M<L*LR7IG-&==gn-5g7RO7`fVOB8./#f4LNlt5!kMY_/ThTKEX8TH=bSV4qbbL:7qH2T#hg>R_6MHd0k`_-3N$_d,^ld\G.5S9r6ktEu]&74"Na4bLbEn&t\-#0Xk0D9h6"E]H*\>R=doCnXO*ga?J:5>V:t5R*S1qS%Mo6<+0#.%-CAr"iB?Z0]c%%HQX>bFO4G&O?*,=[=L$*<HH:G/enAXOG<>A)rCG["PskXH1MMJ\>E]B!ApeHbl[6*^=D!)\BbOWf$&bXBs7n^ckSj;4@BAS-S*C^a.%0s,0uS!B>FF%UTXTHnLGm,2Npf6#LY-qo*]G$'7mhVGoQ9-1Wn0H_rjN>Ur[0.N.Y(LpUnI2JaZ2HnSS)JD?_2:dR@0TmX.l;&Du'BVg7VYQc/XdlUCSNjb?;^3E.;npqD-h#TnsKX-&%?WZ78Nd*nq>V`-Z7)e6u=bM5l@Y&F,4l)P\J4qDm`q,!?#-b$*r>r?[Oo()@F<c4*@7Tk$,:mC]da)p-61t0j!ZX5ag1L8>YcL)%>>#pa/O(kTqft";.NMt+M:Kr=lZ8qM98SS+@;P:;,`jjeuGOa$8?hT8Be$;4<IY`9@G!j`CGn2a/I5BM(11O6:o4'c5Z(/q.(Ndh>7^@Ytg.N-05m#)Ts'N`#CG]CsZ0[c)ppsrs-NDel+7g3XGj?o0S0X/6s0&PGFa8(kEK%ZT'bCNIoJU?(2E*8^r]fI,:Sp>Qd4TuM9Ii=do&`'h8:D((8(hpl>.'Z^:*^E?2,0tXr?BReg!d6S1sq0;N1GLa5(#5R1[I5ae]\nS*kiPTgO1'BPs,)[[%]RNXR9IPo9;EF:^q]dMp)2.&-7((pJK)eK'R=ckJMtuO>WCqjfri%"YL79njrYNh;fO@Vu!7/jFuG\iCT@7_5TI0hFhdp(7nJb9dehO`^@as"@*k#8kZmWG0>E,jK8lCOfS*2E/`+,dF`f>0fqUAC#+R%,`qZf#DW"6GgL's++Lm=0q*JWA0_giZ>aO"$_NoI-HmF5N;P]C]A%`%:`p2k/R)UTaU:7)?:-ZdBT[-EHtS8gEE\A!)aE!c-#S_R"U/]d/X,XVdgI5:"6J,0!"8L[Hd9r$H\"n8)Fci@_Y(VaES+aj;d$:cI&`%f4jNfJT>Tt)A]h`07k4DqhEXK828sSUdMlh4QDTal"mNW#f2:J2&E7!2%W2\kkdU95rs/^gMHn`tmWY;u+e_&o?6*@Yag^6a@WSo&rBn2/meH@M%dkWb8Brtr?'5Ao,&!iW)HcjM:6h1S3)P!U2,0b)n5cCZA]?`N3n79P&)49%@P:QQ3K'MfP?mic8c0iC89&+e!7k#1Ap1`!/V\j):7jrBRV7G0'R([]eM%=].`_h"RKE)''P"Kg-8-oF+H7N!D3ijIm7*f4Vh6qoMND:>GS^dnZ]iu8V$aQSi^Jn9:<*l?&i*R#SGGlkHiE\jP&d]%(12974FH9e/d9fg:fs=c4eD]R5lOUMI!NSm3M*0?0t=X0c`u/om_$'%Z!6k'4NeGMYHWufht?dop]R-5E::[>gs=Lg[IP&]Bof(m5of+ZLS2Yh.51<:^PE*;-saaD]?^QF7fJY&Hqh0Ca`H7j7GA@MdE>5[$H\3u\ndTgdMi$!iFXd3_HW4"#n8/6.]t<Up`s')bLC9g;Xr$0rqtKd:4)<V&A#KlpNErkQr\X?MUMFN&&140eTJ#$^U)F26V2l2p?cDZ$)B@N+It5.C,X/+=cpO7@nV8SmDtIqi?Vs$,s&ppdAaB=Gk4.88:-9~>endstream
|
||||
Gatn&gMYb*&;KZF'Q]]/JJ"l&n!m)['PNqGXThnC5X7tabXN3[P&fishk>E_2@Xi_/n)PYA_HZpB)\DI$5(#9oNl_A(DWHiTKjAo/"d2?T_\f[X-9Fp]"^$m8QMWa!dUB$-nZ22*I^_WK#MF4,VHDO07`+4.h`9di<91E*lH>1WX`OCI14,#K[Yf3>6/IB[HamXXZ;%!.oa9nfXLX%.t/947/V9GSjG06OA=1J!e6)2aGnP#426D6$R;a(`Ta$q1Y27Y\Dg_#&^(r&*b7h[MMr2C@ZX3?Vbq3V\^X;TU6V;9\_aoV2:>+I)_\Y0#fXdh>c@q.L2#C5na$jXrCkDI)*B6b-QAae_,q2<Y\Vcs._:1HBiOQ;6F0K>$%^d^aT''hV4h!h!d!$ZTU7VAf^C?8]BRgI/U4`LCd]ia2@O]_CAI83q6Da^`Kq1HWTNB1eJrq))^Dq*]>]eB,kbs0XGB6+j@CI"e57l,BR)atlQ$hi2^gXU6l0JgFo#JTmMb\kb^Z.G-GW/u!6s?aC2us8SLi]5'ZS8M,CC7br!^bZN(]4%lniPF)_G)WMnTsoI^D-eNu8D.[-GG(@7%UVP-@c2;\8__U2#4f%n]L,mU4]AOgF0r<XC\r?<^P?02'UM+(tK&EkU,M-G?m5$Cf-hCQ<LpdmgG6fNKph(7+CJ2-m,!o/M:!8mu@8NG/.=MiWVSqZ@:LDZPkn%8LuWSbua])U?S4"/rriHJh5#nLegbfdPOh9"CpO[oQtHA.Ni8%>(R_U@s[_>1-5n.']GXImcR28$+fq4H7"=FpgsjMj:Zp8S'ifPKe-7<(G417_@3\o(uBJ/V4F['W8Yq'EK[#o@VuuH.4Rs>HT'$"g71![$]9=$ST4FgusO"hgDO_6M0DCBEM:$5B][nEV!Z)o70Gcc$Uot\5:bNqmo1@`(koDHk^5-CV*&I4tHTq]#Qe.f_>;P2qVs\<d_6;6G86l#9*j:OU8/qd3!!P"4(c\po<op[[5;r:)ZVJc6MVqhS+Q,UtFRTk\3H.N5Fo@GN]9UM':c%Mn=N7F#E5d]S"nnrU#s)ViTA8pU@L+q>:!cj7R'52*4SjQu9A?m!qTI/B5rr#B5_);l?cY(1\Bhf=hluTq-o.^;bU[jL]Pu4J=UXi:V*1IEZ\&ZMihIMq+VC:2#3$@OXkt/Z+f(1,t'[+*$6"DdDgtUA~>endstream
|
||||
endobj
|
||||
67 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2294
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gat=+gN):5&:Ml+o[=St#%Ph8aLj(1\]n/%@=XboTk[3P!^*_>O(BI#f5Jhk^gM%K-"'A\FgmD-SCTsEO-]ch!eATaBK^+'&K"8.1DBqG0CU[.qL,4%1Te*[lC&#;l/7V_J]lJ=q2)"N+\o=C0[,PD1h&aLdii<W\[bU!Q>3l<W.*of9RC7]+o.ia]=N9=>r8t0Y*qh4;t>J+1g[I$XU\qjMf<`k<b;eB"D\)[\\:?D9d/+BqustWC$cjgeeU-l;H-lf>[k3'M.sbUc<ZL_DP4$N75Hd4ggJ`OC9BC"2unrI"cIdI26#oY@/)\a*eR!m7KY<66Fp[mO^tL2pP_P%StE7^PpQ+[J75"@5YU/,"J0OVJ783]]RW`p/3K8iO@A!^P=84#80b+2nYu7'`h#s\2:QP=kI?W^ImV">QKKsrWppB.03l>d%tEPl;PV+""qUYIGS=J0+pW-]N(\2<!]\LbSEJIkc,99S&UMkXA94+:lRV]4_ef0Ui$AVlK84PlEqJCk3T"Xk3,%+Y#?Z;N&1e[qWtSBPBTijRQ!M+Wc,cdmPF$IPI5&.p17t`-pRKL]-O;_A/RZ:/1(Z6[P&+M8PIY(JI/4*JIU+C>@N20KeaNLdQ"%TcXg0DZ=lK*`J1o'&/)Q[(jfl>pIf8!'Rucp?0n<'=!-5rr!'V,"=R%gLn0o='9KbI,\Pr<#m\HmaQ@Co"530W=.YhT&MUaUb"0\l(fX@)HMOFj_da@C$Xc?G@n#\F"'W"8_Dq5hd..EWP#nK9BD(Vt!g9qQ#j\C]e-G$1/U8OLfMJ\N:Z0(TM5/,jIAEsk#2T\h.HKPp@[uT1][tgiVC4I:#"."@Q`HpOnY<<Vp'?*kO9C.+>+or`2*Y0d`cd4R_=8<ZHPl"'j$_8#uiGS[2;p\*!nB)<#c"c@]%Zfb:P)5ct3=Mrf$mWl&U[&8NU+;CM`JhAZ(5Ltlg#Y<?o^=g5]jq9YH4U?Q9C),8Mp5"X\^5S*iG/8,--`8&\pW2R'\Y:e"k(+5E&nciT-p_a^o.k7Ku\5#%Ye>,H+F%t"P!1H8i$us4J,<qK]jXI/7UUdWM5%(CEKmhQE=k-i9SQ0V-omaRdPcSXsA*rOt&Fje4\^T*TqA4big7i>`O\-rtbH<*Zn32C2-t4FS-ECa<F/W&91[=Gn0h&I6E7:F)+KGlAC+G-cAR$"aiN>H?8)bGnN(/Z!\_]kUIc](.oIsPVTe,!h)BipE%B>EX%qM;hq`@l'>TRZk(?P[2EaQ[9.4p@W&.\PH8n%B1qE0eiLk*dQ(>gJF'^!J5=hu_7i&q.Ht(4OS`(ZE0+]IbNe<!$H?mdjb0XedH11>.V:Vp5^OFOhZ\r.8eV4r.U4#R+60C*Q/i.@!/JTs%hk>'[)ImuR*g2b_I!MMR*dSi-U]\)AemRqTP.u2-ic&8BVUrKpG\aO-m4qOC6fkV<Xg*F94aWEY:8s9!W-h<b-jq0-.kbCY-dl'5M\Q?eB/*\$9haH2fq$6-'-s"$UMkV&B4R69T`^LaK1@>%M'6HOedOK.+W1+FBd/c,>GR._dK%fi_UTO_jF"mi*r#\h&fkA17flO@dbgqN@5PkTD@[cAfZqU*94]bh$NL`eqSMj?D4[(,##$]Co#`B]FDK`@%nsd(jXY.GXBIBd.NgtT,1MSEsk`:`=1^W2)\#TW3Z=RSZnoH1Ws"Np$0rt/Nc7>miVBuK#`G`j["dj>Ne6EEmnO`]Hc&S\nsPs<qXf#NbDi$9&Na@.oKH:r-,n;GlHBGke6YE\Fo:$l5&`=#*I5"/+r+=&T"MRmM,F@7a5-')f8;(0*/e<^lMTRGM2L3`W[o+puk;Q-.&r<+VG\@o`B+"L:+5@aoQqk8t#el)7UuI94#c(j*Do44a0;X=g\D"J7aVHEuqY0*aA%t"r:[g2G7gdY(H41ZZ6RH`3cu)Psb'5nh@Rah-_:"OT0Ob_4&T#5h8L#::::]QI5@3pb5B73@omLap^2?Ot<%.T?>FZP>kd77ok,U16+m/WZ9:5OAokj\@&de+%HGLjF:en/]h##d]QY%GntJ)YnCM+:M,cI@ar1[K$3?#VCW',>BgVkVhC_4HgfPU+RjEnri+ZLE`[Bj?FhNN*=&5f+3;DeK^D#^Na9<sR/?>/gdTK*5R0KhrXgK%/sn5$$kK=P)C'`&Np)48/CemY>`SrG,&nO$U]e*2/p%$qJt8.6^C<>pT::2qbYpQlZB3$SeP0Ko8?sa,UMm,qNBa_PDSa;JfuTG`;'BX7iQ3QYl-BNca53IhFOQBdBfngD'IS?.#og&H#GDeZ8H~>endstream
|
||||
Gar'`YmS?5&;9"kTAhN!`PtL;EgKhRb!t#B&/9d3qYl2*>SS#d@,P7/>#50G/8u*qX3a*o;=[-1\:f:S99RH9^:u=:W,?5@WKD='qjtjfWhhI]cVi$+69!=K+,Djqgq_aM+&&1F+T~>endstream
|
||||
endobj
|
||||
68 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``Q!aY\P"Hkb!t#B&/9d3qYl1?\4RNK@,P7/>#0K/(:XMG<G3MH.!["Sb[DUbP,'l(hqsbX<&ZW/fZ:Y(IF%*9WhhI]cVi$+_BI;_Fi9b/DW#Eb%ns2J+o~>endstream
|
||||
endobj
|
||||
69 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4721
|
||||
>>
|
||||
stream
|
||||
Gau`W>BAQ/%Xua-i1mnYA<FHL1V7_6mIkQI8^kWFbg,9<Q=ual=`SY)P'uP456,i2/F2ThbaD.oaJ;'4!.bX\9o03A<;u?(#l.t*VXGq,N6IWAlAA@!fAt9Rg%R:kcdWECZjg"_f$%*\Wa"uLg#p?]Q;LEPIKl$N\JWl<Hp]Mc7AZl`)J&h8W2^]E(bTaelDjc=<b-6sA*ubQRQ,jg,4:2T%1bQK&Rc67AJgP2AH"O#aKcU0RrB`7ELf)2#BG\8ZA\$iGJ`BKj4s+&j,;uPn6kVd/r(_d+p*q/3OoL0-km_J"0[i('`QA56m6KcbsDOq->C[Ki:D:F,5GDi/nrX]Jc3AZ-a80('8\[OC<j]ZnMtUe<>^R']clf)'J=jAoppK\a%6^:"e*4jCnHV+NuhZ!95uLO6D!+(ad8Jd&\d1X*a^l]=,M,dK:cA4AEo'&X<`N-fi/['lABjXS0X)DX\8(GkE58s/WU&&_=9fdTZ/6H):ip!QLD=*_GgRM&eV5)3lOV//E3Is#g(nl)j$0a<*kb^H1.s:Hm%/t:+eYh3sU$;Y`L7;*lsRnG^E6G[0,uX+(#J>Lp"-W,W"0bJ_Y>(8[p,_E$UbI)-2jFc?;9L'P1H]FR&4i^XV+#YJ4%mp+,S/]mh^&Jk(6m?(pK=9'PunQ)'o4Ji%8,YJjt[II;?V2#ZGth"f7=_K!=r\V\tT8aBlf1m<^M8m5O@UgmE0/X<dA0$RErc-SO!TQ='!NX8D,9XA482H($D)BBJb`LN@&NX;.`RuDJ`TSglCZ[Dn_'fohF92J"'$sW%b!,dC&m7VtZ0.581'?/u7r9&hAT<"k]<VETVCAP@1+HI3*\R+PJkN'X.+\ZJ0j/[X*S#-M?B]S6qeK)W%deGH3^jgn;^0-,e\["d<-IQ+:d"u2l+^X4lThGEnFV?*j,M7l^l'4C[Wm*@f,DnB8<Qc_HA[%RtJ`3p8?CN\%r(LO`RH+Es=2`5O(EeQ!q%RVq1e!PfFAi.0^LWduQU#s.FEP928e54I3pB7Q_D5ahfb#pcLeT\1'O%R%(c>P2R,Rq1YA4k628ETNF`mgpl#9i5C[+Te3jh^*HmcAX#F%N;cuWN..oaW`agI&L[$sekXu@k+UK'MY9.0E,.*8JWjt,r_6Um?s7qS-DY@O7iUsTh5%G<d^S?/J>?*4"SnGd*(.Wldua;W!@WTAa#:+[QhoH=XX&Tfjr,RDNHLHC=)6&'L8QQpggPALu[`r[YHMF\pAm]H8<oAm]$oQUq)R$6,*'9eFF4[`B!Q3[?q4Ft=55gX$RL2jO4j#-RtA-"mgM>X$$8j</o:0%?SI9uK36l\HMJE*G4<JJn2@^OE'imH@U;O@8gOKg3cKEj6o&1TAL;RJl9RPra*!S=b1m@F\V>9`M;;AdasM#jPF11TV$'%?kl1NIobG!HD<8S1.:8+P`!%58U?Lfc.mk*kXM7l2kV<=!F9Tt8"P`T8b'*O$uR00*Q9hBbR)8/[e4fiK3j@;6hAm,^*.>]2uZnNmY<_QgN`g+9TZN8l4>A-0-I%O44FOBfH>KX[1H%.]#ZB[%P.O\rmC-lm*\%pL_,aFsSUejJFB?(>Hhs+PrPT.)\)FG#bQn,)il!54s2fWs04!I41WK,d^gT;r2=X8@1-)9l[lo2GqPW>GV?;]1+`@K=bKAH8<Z!Hu7./(UAJQC.r_:d1*pBW@J7",G'TI/%b%Ho3G^ps*Qnl@u!u'3a]RWlFDY@D1bNM_._GSoR%jP-p*WbUYA^"jjhELY*0/P:(o=$Ga@gZ?sM#;_R'Je?D+KV?u5-8`UF*'k\l-(9@*3;M>j7bg:QD<J(MoKW[:mF!BY'`;bBmHM4G/ieo*.!cb_D#V6D:BVgepJCq)ZjoSH72uk3IKil+qqB^."7b3OFApn$f`'VO#:RGX3/C)$l0cIY;,m%IH&hE%ZFWcDu^(2U,=`K6h06QVgSq:[*!(Nf\#,J&r=aU+$R#f578(ph^Dnr@e11)ZEMq+U1G_*Z7g%l]\H3s4Pm`'MfRktdUZ?DBnko-i.3c!J8DqtQl?Y/c,YA@*IKNGe_1e>Q>\'-e:k@2h+:j4lUU09mR-&/M%X#E%f]Zc:1fi*"8l=`-(L3j!>i[5#g20O#A4GVs\7fUJO,so[F@f,H7:WP'Lm&T&?a4Y?S!UE+aW4hcsMEJ"dOP:cV^Jbp>V>tlo0lSA70.*JL*(E^lB\G=75BK8FG*6WLcp9?#S^I/"M/MY@KTRPmWfSn,lE[LHE(!WU'4GT!n:[m&%k3D"k"M1#o?pt[TigqVf-Bt,_9MQ``VAK1I=!^J&_oLeUY(Pc&#QK3(?(q4WY&?dah%K:-3^TeJ9TK0(17gZ-<W"r"Lpg%/PjdpK>mmo6(i/D>JI8,;J5]a#%fXt?su8-]`A2ML/,YuDKWRcfbTsFZ$h#<2$IH)LqO66@puT.J$J*TH\H4L0!guuMR'!BE$V8MC0>[>0u1nP^&d=U4rD0(Di?4lY^gup,Q]WHC'#^O#"/(+fn/@M-a4IRq;5*^*'i1^a;Kt9r$S!m:UnM'f*Af.'G/(O`/2\11@gcYW"+jk(3X5%/V$h,Y0_C$>9pFDd3=?'.0)%[Rj&-Kh\M]XbfBmj!@UID5'>IknEj>^#t/JDHnp3pQl']HD#W0G%T@n+Q[kfT<P6uie]&'F*3_SCB"!$,4qlA*%N88&8;I<=nBJg7L.D;=[t%66,i[)rEu3^nhq"c[&V.h#bi`mC0RZ$43-J/lf;3_H""Q18bftZV!I\l3X9=>++V$OcB86pa(CXu2]$Ed9J[*X6g^k#,!`S@\+:h\s5gMqkc(DJZE(/d$^gaQN"l(%@<m0\B.qT&F2-$t16[5s+@!^J_Me+CSK+`s(e2n;J^jX<gTM-OmSiFTJc_V9j/k#;tF*QI0&^TEj2i+:3Eclj6@XWb#V<GEaY=4O:,=%(#XL9MZCnP7k+G0!p^lr=6]=?4)mQo1H=OFuoKO%-:j.EmE+"(3!5ij0.%IaNC^mI&35%k]O4kjfAKkQ#,M[:U15D5(:ltrK7fG3nOX&HeVmG+nqdj_N/r_A#j6:G7jHTMDT4J;jC]D:j]'Nf0fh>O2NQ;'-,l&)T!K:P8/io!2a4g*#^-5t5;e7BuU6_.Ag@UPC=4Sefr((R"0*LZW\PGK`I2I"3Tn-?H:R1>bBkU?#LiG7i`@DBM];*QHqIY)g3"aVrK]RI'<a"Kbj),=8T-JjO6IKM:Rd?VqWhH/B$[>[-A+bqoaq=m`'ehiXC[p@*IBe[f^OKN?[2+G_lFg<0kYjr_;?Tt%`8-GI6<LL>9>7a6qS-Kmf=?C\1)ADFQ'4lKg.Jh=%;2-k^^mjC=\Weroi*Q:![)#*SY+X>cKD/T:ep,66bIE#.)V/\e"6Uh.1k'p5+i9JeXQip/PcVFQ/kh7$A#u4`'Y$NJ@q#tRO[4mFG$8JGi8)FtT6^rT4Rmd*JCijjrba>EK6Cm.R_a5';)NQ1kg*T0l^RV@n;[qEk.!lXG_iPqhHp!:>PlDs1-2F`i6Lbe5b0jc"$FJ']j->c(Df_#ci((W2"f(1;=src/)I./l(^\cUp<kbN"",0kWO;s0'+qtm&L@-1;UhVqbK)P!(Bu#61?_0EE1;"DHp2_=9erZSe/^(C4FC_pSSK^>&<*DU'IdJ@Z;8M/Iki3+%d<IX\"G5D6<a)Ef`S-.@#mfj[2&0R9$17g%6a8o&8/s(Gi"a;7jO+`UG3]5%/QfjE"X0H^l?!P&73E8RnBY;;h1(F8W_m-G*^ASlJK:pG/2fCN-G-Ml\NB'/)cg-V`As3'(SMDIW[1FB4N:bBYS;L9+Dn]*fc*#L<U"H.%2/NEW]p<)86pO@_?CW1%]m-MaulcGlVHH"e8bXTS>72[dV=n%R/W^H=6>E79NLiE99&V.=CK/3C.?mCr`D*Sjs<*X4=Ob8X'?,hsU1K/;qReN+iZirNoW+;?o46ggd-hO`uU=ceEE:KA_mq.5gPoIY"+FKna#nea"I)?T2go(Y9l.*4.e''AJi3,AD^h]CTcRb$ZW]U?Nu(RbPATeDTmk4'Y=AAEP32aL5Hm8"HUd/!C+n3Qu]4CO$Ck4`k9AFre[U,AHbieVV]1QJDq!Cp91J>\U6Z]kT^YI!<-Xc]0C1W;%]qrMs8RYjPYpA=AZe&r%BX/VOS1']&mTkntZ%R%,t>#'#"K&=)D4t(N@h'#7&]NSQoLTs^t(k:K*Sm+-gACo%Vo1ih%'I=5[J#j@]b<eVK`C&0P<8D"2m,Dm85Nm;q-gV!5&,Wr'`RM$@IYX,dQD2ZHj6%5QWnk@O@4RSroTYWFRIW>Zg*u-8H!b,RGWT?U!bLiC,133u,-@95,#?g8K;eM+)K@C+$:<#O%a;X+F?0iq>]eOr,*I2b`6sj'^b;'`FIMW5HmuQ\r$ENjVS,a2]A!32Hk93]TF(&t9u!S)2^bPoDt;MHYPWM;m@U"gbD2qSqtNmhIM]dhf=J0'p0QAm(lfs?=%>up4R"5U`G@=>\CY`Saoah@J]$3))"NXhVN*8d5@B$[!?Brq92!gDVj-9l*\X@8,^,oWY#LqNPN=IYQ,fKuC$#Fs10G'GRGHJWc/)[LqB:/8"q6qB>9#7;8odmBfg1ctX`uP3O^'oj<'<$R=i)U/p;;WIRAClU*mF%fc21qeb3VD((CtjQWOC<Ugii\+H$CW=Ys@iF8a=(bY#go6Ar<#RhMO<1)D#P(3+I\P!8k)60ejfmQlVOp3VsoJ9+@W~>endstream
|
||||
endobj
|
||||
70 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4206
|
||||
>>
|
||||
stream
|
||||
Gau0Hh/h=/&qBX_JX;j'l^0$7mrn-8q/G?E<ZP=Wmq+\'6VEN#L*@@qZK$;A^\n.1"@-#k!E>XaCI:b^!k\=3(;!4,i6m+Zq>Xn5^tUk/4bj"]0OFkE4$K$=Je.IJDb"d@A/ID2#6Wo)m$GYg?YcV,?[7-cdt^$kJKH-IJg^aL*rR(2eW33q'"Us,K9nfHha4RuIEQhYhs,2Nrn_;-34n4@@G#oRdGkZ0YI)>qs0>*2mpE!IfRQ/k1K2e*$2qh4*^C$J%3p?+Eb!R4ce"BbC0;g@_rQR5pDNr:e4#D6kmq2$-^ao>-LWS55(,E48<(6BW3">;T9'laNf1O];&^^E=QHo"Te,p.b8_LSCqEHQa9PVn`I4/Wq'S&AE&B$c\q/o<&H\Qi.cp+4?Td-g'X$tHR!fN,DWE-&m/O2T2KC%_:&Nr-I"U(&0SVK5YOI]kf7U.f2fYK$,@(Q/_]+[WXKo4q[]L<)=00CL>mH+8DmPmX8KLHl%J'39FC9K8_c$F.C*4c/r+4sg6"oFn#&Ye1DQ_kk:DWlG/?LBuPPeRVF?7,65m*d2dVO723^:BTi'3c1&Y4I$o0@ca('S,6l@5#BCH=Vj^,Z(9rFHt]-qk-;XW4i/XOH@Ei>mtHf7NU![dPnp/NA6SS2HrY.\0iG?1)R='>1uueS1#Xf*]"Id'_8a-?O**6a99MPuc5AJ/$+,\5]Sag>!Uqiafskj"k@&4lbBV8[FTk2m\QXdl.@%:F*]BBgEXTlh3(cmkKpnX8o(WGGQ)_8=D?+()hE[/6`TRF1-#e34UQJq/BFZ!,8?@E4;r8Pnd(5pbS80NB[gF,AVUu-ko%DEFYr<\C=q#2P^']R%TWX%3OhCqYoJD`3O8J4&=$>hkc77*,I.*6lL\AV<*G]G*cWkm5Xr!BA-Si3>5KT>h$'(b,[t"$'e1d3"0t#Wm4I'ktcb,il?%T1M+8JJSW)*.oNgDZMG^4&8nBSG'/&V3ctt:ClWBrf"H.h(kMr7U[UIO+Xsd\q'k$kRJV2b/$ds-R<2//iiEnS8=Vo?q*O,]$DFAdNYf1Rn`B$%QnQ9?`=?oM=_p_L5ChdF(cgEGf'f@oN7r4<"oHE5mkAGalZi4IMK1n37n'@!!:RZDi6>Ej!T%;.RXdW41'H/ko37NfRE0#.M)Vpk20fn5?5GI2:FNXTXT_mG$\pUK#P8X!l<RhAES`%BUi#)gipuB1>,U%m,fB?XMr`DW?K6')A?!Y1:%!!!KX!4>1J<_g'su-7N1N9SU)"W9[mdjGAO^^F\d5j9ES+I9qN>LP/'^OT"1kbLnQZMKRk(XuT?.Ek[T-UH+PL9fNJLS3JrJNopo<c2NCL(o@S(VZ<Tj*aOd6pT4`nE]-J_[g3*lOe/hUa@3V2K/_J[!5SZL:4K^.f2Z!D9Z]FEoS+uA.33;NMIE,rEnX`-91i7H.ZR<-q?>S!D@lO`kqW@J@72DD5tZmL^'76.&88Hqd2*,?CK>&3ApU54)W#=^WN%ZH0#Xp=<eG]bGlK\)]fU_3=fjECp&VmG8no92V/nd.u>XX'1BiGPU=n7nHkF\6t:.q>^\Nlu(.GEgf,R6W)&EJanMlf>6U/_5=Z4c?t<H.K+NWr]mCVU)$Y1M;29lj\u)U&Y(:jMWJ;!si64S:*M?!q=\RG$V<VD1t(S2tRbij^eQY&9PBWE;@Q@Ob%GT9"IE"6Vd4L,[Vb+I?H*OX>hhpfT;<ndt#k'qQl81d@UN563)5!"XEVi=;Z-W$Z/Ar",S(D/NOhs2\:)lqCTW&SIZul&@>hZkhSMN4Z@1_T$d@!U'FQ][10eg8>^Rj`p9)Dmsa`(T3lnXi.Q+.qS8-o-]4iBlDOdq+=H[noYBkXhtHHKW+d>]#6GjJ5_fLsnJuSW?'599djtQ9>X&oqYUJ(lPTH?P$Y\-8K)A/1G2*p[JHm0uBlj>M'VNA\m2&><2*B5Gm;(+*,)`lBk_J3C+)Yc.3=86R9G_Nm#_S@hS)+[Okl$$OC`9Q`29$ZFW9a42$mKEfjc6m\XlNs)am^53/-Ou\eR[<\+H2hX3fqTIhNQKI/@J\E]_B;lE%(MKeoE[\U?5"QRRl$456bIZrHJ#Fp5fs!Tp8n_F`WeWNpG+^fIZ+T2U+ek$m%hW8+OoJ\1I#E0`,t0ZrtB@r9!YMr+>^`VL*:kXUKYID,':#C6P"@/+ZU38jQf9G$j[:ld^7[:+@(qMm)%UI/#75^ltiKFUd4K"gWa$4?GpED:<&"2F>2inZ^8n0/Wf8@;+%:V#`&e^<2opa3J,V/$NO/pI:QE'KE?Ok]M_4>Y;!P.V5*IiX4?^kHJ^!qKCDVd-5\?9rA/ojCIV(N&ToFUO\_@dG]1/JM\WM>pBMFOE-n=Q+Ca<qJA:lQdBMhiMH.r5`-?t3ig07@^-j&]!<sZ6KBoQ/0tBJW`6(0#]_&U0;iOCdX[K@B:^<lRA4G'b$;k>FBL@'0b54YOek?]g[65IWFubeAM[2Zg`6Ua*D[qf(/G!?Ih8.!bH@'a-2@kjF]I@3IQejo;duiS7ZhUSi;Ng@'Z5V)%Nf`u]'(m3XEDsYZdh*MXRn4'?-jb4SGb0Q#,JF!^TlV(6cWUMmX`_DNV5=5_"Hg$EUOC%'-92cQXisG<EZChQ<*"06=]7bmdaQI1@@HsgtnR5QJ5V<HJIm>9^o$`J7m2K)*BE!Ke%9o0OMc%1a2r.(:fL;s'ZYg>/\[(*GqBSD"m;iF-l#^l,I`:;$.]-ZKYr(=_=bFfWTs&E;k["@\X$_OTOM!"GJj[/PoPDH5mV7g4.M":%B38)7_,=KO*WYO^YteTW)@6Kh[?Qr^['*s/SdGJC1uBTQ*)-8Q8ch=MT(WEMe!,J_qm*bsAdT*ZZ$?f@&M)QFIY+mFghuj"=cQ&DaC?0k5A%R,9!Eq4d$Fi9T2?N4JD4JUT>1A^0>r$QY7,NS<reG]80.8S5oHmP9V/3QVeY,Wb!3[nh#J.10Sm*Hd%NP6l?L.oWBJQpP)l.,(B(W>B[Z0m<p%(2uu2W#J;"#doJ&khSMN&P?4kDsBXE5bc:rl`L]1)[O%<qlSU1oq61Fl/%,RhmE'Lp@jS.=:[ab[kR=VlTN<Z:@.f8n,q&!%iA?#!XH)(*q39_?2GZ>[8!R+FeU0gOGX`4=Jp:5^5l<OJp'&'?C<4'$T6;c>KlWNIF!k;M*-!P1Q6-02ao\`k6+sBVWo&Z)[7(*"#S0P9.]i^%GU8-SO)M`f=@[M6AKb29@0^XC;n#+c@#qagBl\A'N]*jUmd5*E6)QT<R-GnJelP^!PIf\MuOtijtotPnVi+>?3)d!.aT(4XpTNPjK2,ZO"838R3Ic.b^-@e7\i&(=gRln2/O,1))o0Ta;6BW"RNR:?`(uKF"+[XQ]kH<:ZplQ]8h'=+WDsk197-;@k$kL]+OhH`ENNG-42M=//OfWCV<d@6OOQ@alrj(Xe,O:(\"\+oG%XsgG,QEdX4*frS_Cn.>ebF0@u(.`]YY>PZR<N$]MKhMmTsu*2TAtG1r>P<Ee7C>k'#9a<A;"Dq=VnWefso?q#g`Om?,-[=srO9Y'gbp0*d-!Gj?\EHY>O?!UF`_mo"7\PGdl"[%qo/lZbPnJo$C,a$ANSUht,D(K)hf0t_9f_\N.>APiWl6Q\5TNqmq(M[q40MWV&YY*'Ln8ta@/nlRViT@B(XC&[sB>65+:7'::eRRMV-YCZHR]NGreZT77jL2=D[qWRP=+`H)Gf41d^u"5oFs3!/2O<t)Tr@6G&DN]T0$@_6)+e@sNTJC;$Ph22:p"`;&-.eeLKD572psh.NF:%Xlq\U?]pl>l-f=G,nDI7$Nm@<80'>l&<^jQ:"b8GQ5d@FMgKN:b@pY$6m'>@^I2]GAQYu(?^$7Ph:X;CrQL@$(s02YA,Nq@ORsU)`G\]G5jtA`^9LSh[]$riSq;+JS,^KaEJ63PPl!,q>NL%O._-iBT![rUfe&hX`/%n$,`E,+dN)[^XK`Iq5oOiDGXOfF=WrD>jLZ+iSBYu[k&u/;g0D^hn?f$ILA(kD`[pT/AW^#\pe:[7%:7m"kOOJ^LNBP5]Q9"?oo0j"XV+5*[-bf]10+^CJ5iDM;.Y,i:8aj'L7(bAi`P(h-bR%^]D@fE_K3igG5b-d*W["+6BqV%MO]8dQ/&5(b'"CC9.Ku>+:^Pe%]3N)aq,DV_Gkk:6e`+TBST'osP8lFK+pZ+e>:=Fl#igHGlQi9'C=7/bE:eXQic;g~>endstream
|
||||
endobj
|
||||
71 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3600
|
||||
>>
|
||||
stream
|
||||
GauHN96ZlH'&NLeoMV)Z8BmY!begV@RCUp@'O/]%S!MQeHAmBJ_2eNnXbPse!KB8**hUB*IT>"kX"#fl_[k&l?QTjU\4!Yf0Z#kSD@nca'.r\"Vrbl^(Keti?#=Ie$TY@!Is<:kb=9HH]XnHf,QjI#Vs.<md1dX2MRL9*bd.adMEJeuNmLQ30T_mp=^Q\P3aoi*f'E-X:Fr.9A/cG]2;uY=[/:jpIhOnmLS&<_N#g.H_T-SD:Y4Ra5_BO%FRH:N\n99*2:?JmpMWpG_LVCe:U`&=d*<jEe'ZB"n66rR\oY;g8UNf*RX>PX&4,n#,o%*SZfcD-rWiH$IA+3_@p0_WJ)>aicn+gPM0k6m\^5cs!&$slMtc=#3BV5oT9l`i`jtm^ZnN/`=B7VM_n,9tS/9*)6TJtMB$N7g>X$6fmk#<EQ=db[g]ZFk1rmFmi,m"m\`Obmj/-%>[j6[4&='C7Z4bK+@G)Q&/0AK5b6O+HiLCrirXh:gFNo&Xf;TaD;;.mESZC"@h67<`)4j!8>bjBGm[9?*cLEnND-4+0etrGpq%PF8cU@0XEfk42>L_<W1gdL@bj4"BF";Qt>Ogic:&d83ifL89h-S&%-g8df=6t?.q)W,Uolo0ggs`J6H8pBN0B%ZVf#HtrfQ"p&pK'&.I'TUt,"FjC)j!hg4Nok@m5li-Q^6*J!(U1ZaX,Z:0bJ676MuO*L^&2=X=IpHOVA7G=m=L36<LJ`H[I`WXRUVqP9U-I*RTD$?M,^LB\K#K7Ks%O%LV)lRaR@#.#U7d$Dcg:f:hD^-$pm^Kd:RL`b`[<<0`CG#n/UiM$"3al?OYf6p(JdGj++h@>s=9%Ic799X#6X%'H+^6T!"ph&Kn.fk,1;;bhrjPMd'KqSCp;G8l;B`5=D9X-$mmS^p<eZC>X8pO`"5gfEZ_94Nbg?g*6,)_h,2:REPaU;XQr:p,3g!RIp$9cUG[>7t0YlXeNS$Pd2+>0$Y9C"-0m%eB<BfN/t:D1Se+!;%F*`^jTkC0!#[K/EpHf7Oc1&Ld1KERH&.6IsmFIQM-T_7u#=i,Jag8X*:Om!sAhN;u)j7c:6_!.[lbJ>ZiV?pSW0Sr*Q)p9apGP1\,:Eo"g@@I[1A@*J#.fbsW:*fBJ_ph-'uZYe%PKQjkU2(U,^OZ9Q^7#0sbG7O/uVH2QO55e;mP+/N/D287Dl+-NKhKW(&<FL5@kZO($d_McN,Piq]fpX4C"e<TS$qrHD;$cWN0ZJ@S[8&ldm\7=^@H8$]libM<b6]E0X92jr7FYrNhu\H6+9P2!+>35H3!6S`nJur<,!DW=]DS5Vj2!4F*5.7[=,OdFaR[9-3aFt#?0Imp]RO:5Xj44Wbrp7d@&FZ`j0lTB1#Rr;$g$r6Mkc&d$R_Ac?+]#/>1)DbdK"qA,q6Xca2o56,:53sNpn*77tM2O=G,Ll'kD0LmWk\Ci?C=oQbl\4$3Vb"FsCLD7Xpp_6L=i/o.N`\;[!p^BncphXrmkT-QHsk^_.deRJ6cO<ch&6:(,>l5NM`u_DI+t"E"Kh$]c8.!glRq^rqBbrsDM)MmSN8_?^9"<Ok(Ic<jgFh6.u]jBRLL0S)&"W]lM1>5DV.BmAg<$mg5ni4eAI9^90]3?"aLpk3d"dBWa/IcI%WhQV-,2!VW?hO?a#!tq6%g-4f5n\fgI_]L5bHP/]k0mgF&q;Ie;!Y-N]#WGW'pRqDo5)Z6EFYFQ))JiNqBjW'<a/9MW\dYYo"R?i^EgZ(M%/&'&+2m@7"P3`@CSB#_%78)!F@BWB_8Y->a2sqL&P">UCes8R`!P1]Fi"_^&/Qe!GhiVna-RkOP?)B;PlBlYnO"ME"Ls20KQRO@G1BN^Dr7u0`.FcrH&W+S0AFtN5^`T6HJN6V"t.r[EIcYU+@o.,K=g6Xo4YVA%61rQ!'HOn[/kGnH`5eH^7ZoNl@c5cA4[PEekQolJujh9UB=&YGu,*o!.mJ%6j'$$RD=Dg60(un:)\*'MM-Q5ilhX;JE=G<LhKnC`Q>U/(<[Z_q\B>n*]CFrS)8uK'e8n7;BUN&a/ME$nk)&fnh0sILtR?t7hj?14)G(5Sq,!FT(l8jG6!#m+JM#),3ah8d=M+_,2cb#;"e;>1gX4U1.QQpT35N/.S<(n*-u:o5HbJgrVS+V8tq=_k8#Q,G6Ioq5@r8R`I%qC1%Am`n%MU"iBX^6n_L$49M<YN+<CO\-#!G)Q`8d[j&(Ff+2andgA^q$>H*i23sICVY=e`;G'h<5@h`giAWm#If2#A,3DLf$3-2Kp;pIHHF)'H["0;_PV[>mo,8aReM`L@(cBr*DNi%/phALAWO3ek,Ti5-?n0o$V,(5s9Ui@pu7hS7(+,3Sh_dJ#B9jBbuYl/,B7Mr>#i##S$rAEA21LJU3q`eU[hIp9))"I]-LMZV>Ig$/7jfP'n`@LT&7NZZo[Tg18rBrJFnaDR/+"rcL4+r@5M/QE*S*oJk:_ZgucPVOCQpU!&C]SS5<t`7Pi*BqBZ=f;L5&m&,B&[uMQka.2e*krS3Vmkc,-pcRce;$VV`Ue</EnfbchbcIbHOYJ?E.WS#"3mo4H4@^I6jLo5!=:T<N'n[r]`Sq)n04mGiY&uDo-+GDX7^!aZ:an'W!dcPD(C?X6bKLPuughOcjQ3;RU<XPP(,+?Z>qfq`9;')qH5)bmc9q!X]AbGB=)TA#k,QK$C8PA5pX=N$^e.M<X%gW_JKA%r&]Dl_mn@]lS_8f4%E^1"N>CJCB3W>dP7[MEZI&.qlF\EL=3nHaR(WBQGA_>e="410CnD,EtsZPu:HBhMo:<@'T6?@c\e,aj@&.s)\BWB#1W`0YbYR;[PW7\?o]DN33H"a(HkfA/2hhcY58kPEosUdi.Fk<Z?=DdZR\^K^;0heZLs.Atq.s]!!_%FYuFdJHi('O6h#,dju`qnadEu>>Ain6t<1q=ac0`R-8K1MU*P9^AW0%Jrq(KWRSjA"?4e`7MK_M[9Gfr!jiJ``NIW(b).%rM9&^c`M!&A,AV5n)-fKm(S4<tWuSbg'\0,a.u;%.'`(3YL;1Bm3ZrU*El,n8Y,e8"huYfmpq&4lao5,&!4\sN:sgbCi1I52jXNDu%/SaFMaC?86WL*W<-_Z84&E;X>6;lPM%iK\ECn<o<&KFC=hX,6I9ui=DHY3Bf^=^+3nLUI=>8OV`#;g44IJ+TCn^!sl6VtqQMF)]a14W`pDJYW5;`Ga;k=tWMIq-F$pl'f]+R/_r%O)j"sE].P0FTDU5u@n>2?3`G2sB\mDO<L-9T?E/(H^7q5^g,e]@s*g!OO-[9!2VQrR2$Z>rcf+:;2gk3JjWB]t@^HAh8LaQeuQ5kregaW4LW;+N%o,NJnfE1grH2`G(s%oYhaD=Ku_iZ1$MB%9GC[:anmC=m[rp:U.eGrKs!It!gn%3<0GQh`JI+-UhMD[n^;[9CCW_1CV2Yjj'p]''%DY<q&?7>rC%F897AMHh18c@e.2fj30U40b.HB[:l!BgfK#q6r;UH&(mWpaR!3qAVD,oP!)K7-Uo0LIF^40-[L=Xl=;*oR\%;^A`M$=ZAW[s!JW2*"ui&7d])574?n#Jsn4seZL=7>f!T',4L=&`botUM$*J129nK(rrYE&#;Z~>endstream
|
||||
endobj
|
||||
72 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3820
|
||||
>>
|
||||
stream
|
||||
GauHO>BAOW(4OT53&<WXUGOi&JDs#>lqDha;g3'0Ojr_bh$8af/1)(1OHa&Nq`Q(@X*=[+FR(7`$1IrXi5<),"EaPbl/1n5i-Z$4<s/e_q$P2F)oMRX50i&5Im`oma/3H/VEP4=+e!:B`qUQ4j+jG'j_-!b2aAAQp$!3FM0Q9tgNA;n@<AZgPe5^tiXn:LC;VBGni4-1:>fRQNkd,R)\,O/Z^6HVDdiV[k!+]ZI)_eea]Pu`(6ck\WR$H6ZP)kL;YG5&iW_kZ]Hn).=K7L=\*kUI1[Qg?pLE9[Ke/cUk<srEKOPjpbNmj\c+`cT_Pl/PMF@PQ0_a<ff59NXb_MH*4sLT]n2Z<pR4kDT2RY)E;riTQE,p:[^H1nuKFdZqI6E:;Dmj)-F'nJ\o]!cl!f.Mun2Wo7d0kS/Jg&%3/Bn/)8-9*O#.#mS4IhPGAmU!1$o`-[;LR=D7$a_YcY!P#1O]QJcX4OALt=338r9"*a!:4m\+Gmr9$AB6d+S>3%O(7?T5@BVEnO]rGKgZtlgXt!p<)u(>`IT)\"M]CoBfQ3q2Qi08cE-4-P9u106i_EZp+J_T\fL$[p[#bgi0TZGT;Ldn0BPTn!_2!G.^'_nmImO7^9qM5bN-^!IOtH`tilTrus0693tuQVEe&@pqF9a%2k`")l%!)YCoYhoY8#Kj_V](CE),[J`em$@,WCD;EVeo+$K.*-AMef+DcKkjifsb31G@X]7X&3*DmY96FoO0.^0R-\D`Td&gB-n(#skddbQr0ZItQ8^Fs6oks@k5Mp'fu4PtKj+%U<rGLr]E(OQre*6uh^A/I/enbBcHi9VobQ@K(3DJ$CEcrd'[9\*O/%#&'!RrlrlEY+5K"OjC=;b_J7@2bdV'2,eTctnn@`^K%3!'de`SGP^LKN`=]$lg!_59WVgZgVAO[Ot`UD@FeIqi?]X+C/e\Vi1NMkb`eE"Zt9*oYAR(_!Euo\X>tp9JRRG5DG;eX>c]%VmtlTDB2(aG?,[f%Ed5I"V//T_0'SI87J)\%PkX+Z-$*"E,P.38$O)?(UIa-\=O3'3bP_\I[Npf]c38552BQ@OK*]j@0gYoSmL>kH4.K\[F_mdZRhh4qUX#5+$];@E=JS$Z@&gY4uQM4Q.OsilMBYOg$'<okHrt=4pW`%/<G7.ncCf^,ICgl([qs'Dgrsqqp0e!.[md%;%5ePTI>il>N9`0!FM_qdjb8Rb\fVY4M/A3<eAqe`8f\!!QoD40@JqIf+_-m7aMNr3:dYm:#+o4i62'e@Tc^ar0Z3a#gh)A4T9m-Sjsa^[lNTciLd;l1l'dpP<ea6o[=a9.aPY?hiu7rT7!$&%=7]\?@/f@r@0taae2q<1uM<hJ@`MDJ5:Fm5#iNjs1A@IH)1P6Z3EoKR6\_*MMM-E5'NE&e"RbgM(KL:]`Sa$2L=)VS[UO37>P&.9(Uj_Su])a@/.uuDs1;spT`]iqF*M95Pt><@JKPJ+:@nd9Ah6'DmT-4L'J"u:8fl;kR'hspkrNc`ZI,GeL()K'go9"*kR5Mo_]k4.%)<ifSSN:pGZR\I4#lqNf.q=_pHYK-3F__ea84t7o?^>#/mKe,mKKR%FG"_;E!_nP]\`Pfq,Qn)'E`*bJGroT_hnGM+fI3:Bkgr#o"=a?,IX(7JL=4H>^2l,8a;A[QZ^+oY&T+F:V!2Xs58GlikSGa6k42ThdL#7X]Et(n^,OV0`UU[>&On`c?A?7],)^K3Y1OJu,q[GqR,'0<!3MI`TPJZ0bto7c&hF[^+@U,]IA'\N1UP>s:Q:3.4EjQ3Y\9Xh+]bmgl0hpODf`lOoadCt>,.I)H&PWZO$C$fOkd=gqilQ[IbIm^ITcY'@Y+a%8NuS]tLr'Ggs.*V]fDP`u<4eT#)TaC3le+!Ye?Bm).,M8c!b]R*gIOeiB,%Oh#Q:5YA_!,(rH4]`a`_Y_7YU<<3g?6\0a;2MhGA(.cD8pmUZQ/YF^<6AHj5HoS^#Z+i,-KqSl<!$!o/`_2JINtuk/IaJ31n58T9u%o!a==5\8RP?_?^`laGBl>5/W)Y*9iohD0YA2jPPO%AdMcck$4/ttF"IBKWt5Zbh`ZCHR+G"3[@pJ=7X^_CUAm2f"XoqMCm61l3u$L$0e()=\dih.f:l7KegiIOQ9+T*Ni3*j_bH\q>JB`Q)e&QnLq@)gW?\0B?"'fePMiH<1P]s^:6``40Df9.99]C0r'd/a(eIVa1m$5SVj84\,?W%q*2cUb=Ptm2=(\l#"#[4Wp;u0L9#`R5e/>t,T*<Fs.H#r3V@F%baS2BFX;jH-_eAA^Yk4V@Za81+]YI`iD6^mG'J&Hn4+`lp#)RjD291<2IBaB4\KFRR2O3gieCgjq$HLk%0`)'t&Z-%nYo'KF!uX@hK+;,&R8]/HCC$-0RL@DaM$3=D3)g,hJ*Oc`GZWncbrak"RK[7(BN3QP-+l&,;/anC50kcdo-GppJW7TuXpjUF+jp`X<FX6-hNZ1s=g_cu"n!\9lg"-K^I47M0H'P5TY+/c^Ynr>QH7%Eb=I;S@90Pr5<i$i7C=%H*gGZ;k04DD]W,'ZddkrB$pI:KMoq(IoqEoZOk-_%H(;1+,]`Y0-@@@[6aU/>.LSrp04/S5a1TNseY)97#%cB\1s=Pi[E0<K:iXXdp=i1.><J/J'%=qqJS6\Xb4bPg<nVBS<X)"??9D3@*LaemD9j<pp<MrjTc9G39oRB_Q_E`6@q<$S[0*h,U4Zp'N9D1UkJ!*:U,FSfD7qMspWUN'@F6;qJ48lEj)R*37=Ad^S.Fn=Hp7SEO$oO^_if[+modT?G-IB9`l;Cta)KI:3MSelfN&E>c41%ncXHGT*B9bis2rTf=oY/SAN*/rpDr.2p!<X8QruN_U\!\X'L08/^Q'r!("#J8A,K>/5`kcEF#^LK\7)[es.SmM1%iWrGB%eP=`Qj81m.\W,([&=DRF5HQ<#9qRYdN/$2qN^8PE<p%i.4rc-Qcqp;9s!28e#*=S8+klf"lF]'[PC)V*<gPngG#@WdSf1J?AqKWCeAGb-B-#tI7OoNdjR-K47ArUhkD1LrAhUXWD6V?3+[IW;0s=)R;UFh@L(`70Y#Ku$>arkY_j(Z$[?>'!Cf?)COBJr#MnVZ9O]^<2Zn_qi2m-^j8:@-$VNG?j17?Wja`Ae@6l<,(`Th\;/ors+;R)0etiG9;=LP7a8[5]iY3=*W]HPinVL)2n<r7l'Amcu*d-gn@+R7%(L%Q;T)V(;BuiG0qL.'"g!<CcSUEoSjZ*q[,:&LOp-o;5PctiTrman\Bg"5/<]g/MuW,O$COZ]aQ,-6(tuq7N@Fnr)E<(&"b=^3fin2oB5Vs6^_D$m?,Q*\MFd?VQS=gKQb?Q`0b63^4Yu^JPVuSj8hY1T-)i*fW`,[8,kpb5YC4FdW_=3&r2/6*qegfRSB*&F7\I+q>#eXcV3k?6QOrTBVA[;heR>"\;EO*VPKCG41MIm(?U#'.)!Eb`DH@!G00Ghl>pM(<0JIYBRZ,.]g.Ti4F5.GG#`H,M3E_r_i;cc=GLmZb2q)H^(d;\qC$F:"<jk+Xe%e$1)B9>0aBiJd9sBm,E,ZUpmFW,,U!<&bp'RFDAXq<V"\J,EEU2\c=%ik0SV5rct[ZAGbT0(79@fArp'gNPT0?@^@/_5s(l"U$'`Qh(T2>85I[NX.7uQ1b!^/H"VKmn!4Pk!3RW#XQ`n*P#t6-gMEugj!o))r>Yc>?O2[)fT`g&'olGDCXS>3=XlIOh%^U@kk;"i.oUf;G"qSJtRLuC'fCB[;g+Apo5G514@mXu>R_ML[V4)=s=aQN9QGYOqNB!jC7)Fh;N%(pSa?e^aILQ>7r"$!E%a+~>endstream
|
||||
endobj
|
||||
73 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2545
|
||||
>>
|
||||
stream
|
||||
Gat=,>Edc#'7HK[d8*sl)2om!E:U;FkE9Xm-PIWUQ`8[O[MYOeQ=Cf"q0r:ondR8W$q8EkOjr2J3pJm<!?GMms6iAV+/^g&,=!YNk<M_cK]s;_SR29/,3;LFW9FMknD1qlY)1?m;>!PRY@9AGQsa+#7L?Jr:FW(Zk&7F[f@HLd$-i3bPtTjIm21$=XXV3PB%M&ug,5r>m*aI0oc,<K;BkAd5ghe4%3W5Z@(3h&eE;BUU5]=X)<fI,0`;=,\'!2ZHu7(>bLUc*G;$5tQjSmI#r@\q@.`m-5pqETC;_A-<2\U@K9-irP6FUi%rCJ8!k\[EiX`7#HnHNR@GnhN>R-\+i#'IL'gU)T14r-mr,>1\,\NmN&WN;MncH`-H-.=;m`Xd%`oLhf*Er5P_([f0\>+bA.M1h"I%Cc7=;pcKo7"M;Un/"m,n"d,F\k5GU==`rA2%AF+cJYCh1CGuF@YA@+:M;k^pVrj_!OD9$OiB[jpX;1C?8j\D@%e,K)0W/duYl(k5-j#hG$;3+L@<=.#=LhKXO"#h@8Yi>nCU1IGicj!)<?<!,36mSo8k*gB]eB&UQ,ZH5]5i3LcN4O5F@]KFFP_iS]!<NdRX9-=Yi)k6K([p_>,cp_,<3T%([mEVKmW*&sP2&T$^Z/9D0P%cfb0E/C^+=N8+e1:35]]'X),n/qeS&^<"cK'XmFjFXaPF=8eTRsgf%"uk!;jsVQ&O(R?d#ADC80;%9R&i,NK903Yj\DP@!b?j0%OtZV9b^mjCLke:?5q[b7[`,XA3Ugtbqg#"IWFK*7Rd];6/'WZgXorj&TMRcp9^nNT(8uf\@5G(T%d<T;C<D)BW/e;Un>R=FG&0/XA#Oa_#4ST15ddpUJ5=\qh=3c]+2fpl_cNGpLJ;`BDAU?j`p8Cpr*/3C9hRk<W1,1XWTH/ccS4`"**73@,NGY"NONLJ8uiZ&T!rbTTc/:m=XG=hPW24T9']Zh[IL'W6Y]^-BL]-06$"UBRN%5ICt"P/Emq`jDHc\.?,O?D`nDg-ijZt*j@Ya[;7a2WDPk#^V3ksY'l$Rif'Q,sIcMn*7?Rfn)-!'nY1p(bX2>aY<dn%CN)AiR"&rTTal\A8=)Y?aG#63Fe_dYH'k/WR*lmW5_NV!J:N)['nK"QK/JlXokn0m%k1OH58,>/ZdNEmj"=&^Jj=0osSh"I0pKVFMSaDTKmF(tpLjcNL'[#iCXTgi!B]EnU7C^QdNPJIG'!$PL+W]Bfjg)L=SO<nJI7']o)k8MCo,J;DRfV:!a/!BLV@R0)B-VVY54+sq`tX8N/i9>g#^dp$6</t1Fa'bB38_t.c;lsg8leX*f1#0"-[*Nt4YcSEU`rSWj&%!sV3Vtrp$cpZ$0UH>8#8^"*d?7H>6fD;nDf\qrHXKj+E$L[a^`!19h+n?<q<N!jE6Xi9_I)@a3e/s@HH6E,/[>oViXXG]QVi4A]ETS/bVZC=?F+5g1V]^LtbPBh'a:j8*SYF"_R*,0V]V\e1FEf`E#3fYoQe'Q>L<Dm2?3EN+LF`6;t`<lMQL!k`uo"mS_uTj=+DL.KPHb:rb/"psk8$iWar::Sa?gZ1ga[N"_0gB?TWV5FK#j_;^':OJKNr=SP^V@T\_d,0Z"@NG96chhVH@KPZ3S>BO\J2+7@I/*__6I>N.Tpl!2aC9&Af"<0$'<uW&H?e[b1GNoLt$9gh0Y8D3cCQ\UJ+9nf#6^!>!$6mTg<2_tQ4:u6(--J5j,[&_RRBE5$`ee;4SRJl+[Q;pppGh8,'_p<$_s#.dZ-8LOpt.C'=;-E\.c_aBKrF%Zc;L1AGi'Z,LMhgT'br3f-GrB<@8Fg]i9PJa$78f?(phF)R`O,t)>bT/rYHghp0<6:1:]Z]@#iM&'%C%_5+f&kl=[l=Z23_0212tUh;"$u%$(LY/#&QefC8S"Yr&S3rBde)5BBEAS+6<kP69Tj(AZ55.d.e7ru-qFTDfee5(4MJdImLMV@3C?U*Sf?O@SqM[FmiU>mL4q[]<O9\SiCHAmI`N'8`@N)"4aH.#pr&0CU\m;(J@UksAu5bmk,s9c15h=-WnQ67&ABD*`'YiOUWVi:qjs<3MmtCsbpBH_d(hm9HOd8&3`'P_#+TZd&*3<N;^4ct_@R-Yh>HlfoY's)L33ADLdacE[B;mg!p>La&*/rV*<<5diegl,!rt[Gt0K:n#44<u$XB-D"4MJ07kDa]$l"ntJV7!`b3qC.P>1/n+"HioMF10HpJ.i-@q4Wg2OO[8N`$7ZEfIds8AuV'nbA//>]^Z0nZgi:Bt,ES4b.L.b_=f',oej\l'+kje9AB)(Z>h.,n5!CM4M=r\j@%Q*pbcds8^n/%#W=`ZYZ5g6K_KK5V3U4j=,^f'iq@f9+\@MJ^=;V)NT!sU;JA1(Cq_]^LkU<@AFi!_JP\$r%YnTfI+]ObEpSpAQ/][Y2)&ZK5@F[k9Z+FASPDkj<J,A.Zsm>X\;VDF@J-9V=<ic+WO)-#G!Wei9T7QOKrrcW57RUZuif[,$'[/5.,.-o$)IqtYlAmR5\WCJPb,%R)0\`^g0g`8Uuom_,^q*=~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 68
|
||||
0 74
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -412,56 +463,62 @@ xref
|
||||
0000003471 00000 n
|
||||
0000003619 00000 n
|
||||
0000003735 00000 n
|
||||
0000004107 00000 n
|
||||
0000004213 00000 n
|
||||
0000004291 00000 n
|
||||
0000004497 00000 n
|
||||
0000003841 00000 n
|
||||
0000003919 00000 n
|
||||
0000004003 00000 n
|
||||
0000004209 00000 n
|
||||
0000004581 00000 n
|
||||
0000004787 00000 n
|
||||
0000004993 00000 n
|
||||
0000005199 00000 n
|
||||
0000005405 00000 n
|
||||
0000005492 00000 n
|
||||
0000005812 00000 n
|
||||
0000005887 00000 n
|
||||
0000006014 00000 n
|
||||
0000006156 00000 n
|
||||
0000006267 00000 n
|
||||
0000006393 00000 n
|
||||
0000006519 00000 n
|
||||
0000006665 00000 n
|
||||
0000006789 00000 n
|
||||
0000006980 00000 n
|
||||
0000007075 00000 n
|
||||
0000007180 00000 n
|
||||
0000007299 00000 n
|
||||
0000007480 00000 n
|
||||
0000007606 00000 n
|
||||
0000007747 00000 n
|
||||
0000007887 00000 n
|
||||
0000008006 00000 n
|
||||
0000008176 00000 n
|
||||
0000008322 00000 n
|
||||
0000008457 00000 n
|
||||
0000008567 00000 n
|
||||
0000008717 00000 n
|
||||
0000008844 00000 n
|
||||
0000005611 00000 n
|
||||
0000005817 00000 n
|
||||
0000006023 00000 n
|
||||
0000006110 00000 n
|
||||
0000006430 00000 n
|
||||
0000006505 00000 n
|
||||
0000006632 00000 n
|
||||
0000006774 00000 n
|
||||
0000006885 00000 n
|
||||
0000007011 00000 n
|
||||
0000007137 00000 n
|
||||
0000007283 00000 n
|
||||
0000007407 00000 n
|
||||
0000007598 00000 n
|
||||
0000007693 00000 n
|
||||
0000007798 00000 n
|
||||
0000007917 00000 n
|
||||
0000008098 00000 n
|
||||
0000008224 00000 n
|
||||
0000008365 00000 n
|
||||
0000008505 00000 n
|
||||
0000008624 00000 n
|
||||
0000008794 00000 n
|
||||
0000008940 00000 n
|
||||
0000010299 00000 n
|
||||
0000015186 00000 n
|
||||
0000019382 00000 n
|
||||
0000022908 00000 n
|
||||
0000026891 00000 n
|
||||
0000009075 00000 n
|
||||
0000009185 00000 n
|
||||
0000009335 00000 n
|
||||
0000009462 00000 n
|
||||
0000009579 00000 n
|
||||
0000010555 00000 n
|
||||
0000011841 00000 n
|
||||
0000012071 00000 n
|
||||
0000012301 00000 n
|
||||
0000017114 00000 n
|
||||
0000021412 00000 n
|
||||
0000025104 00000 n
|
||||
0000029016 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<575181c260e696c2648cc1c1c1520a6e><575181c260e696c2648cc1c1c1520a6e>]
|
||||
[<bede30ec80558c24da73d8816f8031d9><bede30ec80558c24da73d8816f8031d9>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 37 0 R
|
||||
/Root 36 0 R
|
||||
/Size 68
|
||||
/Info 40 0 R
|
||||
/Root 39 0 R
|
||||
/Size 74
|
||||
>>
|
||||
startxref
|
||||
29277
|
||||
31653
|
||||
%%EOF
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
# Android Cast build ecosystem
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-30 |
|
||||
| Last modification date | 2026-05-30 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 14 0 R /F5 15 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 13 0 R /F5 14 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,42 +17,42 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 716.2874 123.509 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 762.0394 123.509 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 705.2874 85.70104 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 751.0394 85.70104 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 694.2874 128.389 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 740.0394 128.389 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 683.2874 96.81304 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 729.0394 96.81304 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 672.2874 81.24504 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 718.0394 81.24504 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 661.2874 74.12504 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 707.0394 74.12504 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 650.2874 105.717 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 696.0394 105.717 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 59.68504 639.8499 154.7325 649.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 59.68504 685.6019 154.7325 695.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
@@ -62,27 +62,17 @@ endobj
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -90,9 +80,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -102,89 +102,140 @@ endobj
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Outlines 20 0 R /PageMode /UseNone /Pages 29 0 R /Type /Catalog
|
||||
/Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190926+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190926+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast build ecosystem) /Trapped /False
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Count 9 /First 21 0 R /Last 27 0 R /Type /Outlines
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 22 0 R /Parent 20 0 R /Title (Shared authentication)
|
||||
/Outlines 23 0 R /PageMode /UseNone /Pages 32 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 23 0 R /Parent 20 0 R /Prev 21 0 R /Title (Local stack)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast build ecosystem) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 24 0 R /Parent 20 0 R /Prev 22 0 R /Title (Local developer rebuild)
|
||||
/Count 9 /First 24 0 R /Last 30 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 25 0 R /Parent 20 0 R /Prev 23 0 R /Title (Trigger a build)
|
||||
/Dest [ 15 0 R /Fit ] /Next 25 0 R /Parent 23 0 R /Title (Shared authentication)
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 26 0 R /Parent 20 0 R /Prev 24 0 R /Title (Docker CI)
|
||||
/Dest [ 15 0 R /Fit ] /Next 26 0 R /Parent 23 0 R /Prev 24 0 R /Title (Local stack)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 27 0 R /Parent 20 0 R /Prev 25 0 R /Title (CircleCI)
|
||||
/Dest [ 15 0 R /Fit ] /Next 27 0 R /Parent 23 0 R /Prev 25 0 R /Title (Local developer rebuild)
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 16 0 R /Fit ] /First 28 0 R /Last 28 0 R /Parent 20 0 R /Prev 26 0 R
|
||||
/Title (Production notes)
|
||||
/Dest [ 15 0 R /Fit ] /Next 28 0 R /Parent 23 0 R /Prev 26 0 R /Title (Trigger a build)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Parent 27 0 R /Title (Alpine BE \(config.php paths\))
|
||||
/Dest [ 15 0 R /Fit ] /Next 29 0 R /Parent 23 0 R /Prev 27 0 R /Title (Docker CI)
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 13 0 R 16 0 R 17 0 R ] /Type /Pages
|
||||
/Dest [ 15 0 R /Fit ] /Next 30 0 R /Parent 23 0 R /Prev 28 0 R /Title (CircleCI)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 622
|
||||
/Count 1 /Dest [ 15 0 R /Fit ] /First 31 0 R /Last 31 0 R /Parent 23 0 R /Prev 29 0 R
|
||||
/Title (Production notes)
|
||||
>>
|
||||
stream
|
||||
Gatn#?#/1K'Sc)J/)JHk0\&\%r3<lr$OVGre@QP#MCU3^(WZ)WV.K[UMUSG,a>UL1JIU1mT?".:6h&m(mOG]].)kk<5TK"q'X.T%*7K$!@mJA*JRDn;]DteC1!`Vs\'@](0BU"<_>GSNU)5Eo4:):*4`Kkc,:5agFU/HiHN`MY!!NDpLrXBsbqZl1F/-nuj/fY5fTfGH-$B*k[;(&BoK1J3q"X"jVte5jF.+7,nZ"$#8j^DZrD_6YiZLj?@i'j.Ik\o^B(Qk6YIF,FrFEL,J,[Hrq2<]d,XfRq*-DnW$[auNoFI.uA"*<Qc!d&(<!mpTWGAPLg\)2#Hi8-%s,p77AOIR;Y/lREOmQuDfVQf.WTtT0Spr2A\X$BPen/soIr:YCbAq[sW%-UO"/EH"[td?KT%uWsOIC4'G3fWcfo^J-p-d)`6]Z/4:doCRlF8[V;SA_hHn"9rk^4cPIl;%Y<K@e/qJV-f!<-1I@cGal3eNp%.;OXb'[*13kGrXJR\E*3fqMbYp$pulUmV/8P![G34Vtc+EV_&Bo1nb5<1cp4-^L8mB[n9LWiS-2T![1DXKe/:n5u\<AQm_1ZY4PWUQ'D;<gh[4[B,[J2D%#d>RZ&^o%&li~>endstream
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2886
|
||||
/Dest [ 15 0 R /Fit ] /Parent 30 0 R /Title (Alpine BE \(config.php paths\))
|
||||
>>
|
||||
stream
|
||||
Gb"/)=``?=&Ur?8k_Gskg(eT0"LY4.OclnMNb+'-;\c0/6XWI%$Y$=rJ<$Grhp[41"@7P@`V%thQ7-.D^AI4;l(I"%T)J:^!94BaDfsD9R*7k*'FQ6Hn7H_7gR2BlZu!^$D9[[Kcqt4r)W8350?k/(`>iRfSdCipS$pj2_&Xp+9lp&&YS>]/p)N$0MIu-sqZL,-:\a;cg"4ggd<1hX^bDPie@.p@4O6JSi!\c)0+"O?O>L+g-j`#!"=uTha`j-M,\?\Gj[@QeY0.L%mC&'6'O..\<T.PYd,^*(k`*FjT'-SF('taS!Rom?-XoZd"\]!d=.8&#j"q$ib,=DF,`.ki1c]I!]/.e`,Uo0tR'm<Y3HVWZ$d-7CL6aHKN,Y1p,;2F'cj^6V\d=nDr$U8tIMGdtUM5UKD.c05ZWL`J&+5?#a7"rXp?e>P]E*XYbf5[RRulB;X/9o#'cRQ;-/I#q$)0khfF?;+*6icRf)Hk$8o#AI=%eHcB>r:\S>U;3+p;(,6tB:^[Xk&GqchVLM>,q"qgB$#;!S-/)"+Yn?SV7i5TqJrnhB$n[bi96-#p#LaQG,D4X-&ER'Z829D7jo^uZM[paRZsOYGWXp5L4HgN8efY[Zcir;&g+5d&.hmCd,8Qf=^5GZV!25sf0,`F'q;%KP)l!F?gkVW[j+FtC\Cmr,O_g-K;jC5b??<K&)"bmf]^R.5iMF[e'$7_U@^ViL7[-!nS#a8ZU`^RlsX0sGI7lCW:hc7hRLPlYp5#s%bp_L4>8<SqRrYI2Wfb)GJ"0Y19hn>RDC#[/+]VfDd0.KfI\*5HMq)8N.t^bCMRO<k5!LOt14D2HNRFCI4AHa\*69]sBJ\tS6mYKV(R`)k'h_'4IR!Z$%qIfP=3at3;q?j6g4KISX!r'8%B#m2:3N7Ud//SnKoRsB0Zmp]qh9W$7oC$>=G:QlK6$,uuHBnZ:?Va<G#$p"r@3Y.gI_goP-#&Cai%1#.=%iIr`#!QE\,Ds5[/m+7S>@J5.17AFUd1-49FI5h0H8([*f$@;;%-lh^<T6uL,"c%d>kn8fXqkZN;eA!($2lj+12S+'R;TdrUrNng"N,)I\3Krde*-5;k^*0rp&<4ls(^*iCA[q`dJa$QcZdu&CZ_.hp<,^pd:7#n#MZXlZ]4uPnG.fa,fK&(iO?]bcK:W]hkFa<NY\3_s-@WPi\SL#B2D=nf=>E"?,lJEMtQZ5Stc'<%bZaa[e!9>4h>)3G70HE;<-;Tr!u2D18=boGOm'+oPM`\-@RY?h?"kD,`+0S23bPaA0SR+2-4S2P3VLh\@3%#qfE#c*k&7;Gmtmf)Oe@1=&2?AgONVuNPR9ib1ncHT8L+%H)RP::4Tr<#G^%70["8'%ce]@E&6c$23fJ`MZSonk34E*:qJo=SrA3h,a]5uOWB7U-&j0bBDjrA!f^a$i&?r+J)KNX38,9SMIF#,.uq&KdOcdc%6CWoNhHW(3_L839-A4WQ?%+u+G5l_K7-B#DO>5]%j4^5D7jrm&3bN<+cDI*:,C<ZS7rJa!^7koX'RY6C2m"*&h5;Fg65M_E5n(*GmD9)+g-7$,'B`b!o`Yl:4sNR6./Pp!VcIGqWUX[UpCg-;_3BeLc11mKYd"0I_GdtVr@bG9^2/[(c$u::M;bHPi/]5Y1dIeB8@+"@>NR[9c+6AL2@jSqd)fb,TDpf7&)i7FgNA3UK'-2_N,9&4]2FZ54t@4,->Q9rc"5sF(i$[M*YN6Old.9MRq`a&*Xa4->=1An<+&C<u=Q51N0rpS?Vsl;4$0:p@"gD+`$2X`06a]g0(BDVaZ*O'Z"OR9[C%[Tk&VYUgd29ZRtO1Q"sBYrQ$bG;W''/2.1,K45@cH5nIJl&;Fcq_)N!N(rPq0%4h&4oM[,P@(kF@rf4.Q=,nu4=Dm;%epj8#cViX(M*tNrb%21a0%9,4#aY%O8@_48`]=7]N8J8^;E'B2]^(I3GVlWQI-D2U:!73-eH:AG_Lof/?%P>^!,EL*f;fhMg?0:f3o8.<G&>s_YaoX1XG9%T]qT5eVfS#U1>P**hG=J@K9?:I^EOf!1mK[+e>m<D8?OWlh'6Z?TFGE(H3&!sdkHS+7U0)KU.n9[jXl>]q_#g#-_ubskUC$=I=c'3;/aG'?6Ofj-6rj?-4>\B,K0@!Z3=X1jtEBc%bqr>';@_2MU<?5b#1`u6G<,U-@%3lC6dX_nrFuVp&:D0eG\g%6=#C/13Kks"VTCg\V.3"^IHK@NP!9MBan't*;Gt2N8\a++eoq+Yh?1j\(X$IUu"u%=Z\Me1JD>%&S[[h*\1;nau01Q`=_<t)2bFIb8H]Q7H%3?>$WCe%\"csS[\>qZbmHs6qmCd;^KNS1Fi8^f&/<Io6O'/R6JMO=n[to?_[;RRHk^=8uNO?7&#n;j1N+lURcS'<d.?)VY$RVA^/rJ=Z3Z6Ac5+.M1^9mJb%]Rajf.t:iaWoXoaW>[>WZ#K9e!a].@jCK](=LEHIcmOlV3dd@bqkKcMR_oM`/^f3)06+$_+9Ckj@VbJ`HFC5oAJO01&af+`0U^T'R?n$mKF%ZM7-5-3[HNYop^DGDC1d'CPtqB6E^Om?mobf'=6@7"'tdIP0G.7fb$`+Zummaa3r296hIL@@5-3*g;k&`&`Np'jEJ+F:aiQpM@MimF0`ju6Q<l`k36WL>-RDrC'<5I5.:,3-L3ZJC(e@G]bk^!5uj_ad>ZSR@W<%R/s_K+I94$`FnVi9,U0'*@\`'*;]eO^1N$/%um,"pcO9*T&WCFh-'B[P4G,>O^U;L,mKH-T6@2_H=eZPiJq4CgTt<QM7\Ca*fo;jn4;?-0,0[';r;9]6"t#g@??MbO<opgtMEqIfEalV5Km6Rqug6Ptf?mMrl?sD>m9`Zak!VXNLEpE;"d3Z?c9~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1156
|
||||
/Count 6 /Kids [ 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 841
|
||||
>>
|
||||
stream
|
||||
Gau0B997gc&AJ$Cbb]l7Z(g(cmk"R'VF;S%U8(S<Q7,tLP,M:NH?8=hmnf0YS!(+9/IK=gaa%j>O#'/V@,YV)n"^*]&;0f##2=\g"5>%A`4s./GkUmUmPTWQ=K_$YkZIUmiLsC)<KGeX.T?`ki;!c?fM2F$m=J`-h9O(cYenH`II)rFi698^HD:k_Si<M:Jm[#s0X=k=W6tbX>J/5eXc%EcK]a-E^`$C@keQL(/<p*\Zd4Po#ZgQ)i*>,(quH8ho(rT_PAeKa872V!/]OAdLP,J6#V\30W%\a;K1Q>'BpB$sV[75$\eb3p-1\RS<f:ep"3<L(k1a-m'TB/3Xp4'@n%T;k'f+*K,+DZ.pOW_D[f)iVo=[!8BUTNX`sJGHFS`ssh[FMMflK?OljaLLQZQ.[fR/J9kG@]_q)e0"X7c#-X)20+CSj=lfQH(@0pcufnpU0<Frg%$?rp6939<_`:J<0/)^_.Y!ubAoa7@J&96i=9-WKBb(Rifh,-&+PlFs9c=>u)Xldmie&tua/BXTQ$W2\R'j>sG]f>^L0o#QL37V$TQO_-O)h.l!O:[(cZjh*3Z_KNR_R:mpgn5oNNbXgfJSo96FIf4O]HoSJRe:OuAl32RQKqY!9ojKV3Xikj&=@S9aII-lE!h:87f^I,h3'.JONLpMred3=/d2e@,@$pRJIF6?ho19Mh(:%V/,fH$1ek$$m%gkNQ"j=D(WK\r>;F.KtRud47#oBPT)+8>a2>`U?H_t@[Yf9?>D0B];<=$^"\Y5An<GES=U.,G(bh+U:eQc>La/i*m>X#$q!2B`uWERVHnmocO'c:;iHG"1R8)8&&<H;_Qnl2$2U&VEERo>NX\\uNAK^6:*0!T^+rUT:,ZRn%X2&0EJeGHg0^3@*FchKY>$7qis]f'%STlo0.MW2]$R@r;t<Mp<K*@jc=7=S;!]RmotJPhnoqVHZ+ElY3%?,;WlXqf1<JOg4""S7<>+U_=iRd*2sDBD'*X"EPRSF9]m%R7FO9\_;Sl2'_Sr?h&.ThQOjTEZ(.J_NDV4E0fr9F*7gmi^;gj:Oc0J_.NfaQbOdF[$&eh?2*bR&`-!=%MF9/=@pXVGWk]XNK314du&^4[5J"k;Ze"Dcq9\E=!=;!jOF6A9l^Xb36R$WuIUQR/IBo_T)N~>endstream
|
||||
Gat=*?#Q2d'Re<2\;sdh\A%rqa0o][9p)lmFOHa-(7^[?5R4)`rr!6SiF<1F#UL8#53Et/?Xk<WqdB67Mu^"D\@b0o#2T\`&-:VhDS=/a$%@gIOsigu!Es8*\LT5VL'_u>QQ-9T("Ed*/X\+#dcZJK`-iO5?=Ztg5ZsmjX@Rk.&;n]:EA)k,<?.f+(r2-'jm[U1XogB$,hlqAM*?Lb$Jks1g))@1hEH^*.O;<c.4Mh8U"aa%E[#]oYu#8=TLHm&VKZ_e_=c9D`Ve?cpA<k(:D*hrVB-=I'B\LV7!!m!XG,43`RmB2lXa>:\?sI4@E=]+5sf<oF^[:gV]*J:TeW>g'[U\I'Ks_-SjTSTo;ZkV`G&Y-Q4a).jXt!"Pa0)ah]fLmn!9-&?/=dTeKu\[bM<n6B\(3S#pg3M;4YW&_d@=ULUi6oMS*ROe/=>ZRgH8Vq+Hk\R*-AsELt*f[IRflgR?CWSHnQoT3C"\jupr*,X*gX$uYEoW^kf_P8ZZp;BbQ$ma<0'4$E\?9[0N+ES@0lNOE7mI*n]7#Zou*bQPpu)DhILhY:XDQdopWlrC$shg5BOoLp=N]1KnfHTL&/m`5Oi-L,RV7m$@1%pIBN`*j'mC%@d_/F*m1g4FUUgdEL7+lC!Ccomg^2p7Q?<r;^npK.6=SIgQj+miR2dlr/ff+n(m5P(ZH9IaB#n5tEY1I,1#Zn\d>j9SV&B5!$%9ibL-RNYk0g_Ru50tIP92+"\^W^_d[6IZ:t6L]`4[]Bge6LRsU_!PL/\_\F?V(#A3TnCmu-!DF+"l6V.Cq<#_S=>LIOB`H@m"^p!+q^C:3]TX="P"t)R/@'bQ$/)~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 571
|
||||
>>
|
||||
stream
|
||||
Gatn#6#W5H'Z]\<'`V[SK?H&Y_er,28sLSPe*(4<Ul'a;=9rNYZsS<;Ut+2]^a`k$,Q-KoH[\'j4?$r`Ak-6ki;/a)*6A[)YQ2c`X(:p:7d%i8A0MAo!)cGOq/P?LF3Ddc\0(QTIOmT!J]X"o!Q",8m[Nj++V2]B1&.0QGu'eTl!pQ_GK=lC<GgJ@,eoIhl.J;V\AT3?-i!ZI:Pa`6BqYJW;PS9.SLkhnbYh[1HA"Qq:M$c]=^%N,Bm(?0oqQ63\U%/=DNo]LO'PoM,96JkWdiD>1$*lQfI=hG8PI*0lKmHU2g6LF?8r\mVDMGP`]us49Ej5hSTe6:B;=$YNT`&.rBHeRE#-1WAUh<2Rbep0X.$=p=KJ`t]0>,;He&l?Ra`,?p1f8AN0l7]l?t8i#g&f^J.iDUM?Vu;r*d'@I!s)"D?$7n(3F1EobED^]Ck`'\_=."s'j"g>L"NuFkY$=X:HnS[5jn]Z!#rCWDq3d['2u6d<86ZNHK#;RG.=;>%`OI/c1V^P6$d[GX%gB?`P&#EB]Td8L!dQUW=1(LFa^.L4n\/f+;j[R/I3ag00(~>endstream
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2935
|
||||
>>
|
||||
stream
|
||||
Gb"/)=``?=&Ur?8k_Gskg(eU7e>?-?_cJD0Z:)a4$<*rJ0I5T\1"[@/7oK0Ol+oZ;+@(P<qJ@fW'JNVGrH40Cd-s]SJ,2fgb;#r6FjLR7cTnrR$cY-pApj1(M-eK7CrPp\blW+M.#)?E\F/ENqZKhP>ts325uVUK[^mi2Y2X2b[pt#dG`K,j#gZ=(;n'@df\1)WD^WW?^64;T_fuKB+[r'<2=fp55,nXU_r,u03":CKl%6ohk`[i6nL9F3_tYT.ZS*=HRPo1lSQKa<H*j9tnnb940@tk(?eiHT,)Y<8:;LSJ?kF,-)-h/*(0$g?3:q]s.K4@UKi(,2j:m7mn[t&4a")CY>cgJYU3VK-S"Q,n7rpgi>h^)u\g0&NAWDb_N"eW<*#RrfE!iqDE(g",:9fee.8%=F"jPA6OZD.-09.$d0@&=[Df5(L\@Iud/TWkEYg6'='m_>g)!+B$VeI'ho1lP0VP,u<o9uf]6)';r2Qj6L(=UNcV=urFhdf.]ZtbE=Z?^6o5J?d"lMD7p_3alm+Rl&L"&(D]6RfcZm+7=c6INi%_L$.76+BOM6mZig=W$p%U^mcEhl379i*h\i\+&le:_"[\]SGiX6Wh(eW!HemcKk8uM=?U3?UDL$MS2<1LPkY.\RkgjR77mCNBfQ*>XJYh7GO<$mS_f5*8eKFbl_\kPoZkZqFm1]L.o!/3)1.,;p*W>_6=d^Wo1U;JO_64,&'(:Dts;07.C];Z?9i0hRu"e#lR^+aQ5JDi)9dQq1)LqYALr'f(3W4g:+o^=rY8TC&fJlD#g3.!IUmVi;[Nl_dRB^T8EZe(_oB',ci%Z'#&H62@%]fiL&HSg9EB'QP5gB=sUa1c`Ige/_c$O(r@+llr3f_,^u_ui%KTu(do7Ar5.tk!KSK5".1h"1i]q1?$0`@q-eo^XbfuE9"1^lj23E@1X%-^#6\Qlk1bIpko_bF5f2b:HrfqC!lo=_E]Y*LI-*UJP4BT?^mrCYImmVH,cSPo,U?qX$g46'"K^iASTa[60%mG#M=.rLnZb,p.aJYP/SQC+@6mtMZSa0fS=5+[*+c[hh-?Z4AZ%*\pmD3MIorV+d[h1ppSbD3:qDsmVVYWbmqkMKV$hgbNNGJ1Cr`n>CA$ksUE2HKLT?/%0Iptl=KDjX<Eb\e8HH^s,tch[/aH5>OSi@,4R#q$`W1TGg,eKfX88[cuWquAWWY>-/fC-[u=]dR>Gs0U4L/(SCGn>HmUNig>$5h&:KlE>Cj56=R:AisM]#NP%X&@+jUjBP\0C&88bdW84UZn<o/r_A8r"(AmhV@_]p]*aeS!9/j/fpd9[Gf79%kiLY<r6i7%X`FHHG^Gp8>0?:;\GL>dEVg?F7;^n6r.>#f:AprbZBXuY^qnA[RmnQ92h967$QqP@B>dSW#NBG`@u8pmY_\o:@p(DeXeiiU3-l[,[RQQl(nTE;UFhmUb6\E+NpDd:BRt\/ZT6)>8=WbX>SA7$i+-Y4ho^OT-C]bm#ZQ*d0Dtl=5Ta^Y&gW:^S?s>MRdNe`qrDBIX(FdPc`'`-%:r6<ZDn&Q=?8J0J[d;M[BEW,Xu'-$HlaW6:r>7dLZp#D_(\/>I2RoY\n"*]`GZ^CL>bH5:*5\_1LNd$c9NY>5-KheUR_.5Q8?hmmTSbQD>&I6(h"/6M"TPfYt/9TVU95D8!Lrt1"eoN]$jkR>G<i578k?,(ieFX7A(`!^J-!%RP$3Wm&/8Ofj.Qd&D0^Q\OE<gc8c1Tq?5tq(<86m-UQ0+L=5DC>L*m/CqaZ7jYrG&4"5Nt><*#[A`oq1(+T5r5+FDtYf8#Re%Ak_QsVMG=d7WX$bL!3=Z'\RYfsKhpki)]=PCn-2[Q>m``P;j;3cVb%YR$cYbHH]b.Kn91l67Tf:1INdFF/t&S;a#m@qc"ca2S7lFSa881Vck/Ag<+H9DML10tM@f>uWILEN)nL+Guek"qCg;pfBA"r9]^4T_a")4dY9-d[m!31ls=&Ek!>9uDCmW\LZ):/IXNRsE"k9Ucm-ZRM0i&;[Vn1`6F<7^>R^]>r\G8tkEE;P<BC"9b!edRSn84`)1['o&N27'1O;@B<e]+:/]"Ke^Q&.r.tgBo/kf"d+8kLD]E7e?KKH<G]EGdEH@jXdRlnj<)a5KFoJ?:(^r')#kg=#>EYF"a&.E4(EA#oZ('RYsP@oe<-WTm!WDYOUK<8Aal&GUC:[c^D7nc^\aj,(ZLH[>qC8PPkAfE+Y4_<:ig^<4u.+=6e+@*^1J3l3*c-tBSJBZ\#]M1[LZ$1G>rbBNfD*o'3S7%R\j=r.T]]o2?)@M&a5E=MJ=ao(n$(hiD`TVI3`Kdg*PCD\+a"2_\:'Y9_fH&(!$Z$.Ye2Yi%gMfAkT+o5/THcp9AF@UA*W7Wu0;WW#q<nU6?"LU:qS@SbAgZpPtN9oV&R%c+:ks274`A_ab/mK7B/;o&'>de@j.(ZHmBj6B6l0O4WT57hsK[(:R:1#\_%63mX*_MSc-):qnQV*gA\]Z!&XBXK.g$+OY);7?c`o@e)mo6.^i]2\oD/9"7o,eY%r3gq!`G7Yb(6=7@e3%-?Y2-S[u%g#Fc7+,F4GFZV>?ir$_K+fq\WH/\Q5V@+e^Zs\0'CJq)LA</E7GeF0KY'$OrrlT]e#3'nF5G'/o+UCa2khJmj)m8>r=M<Hgc]XW5i9o>ao4tomj2"X!h1LJ[dG*<fc0ioq7nSuI?rGbi4qtJY&$%o&W#9:d'S"+9!V&/`!b?G9?V&?j^+!?@#USOPh]eQ`\^h^B0VX,"o&3T'3@aGEepL^jM2VTda)0G]]Ul,T+646!]5H]1lNqo*aEt';Nc"Obkqm:bjZh1[hktt7Z0Rn=rkC9^?TY8Hg!T;iRZOQdm7k[Ar2j:;Hf)&4<V6e9f@"fnJ`c.liZbjI>[6Qi-6_,c(#;5W)n'5A\sJoH^]kOD%C*^jrrI).NnO~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1205
|
||||
>>
|
||||
stream
|
||||
Gau0B99Yi)&AJ$CoOUsmWBhZNbB$=VP0In3_b#5tX\/k,1BWFJnp#3.hnC[nYmiZK2-X:LOemN*^JEZ;-oguuo8X3/%nj,k;4oNm;kP3%@/1ah>Yb9icrMrYLbkeiKW]rWjrTs/WIEoO;PI&K#LB"UQb!3"F9[mqH93;A^^24rqI=:T"D:3,gDXAmot3#E(]:#aLll2oTLoSO1jIgWg)8me&>!+QN]"0ld"0e.QtuT`AtS/kOh;<B.>59`jT@&P[GNY4S:%q)QNU'&g1':!3:,EB6\)07`2%f@*,Irtc,rG3/;[N3es-p[4BBM1[9bZjF<IKcRVjnb8ohYW\Jj63I/e'!R8d>3@TC/U]bcX#Vt<3i(OK__B^,VCf+"EZFPFcD?[$Kbq/\HeljaL\;f%Y=fR/InkCrSCnN6<oWjV@kbAC9DpIp'-nSInWMM5O*6L;lsYj6W8"1sFnh'nBtHt#E@>''MXCZr%2EZO%dEjRd;mt@[Sp4_WgRu$?HQ+AVA0%Y4sZg'E,^-jC:':S@\*%Ih/TL9l'ZYOD*,(AV$1(dY`7&8ZK9=Gmc^f.gD1RqN,Mtp-/$((<u%fV@#LC&gmd.8^Ya0.^'L^sa>5ohABVOk[a>j/bu?LK53fXY72\n0A.f>l0d-G\;3JGoI@J?u!Ng\@0:B8s]LkKOV'#eEU>e!Jp:H9MWZha&#l84%^g@i\RbGGjrZ6Ln*sJgn[&"dA:V[eWI$RrErXRmLX`Y21N-pbOG#SC_p8=hS&*X$S9gm1$rY-klKF'GX6-jOT&i]&l].+1"9UEq,N-'!)F^V=o5,QH)(,.)Gc6eDn5f+*F&m:s"]"+VJW-LAoB]-Ds=IRh6aW&?bUCcA9q!oImt64mM79WN#*eVVYBSrk6,OIkKWr-H?2!n(3;V'38,@V(%EEP"N/7G^8TDdBU!'VWa)?9U,%u5;6bL;;9jo5j`eV\gpkihAO0%*QZm]9e_KN)m\P8?qEQgh!N!LEjZ(AR.K-Lbi.a9O,<`[4^EQ^[bhdj.@AWL#?517eStBj<sKljJP.HQm2a,,*^=,4IGiYYZI5b/B\uT<[eCnB2<;oUn-Z/-LBX#5<nEf3KU3PuUSh`fEmJsmq0BMUJF>IA:^R@72A396fk#H^JkF][=0%f6m3M<P%0PgTVlrRr(Ufb*ZgmB)r)lR('Lnr3:`>aDSd&RiE3TpIrWT('gYM~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 33
|
||||
0 39
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -199,35 +250,41 @@ xref
|
||||
0000001388 00000 n
|
||||
0000001537 00000 n
|
||||
0000001653 00000 n
|
||||
0000001921 00000 n
|
||||
0000002027 00000 n
|
||||
0000002105 00000 n
|
||||
0000001759 00000 n
|
||||
0000001837 00000 n
|
||||
0000002043 00000 n
|
||||
0000002311 00000 n
|
||||
0000002517 00000 n
|
||||
0000002604 00000 n
|
||||
0000002907 00000 n
|
||||
0000002981 00000 n
|
||||
0000003084 00000 n
|
||||
0000003190 00000 n
|
||||
0000003308 00000 n
|
||||
0000003418 00000 n
|
||||
0000003522 00000 n
|
||||
0000003625 00000 n
|
||||
0000003762 00000 n
|
||||
0000003861 00000 n
|
||||
0000003936 00000 n
|
||||
0000004649 00000 n
|
||||
0000007627 00000 n
|
||||
0000002723 00000 n
|
||||
0000002929 00000 n
|
||||
0000003135 00000 n
|
||||
0000003222 00000 n
|
||||
0000003525 00000 n
|
||||
0000003599 00000 n
|
||||
0000003702 00000 n
|
||||
0000003808 00000 n
|
||||
0000003926 00000 n
|
||||
0000004036 00000 n
|
||||
0000004140 00000 n
|
||||
0000004243 00000 n
|
||||
0000004380 00000 n
|
||||
0000004479 00000 n
|
||||
0000004575 00000 n
|
||||
0000005507 00000 n
|
||||
0000006169 00000 n
|
||||
0000006397 00000 n
|
||||
0000006625 00000 n
|
||||
0000009652 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<0d35921c8624899e1bb669ca58d2afef><0d35921c8624899e1bb669ca58d2afef>]
|
||||
[<cd81a7e6527e122406b62353aa6bcb61><cd81a7e6527e122406b62353aa6bcb61>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 19 0 R
|
||||
/Root 18 0 R
|
||||
/Size 33
|
||||
/Info 22 0 R
|
||||
/Root 21 0 R
|
||||
/Size 39
|
||||
>>
|
||||
startxref
|
||||
8875
|
||||
10949
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Commercial features (developer-gated)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-22 |
|
||||
| Last modification date | 2026-05-22 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | postponed |
|
||||
| Document type | draft |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Ads, in-app purchases, and Play Store helpers are **disabled for normal users**. Turn them on only in **Developer settings** while testing monetization.
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ Ads, in-app purchases, and Play Store helpers are **disabled for normal users**.
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 9 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 8 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,17 +17,17 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 716.2874 110.157 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 9 0 R /Fit ] /Rect [ 45.68504 762.0394 110.157 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 705.2874 108.829 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 9 0 R /Fit ] /Rect [ 45.68504 751.0394 108.829 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 694.2874 82.58904 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 9 0 R /Fit ] /Rect [ 45.68504 740.0394 82.58904 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
@@ -37,22 +37,12 @@ endobj
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R ] /Contents 18 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 17 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Contents 19 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 17 0 R /Resources <<
|
||||
/Contents 21 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -60,88 +50,155 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R ] /Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Outlines 13 0 R /PageMode /UseNone /Pages 17 0 R /Type /Catalog
|
||||
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190926+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190926+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Commercial features \(developer-gated\)) /Trapped /False
|
||||
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Count 3 /First 14 0 R /Last 16 0 R /Type /Outlines
|
||||
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Next 15 0 R /Parent 13 0 R /Title (Developer toggles)
|
||||
/Outlines 16 0 R /PageMode /UseNone /Pages 20 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Next 16 0 R /Parent 13 0 R /Prev 14 0 R /Title (Before production)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Commercial features \(developer-gated\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Parent 13 0 R /Prev 15 0 R /Title (Code map)
|
||||
/Count 3 /First 17 0 R /Last 19 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 8 0 R 10 0 R ] /Type /Pages
|
||||
/Dest [ 9 0 R /Fit ] /Next 18 0 R /Parent 16 0 R /Title (Developer toggles)
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 500
|
||||
/Dest [ 9 0 R /Fit ] /Next 19 0 R /Parent 16 0 R /Prev 17 0 R /Title (Before production)
|
||||
>>
|
||||
stream
|
||||
Gatn"?#Q2d'Sc)J/)JHk;EZ*@CtRR42U\C#qsn<9(cWrp?tPr&n'A3b<MQ_AVTKNBS7A.Gf*;A<Ml(:C!Z)(0QNRpT)c4BaQkcdJm+71;3g5f-/EI2Fer7d7M>LbMnP%#'K#q8;SUp$)j9`Y@BCVO7^hB)n+p9;7&OMEV+u/e(Z#2&8(TqVW0C,@K`YN"Gm==lBZ?N`s^%LRC,1pXYFp@OOjrMa>DND55j*K!Q&PF4*;bjkI*8cg:,tn7tdjQ;:iT#P*k"G/H/3[EJ?[Z.+qRC!O[5WCt+k97sH;]"%6.2IcoMgYh@MOs/c;!i(Z#CYHXp_ZG_[1qbd/TXipBbD068[(CpBQH2[bJfn6KdpAkSJF&]LD9p[4=W3]%?0r(N2`L\B:Ntq@fNi@Yur;lU3/'(d0_Ra4/8,WVu7.^9euR%PH=!BFK%k$;K@4%_-`^(3PBcQV6,ap>5WHiMHktG(&h,Lp^W=(Osl-.rUq"f[7`Kp)AD^![.~>endstream
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1489
|
||||
/Dest [ 9 0 R /Fit ] /Parent 16 0 R /Prev 18 0 R /Title (Code map)
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 841
|
||||
>>
|
||||
stream
|
||||
Gatm:gJ[&k&:Ml+oOA^R@EZ,jk:)'WATt,r5^5rPPd$E@1U?,-*A6sVgTk>LQoGE=PQ<#0e_N:BICa:"n?Ind@17*0KC`jtC^RKPfIh/Pp((EQHN3^*NMPkPJ)FH^"MoUjcHsOO\;^a\>*nWl/-aiQSiL[&%ZETPGk;XFUF?!A6up;q'[jB!="ND,Kd@=)-$t@C>\OZu/lSo/@/0a.b^Q33>&*=m,%H[s8$Gf.&uB(b@@a+]7W)_@:LLW^$03TXK1bW'^7sGl[S-V<V*\CJnN7W0ZE4>&=$grKH"M5Xc.Nosa"$&Ypr.9I&lO-H[(bM*'/>PEb7+kh*<MHbJRs$5pd=%$T"@M.-\5h<p'<Wgi;<CFfGIZDlP?/2>+cm[gVfZ21?u5K2oGWLF0:g%ag4adr'>&7pUl58@L]9r3C'+.DZp4cJObKuNOjHC*XaOkE_*-'I5o+a`3`Zp6'^TcLj23Q"<B'_8>4=_p3Ul%nTGr,dYl]MR4cX>6;UVrI90>WGf0*,'is)!;?L^:?tdj[n&nDl7$'Hopm1pteQ7Y4&+c+Lk&F<:h03l;,7N:1"qsqZ'd9f[4"ol'3C.<W%4fj5[^0n8Lg2V_IdsK`!4S3/X\kOIU9RTW&d^r!W<o43J9aAE/EA<-,>@!Ma]B<J\*=R9-O2)`T00,ViK`TtPKk+,5i)Hq:JI43;;+sF>pt\4P$mo<\5<T+[,g6T+n:`=YL!F2rpPWbK/Y'<_R1"RaKk_jWd-/HnNJ?bM+"+1La;.V>u:$!4?dS",c,h40Z""`(WMUX:9.3)rZq7pN2DdZ[f=5%+$DBPJa;"9Ic&uRYWY0O`"g&W#Hf?-(E6T9[m+)8EXdl]C68*,)n;n+OP(Nk\>hHK_AXB'.Q8brIfZ@M<%g.q^30*3hkL>O:3TY->tX<MTTuV.bRf,6M=HHL9+r;Rkpd6".GpEc=N*#H+VMRJBDGa&N+fr@fBQP?G`)NBc'+6%oDYV5)cO]6hX7.o*EP5M'ef@!,]]nbZjuimEG`r>H8VE=#0\DJeqa>3PJZddTk<7.)e;S3p,HRe2&8V<,F,EE&@4K(R98h8fBJ%!)D"OC6bZ@bY&5Tt[i`ZG)gIuN)bQ4.U\<LO;K(G.I>>ojAlnk5UQXt]=X"V@)NpFhmQsP;Ji5j?F>eoDD#5dS'l(TGQUS-u<gFbY:uF8&UkAA5W+rXRApoHM</W+>^-\iq^t5RMbn0DAZBB2n/9'r.MD%$5+5d$E`*<@f4B>5tE9:MaLnc?"H.$60k)s5?_;e]ioQK(mWGrZ(CZ0bO">IY.@S&2U/fnoan1WBe8+VpSmcAO'fV.RP/%eEsdNa_'_="&<.I8a7F#sZ]#_XZS$ha'W)I8hc2,TP2S9]dS<j3O#:OCb`*pmpk.1N:K"iaH-:*#F___/Pgs#1%,\?lWVZ[D^rKR3h$2^<(9]pPB<Xl68H@-_(AoM;(YH%+Tc4tXCc,WRYcGum[.Xc#L65N#HA:]~>endstream
|
||||
Gat=*?#Q2d'Re<2\;t@#\A#s)n<deSZmjPT"RW0A.%$#E5XqDFrr!6SiF<1F#UL8[4m*k.Y!3JrH*I5(6i^S!G^)P?#&XF^#mYY\O7))T"@"-A+OV$iK2RS'bM`Y<L'b8U,qL1),H7u".)?m`OM4Et-_Aa7E$LQu!K&')@mpGe<lEa)h">*e8>8YQS']nVTY2mPoc@G;^AcL6A>do0S!Rjhp$N=FGB!"ZeqP-O0BP9m=<\?b@R8D(#i2qifHT=R)%5uS'j>]1@JZ38&M/Ap5<l:dhrdWFq3@Zq#so59X&;8?5ha4N@u4a_1u<"_>ehn!QlX&*8`PDQ<'tVC3/a\l@J!e5.1&"VgBpBQ1HW&WX6[Fh(1)H\f=K([Ibo+U0X/a3@/mDFdqKge,qZa?[Df/r:f`m'/?;Tc038bn,b1UAL&%(Ec#nfPM(VE5B.DCPO:[lfkBZb_8I*K$#3n0@@[IC,m-P<E^V'-Q)<+SQH_isDI@.t)L#9\*4]9gD)]#F++H9@ic(9/cn+[$E1-)+=``S:>3SK4a\'H0hr%JC8@jWlne"@$:n\uq4YH2V)@''ddh=!@+UM$kj#@JH^L[4cUF%=ppo;K\Q*:;*6)tZS>'CV*4[S,U$j,LZ\8\ZUA4OS3RfjQg)ok8e=on)N=mgo#:T+IJ@0$G?3e#pEQCC9u&Sb>p/)ATG[=I2C^3C$g)Zk:pr\Nj-L(7IUl-7c5%bop8cS/02F0rbCS2+"__Z:==!K%C:/Ks2K,g9N12Ecq:X"n)"\c1U2HrCiq2&oF`$.o@9`8a*UR"4JFao>GGZK!5qTgMFDo&:nM]f>oDX",Ku$^uQT@QZob~>endstream
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 435
|
||||
>>
|
||||
stream
|
||||
GatnbbAP0N&-^ED?ZDF>$feMP39dTYUe7;oZKrnIk#"I83WX]E-6Ue>$WJ9BYnTu]mYhh]pPYJQ[K=#H3^WrT,Z@OT![K!!P1Fi8%[DTS@AJ,JXYo,o%fCPMR.3^<-,F+3EZK^F-/sI5AhAK[*?!j-<o+Am6\q;[:=@JD^eU$FU,GGGh')S\EkeqfrOV'Fr#`Z.o7X(,O;bfN2C>o0EN&8@QCD[^+MO,t2,ifL8nTO;XBsQ=$=--1dX-.HYY*)S:r/siZpQJ_#\)2T^o()#ifJ,jT;?"3T1_L0\bPTH:\J\X/i+%%4cdX9\),ToLoi$!&43-Ic(L.OMIhLDF\=7m]_%!3/Bl\T$M?N`;6A$i]%We,`YE3J[)hC\<U?eiV?8"_icO(54jGTjiSfReeUisQ;<6mm'N7CsdnX,?"80]#lN``ta\D~>endstream
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``PkDdF-fp`Q&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:emFgZ@onCPq82Ws8G-_Tt6^R9oWtig34W3;D"0MP=sG_Q,?.RGJoD!mbh^0(JJ'S*<~>endstream
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`SgmmFhnNfa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B](9((,pZH62[FH7Fl==&J^W3%Z>&B5W+giG*2MH_7OtUjbJt$1U9Q2!n~>endstream
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1582
|
||||
>>
|
||||
stream
|
||||
Gatm;=``R^&:WeDoHTc?'MH/aSd7?6SP9hja;\,XMCh(LZGkHCa8GdN?c4o@#WkJ,Z.8.";tnm\$3krmnJt!t(DAdCVEc"mAj@qW_;nt5Re2(%BI.BG`:7Z]!nVW%1Fs@:p$T6q\Fs+a<t@1;[4uF5,Q_]l44g*/oQ#RRnO_li+,&lc+QG8l>f(NH":Le.I)=nT`eqOI6`(Lt$_`k18V,pj':A\_9rujo%qWnUPR(]p'8UcDE<WBWKe'^V@\:GHQ,Jb96j,Qj5P9bSgY+:!ZVVQW5q906`q-VWGZdQ`+;8J'=tEF_5X3]%aQ.928KF#k.DgA^Kbu&3CX?ri*M:u]D=%mRLhdja%KVc<NjHn3-&,"YD?8K:e9Cg2!]DbR`c_VA@PcX#(9i2GphY]lb9<JERG@q3]<smcpLp.Fk['BsXLN2GhYUGgH9PCSm6!>J/!4j'ULB)u*]%XHM!7!UlN+h@I>aif?B!WD"24=5UWe9FX92/Pfb[VUIju&bD2=j[V$JO"=jXl`RnS1`V@C4PD3sL]p)1A/l*CnSDh@AC&_:'$ilZ:Df*_G'J,c4DQ;.RNabXFda/H_@bs[Z$1cMo,`Ru8ijW%ZiDA\=R6E*P5LY[6\Nlp/"I7=/22=\5Hff+e"-Fo;S79Yn:<Qa7J@(@816`lPK`Z,k89gYZV9`%K%"0p3&`:SHtI>'t3X.PLR1/Kb*.Ddqu]npQOdM[TBbkchaX@[b'8gW):$DjGV@m'](DR@Cr/UP?g<#F]o.l9P:q"@g:n;\d&O[RAHi+_n5R>=D:U0US8M+"+9aZ't*UhBl-nbBK)JPu=j`=jkm:LPg"i3Y\*6p+-4!e^#VMsZ#`s$r,pbdD6omHa^F%pS[!9jH(-J)HlLLLO]Pq;u2I?*5?U>n+)G@fc&`"_>']!oDH887@J]]IOd8o1L3I9C&(idTorCF\IkK^<tc$*/8QB$+,k\j`AYkH"OSEnN9#U??Htg\5FD@I&Nf2,QSOn[G]^f&Lg;i$nmP)6q:bb/J8X#,+\G.l>93Mqr\>+8%+Ehp3"=^1!:5URHST)m*+L6CE?b+qJ!_nJRO-I#fos>j$_HLHt7k//(#E[nmRZ9iL5m$f2IKM(+f$_fZ(,TMROKT99;NTO708i7ut,L@.)J'dtSHFn?<p[60diNd<?F5@Wo/s)O+cVb@<QMnW^[UC)^'--tr2c9rH_#AD7og/Pm,+g,t$'[^,N:KH-bL-QTQq6FA^UA(ERFN"c$2K/ZnI-1Q#EpLX\"TQnSg+D3\1(W@13jH"-tIps1EHP,LT!VkNVOJ+p8>4Z9rcuZOEF+;PCSK^0]s),&f.306.(en<of1bH$QARl:39'i2^2aWYZO:'00OrBlQq7!s91&]<C1oJhQl7rM"*[uEYG,;R`OYGBRR8['O6nrYa&HYN<<FsrCEZAUj!a#.GPXX=i#.[bKqQb4BtZH)quYkq)*E&PsA:C"CbYHE?jd@ApKl"SWcT%X[_p-h+>.C-_7ceH=7A[`MqB/s&M(K8_:^kcc'MQ`oElh`b4Tacd7lD:3eWbo>#HMGY'Cgp?.'iF^B3!XfJ%eT`&^03Hn~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 20
|
||||
0 26
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000122 00000 n
|
||||
0000000229 00000 n
|
||||
0000000341 00000 n
|
||||
0000000488 00000 n
|
||||
0000000635 00000 n
|
||||
0000000783 00000 n
|
||||
0000000898 00000 n
|
||||
0000001133 00000 n
|
||||
0000001238 00000 n
|
||||
0000001444 00000 n
|
||||
0000001531 00000 n
|
||||
0000001845 00000 n
|
||||
0000001919 00000 n
|
||||
0000002018 00000 n
|
||||
0000002130 00000 n
|
||||
0000002220 00000 n
|
||||
0000002287 00000 n
|
||||
0000002878 00000 n
|
||||
0000000487 00000 n
|
||||
0000000633 00000 n
|
||||
0000000780 00000 n
|
||||
0000000895 00000 n
|
||||
0000001000 00000 n
|
||||
0000001205 00000 n
|
||||
0000001441 00000 n
|
||||
0000001647 00000 n
|
||||
0000001853 00000 n
|
||||
0000002059 00000 n
|
||||
0000002146 00000 n
|
||||
0000002460 00000 n
|
||||
0000002534 00000 n
|
||||
0000002632 00000 n
|
||||
0000002743 00000 n
|
||||
0000002832 00000 n
|
||||
0000002920 00000 n
|
||||
0000003852 00000 n
|
||||
0000004378 00000 n
|
||||
0000004608 00000 n
|
||||
0000004836 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<7ebfeb118c0996a64ce6b35643381699><7ebfeb118c0996a64ce6b35643381699>]
|
||||
[<75a8219b0a798c01075a0cec99453c43><75a8219b0a798c01075a0cec99453c43>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 12 0 R
|
||||
/Root 11 0 R
|
||||
/Size 20
|
||||
/Info 15 0 R
|
||||
/Root 14 0 R
|
||||
/Size 26
|
||||
>>
|
||||
startxref
|
||||
4459
|
||||
6510
|
||||
%%EOF
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
# Anonymous crash reporter
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-20 |
|
||||
| Last modification date | 2026-05-20 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 9 0 R /F5 10 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 8 0 R /F5 9 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,17 +17,17 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 11 0 R /Fit ] /Rect [ 45.68504 716.2874 73.25304 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 762.0394 73.25304 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 11 0 R /Fit ] /Rect [ 45.68504 705.2874 76.81304 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 751.0394 76.81304 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 11 0 R /Fit ] /Rect [ 45.68504 694.2874 86.14104 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 740.0394 86.14104 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
@@ -37,27 +37,17 @@ endobj
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R ] /Contents 19 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 18 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Contents 20 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 18 0 R /Resources <<
|
||||
/Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -65,89 +55,156 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R ] /Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Outlines 14 0 R /PageMode /UseNone /Pages 18 0 R /Type /Catalog
|
||||
/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190926+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190926+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Anonymous crash reporter) /Trapped /False
|
||||
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Count 3 /First 15 0 R /Last 17 0 R /Type /Outlines
|
||||
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Dest [ 11 0 R /Fit ] /Next 16 0 R /Parent 14 0 R /Title (Android)
|
||||
/Outlines 17 0 R /PageMode /UseNone /Pages 21 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Dest [ 11 0 R /Fit ] /Next 17 0 R /Parent 14 0 R /Prev 15 0 R /Title (Backend)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121122+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121122+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Anonymous crash reporter) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Dest [ 11 0 R /Fit ] /Parent 14 0 R /Prev 16 0 R /Title (Report files)
|
||||
/Count 3 /First 18 0 R /Last 20 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 8 0 R 11 0 R ] /Type /Pages
|
||||
/Dest [ 10 0 R /Fit ] /Next 19 0 R /Parent 17 0 R /Title (Android)
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 479
|
||||
/Dest [ 10 0 R /Fit ] /Next 20 0 R /Parent 17 0 R /Prev 18 0 R /Title (Backend)
|
||||
>>
|
||||
stream
|
||||
Gatn!6#Y4+*6%CF'^o.c0`Kh3Sa=pe<ZEG@1*;WT86q[lZ%nMuna1>5eql.YQmPIdAA@p<r;6g_%3"E@"jS^VXp?:\2kZ+@Ya8JGfs_jT.l5.dY':.\%-+Y7dXPu#nQ\U2_.97Mah`oK77N)?BB`)Ng)/I#=U:*-/;+iK8.C?34RLl\jpN:/O#@t=e?S;IM!d1>hSiR#2mBLUk')6jqj>B%Lmj]W6r]Z`9fW*C,"e_]6./#f@c5/@-0D6F>$R;Mlh@$pjjf.7/kacu+/o0iTaVUF))7]u83.*T7nNWGV0L4)DQ>F;LTj&bI.)I?9`Rj?rVulf+f0Q[M+75n?cUMe$&-QhniX,@Sb!LWFWk)6ZQ)&`9s]$W!nOnoRWA7?"16I7mKLpMW]Y"\FZ@=nSc)\lHkO;hF*6@CO+$&4*UZ8LU%,X=\&.mZh7;13hc;nO_sM]j-M8e`C6-NhgCQGiEad1@!nRDIXT~>endstream
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1964
|
||||
/Dest [ 10 0 R /Fit ] /Parent 17 0 R /Prev 19 0 R /Title (Report files)
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 836
|
||||
>>
|
||||
stream
|
||||
Gatm<gMYb8&:N/3$k*i3;hlQ`2bAF<)Q-.<-]7;a0*6qe\WZ0>94gc\d\?cu=Y;!n]L]>*4,H;lls.i[SsbiE3rU&Z^O?U\mK!M6$nqrLbeUG>$Qd$tbsUr4c_r*@>B>P-DLjli1nn2,md#:>(GI_qeVtdT\n7G?eL`Is2-8Cb7g(A[kVu(+%#LjNL>=FhlT9Zi4Ug6#+^u;X&-F'gK#%[i50qAO*Q/rof/sU9(gOqq'0Npi."1QgJO%q+2@sJ0C:5s/kjn=<M>m"kcI?f=.'6#nb/O?3%6:4.nQD0;X0l\PIk-G3bNIadbnbLS9gm9[(@j#S;)IZ90C/M4KXa;C"q'eI@_TqB1L3mdCS.GKQuJGdI@B8Z#RH'=_2hC@bH3L'.G9I'T+]m=eA#9UW1JF,Kb;K4^@]bcV2O"LANU7o]R%3+TA/*Cn32;[j"/ZNZ@k.Vmq4IhJ:YZgd&[^BL*32ehOCsudn:.QrB+=?."eRRV6W2c.N$C(,$V9WT)5QB?dqfoUZ@P,R3ib>'4\O#S\M*b\lpct1ejalViMG=:=kMYLT%7s%.b4!F'%in7'QTBkA6\JMMEdOfRV*JK\VWGJ2IlQ8r6UuC$&ok#W<Jj_#p>Cgb@Vj2<kh5<lj/CeuYb0$6kmuQ_Y6R<WSL3jh#'jmIV9o,#"H>ekF.7n1$MBiFN)t9Vtmbd4D@Tdd*(r2na^hgg;c*,&X@QgbZ2DrH];_"8,CKZFEtN="B-c0aLsC@@lMiDEkukVNF=rV,N?t.af`-^/Un+'m>=Gs*Xk6.m,/pAp:KBIu!8m5D`<iaK]-!H%j)\=bbq+Q4/o;`?UV;F\Zfpdb\.QmD"PO^Qr2rb,OCF7?[SFq9<Y-paX3\q.kC[&CDW!B+kg)8q]2;J;cUC4D?a_V/?IcTVgg0W+nba%an!V.a%6T9OVXcbeuMdg.$9*I2/><1A!"kk4>MXl?u[7&.#j6Z.BfUf%N9NCrd:(M3B-9&ikc2H$5@6Y1%J:fSg-VnPF!=.e7b?4I(L679:&))(d'!f_diiZAbqpkVU*D)'60pj9:n5C`-.(kh`0\>U$`1b=;1'UPs^tSMg,G27E9Y>GmhJe$7UoHPc!$'&>so1s];YTn<!H@3'r-N>)`J+%Q<S-7r],X*-^^Is,?(E.JH'Rs]ai060poMlZeF78.#2,.YG/o/%Bs"uC\@ee0\Z+Edje#0a@r+eLtR5?C2a`_Y'&TN#Uh,!Anr@RFTGS`.*A.@Hq`K\42]P*URLnY&KIf3Un:\87>ag:mju\)L%;f.jmMG8hpuXhY;lms!:]Mt&SMDqi2l9"U)3"[2Z@ObAuG39js&Wa5\WP>C5aZJ;?F-3fORd5iGN-7R.8mcOBEmEHM=djFc0>4(EC[aeMnU5;Em_CnE(4qII8YXl!tNT&@<%sQW/*1UNrY[<IP*L9i%e$EJpqhD%S:XHEdE+_.F%F$Lq:R.3V,H:\!Buh/Ag9<,Vc]4k5M.rHPR3P4GLS219)-M\f&]\bN#TXn!`#oQ&`OSb#.c-gjq-/^68rJL+WjAAt=`$L9@sZ>Q4AfK*UiDYYJK1j@<DAa1OX_[!Ob.eo6VO47](6ij2l[d2WqZ826KenkgUE2H1_,,:L-jFJjVW#!Y-Y33qc6[9':h+o9m"^c9c^9Wf=0J8+abr&jo42pMDo[JA+B7rh=?W)lD5)0Ddh`Mnf/LonY[nAchR76V[\Juf`oqjn,DMoH`XZ2-%7I^I#?jr>gW6&lNaWdB=U0^FuB'%[t&t:$[@3q(@XmI&2I-C8VOd39&]M>*\q#<1ck3XP[ug9JN?Z!](qV8QW_D(+D[(=R]ATAZWh=OND$e@>VE07D3pn@a&A^R`gOW9%u8Zi_eoCiMjq%e_sQ%PH..hL?ThX[;LVV7UTSMF3qbGG0R0<b>4:3u\lNt43TY=t=t\A8.3/.YM*)P^F>?cN3N*3']QlZ_HM`BPIk6t@/H~>endstream
|
||||
Gat=*gQ'uA&:N^lk)lg"fAlXh4OPh9W^:G:U:sY?QmF8Gcm3GHhq&>WE[cYE7:=*+F6<7B*#jHt#E/U^"Rt*"a(GNci,8TUiS`$jk)]M#n0=)(,$dJp.&@2l4Do+MQr',0_?&Y@Ot%9('$TAAl0HE0i]2u"5;FZ)TWfj^ZO'H1;WaEfIgtFPSA`Gr3Fo?dK5:pphC!$?dneo:Jc>_6B"X9#@\-4*,na'H'GN]ecu.SN*?n6&dAf&^:tm^[nT1-en?eQ8^\qK_If<IEZNZ3:V5b"C64r@[6:O+']#I"qK4O=2hW\Qe@?*%c*b!-cFi(WjRg6iFT/)/K9/34bjNqd;'YVcXh*\8]o?)E)q/'I$/gIrQM`nqm/S]q:^HkPkF';1>FLCFmQ!9o[0(2bCU#'(Y,SWd/7<oF8Y@)S$/`o+JQ?gMMW7rO?ee:dhq)1fkbiK?"3)="NDLsjhNr!^CkCM7*VZul^^P>sZ`4(HX_2TI5eR0>f;B=gf.]e98]sJUJ%SskgP7oDmN-=ENK5Ht\=Un<7%QE?]a9761l88T+h"YCm'\0=4lrBb5hg5jYi0c.h]2$9AGWXf%mRXP!6e('+%X)NRpKGu'`*j)O1jMf<Q?<HSCr)HKFbk.06[mhbcoma\f;ib)WdT)Bqn)[;NJPal(ZmX(C):7%Ka%IIchs_&PO.TFQGjE;&(!d)XTd9BXq98J6[abjAG0J/+/0LmCOj&)UDa\D+_1Zu.g0c5G_L)T#cFQ#.B>iZ=/XTS\FW?Rf9^9^1l7AdFKsW/6ubU@U#!/;9omAVF0emU_GLGAoAO84#Xl/3:lZ,/5r8oL7fNIUic[Z~>endstream
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 427
|
||||
>>
|
||||
stream
|
||||
Gatn"_,%p%'ZTV>(#KTdPeM<H2fG?#%jp<"dDX7+A264$LA^q76&5RI@`V4=P4nSI^@.mEE$*T4fb,,=oL8rr0JcP@!gk>D:$8QEqoV1/0N(#`es^Rr#QC;ZAip](8MD$;>Xr1*M)ZVW+!'7&%N+1Z9@"/rL(IQUf;.kh76*_9]#M=Y^4H*5\_XPuI%95Pr#^<s_\8cq+gpsVRoX)a]mq!=f4#6<Cgl-G9Gq,oRFkMB243KZ]k"oV0W@'L_<21/Z"RM&PpoIJ83"mBb*^msPL-Ei^>8;D-KVh]llGMXroET$)31=&1JHGAMH:rXC7@)+ktpGY;.EO*$fhfXLCq7A]<P@qAtCoZf;mJ5mb^n'dK6Dkk%.Q!'>mKK6or8+h?cBi/nX)A'E#/0Uh1>:q$Y.U;:Je7$M:"jE7"C]VFSRS~>endstream
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``PkDdF-fp`Q&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:emFgZ@onCPq82Ws8G-_Tt6^R9oWtig34W3;D"0MP=sG_Q,?.RGJoD!mbh^0(JJ'S*<~>endstream
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`SgmmFhnNfa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B](9((,pZH62[FH7Fl==&J^W3%Z>&B5W+giG*2MH_7OtUjbJt$1U9Q2!n~>endstream
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2014
|
||||
>>
|
||||
stream
|
||||
Gatm<D/\/e&H;*)E<n86ku(Z[hJDXZ\u'8$VG36gqdMfu,hc9G;(<kPabKcg*C\YdojU#!P.%O3j1RR!I-tYL-N91nh]MrEG71/V":0_93=srLiV!Xag^\cC81eO;L-'QP)n_#C:t,,Whr&jjJ7ViS8bNFWL1<5e^VJJX4OY;=&[78"lg?J^VM8dsVdI4o2Zc2K(d?Uq63u?n5cK?CoRU&ho4leY\U`YL#\=p.Vf6tn[r2sQhg9/^OA;,OKUH"uUWa9JI=A0B+7IpO&^Q*PMXmKF*+#pA5UOs1kP;JkX#CO?Z=paor`ugWH-NZp(0hc?a9rd(Zf18X\Sjs:#>@6G.0<O&Q3DYJ.gGo+i)pYg!bT?#jTVFmU+ka!j4!@:D9UC"emSu"e8]^*YEog#BA_iKbk"])4S34H@QqrE#U?UQh`g#Fj^f;*+$V)DSf@EL.U%iCF-^d\^lf+.h?4rkOO/FU:"SO\W<)0J&Zn#l_:?Cp=cifM*9M7/0DQs@_hY0m2GGa^oT$o$+ZVn';`LbH5A<1TYiGjfQGl_:mUC&RXrS;h;.&]%lP5\+?&BgmY_#ggr39oM%ps>P"?I>1M'+E<hEk1V-%;tlSWA%Gq*LsT#_=FDUZ1O><L4!#7fEUsjp`VL&?Boc,aBLV$EteDfHb6JB>=\7;;1`O@7!tF?e]9%Y?FJ)1Ar,NG$uDR?B>*#l2?e\_32tXEC7G&L<ER21rI*IBPs8>`VlHRFcm"OK<XAQ('U;qmN_X=)JOn'3RoUR15f)m92-mY@HX$OcSsaq_He'DD%?:!mjNN%Ue)mF3?HI@cS5+tcV[rOMBVPb]Ru*JNleCr]3C2frE$9'f?0"=3RtdQ9[gb8TO$r]G_kigrn?-B`[hOffu1f#+JSuE5Xh83O`h[J;n%KqeBmb*e?u#A#O/(`']o*:@B^rK13!_o%d@o,YJTm$N]n3B@M-(8]rA%I6HL9Fm.COn[W]P')i@TW-#&c7KcJ%q,!SUik?2sSq4()1n5(&a.e5NUI%>j!7;!2&3@eV+f]"kKZ:Wq-F;Ws1*08ee'W"XhC_\\Tkh]o,=s:F8b=;7)]o7J9S[\=_7r7^N[a%XGLLYJHc6h+L'Y:8;=AeSWMFf^.LU@MA4jbZ+IpD[(\[%$jY1rmhrn3A>^^2n=D"8a`4t1$a:X6Bb2)4p'N7Id1.'e4])U6OI7jF:W&Rm\.HGHU#'(Yi]%gkH6@Jh[77TtM./[Ja5))`c.ZT4%m^6[I<6A.L,Y#se@PO+/Pm*W#9':1;^=o3CJiD+d"iON"hm-`fm]bYkOjSb)BIrTJHjR$&o8*RI%\=g#h?7Eb6;]Kp7'm20[o;b[9hQkq66S:lQg<h5jl6`LQqtf=MrT2!18(40W(0]PU8_;MGA>1TBL1O2@n6uuda3cZ]VDa-(?U%ef)bG:5IH%m\a_NH6KOmZkG5VkI3PRo,)SdBPW'.Tc*'I8%qMqBKH`nT:XD,S\bq2#33Mr*PJRM8Xdi3qu3HS^DPp1e6X9gpI0dr_J]Z%EVh(%9S9(cDHi(Ac\;5pmqq,qW&\UAe)gH="o'AC%?><qr7PHLcd_*jWQi^bMEiLq#E>gn+\l3gl,%Fs51<?^u>ZgM%E/WuZ4lCh%`@Prl[NpA)Dp9k]Agsi.&ktohVNb)\-DYdD#22(FpZ/"^$>OeSNF"H0SlWaAf<4t,_oe!6`7%OLU-N<W@p)3ne%u`79Ckk:IoD4LKZH'lZYU%P+NDD:a<"%j^HZSAXq(0!$dB*VF[MJAYH3"Q'ecJ&""\L-\-`(eR:b2J#b<qS.9I>,#R^.d^&SMg-TpoD3GF:r`%eCI8lFGWh3P4;UgU`&RcLmqZe+O(tE]bVYi.=TAqJ\tWI,#JgrM2TG[bU;`T==dOqpiS%Ut&OH/FNDtTP%X/$\Nf7@a2VMC2298SjP\s]]3JWP/<@MON:]F`<S1V=+cCK_-8akCq!3XZO-/,BRW/:D7($m^*_X;3d%[DaV^KfN[>5Zj(\o<3XCnT@g<5<!L!JO$i~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 21
|
||||
0 27
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000133 00000 n
|
||||
0000000240 00000 n
|
||||
0000000352 00000 n
|
||||
0000000500 00000 n
|
||||
0000000648 00000 n
|
||||
0000000796 00000 n
|
||||
0000000911 00000 n
|
||||
0000001146 00000 n
|
||||
0000001251 00000 n
|
||||
0000001329 00000 n
|
||||
0000001535 00000 n
|
||||
0000001622 00000 n
|
||||
0000001921 00000 n
|
||||
0000001995 00000 n
|
||||
0000002084 00000 n
|
||||
0000002186 00000 n
|
||||
0000002280 00000 n
|
||||
0000002347 00000 n
|
||||
0000002917 00000 n
|
||||
0000000132 00000 n
|
||||
0000000239 00000 n
|
||||
0000000351 00000 n
|
||||
0000000499 00000 n
|
||||
0000000647 00000 n
|
||||
0000000795 00000 n
|
||||
0000000910 00000 n
|
||||
0000001015 00000 n
|
||||
0000001092 00000 n
|
||||
0000001298 00000 n
|
||||
0000001534 00000 n
|
||||
0000001740 00000 n
|
||||
0000001946 00000 n
|
||||
0000002152 00000 n
|
||||
0000002239 00000 n
|
||||
0000002538 00000 n
|
||||
0000002612 00000 n
|
||||
0000002701 00000 n
|
||||
0000002803 00000 n
|
||||
0000002897 00000 n
|
||||
0000002986 00000 n
|
||||
0000003913 00000 n
|
||||
0000004431 00000 n
|
||||
0000004661 00000 n
|
||||
0000004889 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<fb883105861ad656bbbce6ba3242676b><fb883105861ad656bbbce6ba3242676b>]
|
||||
[<bd4acbd898c52ce55620c92c6ac9a846><bd4acbd898c52ce55620c92c6ac9a846>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 13 0 R
|
||||
/Root 12 0 R
|
||||
/Size 21
|
||||
/Info 16 0 R
|
||||
/Root 15 0 R
|
||||
/Size 27
|
||||
>>
|
||||
startxref
|
||||
4973
|
||||
6995
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# URL shortener service — design review (DR)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-11 |
|
||||
| Last modification date | 2026-06-11 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | DR |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Document type:** DR (Design Review)
|
||||
**Source draft:** [docs/drafts/20100611_3_url_shortener.txt](../drafts/20100611_3_url_shortener.txt)
|
||||
**Specification:** [docs/specs/20100611_3_url_shortener.md](../specs/20100611_3_url_shortener.md)
|
||||
@@ -15,6 +34,17 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Platform scaling and multi-environment architecture — design review (DR)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-12 |
|
||||
| Last modification date | 2026-06-12 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | DR |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Document type:** DR (Design Review)
|
||||
**Source draft:** [docs/drafts/20100612_1_scaling.txt](../drafts/20100612_1_scaling.txt)
|
||||
**Specification:** [docs/specs/20100612_1_scaling.md](../specs/20100612_1_scaling.md)
|
||||
@@ -16,6 +35,19 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Documentation index:** [README.md](../README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
@@ -30,11 +62,21 @@
|
||||
- [3.4 Comparison matrix](#34-comparison-matrix)
|
||||
- [4. DR decision — recommended path](#4-dr-decision-recommended-path)
|
||||
- [5. Current vs target diagrams](#5-current-vs-target-diagrams)
|
||||
- [Today (single BE)](#today-single-be)
|
||||
- [Target phase B (minimal split + HA web)](#target-phase-b-minimal-split-ha-web)
|
||||
- [6. Service split rationale](#6-service-split-rationale)
|
||||
- [7. Environment promotion model](#7-environment-promotion-model)
|
||||
- [8. RSSH and connection capacity](#8-rssh-and-connection-capacity)
|
||||
- [Assumptions](#assumptions)
|
||||
- [Estimates](#estimates)
|
||||
- [8b. Network bandwidth (DR)](#8b-network-bandwidth-dr)
|
||||
- [Baseline risk (today)](#baseline-risk-today)
|
||||
- [DR sizing decisions](#dr-sizing-decisions)
|
||||
- [Planning numbers (single-site prod, until CDN)](#planning-numbers-single-site-prod-until-cdn)
|
||||
- [8c. Global availability and GEO segments (DR)](#8c-global-availability-and-geo-segments-dr)
|
||||
- [Policy model (DR decision)](#policy-model-dr-decision)
|
||||
- [Phasing](#phasing)
|
||||
- [Example use cases](#example-use-cases)
|
||||
- [9. Future capabilities — priority weighting](#9-future-capabilities-priority-weighting)
|
||||
- [10. Simulation lab design](#10-simulation-lab-design)
|
||||
- [11. Cloud provider notes (GCP / Azure)](#11-cloud-provider-notes-gcp-azure)
|
||||
@@ -46,9 +88,10 @@
|
||||
- [17. Remaining open items (PO)](#17-remaining-open-items-po)
|
||||
- [18. Suggestions (PO / dev discretion)](#18-suggestions-po-dev-discretion)
|
||||
- [19. Changelog](#19-changelog)
|
||||
- [Related docs](#related-docs)
|
||||
<!-- /toc -->
|
||||
|
||||
**Documentation index:** [README.md](../README.md)
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Android Cast — Git flow (green `master`)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-23 |
|
||||
| Last modification date | 2026-05-23 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | completed |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
This document defines how we develop, integrate, release, and hotfix. **Cursor agents and humans follow the same rules.**
|
||||
|
||||
| Field | Value |
|
||||
@@ -21,6 +40,17 @@ This document defines how we develop, integrate, release, and hotfix. **Cursor a
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Android Cast — Graph Visualization Pivot
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-02 |
|
||||
| Last modification date | 2026-06-02 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | DR |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Date: 2026-06-02_
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ _Date: 2026-06-02_
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 15 0 R /F4 17 0 R /F5 19 0 R
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,254 +17,77 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 716.2874 129.725 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 705.2874 115.477 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Contents 10 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 694.2874 112.821 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 683.2874 176.853 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121134+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121134+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Grafana vs Others GraphVis Pivot) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 672.8499 100.53 682.8499 ] /Subtype /Link /Type /Annot
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 662.8499 122.2125 672.8499 ] /Subtype /Link /Type /Annot
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2826
|
||||
>>
|
||||
stream
|
||||
Gat=-gK3,h'7]2KR)a:TN[8%2Sl26;rOs$qcoq9A3B`8%,[)2B[@@6ofC)7j0?Mqnj\Qk[O_7.)rJaLd`#k`R&!d3fSm_2Y!28m="(E3-4FMpQVmB`CA@'bT%$OjI"jciNa)Z!D%`sIi;p2G]Yf<j1q-\FW*SU_&q&/`KPo+&A6kL,hY=)3e"LuBh4HF_XIgTU<M8LkV+^?ai__\,1I*#L%J3S`mYt4f1Efn:Z0@i_o!M9:FVr-EARg!R)*IleM[dBsCN_.5CJ_eXXXdqdo!oq-M9'O0%OJMe!I%>YsLNA:7,(>.n$XS&t%O"RiA3#9]PsurG1epK^,8'MjA4a]mVG-Ol=NmN6>QiJ'cdJT$jVbMoqb$\H#1kS+D;PA\>1J@6T>^"T4GW=XL@:<\>i9P?@J1Wq<Bls9A#F1%U&!BGqmh!nF8,6J]G('Dra*>6D;Q*LhK7dHqOcD`@6?/9BBjDY_gn&h>;.0\$pG%?Kq5q&e1jY;+fB;YP=7"9_n#Sf*KY,.n]_.=OtD7:/Dl`EEfq(Q;j4d/-N9d2ls6[o8+XDdigddFqfP)R2bR(`bfmOT,K])8i1Fmp&uCu0n2r+^r>a6SH8/'Zpt%Hj$$Q:3q*WI/D0j>*AY(Ug+)o45f\\"eA6>7;T"^5,\\aO'4t>k4Y*Ne?haIJ#F"1oF/bX(IVlKnpF9:cD*XJa&m?0,dO/d3DYen7\6ElVuZ@r,4n$+Xk`AD"+./UZ"Ztt\PQS<]E5piW`3$=EF(D/!F*.<+"I%K+gI]heY,[^%7rg^%g\/+XJWg]ZeCo^)+_r&5T%%hi(MVe;Zpk$a%?E;)MXQufg7e!?JAs6V?I;Ll#2R[]]_T(#si2S&1o4S\S<>)NI1^LT@$.p"3"C.2p>W&@=2ZuIeL&%!SeY6%2HWTf]M.JX\(#!B9eHX&5<u\`@l<!JqY2R]W(i])dK2jPT*9:kFA6F,r<Ust@.Bam!H$^HB'gP1i3`CkcFb7Fcn[p>3KS6a@dtg@(8+.R4+E@`i%)5h*HS8#2KHfGBNZ4Pp8Z&)0Qt_O%^OOdAV[31_&+D(>"^p.!5n4Et-<K;3#"pMI,+^%C$/tFEDBudBaZ@[7La@1M?m*-_C\Yqd,8F&S3Ns7h`EL>;hDM$rE\('mQA')+T&dZu#"6Q`cQEnl78'93&`6IC8i<"]F=T3JLM$pNR:Qe/(^_Q\mV;Hg,VKbp+bWKk^A%t[K6FB*ojI<m::9o+oY@-8ZdY1q6=o.%7W92Y$a'Y_Q$C@r=,'XdMQua4d??QJQY9-[jb80&+Y1gf@8f)IEX57:P[tFf#rSn+*+<3pZh'G]`g:M@I<GVKZn\@^e$V5HhR8ti_f7D,%Cjm@C?K#]aX$;W`[/EsR*E%OI/ql77BbHrd:n24LE;1<M.sF^[1.+in!:X`PdlM,XDPmX=L?P9A'=@)gS?4e^<_u1G"DuMK4?ab.@_-oJIt"PDK\[W>goo.dlU.<UJ>]XE>IoXNl(lTZ$HQeX0#fs.JQ"R$<`Y%]i_O_'^6\Ylo(9(e_D,qY[1_K%j=Xk+W%f."G=+RUTn(.Li<"2'[4H);!ghWbbIQ'D>JYf>#(Q=O%%_DWSXjZchVCCAGKeBPbSuE.g2]KDCr-[@DrHmj//Jh*`7#/_<#6.Yd(-!SukGs+]#,/33[%D1JSs$VtbQN@]q4$^6)`[NcjND'*YhL)#RQG4G:E>K%FelFrdaN#'aIrf&OpP?upXf9=l]m$OD92?$GJ;UK=0ie%tI[l/FZi7EJd;'q#4+5(Ia8*GR$4+`e5\c=9mN4G0&XOGY3c59*ttpiQ=tW7%38;)/VO+^`-&P.^i"fhTP'1?l*c/bnj;)3T+f.N!c9+QqQ>!`b2Mia*VW@f?_f.aH#=Q5fBo6'4.B*9\?lH6(cnnb3sAB^gWqXcUjP's)W!kpR&MOhsd,0b&>+/B>luYc^\<=4tQn>YDNZhE\uL9>jQ;!`KAK.WPisp.*R\p:B?*X$A(D+At?j@s*qO09(9X.M]44T'_T&;mc=SWO0U"($MVn1eQU)@lL!g7`c5EU:3"nWT@Oj@^WIN5\r,P^oU+Jl:FgGY9qAma%F9Qbor3e#emd)7O>3@eD_mMKuXqA>1@Z;YmXneHF50cSKfAuSI2cJTk@!BP("Bq[L@DZYE8GLO!=WkSEGH.c-a4MIqpLloN:Elm_?ZkAuFd?3,Ohu*c.R+>o5LB;?HmAfJ;4V*eC35?8K'b7V1RS)u<OK8$GbJI&1#l!Oklb.iQ@%p.7SghO&%J7CV!9EB*=XHco4N/_(Bb;qEM:S\Y"q?*5=t`(:dF_H)X%99tt*!&Jr7<bsFcf97;Q,XflB3KELZRDMr)=c9Jf-a'.B@hc6C\lm.?L,biFk>:372:(okLW'2=h1XQHE3.SRNs[PH&:r>[o:NgI&k1OPoh-epLBV<f^=[@NX8fW7'q.huKe>kE6d&rR7jse!';d;j?U^p]QkX#Y`[B`d$]!ANA^7$K[_BJ=JlJ[Qqg3.hUV!GGW45*<r\0#[Vu+_U/M^s[Y3q#_5Ts()<VqZU&V'L_.rn14DP%F3aUr):&,"Q],-GluQP\@go-g"N+umVNN<G`.W:*p)nli6G3_#2>$QGF_Z^-W;;3=!djh2hu)>Xc=n'+fK4^S0'c58rD0+t0@^]8`?3W*kK7mb@`b.g&1;?(pM8N"J"L5t4qR^KmT3<I^WD(J#u"$oYhYliK4(od5=Kj7/sn%D0[C4`k4bpo-,mNsCt\Q[M"-maQP25DZ;-+sttppT.lQ<1b/2E[H?c\:3$\o[*0pg_4t[#RV+3#2^\O1_E$3/%&FljjA\@/Df(SG`h+_:fb~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 652.8499 135.1275 662.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 642.2874 130.157 653.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 631.2874 189.741 642.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 620.2874 159.501 631.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 609.2874 98.59704 620.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R ] /Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 35 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 35 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 35 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Outlines 23 0 R /PageMode /UseNone /Pages 35 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190936+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190936+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 Graph Visualization Pivot) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Count 12 /First 24 0 R /Last 34 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 25 0 R /Parent 23 0 R /Title (Context and constraints)
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 26 0 R /Parent 23 0 R /Prev 24 0 R /Title (Executive summary)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 27 0 R /Parent 23 0 R /Prev 25 0 R /Title (Option comparison)
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Count 3 /Dest [ 18 0 R /Fit ] /First 28 0 R /Last 30 0 R /Next 31 0 R /Parent 23 0 R
|
||||
/Prev 26 0 R /Title (Role-based graph packs \(suggested\))
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 29 0 R /Parent 27 0 R /Title (User graphs)
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 30 0 R /Parent 27 0 R /Prev 28 0 R /Title (Slug admin graphs)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Parent 27 0 R /Prev 29 0 R /Title (Platform admin graphs)
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 32 0 R /Parent 23 0 R /Prev 27 0 R /Title (Estimates \(engineering\))
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 33 0 R /Parent 23 0 R /Prev 31 0 R /Title (Recommendation under your constraints)
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 34 0 R /Parent 23 0 R /Prev 32 0 R /Title (Implementation slice \(proposed\))
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Parent 23 0 R /Prev 33 0 R /Title (Source linkage)
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 16 0 R 18 0 R 20 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 737
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1842
|
||||
>>
|
||||
stream
|
||||
Gatn$?Z2Df'ZJu$.IL\,WLdu+mk*joC/VHN/_a4"a9@?D!LqahD>3:-TM;mDgIR$[5_<dsO2JNB"L'sYGKq[gpF3bG'-J";2%Ul*OC#h93r(KR:R-BZ_Do=p6rAWAQhYHhH]2o;]taa2,pA:X5Z'c[T7AO@m[[lA'1#e^#mqqk,q*U6#c=c]Xi?Ib0V-<j/!7^Q1DZ:@7W>2,]n(+=1oqBUR2&?26L9q"KCh7$DrCQ>=#f1mmPmZV&equT#FHb[J]$ds[>0@*S$X9qSAFTPCREDTWo3/S2P5DdX`e<Qm"T;^.U(]"0WVd=6rj61q%'\P68X]`Yi>m.fbY(kS)D!=oYp<6b3hk3C(6SoQ:kut!4k.[Y4"ON(3dKT:Apn%IB^Lth?"OpR2Eqo]s/D,+*c@=Z/]5\Wabhps6=#Za&;qBG8\\*<AQ4cOos4ofDPZDl8Pa(kBG/>*4hq4c*FI&jjZ+U_2[RPnn\;&F?1!'Jc=4n.-S:BU\\`8mWf!^+UlC+^FboV=C):o*$H.8@8Sel<k:=,_oJPFKX%7\QFB`LZ4N1?/S$Ra$oAhRS_UVA`F[opo8Ut"/fn#f:YRBd&s#KRZ)UIbLhojt8s+++;6<j#beRi,d9&67c3gIV$Fs^O+!OF@1P>UJZ31J"jJh&P1XS:OM*9b.+_.dLmY5AFYO*,D\6!ta0)ph?F4^eJmhUN20^JGs\lROrB9m>T8iJr>NRA"O=9+Ol^LS5"~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2947
|
||||
>>
|
||||
stream
|
||||
Gatm>>C4gY'>Eq=R*2c]Nob?)<IqH[+0Ypc?#N\H8ORtnP#Lr?^QBKtDOQ3Km*f6D7EWhfNphp$^r@I*rf&^a[o4,n+@$p6c@C/*#Lh"<42(E;6.RDHh[1Rbp)o;<bBG<TILin>h^4P;_"M\$^He6`A`HrX9J^5=6>1VrqLd+5q49'Z%?BfY,9-Z(?GZ7M9`NPb^Z!L6!IQE)]hf*@kC@&2ThQ":YV"W&^&82QcuNqa3cMm@g`SSl+sa*5ipT+i:>,fbTBh@GXX_B=qAFd%b^*lED:C(@^+46Cr[=Fb!ca>q,q.*)m%HG[a*Ta-)hMAXkQ"@f.0@mQ9APdcKHH)kO4TK`S7a\?;XkSfhgDte-a"5Hc[#KpY+T$aUKO#D?XKbio_i!pLN)I#3u,&`W=btlD5.ahg_\I-7jHVn\7ubIe!G=\#uq\&W_@\3'ef.J/^c.pa\n_:p$jp09=WU2LddGe*iNTUhHG_%n9b_"J<C8.VCVnM$Gkg%X$1a7]lOYPQ(]=p8D.[mR@ka1i([,A"e)U@)"JRpa[C2kDjuF?#L@>ADLkK^3R@n'Hcih@Pc@k0ZC4)j>m-kMdD_aY\Ga>)9(=20=_/HcWug'on6GG9Ei-STSY=Vc93?62OM:3*4p.r1VE+RWQrl5>!!sGm<p@cF0?[4,0a#C8R]E\O/3FVHT&=$(6.-WD=+.I?KtFa<o)7EFkh$d.ID!IjOc,!HMF7L\bQoKp1P"I%!NYU7j+W"aC,)#J8dmEc$sh<:('Bc@WqJ7e(F=f6T=_YM\[MC\iZcQJSm_'7Z4mJ%(GF4S@eCjgZ?;^%ni=Os;>m*20`M.'mS`*mU47Rf$lRM$P<,UM8jgi<H-H+U7/W(b:.t3e?:%oo^t[VH$d?,BWfI_bg"#438YCnrbV/1&7?2qOO];Vu?oVH.pU<*MclEjj$^9%^8B**RIBnqV\u0/6InRZf*=GL@QUSWT>7f=I]Or\>Z6RE_?*N*U@##=rU$kZ;".aK1g*B'8-^I,i!(OoG."^,Z85fJhO$m=;LeH;h/47^8mGI4_+ibU1H:A_>]K(S%XWn$$3bo_u]Kh?,7)=>A,PBdKCB>/Zm95j''hCl/7B!a1.,Tkj5;I7a`sV1k'T!ET8Jo?h/g'i:G;1Up2Ibe,oF9.KNkQ7//c&`s3cOd3,'819-!drR[,#)t&U+3>\6T1)&>M:L[Q&].;F+G.L0S+aNYbYCq&3+1cI.I)-"_#)P)<hSJYl*hX;Aooko[u+G\MM[/2t.F]gsAaL8@SW1$,DMBuX)q6Q-%R>fOG+\.Ji(GD5<ShI(eAmEr#^`KH'(f*/m=U-ueofPtgi6(=5jAXb/<Pq/H2)S[K3D'`rX4CD(2%aInKks0s'\d(4_1![Tsm^1DD>%9a<(%dm#5Xl4&GeG^8m7jirBi>@l`TU;._`r:i@eu?.CUHYiU%l-%%9L^hD?$6#`l>JbL*]KN&j_=WHe*1,(s__g!BGLA4Wn10#!I6j@.Jii#oUnKUVTRd@:FkjqBUrN(HRX*2#8r2.)AYqWT!IabUQVL9t8GGp4km%PcOc]5\nX'Ep1M92U8c@bZZ/J8`@1%LMQi]h0*:2aB6;6QN.)J`uU]L_>f!j=HO8C5(W+YhuCDUPkEPAN,2G[EJ;K_CtRRim:RNqRrb,6]?)2bk\T1Wfg$P*ft^UoJUjN%JZF*L&?g7#c)G!US/c0>>?5[OMg!kJ]NXQG]3VMI^[4CD?8/Y$^th3[o%^H40G$Esf0+LE=29Dd0!OueNtN[0<qA>hU3A#W2?FG6T)d9M22W:Y-Mi@t#XA!X^bG434S!=CE`u3c_>0]`a&Z;T6EGtUYT.+ZYqem]cLoORQX)VSpYjTuIR=i/RWMMJ>+`'iA*8Pk-E5S(s'_`m)a?(NfLLU6Eis;e#ae8QWGluWP=)1^53#=*r2=)3N!,mZm>L9G?7K6tQI9k:.5T9&7j:/Y>;'OoR.$"KM09O2:h^=1iU2"4mK6tZa(?7@2aUci5$.cn]!SGjL6j]IONPf<;N2Y-!RKpG-^aN>m2$\*p<`n$4)/\C"1uqT,t2af5IFHbR*$I:30X@f67KL_"3m#WSu@?_c9)tSbUi3i+kQm[N5GdiGb,UF]qgP2%ba]=#"G&5/1Ng$.lk4r]9Jaeh]joXoC)=k`/T>hIA@4r%cX\@]<OhTUU=3hUiT3ZLe=+K#!ug2'A%>_^*_HVVN5u9GC$s5HT!,:*ES7kc8F*p>]jZ7lfa3p+m$dm^?"X[O"/qk_u6.!f_sBd:pXKKeC]G&JMMkd@injDZbtS>!_Qisl23k0H$9ZUGp3U6q_r_kE&C!G1/VKsgh.,\fOm^hO_pnO&bZ2cXq4r)C7gLoluQ_9m"nAlfKuA'8"DI+7%Y_i->+]WBi.3^$g^OY;ZL=J2E>MgK,M;@H+cfs$,V*Zlf_gjlu"W?VR\J<L,1Wa2uk1m_'H:V%auYTaab?O9R>*h,=_s%Y()](\V!K2*]f%FC4A;$eda)*WIB6Cp9QpE>(_*JU]PoC6US2g(Hk&?"dZld-^/Fml=@2k9-1RbE$jEieEr)^h*%XT_s.&nkW&Ol.)Y:F7MsCj)'#-[*M2e<SctZJk1cl0aT)t_VsfXt!@AXY5O*$9_%Wd?bcP,X0c:R5$FO8%'^"Ar-5`4K3GtDH'<#;,liH5dcJY]AJlp*_b8hL(T0?'rp4s]Iq#5n&/;p(('s;ildb8cS#AG26=Aq:#\8!q+DK[pWFj_D7jg9Areo'ptUoh-#%ako"9sE=VHO"9;Mg<Qus5:#b)[(e]nJlh6]bgB(\S>KeLc(V@f2-M#R;ds3f(7u!*='0O4On]E%HI\'oN-SL4^P@O,3X7a>kLDEIb;?`Yj#OO<j0P@<Lt>3?"#rVm#<[Eg$!iWK&^cE&.AKX=LnC!KLA)!EGjT;(,NnaQ!1hFq^$1Rh)pEYdE>PeZIMT)$lApKE;-r$~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 860
|
||||
>>
|
||||
stream
|
||||
GatUqh/;4+&;BTM'QZjT,2b]lh)jiXY#Mg9bp<uXZ'0F%`*(iGo(G.gJ6%JDdoMc"(ruVfc8cAc4q?R9irWU,61:6BnKCMT%)!fP[r<(Qr&l4XQ,CBVNJ%3A_XZ7d#3S@$%faNRaaPo#$QppLo^2CTgMq$gm(8rhkkH2mCQUD4L$0%"n='TPVh\J)\5=I$YS)>cHa,,]U9W,#Q.rE%O9h\Bk@UJ2QLP!r1!Xb)otSX0nDJLfjh0NJ3Fn+bD.E[R?Sc(hB1kf24&-*=<05[1dF*!ZJCZ%L=u%eE`$pM=;EQi`f=F[BU[V"<GH=:bgOnibljQ%E0EsIn-FBS1;o9?k1>dUQJ-h,7QW#kra6DXd$<gH(9L5<i1`$R%1KY$KakBYIcFaFhJQ0b!akEs0K(hr+LaDcn7L@uNIOiBD#ASoC60BHS0^ht5<`3us5AbDO:Yo44PFWp>>k1:IHuDh.@Z*S'#5_u&lPp;U%4IWcd'9Z'+mJi:OH#j([V:gdmi/7;H9k=]a>d13af08pm@5+\kZhgi_&$;+.cuM84bL@[[PO`F1L6[V1`DeF9Og)-I$`K;g==[@J%arrh(;K>FQjZX?Dh)O$;nMa%P!ofh3:K504^`$NpKYHfKhH0httgrr*.!P==_T0k.Q9L<:O5?V9!LI)IS==.kI?+7/Y7<jJ%%1[!m5g$/4nHl^\JI\?DEJoDMrK]>"=nGepjar[cGNI.*s2.,7VDN33a@B8`MhrWc?[/*u*Wk9RtgA9b-i<'<%J0%&OC=I_&_#L8!r9:Ojo$J#(-!m11t=8tn`TBJ>3K:"D3le]nHjEbi*=fh6^,+R)><7*1"$,*:U8fFmBaT3BOqu]DT!Ik~>endstream
|
||||
Gatm<bBDVu&Dd46B'I5W7?@WocH;2)Bq(\RNgAP;,U=Vn6Nob9lIU4[MA2mXU;Zd#fK.B0G6W8GQocYQi"%PlP8rM($Bs?Q&/V3"+MR6\oJ:l^?Mo4;eiRSZ40BC0&-e7k4mM'KBQf>;c7]`[FJ'4>Es-Rs8cuZ-L:d(ppb82&;?8:G8BOO*YE[+rip_'3Mn(5qQ_Kj3]m0_/mkB0j6hlO'RkOnYP;n@H"<m/d@69V;;%IIr%\,3S4/?c\'-12KisEO4Hom3V$l8h7%^WX#WINK'JnX$WgVEWhqmh0sNsBYfVmcgG4'N-`0#WKgpD;B_#i/uY].MD>!&6T3,ti\,A<=;E7MA:%OFJp:&hJ["B4B!ElC\eaL)i7)2o`re-<"5Y)&u'=I*_LkGLR5%V8<>AFgpD*O/(Tf_eHqj)tlt64F`T3`X2pLO??BZIlj0p&RKi8`:PT(AZKQ*4X1qC.iNTXAS?aLfHPFi6\%AGL;']=<T`f?klJW$QfeuSmBDL$%3mu4.m>0e,91r/E(1a83/C='_bjt(m=YDFHBob/`=&`V78,bl$SP[2m@,l$(l[t>@g*WfcH+38&*6-7ZG9,qb.NW[j_'5ci`P:*X8WA'I_W*32tSPMh9X-&(H.!![QWcB/qp>7^);RPs5)H*g=biYmFVr%]sVLg<GTDLfe_Qd20`>%?L+&iUe/3WGDjb1lc)ZM[(0C_B$Ui([^EYMXNb*r;Uam$^^p</K0#qqON*j;?OB$ScC#8DQT%oEkGCAACZ%D\G+i@TIk`D)r@M!j$dT^'$M=IW`;=8C7.Pu28]@_;T)lp&1L@`s=_8Y[Xr+Ah':Jjn4i/LJSam,.p:Z]+YjRe!`EY1cfKNDrRhI#(!V&m&h7per\ddgo5\e1]:Wbf_7;B\j\k'Ab<EVsoKLM^_'88LF`cNq3TCcUV\OM'tTUe$3)d2Lj&DB,&nqi#Cgm:j%$IG7ndlQIOlglC((R[f4U>Shm(Jkke.Z=irPVZ.A<\N'1`i_Sm+Sb['1Fr]ZXVu3hiPrq,q'+jD<`H_nF!X7QREZURiLu2#'m6^*E2(;W@V4UASjJ.!/!So''[/[9(>7sn5(FV)K\iCpae.GVqR`juL<=g<Q\,I2@r9GC7+I88*9K,Bk_(/t__ZEmFp1lHc`qlE&_:Pl9!),$[-fu%j;)+.XOcsUeM_5ua68P@$,q:deu>loKg&`6*a":9UcB!BfgZCDj2]oD407:mE@gVLN3cIJQ$QO>Yo=dd=$I2,%Hl8W@)IUJ(M/:W(&TGF9:O>+H7Q(_>nOV[=Rj7W!!C+G0bo(`WefnqBdF/lETu=GB`Qc>4$%6;P2h2Ci"QkIc.u^"s%W%&_9D\7m1:2a0u3P.n=spX_i5ZMmWm3Y^ctM27ZSjXF2!YO-><VJ4eL[ihq\F78;ns[.t#[TldB$+FiEH1h`2@9k+XOg%mM8+>%YepeT-Gp/@P+j;;GX^8"e_7.D0UHeMCiQc/U\>eCq;Tj9iFb4q"c3mqHhjYpE_LqY%&]I[;EY3?gT+VPr:4b[ZjQ.F\+<<&;b[#h1rXFd(N#qlWZTR=@ZilEcrECYGSH?mM:r\ef##CO$8HA'Sl;To*q^r"!2&`=]&[+rc[jhLMJsWtdJVibD,jU+.XAS3Y__+C*+e:BTk\@JtkZ3udfb3sN.Iki']*Ph7tb"jMC_nV"LM5?U$q.b$MT2h^GW8TWj&j8Qm!%tm!@B>IS`5crHji2SZ]X]^p,L.lN$aRhAX-J9:m8NUI/r]7H!)Jg4Zi4P..oG`.hB^P2sBSSbp(uF]DVHHDM00"il]6,cP'^%"[T`B269aO+VLoJ%/@0518"YTcX*h\=]~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 39
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
0000000242 00000 n
|
||||
0000000354 00000 n
|
||||
0000000501 00000 n
|
||||
0000000648 00000 n
|
||||
0000000795 00000 n
|
||||
0000000942 00000 n
|
||||
0000001088 00000 n
|
||||
0000001236 00000 n
|
||||
0000001385 00000 n
|
||||
0000001533 00000 n
|
||||
0000001681 00000 n
|
||||
0000001829 00000 n
|
||||
0000001978 00000 n
|
||||
0000002094 00000 n
|
||||
0000002386 00000 n
|
||||
0000002464 00000 n
|
||||
0000002670 00000 n
|
||||
0000002776 00000 n
|
||||
0000002982 00000 n
|
||||
0000003069 00000 n
|
||||
0000003387 00000 n
|
||||
0000003462 00000 n
|
||||
0000003567 00000 n
|
||||
0000003679 00000 n
|
||||
0000003791 00000 n
|
||||
0000003961 00000 n
|
||||
0000004054 00000 n
|
||||
0000004166 00000 n
|
||||
0000004269 00000 n
|
||||
0000004389 00000 n
|
||||
0000004521 00000 n
|
||||
0000004649 00000 n
|
||||
0000004745 00000 n
|
||||
0000004820 00000 n
|
||||
0000005648 00000 n
|
||||
0000008687 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000524 00000 n
|
||||
0000000728 00000 n
|
||||
0000000796 00000 n
|
||||
0000001102 00000 n
|
||||
0000001167 00000 n
|
||||
0000004084 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<cbce618176a4381f5b7db1e5aea50bfd><cbce618176a4381f5b7db1e5aea50bfd>]
|
||||
[<72a4394cac60eeec138c965dc18fed12><72a4394cac60eeec138c965dc18fed12>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 22 0 R
|
||||
/Root 21 0 R
|
||||
/Size 39
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
9638
|
||||
6018
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Android Cast — production infrastructure
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-26 |
|
||||
| Last modification date | 2026-05-26 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Read this first** after a context reset, before changing nginx, deploy paths, or URLs.
|
||||
|
||||
| Doc | When |
|
||||
@@ -21,6 +40,17 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
245
docs/INFRA.pdf
245
docs/INFRA.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 18 0 R /F4 20 0 R /F5 21 0 R /F6 22 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 18 0 R /F4 19 0 R /F5 20 0 R /F6 21 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,72 +17,72 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 716.2874 87.48504 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 762.0394 87.48504 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 705.2874 191.101 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 751.0394 191.101 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 694.2874 98.58904 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 740.0394 98.58904 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 683.2874 111.925 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 729.0394 111.925 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 672.2874 165.293 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 718.0394 165.293 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 661.8499 153.06 671.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 707.6019 153.06 717.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 651.8499 131.37 661.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 697.6019 131.37 707.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 641.8499 165.9825 651.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 687.6019 165.9825 697.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 631.2874 172.845 642.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 677.0394 172.845 688.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 620.2874 161.725 631.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 666.0394 161.725 677.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 609.2874 75.02904 620.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 655.0394 75.02904 666.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 598.2874 166.181 609.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 644.0394 166.181 655.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 587.2874 117.277 598.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 633.0394 117.277 644.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 576.2874 135.949 587.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 622.0394 135.949 633.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
@@ -92,33 +92,22 @@ endobj
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R ] /Contents 44 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /ZapfDingbats /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Contents 45 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -126,9 +115,20 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R ] /Contents 48 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Contents 46 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 49 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -138,7 +138,7 @@ endobj
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 43 0 R /Resources <<
|
||||
/Contents 50 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -148,126 +148,177 @@ endobj
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Outlines 28 0 R /PageMode /UseNone /Pages 43 0 R /Type /Catalog
|
||||
/Contents 51 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190936+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190936+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 production infrastructure) /Trapped /False
|
||||
/Contents 52 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Count 15 /First 29 0 R /Last 42 0 R /Type /Outlines
|
||||
/Contents 53 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 30 0 R /Parent 28 0 R /Title (1. Topology)
|
||||
/Outlines 31 0 R /PageMode /UseNone /Pages 46 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 31 0 R /Parent 28 0 R /Prev 29 0 R /Title (2. Port 8089 \204 not the androidcast vhost)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121123+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121123+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 production infrastructure) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 32 0 R /Parent 28 0 R /Prev 30 0 R /Title (3. Public URLs)
|
||||
/Count 15 /First 32 0 R /Last 45 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 23 0 R /Fit ] /Next 33 0 R /Parent 28 0 R /Prev 31 0 R /Title (4. Disk layout \(BE\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 33 0 R /Parent 31 0 R /Title (1. Topology)
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Count 3 /Dest [ 24 0 R /Fit ] /First 34 0 R /Last 36 0 R /Next 37 0 R /Parent 28 0 R
|
||||
/Prev 32 0 R /Title (5. Nginx \204 source of truth in repo)
|
||||
/Dest [ 22 0 R /Fit ] /Next 34 0 R /Parent 31 0 R /Prev 32 0 R /Title (2. Port 8089 \204 not the androidcast vhost)
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 35 0 R /Parent 33 0 R /Title (BE apps.conf today \(typical\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 35 0 R /Parent 31 0 R /Prev 33 0 R /Title (3. Public URLs)
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 36 0 R /Parent 33 0 R /Prev 34 0 R /Title (Hub location \(correct\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 36 0 R /Parent 31 0 R /Prev 34 0 R /Title (4. Disk layout \(BE\))
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Parent 33 0 R /Prev 35 0 R /Title (Reload \(BE only for hub deploy\))
|
||||
/Count 3 /Dest [ 22 0 R /Fit ] /First 37 0 R /Last 39 0 R /Next 40 0 R /Parent 31 0 R
|
||||
/Prev 35 0 R /Title (5. Nginx \204 source of truth in repo)
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 38 0 R /Parent 28 0 R /Prev 33 0 R /Title (6. Local sshfs workspace \(not in git\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 38 0 R /Parent 36 0 R /Title (BE apps.conf today \(typical\))
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 39 0 R /Parent 28 0 R /Prev 37 0 R /Title (7. FE nginx \204 two server names)
|
||||
/Dest [ 22 0 R /Fit ] /Next 39 0 R /Parent 36 0 R /Prev 37 0 R /Title (Hub location \(correct\))
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 40 0 R /Parent 28 0 R /Prev 38 0 R /Title (8. Verify)
|
||||
/Dest [ 22 0 R /Fit ] /Parent 36 0 R /Prev 38 0 R /Title (Reload \(BE only for hub deploy\))
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 41 0 R /Parent 28 0 R /Prev 39 0 R /Title (9. Backend app \(crashes / tickets\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 41 0 R /Parent 31 0 R /Prev 36 0 R /Title (6. Local sshfs workspace \(not in git\))
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 42 0 R /Parent 28 0 R /Prev 40 0 R /Title (10. Rules for agents)
|
||||
/Dest [ 22 0 R /Fit ] /Next 42 0 R /Parent 31 0 R /Prev 40 0 R /Title (7. FE nginx \204 two server names)
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Parent 28 0 R /Prev 41 0 R /Title (11. Changelog \(infra doc\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 43 0 R /Parent 31 0 R /Prev 41 0 R /Title (8. Verify)
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Count 4 /Kids [ 19 0 R 23 0 R 24 0 R 25 0 R ] /Type /Pages
|
||||
/Dest [ 22 0 R /Fit ] /Next 44 0 R /Parent 31 0 R /Prev 42 0 R /Title (9. Backend app \(crashes / tickets\))
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 874
|
||||
/Dest [ 22 0 R /Fit ] /Next 45 0 R /Parent 31 0 R /Prev 43 0 R /Title (10. Rules for agents)
|
||||
>>
|
||||
stream
|
||||
Gatn%9lldX&;KZQ'mk$`Xb$QCd9E-ne'<2!WCqU/702(<@u3f%WW.A_E8oH4[Ru9_Cl]mY5-3UB]+dB?B`FXl!G33S/gsO<Z450BKTIcoSkXZ-k](1T8<be]KK,!K(Si52LXX17r."r9Ji*&X"A$c71o-eR'7;-T$55e8`t1F2eqNVl/cbPG6;oPQq5f,2Pq9;B$Fo6<_V4`oBXB8Cgf@$6,rZa_2?%I#\:Ep-A8gD^T8u7scZhTC*Ds[KeBF\%7,e(<S2qd/i25<<?tR&h?jY<:':;dZWn$es&230a@>:CDBknb=s+/-ui[8`,p&'Dl4tUa"2YEZim@Vfic1kQr5]%WFdL,4ALgkUSr89;F8Y7lo8#HKqA$-g2ikCEef-bNq])dbTUr+NNA\jZ6p`R)Ze(];MN;YtBPknm0"j#6NeQ!)d=%e=NLm$@\iRuR$JXagKT]QL0U=Z9Kq>.sZ+SNf!?j&Z1/,=8=&>NF"pW>mVgCha@=u=BQ.!dlc%Di(hf7XUYm]gAFi([\e)?a2B_9ph4HYBFLf1m2mj77S2n"<]Amn]DF1fmk=gcCRNj-$K3Xa&5d"dH)!YYc<2`%+5SX+M(KT8k4iLqjYP;M-^c`k[5T44A/5d!FE6)tgP>gsSTSZ']!PVa&7dWpPE?,P8[r+Sf?R=PShTU.GW<'=umWS@'o-`ep2tR.5POAC:4O;_/^O;AcnH>N*(L/t9]j2HnMu#cu_u#s,cjX]s=cnT\%EbMIB`jVIg$`J!l3$kt188jnmT<%.]\Hb``Mk]+Ehg7$s$XngD;_scREVo@qYm#0og/;?otY2jKi>%b(oRg%SKi^%71`KXR\D:<Vj3+mr2kY3]$;JAMDh@h6N!:sT81&~>endstream
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3225
|
||||
/Dest [ 22 0 R /Fit ] /Parent 31 0 R /Prev 44 0 R /Title (11. Changelog \(infra doc\))
|
||||
>>
|
||||
stream
|
||||
Gb!l"D/\0"%fW&,6/Z^4G;gO6UNc1)Ue.&!e#bS!?#`,[5dAA<]!A,sj>?[Q^\p-e(JD&?m;$^W-#FZ67c]XNOq0QO"_@O3`4q3^^uZQ3G7#`4jss7bU;?aCY30GISLN5c9db[lb8Qb67<I)2n3%c2(R9Rf,s'8ZTZI'&(+E.c3'g\p7r+LI0kUg7`f4Eg7WIu4beFM)@bLsT<Pfr!?kN/?HV#>h0h]gNM62Ac_.)I"CY)nqs7bUpQ7VZ[<sY@-';%W'_*@@*@j5U3J**g3"2FRC(`&6670g^g9*,[XU8k?t;/JZY/KgocD,%jsT)&/MbpBh*<N#q:'GX[PX.PM"s3@M"9+=gU+K%O(1OI6jHg0hf#eI%l9,C+<e&?T<FN+6Q@#F>=%lTIUQCOs:h[6cN_m`?+^uk)]Y(B*C.B,pr+WJI`rN]j\NGeQ'^)>\%0['RaPVTj^Y_]-fl\hf>f4;M[(F\Hc8D)3nb,i/gl=m_=Ic;Vji.L>Kfh::)B'ND-Pi>K2hZCA$31^B@S\&EPlY9DG[BY%KVbZWaIMiA&Y@qnsKRjr@?dE-o`!JJO(e"9HN]/KdE7QF%6p%SN-?SO8CtX`Q%?[UMK]1s'pEX$McYbuICQK]\DQSXml@ut)4b;ek9-3$nhg:'4alPBj[a[':H>]6,+8:3.`Xb:V85?:^-!s&8]QoGQ=#c,6-YMrso9Ws1oQ]N)S(TfLE[',G\ibbd7@)`]W#(brN+Oe![NFP#mm##<hq`b\1.[k(a)J@k7ZP790GL0l8foioc&1]B#I&:p[R`(WDRXKr6P@mUgcDqMU+Ud7V2+l%\%c4pmiV!^UMVYr_i-\2PB1NRG8',3l[%O0_+a:%[0U.L/3i.OY@keJVPYk?s1E].L1oUOSufEu1ke^Hgku3Dr-Q!FCO&.J1o$HIB)9pU532m6btA06PRh.30+Hi<5(Ipi1k8Bt!'ZYPn4u5u8[gO,:[%kUG%qAuki*aioH,s&'d1f+F[Aek,b()+P\=gP\A^I*X^crK9Z-4kTFtI/Q&Z.XO_q.OKkV-6W)gqASS6O@@%jR=KUP[e$K&O]k#n$8QebggOCtCj2_"Ocnt+1bB+]p*>:3"pEoobbMt\W590Mqj>U]Vl`F1Oucj']oOj=Z%i:c1)SGNHY.uP*fo``)9+QZsS^QZ%<F%C`3f5Q%q1NBD_Y#?V;*j^8+^s,).6,V;F'b"_>gHBiM@LASM$0/#'5s\1Fo#hCIE'o"[hXfKK5bi7'?UW$-Zii]0rlh+(5o9bYY9u+jc&Ru$m""O3&KX:eNeN(qI\UEs'A$#(LI=n)";+`-1kRuiF*s?+fuhun$$a917F0C'7L^UA5NjD[R?q0'U$FL"-c(,a,`4l%KOWip9>ni?K#Eh+,^u&`QsYtel7W"tn)p?&ZT%>bT4$io0+\@.B`,*mOMTHr+FoLSGI]ttp*d^4MuR"o:YS/Z4#Q.I"ZM3WOCn*-M5D31G]14Ts/iCX^.uBM3_EpO2i):mp(;CbK!*fu[Y^_%g`'&`pE2JpWeWN,#1_KDIdaH:[55P*:*IM@$!'XVrRr4:pVP[Z>t!!BGlaeJe]M1Yb:q(j5>^17Q@nGj@G_4/'K%?$^gjGDMU!j[kWGb(7WsoEl7-_rlM\:YJj1a_RJ2WTF.Y/o]Dg/hMWg6Ig<@c`C<N<Fl]8Yp#l"'Pr>P-A2/%,ho:8"?Ph&8A[H3iO2pJ:Eg1gJbs"0?mh?]M,Y3X7Hp8`*TZ+;kim;[5MA"mG!pML$uj<A%Ni!TXCCLuL@2aK]uRn(UT_BT9l"*X[rNR-q.Fd+*(-dd?WD*8ooBk_F/FEUiFH-MnG+5/YNF>Yp&?UF9Z/4#P\<;V'QGfYVDgFAYl'$K]VRqSfgAA+`_U"XZE@:Vl[&sri"K&OqZdh9G,&kFp^N(MKSf\`r1/WJu=lf^Rp]*^O`qVbcGi&cTo(gWK]WJ+Frep^tObB(":iaW$JoB@u=,mY!tp683PVp7Z<3*:;$35Ktm[X\<cTW47<lp8+XglH?tdM0(=0Qa?S]i:\P1/PC!#"61l#+Xe6VL-X`B6R46h'4&=0pZ;S=t8T0S'KhfO)$h%HgCHXmk,T`T!Jp^NUL:^Q;@8[rrqu!nCn/`#JuF*]LUU#E)JM=lL](oZ^9$[([aS(S/u.->o4q$F10mP7&0&L9iI*8/ZEFVn@7O_1qOeUW0JYk]j`/"AR%kc8b`1X]"m;Fn/N9JPCC/O]U(*t(d+fq/K03\g.kL"&g9ZcXB`5@[i*2(m48k[3MdUBVYh=,E`CX@L=O88BUH)7o8;V(j6mHd;,`\NPtsHj8"-Jn"O$V9_6)/ZB3Qu-Nap9?!&<SD32W(pN+5Ij0HHBtN4Ht`'`b)q`uXb^S6GH=W_c$!,gm#YA;-E(KYB:HeC4>^..GjD2+)hY&c&pq,.7rP)7V3@kq(umr@iYt(#XWZ>1n(dp4F#nX2V(D+/cIcVUYIfEED2RZ?[6b._#1.kT]s4n2Iki\.Ub(_gFn/7M0T*<&Ii26i#tJ2PDuPj>(<#bAB+^)arZo3>=t!ieCFHYT`9hj:^dY(=h]A3%3o-%nBg2<X3V5O]iKt&r<SU%@Nn5E?7oi+k66-9q94CaINhlcWGn**V\FaG1B<]=EaS-UO#*fZLgsbFugtQi:V\>7CDiJH8)hY%=Ho=Gn9%T#3lr7C1B'3LG#EoFF/SM3>r!mb53?tGd;7?D&E$b_N.1OK5-$2TB(gl0rR,NhE/:2pZNBe&q-.sr:&W*R(-s&2T`C6!d'#V[IY#>l=q^2,t"9C8`g"A%4\CCQaF%brKmG><aN)(>%a?JqU<a_Q361g[#P6604qtMi4u'1ZMnMn4/"1l68*;D,i"%TWjC(h,-Mh:h(u[@XO']>!3h'70afl,qr)5DWaK1,*JVRlH-L$87&C^dO,)u,d\*DC';fD8BSG].WY:kF^iY;$MbHXXoNSbI(9aHrmQ90UY'p`iLTQ3:GN,JI=3QNrq$B:'WkBI[,]Wd*9YSMt?`0#Vb[5XRDn0(_=-WMD:+9L;DMUR\$\]>le"B;r,s)+l-ku>`)=?qIQGrVRI9)?CPoK`0T(<le&ogRR,Mqnhhh6POVr0NId!oJ"&-Y?D[,o"1!:beM(9j3t]!$t7$9RM*M55(I^.B;NH@4mHRm^Koj`VN6OE9?Xe+05ZOPd#hcd@P]`lfXTWZ0_k),C*iKu$?sZ)'1:7mWt5$7\3TZoN(SjhM%4rrGK&191~>endstream
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3409
|
||||
/Count 7 /Kids [ 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gb!#^BlD`s')h6*;$_>WPh?Yfqf"_F$[Y!oACojd#$=-@6'EmW$,u$`.Eb&>s1[%.S)P_S_/>4MTt8oWrOTRH*E#/B+%?+nD#rML_r=i#7>:UR.(Z4lrHl&c^\I+]a_.'N,\r8<QH&sbkkLS`jZdR0&`G!6!Sq]?<DcJX.iL)CX.M$ja-8/[L\C37-/J!8WNiU<S?]5sem?4Klm5g$#,gN$[`!XFUYTZmaOq'hD^ZoHpr4'cd'Elqrr,TSUkKc`N!@#Z-L!nAkU5Ad`Ff_Z_o6E$rri'\F(rDL:F/lg<6:BLM1V#(i9OYc_E(42AV@j>jtSgJ^n^4D-B\<9\8_o`h(as9bLaGu2:/FC[GrD#ag8?G\)I+*$`V1`KT&f<TbYemZb)2aOt:Q^&"DBb>?m$1N+506"&K3D@2fEuk<T)IrEB:f;g7Z81g%:pROk&k$--?Xn&7S,j7)O7[h/!L_Z13/5P]^,\W/Hu)-'hH@A-QlU'H2']cVu>#SBKCL*X,#o!j?U4tmUJQ4gXIm;p*$.5[Cqh?9cRmYNm`p?!-<lKu#*8qBj._?t-H-q'4.JcE['T.VBn[<+cep@#V#0-gYn_Tg0+brf>=+7Y!3jm^U>LN6L7IP-s/j,EF%kT4LApf%Zp;lgGd;_`g:Xu:f+fmp(`)1#P?nfa@lHOFTEOA+DjnR+4AZ7JH"dI%=@+fY9j[dbP4GSH%ZIs9a[O%-0X/]F3hZqrijd$>h>\d<Y<h/q,;\(r>Z4;'n(o@!,IfkW^8_T6UqWGo<QBpn+[r*g$imW(?AI(q*NM,trmlc7J]S7;E"Y1ohR)4%:IY(LFZn?6sG4i:/tXk_k;?(l&dV&K[ai&@i@_1LMQ;lShNZE7kr#*L=C'dUt!*PLNF7F=W9>EP1'*ZcJCbNX>PZ*7Z-Z#1eLk[#(70si;?2lHguK-G(E]T_(-miWkh]\_l\hsOT?PP3_Z@j$-Fd<<,$0lJ.R':&&*-$)7ZbL29YV>FV@#<`QN,EHf?g@d@I,S"+@[#+;.<SPtJKKTnO?N=dt,n\f#)aI#JY=G8i^L\71^u#M@_>c[dK$YU4;oAF&J-tOo+eg9UmWojIdloY[GfL!4BbVWH0r3[h"@E\Y9IP3)0AQBAk7Io-X6UZd"`>8hY3\NPCp%9%m0fZ<(I5JSF0:n;P+S?m>!]ZaOsl,r1;PSco2I!=YIG#VoMGU"f!SkbL=l\Xqn.pR-;EOD`<*qP:VO3tj%q^I6s)APID64XN&:&&XAn2T02?q"69OM\:Q!F:#i1UX@3e/X/?KU<E_]bf!msP%]&ip'3%Go+J@fiRBi$p/"V;?UI9&9$k6K*$GYrS+)86k[o#HkX2N*?kM;82PI3BXTe;**7pr+q[2M+`D!0VhK!1u`U@V#&@&8a*N0%B1rM[`q41``\WN&*/*/gdt'JXqS8G!T+<s.J=WO'&Bo3;Mb!9/B,<miKi]dmG+"DE)%IQ#`lS.:())&9&>jkFm'qh,:MZ[XKN*[c;GFP'"YJ9@^?lZAm>NdI`hLPr4C(_sF`VA\$m$_V\NM/RMRsdr%S>%F<]IC29$2_jo$^=`(4IMp`^NIZN[#%)R5Y6o%;XD']UH022Ee"92,SGU_jHA<S;*7"1&kiJ*<$rW0]<Pe*4d1h2j5bRYP&0Q;)_J,9h[$!kUBop#Er9",CT,^r8<\aHoqS9idWpa6e8(,'(XomFQF0M.q_Hr:NPba"P7Vj-_Z/ru!TkPjj@8LJm&dBr7nK3.-(=cC8#in3aMJV^0GN#BrS!h?i5ot`ZV0Q'];A2lLW:a]T@@f/cp\,tL9qY\k<.K5Hk2EmN`;0I&fgW(<=DUOBpKSeJV>tBQ\*Fa&DajYpM?e;=DpVSR-BEMHt`@0ZqASrU%)H@fnbV0iG0IsErXTuY.1:RA_,Ba*G-^QFYqu),]+)YbT/iK\)4]0<pHImJl=@s8hTdk=gUL+rgFCB^tVTXkMb?DJnPS6eM_E/B.f15GM9-F_9?Sd.<I*B:f@>ZpWNaBl#H:UZS)(!B/@?6%sbjhk8PjEc),4pJ4$:"LqiWJ>fGt8o_LmX/VZ&,*mOOP7\:ec"WOjn3+1`T$QT3td_KG+_VV?H@u!MS-&X:j/ap,Rsa\OG`X"[X$?%OPJ19iiXA>DMalJ)pna-HVWMA6$8FH')tfh%2^<-Y+9:K@l+SDbH3X'4atapI#arIEBrTgigL3=1Y>0WK(64I\]qSW2#V-c0:ZPen$VW.pt"].-X[1h2S_d#EJP3D"ZkCn&UflkEhB3qp\l.)ohR$"3,sBV$iH4=nX\KSMEW7,B*EY#QY?.KT*8/j1]rS]6_Qr;/IC!(\SZin:%kS3(8"#?Z1Wp*ia06nAKV8>NWQB]a[o1,kZpZk@_H;[68dL4g5`6]1/Q:@]7arh/ZhGW`r[sCS\:?Q-SAf]k(]FQaPt=HBVC[7M=<."6uIcjf\7r5.JWaj!]6>E9uL0m@[>/$>]ga-p*=ZZ9\=!H&IWNH.^A5#/u;3%1HK80,Y>^ULZ]aX]gIT3+bBtWu/#V'2E(M9.JafVK]VLOB7YkG<;WcUoLk6G"WoA"6'#D@4ONHG+D'g0?rcZ[GjLRI6X)&"Y6TV;g,6H,hKT4]D5pf)bQPSNIq\Bl_VV4h-UAScG@fJ*^;aZ#CbsO0Ihr+fa-XVb?#S&KPnnreJgVXb<cE%j>f32Ke^37KADeNA2gBh.t`+_Z#2-.n&p@/N]X<kNO&i%a46!^o<ULLkCL5E2_=J0J![+_Qch`:M%@81;**o7/uBBNG/=QV$Ij#I9<t;EkdU8fm3LeBFBpEWK1=`B8^Z&$@^@gsA*26g`7\OsFC,mI)'I_aH89d75ZE/T<AScDj$aLr+mm1KU.g]_\,/t]D'sFPSZ1AjGGbYZ&TiFYDWmhss&XrXT+a'@ar*8gOP*`C#h^u3m]U@7)Ur[;:QlG1#/6!(h;S#V6>dV:O"BPjmFY,r[+,?6OB?#lp@e4YJ#)I.07)'UW1%$i'Nh9F`BqHAS[Fuhf^(b(]ADMJrbUO];)?sp?sI1mqL*L%Rp0YP,?t"doJMM#`T&c50&Jq<Gk2ZiM"H@$UhhsDK]^3RA3$om'j4b^DKIu-W^gb[nh<EMqm)cekh-^/U<86`<);8R*7o9qZN`U"4r!%j)4mSFP--i<Df2>kNo]77`j,u[SR&niW<;p+jmL"Xnu/N#4Lapnj$%'nT5YOL,aI:0)`Lq6Sj\DBnpZ4TO`Sp1&u8pXGidg1+\<",)3*3aM%)8L9B-/^=iLLb*BfCB3Xj&8D+Y:;_pjk=FSaI$9K7#s5:</3-2<\.@!.j`O/kj?>!$qSC?OH6KeQ:d_OSK[-VoYVJ#?\gLK?]fiQh/5UH\Lb>Xko)IKQck0FPX3?M.C(>h7UEY6J3Q]b1:Fd>is(qPO-.#2aUQ6=[P#02n"Y3r~>endstream
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1875
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 857
|
||||
>>
|
||||
stream
|
||||
Gatm<D,]1K&H88.Z,97J;J9TFIS8ns6RgC1K9eF[oLid5i@'P@D&LHH0K8a`De2"E.OSW6)tJT^Q*gGTm^&rR@,mkXIRYd%d0QgP#94)G.6&C=?uul+UX!_sW?j^""F]2$+:LSG])rSqF^A?G4r#ha7DU@<9X9[aMT]--GBDDk:nRM:9(<<#!r_R%qYGjt^tu^PnjCT0ZA<<0B8'kaZFga3#W]4nSm*b88.eWAVM_EZMI/IqX@P*(kK;M*%AR8ag'@TE7LPVL:CX!F^maaS.pF:oi#_SurN4DVMSt2J1EL1U0HRDuY*;adM`b'OC+kp7*kjfP&c/pV,EIMO'5EK7$htd:[D8nq<<\XtlgOGn/U\)\$<cSa/9B;B8gUQ;>"s4?D:_SK"^MshKf$bRS!mgZ32jitK=bXY#ChW6VkAbd7$]r#4G=$F!;%;XMHFC?_2"1L@]@nB658J3j:B=T@,_aDI0;?=YaRKnEu^/VV%m=D*,bm:+E58n)kKb(?&Gkfe@2*,nTghJY?U4'HXsABHq^!,I5Z8c&2$1Q6D$4BE-ce\d)#T)O#-bN/sqUNnIa]["rpDhIBsf>[F0g(=o]KM]WJuW=8X868Z#d/l=\l><=L*K[ttu*9UXj`nM'la?H.XIMc'-,$l"%b:pB8=6Q.HiB/=XrG1o9&#nb?9;8D_lH)l`.qX/k*QsoD;6e.R`LPM&M/hk"0Q0ffun@2[md=tN_65:V`T#'OY=1Hglaj!P8T>(;XdJK^1P@67uVt#pG0XWU,Em`1rJF52HESK,nQH_C(X\s/V=8?iL.\4n,:m$_.6<S<=i//iVS6_E'ehM_bCRXY`OIb8lO(gO_rX#WBin2c8aW:KMY6CLh*s`^2?R3]/kWWB1A@XT:3A(WH+8BsI3Q+U]^WqSYn=VUk*(qu(d(IH0.=H:>d@?o60WY\$-F#o*L45nL9I61)BJ1,oEJLH^T"op6kQ#2k".1[M;I$Vd9&&/*s3kZ."r^i.C1A`_$S4TJ&OnH]>d$I"-6c@')J/M:)q$DZrERQVKo)]7/8$OCoEY$MmWKNR*Xg&X*/PrnW";PEbaJNc0ZE$f_O"e>Ut[kt_)+WubuldAfXR6;h&m"s(+5Q#<It3[WVeFi[NZj/:LEO)Y9agD8CP(&XXqoU1*r3S:UN'MX#HpR5"W]:=RZOAq=d54W16;h6q5!:_bX8I+f9/27(aU&0+S?gGq_)RSRV@Q1;kr$1;7Sk=ESK5^m3ud-/bYj'ar-crVrRN9Y!PPC21LXZ#TNug$%_nr9M[P;&D8GO2?F_&+/YH4^cZ,n)&3!7p),cia/ZIiHZV^Lh?/t2k?f-6>l<nrm8ir?NAtD7\fB_&qMJY(YQ2-mD@$7',lP9gLQo\COtXa3\3?7aqB8>JUkcYo"QNs8)!!rO1.Eq#;>R*N[8k@]"SQj*<^Q<#86lTi&UXCR,Keb7"#;n3])@.FsYcT:%rX#rE"o%hM)<9>`"P_3tKR(H4e;:=g[%p]]IQk`Z3^BijrekV>cKZCitH62].c&N#a)!M%+TM9aG(2mhaC(GB:#!X5.BtDN!PFc/Y`sK:\&UmqH8Ql(J<^HjYiPlNGZVHb+"Llm2CiV)bi^Q172iY'&'rT#t/q8Q66Y?`-aIrar"b#1j0_dSf^VK1X:!br,@;-SkYL6?H^GbGr0sAUV)dnOQosg8#OYkkD%)!l\f)GV#SCm`"ZZE-0MYDr0.(k^-j#CkE2MgSu]L#G5/-W:&edFiS*;%+oip!8XV$XQ;)jVP)(q\Cb9HB70aEO?O+:hZ<?Gqo91emJSO/e)+;cUBH>5KY@3:ro:9^>Acf;q_gtb)\Y279ctNo9]2k<TQF"U6uTRVe/Nkk7DiHi<X]D-IfV[6\P`~>endstream
|
||||
Gat=*9lldX&A@sBlnQc7MH6?g9[]^mSK+)cl)>K=a9`^d/r"KGmjm@)5&+Ts0VC_[Hi(2(Pnnr)#HR;K!OrNqjq.V3"=l`'"9_Ni&Bt-tn8kIg7!Xq&crq+*I:7,=Qr&i`aanD<;=+D3P5,/&J"9_;4IFM-,h<)#Pg0DAc2^a;d&5ZZ#8(4sVGWr(&_r/r!e)r&@?Y>$\Lc_kKfEB"[Qh79AT#4In.*8lbe"Qin[!Y(WE)Q#UKURf'gf\&X6)h<Fe`/koaGs`:N6!5&QWG3Cn89-p50q6^;?Fh2d'I'CR#"-UaF=7Q)sZ^j]N[0="2-!j+GWP*K3Y7lk>+I=jKX[%BQ]aVgI\hN#nHU.RF17[RS[9bl/p,qE1smKNF],jVKpdR(#[4#$r#pm/J'2SUA2;[-Hqs)lp<@MDi3V[E$q$UQ^gn&rE9[/n+_oY"R5RDPLLi%kNE\,7J&9i,)W0Abh.i>X4hq2A^:5@2a$-VECDpi/dD,L\o&<`*8_rkCm9YN<<)OA2i<,-EKt=-nP4!HUR=E",numVfL)4J8R6t%8ZE5:U2BT`QK\<Qu6Wf!lT3$BCi?bDDNJ<V='uM!r1iA/Bimkj'm5hhK82(6ueV'GR,[DBMj`BdHSShlKX&Sgh[3J>aXl0DqVEi9Nj]dgPjKBRD1H!\(!nEq?Zg+qnCC4a0^r:3pF%*he`ArIh-aPdbIF^G7BIFLpdP%Vjk+A[\fQ;E]$42Lc&_G0PD!E#3C%oIY6#gLi*d(K2<"DF:b04n.(&ZFEM0F#S_U">7PlPWRpuoW_-3gLdDX<X<h$mC'FREGA[1EIGUHq@$"V,o^'E;,a!mh<FB,Vgjneq!mLWE@g7OJ~>endstream
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 804
|
||||
>>
|
||||
stream
|
||||
Gatn%c#T:-'SZ:1MR.E9:ltGaFB:EpZnn+DlI)iJ;*Yt5/5\u6lF3t4:>.$tcj[gNnR1>Il096o;$?lm_e64Z(-+!K'U0cE5U-mb^W&%$rLD:,a=&B,)@$j6k9L>>aM6nf-:,ek3!9Po,iC*WO'*5qR-i,t-[h/O!V3qU?tTqgHA-VsmTKp&U!UqRjm30A+3<@4g0adNRXPm^5sIKR;l%;>l(CcXEo#t\DiZ,bUMMDc7W>Df6Q2a<2N2W(mGM^cTh;)LZ4PUG^=Lkpi!Rr4\3eMa\8.Q8hq$ChQ@cfh$Em&l"BUT=TbU(GE7iANbK\!3!h)eO&/3i8)tiO(+BBRX0f[XMK<*BJ(tn-c7)Am:d0P]LO&3Lh=q->Y=GnInf3.)8i`U@PNkRL@fJS@ra&FJ/VWIVq\3m;)i>Sg\8YM-+Kc<ID:.qmYXVU#+'kl,=;/([:j-?ocol1ZYO/K9Z6?)>8d_a_LZ?X`.B05'([$g[IpAW`'j3!TS;_`9DeIq/.X5/D_Q0)Bk.']*`,+ca3<&?&?GA3L\`*Sp$Cb!to?m1Du<+V\shQ]Q&>$>1J2?(.mUD>/OP;Sn]@!u]O617m[*S9rs2I4r+D=:sdeCNeqlO2.>ap=6C(f^ik3!adpH]H\_"<g@_"$C6:cn(l8IX_Cp)"J79'_20RL]':#_sd-kB!qV'p>pRDp01;,s0Rd>S[-fOm.P1JqaNb?@sp-J%ee7lI@kBSfto/09qdGJ)bXM]POOB+T&BGC`;*BKN$RS=d9lNca9bT>.^5;YPbu>lk0+d's.b5"D\40DO8~>endstream
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9$AT&MD_`PtL;ZBnUJQ&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:ps&&=X(PCH'Wj;^H^&o:u0B4;^:%sp:ZE&Wa6R#'r_sXjY5-C*Ut>641HTb(JK2s*r~>endstream
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`Sh(bM!;,fa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#A2MA-a(rHVR:D)FhU3a#MVn+@6p(6,SFQ!,JH2MH_7OtUjbJt$1U9TU8;~>endstream
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3259
|
||||
>>
|
||||
stream
|
||||
Gb!l!=`<%c&q9SY-t'<1B#\PjS%%S&Nh&-IBB%Rt%2LX*cr<YI6BN7No's$#IB.XMUj1%O@"G^u,155JlFOR@Wbr/!rmLFGB*3*2#O*64b$_pdWY-'/=)]lYqWit"1KBFuVC&?O=?9lrC>aG/?WnhE)DUdhIiT\D=u'SUKD>_M/3^8!,m.(bPgeN'"g].c0-FE00eD-/:4@ci[rc3GZl.N>KL]F&'DMl`:*AON:QFCb08#(5ZaTgtl`WSOqg8e[*dYX1KQaY]O!0>;+#d7U8SQJ"(#jY@8YDP@<i?56V,d^AZH3eT!MW]-Cm[HrNEIaMeK4P]RO'5g#bt(K2cRU._=CYQ.=Uk;peo9LP*/b;q3f!nCP-^dFoYge)Pi99e*5l)5.[_G0ecN*@XHt.J15-r/mP+/35TN)!g\(\FriW6VIU#Y\uZu?p?S1E%D()VKemmFTc56/d42asi5F'g`Td2r$aNnD$`(8OPoslX+_B.j$MCd^E'LT@2t4ZV(]:fP.jGG&43$dEkI5tM"LdL0C?mKsgpn=,1j,g)k?1W.Hs"Bc`+rPH#@ZNoX-[<u#B>@3*X7c%Lu\.@5O9--&(/toPmN(h,$Y%_DaG^!fjT-?hEFKn(Y;`\s#%r\"h.5od\\0@[h%EMr^,sjJa^:fh<aJ0Ea,QS/Nl$f\;u*rYjpO&4d%Vm@*+t\Nn=";(CK>foO'c<\\FNkdF4Lj?X=hl-TcA9o<Vpt>\#:BNI'Q/b%MS)p\$tKoDOI?rO],V?Um[dn/-)pZcMj22+IZcVXuU\26;$2IK0a7i_G(cE3jPJ(m:Qfil4G0M#-IdO<3O+hYqLL^V.DXN4(m_*bX9MO^)#[]pis[6e;^t2J-ujYL3l]L#ki&s4\,?RA"@0R\)P-Nt?.j(!1d.92kWH_/24U=8so)r[dO#<G&V%_+\2R^o(WAZ[$*^T8EZniKXFk.L%S&<sJ/n(r3&l!<-%.@+).ci);PLR$F(+/@p5M(]C1=[h?XD(*fj-%J"U>&7TD#"J$C@d76JGQD2`t$'`Msfu(Z\$.BWqB7`TPB(`A^&<U.reic=.&FWab/9IFb9Og4!<0T`#HR;S+1sP<WJ2So)2"hYV70G>GA:F&Rh-)4X+u=CsC<8t'GC9C=*=59MZ'0hoY3j<uLgZ*Ue$:CAKo3',!S&ob59N4PI%Gik=/UN`gh2.%q/3%Z?gu65XSV,ZGET+Qp8O,M),IGY-8+uI7>@\r,N8t1\GYM;B_e'pK(832[h#(rSA70W_Y?M3^a(7"q>$E]kR]tEp\a:ld-)G#:Nu*aX:3!=i/pMaLG0(,?XD"TF`s:g_@H?Y.`-UIa)S+eU#.8<AE*GWA<Y(EP9:Kq50;d8lT*hH(49h7]`c!`aUl+lK6$".rsqT@=WSle?Kh5*0M&-9$po)'&J"g0-qPHN"=0Qu;Yj[>!e3cW=h':V5;#2SYM[")rWHH_I>0]m@-=G)%QS&`!A#Fh^g/pU'CSj"cf>$@n(2h]R[mW'';ep]ge4tBb=6'M*$9"Mr4fX?VUt)l5u3nD24_gCC`Pe81?bdbA;a9L)@+Xf1J%3hqsdCM;0@AJhn+eTm7a_P1WZe%#1c]IYkFsc4nU^HQaH46]Dtm`Ep5X(1A%U)G>-KO-#*'sfJOjn7Em;BnBd1_:$6.6FC%e7,(#c/ROW7#lGL1tJ3PO];=ps*F!#B<G5\ZTS[;IRBJVU!CYKmf?%:XI6Fa_B*7jmm]0gF->^5fGA#q--,aW:*h+:ALf1sdrrGRP2nN)@1m]*hae:(+.8ltcLTmIk%f,UdCjh7-K&@mU!7`<.LibFbRb"WGo(?Ua"N,UF8_?eJ[lM.);>X]O)I7QG-SaEUJ]02]ZQelUU3Np-No2Bup<)YP^MC"JtjUr81ca5?[bD1JTZaHQ+M\o.UDL/5e_bF(qDL*_.>#(I;O^J<pK.+S'bd=Yg^^h&Kf"?l3ZQ4%qA"a_p;;0VVI+!6\#hI6&`[np7#dJ>m?0!@\l2%XXq^1%"lg9<A94>/o*[=^;?uOd`&J@"$M_."RgiWKS_0h``s6tT8,$3kG5duJ1N,FWt'XZCMFK;g_<29>*TP@3W&;;cs3)>u:pQe=1Y1)1<-U::P.`WU;<6CoASc*+3f6-l_f(K4'F_n7LZhD71pol0iB>VK7K;'oE=sNf-R'DWp#eL.5b,.Rj5'f8>%R&E`pJU%n5*jlVE>!8<dsjtI\Lp]YjhMP!RTB0DCbF.JfA-kCZ@I]H/EA`pBW30>Y$]Zm3'E0^##830)"3g[A]c)"NuD!@L7j(*-`@l=&0g4:DHa7$%+AKDh[.>n'TG?/rf"I0eC6!dX3PoG9NA>d7Ink"[sNjCW(Hh4-LL+Db>f"'ebmf-<a#=+/!l790h)V&)"KX+;pK1!0blI2%]VM.f\r29J5WblNgau`STofj-DArU5,D\b61fQA:n"<,2#fE?r07Q4:n2)b55Iae2o-^DGDS>Na!/:eVsg\ggl"KTGDDAjE5E$a>kR=@P`EYG7c-5oCHS)Pk[I07(1.PWUu)4P#%sjs.1X12^*Z7K#R4/EQVP`fL_TFeSNB.];m*gN<jT8$Pb)B?l&eD\9<21I)"lmt*UC9PQ+BcX'm$L4,Fr"RK"/*WXc$-4M!ID[R@tpH*_sF\WujHmGTFgZpJ/pVA!Oq)gqBc@'rr=SFe9U/9$7MSM[tO&k@<aF^d6UIR9JQ+!5$L)m+[ND#@Ma;<j0nN>5QtTF;aD@4,DFHaY3^;5)]Q?PC4Bd_SF2tr*Z`mW][5f8e0K=7MR?3gF'Ji3hMTOUNa%6..5n`9CMe@Fg>^^!PLHgl+P9-`S.BbP(V*O0QVoA7b(M`]4-&fr`aA@XJji[>ACf;oS9R7/OmfCC)qZlSmMEt.0goROnE@Vfa_;%)g[(K+Q5@$;4pXtQ[-kFoq'o$@te@N#Co6ZN/=L`n&GNNZNbnRAK2gGkHtE_$COZ)596`0>*"iO?DO/GTbFD(7Z!g^pB<"CAu:T'a6hjX/&&<[QaE%GgRGmbIKpL@NK(o$iat\^glB;RME&Oh]H6YiEW&m2^;YZ\Uf$KF^Pa/j@dE+LUr?nC.<Zmo`%;'AKdB4;W)>c'3s+_Efd&%I](*2%MfIj?X'[?-F#X(.T)B:<POtkocYgM0Cds8hj#@XuJ)q1P"[S;dbC(F_i\amSYaq>j.uK9(46b.QUo1+<8`36;G`K.+d[R8R0&tD8qD>%'%aE<?G"BTj+N_GeAU0_R&8EC/A/`k"MG9Eudm*u0`WqP'""bArS,~>endstream
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3454
|
||||
>>
|
||||
stream
|
||||
Gb!#^D/\/u')q<+0aOqad]6DrIrRXu#J9CI\T8e#^]=KFRTrEX.$@k6QA$I]rFVDUqlAc\G;U;.g?$WHZa2I6bX_pEIq8)Q]*3G'%uY3@A-MC&+DXAtqtG&PJ+;-EI%4nQ6rIS:9LZudC^jah;'K/#WiJBagQ5):LoDo5-3IIZK_V"8JYq0iOVIu\Z3lQ-l=X@bru@pREn;!LQIDN&qtQ=dNNT>IB<8-^Q'_!6Z*$>`!E4NEZli8_:bu3!nO`G/>X49eCs)uurr2988N.37nF#R!gjaqQTD=Ybj%m4eU+4*CN,r%7UN+dc\,%jEo)?ntdKFPn<?*/miIi81I*ZquoH@ho-gIT)B+OpX`V;VE$'qWDYBN84CHmN;;$tL7bFE)FO,j+*L>FTA`%`ObNk$uL^@%8iJnfb8*W)O#T?/G9#34I_V7)'a)26"6/""^sB,_(4=l@:@2S7#,\,r3=a!-BO&2?]cgV==a%g&D;h[4l^Flj0,rKZE?al5m\E9t.)?6&#Q%fa7m$h<X>nF<`D-\'qO;9'Q@N2eFtYi(KS0=pYnh>:VOL(KL/@7W/309/\mjTECna\p7s8,HP19l^\T^,l?FP^DC!\\5NW0628@)Q(<E."rDiKM[IO*<Q7ts*qU&Q==U?%*d[R^KqHlp:67AQ<k5s!r+/JV!@,@m:3,c=..IL$jMO1!']KH(^);jpll;^l`U`T;a,^Q]eY+6fmogL)6@(sio-iQmu9-MFCJ@`KI<oN`&)%FH+PHF$;lfsRT>F3i>K`Ms4qt>h'cP(CD(RF_K;p(F;l"pkTodD`[K9*\(r>Z4AnH1F49&dfkXTa_NJ0jW6_p%9_1T"^4dI!7@g$Cho6So%GN)8g5i.?)#<r6?.VnM1+X11>Qn%Rn?95A5/U8qb[VoKBSAW[LXF]aJ[ONKS,)9:<QZC,5-d;rHt5h:@N-O+`O#k!$D4&^B<5=t9ASpn2MUo^b)U#sA--i>#BYPZ4FQ2C*K-\g\b:,cA.<kCcF>PD#"!4%"KtZXk9H9\<m3#P_O>i>E@>X;,`!pE:P0WAE*V+UORK?@SgL/tM)+i-(iN=kJgJ)2N-4Wt`B!]F6WsP@cN=UTosjSqD]m?jp@e\h8>ck./HBqE',\3$.OBA\"jNer35B#8\XsPr,YjFhk[iOWk><lWqk.XQ4S__cA$5/cWU*L&'&+5Lf,$]^U3!IS=\6rc,UssBP9fe\QqjkYbr?H[lRQj?H2,I3190%](#>ejP^VCVFd&]mj^Ndge<MX<WQgQ87YPt0)uOOa@LN@rcUnKSqVp#6"iQTWr?U*'6g0Q5.&.r?_88gl,3KR0;'6dV)f<.#),?M&WGu"F0F`o;XT2hI[a.PZs82je4^LO'H%`A_8cC]+pm)T*R;[3kc4I!C;Fu>"##sim>mt-1Y70@<-nE;.?591EZJo-&?<XFG"u-NjmA4e`o&b<d_]MuN>&<;ob2seqghSDi'c6'.H1B;kd`?J>B\DVnp0B$_YiSbCaX2%pE_$78V#<il9C8%NBf>W7Jn:.<M^TIFpgBeA2FP#oH>$$FM4h/O+_@%L2P_mj4B;/\j/(l'dVW/F[U/QqoqA6@a#od1F'V\4C@/mf%tNQt\Kugr>s-$s'4,beI-Qi6co!*JSJL`nd!:^IP+WKa/XhD-0^<lfoQF[.?lDl)/BaIE1X'7bk5PAR,?bblNofRUqm!5?,O.ht>2-UU[d[ej?+9<!b1N)rJ=5$\!HZ+'JSO6jI[DmG0IKU?`n.e<)^R-E1eT6fn0+Q@fEhd9cT*eA_l]YMpqK'2V'(^7cY!TTL=QUm\APgBXY@UPWK0+1@Mn,q3lMhI]%#o@`_Z,cKJrABN%&5<S)$3p^itr:bU-$E<pDs0L[+r(1JFAeV#?`e?G@S")+>Ls3[q@b>DG4ed8_jc!(M^R3.k@bF`0DC^(fW4n3=/c=?JT[Z/>!dr;C":-0\m&HBB^MS4W0QDe_q%.O^OhcuSbo%>@Oc%&->!d2TJm>:CnhCkR!hL`?rM%kiVjI"'?8IIT#cM@NRd;75IOrmX;uHd4$22@+ZrLNJQ#oqu?`73JNFbZ"<,7h?arGKqYBNta;f@q$*9N?P9i(dV0PmRP\^Lgo+2rrc%H-Ce3%0aPGT#)$<4ZV"UIZ-Q"#aXoj*0+b_i[6NpHX2oM/DB6_Ms-;cFQm?0&O]CoaN/Q(!dLF.tJ&9:eD@h/WrbWkgTF"(bbkFL?Wd2_8D;96KrDu%`<%4\Id=.ljV(8=+.b3sU1=f)S`[bFM/1>42b2B\5cNfL)KP^>BL%"4`9$].<.FtK/'K;!:Ws@^<BbW.4l=S_uPWm8)=gbp,=!7^.RKsdDkJr#JG^&hBq4l(r6n[gXlL]P8$91ItD-q48:ek$#(jP%[k?I)\ot:fi3(!J@d.nP4DJ`/k7<@fafreZISES,&>dp*PSa'7A;/>Et>,JY$<,L;*k@Lbc8\I]r@NqFA1BZp6@-F"o4XV<+A!YMOD]OiYS>8^pKrr/AB.RLDY*Taj6g-/.fZ\%g%l,Oc!,c3&@!]qF@Q[70&8fB_Lhn%/Tj(Bj@`!tafd):KaRi7%&KE=DTsL<<+&ZYIX'>Gq)$n89$=!&ZZKj'QHtcWBWY?7ikki3?6a/,p'kPFs78c!DFuNd0C-tRXVo<%Lm<Yb?mRt=c@\<#WZVuA3VqqfV/=XRE+O=0(bWmLs9;\dsMt<2bA>"9u"@k81ZeHC#?"lZLA,<blR()5D<`8J%4QpV<@8:O,e_k:G,6lK?m*)(,lMf\F`'=/GUJ>/K%<Wp[nENL%TJO-G<]&P;-Zgh7_mr/\=gl[qm2OeOMZ%4W>4@/Jh]bY>eD5MY&mo/27Ji0:K;$_ADO>'eE)Z#C*.%pblE`"1WRDe>,(NPE4Nrt"MX8%0Ii<5eU"em,h1iXC2=OV>li&R#'o"n%n:,$5g,Yr@=3dO]!h#&@;94JXFao0^d%GgqH((6kJaYT9Tf]nn)3C?,rg"k<hi=8W79a&j%>ct)Df9ROs+bEGHI7qj?<-`WU;/hG/`m]Fn#YV]`FeT'g2RX9ok/=nMOI]A"QLDYU>K%]VR\Q21:iI:>$n&WP];'tguTK2)/m7+=<Kc#'e($n2PDk1'j45sBgl&<Z>/2jX6`^K[6.,aa1c@;b?B&m\>\D\'\1ZU/B2sX:fmfA0-9]Sh@*2Gd"iB?m`fTbK@i.IWSF[6Z\u:TFT@K*S6_4_[[J]FF#1"8pG%$lKI`Z@.=ltbS8_2J&g]$Kq[H<?R#?-P?jMc0YP``(TIGRXMo'U8@a0k6_DhR5Q8.8a7j!Ge%R]!O:!%rY9JqEWU\-"!QuEfS:/!&f!e4,1Y7=L"\ttXXf$<(l$XfQRKR!\.O$5-^rgeZ:*a\g7Kfe#o2tH1ajYD2eo,DpsK3@t\rMmVajg%`O-`2W\_1:\:P/.OInLbe1Hpq%@22Q-X:<?]q)3N^kb^]ka2(<M7?g3F"P5~>endstream
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1947
|
||||
>>
|
||||
stream
|
||||
Gatm<>Ar7W%"?O++:8Ou\ja'hH\XbcCV+bfh7=oM?31h@UEj/_bE\T(E,bgRTkl)tm:8q4%[p%-;\]%ir(+d.'E>0)1J.ZX7pqih?r7b8_/b>6UN8C9oko+W/a9d`$XD-]hm&#PLCUKQ]t0GU.V-\ZJkn"eA3I75Qa7`JZrWYU+`UqTiZ8SSqVN_)HA=]"hRk9-"2eNPLeJFoKk*TW]F^533AXd/)_@IL&PjUJMQ:!>?T]fs^"4t7"f$Lmms_X*#n5;p"p0_i^GE/aJiE++n($<!s&C<kr1EL=gOm<km%"J`*!!!>A84:jk`,:D4C5&Ch5X"$2<S^ulafP6D+2q%k97[OI9RdRPPDlRlc?1EYY@H"J_R(7Uf@CH;h(F+aV*ek0&mE>j+eVVJC4_`KN=02e26JQon#Adqa.a1Cm2<Hl>*T7?>eO?;qH@G\p=K:r#i<+&`P6%M?RDSGZMa,@gV"VHkK(hVA,aA^Eu`!>E9*`M.:JDbR<7go+kl&V%KK0_Ma`39u''sLFg$qfgM_^_Ql#UJ0N#1Kc7^ThEESH8[rA^/EQ&)2R[uT/l+,D+P%Jk\\(2ki'W[J)1Ml-9ZHG_&F`[%NbFZ^BkC^hF=VZA!:0IC>2ZhJr$%_(VF0+HcSY$i)FC09PBLOmeP<l;a5ON!1+1e]Qpj6b5d<f_"hRMhUp3g;2T'LuTIgkE&@!c""WSPRDj=1k)udm6[G3oSBGshIi'?kf"m5QXnpR;C*r"tOC,hJ2;un3+)-e52KkjEA]WH:#qXl4p4rg.9&%`!-N?@ou9+1&7(Y^re#Fh6lltq,6b@V`r<iNUfbPF23)kG;r:m$_.65adRi//iVS6_E'<]P_?/".IeOIb:DN+nbAs,>PNYtXG!Ae3?n$+u?`&2<mn8<>JYI)'@8Ea)Z,"sNNfDtn_N=eo=_J"7%\ks;9Z3=Z8+6h;M^D<\rJLuo+UKk](pAeHWTD?r9DA1H7`7=VRFMEBVTj;?`e7;l!\#[t1"8o_7-<k<ai$3',8TH,l'E3uKZCbDpq5pM@s^:7LH&55KfJ9BT.JTdjL2TE:p`sN2M("gg?ER5):&%CA7n45gqj[^Z5:5;ALf'Wi@LpgEU:&"gY([3u@Ah]4,E-#((0fQ6]B/`AuP/W:??^2aafIB)qLKb@PlNXtVg=[*q8>Ks)[(S$=gh9>124nW%3*1%Qo(s[EZds`;JAJu:nj_^li[$>e()_S$WX1D&ZW5",rpC*O^'oa6]MhN(:5'N:To;3X1fdNo%WE`)X@]oNB>m2XA,h#q,?$4WNk3fF1MkkHF>g]k3WJqs].C>fh6YHQn3_slAWPKN1&CVacOgAIK"0Fp:3`@d)PUA^a4nF.F!9/R.XrH!3\GsO*4&Mg15WdZPDed2M!`X5FpRd=c""%pdZqU@)]cAXO(F6bZ9Z4c%/F6Dk9%]RUcm28>]:[`Yq7[4C:cA847l32!91UIF=_iFc#B*:UV.hE(A2'c;[Eq&dsY2ps(W.dBo&G(PmAhh3RIc.(STWQ74Z(5fpc#&B$no?gBP^!b[5k.VU`Mo<Y1QGN"[AlL^ga@;Ll67hCkUu\%,V=eRgaVH].9mk'#7MhS@'ro=Ql/R%_B.4o)2nlNGBNB=_m8SL""5964WF,NFKT?/qMf"-p,2Ml7b5^+,mMr9_qJ#1j1JdS^KM_'EX!mM^N5':Ji6+hBCIAC]/?1-T%Dpd8BBg81?:F9g=L!lYt.GU0#;T#L1]E-OJn:Yn(gk]:9pCkDiC]4ra@&"d"5W6XPooYf=P(i]%`"*CHPYa3&FZisI$`5NY`53)NANs*sV>RT9Ch`pdqC[[UtTDkuk]LlR64trK#bpU!Fhf90_okKRJ)@u=Pq#L5`nGobm#F'sC7'sh]7BQ(6-5q'oE65o6G:^r3T`+i$;Tf8pMX+/W`4YG7!>6Z#M/-6[fpMV"[Mo/PaO'f#PjeU8~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 48
|
||||
0 54
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -288,44 +339,50 @@ xref
|
||||
0000002285 00000 n
|
||||
0000002433 00000 n
|
||||
0000002549 00000 n
|
||||
0000002862 00000 n
|
||||
0000002968 00000 n
|
||||
0000003052 00000 n
|
||||
0000003130 00000 n
|
||||
0000002655 00000 n
|
||||
0000002739 00000 n
|
||||
0000002817 00000 n
|
||||
0000003023 00000 n
|
||||
0000003336 00000 n
|
||||
0000003542 00000 n
|
||||
0000003748 00000 n
|
||||
0000003835 00000 n
|
||||
0000004153 00000 n
|
||||
0000004228 00000 n
|
||||
0000004321 00000 n
|
||||
0000004459 00000 n
|
||||
0000004568 00000 n
|
||||
0000004684 00000 n
|
||||
0000004855 00000 n
|
||||
0000004967 00000 n
|
||||
0000005086 00000 n
|
||||
0000005201 00000 n
|
||||
0000005335 00000 n
|
||||
0000005463 00000 n
|
||||
0000005567 00000 n
|
||||
0000005698 00000 n
|
||||
0000005813 00000 n
|
||||
0000005922 00000 n
|
||||
0000006004 00000 n
|
||||
0000006969 00000 n
|
||||
0000010286 00000 n
|
||||
0000013787 00000 n
|
||||
0000003954 00000 n
|
||||
0000004160 00000 n
|
||||
0000004366 00000 n
|
||||
0000004453 00000 n
|
||||
0000004771 00000 n
|
||||
0000004846 00000 n
|
||||
0000004939 00000 n
|
||||
0000005077 00000 n
|
||||
0000005186 00000 n
|
||||
0000005302 00000 n
|
||||
0000005473 00000 n
|
||||
0000005585 00000 n
|
||||
0000005704 00000 n
|
||||
0000005819 00000 n
|
||||
0000005953 00000 n
|
||||
0000006081 00000 n
|
||||
0000006185 00000 n
|
||||
0000006316 00000 n
|
||||
0000006431 00000 n
|
||||
0000006540 00000 n
|
||||
0000006643 00000 n
|
||||
0000007591 00000 n
|
||||
0000008486 00000 n
|
||||
0000008716 00000 n
|
||||
0000008944 00000 n
|
||||
0000012295 00000 n
|
||||
0000015841 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<5381a07cd3154e970925d8c0b9b894f6><5381a07cd3154e970925d8c0b9b894f6>]
|
||||
[<73a81a3ce178ce7964b1217079da8449><73a81a3ce178ce7964b1217079da8449>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 27 0 R
|
||||
/Root 26 0 R
|
||||
/Size 48
|
||||
/Info 30 0 R
|
||||
/Root 29 0 R
|
||||
/Size 54
|
||||
>>
|
||||
startxref
|
||||
15754
|
||||
17880
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Crash console — open ingest API (design)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-23 |
|
||||
| Last modification date | 2026-05-23 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Triage **real device crashes** vs **synthetic / bulk test traffic** when exposing upload or query APIs beyond the Android app. Builds on RBAC ([`examples/crash_reporter/backend/README.md`](../examples/crash_reporter/backend/README.md)).
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ Triage **real device crashes** vs **synthetic / bulk test traffic** when exposin
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 13 0 R /F4 15 0 R /F5 16 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 13 0 R /F4 14 0 R /F5 15 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,47 +17,47 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 716.2874 79.46904 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 762.0394 79.46904 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 705.2874 139.949 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 751.0394 139.949 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 694.2874 180.413 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 740.0394 180.413 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 683.2874 140.389 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 729.0394 140.389 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 672.2874 181.269 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 718.0394 181.269 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 661.2874 74.58104 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 707.0394 74.58104 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 650.2874 73.25304 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 696.0394 73.25304 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 639.2874 149.717 650.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 685.0394 149.717 696.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 628.2874 121.269 639.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 674.0394 121.269 685.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
@@ -67,27 +67,17 @@ endobj
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R ] /Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -95,9 +85,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R ] /Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -107,93 +107,144 @@ endobj
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Outlines 21 0 R /PageMode /UseNone /Pages 31 0 R /Type /Catalog
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190936+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190936+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Crash console \204 open ingest API \(design\)) /Trapped /False
|
||||
/Contents 39 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Count 9 /First 22 0 R /Last 30 0 R /Type /Outlines
|
||||
/Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 23 0 R /Parent 21 0 R /Title (Problems)
|
||||
/Outlines 24 0 R /PageMode /UseNone /Pages 34 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 24 0 R /Parent 21 0 R /Prev 22 0 R /Title (Payload extension \(ingest\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121123+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121123+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Crash console \204 open ingest API \(design\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 25 0 R /Parent 21 0 R /Prev 23 0 R /Title (Upload API \(POST \203/api/upload.php\))
|
||||
/Count 9 /First 25 0 R /Last 33 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 26 0 R /Parent 21 0 R /Prev 24 0 R /Title (Console / query API \(read\))
|
||||
/Dest [ 16 0 R /Fit ] /Next 26 0 R /Parent 24 0 R /Title (Problems)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 27 0 R /Parent 21 0 R /Prev 25 0 R /Title (Classifying synthetic traffic \(heuristics\))
|
||||
/Dest [ 16 0 R /Fit ] /Next 27 0 R /Parent 24 0 R /Prev 25 0 R /Title (Payload extension \(ingest\))
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 28 0 R /Parent 21 0 R /Prev 26 0 R /Title (Security)
|
||||
/Dest [ 16 0 R /Fit ] /Next 28 0 R /Parent 24 0 R /Prev 26 0 R /Title (Upload API \(POST \203/api/upload.php\))
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 29 0 R /Parent 21 0 R /Prev 27 0 R /Title (Android)
|
||||
/Dest [ 16 0 R /Fit ] /Next 29 0 R /Parent 24 0 R /Prev 27 0 R /Title (Console / query API \(read\))
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 30 0 R /Parent 21 0 R /Prev 28 0 R /Title (Triage tags \(implemented v1\))
|
||||
/Dest [ 16 0 R /Fit ] /Next 30 0 R /Parent 24 0 R /Prev 28 0 R /Title (Classifying synthetic traffic \(heuristics\))
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Parent 21 0 R /Prev 29 0 R /Title (Implementation order)
|
||||
/Dest [ 16 0 R /Fit ] /Next 31 0 R /Parent 24 0 R /Prev 29 0 R /Title (Security)
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 14 0 R 17 0 R 18 0 R ] /Type /Pages
|
||||
/Dest [ 16 0 R /Fit ] /Next 32 0 R /Parent 24 0 R /Prev 30 0 R /Title (Android)
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 680
|
||||
/Dest [ 16 0 R /Fit ] /Next 33 0 R /Parent 24 0 R /Prev 31 0 R /Title (Triage tags \(implemented v1\))
|
||||
>>
|
||||
stream
|
||||
Gatn$?#Q2d'Sc)J/'_]eBoYCX_sY+=OXa@HVU2qGP6Xij%@GjE]DVOHaO_3('<@3@/GU-tO'`tN1SEB&pWY1<cRDPb$lFbA#qR2"V"\htNh/aW5;NR:'SeLF.4(Z3$1L.f',kp($6UOLW/Q;KO=(&2],KXslmO)%X\aTO$X3q_>6.2BM'NfQ:NIB1=QKn29^U&-_h)q9VU78coh%:Vf<[P@N-"C/<P>oRK(LFd+5l2:M]hUMCmVXV7`#g_86HQ[3:G2("UTD6XPEr(6ed0=(f.95i*gg+ofI2V.R3G#"!Eh]a0GfW4@-43K`97PHF0!1X<"5(#F]=lXe/qOhXpleKE$FLEUY@Dr*c/mbSl_LqM8$(R&J`ANQOQe_@=-*e<hl#gc;4SgE9A1LB;a;3f[L_c5u*s-8Q)YW[T<b/ju/&l,=@O-R16!h<_>q"J.R+DYJ*NX1T7)Uk=6"Q#l&-M^JUE>Pgba1';IFEf'a(>j./!*KI[:?stf)fN`'fm'f,GK6SfllT2MPlqoni+c"K>D5gPS]NVl>L/\W=<3-WlLDSObEukdEEd&'r^:g_ik1]M0^lm#Qp1>V1YY;D%KQkplEE;DgAn*Xql-FCbH_-bQ3pq,n5<3sGp'DfkR!kC>9;u:+Fl3Yh_/5X\=H>2?D6;B^lDu\jOgD1,kVqrb_T2~>endstream
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3332
|
||||
/Dest [ 16 0 R /Fit ] /Parent 24 0 R /Prev 32 0 R /Title (Implementation order)
|
||||
>>
|
||||
stream
|
||||
GauHND/\/g')p`p0qSs$hHH4UaY+*\6]u&jh<dkDnRD6FJUj&">E(26Um/fA\Gq"F;H=K7Z737B\4n02)NlnoR:dSh!?47`qAF)L/nZm5`<"#5fb,:NnmM.lY%OrP]lK"%So9T8^?ra]4L+83eAM$b)..JX=j@Rj)fTW:Q`j&5'.M7.+23?`N(7DIi='=*Z.[[P4\eQW+ao.J$3;M`9h!I)&C?%7;1D/RPAEt"."D=Lo(X7].Pf()=Y?JBrqbZD-:"2$-DG#SGoAIO!orc%VgJjg2t$o$ka!M<TM2jd6I);:8=E_$R7D6FJ0j^Ho&<7JT)Af*H*8%e'r&^@:Lo[/<".7`mPmoYcR9kd88q@gE:DucipFd%CD5:]2F"Nk6;cWii29H8^?+)*=R*PqK51q:[aX)A1q!7TmiCUGZGs=93RD2J9h(mF6TF9HNo/^0SX(;]T&WAfEF%rjY'R63c4+EEQu7S.WmH+kEfciFl=fDBY4U)cZP@X9gRC:b0mo)>+l,]i6'o*-%i_g.S'SQ"r$0mHLc/+(3;dssq%G;g[O@]qYD[K#d7\hQ9n5G$R%UN\K&.Rqb4E!l#`'^fRCIt<<>9c->%d/WL]*J,Cl=Luk_bQT@YoVgdL\f9;!gO=Cop[AN+2En!KU*dApFR]p12f!Ah.+P^t=''Ku(\tdp^3dNUo:E7F]7o[1OUQpPQ:>PoH42(eVXsjFR_0a]<9M-+6XAEa5.pf?:1JP*E9XRZJefosg,=N#G!PLD9.iBs'>P#o-ncB2"VK]:s;E##8O,J3IO$&SMoHpZ,dO2Eru7fGboP%_LOU/jbMXWUp=8cA\UuQp/k6F\.L!=N&R3:WBk6_F(^0-:QfXJ!lqBDOoWtU*o%urQ=IXHf>P6+]uYHa<"-m)Z/sPF6%]^I*HkT=]<Ldg_'05a`%U1T2;?]'O?IBVCn/Ik<]&jnIkOY-5XE[e4&In=/Q&=h+O43Z?&kB>5O#(WD`[J;TGp9F8V/3O6u0<JnNi&[`TWE;p4^$nHj5#;Nd\WejNTsQi>O<,'RKMU/r@4DZWS9S-SFS.TL%:J5[IRA:/kq%EdBrhA80%S%>!\o:FMeVi3DM45`"(l&t*^DX=!h"tWkKP<4ps[<M?@"\3oIo#aPZ^+))T/D;Zf`">_L]?%d+NQ*s"(u6LqlL]g-0;Vpj5e*^rM$l'"Iq=N?RW;2''[IF;/Xa[Ec""?m^1*V]Qlm@MJj>eMaC`U.W%9s`?ojr!IH0T2B(-c=s8'm,\7<j/T`4i3YHKYC4RV5,juM5V;[g.8_6/6*^\HN3mT8Z#/-_;+V#d33%JWn:^jis#N;/YBI*rIa5Lak>,F&f$84.a"[4RlkLSFU*[Y4$D>mirA3s,.(Y2pE>l7qHMBW;b(^bueY%KWK#c_3j"Zr;l"[:iQ@/F]gX6%W_.BYZ+5e3E7>/">M.RfT>Ua%iV4cH,-+A!k.GXhMJb7k)bO+aRp'\N*L"@WB+Rp=?B*OJV!S>pYb91a_0f8=sQT5HA9p`p90q21c*M/JhJ-Xh_et?Nj*rC1G3QYbDFmjA.(\;q%!nSt"BL[u]2$BF/^skn:mP1%5gnY:P1G>!pj]*td_#\!JjDD^$?(JKiI&>E]pcPKF:q!Ur<2aH_TjYMN@Bi7ta=!P8+m_dP'$VkorkYau/#pTPWPS)Q.pj[u@UTh89MPH\s$.u%&0P4c#BJ;*3(Y@7+m-uF&-U71okaE-.lkR>&>AQVjTH\-&^LgWq96q2\EQE-A(OC7&A[&XCG6cU`S`FOBNJ[Ju-asq8+RcelqH%L*frKm5PL[KGS+fZ84Wl:)AD:%5%kA^%\#"T<P'NLF<"Le[5R9ZnG#C2MA,m\UO2`GN(eYkd4n]#I9'-*&iN`?T$C0\86_dVN8X2lde]MQb4[3[3ScFUMIQ^^[i%2`Nu):B"gjLjOU"=60lJOn>:HPp97^K2b:VNIC+M-WU.OUp7`NEtsfWka=(8j\J8[C,qg^QO7Ws!!I!^XI&ujV*HD%8!%0Z)Y!km=*&C'2*(\IWc2VKOaYmoWA`WcIt[G^2pmG%9q>,[AV"toICA+c+4N_Ot8rPW/0+ohXRHP9kZSfUioRM)9+"SnlO7hJpTipc#]b[VMD4hgBZ%e1>5&m:e!b.p.p`!ZScV6[;.MXVbD,81.5'+)l8Q&V_t/WL7V\=a:Tn6j<(3lRb=,S<(o)to0R=N>B<4#p[U8Wf9HiV/e$1.GB`7S,C=Nim$jNC9[kL%F/m38gj)c+rd'PZ-,M)2lb?a+ei/iqiS[Un#(BEn^=?3iAGXC2+ek$QlLE.>dc#o9-+1g8E-9tCVKXf%(1a]O+_/eNm4Ctnj)6E0;@V7TL]4]<P.Q8+8bV;qnRZkk=>&^O>aT;C7NnQFVLYC_q*DqkIDLR97,`V)9\/#A1D7YDAEaaS(4"UVeg.)OOkuVu^i3K9(\#P&nL48l1EI8cXc1C5UI&40W\l9(:d,RlB]V:0_m)(i*]Qh5\mro63ckQPJ%gD<P`HBWUJr79lkld^Z$8PoQ>Z-#%UIqkBI:@3HU)IFn,-LE>Ero,Nh$E:O]<FYPR#grM%=gq[jgDe<f%,lKB6,oDL$>1bT"6A9lhrc3Y3Xj`LYYXq)V^bMu!7e*"o5m:m$Kj#_EN..<fSelcPa.kub@[;$8Jtoal2ZA(^(lL1n%[,*pOp;i#sW+kl*q_^'XDR:'>;GB'DR3ZPn,2P=2=NO0bXmo?`tEXidTBU,,U[cUPj=WC%.3Z(Ma,gVFpP$N#&]nUtX;Ck<>&i[.=%BE&\>t.VQDSmT\BGt-J&1\qEgTm>JPM$Hohm8O-J^3Sem&i@n<K(L6FgmRbdAV5`*D+hSnlef%56fP4-c-QpRE><l;;:r-KreJsjRR]up`Rl3rE^9gl6QHT^hk$6WP?c!#=?4o&H,:/,KNQ^D`AE.U77@Vdp&7R<V/MMVJ'<`0"m4?5/f"-\Ha:[)*U!57'%2`nBb^$3Fet]hNR*tJX+iiQKUKA2h\nM;.(hqBaX&+Q.f^uV,EG<i*N9/R?Ae__*s6A:)+pd1@8LC?o[S#`F4V>(p8)ZpAKY^ZR-M'EG=>$Lni]rgH7G2I,<\m:d"YkGrncm[4#=ShXJk/X@_NP\$C@Gjk4Cj=9o:WYK]=l\@6F2p?2W:(>&L=mRVLFP5!upBOP0/K4=s=`Y3(%h9[/kP.qjK?cMFE<Oe^,SA5?paf$l_L*Xf]D#[YT$$g`+&LE;u2S-Q\<p+UY1&4%=1,19&?4[DJI(NUnpLA,nF?`do,P#"-6WNdC-/U</:jKJi$$\jNP'[`2?e!$\Qre[;op%/satK2V]3>5h$F*Nt<f#49)SGng2jqA]~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1580
|
||||
/Count 6 /Kids [ 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 852
|
||||
>>
|
||||
stream
|
||||
GatU3D,]IQ&H88.Z,;>Tgg(UuIYgFIl/[jEV597]l*N7CP;0>*(`^_3f`t3Kr:[:0a0A?FCi0:WBr0Wu=0$aM.Ob'hPJ=F=^rHb'5HCGTR*7kHM%5_B(f"7A>ACUp["tHU#5"jOs7CHhQ:U*b>dSl`e?_D!qLkluKT<&uaC,"M7J`n0ZZN-pB:DS)gSU-?K>'XTej$)L--c,B\h0D9,YGQl$Y1oI,CL:q%Er,s\`+)V57QDQ63V\8TJ-&KkO'")NaZr=PBTpZ(]8)+;N2;f0l&7>Mi'a2:Z0p?ZU_V3L>EV_aR7_4WWTetmLnSF\c6.B6-*\4Lcq\Z[4,jGqs6#r>'`ht5C$Kf#J)V%^4\KW+^2GY>Tr+_jtr`3;uAh?3[)D^3:Y5+o4n%ub=:/$gIF'(2RC^1X;#Sl_!^!sMo3VO.5)hd4p=MQ_Auk7hcq4Xqh!]bGN-DZB6I6%kY723X`X`<K8i0#Z;@+m`-I`:4A(9qOK2cQ`)O3_%KJB+IG.BlE;[Ke`NOk2EMT+>tI;P$t\Bj@ok4kB:X!(Uf*<qCnC7r&-+m",4-CB9G&!rQ1/Yl#7>3(a@=p=!DBbkWC!p8)db\j9$5;"-SIMtD=1;FS&J:b4r>"ZoKkj-uP^"Y68H78Dbq%Rq6rP@I=hVPY.<&B1B4T`NOR!Wpe+BOBYYXaZAh9_AkmVJddNP$VuUAKT8lM^4=8MVa"Fks!tRC>9e4](<WLE7`uj9rc^r=SF3R"0Cf'eb-NS6YT_6cA/@I%btr40;_h^Cl^5?YRG9NC`Q^pQ44qu*e-SPAV*>Ph?.iS#g#`XMZjcVbPckUX#9<bEpqH!2FT!Io^6AD3P@K?@P*3Y(FNkr\;rjjG;[VOTlCT"]"Zkc:^r0#N4lZ^W6Y?DK7W_dmQ<k23(MBqpW.K;:9Hc#8]+%GIhP0Jq(Gs9.;6UNV*4(VB?qF=@M/,FaRt>!Ylmg%$g@443]u-(^31YDl1(LUdnP>HrZV6'ZXll`8>[p*YZ#@BC\.pm]<t:56nihu#YF`u4h*NTLX#5=Ma"rL(jI/ZhtCrK^PdECF;Hr95K'fE<U9O]HD:]1IZ\s,>bIG)>2PFL<[)<r6e8V4es,T8=FEEORWpFl^)_DQXGLjg,?n!X!%G1Uq,AE)<R.q?'n9U&@<FW1?3^+6Y6'cAmOY`aEge<t$bLWVm"+t-=3NuiLdY<^:2]>2o9>'mc4%l.)chG)iq-8JR_koC\;9lG6<Z*.Z=Qo7%ir*j.GYj-)0lW$2Bch3#uM#A]]@%;3f93YgSFbj$RWQ7#]3<*.M>Z5\D@c'-#gk:Z#h()1X?Xt6"#J"@>jFO(*[Q*>T]l84`3?;C:(?F35A,-5I\\/#!bO/KW8H=B`s=$TTW,#MQ+C87.pu1<O=(?b49P8E:U2o/G`W-nK.\>JD&?[l?K.@DndMX!Gk0_JNXB'IXEH9kmH"V3hPIZkmRX&o,E#['f-R41S./YW1*GR>VueWLHH(-Rk==TJ7[PAnqPH3!SQe.b9#u"U%CE]$cBpT"G]e5_9FX^nSiS5Sd`YMjWsY*ZeUMC#A:d^7_#K3eLGr[r==00M)#~>endstream
|
||||
Gat=*gMY_1&:N^lk)i&@Za3a1Oet_#$FREHI>V!,Y^ds7;qn+jhfipHHjLW/X^L7]4_N'ac<_'\D-6_^6\$g2gtX+s")eJoL]D>tGM_QP#X;o.8X(I!!3J,Pg_CT;c%J-:9+HWeMJ<BPQHU'La_G?Hn_clh(KqU`;!'AIb8h_%6tsfGh-7\i2Y#6Rbi:+22[3S*dh$Fl"@9CMBa3%An*i)=Qo%o603;65]n1G;P9u.:r+Oh>h$T"?FA%Lo6>6+1h42R"Em-nT\Y8i7%*&$5*5\n7]:XSS/eTd/4WOU"-HskkJGKE1fR2D[.)lbjcGW14N(_@\&r'*5*(WU//?^X<hT@j;*h,M(636Jf7+(VMmNogJ4Kl>L=.JI8(F>fF\(EGES>%LckP\ipq0jc,1"<?W<pkd<Y2"G&"_MheP#*>7'\+MR^\uF&[$^1C]YHTqThZ,R=Eca\Aa;>?&^(@-;&2YU?2B\U^73sCSHj&)4>jX@bZg/5EHGO^"l.`R<=_jBD.<Fe8qhtk[?pTChVeq]ASOQnK^fQ.C2b)'^-0]XGS)KZq2bT2Hg2>r(nUMIiYU-^HL+Y2gZQ6M4ue^<o4F..HU$t;3-T$O_(P)q&.["4F4P+qLD'n)Cm0+/Qo+1A4?*LOj7t;a;$P_N[YO:er0`tV,?sQ),MYNMmr_#<VM2DGOB2DRbs#.chr2ikX#hd1gq[u>U3-QT%+EqKg6<7=q4"'q@MN&F0W:ISKlS+T\&.>56rsZE5c>#5)@01`GQYct\sfos":DhLXW2Q[-t@Zfoh&/]LdD?i>t_Oie-aoXle6H;qRAJ"`?;]<kh(NS8Knb;i[HlW\,k,.";q(B)BO1s~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 620
|
||||
>>
|
||||
stream
|
||||
Gatn$6#YL#'S,ZJ(%7OX5QDb-GO)\<W\giGlJ3XYbU*X3!\TRXq=f5Z]P;4,c)N<?,Or"Qmf<qTT\*BHXS2]:.Tfq3?lZ1(YajcNI>4e;p+U!obZk]^#b$BDMU8HKnN@9o>4>3r5dF9c<<,mJQT9]&RGg*X1PSc*p;l.oKCb*WYOmmH!PaBC]4>0((Jt'`l<VI0MX;BjdPp[%':qM;B?5Dq13gb+a$B6:18mD)]PbO__M"]W%T[Z:2C><O`<_U-QqHFDgO!0XDpVm;HWS%@;mF]O>o`\PBt*IX-iTDFERsBLGL>H-=MVhjK]=0kN,D+A0KGQB:<.&"8)+u<8!gY2fc!c8lS\C:q:6O;NAq\DM,?!mfU]"(S<!W)atfRrHKgmVD)6cHA5b4`@.hN)d[SlhaM,Vc`>cZNnArVN\Q!r+Q((!WS[s.?TeTu/J<V<XP][&j-O<"q@0.>Sb"Be6AcKo7Lm)<QWct8p5^,!]+k5X;gb,eEI)j)IqZ\R>.u:(j]m&&`7sOU`*it"UVe^Oak/i8^Br_oc6ehI!0U>COH3`0S>9>&7Pq#Wk@nOV]rhTD'H6n]kDre))7&C5?E!NlqK!D%GB$R[@jZa`Pr<?%@M=U~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3382
|
||||
>>
|
||||
stream
|
||||
Gatm>D,]IS')p1[kYG8gDr^WKa\Yo;^p#oebmQ=<lg=jTP[Z/"#KQC+2NYP^s*cQQ0ugI3-#>;'E7EH3GH:W*8$]qK+%uPB<ra%8)#\&tA]&U"Q><uar<-3NPFj4'-0]`15P@beJr+EuVAnH?-f6rg!j<C7H%J1`ojF'fdhPu^iQ;)\LgrH<WIFUD##cS,"bfmBrkN-XC`[Of&r>a]*)[&&&PFT'M5l1/4Gri*@\)XSR`?S1?reN`OAh9/cH1GTL[E]cQ8AdAS1tVR$Ri<6OU)eZT*==l35<!>0V`EL7Y#p(GoCZ<7mOB(J;YUH+os6Kmhb/RWoN=s0Xr'$A"Z0<)"a5tZ@n*t>/<A")<3a=UDX@[BGulE?_)]AHtBCRf%f[gND6<aODfP.[ga]=Xa[&?'>nlRGDC]e"K"39+lF2Ihqp;EAXJM>oa?"S_j^@a*<MhkppRk'^c";:nG<CEM;_7s*CI?N1%rU^^ArT[7\K.^QLnLRT(6/k4ZAr+L9k#L=$jf0VJ/$_+IaF@UZ"tTjXs]LGf"(I%.:2>J5=T\V+V1=ka%ReYTdkmq0G-A5LMEFGSMTZ_]Q?p^VDC/Z[.7KmI"f:J*h<"';1s^V:aBD`>oenb54iX'p-?Xf5OH64D?59W3oBe0oq&,iV=B>OjaI]H-B.e.A[W4S=nSe'_tY+@NHo,Y66u,q2uIQKIFr=+CPX_6-.\G9SLd1K1WsOSb(YLaje7I9-_A7mfd>m-A)[t0UtRI-j19HOgPNRF)7O4j1%-i<\CEfc8*ZdBhHg8[UWCa0QMk=&Q*dDV7DnFVc8IHXOC=P)g!`5_s+3:d-$pr!j)NJ"1]82hjnKjm+?ZT_sI,Wo*AiJ-9VC#1M>ApToV#r?.(2F=)n.U+CjaOi=T7CQ(dZ>^YGBol^aV3/d%M#2B/tYbd$P[%N*L02hNh%(l]lF-0LcWCS$O/RM`JEq_5rVa!o5^_(OhF-/qV06k%V:$gl:*-'[6;07LN+6m[&h9LG,ZQ.b\=CT%/)m8k<%Pj3a^3ptOjjnXWKR$/aUSusm'gTP*^%*Q&1,Pq@48W%E=lFQf*oWN]Yfjg!Rh<'OT-85QQGhBd,>#e`.=Npk7cF6m)Tr^u7gDs&39jLKjAP\XhX,\t^I_fk8d5`Wggt9A.$f%tFVY;?o>OQCMKmP+"GnhUh?PSe*is8;28PIV251]4-XYGhk`o0)<QK\k;Ak'=aU@:G"&t<@Qs1r;/1h@c.-si]Q>12[830-50j%IBP9aJTZ+:.[$!duu1J]aLh'rD(:<WKY@NZ%bGs*pOU@lnWm$eh61Im:c>o<aAGX-[d`:C5gV#.+-=q<Dbe7BRf]h$k]f7KYhk)Xs`RJH%M:)"AOSpf'.RSl=?7N`86m,<;W.C0NUJ%or51^4bkWA&Fe'r<V2Bag2Una.0i9WDQau>K(8;"It(XKH;;a:+Ke\U/bJV_8clf$(?dc!NQ9#Ir>]Q2T(H?#,Lh&TN9RYaQ>BnR)9N<I^nT3.5+%3HL"P@5#Aq'8[1msem<5:UPoTTNE"KUR"TeuIAYEJBcFB6hA0/B#U6LL>[2'O$4Gbk&1lY;cOn@<Ju06E5F!ot9ipb-Y%%j[hd_SX---OnEt#h6^iKq!ZM^\;%9[n&7\EO@>f\V4MM4k1MEjP3F_5<uN>Wc?_#GrOY"T7.S:`9rmqgGlTrX5H3,E-KXL;'\fg#eB]3#R99lV8WF/`'@:aN-7C",'>-,Z`8c%fA7a<L8bGHgj<S96jn;,'Caj>h*qFG@*<AQVjd%0Tg2&E/eTLl;=4/6=L-+N;4dGuG0ZL/(jLMTPR"!c,h%P#^4*2)"DLMA54RgFmD4O&GO47oV!L<(l4kZr)UBT>Adm)^&Q[1K7A?&DSJnB6(O$*p!0]7M%O5hV9Xg<hgS,`q@?":9Zt2=@PA;W,^c9%>TZ'VBTg>o3<_3es;hjFtS]b1V(V\gjh-1S.Rn,Pap9OJ=qRN1(^G=Gq26uj7gR3cnpnadBSW,L4!\/B^B24;\^oi;A*E.C9?UT_b3Q^%aVJ+peSJ=^O-/=Zm&XS/lqXf]&(`"BOXPohOU6h%,i$d0tf)*MmLu3UD"X9GYX;<0=TI+Sc59j?8B9KP;J=42C``lQZp+26PCad<DtuX[2`\?_#>.uJ&2Fb%a?lEA(/>,jmAfZ/fSXN.4Ca[mnBhCUWR\8gI1F4%/Cd)gm/Ar<96TKj2u(YW#3SK)\^ml`VA:rb+tN/fgE`#o/ElLm:L/-o_V\gVPNkqTgPt4KCnHbG&5&TrF>]<.<rj#S+=q(>-uAA=*<it=4jE=3#,j"a"+t%^/6$>>cQAjYNjCDAQ8eWH#3-je#-LEpq[rumY0JpXiRhiFb^W(+(]&daCG`H7\=&A>*^AQh_uaU)K,&Rnm`E4pE;'8r;Du\b<2;&\WDT!;,LdY$5(N;"]V>A?UV!&(HhP4*;r[NA;C%l:>uD//:GOV,#9/rP%:pUdd&\1(eu%J!^:<Q*jo63j3d(fQVmS%W"@^TPT#fcW#r#goPtt4m@ZN,rZb:\EX^"Vk#_;/P!?/-<TPHYb;`E*()t7CB.TG_Nhr3c[%YYJ(!WP!Z3B;YD;jdngo='&F7_VIS1NC`VER+,SG9>/<hE:`@[2Th2OL\5j4;9Fe\';1QaG]!Y=#"9?#8E%c$-C7YaBp=bTW+k!@fSX,(a3^EXDhj\$#@kRff^W/W-2+]'a%q2[ipFfb!PZ8&Xtd@gWg01.;#0XdGo&@NE[.j'SA>45fm6Z2rbglD4*WIW(s'Q#iTj6AtaMng12Cac]20d_]*!Va[b2QAfMMXbOQM.$c)$8\/'9Nn%[1cJrP/[pb@i9,bH*+]^uj[cI[j3jZ<O\*PAcT_#<=]3A$OR:$ohh!JXW2lb\uN[3pdGr;NPO+B,;'4HWo9OiM%`9pje^6!J1_a9s`CCCi7hs(8C]d,jr\8A!.lL-OaJIliK`%[P0#]ebe)jVR&FE8.?H:p&gMZ,!Q'HP?7<A%cfSmk^<gnTt^N*_qs,*k#SGbh[`/2(\8pS`@d@eJ9T3I25(%8gH7W3DMt\-;Me9'rm;;Q7`/p`NM"9ZaQ`i$(NYVi$ScRC:ob)"tRJF]b@m"toN2mJ@(CAk=[)imN8k0h8^:[X#4gpq""_Tm6?VnqN_uCJhZ0^#>Tq=d-j&De&MkbHo0XYm=t,DOo)O\$9,q0c*rl.u+sc,WcU]4*iEa0Wt#pd^m<T.K^`9L#l[#5Kjf7KIWM>6r%-Dojg1LGXIX(AShBH_?kL3AJV2$51[<X@Q!>VLG=')"//Ym]HRZ*q!CB/O2`K,_ht"V$=Zrae6d<!2(eX+ii'I#WSZ>C,"CKo<o?@Bo7];(:4t9%Q=q\dErs5tUOb/&Ga:3fIQ-aML\e4(![n!QGsS`$~>endstream
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1689
|
||||
>>
|
||||
stream
|
||||
GatU3D0+\p&H9tYfZAo7g`=7ph]SI`LV%M>g,-n`3nKds_`1bK'4\S%\KoX<IX>/)0t+uXbmaeG>&!_6m<YB>"U.+Iq40,=5)u?6R0$qRScRAt#3/>nNa)OjBXZ@Q&OiNWR#:g>YMloX.R1b^jl)pt"\nG!7[X8tW^=L0p9$j\L19j5W'7O^AoH.qP$UL?5d/K,l;d]dkf't,o]#4l,t`3>\0O.O1HB4Dk+G`<.I#e,GL/H[\7:@&ZrB=umVb0n`t-*Ni*gj=is-F9P<-J:B<@N"N#7FL;`u_4^D0Bo4:Y*l:Ek%*]K$6.S7nrT'b%FJ%l<C:g\]CM;HuQgfm*eRo'@CN<RA.NGQ[r\VbnJU[<.`XIhgh$&R\/-]-<,H7[p-\0ol,Cf@!kir5fZs\"O2IlV!V%!29X/M\Cj8G&o.;?;pcnLcPRWPHj/IF77]LV3[+H0:%B*?tEr:"'?*FE5:boa7K8NCFLn[+$TQn:;T/$=Pk)1#J1J\EULcZlV+FZcCm0cI^[Z6@KmShdXh]Z![?8rAU_V5LDK,/;q!0pT;1undGZOR`<n.pAociG-h=i"kOUtl<m(#+5)h'NY=JF=#]R-`+DDPn3*HWMQjNm7XTV0b"TaWa!ZVpXpg"2f>7(EOV#n[5Bb[@!q&fe<V%POX-Upm50[P\P9TpgbFlNOuY7m3RfG[pUpa!?XH3q>8EWY8_\@L7\265<F@'j<l-p=Hm.M+H\?m)>lqH?Y"VRF6X32@YDp@ffs+oMZsp*2PqkY7KI[\G:e#k!2==K*-^[P&V=4%lb;[B].h3:O32=&ddiEV.7&cM8#o>/&IFXSDu,L#n1PnJ?W`qJG$VI)RFFk)(Ns?lnkeK_N9!-ULiAj8#4#OX%ME[&c0'IWFo*OuGZS6g<FQNdZ5]ho/b'9.l7PJ8F4U>IV#ak"O143P)c8h<[rIlH"pt[?7E5rE+W%p.&Q+5b^5.dJim]Z&_Y_4rd/37jicu6N6s;>E^LL_]<6ao\R!Q*2[]mM'^79qan*sNm[tiXbmTU]@,:`S4FQ)[!'#uI+pl]%lmi@gO`tA'K/1pI^V]JdC>1JFM\;qNZ0/=hR*SiB41>!'t_iu\/p4jA`d4bh=5]/17%>PB57=b2s'OVh.@-MW%gnTD61i_/!76J->U"Wf'8^*=c'3tgW?Z;KWPYucot=rm_#*!nSYIA$`YjF8usO,Q!s!DoB^WL*]ZVjSPH1<"+RbF^<=F^1pFj9,Y^NFFRQ?r,PUPB3"6il$G1>"nto/9:J&(KRUJ3ch))P`:>ZDu;Re7q(\(g&85&A>Q:rb>J^(ZJX)!=lbKk-G'1+3D#UT!:RMU24-rtM8SartfR.Ts(Zn]Ct89A$S]ce"Xi(QgSks!h`Xr[KE^(l;@HX@_r&7KqDGW>BU$Hkn<2[^"I".YVRF*C;m!7Y]@W#B938t]8o.LDB7R"T_#aKA%DMRLH/=[#Fj:B$!27:3&VhSUEO0O6Ye*NrH(n978FJ;ks>ns9p*O4QlY?,?AMkEC9b3Wn:(r5RVZ`D"7fN%q:6PpqLOW_VJ7&@!lAF0YTJ4R;-mbB6PiaBmaDr_s,]df5?]_D*e$:r'!Vi:`MZBR"S])@o>KBd`^[ZeUMB#A:d^DK&\=<8YP?VFIP!5kV\U/X)`-GdHP<i/k+1K_FoT^iZ;Lg.RrO)peb`A-Z<<"7Lfn7f~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 35
|
||||
0 41
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -209,36 +260,42 @@ xref
|
||||
0000001535 00000 n
|
||||
0000001683 00000 n
|
||||
0000001799 00000 n
|
||||
0000002074 00000 n
|
||||
0000002180 00000 n
|
||||
0000002258 00000 n
|
||||
0000001905 00000 n
|
||||
0000001983 00000 n
|
||||
0000002189 00000 n
|
||||
0000002464 00000 n
|
||||
0000002670 00000 n
|
||||
0000002757 00000 n
|
||||
0000003077 00000 n
|
||||
0000003151 00000 n
|
||||
0000003241 00000 n
|
||||
0000003364 00000 n
|
||||
0000003498 00000 n
|
||||
0000003621 00000 n
|
||||
0000003760 00000 n
|
||||
0000003863 00000 n
|
||||
0000003965 00000 n
|
||||
0000004090 00000 n
|
||||
0000004192 00000 n
|
||||
0000004267 00000 n
|
||||
0000005038 00000 n
|
||||
0000008462 00000 n
|
||||
0000002876 00000 n
|
||||
0000003082 00000 n
|
||||
0000003288 00000 n
|
||||
0000003375 00000 n
|
||||
0000003695 00000 n
|
||||
0000003769 00000 n
|
||||
0000003859 00000 n
|
||||
0000003982 00000 n
|
||||
0000004116 00000 n
|
||||
0000004239 00000 n
|
||||
0000004378 00000 n
|
||||
0000004481 00000 n
|
||||
0000004583 00000 n
|
||||
0000004708 00000 n
|
||||
0000004810 00000 n
|
||||
0000004906 00000 n
|
||||
0000005849 00000 n
|
||||
0000006560 00000 n
|
||||
0000006788 00000 n
|
||||
0000007016 00000 n
|
||||
0000010490 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<3a7ba17afddd149c4cf82e5c80686f4b><3a7ba17afddd149c4cf82e5c80686f4b>]
|
||||
[<f557a648e1f9e4567e03c8107a24e6bf><f557a648e1f9e4567e03c8107a24e6bf>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 20 0 R
|
||||
/Root 19 0 R
|
||||
/Size 35
|
||||
/Info 23 0 R
|
||||
/Root 22 0 R
|
||||
/Size 41
|
||||
>>
|
||||
startxref
|
||||
10134
|
||||
12271
|
||||
%%EOF
|
||||
|
||||
@@ -1,11 +1,55 @@
|
||||
# Open tasks — dependency graph
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-08 |
|
||||
| Last modification date | 2026-06-08 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | pre-requisite to |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
_Last synced: 2026-06-04 (RSSH full stack on `feature/rssh-alpha`, RA control HTTP, cluster acl0 DNS). **DNS 2.x off graph** (postponed)._
|
||||
|
||||
**Standing rules:** [../bottomline_reminder.txt](../bottomline_reminder.txt) · **Documentation index:** [README.md](README.md) · **Service map:** [20260608_BE_SERVICES_and_infra.md](20260608_BE_SERVICES_and_infra.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
<!-- toc -->
|
||||
- [Removed from graph (done)](#removed-from-graph-done)
|
||||
- [In progress (feature/rssh-alpha)](#in-progress-featurerssh-alpha)
|
||||
- [Postponed / off graph (DNS + mail)](#postponed-off-graph-dns-mail)
|
||||
- [Priority tiers (open only)](#priority-tiers-open-only)
|
||||
- [Dependency graph](#dependency-graph)
|
||||
- [Task index (open)](#task-index-open)
|
||||
- [Critical path](#critical-path)
|
||||
- [Numbered priority legend (PO overrides AI)](#numbered-priority-legend-po-overrides-ai)
|
||||
<!-- /toc -->
|
||||
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
## Removed from graph (done)
|
||||
|
||||
| ID | Note |
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,24 @@
|
||||
# Opus / Speex / stream protection — validation checklist (task 3)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-05 |
|
||||
| Last modification date | 2026-06-05 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
E2E validation guide for **audio codecs** and **UDP stream protection** (FEC, NACK, negotiation). Code is on **`next`**; this doc is the operator checklist.
|
||||
|
||||
**See also:** [ndk/README.md](../ndk/README.md), [ROADMAP.md](ROADMAP.md), [AV_QUALITY_QA_SESSION.md](AV_QUALITY_QA_SESSION.md).
|
||||
@@ -8,6 +27,17 @@ E2E validation guide for **audio codecs** and **UDP stream protection** (FEC, NA
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 16 0 R /F4 18 0 R /F5 20 0 R /F6 21 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 16 0 R /F4 17 0 R /F5 18 0 R /F6 19 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,62 +17,62 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 45.68504 716.2874 92.36504 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 762.0394 92.36504 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 45.68504 705.2874 183.965 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 751.0394 183.965 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 45.68504 694.2874 137.717 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 740.0394 137.717 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 45.68504 683.2874 111.933 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 729.0394 111.933 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 45.68504 672.2874 163.949 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 718.0394 163.949 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 59.68504 661.8499 160.1625 671.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 707.6019 160.1625 717.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 19 0 R /Fit ] /Rect [ 59.68504 651.8499 110.13 661.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 697.6019 110.13 707.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 641.8499 163.4625 651.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 687.6019 163.4625 697.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 631.8499 123.87 641.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 677.6019 123.87 687.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 621.2874 129.725 632.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 667.0394 129.725 678.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 610.2874 89.69304 621.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 656.0394 89.69304 667.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 599.2874 113.253 610.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 645.0394 113.253 656.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
@@ -82,23 +82,22 @@ endobj
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R ] /Contents 39 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Contents 42 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -106,19 +105,20 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R ] /Contents 43 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Contents 41 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Contents 44 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -128,109 +128,160 @@ endobj
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Outlines 25 0 R /PageMode /UseNone /Pages 38 0 R /Type /Catalog
|
||||
/Contents 45 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Opus / Speex / stream protection \204 validation checklist \(task 3\)) /Trapped /False
|
||||
/Contents 46 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Count 13 /First 26 0 R /Last 37 0 R /Type /Outlines
|
||||
/Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 41 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 27 0 R /Parent 25 0 R /Title (Prerequisites)
|
||||
/Outlines 28 0 R /PageMode /UseNone /Pages 41 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 28 0 R /Parent 25 0 R /Prev 26 0 R /Title (Automated baseline \(CI / dev machine\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Opus / Speex / stream protection \204 validation checklist \(task 3\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 29 0 R /Parent 25 0 R /Prev 27 0 R /Title (User settings \(both peers\))
|
||||
/Count 13 /First 29 0 R /Last 40 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 30 0 R /Parent 25 0 R /Prev 28 0 R /Title (Developer settings)
|
||||
/Dest [ 20 0 R /Fit ] /Next 30 0 R /Parent 28 0 R /Title (Prerequisites)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Count 4 /Dest [ 19 0 R /Fit ] /First 31 0 R /Last 34 0 R /Next 35 0 R /Parent 25 0 R
|
||||
/Prev 29 0 R /Title (E2E matrix \204 run on two devices)
|
||||
/Dest [ 20 0 R /Fit ] /Next 31 0 R /Parent 28 0 R /Prev 29 0 R /Title (Automated baseline \(CI / dev machine\))
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 32 0 R /Parent 30 0 R /Title (A. Handshake and negotiation)
|
||||
/Dest [ 20 0 R /Fit ] /Next 32 0 R /Parent 28 0 R /Prev 30 0 R /Title (User settings \(both peers\))
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 19 0 R /Fit ] /Next 33 0 R /Parent 30 0 R /Prev 31 0 R /Title (B. Audio codec)
|
||||
/Dest [ 20 0 R /Fit ] /Next 33 0 R /Parent 28 0 R /Prev 31 0 R /Title (Developer settings)
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 34 0 R /Parent 30 0 R /Prev 32 0 R /Title (C. Controls \(user vs developer\))
|
||||
/Count 4 /Dest [ 20 0 R /Fit ] /First 34 0 R /Last 37 0 R /Next 38 0 R /Parent 28 0 R
|
||||
/Prev 32 0 R /Title (E2E matrix \204 run on two devices)
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Parent 30 0 R /Prev 33 0 R /Title (D. Stress \(optional\))
|
||||
/Dest [ 20 0 R /Fit ] /Next 35 0 R /Parent 33 0 R /Title (A. Handshake and negotiation)
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 36 0 R /Parent 25 0 R /Prev 30 0 R /Title (What to capture per run)
|
||||
/Dest [ 20 0 R /Fit ] /Next 36 0 R /Parent 33 0 R /Prev 34 0 R /Title (B. Audio codec)
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 37 0 R /Parent 25 0 R /Prev 35 0 R /Title (Pass criteria)
|
||||
/Dest [ 20 0 R /Fit ] /Next 37 0 R /Parent 33 0 R /Prev 35 0 R /Title (C. Controls \(user vs developer\))
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Parent 25 0 R /Prev 36 0 R /Title (Known limits \(next\))
|
||||
/Dest [ 20 0 R /Fit ] /Parent 33 0 R /Prev 36 0 R /Title (D. Stress \(optional\))
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 17 0 R 19 0 R 22 0 R ] /Type /Pages
|
||||
/Dest [ 20 0 R /Fit ] /Next 39 0 R /Parent 28 0 R /Prev 33 0 R /Title (What to capture per run)
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 821
|
||||
/Dest [ 20 0 R /Fit ] /Next 40 0 R /Parent 28 0 R /Prev 38 0 R /Title (Pass criteria)
|
||||
>>
|
||||
stream
|
||||
Gatm:>u03/'RfGR\;t4L9^K^nfNY%<6URVI_mTdqA.h8C-?3WZ/O+a:/RPPd$Rgn^['AY4m^_N;>7(C;FSf4j!(T$hSku'gnf+56M',$8=[)[FUA$_o:?%KC&L9q7JhW,P4^9="b!I-N$*uT^;BQ9Y=[^*]Npoa=#a7M[,6S+k4To79JDloTZP_<c'#s*OBAjC;Xd"$S\'@NA6Yj&mKi>R69?%THMb97Dqn#tQ@T=lCi,\1;>sW^\Duf\ea?RJ\^CS@e^>\`_4>A/[.39PW/>fY$hiB-1Hl!CfTqQ(LIrGVP';K>&T3j.P(A$5GkLK=Kg$*UAT:UNYFnn;j+)H0g=IO'Z]Y#D`NuRr=:P219fouEq>[1>CoF2MGEO'Sm#=3IPg[W/dZ-oaVFGi=Ad`C=:ZHC9Qa?_d"nt^?<(/C07/Zc$Q,LJftVeEY>Y+ZWM&g'8^l#fa@`eNJp@ANuTSQ!e8769&S/HJM\fNptopXnIo,#c%<Q#<5!klICZ6c%+$$o?h#]%bcIko.?@G8oq5UP_69M;u(oTb4MA78<Q[XET+:n6%TE?&FmMquVkjeP9tn:_,I3=>iYP-=*T-<c':D*r+-epr<MtZ!S>RH(T9:[qk;nZa3@Z]8"4$RM&`\\?MQdDLG\VeVa[WL@X_mV/Y?H.ACsUOl-TQ^"\0,O:Ki="Y*=cm&*=0s!.+d)%-14UGiW]W`IF.TTOH$O8_8:,c3#=Fkh!'C\3(n4/R)/2k:br1PPc!l@@a!*..^8!sc`d_FC"0W!;D5'3Hcq_2\rL-eif]X,Y"Se/JjPSY9/#A'&'40_tlrLGR*~>endstream
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3251
|
||||
/Dest [ 20 0 R /Fit ] /Parent 28 0 R /Prev 39 0 R /Title (Known limits \(next\))
|
||||
>>
|
||||
stream
|
||||
Gb"/)>Ar7W&q9;Q(uSfLUhsYu0?o^HUi!P#M&SO'YX!_hQ5EgRZKNOT8c%n"W!f`K])&f2Z4"-u.?[&=^>[9pUF78F7nJ3ACOf3%(k#FM;.9G(MD"-I^P)4SS%mf.q+0>'9\YYOYUj"A2+P]4fSpOZ+\U3j^'7#l$pL3i[(/:ZrBs:<3`jYdM$1O_&tal^h"i(G#8Y-1bl>TfC,Y%,Cd"DAb<5(0GulWa#Y=/ZLYn[t+\j4Rf!(!56<u4W3q)M#oD.GL>`C,g5!VZ*/Fh1pg`9$A_3Mfs!V_gS_fM^(6McjE,b79-_Qb/'q35DYJSf'g&f.;GkO7?M>uC>NnDcnd*hb4$j/5YEVBm,QqGb!Lb6h7M$Ct$$,`(-ol=iWSEHH7c55Y:`>'h@Ljr2!pVs3sG^[AkoN\<'Js1\Ls^7UtBAf''#f[FW>\n&po`V8(?5`okU<gj71%U+pe[gXr:<L3%7!NIaV<:*K?l;H/!=hJ%kehj*5rG1`>IR<'9Vj/8bD9Y[t:%k75Zh6E!65+ZW0FkdPq&XeQa`hHXL56$Ue'Oj%]SD<Se:44?h/UR5$H%nGR_n1]WerFD1(SgJ-a4b6I#:6KPU$fY(GSXoS:JTKO3o'0/+=WgK+3;BclN1VN`/hnEL?U/Mu=>^aGtX;(Y^5e[XR/RnE_MQ\2sMQhrXKM_Y8]`,_!7V&F\NjL$QuA*mHU-^@3)ST^g&DHaP`9f7+pMW0B/2''`1_6u)HKK2ZS,Vt7)&qujNNBb\1A^IdE^]((u#>:8+,V0E.h>+>B1P>)&82n\Y8F-,;oEMTf,Rd^@+BGhC8T[3+iCc3@I-b;bY;Y@[`>j]pLajIKXCLhH5m+BS7aOEp=@,NUSD\Ik_U`M'X9ERMTBX3g0(i]q<2/u^mkjGqc5ail7@Lr-^1tpC&2M;7S'Ea"a!tSj1*rB&nCl(UX>(pECR`-cc\^@;Lh1gA6`s/'(n7OJgFkKrE?nX/Ga_n^`d.rGRH"PI!PXHdU2_7Rs=W4-6,"Q#$EJR%ggtO19)7o=+H9RJ24Gs-d("2t&]mJLJca"^.RbSlA$qHZNI)',g\W2!gKjgH[L#."#?l!u?<_tc7SBoQ/L-Frfjus1o7[HRQ>F,asCK?7f96/V@71/`kf#n9"Wu=Vph-O?X_<c>#_2/-ep9K][OW]/_ojpO*fHXc@Q6N<.h/X(O&H`4uU>)(+5ah+,_8GDe@5("G7WBO=@j"ROl5/mN<F5g9+G!XBT1c>D+2[Eah/TdcR@GWT#3_@Vg5%$/Wb,oeBb%^()^NU'*F7X4(ZI8=`=noa'\.jMjO;o_]gIq[P7Q'2\fjs$:5A-'HkMJ,P)E,jL868MRaGS5h9-=JZI4&GZ^[0eE70(i@:9eRTM^=KE^:RGfE%^"R7fp`:a]I7Ei8,YFb&g/[SJ!gZalbdX%@.O=(4=h]\^:,+5Mem/prrsd?,QGh&95X\9BFW.6Nd$GE[7=a=;3gEN?/]X2Q&q`)F%e%5mSXO$*35eI3%n1%(dTQO'u/?`_P(ZmrIcU;'UPkQBKB8QE#s/>O$*@`B>bi2QrtU_bI62W++E/NQpfSpJ&mgO%T<0A!2WTi/:uddc`&\tZeI<W2JfV/&bnam9HTO!fNWf51GYq#AZ!P-%p!Tg8;Fc'L@+Xe(FnZ/5:kC]uLc465sRq:/u#2m,!3?49;j;?sXf%W%Ckn6aRoiM+hQXfOlEZj^`aP%]Z:1tg*'in^>kGCON<m(+K9\ga,.P_8GBaTi5$:ZI35h4_G)iKEB%4)aXt00)g!PQ67G3HRqL`NH1#WN&t$2*nSYA&(bY`I%-44S%"%;K8-J]q3c4)c`q;c07W-lJ6Fj/uKYS`8PL]X(i@I".@p^IA-bGP'(-gh.d4Y=h@iJ"rn7L[B"iFG*1nTHaF7`8i^K\W@?@HGb$-`7;TS@V26n0EMQUWDZ6OOp?j('Vgn[0T;nlRaciCVU8QaZ_r@\_rKSXFg12>^a6VebH8SGla0XIslco+iQ`p-rkFZY,<2nB%,cdP0Sp5tE"buq/o"C@KWArCH4u3]HAXHI+X"KMf4s:4=fWohO4eGgX,+UZ(Ja`U5R4ROF-d.UF?Z9MJ0<N0?L[f=iSq[6\."gdZHP&]F#A\f`nO\SY`^thYl@4FbW2c&\Pcl>N?)0bReqoEs\PAjW2r!Ot0%c(@'E5^YO!!EgH963$X1;bOK7tHMq6>ll>'>m,C`=MR,]WSH7(o!]3tZ*^X&/=f>Xs(&ZWk!G*RJohCT>t0#;ej]!sTA>rZVo7(&9L#7m^P#UMo_IMW!7&5LhJ7UON#V`-s)],>`u<F_MCdU#Z+e4j3$Y"\sg*[u4r83BopoLQF^J";8"F;QgFh.][6NZ9DO`WhhTobg$`2(Q*@@\n&p@9(5iB94$'tdEbRfU8W6LjUSGFAA+I3?u4SW6$qh7<YW)<=#?aKZ=P!uf[/n1]r"k'ldD=\8C?LlAEC9i>^06g=gr^5e@`"aGp-L`OkV4l]L*IFabrXHOptRhJY+bh>1MWPAXS=T1N$c%)J4X@J*VK4jK)HY]n<;YU9q\CW%4&[4V/\f<`FNO5sA\g@38;VOBY[gg+dGk)dPk#4\^`!i[JM:Qjeig?VeaMg&#r-Y(8Br+ck/k:kq]gMftYqrd;fhf`P4$$WsIc@,sAbr3_bj<&.7u5B@CO7b$PqaUd%$NfQSbs5:LQ&IIT^(U6[Bk%=L[lFQq-h3\_>g00an!<:/M"kj20TblEPWtj1AiZ"?#3+)PS#-#Bm`agHi-QA5sYHebiTW/O+@Q.X$Ja.3RSb;[Xfj>k*TR22EHD.BRK@-6oo`C<s%i07USpV<E6HF=OPnG`XmUKJXhC$mh5)[etlu8qP?1`*X=4^O:Qkfig_X@NJkQPei.hoOrN&-IGHBS>e^gk\6s!&0a]]NBL?)R'(lae:K0Ef/gLQr*E2L(fk/gOi2=)DG+YeIVE(<#g7EYgW&Qi*l!_4*k0jtNVQC_[u1X3ucsmA_S<NhR7-E0T.(q$'8t[mA!a;A2`2_rT^!]rGXS7[-qQMT2f+1Tek<dap<EUZcVI\_mrDeM*N5qLKik@_gnapQG`.hDQ.;Xehje.D7Lks$F-+<s?$FQAF$pZLO.a#gJROSqZIgnjS#[_7+P[dUbp5@"l@d^C?3ZT:3)FJ],kDZ\MVEgRW_cp#0B#'COdO2<b>Y":J*HYPW\3`_pd<OMuiuIp<juj4BdW;Cd'J>3[/eL(IEnE#.8uY%Lp3]joI2]//UUDuKjdE,hW~>endstream
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2540
|
||||
/Count 6 /Kids [ 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 896
|
||||
>>
|
||||
stream
|
||||
GauHM?#uLV&q0MXkc0&.FqY"rLSX!&OlK[C&[+,o2D;5e)Snt5">PQ1agm\J^O:G/!Q#tpG&GF1$o@P"FO-Iu\hQIjO-0EaG5uQJ0YT<X+L#+'@;-K.s+#=:Mm!pdhU@m-\nTeNYmC=bZgb6,<ILUd7=^rq$!?mp,6i/GQ&2sfXFIt2Ar]'C>#>7E+2YbR6\_!nFCH'T2K[?qM.)`umZVbXjMAe)@4.O\oa.C4!'[Y<%F!>nUUT:f/3h&CB4^?]r06=PA"l]F'9BBoB:-b@]>Pt`UH=O)m9.&u2:3rqj$fi5h,AC+ZBq"/N#i5L$q!9i^1Y75OH)'0ZEe?m9oAjDrnn(!Le/B#Dh.YH*N(`WEO$LdWUI$hqZT;%*Eu-?o>K\KRVbI:Be6"PeGsL'TtrRtK/q`PD91@XG;PrHE"UAc)Qna7Q#Jqu'c`ui`pmTDhlUe2%lW/1$k5*Vs1%t?mRDa-28J%+*li!Y&6HmSE(@tPE$WPR4=fWAmO&T^)"BQ_rHt;5ai(IoW.0<lc\5uK+[npBFrC;UE/QX^ZrHdXMkX?=]rr6]Yt&kb]W*gHc`mMu\C,n/=bD8>P/^Q4<*U+A$(5@E;U*0Ld;2uek$uqH>ia.ZeH045RPV?o";5dQ9d[kJ`ML+t@2Br!0K;Ks@`44>#)!+kl:)Kq(E+hm&4aU(\5*aZ,1oQXfUhm?&adf&3>/6B4/X')e#1-k:!h+K%RHT:A7cR@kLc?,BTo;G*GfN:3peg=EeiI_MD"7m'MZkLZu,Iq:8E3+Id0CRiC4Vfp&G1"kR:rL-7k)sH=3u-O(rmM1]V_mK+3GmU4E_A'Z7u7Rj3jGeL0d@D4YcnFs!$.)`[>3/!:b)Ls#*FJs[$SI_3fRTtF72S5V$(o#"#:b`0.]]KjB]k=bs6ad8HOIMB$`\?9?fP7esd<["b^(EuZ%$^X?l!ftf)+Cr]%$$%O+&EJG#H*HHQ'<pLY#/:.<C(%dL-TrjG0A:^OnHAfA\I<UR"<W+ff-Z(FHkYG\.ZsGhMYTNh1%rMXHZDco4H3GTLF`:W<uh^<&TQ4%R><A*&B(W.98WoVl:M.b4dLtp\Mg'H/"&HnT8dPk/"&H:-oqb`dn:-f@n[UOQ&8ClNqtmUe@$`i0tS:Pk[Z_iqA9G(AnFqPB"SsSLAHrR_neg77Y^&90TbrM_r4YRU?(0!+pkn:!X3$V6@7W65bp.tLNs;j.hH!J*MQMp95o;K"97+9@-f*k:06)'mfm"p+(>op5RR?6j_D;O[nnW"bVOEY-_bMj,lp0UDg:>jZ#OK*0$-E(5'Up-aR(PDj,a^1.k\p!_C(rHZVt]LRO$&k+/X"#@YK(EGVl;]7dlU8AXp<V@r&4QB#V3#cZ*IMNRZO0Z90j>gEm2fI2\Y:J7a`RIP?)rN,bG$8i)9FPm4lNB]b!*b`\@7#r*$4SkY18Cgu/-7SJTEZAEE39_&Ui]`ZZ?%UY_!%3\6M;:egRq6ZtQ_u^*^(h9/>l;-[r[-lLc9\n93c!up,icOjaM9tMOW.n?Qbd;)+=fSf;,A&OCmSe8BNl2E.!`(N4Q/#q"4[tMR='0NNl'bcf%TQ7L\>ON;pBCQ,blI.Ci`E_'.C@LsV@$NfKtA.)[mR6bh%kZ]LCaot90):tac`jnM^e>ahb(&c8$uNikK=+r=3FbQO1AOZA^)H*r=:`@jn5l*<d*iiW2]IbSR\BR8lhS7,kpYJY158J+m*2'AM3&q&S(iPGaT5s[p8T\3+!H]Q:\J!'#F?h^A&^X-KE]s@)rlo-qsq1c=Bmq89#^P<BSoWZ&?^mb]`ZMN3r0]&!D:,hl%/4h'6=UQ-]<oY:7k@a(Z?\QE:rD#,8mB7?=qj7ji<1@k&hjhklN4lZ@pOcBq:5me_,4TLg\XC4"RgVW&h/K0_r[*n>YOa%Qa&M>\[97/eE2'j&QlnY$2TfZjE]^T.#bNqe$N@<2Mge!XG5FWifr]=q"OjtBgd>sf@"</I_[_uc96"rDOi)R2I61T[L/lWQOd+;"E,-2lQ!ZW_3ocG_l)]HSaA@Wj:6L<#[Hm_TeN>E%bXes+PR`$*c$e75dk`,r$mYpSF/Y41Dt9c%tUXU8J*JdpWZFLO50lGa/';)BIK(+NsV^T(%.k1.0-Bct;,Zh<ONcE-4`nEBimT[/]SG!&fuVQ)L:P"!hR.g'r?Mp8ZZPGG@lEr)P;DY?jAH^+h3o"&1h\Gc'*j,)SrbcW#"SEZY"%PJp$Y:%A0nm2]d"3!P*Z=<j]:cYUVnSAq[Do:GI3^J;B7h$o)2C0mVn&tLD]D:RcGM:>hf&EAqlHHMe'DQP$^Ppg[C3mdl=&M>%"pYZ@k_cp[Wqd<h8l7Lg\`XFg0nU'hn1jt(0&d:0k>9cAiK<N!WOSl6dR?=r#LjVaI0_UhR+k%B4>)nRnSk[;O67rWi\[6kn?pjGc6dp-^Qo[`s0qQ-5#Q15B-IN(*325p1Ngq)*:%SOq+;t">fm0u/4jV;9<Mg//2R;E%hdW2;7@+c9jQNeS_u!j\sdmN/onN/e4X!L4l[6$lJr3errT7a0dZ~>endstream
|
||||
Gat=*gMY_1&:N^lk)i&@Za8MHrCEER8qi]\\5==l72@G2'5T'6denO6-H;C(_8tQ"GP7Q;m-O']E-a3bO!9*-5$V>;TE'HC.%(3f!*=X4:Bs*c9#\0<\--:Mj,PJn7q0JDi@"quj(WC9?q(Gu+tT<I`/.\U#5j9V#XFZT&0b*sLf5^q8a_Y5HTPRdi<"aTC]Dhm9GTOB@(r!SG*IZd(`nAbYR[Ph368g(06ZtG%@7A`G*?>0#0u8^)>LDnT0oeS:;5N2ZcaGM9GROTNh/_=O*,plVD]K(l5IX#V\90r?8#n&h#@4/HlE!s]))Btcl_%JpALK8+"S>n`\gkn$koecX=5gL/d7eTVhNdG)l"LQ0Ll_]`ro9WHA#U,R%+h&qW)DphmJ2MKG*Q[NoGh^]i0a3@:"?hY<:%pS.pckhX"JRE3g5jruW_ZF>d@FZ`/8>M>Z":8`jkF/@<n)R=kp8jJYj_IL)f$>@T:\dqirAKtBi'`3R8Z.X@F6Npu-5l8YIEd@UP]Yl(`+r?i,gA)^JH^:3EI8Hn=^i?rSSK;k_j(qrlWc"\PibkfoYYd_:I_1h;sqPa\2FmC^i!ikP5C`H3e;&]boCHBT=ffno3?BAa-4lWOm;m5p.SCX8?mFj20jQ!JYp=tcNLT@?s6J+=c_rRa:D,3:'nMlK"W>;[)qqb_%lR6#`7]XVM#p^Va,><%#:Q<Xm9F3r>_>Tr(Y8ua4,8Kkt[IO58[4^s_^%S5\>"V#W0[)qt/Due-?<UH7ZA0iF)p0@%OJTWV=i:]4<rmRM``+(X5j/PA(C4/0a9(="&5L?MW`_=`V:k39MVEU@^>A6me21p;dDc%A1*[BjLAG#a3Ba6(YKg$$.*"#`WV069WY"!f[Ho+1^q,[7d.mpaBSZ9~>endstream
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 735
|
||||
>>
|
||||
stream
|
||||
Gatn$?VfE1'ZJu,.F'1)_8OY!]bO^-1c.6NCjSE6+Z7cE[>XFZI/I9Z"Yi8GL*B8^A32fdHggJ67mquJYK[\>Y&JL*_$-iCn:W*dc7uI+%g0Q'RA;AadO7DQk:DM6K\iJ8()8#gA$EJeU:^KL;c+k]p23.QjNfSD6FA'JZ.BO2-lc4ZbsK;&U+t@pmG/qchl&^BmI)mge'Fa!kf5c1Na`qNhl9JR[.9nj:3kM]3@Xi'*k'oVCG0>1WL[9B/TGoPEeYg_j;Q4QRFB[9@0`[>k_n]R8IHoZ=8L2ScAh@8XJE5+'8ZF>/`$XKagGB@eI.fUniZ52IOrK<!H6L5Y(Xl)>7I@d2^T5/24^f]rBCcf+B\J.P_[<6mC<OP@JEadR@Dh&'(c/Umu1>U=%<4Z-7eti3G',:1M,e"c=GBi^Z\c!K].U\Kf+eHdl-uEm6Yf9[cq8Q/FOBh`%^jb\c?8ATe,l2'1\A^jkHF!g;?idlBQ:i6o[Hmh$sj-dT]5D.0GR+IVMm=5rjf!;Z<]@7Ur-Xb(gmKq<0p%5L*E%7m%?q^HlD3fP_nN1u`)dnbW4hn]<.5nsrFj"CY&"CE*'e(R*&,olMr1s181a4?jboX0[_&CcU7X*%.4`+UU`s4)BkhLXMQK:9di?6QI%.'\g$rQ*Hq3.,SPpl3tqm=NB::c16PZ4N$L^Nr(i'--Q!HrYNtXPTjF14[dFjcAQOM#D2qTfj?cWquPZ.mLT~>endstream
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3345
|
||||
>>
|
||||
stream
|
||||
Gb"/)m8Mb%'*$6aYqs_]'\]9`IQ)XH")YU>!%$TADMB#uYsmXWa%gIVk^S(4^Vr0]c*d<-DUK0@>-4UVea@?WTci<L-@bCt^o&'/5#\+0bT;>87"s;?SBh[o*70XBeVJ*XOpZr?'3S3B*-^ncQGCiSJfb6=R21u`"_K9X'%$i30r$0EP`ehPJAZI(*1iS]3\5FV*u5gIiU@\;E!3M^E.FGg3+NuK%DWGnDF[i2`p42'mo7Etc>Fb^6dA`:%YL/'JpVXqrScr2a[`iZ:VM5[T.bfK9ic7`6stU&JK"Wm.3"$=9SWB@26LmZKm8H]:1/u'nWH8DjroY80Hlt"LI6F1m3g5>@ZnJm@=N3WVlgZ-?CnG6A6GRG<M3:9JU(+3;VeJD4H47)a(KmnPEk_ODQiSMI$6[Rs7,UWDL?^aqq&a[n\b!H3k`&;_Ob(LV8P29g2%at73k<#>6on-8S/?]653^DRf^R&:p$-N22H/7<XXIN9O3rg#\5.$L>GUS.`i!sB7L>S+nJB9U0Z@&9uo^$A)g$rbbK'4l]t#I\s`%=n!M/@H+TsYRdj#NA)@Rpf)^Xk]/G`>0]8X_\F8nu5![2+mQU73rhso?o"u3I'o1!&<Rnt)Z$g`3.#'U;U/PU.jt)7#1QQc3pio(=r>bcWHj/p_XKga04l4)tn8Cn.q.Apd?E>Lj6Fu8752Ro!^2Z:`Jep@P_U[>Kbb$/aA$I@[5j\=TnBhb/F1>OpU=")-q5a!/EupnE=K?<SC],3P(59&'EQjsm(:)Z%946jSa5Q%J;="9a:.C?d]'D<o,muq4QZ\h$RRBeViC[14T1oLiJ"Y7&hMZZWW(6j\]GH$QN#!RX4T5C0CqW"u4n07:+VE%ic.-]+-[;/N:TCQJ`0.OjA#(W^+;f>q`g\qQ6#m4m/E38eF#;Rl"cS*<_i!,?I!'qg6UB3EC9`M>Kf%N3mDaplcm]/JQ[931!IO*?'q1s5PP2Bk>\B7'][<E,g-gF7^)PD&!QW7?>m0W_?pu,hf2oi;dr$rM5X(69K(+W8+nMIO&B87L7*:uC:gR_<0F.ioG>6(5FQ+$Z>Xl^WP5j)NP4Lur^[&1<c(]l+7W[A39SqsN_-g3P%f=n4+Vus,[Yk?r^iQc6ggO`\ME_7-_]C#\_pDh69#QgI@^_eG%AUJ%&Tg=&?**e37f02TP>?B=QY/"cRnOB;I(m4o6[-cG+P$?5jP9291,R5uP,:*h##3YUJq:)g0&e'S`ZeB<^c;oZS=kPQW/pu+KS8V<mRDD-]O9$t@e*em]4.oRG8L!Dc,QZN#fmQ/WL?sn#a%e`d1d^\V+ZOLkilYOV8E(V*/:Uh7GZ-df&7HC]l8MjOeqh`,`5Sl65"Gk<55b*8DD*"hmSXmR>dYfF"6XS0fYQ/T&9/kAIP[$,Y\>)%Kin3JeTB/A4Y8mX=j[F'tHjUDagr;<N35.n#Kh45aFnJ6YR="D"a6WQKOb!!Mipr_jO;!-oriNBXbq@>.5c%>Id6ZG#%VZ*>s.b=I^jNMeb%G*/R'<F[ODh!SSSHl?6@U;t1^b.U%3k+kGV9eN&^lU#o;G([;lfA/d2)$MGt=Gt#$+2hsVOBL*N8Gp89n&)sQW`pME\B%Q'[oq7)BrcX^\iSUq3jf1klGI-UmlonJ3/!?/MRO"6Q+W?Ch"fSS,r87&E?O+N6%2FLap&"I+!Cj,V4@lQ^^)C2s9Toscr*F^@>2%Di.-fJnKIM%O/+:8SW<<1^*>gD$*S<tGW2?B%(,H\b@O=Ol;alQ2U60SJD[Pj2-tJ]7F/;7C-R0iQ%%bJ"0tK`!ao$k6:q,<@j%anAZS2Rf5,.7sA!1+rq3#<a>k*Dbj%"X13jNt(-$p9H<Mf+@6%D,#B/cjAaI3d"b0^$\*`u0;AR]@o1FcC%DE5Nu/9f++\L4D"h8d!l%M9=Nl_j%LJpiCLG#`20AY_oq%^JGB,qq,.f9D.-U=^)3_dKfQ-J>UOF<otrD@!2>C2#'qLOf=HTWDP\-L(E3^=e2*+KBbAh[.eMROk7]H_$NrXi@B1nT6hhH@()7jm0h;q5:hX<B.Buna`"J-rI%S+[Cu'\kYm)[FiuJ9JcCtKqHp*X):d.5%-2;Jjjg[4+=H1Lh,:8i48R-?\rmM>dj,(F:<<qr3[90Dfn/^RjVVE0[a?$rh5,ngjta&iqTARAtq=R0D3)2.qI=*74Mn!)I:-E_>$LEjt`0q;":no\=&/"V]CGPl-J$$b>-S6Kc>U3UDcqNqFjMbd5'@!W,3=)4"$cZaN9ae),I;4ii;B"967O?pAb>RCm*kQ8RaGEkaZ$'+:o?P\?4,+9i2NI,8#=`QQV@&h<U8!R4.aWGAHP@(-Vb3-s)mb?<)-b]:r[.4MJVI0`?07;q7E(,PFKi54KJ![TILHWZYH-d4Q_f\DUrCCtb8ED9U3-CSeG\Oq/l.[=FU<W`K7pSOeH4[5;q0;F.hL%4O!:D/%?<H=7O<Q,/>ElSoj;*fMtQDU;U,79c\X"@6"LL-h.i)YIR=`(Vd?p>DC)Ft+="[5kds-_>7;8T(l?&_LpEk-!mec#HcBbk+MMO*SaI3(abdF`BRY#NrI!cCMY",,N<;64*%Qn_n;Bg/"c4pK4TU8#^k)c0HtK3gEm2GT(:>,Z0d=:Bc3a>d1a9H:INFHtWcI$<VrNnQ>3[l>Wn/fre8U^RfM?ff_aN9<gsu_+8^-`Pn(*f.p-cT/m[D%Cn'rPFo'N*$5PupX-BS<hu(;:)L':FKVZs2l^ucHoTa/\nnP=?d,t*p)ZQaV/<?bMJ>rW/Pe"F=)OP.[*W<9WK,#[f.;J[AL"/$W]IeQh0^UXXUaOJ=`MbFq\rWRg>,+5]sOggK=*cI<c^rT*16=DHZk&2'`;?c<&o$4^j^%AgAAhb[sQN6'g%q$?Pbkqo@<Na3Mo5OO79c:0R>1Vp(Bf//)o?;_.juX&:tS.pu7&U*(7oV>.dVaM6?0efS(KYjWAa8<S%e-9"Bn2c!HZp/Ra'AUWc9i3TVl0(1#@XnqLi??'rNoHE`ZYBQ"5"R^0&h]\/1*0>O<MoningNU6eHW?`gX>f:1!gKrRSId<BN;t@r:?dXk_(m9fG]TMqI(0i8Q70_HCMe:EPrH_c:ZTHM37%hkSA"MA2hoBWtlH!fA$aoP3p",d<,!p3Wi\'t5RO*eRbLFH*(\qJEhGt)[8s['/%0(>H2E2n0C<kZC:&N^!]71:#h9"hX+3o$l&IuNSOa^i42eTPg]"b.\/-Mj\\Th!?O"9i[I_G!;R]<@<').bP$?l+(k+XrJh%N[[]OTg>\o[%*$l*VHL[+Wb5a1IUo$/enU]O7F#W:"&alo.l-t/l;%Q,)Sr^PU\n8D&oVlT~>endstream
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2589
|
||||
>>
|
||||
stream
|
||||
GauHM?#uLV&q0MXkc0&.Fq_e&?W-HjaRQD2Lt<RrRho.CNF4#o+@]d)Ec.`ADr2U$J1q85SQiBO_[J[ah)"5aD@#J$+mE?X$h/<?j!t1a_I<\ee4a!B!Ugd??S=t,e"16a5qHtKMZ6@EHn9,7T4iWb@OK>"e!b$9:`E^YGalV9k6l-Ald!G%qKMoMp+7@17fLbk?+eq=78G:c?1PNfl."sMM;uKs2VI@/Ui6;tYq6DYeaoQFoE?d0_r><?l7`("jp5t6$$tSC<r^r$ZILQbW+PAh@qL)=Y$jA[WFNU),dVi4:07-e1PO6:^mSU:=mYT;pa\nU(gi\6[ui"+IOBVa"M9I_*l`,K#Eg1,1m2ja*3WHU/=HA=G!%goPdY1\kDO,i(9u1p&[eeHE!m-bVU6F.iDsl@SDSN\o=5;HiI%H[8iW/o+69,I@s$!USdtJ+g$SOM7f/aM_.I=%(Os<X-kr<Y\9lW`3"6nfl?E<s.!5M[P(%po"^UR%8]2Q;r!e-??YC,<Qkk8LpP8cRBGMRcK[aG"iGS_*Gb[MsFhbF7Re>/,H>smN2##%k8d#&4)\@uZ%="-q&>YCE^1s>#U+f.&1lIQ4/hW#n__a.kX6/CcDuQdQ&C](oM5;GY(fS\!LnitXgjrQrLDgRrd$#;$1<G'._Go?i6K)1%\Hq4d";:H#,'a<<#p/!q5TlelfeH"VZuP8n_e]+%)O:DmOjYCdN^]jX6$]ohabgjNlI*MW`jF341EgtpD5QO6DG&=K$q4B4O5iX/a6BL>'Gt_0^>TSVE.H4V6SW"EHK]pr<^3V?l*:lU%1Cc-ieW;/-__GA?JZZ)go<PX7kNbcbHq)MR,>]qO#J8>_2Xi;S0Nj3i8qGkX:iYpA]m*aOtM5#M3to[0+'A:h(J3-"MBpO2%TX6jS*Y"a[e$155_KKADSq,StHlPNu/"kcdneOZ0t;H)f^B^(KB1B^$fqA>CXiT(LTjPiHOO^kN)Se47>D*TKdC^UMbqHj0._$,d>'kLUaW^U]\'d!O,R_r@mH,gorG-,?DbA$GYP"#D6VV>kDeYieeTVnLESIU&fhVdXYD[V;c*ic)8o\VDeEd@@Ge?VD]_hLV[MIWPNG1WIgjBYu@?+5n=1-/>k78(P@lGVDBT\@F/n(VH%6JMnrr&rs1A"D"MFPBK1WqX9TUQ\,$jdpGrpYk`$0&&.9*(6Os2AQ/OaI@u+B@k^r.4V1Ms()fQPshp)74+*hk;_EN?+f]rJJU\k\!?scg7L9#N>`H'!]A';>*q?Be0Z30uY7kP?gQc8-N*7X>-f@GT0cD!K4foWQ"K%pf_noK8gX,UPOA@_8d.@dMB@NG^pM]'+RHf["#B<Lk$b#\_Pj;YQ%EF[d`eCK/U4>Bag-4H#b)P&m=B#k9COIe9rcI5I$#*H(:J6)p!SFE"F&edDO-;)Uj#s$<YQ=Xd[Y\>VW=;Jk$O4`h?W*XT@g9bcH4gL'YY*.&-%>uAF.#<(%k1Qd6Us;<mDCroY/T'3(-I!u7=5TDOSXb^4Zr1J49r#m0SJ<(uCB8mVWq049[]gHjJhaJ$?(TJS"PIdKPohD[;_,_Yb)(f?WEoCLNdkq&5l7_ZQ#1FHD=kN@_H'FjmY06Z&9DTo"ejZo<.jL7NWsa6jQlYO9"k)1P,n%KXk)Y1o"k1QZKB$aDHBV:o12s_!t/UaIB89j*W%g2@Qo8((atE-j_$Hm4b'#<FU[gNF"mDF(\4V_oD`jDb_bXiY'P:O?QS6n8[T9G_>&=7ruGQ$j4A8.a:K(79a<l-A5mV@E?>3]4P4h^MoeE3\+Q;N[.B%p-MK4+;'e]?8&/ZYJG7f*'<:<*h(C`_9.r=77"H;3*cWDHS`I*u;__,K2N<AnV`TQU`,T0#"EauX8M%;bHe7)NiZhlk5t0KKeU5'N9F'g=s!)]Dr(!b:Y*LHp6OtlYRf1if<UX'1q=jQ9bm6)%4YuEi6?K5OI@GE)?a*M@mSn^7-+;eF%pb25>iZo-`;;*EQqn1C[=BMj+:_LGqR'I=[G(JIMg$(b78S$ClrYA=O"i0@mUA.l0VV'>;aSqHLN"7gO3;tae'1M'RY4VM_M:W??.`_r.Y,>Cf784ph;D8#)^d1%d>5/3W14V%W]F"F=8/.26&):,ld7TVC!gAIdJZ3rT-7]\rE+W>Wn-f5((F_P#4+krRqnuN8R6E!oLHUMm%5j&.M&-3Fh\u;qrq\4'>(`@>s3Emdm%7\?9V%i:QFDp]bVdsMLkb<`VuX+E`f@$feW-321G_/"9C\.FiR=c.:F*??cF2Ebq@nge$e,>((XDCB8fQT^k^\DA]4RJdi0@AOpZ4c3-`5*=5:Jhc(Fp4'P1%b4`=_h)2nhiJGH,3,0ouI*9Oh[G@\<u.P@`QFA^B`!HlC[++i;DR+k%B4C9QIj5F=V*m[`7`+_=_iG5RmSPAm:IP!5Jrbpo9I&,>HcThi+g1G[qBBY`/g#h</ns)i"I45i*YU$@4/:8ajAXWAGG`Z*PMn4V0Xm=u4l4d=!f@A)<E08U<W*\1-kS^;6o8jqLa!AU.U&J>L?tp3XRA4/$q3KuQA:ar<9$JPjP.G+5j3Fu,`ds%t!L:2b#6~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 42
|
||||
0 48
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -249,40 +300,46 @@ xref
|
||||
0000001989 00000 n
|
||||
0000002137 00000 n
|
||||
0000002253 00000 n
|
||||
0000002552 00000 n
|
||||
0000002658 00000 n
|
||||
0000002864 00000 n
|
||||
0000002942 00000 n
|
||||
0000002359 00000 n
|
||||
0000002437 00000 n
|
||||
0000002521 00000 n
|
||||
0000002727 00000 n
|
||||
0000003026 00000 n
|
||||
0000003232 00000 n
|
||||
0000003319 00000 n
|
||||
0000003663 00000 n
|
||||
0000003738 00000 n
|
||||
0000003833 00000 n
|
||||
0000003967 00000 n
|
||||
0000004090 00000 n
|
||||
0000004203 00000 n
|
||||
0000004371 00000 n
|
||||
0000004481 00000 n
|
||||
0000004590 00000 n
|
||||
0000004718 00000 n
|
||||
0000004822 00000 n
|
||||
0000004940 00000 n
|
||||
0000005048 00000 n
|
||||
0000005151 00000 n
|
||||
0000005226 00000 n
|
||||
0000006138 00000 n
|
||||
0000009481 00000 n
|
||||
0000003438 00000 n
|
||||
0000003644 00000 n
|
||||
0000003850 00000 n
|
||||
0000003937 00000 n
|
||||
0000004281 00000 n
|
||||
0000004356 00000 n
|
||||
0000004451 00000 n
|
||||
0000004585 00000 n
|
||||
0000004708 00000 n
|
||||
0000004821 00000 n
|
||||
0000004989 00000 n
|
||||
0000005099 00000 n
|
||||
0000005208 00000 n
|
||||
0000005336 00000 n
|
||||
0000005440 00000 n
|
||||
0000005558 00000 n
|
||||
0000005666 00000 n
|
||||
0000005769 00000 n
|
||||
0000005865 00000 n
|
||||
0000006852 00000 n
|
||||
0000007678 00000 n
|
||||
0000007906 00000 n
|
||||
0000008134 00000 n
|
||||
0000011571 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<0ddefe241699114217c6a77061fbf8ca><0ddefe241699114217c6a77061fbf8ca>]
|
||||
[<f9cf19f3d5280412cbf1fab060da5943><f9cf19f3d5280412cbf1fab060da5943>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 24 0 R
|
||||
/Root 23 0 R
|
||||
/Size 42
|
||||
/Info 27 0 R
|
||||
/Root 26 0 R
|
||||
/Size 48
|
||||
>>
|
||||
startxref
|
||||
12113
|
||||
14252
|
||||
%%EOF
|
||||
|
||||
30
docs/OTA.md
30
docs/OTA.md
@@ -1,5 +1,24 @@
|
||||
# Over-the-air (OTA) updates — deployment schema **v0**
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-20 |
|
||||
| Last modification date | 2026-05-20 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
The app checks a **stable channel URL**, follows it to a per-build manifest, then downloads the update. Version comparison uses **`major.minor.build`** (packed into Android `versionCode` at build time). Deploy never computes `versionCode` by hand.
|
||||
|
||||
The client runs checks and downloads in **`OtaUpdateService`** (a standalone `Service`, not embedded in cast/receiver services). Launch checks enqueue work there; download uses a **foreground service** (`dataSync`) with a progress notification.
|
||||
@@ -14,6 +33,17 @@ MQTT is fully supported for OTA sources using retained topic payloads (`mqtt://.
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
199
docs/OTA.pdf
199
docs/OTA.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 13 0 R /F4 15 0 R /F5 16 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 13 0 R /F4 14 0 R /F5 15 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,47 +17,47 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 716.2874 85.25304 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 762.0394 85.25304 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 705.2874 83.47704 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 751.0394 83.47704 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 694.2874 83.46904 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 740.0394 83.46904 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 683.2874 182.189 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 729.0394 182.189 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 672.2874 102.141 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 718.0394 102.141 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 661.2874 143.501 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 707.0394 143.501 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 650.8499 162.4425 660.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 59.68504 696.6019 162.4425 706.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 640.2874 107.941 651.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 686.0394 107.941 697.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 629.2874 78.13304 640.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 675.0394 78.13304 686.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
@@ -67,27 +67,17 @@ endobj
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R ] /Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -95,9 +85,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R ] /Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 31 0 R /Resources <<
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -107,94 +107,145 @@ endobj
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Outlines 21 0 R /PageMode /UseNone /Pages 31 0 R /Type /Catalog
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Over-the-air \(OTA\) updates \204 deployment schema **v0**) /Trapped /False
|
||||
/Contents 39 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Count 10 /First 22 0 R /Last 30 0 R /Type /Outlines
|
||||
/Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 34 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 23 0 R /Parent 21 0 R /Title (URL layout)
|
||||
/Outlines 24 0 R /PageMode /UseNone /Pages 34 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 24 0 R /Parent 21 0 R /Prev 22 0 R /Title (Versioning)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Over-the-air \(OTA\) updates \204 deployment schema **v0**) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 25 0 R /Parent 21 0 R /Prev 23 0 R /Title (JSON files)
|
||||
/Count 10 /First 25 0 R /Last 33 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 26 0 R /Parent 21 0 R /Prev 24 0 R /Title (Optional HTTP bundle \(.otabundle.zip\))
|
||||
/Dest [ 16 0 R /Fit ] /Next 26 0 R /Parent 24 0 R /Title (URL layout)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 27 0 R /Parent 21 0 R /Prev 25 0 R /Title (MQTT transport)
|
||||
/Dest [ 16 0 R /Fit ] /Next 27 0 R /Parent 24 0 R /Prev 25 0 R /Title (Versioning)
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 18 0 R /Fit ] /First 28 0 R /Last 28 0 R /Next 29 0 R /Parent 21 0 R
|
||||
/Prev 26 0 R /Title (Publish from a release APK)
|
||||
/Dest [ 16 0 R /Fit ] /Next 28 0 R /Parent 24 0 R /Prev 26 0 R /Title (JSON files)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Parent 27 0 R /Title (Docker build + staging channel)
|
||||
/Dest [ 16 0 R /Fit ] /Next 29 0 R /Parent 24 0 R /Prev 27 0 R /Title (Optional HTTP bundle \(.otabundle.zip\))
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Next 30 0 R /Parent 21 0 R /Prev 27 0 R /Title (App configuration)
|
||||
/Dest [ 16 0 R /Fit ] /Next 30 0 R /Parent 24 0 R /Prev 28 0 R /Title (MQTT transport)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 18 0 R /Fit ] /Parent 21 0 R /Prev 29 0 R /Title (Checklist)
|
||||
/Count 1 /Dest [ 16 0 R /Fit ] /First 31 0 R /Last 31 0 R /Next 32 0 R /Parent 24 0 R
|
||||
/Prev 29 0 R /Title (Publish from a release APK)
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 14 0 R 17 0 R 18 0 R ] /Type /Pages
|
||||
/Dest [ 16 0 R /Fit ] /Parent 30 0 R /Title (Docker build + staging channel)
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 696
|
||||
/Dest [ 16 0 R /Fit ] /Next 33 0 R /Parent 24 0 R /Prev 30 0 R /Title (App configuration)
|
||||
>>
|
||||
stream
|
||||
Gatm9?#SFN'Rf.GS4D42f64n&`n$ht@th)BSp2uH+W:*EP>HD:ISQPL+M+BaMNl3P[ElDH?6:t"o<@X'B#&bElNm[R&1]H(fFUu/'SB`p[Z@d9iqa.miHZK<<a_D>B%eeHLV5g+$n`cJ5e1[M+p-rp:=g-hk-TIKl>t.R5chbtSe'g@4Ko^q)T16/l)QjG=#/0*$tj%^(niB'=fVl;c94Rq9T-qbjYa%l<ggmlNZ`d;]YW,QYT\L/SoY4*5j+4/E@;3"L=<>4+6R5JVp2AEam2?hm>i]N'4#-&>Y,\o;>CI*it:^+*VT:/M]Dj-\S'GR-HG>1)rF_9Vts62AZAS.&/KP.7&tVF1rXr)^@`b2hat^Ho^C\78EF@/e3.3=FXbrb8lnTH-i*W=Y\q60"oJ+EG)K@`WZE@rrbIC=(3Wa0-<ZbrP7VddRliG@?OTM'bM@^H:<LPS#:GR=MUU0=+])sB=(S(P']4%b90pmnAXZRQ<pcTFcmi&$;Ad`poUoX-S-H=9s"Xf<m&Zo@E`7W1V+j[I1r<Hr[9T2u6l=*0=(r1/Q@C>d`b!hL^a`JG>.+mh".ae*6N7UtE+@&=V\M090([c&roc+,fKS4.k&$ZVpO1HQ:qbW\p[43D<7jfr1s%Zk*X]SHP%/qs_)>.$`a)E]dTf%3fs\AXX-IQuTZk<`ckSR_&q`Dt&$s"~>endstream
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2909
|
||||
/Dest [ 16 0 R /Fit ] /Parent 24 0 R /Prev 32 0 R /Title (Checklist)
|
||||
>>
|
||||
stream
|
||||
GauGcCNIt7p3V;.REjTUctsM%[c<`:HshN;b:]-I2V_)r@?a/O6le@sP]dGPJ%nMEUOFO"0[S7fere8TWS1b=QYh2s2ZUTg@/(f_C^Q@PfIh/PndaMM:@:mD%+=giB^AkSq#6X_:>k+q>fMbHEL-"-A-98/4M>#B37d7qjssTN@'\q1[Tf-&q>=7pK4cn6N.<_g*(\%\+ie.076H6afC(JFm%hHX/E8FC+!_*q.`N.14LpjH7(@aVMo:cOFUi02,?Vkp;&HWne;pig/stW$rl5[$iX"]:B$1f1n`*AbC!]Q!&/-g40Q#J*3$B4QiD4NDN=qTg[VUE9(EanIjCP\h@^3ulb"oQDdCkDR]Y:!e8Ej/a_l(fd]]Rs&IY<O;-:?ZcEI#KRZU[9k/P+.pWp^%=[AhOEIn5:b;"."AZAW7eb%OY8\;9El?RkcsW8NCXpL;u%IQCkeg5d"#N$DZdh7i+nU0%HRbkPXUoDiqZeM,s'0!l$u\k?es^14cg^<W\%,rFQ-h2^q`4N,@D2Nrgo]AUQY7FOYkEPbdK]L.-Z(FqB.O_o:5(sQiHdqA.me6:UG'!Dp#V<19!`LJAVE?@>)U]#MOY__BF[XNJRVpt`qQqTb9=RO&q&`diAN>%!i7:tM!ne,KG92L]u&eV5giJNHtQW:[5F4de=<9k"52g7kW*tAT#FVtYS)V1Re'io*G)r8R#[tkCQKlj>J1JJraSX]Ysjsm2S(Rh0\*h[#ch+Z*-1#ot.kn%U?^6WC:J41I8ZF^.9:HZ[=pAh_A\#f*@!1Sp;UHL$l!0qGKSH,Fi?NATX_U_aRBkdk%4I>F8""o8n1#AnI_A]s[J`^<@#tJ4Q0SN]@@L5-<c`H+rq0JJ2XnRtW\C=-"#D9E^>HRmIN"15R%:dA3=V_jO8V)9/=C!n()n]b@2u.1ipUAR@r2lah[inCSoHtY*4uLs6<tgY0&NjlV]D<h`5"W#:IN<3rnf7I@V)cG,M&Q:9[M?,`2(FOZ,H'9Z7d,C["/m%qQ7b!OY!$cBCAWH)UKWWW:8na3PDqL^cUl>!)[9I1`A"dZ9=>4.?Dh1alJXAZ[f0&KghIDGQ3u)I%88:YPsZSEZe,_do3u7F(PYGNQnY/h>CAK;Jfe"7/$*nJm7.KsDSk]gpBsdVM_-_V*[<_"KieX-lV&J83^9FJaAR[R@N40eQ-`P`RoiuQcQ))toDNi=&'*8&o#([b"3lY1)iN66U2M!i(REiDj,IT70_E:q`=eqc-XpMamsDn9#DDW;K`oR5XL=DPFjX!W4n$4N1G3q;RkJTm,@@*@',,:j=@Eo[mr[oA@9;;'cCa%+6B?o@PT/s\]H6`:O9+-Z&57.k1XY8u)I0,P6F&rZ:C!Cu/W0L^!Xi:R'En@[LuQJ^kUjU\!LEQfGQC9uE/*H55PP\H(t3,FH>7s'M9kmO:WH5>pahKQ%,bfgIe+*)Cd\37&H`=p=?#F0frM)[9"e(:ZrfA`bGrN.]+IPZ6kS$p\jUNdMYqU<q;)65f`R3m/l^81YbcrqYDD7Y&[hp!*>OD-)CddL];9s.S/L6A9uX$ViUktf4YO#"Q-I>peB?YoNF`Xl%+(q]bhHlpFBTg_G/shlXR4i+2<o8af60]H!?CJ.B4j(H4_q%ZT$/kjhlA+C4OMV>T\*O-HuDG^XMG(@qGp*+Htug?R`L,"]uo*R45XOof*G%YW8bVhrQ":JlN=.7l[&LWQrm5Zf2)F`It(F&iqY2adFbH*6s%f$JN*L'.EkRld+k]?L.mS@8hI4]U.VW@TQd.Y3\!lG&R`^IaXaCu%lojOI@QmJHA&KL^a>h,#+`Ita#:1YJ=ke9eOJps5BDI/Q<t@;AQ="G8CefDJ9nS,ZFWlT!03@]4onD+7PuWm1tOPO15Rq!a:<(&K-(!VR8=qD+l6V1TZ>%#_98mo@EmjO>6QI[nBl3S+Tn#lh;cQH7,Z.@JQcrXYR[N+bH2ffZ4R#*9WiCs)r41\J,OI+dWh-IHQ3_,5GZU6lP#C2*q=n4IXu$7@(Ri=FcC>bs2H&OAo`1qVV-dl,!GbQ_be(74p,=%A8DsVPpae3'\h+FCr&J%!phP/8)n\RANP?t4^sDMj#K@E9RQgVM!ra,[C,m#\.-8Z&)16VNo7ct&/-V@n4<MCJN,q7#VjB1;#d)'6J+ZginJl(k(\V&72g#Jcf!saNCb$]Z3(.A8_uibH-C]15+F'[Oueh8RIE@!?H&&D^:nc4H,!C02ck+V"/B)?fK/$WAr3rSg%sJH%q.>Z^VRKK:S)ot@r7SRa@ET8H"p"Z]D603qgKVOLU!TKNb(XdR^!ST(f5Q-VoS%Fq=O![U+jDmV@/S'*.QrIcR36sIFkg!rqlPQ'+B$pGr4/93@-kCE+9Zbnp@G.g3S?$6*q_dTqo&G:\b&UPnrjN?bj0J>/7%XJ^PYUR)W)fA=,Q&#(?eAH%,K^JrN3TSH0_Q%()Vj?g4W"oYtK(#fUP\*k;3;O#fmA5JQ[cNlG@B=;^aO`CcHl%H9L\p+Gtk)k!sF'^*%%l)$.4,##2.,u8VN<CiDA;'+@l*csr_IM:HInEV'B-=^=.Zj9_alT>qW6j'e."E]Q!K,V1Ke-CTf$Js9X:Ns[eY/2H*Y35"X.@O>mjeeemhCd6-6[%q$a-C,?WI!6TBs%"W34$@A0Xof*ND,m*+n51R=gFI6e9A'2c_\&TQm%H8Jh?eal(Y.;VnHq-WGu".oq7:*R4IV.oY<QIG<:ptpUC!:[o]OiG-i^0Xg@C^[]#<F/FSnrD8#;bJ$-U#-'iAMlL<>NjgP'I4^NQn[mas1G#nA,3]?*^FuKd4Fq+:k4S*u<c:5*1j9CNBZol^[4+oqe]-V_=*=n;H-XBd1U<]Ks0g-T(CL?,`K:@>!'m@&U%l>A_2jLU<l9>HNTn8L.!uu);Du~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1862
|
||||
/Count 6 /Kids [ 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 857
|
||||
>>
|
||||
stream
|
||||
GauHLCJWt['`H=\\5H<UY[mZ&S-Kdo@"I^R;+]H6W_ueQYpYAEgZ+hB6dcMDmChQ4!@B]aW*2WA`0o5fpRH<n_uUfa:B&k+!R<'#>rgiQ0U[RB-!cmsi,Wl-mD(/?G!47mG]jo"K)tL'__06PYAp;C?-=N89O_sWrI:'837&&eq+E93FXn?.,m-_K#/>VtrZ+nJN]7J5/nrHR:^Om1-KAU'AI?k%(56e.B>jY96^W8?<Sbp"/\r,1',D:CMp5E:1F_Pi(ZPfMSqatt'rZ_O.Xqb?SdDp?q2@D9V*)jI:Q@9a5O_YV\3D*Z'k!!OgPDb&^L&$%f?-l+IoGXNZBeaq'5'#_=:_jZ't*rc9bJ4E;UJXcaB-Is'3dPJd/"VPnCmqtdbNuMAUL'tQDb#GHi<5Gs6nl_gEM=+`A@na9WJ'=QSW\h2*g<s^Je;DA27C8qkMTGRNh%j^2'n@?$a9<$]Ug?E&R^?g.[4R=u"\1=Jo5kW[=&'kE7,<0&3$HO\*ND;uFs8$oA:;JAN^!F22D@iY\I(Ts)7=1B1ZmZ'?\k-$(\d(8I19GV#R>7#VX8Q6XdnHq*%K7?!u8jbokV7?;PmLW:7*@V*t1%X,<6%Z[=%i4>C#\G>=N;&C*M3Yrd<<$*q]&*Dm=D0po5D1<N5L?QuV0m7%VkWuc"bOZ-$H-mf(l*k^Sg(C^iA]t8OYQF'I0NHP)Y_3=_=;u>0I^"Z6Q3V.:X*tW,1pumf>!,_tL4bRb<e1Y9VsWJ,_<8%%.[A(cD>rpmc7'P:LaHTC/2QLVM_J;H#Y8Md*7F:;I3"@5!Bkck^e@\i%CTU%!>V=BMl\1hY*VW>.ggu%gNaVj89AR:[OQ'D1#]X:@Vd:Yb-6Q$eBXG\CO=Mt!k2krp0GY&ERlIGSm:e[?%-<?&=dOpP\GAG@jd,0*MF:;$OS5+oY=u><V=^EC=4sfggs=)C:N6n;naloJ'UMk(*?-U_=IfC^:DuAmWS2:/\.^D$?RSB>$i,!o@qTdMn=njn`]g&&dJmB)/hLiDV8"7:;99ECm>CmH?+1QIeMmome177>36,[.*:7NXU#`$$<7=Vm+QaO['Ha?+#"ti3`gbB>qLPV++VWOL0cX3FNF+e2IX+bSDAS(S@k\.Dhni&qHC"]]q2\RYc$<KV5`mfk2@LOh[5:1s*@j29Pa<=4%6;K`7'/IpM!#n_,D[[=Obi5EgX9J'U@#)37O@f*]Du61Y<bI.8O3PL*o$qKd]J=U=39tfCcqJ'RGn/Ic]S=IebNgn<rn-=jF%FEO@'2HGo4Cgj0Uc*pFICp?k)HF*csY?Jr\i`sAsr5iN]RI_d(-V"7YCHJ?bmL?th@f6]N'q\<f(ASH\&;I\'O'@T=$$On)\47osIfc0O=/Z?FelF=:)4VGOUW)R1>_'9cjq&PP`&.7R#Vl!e@D,-j>7fE32&:0m.#]FGOU[IWU:c5a'Fh<;#PJ\P_T#GDdUlaYLLoea]Rei"5k(;7Y"mf2Q#o[43&?n1>+sjLM2aH4;]UpCN7]m,rm\-mkIb'MHFtO;!82S\S4P4AsoB';2&%Dbe'M!?Sd0?@g1B_UqrOM6%9:tTV.r'B5j'n-N2FrQ#*?FOE-qsOe$Zq@ak3*c:%*\p'nt.Tn-8l55(A;sMYtO#MY&PZBj-POcLP\?KDd5#*O655m=+:9bJ>k?keOi&E^Y:ZO]6:Z9+!+e,k7Q1<a+=PaYNu"@M<k)f"JT\;*X[Ds$Y=H:B77Qj?\NR$SW7?>qT7O_lI)2#[nGNmD\j"lXYdN6[9C%\6M^>s^tpB90g88bs&%:;DhO3[caMQXK"`br[o0t7WNGd>dRG>=eQi-'OGUmaLhiIb3!S3nFD]dn"s!OG\1M3'~>endstream
|
||||
Gat=*gMWc?&:Ml+b[Xf_f402Za6k6(XX[=f;4m]:&gs@[O9O'4rdG+#KZc7V,*Z3^F3^9n`qCNoHEd7<`rOuu\=4Y7J7&[3R=sK!IKl!#'E#5%MJ5k+$-!h%?!e5)Q3i?p/d"BJ)O^6.d.AA15_tTfDC,?`aj%=C>ic$.IEd`VbUDFCKPUh@`t+Y"`S*@]Pel,H0t;_FJ_bJ](,gq,+UfpgG*D?(RhUt1f/=,tKASr`%`'_VD9!q$M4UmP+@C8YJ16Mm7d,lcWZ@SP<#Ju0,uZ+HQP0l`SRlLDUm8oWUQchWatVeBb'2<"H^%IOO;?i_:>3u?CQao9<tVdb"B*SVTed)">N.3+UQ+2=fs$?16?bPdpgn(;)IdcU='riq0CubV-).$@g,9#FWZ]7[H\Nm'_l)SG<4AgETqoW#V#3SC7<WadP#,#@F4Aeq^P85Km4^KHASq0p_S#s[Z0Cb,=00ke5V,u5-UjK>rA%'`HuF5lG96NHo$lZJ[NA?fV9*<-=)_Z1<&6QEh_Q2e,SeHho!7-B%KmfN%Te\K4hC=M1d$G:!HG],QI1(R!963O$:'VII-QAbFkZqD<LN9#0>SYLac!"m0e2m`rJg!#m3:9'4W2,a)1!_9IF7T';$,K'?"Gq?HN]C)_2i]PX#c/J^E&to1k/rsl\)9do*+l,qRo[l-]D$SJoo#q?dtpfhp\,<f6:-g\q-2_M)Q5qCRR0j)^]3Rb+><;,\jWj0k`30)WeFnIZ6'6LoCutL!V\D[Lf`6\1NBgd++G)7%cAlY>sRW0?71ec?3h>2:LdJERurj&WMP5fXWngVEaOo7PQ=C0_FSe'oFG.YNd=0#^;qGK`I<db9qYU~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 612
|
||||
>>
|
||||
stream
|
||||
Gatn$;/ao;'SYHA/'d/ZOr$3bSa]Ys'7rM3ApEU!RlYD"C'Q+pJmXSfFq\\W#ZG7_:1?<B\bB>j'N&OcJ'E2QCP@Zs$Hf"Kd"EZ@f6F>Ch^A%U1Z:`t4A$`m,Z1'X@9j]s;9E>hK>a16A-sM@b7Y/sSqM%1#7QTbG(IJi%*!V1RF9:$^_Oq]D2iD%F/X"R07*=dBW(VLH3QSti$m*&KQL#io(a2hroq";!&hs=_L=AV.@i'XH2oiua25R*SUEh%<b=mcflKhNM4N16#Zb#OVpl^0cE;cZM_j?rI<ZmLb'J%k5SFlBC&3(L'O%\W;`d4^r.pDfSp/AXCc3]SgHi`Hb36iQ3re\f)'\s-))M@=r*G6HDi=R3$sG8h^,8*!;H><\7+:FD-q`P>D69cAkXguCdP@rjrX:3tFm!mS0E^Mo*fL#0A+FK@AO%[M+\=40g/CdCi.@cF#sf>fBI5,KpJ5>UHPAgg*9pl6Bt(8:\TrmsRZcJ6$cXG1PP6Lm<SD;B46O($/`rC$pedKlE4V^ukS?lopZ3F8>3#K#W,97g^*-:H,Vl&m$9[_e.Nbs]&TR_%r1T\%P0c$rS8lCp:%rXt0jI!A`PLUo2[OaD~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2975
|
||||
>>
|
||||
stream
|
||||
GauHN>EdOG&q6H[d5=q%.a60dZ@%Qj`<-L<?$84:0]>-jMGb'5&`_L]>FF/qikM+OHqA]Y*2"EA&mK5G<S_"TZ%1iW1@MP,_!bbMrl5(u_0?!H6Q?rXJQLm<]/(t8FBmgb>j?h]G_Ar7a61b)[hAIR8T8m.1Ku.]bD,O*/4s/1^ZIN(%&nLu9,NUh!r-@0Z^$p6VSM-sN'AO1b6S?PimU`^0TRCi_T*1*Ee8\9_'LYl0T7)OO:"sG1MfI"2;QDo%Vm--Kh0`?W0N0H*^<&$bibt>K^EBsPp#Q\Oeaam?l#q)4HV(Ah52ARCrR:4#o,:ef)0TZOL:&:h995i"=Aa1TA>Aba9Vrp*mKmNc3o>`=me(h0B0O@5L1'TE\"[9P:$K>MG4pP66u%D,MuOYoRmOKO+;DCP<p)Xn,!S2]$:hsE#)%X.7gmE>.QJXmo`mbFh+[js(GYV,EdC6CC!-BE'Wk^Eur>`W'B,;cm;)b!jS>Sq:t`GAis)27*L>62GCHT;Jk2JHlL=2\[7'E"sUY5MQMDa34[RJP)+US>*ug5L?KgV`%m1YW,LCd8kjV2S)6=tZPqf`#s:bddP791b=&/*ejh@RN%9!i+$\KQ@6\'q6Ckp?(Cu:kqVV&-0ut%EgG"#.FM$5EM*dE#Z>_sU%V`RMd#_oR)(d!DMTZ9\<P4GMf^Qr*lOChbG=k"=%LF;$)\)*Setd"1XnJ=r\rRq>,:g,;b,H#i[<t)@gu9D>;jfIrdAYW@J."0h:=E>iVkTM@.C";9FltsN'A%Du!sB,(.30EOYfOoW%^</=6>an/5i<5)n:C`F2R,Eb%M3"n0]21CTK_lIG(9a=aN,CTSHPP18qMA"=unE94;3Ur>jo]W-@H0qA%Yg^*TjV(alZt!&qTSajpE?n*DcH50kZb9Xr1;6TOZ<s?PbcMhS<Nqe4,5O.`N`S:PZ47_n6TkZbf*oA%a:S7iOUfpd`&eipgmS.t6bUnnlIS3q5dSW_^lZo$u6CDZhHBgb+'_Y>;-&7__^+:IUiR[FUjW`^UJfOdesF[0@A#76nJOLPICAjogt-7XW1\i&Zs8-^O3[W]Fu2&]T3c)app][5Q"H[H<R;In[7kZ/FA5'j(dKA<5h=h,:SO,<0NGc5-g\DiIFPZW0@u>k7^lg#C!9E\EE4\i=.n^Sa4OEs)/,?1J%/(IF0R@F7k=^$L4\8URr)#&%CE@5+$@WRA@U.'KdN)'2u&:df[_=t1c:.^]P)S$fDSY+FIPlg`c!UL,S34kM`hp0aRW/GcpY!"no8c"\NIK]>[@U8Ac[4-=U5!Sg=ST-0)*4<t2t&Fh8"lDC19H.kV5/C0#FIHuUKGLR!/C1?bY1KnBFF&1tjB3+,cd<nI9Q$Q]TLs9$\HuLZj%lqI3LVU!Q2`FIiVSTmG?V.\>i5n6'`5C40.A40b]ccNO6#)_foX8._!V^mXGQu0PE.R$.5PP\H)7++kg9k=Db_KuVFkpqSKif0.>t/dR9Y^FZY;`/"g;ngJ\^nYY^NOBFQn[-mP*SH_FF(@MA2WpKO"B;#6'j$\AWa`FY2>]/QM+_H32K9Z!d5*9q%])5#@RiS>HDAj2c,ps&ZK-\`=-^WQ/_D5E.1U/0D@sDAFhM^ol)jcU"6HH!"B?HmT)X%H-,.%YpJ>$n^tqOmSN6m+F[()ne/IBW!2ES$_#h(@8;9u:X%_<dlX7*>o:;bUG1<X!3P,.)$fV6Q+JC7i*Eg42d`+oZ+OiV-3mLq+Fa@\36:uIlHC0Ms+Cq6@=N_!0B2^r,uU8j@3urBRR&cnrX$0pQO5E2Ddd^nig;JYV[9,9.n*HE[it3Dmjb:rGsm5f%oZ=C9ggCS.c/1u%-K">2<H,?Y_);F;WdeRC='CRo3H.6g8LRPc>9tSj]CQ][-G:;/8I'$]A5Oc$ulp'`_X$YYm6ie=k.>Y8R/I.M^2Uf-p)eW%smhMmn+=_&`PZk$@9U913ifdDclOOKoJDK&b]nL/;sVG:A4tVrdMY>m=H)"%U0sSo@Fqp&'736F$+nQLtQHQ>+4d5A11mt$%9;Pp+^LJ9Qr6E73iMK`"bmaKrngqWr#.#lSnNWDoUBN?8\46D5;C4ok(:m:S%Q$"DM]-Ug5@m(+ltn=4htWH4."t14,d4+4"Ei:-1d4\.EL"G2Q5I"F;>4/A:TuHj[tP/n5[gi6&?f&M,PR7fCJ$m%B>kR->ThJ*%7bmBLs,mNE3aK#D\W`Yulfq!^S*a0IOb:Crm=ng[PZA$HU1q_J&7eChX4hY6Ma&P!14qV'HrcYMunCNZH%Wkd2EA*`P`[n6gVk.F!B^M4@1K9/H=I.om8D4GIap6JM%WNebAX\U\I:XJ8a=#Ag6Wou6#^(^^VBb0D!R,-JgrBgc99Wjat9[^f<0DtkG%%Cqf_=",uq;IAjb]OFb2H]D`-!l:E@g;/rI9O0UGBA0GmF,Gmfc.`-@K<V*#4Sf5^q?m1J61D(@mO]\c)J@s3PFlTqog80aQYlVYV>MN3Phu;_!5M1Kg+bE%ZD`e:bGi760S&PQX_]7(WXeXdBf`d*eo*/@\q0D#'!LDHXf/h7V9[tMMk*>4/e+&%'rn#<$XN".[2FMJIP)"2DAoNZh8t/L4N\IluO+]OO.HA\Z"grp(%V\7M=)(7?)'76;l\K1qs#E+E)HLX[*[;R7k5I/f1g=ZG,472!3O^3cUtO:Y521q60n4I*&ctHD/U]k6pEk?)s+";^;KPT4CSY9sO=rC>cYLnGlLP;/]d=@`('8C2VGU[`m5\Wm0;E#"TL:)ZdY(SVXn[9_.4RIC.euE+8J<Z)F'I,4AQg9c`ok?]4DAaT\<93dp[']BqTT^oG-8gE/6X4/"gMN"+LrCo<uFQ9cV<kA+F[Z`u%g\ONZXOU&I9LJV`m]4^T<h*H&?Uat_7gf_'?VS*WHoJN[sE7<rHi]EIfHVjati@HcB<ehZ.mJ5DBI:A0I&F5Y2Z:61Q%pTN,YJLOirX\Xs<[n~>endstream
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1936
|
||||
>>
|
||||
stream
|
||||
GauHLgMZ%0&:Ml+$r@XWG%9fHag+j@5dEtigU^*;l_#Y61nZ/Kejd+pWEf;HDsrdRS:m1@,q'N5CfqrB4>UWq%-<#!+%Lg9.DX=FXA]?D(T%RZ4Q=2!![lHfD`^]OddtS"jP(^Y5sXeQfY`"0(ahA6[2]FK.CcOLCn806s$ArXJM3_kqrd2X,c@%YE\;QEqA#mrPaTkmBehPfM;N+V+"1?RXaVXDo:r5'/d2?f@N]@,i7BVpIm?<gPFP)b<jZ69W.86Pe+5_iQP,0rT#>*7Au+^KhOMHU=7'uSBq2H,\m63>6-=kR93a$o5itKT$=&-S8?!#!E1`I:/h]D^A[rHN*<>tSZYqQP0-d&K5u;J>f?u`S^IbtS=fYfKI:kAT=?![R959/2RUn%TKV\3mOfotT9Pf-*U\?Roi&;.)Kk]\;A\pQn/F*pccY8F5rsmno/OINY9!`cYKR>rZHD]h)#@mr"4,((/-K8V1H;nW[=%'4i?"8Ri`V&e%BK3\Z_t2ceoi.=99-u\"_ell]gWR,+>d;MkL$"6QV3!5h^gC\_TNQpL'IS4Q&Y#-14V3dsTnIC(_J<#GQ4=>H(-)n.MRfPAZ%UsW@_B7;*._Q41'/7C@2-+F08_6GgsUO,4@Kc\/!H=u0FUEh<Vc5Y8f'T[.9.>;qnZBV0^CrjrUHC67#+Zt^,r6_maO.dmUs1mMfSVi>qV@W-dW6&Bcb+f3tNQr$Rr/'b8@.?oe@fl)k2X`]qHLPg'7X1$;5`pb"Gm%3!^C5<OhP0kZ?@=n&%c?66MJWq"HY:<NuY#LtJoS%-lq0cB_6Gdc_15"G%47G;KgIGae_GQj,4Job9>5&KP5E25sQg1b)j4-qr>Iie0Up9'`S1=::&oHOU^"j+1itAaE00NL@>c5MIK'=m0DRcFDTS8jpmobC!T^DqQ+TSu]f/_sjnM<Y0%,67jr/j@nXV%23$Q$H(7(Y#2#JUH5NsCG%iilSoEY)6_!<I8(l0*2$r(qr<4:)ro2RjOUk@Tr[G,qna0i?%/4^?QGc/:X8q`C"/iKnUnZtACkpHJsLdrG<1l3VMA5CLL3fZ/h\OVFdt,l"^0K%G9l@pL9-EBn+ta^.^PUc5@R0^H_'ttG?+JAquCg^dIi)_WEcU7Y]dq7o^Ll#an2Dlp&f+2:tJnB(i/AJ^anO?YUEJ3[>:.ql;h0?r9(uWHGja1[T2CgN-MRnj<75g_=N7u)-8]g;*)pI)(&@NVeN4V4koA>'6!5T2Un!>Y2@)0(#CDh8BI'Jem*+YJJBW`+t<JZo)nmS]f<oVcBEUD<=e-D8DoJEiXU]\.g`jr9S.#pX*]m`9i%nL'eVUo9VBTR,d*j*a6\O,.Xj7M2uUC-V#AO1LJK:9*e>MA=[Z@B"U5ug@^^&kTn=P8_st_qYJr\59,cYGF^1Ee*XQ3e<6.$ji&9cMq@#n<ME)(+6W:2d[\-2IVr;b7#_ScZ_FqH:6$7ESW&gH/4P,!C3?/)jAQgp;$;#-HaD)]oW8D<b:5Eam^eXPIV\(fs&R3U;OTLGc#NUpBG)Ed:\LNuHLW4N5;)c)B\_Jkk:d@8+d8la>Rr]Y.i"ED]3N?#:176j@6XVuoO50e?qJtn(dF-2V#E,mm6)s#7h7N%c`EARmOfEE@*-D=PUR7]LrY$*f`(j&EN1IG5d3J-HeMs/7ilsiQa-jjK?`RYUDU#`\Sp^dh"]Jg<VS6r_qfnS%Ci=iRDP+i0'2t[PGoi6EWos7+Y+lXDLoSR3./a#seCDg6oc?2C))%pd]"H8J:Su+['6?d8Pr9:/(D4!U1ejoPXkGcf6[O;nD\LV;+(lGj,j?u5M3)/lG.4"MlE$XSV-tBB>K*A8KKdAM\U&a%o#u33CRZ9q"4c.N[_9op&pTEM%)MjI[k4'q`ai2b>(+=)+"N.'$:_V)EL`0:L>EK\Fnilbm/.)AiK,\~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 35
|
||||
0 41
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -210,36 +261,42 @@ xref
|
||||
0000001536 00000 n
|
||||
0000001685 00000 n
|
||||
0000001801 00000 n
|
||||
0000002076 00000 n
|
||||
0000002182 00000 n
|
||||
0000002260 00000 n
|
||||
0000001907 00000 n
|
||||
0000001985 00000 n
|
||||
0000002191 00000 n
|
||||
0000002466 00000 n
|
||||
0000002672 00000 n
|
||||
0000002759 00000 n
|
||||
0000003092 00000 n
|
||||
0000003167 00000 n
|
||||
0000003259 00000 n
|
||||
0000003364 00000 n
|
||||
0000003469 00000 n
|
||||
0000003603 00000 n
|
||||
0000003712 00000 n
|
||||
0000003872 00000 n
|
||||
0000003971 00000 n
|
||||
0000004083 00000 n
|
||||
0000004174 00000 n
|
||||
0000004249 00000 n
|
||||
0000005036 00000 n
|
||||
0000008037 00000 n
|
||||
0000002878 00000 n
|
||||
0000003084 00000 n
|
||||
0000003290 00000 n
|
||||
0000003377 00000 n
|
||||
0000003710 00000 n
|
||||
0000003785 00000 n
|
||||
0000003877 00000 n
|
||||
0000003982 00000 n
|
||||
0000004087 00000 n
|
||||
0000004221 00000 n
|
||||
0000004330 00000 n
|
||||
0000004490 00000 n
|
||||
0000004589 00000 n
|
||||
0000004701 00000 n
|
||||
0000004792 00000 n
|
||||
0000004888 00000 n
|
||||
0000005836 00000 n
|
||||
0000006539 00000 n
|
||||
0000006767 00000 n
|
||||
0000006995 00000 n
|
||||
0000010062 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<9884c574c7519d156c7454ca12b46b44><9884c574c7519d156c7454ca12b46b44>]
|
||||
[<827a83dc9690f5d03b0df195af7de6de><827a83dc9690f5d03b0df195af7de6de>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 20 0 R
|
||||
/Root 19 0 R
|
||||
/Size 35
|
||||
/Info 23 0 R
|
||||
/Root 22 0 R
|
||||
/Size 41
|
||||
>>
|
||||
startxref
|
||||
9991
|
||||
12090
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Pro / OSS split (cast-core + cast-pro AAR)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-23 |
|
||||
| Last modification date | 2026-05-23 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | postponed |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Design notes for a commercial build without forking the cast protocol. **Not implemented yet** — complements [COMMERCIAL.md](COMMERCIAL.md) (dev-gated Play Billing placeholders).
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ Design notes for a commercial build without forking the cast protocol. **Not imp
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
181
docs/PRO_AAR.pdf
181
docs/PRO_AAR.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 11 0 R /F4 13 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 11 0 R /F4 12 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,37 +17,37 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 716.2874 66.58104 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 762.0394 66.58104 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 705.2874 136.381 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 751.0394 136.381 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 694.2874 127.045 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 740.0394 127.045 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 683.2874 101.253 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 729.0394 101.253 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 671.6874 99.48504 681.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 717.4394 99.48504 727.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 661.2874 165.285 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 707.0394 165.285 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 650.2874 162.629 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 696.0394 162.629 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
@@ -57,22 +57,12 @@ endobj
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R ] /Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 26 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Contents 28 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 26 0 R /Resources <<
|
||||
/Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -80,9 +70,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R ] /Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Contents 29 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 26 0 R /Resources <<
|
||||
/Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -92,83 +92,134 @@ endobj
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Outlines 18 0 R /PageMode /UseNone /Pages 26 0 R /Type /Catalog
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Pro / OSS split \(cast-core + cast-pro AAR\)) /Trapped /False
|
||||
/Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Count 7 /First 19 0 R /Last 25 0 R /Type /Outlines
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 20 0 R /Parent 18 0 R /Title (Goals)
|
||||
/Outlines 21 0 R /PageMode /UseNone /Pages 29 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 21 0 R /Parent 18 0 R /Prev 19 0 R /Title (Entitlements API \(in core\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Pro / OSS split \(cast-core + cast-pro AAR\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 22 0 R /Parent 18 0 R /Prev 20 0 R /Title (Module layout \(Gradle\))
|
||||
/Count 7 /First 22 0 R /Last 28 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 23 0 R /Parent 18 0 R /Prev 21 0 R /Title (Play Billing flow)
|
||||
/Dest [ 13 0 R /Fit ] /Next 23 0 R /Parent 21 0 R /Title (Goals)
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 24 0 R /Parent 18 0 R /Prev 22 0 R /Title (Build & release)
|
||||
/Dest [ 13 0 R /Fit ] /Next 24 0 R /Parent 21 0 R /Prev 22 0 R /Title (Entitlements API \(in core\))
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Next 25 0 R /Parent 18 0 R /Prev 23 0 R /Title (Migration steps \(suggested order\))
|
||||
/Dest [ 13 0 R /Fit ] /Next 25 0 R /Parent 21 0 R /Prev 23 0 R /Title (Module layout \(Gradle\))
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 14 0 R /Fit ] /Parent 18 0 R /Prev 24 0 R /Title (Relation to sender resolution test)
|
||||
/Dest [ 13 0 R /Fit ] /Next 26 0 R /Parent 21 0 R /Prev 24 0 R /Title (Play Billing flow)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 12 0 R 14 0 R 15 0 R ] /Type /Pages
|
||||
/Dest [ 13 0 R /Fit ] /Next 27 0 R /Parent 21 0 R /Prev 25 0 R /Title (Build & release)
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 640
|
||||
/Dest [ 13 0 R /Fit ] /Next 28 0 R /Parent 21 0 R /Prev 26 0 R /Title (Migration steps \(suggested order\))
|
||||
>>
|
||||
stream
|
||||
Gatn#?#SFN'Sc)P(%9[@2q<nYn(iOqW_&aR+dY_uQ5H(@`6<C*mGI@X[*UOpZ3j%CLOJO`nU""@LIW0Lm_p(]B=OCLE.Mg3*j>Xt/ZuFrNra`j$pk^UTbei3A*3T$5jN*PH&;#X+3[M*02B=B:o",I=Uf%?^6=D9X[tj0LTQ4@XT8(u91)nE+Y,:;)N?9&c0);M<B2Ub7;gpmToHtqFRL.U)3&6dM[O(QOhJfsT6h.?4^H+4,L4.hG3JHQi])<,@f%_3K(J[=A<#1NggW5tHB%1UmOQ\hFnpX\&,e1o,)JD[irM@$"n_PSHTP`VhUl8&Io?u+M*ffhf$<shUpU0:^AhY<db2N"oc'I&5)Pq]0#d/1<DLYYHW5s$T;d"6)K"U&9BA!$P_sO5I*lLmcE$l0DV>H30mTbp5pUBjs&"S$a^\R)<RiTNQ%&"l*db*?s-D=*]G!>cLZ,bB</GfQ;T[_:*nk%K2Z'P?a^(`Y==6%n&n%3Z9%$39D+\MgAKj[j`A<]mMrQXqX9jDnZ!'$>5m$A),?VktI^4#_^0pk!i!lg55A4nTh3^NXI+@&W&0`J#U8+TcHF.qFjq76H9g;AAZ]\,4=La.A_)@dB2NHpi1j,s_f>WA#Q5uJ0KAXiRJm8~>endstream
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3291
|
||||
/Dest [ 13 0 R /Fit ] /Parent 21 0 R /Prev 27 0 R /Title (Relation to sender resolution test)
|
||||
>>
|
||||
stream
|
||||
Gatm>flGh,(4FM1TPA3g9#mgJ7@X8:aA0mA\F&uFo:i66LkI$!,f'[U0/_;[h?Vh(;5?T?Yq'uG?3#14GC`K:a1%K9F9=in4cklR-8@+CYTTfQ399$;\U8Yrk;tJtF9]a(4Qnk;1`@<]HfAER?=T[3mUb,5+WtCS)!L(-_m/(%T74s0l!6!^QQZZ(bS41c8LSRI&2<?hlB?M1I?-M^GU8MT^])'e-&G]^\5^EmOs1[En."r>4FG3C<jmGFG7bK06p:u\(c.5cZ8ec')<d3NAW?=Z3KYN7S*TC`]BRlA2^@h5XQQjdj!D\0FQLDYUj).R=7V4F^1JS[WQS>ZpR"pd%n8hf%K1kH7P,&XX7)"SQ<FPF_]JKqG(S\k(t\q'#Jnb(p&!bi"L^$+%X/q%_Na2US\U\Y"Edq<g=DRT=kZK?X/>k?W388GWUD[9!*@tA:,?rJW]S,CrB8AmIu+'P&%2EW]0`eAna&W<UD0;C6ln"!:EHCB,aL8dOc])FOj%D7M9.!:=9sC!/6qb-*>)@N[DH]RL6#W4_p^GB*5dIE$&$@W]XQ#<kA!HK5"ga?UR+^lb64D36SES3e\TXfA,Fk-E9[hM]G;MS1Gs2nIX]nC7YoCN4Q)6UcWq;9`:Aer5E:PU@P0u8I3_t2P5s"p0iso.?6,/fcs->Q1WT`$Z/kLEa7g7F=N-mDY2l$8Z&hpAR'&T5,4[/h4fB3$:[i/N"6^:.P";Y2c.7#pjPeJ^[0jX'<8d!<p1mrL?r++Y8ntB(;,eq9=9S(kHH@480:.'&Ug.-2,c#DePoNK;4CDg_oC7MKg`n177oooDM#r?S4^*O<CC9Dr`Q>d"<RjCH=MjL@'oagr-UI?*n-:!Ic"c[Y]+6e)JE#SH@b4<a/F<PU>3NgPH=%PJOQYU<%ck],Ee.1Vo$`F^r(G%-mjB7\Y38gh"Ap+8E4V[`_/N@/q9N9e!$D<%&MLUmdMA]#Zeu`glMiIno3aV?Ou:!QR!(iRs"CKFn22$!B+tEI>:F0tWPH@e\5E/Zqf&u0M(M:a?g_qK<O6#&U=bD#^3E\&9F3r2=Fk>*`-i,n`qfk$]=5;2-)1JXMj^&O<2KV16a_o274KD5m<Nm53$lBo6&5oWTSXc.8J,mI&#])>WeK8A3)JEpc%'U]%BY#^[a&>7N<ngOV9iW9$iFDhP%bJH`dO#'5#Vf-o0``&-23Mc5$q&\IQsHR-"=-X@]qDYFJsD>jah7fUDBE^TlcsU@,HBi!m*Vh+YJo(13LEKJ?ZUo7FEX5f1?aE;'Og2e`i#:U$8R":1U<EMD&%e@@me;';c3i]AbmW6H^)B%K:H(4mN86j8ni9JkKB#;l'iIBjtI0cCi[,-C+1^rn+L]2DOR?YWj$>@l1D:Ni>#GZ#&KOER:3+O;u0EJR=>mYbh?E8VUgjM32]=OS\EnOYbk+Y<@-J^;pQF7<kcuRl3E1jr:2*ea_9_3'5BJ)("0JP$6od51?NQbI3@<J,#=X^S'/Wm9<kt?)(\a6,+RQVPd+npr_W,*FCj"*g.(jE1%KNAX$_FKHM[Y?_+_#93e^*;duXSnM^74aOE,Q7i`'nWs;l3@JOnoK1NddM"IoYPYNTCLf.#m42e@n6cI-0>M?Anfo8+#m2)MG3=Y[q8u4Vf1!N))\NgJ^M[0NLlhpa,Pr;G*mGqHRf%P(@Ulq1ITDQt,<FqEs@/bGj[OUQ<]&6"KZf"L:iptRYQ[1Us=^Qab7$h:T,!_Nqdj%YS3HO0.AWpO%`kV!2N3P6\"t$>L^AII23T.G5j^='hGk/t)qP%?q]YEuVIna"<B\irT??q+"iWW`%ncDV+$\3B]"eLSf^u3?C4Cp/sCQb)]ZVWjH/H!n]3ZVjH9I;j@)id'<S=H74Ie==`)Zn3ne7V75gY#W,TOR:J[49*FrAPKb[!>lVd]&S2:9Ml\:XVj%Z7!qhcfuGmTW8Oo<h5t@9L@R,l-T/;2qIo"+^R\OPeHZY?-IDh6Cbd=VQ#!7eTKGM6P;PhS+XKdMRL,i=(RHDk3:U(R%ot%V//:j8GVoh4\/-`=.debQ*3\\pTIU'FB$h&$l4hAASpI:.3cl:S3E/>8")aYhL,VSP++NIfQnh%$6d)<Y]U=\h7YclMGRBO47)9"lk,ZpCM^J+]0/PNSJ*"0m@(_qY;_cHrG(cOU&@C4=Ru3-"atrqbo32HhOg+RIc&8n*333s^P]AlXpBu?G^2#aQdP`%(/B!5Zhf=K>Q%Z"1:3teOj]=Tp5"alpC/pf?J;Q;eF01JUs,I<f1e!:X)Td,lF'[%/b&ArPE9#?XTL+[+"D+:[9B'Yh:f*WcG=#@Q#Y.2'=u)"K'JL9edQ65(CXSO!3eHVBM@a)a+DN\kgc*YgRW43$HhGdp(T-Kh;(=Zp%8;f5Hb]$eEo)"[`4Lhc0S(4)e7Y,lDkDml"cKCG1^h-dia\Y(76JjbP,?c&J9o*\pCMG?(C$Dqc'=I%r!SjJJJ3s]t:qkHG$EFXj`fm)EOEpBT%#V+=O8=d0$r_^>N\hb7R)mI^&;iRl%'Y;*]NfU2YO7TVs[.CS[lg&WEfu(T-KtQ6i`:OuBYh1qf[:*YcLN6LjF.5u9Mn#L;)KAfHM[!@1&r#%a=hej-@aR-6i$E.:.PFl/k=V\]5:-WbMl)>(^IN+7s=`<&YC"=_hh=U$qpI?0Odh+#=M[0X#2KU_&sPWUL42rJl+M++`cVtNPhg;T/'&Qs\ISS+@SdEcE\s$6+%I77#_[]T9,F:F'GZji?95gT'0"KM*$cZCI%+qBg_7D.';XgqD3esrD!;oVbUPqle\ppGN3fYAI;J$tr9?Cdrp.Gr*,]2%U>Q1D2mNB+cPH</mTl(.IBZ?`4B9:jK\>X@i.7;gW@f$<be.ptG&;RnH6^AB9/QrbW7MRenh8fJ4#d3<-e(]_9TJR!sH@_PBt9@MY1'HaZUR<4rWRnbItmHngO>UM[-`@TGi<g>5&8FBjh\V&!V`Kk5G-IGS&mIDP-VSn8LAG>(sErrLs8RIi#Q_t0r9!&&oU/Ng$c,h"kf`@j=K`C-H(eXI#S&Y8W&Y]Dto=A(Cc;qN0dT7)<bH_if7FhJqI;oS:=I,/[iS>@>O5Fh$A?i+EqYZf-:Kp1HD_/6<L-Rk</Ibk\/EDkUg;9V^(uHZ<.k9MRjkh0(H9RTerC7)#pl^`0F>=`3[VWNrh6.LQ`,fjta?=BmV"B96n10uhAW8^:*#2*OWQ(^_cu6PC*>hpn2+7iard+S70`tq[Psb]+VQ7"^^G>)Mn%k[>fg//_Sgsmm1`,t4^+r&E37Wf=jPA_ngUaE~>endstream
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 344
|
||||
/Count 6 /Kids [ 13 0 R 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 846
|
||||
>>
|
||||
stream
|
||||
Gar?-:J\hm&B4*cMK^Vke1MHOX,;aj#QH=]#;3D)@*Ed0]3?K:hP!t:1m@97k5F.`aVn\NVL-K)\@&hm0JFa(2,'V(YYUY@_<8W+b']@YcR)eTl#`5'j-s:64Y(2@?=jUM_dr#mL`[(=8&)-pAqT09p>l.3)@U%=<&+5H,]=rnDArr>[?8.1nVGn#eE_FY"KS?UBTY+Ao`QoB&$d+*"4k3&@L;nZE3;cAJ/<E#n_Eo>/\B)H6\NP7,A_eo.YPmgJOJI[:_pYCQHn>nS5m'L6F<l!D!&$3q:Bo<KpkDiNk4:ELlZdF@*=g%#WigL<4t._!JU,3l#2U]_M\m.hb/BFNW~>endstream
|
||||
Gat=*gMY_1&:N^lk)lHKZa3a1O^:qb6:q;[T-@8NR)T`HWA1CCpDo_??OFeB(+eh?3HOo\XEP484]m(b,Cn)]gta3J!,i=FQi_11hn7@/&Uqr'RMeV:"kHksV5jkl_i-ZDC'dSFL0FnMe\Y;ll0f4(i\?Aq0;9!Z;!0!Ta9*P$bghC+i2pDbQmQbW%uUVX[[St'kOI!XAWp\g#4MqVhclO)S^*jGDSUT&mhR6E%[-`XcRINORBC(9NikZ][r'f]l%<s!=$Y@+]OM0+q_X/fEW5Hce?EUdb3=_c/JF-rin#OpLYO.RN"F&":0Z`u-8dNi9V=(MJHg..I7p++;pH!Qe/VL#.VQ:;MI0t=Y9C?@H-J4Zl8#QUb(srlikPh=MPLg`T,-^VLTTW+=$*ZTGohjMEXt/F#+P4PKGp9<BWbeCl#68]Mn+kno=JK]h!#C^lN*p\lm55MXQ9fS3(m_JY5R#1]a+H+-P+ur4uKk5_-=DWPPDHQ/%DiOWZ>onQSe1fOpW^(CN&SH]u'pX0$K"7M3&ahc!VK&oGWK5=bZ0\3Fi0.,P>5j)K'pXnVc`DHCRuPg[BImEpu[:_-<"Ug&'lU_muOM(%.h,LN'IbMlbNj%O^*[]53tT*QF;T6V5$>bC()C).`3j*i]J:B>O-bVHi#Ki;Q$7f+E(W<LSf,<]g=VFUJ%0hY9rj,NXD6YUG6NI=O8fH#7#-ar-qd@]0foMC^Cgl9i3N\IFX)@;H$T.thUZ9SH:PKW5ThJWM`p9j&bDPs+J7N][4hfD9Tl7Pe_F5mPRhbH+%;#23q[dWCoQ\2A'DTVZ5`ctc]rV@fAnNZ98Y\>GAo0_u#mOE_]~>endstream
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 576
|
||||
>>
|
||||
stream
|
||||
Gatn#?#/1K'Sc)J/)I=hmR!3"&)"Qf=BbtKb>M[OL1`$9=2i<-H"$`%-[#c$PCY/K?suXXo:0kQ$#jXRIo]c]?JtN`5Y)T)LmZ.053&f5r0iH%auEgDQLG_`.E8,FVXJ2enOuDD";^)J<uIAtA0),gc%Pd)-]Ht3[`"7tL6Mq[Zm^D@%D,)@gS!<ZDc$@"nc$?'7dUgQj_s'I"(!,9,8<<>_3S[A1!Zsk]PBkJN8>UB`GG&NX(g$\n4p0)7YjIc[7%a]\tdK=nrN/>=Zj4"2WH(D>O$]8@R57_)e5=[K=.u]&Tj/LTV!H`SPPpYlX;jC)H5Z:S2RtNH3B]b=%e%LEFig"$Qo#d;ZV9Tfk>]2@9p"kQqF0"HnCte2M4c/n@BnH8rL0U)[8lMKMIi<89&Xr\\*H1NpO9+HkS.'<8_nKk0&q(3.gFTq-efD+)U0jr;hi<fC-'!P&5!9Uf?D^p"&b:4aZOtHNp%G`Q*?'DY.6sO76*QphmRI0$mkMXt:+*[X,7)Za32jMM4kU?MB*:.?undO146Zs!1K9A5j&,YXF;KO(Be\MtA)$-@Z'A3D.s~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3360
|
||||
>>
|
||||
stream
|
||||
Gatm>=``?/'n5n\^eCYcEb!SR-.u(Slt"nif8c3k75GsAKHqfg_$a(GVUPS%&)9QMUdQMc-ZLOU!,)8U!Z=DHO-0D,7tc8;,c@7C@[Q4r:(1@5al?HCom$,\O\ns/Nol?Ah'U%EX-pO^`4D^^XTV"h,5CI03uc^YL.*..@d'8Up/`W%e:Dr>,8Og/8L7TZ,j$P@ABkAKLsMiP$D2SeRB9R.O;F38q'oCJJ$=/`dNp3R-W?06SoUHY)L5+"^LMUHhgY&B:C2rBO@D'%BgCNg>#5nA%*6pTL[(gi8<V*^c-=f;jSIl:('S50#jCm%_SbYTjl7FnE#3h=j<G%"`C(>b5$d_5TL)E2CF'QlpoR1^VIg9[UK``G=E?%6hEg(76X:f$+L&58lg?gNcudHM\d=mhArPR9%K]/,>gqIo?tt]^FLqkGZ0%(k*Cnbb2KD8f2Z`ia,\[%DU&5AdA_q$2cZOI/be6j@\!9#n\"A1qg$@'b@lS9cjR'he>cRQ1&nE(6+$T5*TFKoFqc7>]^&=<\?/D,9:@:Y&]N?LcUrPl"T<`)ZNesPdI$2j$_.%^aI,W0n?7RdYm"Z#+Y,Kb_DCeAt",[)i>KoJ]Qej9h)6jOWb4/E86F;#XOG0@oiU!^/qRm6+KNuru6\j#^K:H1Ogio\/ij5utqI:-nT>hLgZD@J\A&=FonJK?2#TBsJ"G@&Z02J4CO3'ld0>\ISa<d%L@'c-8QtPPi'mg-qO;mYV`h]KJD!aZSOH6G%J;U&n'n/j^!'\80Osp##q79mGinD<-X5F4R"cb5'^,35%p([C:UnN)f8XcFU:#LFt/_T1MeWLHFP\Z1XKO1+`2$9$kMs*1sFE/fi$cjbod?UVePscPTHSgf$[k,'$RBC.eXm-DE`tF-uZY4G\3sh@jL-Mo0-rp`5h0lMFBNB7p\a(RIVXf:O/Tg4kK.iH9aL17F#;Y@20h48L`T]c7rWT-dpQLsG=&_3aK#ip"38;cTj&d%[J%lX2!"sQ+ioSH!?3erf;0!*heUQb>Gq`MladV)n9Y7":s&N/GpbUqmU`KZ'GCiTq'97dME23&JqYkkp&mLO?HbD(/<)*ZmMK1@'%/GgoVilfcKb`5U9KX#.Wi]V>Z$VCa<)>4L@k%*BNU$09gJDaf@ZegRH?Ys'/A38&/I6>fkM@[^iM;:=l2.f!3&SS@'-*rbT6<KN(7J,b=BfDmhb+5i^'.SG)fkjDK*>6t@#oE8MF/j>i9$GHO:)gHds\frSGmdgq*Ok(?H6APaJi#)&^-2c'!+H57491T1t[#EU-Q"[:P_XhZs6o+)Bc,]RZV^7oQ?VCA[2sJdSoDS6UF^O6+R]6,YPRJ,)/H#Z!Ng[ki8-#*!e,0pc%tH"oWNSZ'[u$VfO1a_<sltH;5C]W#Du4e@(n$q3jK&/]T'(20SZOLhN_Aa0q[$MQpu2KCQ3Y)Q$/&i7YoLq&e6er=gN[d70jAgY&Cu]3&U)p?l]V5Hum4_0Q\7)Z+-;R@3r,@;`Ja(3+OCIVtBZK5kLc$i!Dnc:uL3>i#@HI6XLXC$]&2XB_N)$qG6XR+WqK4MH^J=N?bcP/gQ27(CBsgF>hd3'n0U[BE2-q^!jtfI=(2QZsJJG@YHH=Ml0b)"duKJ?\C9`'G[,3(A5H01rF32FM8V],b@Jp7YsVaXq:2o'Ai;Y4i=Ol^S`;[&)1kiY]\/i`r2\$@)]*Lin/r]$?bBmWNV&=(cA0/lP?ZeM"cUmnMr0!au"=8[g27O/h,,8MauemIKQ&e)t=&E7%pB#"4_a<$4H)CsjP(<]P4BHAa\tre\DIO0k$0ZlOcUJ)>`>64S5h;)qh?*1fLfOM0$,TBdF<lYF'M7Jeuno\'[8PqN-l[24';?N@0C0CVrT!!_%]i$j.aRcE1NMM:>h@,Y<klEk!lO_JtLBl)8JXFd+%Ia&L8)Zm(nfI,r-\'qHW6)MeE)HB=)q/=ClB_/Z5AWsSgSmGdZSS".?T[/S2S2WAn5h?t=XZAl`Z&2P.VF!LLq5N?Y%Im]mW9Tp<W+)Vo'k30q/kta!XD[V.)Nq&8iH4QlG\F_dFB+X=2G`4b`>EbT/62"]8ub+*;hL=9E=LSpGiJ*Mn,DD]JW@maMSZS1Y,uPH/9i?U9s]UikilXiKm2DTM<+@O"h#=@pmd88$>e80f68m/8.sF;fadnj&BdM+JQASqgFX?ZF[9uN[k%0X^0Y#Sp1q0BO7q&.`YF!<<m[0Mg90E!i8%OIm!$/@bT+#@k'(h=cKC<JkHD'miA-;*ZdPhuVP`dogZlf`Jtb]!Lm44tYt&mu^MB7J%C1.?p;1->0h/omYM4)NfAN5ne8:Um>Mp<DcWk;2[goWaF/ZH'eEUk)GABPfp'r.MWJh'3T$\R-jdmrY@EllOfpncEMZ=M?JX:[WhG[0]/.S,mn*Nk/'a80S@!`6IcgG\ET&t?LCfjYn9@*&a?T*[7QY,rfL5dqU*;*<me'tcs:HNAQV4j#!#n+sXaNG*$Se)Ksd\_>n@o]$6mJB;F1lK&3$OnWcF*E+VF8^40cs*\6Z0CJc?"f.=;^3]jZdAld"?'n+l)PC`b(%e531i%KH;Qpom\=`LK:o/!`ET(6isCYqPo"&ts-b==XcbTOas=TofH(aE2e)b!W^0HGfkp]Nc":[FL&iPf4U,JfX4BNgd?pju(&*2CrcR*@dAN</>q]8<lP]?1=cBJFg\Dg]V$&6s7p-$XEcmG+:#1OL5d^m%&%KA(mRgVeeS`1iW"4g+\.be67:XofOFIg=KBD!&NN?L3&H@@Ag%pT#XDL&f$+r,@DU>gs;?/kd.hJX7HokDp'M0-853(m*BsutuH!,3G>#&hY3EK*OGn`11m:1dBq5a2,jSCF>9)6bFq/o=0X-=.FD9TuTQh0J`9^SW&Q0fNu?1Pp"kmD1'5'!E)f6;ti=omCJOi`$neb9R[NFoSTWhdA%WDl?>:6\:0&4V1'T-MtH"eX%@deC'%^C24UU7(YD2B,[E54.`U(gJFM9;XOCK3#Nd/<JZ'$??@dI>TVokY._adb<5e$;=#%`QA+udH1R:"d?MO/MBmG\s-0B[A-eY0Q^rgTBq)*,f5$e!=\YN<81'(#pVip2Wo53_2L!H$)OdOVP\'!#)^%qVX!.RQ8)+GBZ#0O5.36l[EXeZA[.)blMQC^cT4G(BIrbuL58'4/WFK@_SqSb`kpcE(uH['92E>pX7%-(#GEL\l:VA'p_"CVF>C-X>Q1-fO:s:!XWmM@$^.e'ikqs95#aE%9JBEsID-k8eLc3BM`P$J>"t)FGds?[I)s.VIj57)[]-9Cj-re\qUUD0@16Gir4O0;B4m8_\!ZL5=ELX<ArMHh<1]Og(o*&GJV0];h)L00r?'lic[#~>endstream
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 439
|
||||
>>
|
||||
stream
|
||||
Garo>b>,r/&4Q?lMRuOoEoT![DLkhT@K@d?=EG4>Bkue^-$Cd7pGck8I=Nm%o$#lL<uuGXDXhTt.c;qsBZ@jjA1R/2Kufi>bm'dBhH,FDMpo`XOX(8)a-4m7>hTM[YnuTE.Ki$f*mK<)^?W!fl8?47akR6*?o8@lP%rKWZtp4<13SK?"5-D,IW=[,HkcL:+1HL_ZfkeI,<b3Sd#OpY3c)iN/Tqlcl]mmW,:Zts?e9MmYk7dJ1NK4[+,()B+^#9u$s'sZiXPPAi1_E,%CD:FL?Da,:!k+c2%cp/50QJTZ@oJL8s")QJl(N4"/10Mkh!\"DJ[lPU"3/M(@''6:?8R7'in4&^4juNmsAk=ksR40Tp2=`>V4#>QWb!5RKQ8McBB*3B>#AY^Sg*d=PWqIPM&@aK^glj&O\204H8&\GqhdEcSubh"1#2:E<~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 30
|
||||
0 36
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000124 00000 n
|
||||
@@ -182,33 +233,39 @@ xref
|
||||
0000001227 00000 n
|
||||
0000001375 00000 n
|
||||
0000001491 00000 n
|
||||
0000001752 00000 n
|
||||
0000001858 00000 n
|
||||
0000001597 00000 n
|
||||
0000001803 00000 n
|
||||
0000002064 00000 n
|
||||
0000002270 00000 n
|
||||
0000002357 00000 n
|
||||
0000002676 00000 n
|
||||
0000002750 00000 n
|
||||
0000002837 00000 n
|
||||
0000002960 00000 n
|
||||
0000003079 00000 n
|
||||
0000003191 00000 n
|
||||
0000003301 00000 n
|
||||
0000003431 00000 n
|
||||
0000003547 00000 n
|
||||
0000003622 00000 n
|
||||
0000004353 00000 n
|
||||
0000007736 00000 n
|
||||
0000002476 00000 n
|
||||
0000002682 00000 n
|
||||
0000002888 00000 n
|
||||
0000002975 00000 n
|
||||
0000003294 00000 n
|
||||
0000003368 00000 n
|
||||
0000003455 00000 n
|
||||
0000003578 00000 n
|
||||
0000003697 00000 n
|
||||
0000003809 00000 n
|
||||
0000003919 00000 n
|
||||
0000004049 00000 n
|
||||
0000004165 00000 n
|
||||
0000004261 00000 n
|
||||
0000005198 00000 n
|
||||
0000005865 00000 n
|
||||
0000006093 00000 n
|
||||
0000006321 00000 n
|
||||
0000009773 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<dfaa46b9252e64daf7c85ea1894037ba><dfaa46b9252e64daf7c85ea1894037ba>]
|
||||
[<663b5886a1b00b1f8a1f420abfd25fa3><663b5886a1b00b1f8a1f420abfd25fa3>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 17 0 R
|
||||
/Root 16 0 R
|
||||
/Size 30
|
||||
/Info 20 0 R
|
||||
/Root 19 0 R
|
||||
/Size 36
|
||||
>>
|
||||
startxref
|
||||
8171
|
||||
10303
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# Android Cast — documentation index
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-16 |
|
||||
| Last modification date | 2026-06-16 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | internal |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
|
||||
Click a link to open a guide. Section links jump within the document (GitHub, Cursor, and most Markdown previews).
|
||||
|
||||
---
|
||||
@@ -22,6 +37,8 @@ Click a link to open a guide. Section links jump within the document (GitHub, Cu
|
||||
|
||||
---
|
||||
|
||||
\newpage
|
||||
|
||||
## All documents
|
||||
|
||||
| Document | Summary |
|
||||
@@ -51,6 +68,7 @@ Click a link to open a guide. Section links jump within the document (GitHub, Cu
|
||||
| [ROADMAP.md](ROADMAP.md) | Implementation roadmap, alpha definition, deferred work. |
|
||||
| [TICKETS_ROADMAP.md](TICKETS_ROADMAP.md) | Tickets console, Gitea, attachments, agent queue. |
|
||||
| [USB_HDMI_CAST.md](USB_HDMI_CAST.md) | Roadmap D/E: HDMI awareness, USB-tether transport. |
|
||||
| [VPN_DEMO_GAPS_20260613.md](VPN_DEMO_GAPS_20260613.md) | |
|
||||
|
||||
---
|
||||
|
||||
@@ -59,7 +77,7 @@ Click a link to open a guide. Section links jump within the document (GitHub, Cu
|
||||
| Document | Summary |
|
||||
|----------|---------|
|
||||
| [20100611_3_url_shortener.md](specs/20100611_3_url_shortener.md) | URL shortener service — SPEC (`s.f0xx.org`, post-alpha). |
|
||||
| [20100612_1_scaling.md](specs/20100612_1_scaling.md) | Platform scaling — multi-VM clusters, dev/staging/prod, cloud path ([PDF](specs/20100612_1_scaling.pdf)). |
|
||||
| [20100612_1_scaling.md](specs/20100612_1_scaling.md) | |
|
||||
|
||||
---
|
||||
|
||||
@@ -68,7 +86,7 @@ Click a link to open a guide. Section links jump within the document (GitHub, Cu
|
||||
| Document | Summary |
|
||||
|----------|---------|
|
||||
| [20100611_3_url_shortener.md](DRs/20100611_3_url_shortener.md) | URL shortener — design review (auth, slug algo, task graph). |
|
||||
| [20100612_1_scaling.md](DRs/20100612_1_scaling.md) | Platform scaling — architecture options, RSSH capacity, task graph ([PDF](DRs/20100612_1_scaling.pdf)). |
|
||||
| [20100612_1_scaling.md](DRs/20100612_1_scaling.md) | |
|
||||
|
||||
---
|
||||
|
||||
@@ -77,8 +95,6 @@ Click a link to open a guide. Section links jump within the document (GitHub, Cu
|
||||
### Infrastructure and deploy
|
||||
|
||||
- [INFRA.md](INFRA.md) — FE/BE topology, nginx, ports ([§1 Topology](INFRA.md#1-topology))
|
||||
- [specs/20100612_1_scaling.md](specs/20100612_1_scaling.md) — scaling SPEC ([§6 Target architecture](specs/20100612_1_scaling.md#6-target-architecture))
|
||||
- [DRs/20100612_1_scaling.md](DRs/20100612_1_scaling.md) — scaling DR ([§15 Task graph](DRs/20100612_1_scaling.md#15-task-dependency-graph))
|
||||
- [BUILD_DEPLOY.md](BUILD_DEPLOY.md) — Docker CI, builder ([§Docker CI](BUILD_DEPLOY.md#docker-ci))
|
||||
- [OTA.md](OTA.md) — OTA v0 layout ([§URL layout](OTA.md#url-layout))
|
||||
|
||||
@@ -131,14 +147,3 @@ Section links use GitHub/Cursor-style heading anchors. After adding or renaming
|
||||
python3 scripts/generate-docs-toc.py
|
||||
```
|
||||
|
||||
## PDF export (markdown → PDF)
|
||||
|
||||
```bash
|
||||
pip install -r docs/_pdf_build/requirements-pdf.txt # reportlab
|
||||
bash scripts/build-all-docs-pdf.sh
|
||||
```
|
||||
|
||||
- Renders every `docs/**/*.md` to a sibling `.pdf` (skips `drafts/` and `_pdf_build/`).
|
||||
- **` ```mermaid ` blocks** are rendered as PNG diagrams via `@mermaid-js/mermaid-cli` (needs `npx` + Chromium); cached under `docs/_pdf_build/mermaid_cache/` (gitignored — regenerated on build).
|
||||
- Dedicated diagram PDFs (pre-built PNGs): `build_git_flow_pdf.py`, `build_graphvis_pivot_pdf.py`, etc.
|
||||
|
||||
|
||||
203
docs/README.pdf
203
docs/README.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 15 0 R /F4 17 0 R /F5 19 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 15 0 R /F4 16 0 R /F5 17 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,78 +17,88 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 716.2874 95.92504 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 762.0394 95.92504 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 705.2874 95.03704 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 751.0394 95.03704 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 694.2874 99.91704 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 740.0394 99.91704 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 45.68504 683.2874 74.14104 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 729.0394 74.14104 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 672.8499 142.6425 682.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 718.6019 142.6425 728.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 20 0 R /Fit ] /Rect [ 59.68504 662.8499 132.21 672.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 708.6019 132.21 718.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 59.68504 652.8499 106.38 662.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 698.6019 106.38 708.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 59.68504 642.8499 107.2125 652.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 688.6019 107.2125 698.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 59.68504 632.8499 125.97 642.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 59.68504 678.6019 125.97 688.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 45.68504 622.2874 102.165 633.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 668.0394 102.165 679.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 45.68504 611.2874 109.701 622.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 18 0 R /Fit ] /Rect [ 45.68504 657.0394 109.701 668.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F3 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 45.68504 600.2874 158.933 611.2874 ] /Subtype /Link /Type /Annot
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Contents 39 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 16 0 R ] /Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 37 0 R /Resources <<
|
||||
14 0 R ] /Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
@@ -96,14 +106,9 @@ endobj
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Contents 39 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 37 0 R /Resources <<
|
||||
/Contents 41 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -113,7 +118,7 @@ endobj
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 37 0 R /Resources <<
|
||||
/Contents 42 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -123,109 +128,145 @@ endobj
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Outlines 24 0 R /PageMode /UseNone /Pages 37 0 R /Type /Catalog
|
||||
/Contents 43 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 documentation index) /Trapped /False
|
||||
/Contents 44 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 38 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Count 13 /First 25 0 R /Last 36 0 R /Type /Outlines
|
||||
/Outlines 26 0 R /PageMode /UseNone /Pages 38 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 26 0 R /Parent 24 0 R /Title (All documents)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 documentation index) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 27 0 R /Parent 24 0 R /Prev 25 0 R /Title (Specifications)
|
||||
/Count 12 /First 27 0 R /Last 37 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 28 0 R /Parent 24 0 R /Prev 26 0 R /Title (Design reviews)
|
||||
/Dest [ 18 0 R /Fit ] /Next 28 0 R /Parent 26 0 R /Title (All documents)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Count 5 /Dest [ 20 0 R /Fit ] /First 29 0 R /Last 33 0 R /Next 34 0 R /Parent 24 0 R
|
||||
/Prev 27 0 R /Title (By topic)
|
||||
/Dest [ 18 0 R /Fit ] /Next 29 0 R /Parent 26 0 R /Prev 27 0 R /Title (Specifications)
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 30 0 R /Parent 28 0 R /Title (Infrastructure and deploy)
|
||||
/Dest [ 18 0 R /Fit ] /Next 30 0 R /Parent 26 0 R /Prev 28 0 R /Title (Design reviews)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 20 0 R /Fit ] /Next 31 0 R /Parent 28 0 R /Prev 29 0 R /Title (Development process)
|
||||
/Count 5 /Dest [ 18 0 R /Fit ] /First 31 0 R /Last 35 0 R /Next 36 0 R /Parent 26 0 R
|
||||
/Prev 29 0 R /Title (By topic)
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Next 32 0 R /Parent 28 0 R /Prev 30 0 R /Title (Alpha and QA)
|
||||
/Dest [ 18 0 R /Fit ] /Next 32 0 R /Parent 30 0 R /Title (Infrastructure and deploy)
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Next 33 0 R /Parent 28 0 R /Prev 31 0 R /Title (Backend apps)
|
||||
/Dest [ 18 0 R /Fit ] /Next 33 0 R /Parent 30 0 R /Prev 31 0 R /Title (Development process)
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Parent 28 0 R /Prev 32 0 R /Title (Product and codecs)
|
||||
/Dest [ 18 0 R /Fit ] /Next 34 0 R /Parent 30 0 R /Prev 32 0 R /Title (Alpha and QA)
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Next 35 0 R /Parent 24 0 R /Prev 28 0 R /Title (Agent bootstrap)
|
||||
/Dest [ 18 0 R /Fit ] /Next 35 0 R /Parent 30 0 R /Prev 33 0 R /Title (Backend apps)
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Next 36 0 R /Parent 24 0 R /Prev 34 0 R /Title (Maintaining TOCs)
|
||||
/Dest [ 18 0 R /Fit ] /Parent 30 0 R /Prev 34 0 R /Title (Product and codecs)
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Parent 24 0 R /Prev 35 0 R /Title (\376\377\000P\000D\000F\000 \000e\000x\000p\000o\000r\000t\000 \000\(\000m\000a\000r\000k\000d\000o\000w\000n\000 !\222\000 \000P\000D\000F\000\))
|
||||
/Dest [ 18 0 R /Fit ] /Next 37 0 R /Parent 26 0 R /Prev 30 0 R /Title (Agent bootstrap)
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 18 0 R 20 0 R 21 0 R ] /Type /Pages
|
||||
/Dest [ 18 0 R /Fit ] /Parent 26 0 R /Prev 36 0 R /Title (Maintaining TOCs)
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 717
|
||||
/Count 6 /Kids [ 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gatn%>Ar4L'Z],,'^(TRRVP!)SEp[l8<[5ZQTXiu3X.>P4**_AhgS=n0G(9i'LbWipt3@]\_+q*Y^8q8Q6j=+L$KTW66TV7#uLum/POX0T)mVJL($L*_]a!E&IsuNc#^c.a#%0)THK(FNra5iPE:<#%c!L`O5Z1d%RGZM(-uXB+G:ubET"jc%#-!t=d*K;,O,KqP]Fj(gltDiU</CL>\E?h$I[gnIY7+0PF^80pRK\O&]>0*)(%pCi:MAr2aD2[R'b:I9Q9mh(5=V\8pHkd-?iBfAfkbO_)%*bbWG`JK7N:tr8UB<5+qNZcs\Dq$O(,Cdce[SY4`Fjdf"<;n.D5$M[o"8US?D=b_M.0^;s*8P5-;g?(lM9UP/>pSu=\WC9ZtL=0FgOpl^#s7???"0i]hhT`"+P&d&#E(Eg0B#9EW<?<F[0m7&uQX$GkW10#(Oh*XfaYEXli;2)"'RY/a$WG8%NY^T$"MJ=HK0Kb:Vk[D6uZ&ib_fV5BnI)"UTq2Bc@:$1`6o3RkZ8KSBUpNGaOgWVl$e$s]<Pm86UIBi6/m[@(WF1m8!f8YRG/;a7UhbRjWhC<#@ZQ,:JXu#[LTp'FY$][pDPXW38j#+V(1;ECB9i4;fo%u(>@Z&7Pi.<R#SoiX5Za!F,3&K@VI@sWH]*T1^?J"[]m+P_P=s'D#I$Lh-=c!@J:"=s:,tD)i$<N[:ASd?$*/249'2&ab~>endstream
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3411
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 836
|
||||
>>
|
||||
stream
|
||||
Gb"/)>BALj&q801kbg#q/-q6<O>e%fLQ)TWiFG`LX&NR`J79Z6?*M#WIX<=c99'$EWSN?c;m+%[HC2FkFFVb&"@W/2l2T$Ei,Sk3.fr+j`<qDF.'U2^F7J5P#BH32W.NT%70W=4?Voj8K&8r$R$,A[#@)foMb8R.Mf$%95@%.I+5FZNcuYaJT]!B[,K'Tc46GRBS[_<>JAn&2%K)G/_2i-=K-rV7\3@hM#0XeR[`jfkro2Xk5:6s^(a`Z*KH6`b'"1(?_h<c*bM^Kt?-)^lH]%5U$6N^H!u?B*F`-a4?'SAT(DWLAFC]tKoQ?99T:h(\KV)7K&Ah-b8R2;PQ'@;1OP:3s%*pG'MiPr[o`\2>.O\c@`(1I:P,ueKa9,/dq]P+&1f+JPLQ>f+jZ\P]&0rH6cm:H#$s%l9Rf"P*,H:.V&^ggtGl'T&(@IE..nbL\Mj:-QG(+".DR6VqSmN?o6&V">jo!76BsY*ihLf@c`e1(:hLe43j$BE2pE3>eG`^#04\/*_%heEF#7#)cW1WgVf#E.'H1/kWNaE7Q^$E7=8t&?td*oKXrK9Z]N&^[UglZ0._[;#QD2\tpnS!03A4b-9XjuE3ZJEsujiuN@n+/Yb66C5/(Zq-i`)74&(ho^TccpCjgbN`iqJ>W;?l)5\MsMjU8D#P1.,:?ieF,$CQKQJRD1e2VFW;/cQrh%0pJ@%0b4QSgZgmua."jXQ7T"n&+#UKWhNb7&/dgWbh/2Y3I(M4l2r0`84OmBF3GXh"K2iIHd;\@HC\U!F@I6O(83-P1TgWQ$lKpJD[Rh0W2g!A@i<U<b<kkI3qR1B"qeXokq04qB0?0kh9C7>iYC$O7d*SgQ@mZrXL$2>l#i57ZFrp<T7YP4dW4"+9HV)Wi_D<+L:UUcBi=uDD(.JS9;Od#d]K'I3?#=G=90<XFr7cI0=uL7qg\"VkX_3j[>VAg-=L`Pq#$\\)^n,l?1>N*F`AC=dBC"h8#ErhmF\#lbkcRLZFgi--e!Sd_]?/8<R?r-Lp%3.InS/QtB[ebIF:1_O[%eX_:?nYag?D&E_P-YPC!<M+$6g'n=?PR$I`??GQFU3EE+hqY?k'WHFa.@+E&[4SfS6POP0g9)r&tk+.r&?6QFnd>Q/=BSX>Mk,HJ%POTuH$UnQ[g(\3)-oN;\ZWi7<G"?2NGc[HbPjX_?_5-_n3tafX'uXf:ieSo2e5=IUFliPtX";*Z5>feDU:_jJ^/3,5i18q&n%*"a,?pW^Fc1N(3j5ODZSd^6+GoP6TQF(Rq;1jL%:NGlW1%J:a-??L0b-5V0TIMnbs?i*KTiqj#!ZbtQ]O6H"liJj7rF=J0X_*uo4GW3>S@2t`l9`M2jD@7KkllK#X+eD76\8.[qV[K7%%uKUl4e9BL!X'`@[e#*;P7%"&j.P@Q1,7t0Z#N]<^#g;(CsTb%a2785`Yb!)14gR+N>][NHL78CRGJe7%-IfragjF$c55WUSlX+H(k1DXCkDkCCIk30,j62YjHsYj6SS0udAR!7FIFIiA&NIP?J&=<e*ltZ;U5B>?]NuSLrXDN3"A.1,5$JE[OH<E$^Q,.At%&;j#<1i5BcOhHAk<1M)R`5Eh>&l-e(4Cmuo(r)WR7O\T)2.2=,a%#Or!QRuMr0\(SBU]lWp6>gIN:q$mu`#?s`e76EP8LNGt5MW`Q1,G&)JW:!5gji/ETr:Of20:0+LHklq0,caDSGQU88na[!h0dHu)>a`.cjmlL@,uq"W5PlES04T6]9="^^b[QAjI#N0W&Y`sF3ZS8mA'd*(R9sgL2t[U.I/RK"j=sIe9YSRQ?-M7r#NF+,CBbWp;8E]76Hm`XF':`30ucf8>8Yp-bJqdjqclqA(4:@83i:;7`,cGb]"[d!D/bFE',KRRnk=iY1^5thfpu\Y1Xl9"r=&eJaB6q\)D-4$P,N$\(jj8aI5dVVQN=bga+lF_.@IA)l]e:F`g@*sHnE$8Xc,SFhe+!ToHd%;fS^c_hYHRH[k-slamEPg-S]m3[5O+I)G]Ln29%JZq:%<]HJ,e'l42sNXqMqnmm6e/3Xh)j?Jmq):-0UTe/L#G%mf1NP\OrC4>SoDdtMKT6bLWGp38?nLRaehqX0+)3hbLFp&s1<cGNA&*WmmOThJI[L52ol],T?tSmck"L+%%OL.Z#G0A'-.P;uoXC961>(eorlc$E:Jm#+V1mjQl>3CF";Q;Fk*&`,<LhrU*pcH3p7dI1!F5+]cI9nc].LL88ZAN*Jo"W%sUD&hZ(OUbWkmjP1Sa4/e<I6/FMq0hXC_NL+UXt^KuZS(XkUWM.0)V1XS0,nhob]bc+R@f$$!r>;PL,V`S$i,!V`k`p4Gj7d=_7Z](5OdQk%mjXO'pZShht-.EJdP:B=*"2l6Jt3AXHXur$"E"+Yr&^BjiBd$X'$e.YTOOW6Gd/+iZ62TM%9tl?`T9-=HIX86Gd.sdOGn#@6mf`$42Ik8QI;d*#9fV<(Ju"87KQ>I$g+BLTj2+_h-CA=G%+lP#egl*u6-0@LYLP84pi>HruKkMDb15+H_O=poklt'l3;I:)[)j0mL*[?8705C'h"O#jp.PC;gVHWtj]Q&`hB#W,@ES"f_dJop;I?G!<GKMF"sjDi_S+:dbb*9$5PZ#Dso;\u$R!]HHO9R*b>>!ocSf?+E]Kj3KqbONF06l-//jV8h8C2P!^Eg_n'sj7_P`Z9.khDb`nVHBU`22*u-4:.!9eGi9BY6!1I<hmDZh2nsoq8(!;fX7^]N)ZEp!M1h/hr%&!0qG")Ghl[P%VZ>dOnYnsh1,Xr"'0C5J$ES_='k`<jmH)0ZnL=gRE+"l4@[hVIg\j#2a%LY+.cRCAh`I&rH[#]rG*!IbbHs?t$[-N>0cOE3Di=Jf>,_X'V.R/::+,AU13,6PX/0?.c#kB9WH'>Gb![&qj"Z]FJu5NfUTDt3M?s`EkU8$E^u7T5fcVcd@YrQ@61k19Lc2ag<.\d%17%$-a(t9<]]h]B-#:/fXb0APgr]t-s'rm.L<dg#2([Sf%<a1Bl+l)[5(c4HeA7&d=o5scjZCjbl=7WW[H$4B;?^'aO4)-8cKPe5jlHk'\@^&^=1`]#3PqP`4[1:lSB6;2;!'OqY=bNK9X7s@X(GL[W<QR,'1D4U]bNoUdJ(u]"OV5G\B),EQ.`c+M^Cg=)b<$oG]*!?Ar%cpORGEb&5Z52mF"TlrY?dE]mG\oRIg#n5\OCl%2Ld*Zab&RC5FIA^M2$A]U#dsH#?CTDCPA2&5c>Se"Uc,l'YqUk',\Nc3,[([=gp2npC)RMXd*.]R7F0o?)>*%aQc\#Bf)FLaW`dS[:DDLPC*Np&S#BJ!O3sq7_U?H&q!dk./?_"^Y?/-7JPQ1HV,p!;Gf$JG]/33c7:ko(I)E)erR0L97!B=qWu'+^C'sET"/cW#0F[[D0cd+8u^ug7]5~>endstream
|
||||
Gat=*9on!^&A@Zck"&Rjlg\V.Uq:H>MB3P-SpH6Lfk*[9D$XtRpN6N\+,,e!$`r!0Dk>#0nK:Z_YkVQo!+.m6HpL"%hAT3%!T"f.hWW8k:Fh,Eb)oYRes]G'$B)7>KK>&b%YVHOC'TQ\bS:EJgW4Epfo-+gZ6gE]bY9dW)aMn@CWc%W(Vk86#AFeTnDnLDpr/VT+Be(U'5)b0-8C0n@/bTUmiB%GQo)W[l`4lhoI;,ldOQcX$DH:bol;7;MD:H8I7!OV3K.=n,_F!OqYXhmU7bK7@:!]c**nr802R]%U323"loa1ic8^T!Bpi8DO=BJr$)rLKKB:<]\VAL)CIg`>T\Yq_HCNU$LKNHr<VQ!?gV!G:7s+><(PRE=`!#u;QInKP4A&cc[H!.0pRm<lpD?f%fj'R`PXkpGFV"(>J$Up_juPO6muFMHVh[R>)k??%hauO306^75REYc][3,;#K@sPFH/SDd;hKF*p>OT"R+oLHi5Q8+HE\?[;KL':JY0?2p4D/["rLod6Ic3=LMf!%%J)]]7nF8p_pshX%(F`%"(Je#PDNX7\*7m6V/GIC!IXB3Q=b'`0K\'u2k2rb6+Dh64G8>M[*3iek]#Ml'*htDAomK+1nPeW#CGG*<+%t7puilL0RjpP-B7uK"mYRMpHBc2dmDbLUt%-4fhqu;c`_ds]h8+`#+!4BX\[<`0Wcq./\+34<t4gO<fuL?6%+Vk.(94t.u\@2FG3O#KW5TXJIiQJ2\<X!X!t);T[:`sb&QU*Ej)[ul843P.!2]+[mUU.@4GsbXbY@OlL],J@R5$/d'9R:8Knb;U6HWB4@1hM_<;tifm$6~>endstream
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1820
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 614
|
||||
>>
|
||||
stream
|
||||
GatU3CN&2l'`C51i_#tOd7t!nObE.h9nB`dBV?T?eOW6aO;Q%q`#7<OVYf]R3eaq85u!86+#ql_a60%@Cho^'7k9$Y.tBDt>3?f;3r!dC9Z7-a#^ua%cVN7AdVLG"doK2I*DKCjNf!As0i$6@G<&87r"Wn*SD?6XTd'g)`H)dH!ZGsF01-#O(iJ+Rn:,t</CWD4B3-S+<n_,bm9?1F7)8Y/;@250d&V1p#`YfqgY`R^Q`dWO@B/WObS_T(OWm"c(0QjHk:gaHFjkdB`Zpq9ktqn#D>P1W+%I)?7dek@hU&q?:;a[QVTU[>+!;*5Z5+_'pip)i_W["&/!uIN8>UG=X\78e-^TD9+-/P!n!+;L/EBH+k:$l#)E?6lTiDqhqq$B\*g?qnCdGQ2*84BN[K%NWl;YUb3/:Dl&%Z-FrZpu&DXY^gQcMRH2%gnC^dTG<=9FKA*(nP2kFT<;DK*o(.[GbX@)9^-H(XRK:[Y21_%jj-MSU4Pm,sAA'@7Lb$1(6b"YsB6/_*aAeBk\=2sCP\e5OY+:3i5tJ?N%TO?Jj'(g0^eSKC:Ro1`dZEj'uo2[/'XT9"KW>#i!@DL\7ALpqJ+;cQK>![CgR1uM$L"N^p"ESl(0-q@]$mWZ.uq\-`Q.,3=HU?m0o#2A`ASiKO68IT:8)>m`LIjHr3[?)@(DP>Q7[5"HH3YI/&7l3]LCF%C>[Zp4DlDj;q#O\fA-B'sl@,R&\!)O1aOKg_O>kc?>OU&\j.(M16d@BUL_7">F3=@Hd=+d13:Ab`[*'kM4@8da%-8i"e#9/Bo/\&?6LBIR'E.e%)Ikhn#Y"MIV2^$d/bTa>:RAbEt*It"rX/7HLmLEprAO&]#RO7RjqGtE&qhrA?6:.,<._%`jXT?F\'YV_uX)dM)_RX`=9cIQ>A:j^pka7lr'E!KP?]kG$0k$t;0^/5EotF]c9nC.R\bC2R'BnU.>s+dDA/'pfXn+I'Ea%MQ;4Z!ED"FY2bUJ_bcY*q]+W#8pVQJMnVbL7N@c.LS_pL[pl5;rT/V1$&;T!P/WqD=UGG[;5n3_ZVPhSbb:SLcI],_<,6*EKoNkQa4P9&hCPPVoS#nR[tD_Juo=<H_Q,<5p^3X>DRJ*g#WOZ?,k4RA_6OBUlX`NW?ZD]>.2<X-4C%Bi)dJj4K8"Fnq';,PfL'PDWq[sMLL,.Tj'RUgU^esshAhW9(7lE2#&XNAFK8s#AnQ@PdX.,tYNg,CWRYm2,f_Nk&6dPRR\=$*;P3oj;b-65T@=D'Kr^dKR(1@W>O&a[Y?-j5CI+Ue%c6efbY%G'Q??>T"gr';lJB&Md0-+Vs9KfiXoJi$sUnYVtAP!?TEZkJLsT\RfjqG>Eli19]]pWe?fcLKP>/qn.`(XlaEQ;_9,r\tpZ6Z$W17">"8n25@4b&Er&en):rO4bdKCZcm8;eRqJI("VhSd2TEP/](CI]a>bClH#`_hu6H!T5bK9<L/^B3Vm*RCotF$WP>fi_(@D,\Q]0>88n5>qlc:g05`<eeDa1nA1lMLK@`n_Z74pm%LHU@eId^X^cIFWr*%>NKGTpF@S\I\@u_U[))3oSA.\4_E%0cNL&bV9'!<.<2-9\2=/\'X*_D*N&jq',(7]3D[#$UT^%]M)E(6&FN7ajNtH(r83Pf164W&A$]'uXYDatApISImr84!Q2h1>Jp>78m?B^lk'#,VNbC<S<^Hd"bkUK`=VFQ,%'Lk^uZBg$L<*!Q!N;a9:TU8_27\*GEC8pM0b-jh",XTD,\#`0)OI+UiOetMq,c,aX3j!F"/0S+@,+,;#QX&(l/"bC3Z=hUDHiCaY3t;Mbl$krYqpt~>endstream
|
||||
Gatn$;/_pX'SYH9/'_Y6#8\><@;j8N8s<;X?$Y4`CRg'3fZZ=WqX8'1>&A+5GnI?t#[dAPot<D`8A_%[?1!23L!(tRb##3+1QnI.MH)P225A45N0Cp48Hp=@8^]@%hh>X)'J/>p86Y/4-pRoJAObW:Zg^ceMP1?VI:09(K<]uH;9A]9_lf]7n_3d;"0.ul4q?r60M_00j:$M6N2J)D%-^<T[k2?q%f8e;<_c)tla1EXNKV#\-3g"V;k]PhD`.ep5;`3k#0kGmpIY#:$/TibMLa.TLXHTin/&5E*nOoZ"nEJ9G-^l1T_uW?85l;7?#-&VUa4D]=m?7Jg2?+7FNuAl7hd+"V\Lq)]<*'^iH?8.0;bR!UtY(KQ<b;jq\b.[0D^[7Fm+H4HY$up@Pm0AA>Z[N.XuB=&,dog#WCjEZ*._KI(1*$61sVd9]En[;N]<,IQAT2;fN3Ol?GY=SDrr6:>JQ_;MaMa$nhfpZj3N$-[]:GQe*anYOR6"JR5Cn.FC%cfAk8i*?'R"jV7t9e#nJ`8rrtuFk6Amk-["N%5h0jl[&+S;'Ibf7?4kKZd@<P.nP1P$3-+5;aG(/p7?9@.4rP=/f64's2Dh@2fRZUg&~>endstream
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 322
|
||||
>>
|
||||
stream
|
||||
GarnQ4`>s,'\rL!2j,Y2Gf7VIg8H)\3`Pd>,m?5I#W;ibrdKEq;-TkXak$(>48Fnu%%uk//)XH<EDN5Aq@1@\LYgra8+.%\Q!COeM1e5G`Pcf9LV876-G%l#K*,CQ;^S0<a\kinanW)+]KY#]`""0\8d#Z3)`N`Qc5)/n`T4j]2mFrp>udZ/iF!\C_4^:C<uDgYN?;t]lsAjWG>7Cm3HhPjjkG<`>uMNQGGlJP@85WsB5@d#KYA>a4:eq?8MHQO3C`j8O>8*qqA(d,M.D@UpK%llfIN8YHi29O=@u%T.\qY&+uM4mF"EFOqC/.7[9I6g~>endstream
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3277
|
||||
>>
|
||||
stream
|
||||
Gb"/)>Ap9-(4P^ZELp4q=dr7,eal6CP4iu;41:@0OWks#b;Rfd(bSRh^OAsE^rC(uTQddom3nECQOg6?X8:+CV][,A+3FNNC]H*ME.1N3:m`neaFXil>;564rqo1@T9L'VeJ1pc:"'5B)T_\8']T]q3>WhmhZ0MNa62&2)_X"H#gj")%*sPpi1q=S-h1i:rrM^u\<_L>gM'Q.S=_2P;nAkt&9THO&dZoN'f@!79q_ZWi4P\0r0a@"'*eRb</!Mu+C_SQ"m=rr`A<\VUM#6r65^7tMdK?CoZS/^p+t16i8i*]=1c\X8Z-3%`@`sig?G"O\]`4hF9\_s-%f`I3eKihP!Ph6c6,uqA<=m11J";o)'n9b#)UtYK7hVZe@O^:4e4d59D5.cgTOQDl;O$X/Hm_Y>5A85-'2Xla1MI6X!gV$aHeUjp]P52n#1OH<2i7h<E)%S5"dgR4*iuUHiNiQG1?:S[0A,&^.Kk!4K0O4VWOX6SXJ&Fp;IB6+:M`6MletJ8D#I338@j;f^CKG`qC49\kS8?YT8M<0g)"T]/`AScBk]S^mGP&5!s%KE7>T/J]JiVT_7QWd77\OYJ1C8;/b>ePBDB>"Y\-UDm.mUg0bdd06X^Ar>#5Nj03Ra,dJ(BnB]K+%#+)&CE#0GSFkG,Q9BZ!%=gu1#!fYVgW:8LRS8Lsl#8gCB?f3a'RnOf.-QLgALA]a:0</UFb@b0hB;H,5>tN"G(smm!dUM>*=/hc'L1D9Z`",FMpJ--#C0!04'C0jKBddGE*V=50W0uL964_('"(to);1!YdR!2Q#r.@HY/=XWLHX;DT"E'E!Q9hcV!.F:q>k*G[OupCn>mi2m=aqsdb4BJHtjQElfqn8Z*)</LRVn)\(>jf"\^cL(bp@>Mf]V!*&=GC09p_PMhkq2S%7!O;-t#*,"aP=_9Mq9E5`S]>%;O<`:ecti2YAdKg!>kYfF!X;sU6A=3:8:Ao_6XqaB5_ZH-\X;+Tb6gQ5s8]ic159V-+I-,YG[CN@AG5?SNb%>`i*h[c$r*\>sl:;*G=c)IL^Em'o2NN^TSCTh0T%\a)DNB;puq`?cQk'Zn7ZT4&@=.<SNO1!81WO6f.f):5@4.Q=gh4p1rCc39j2=n.NFqgdp+\E]7_#1V-4,ibO\BgD0r@S%'I`6Hs0+c+30uC97gau$<2e8NGZhgJ\-G68aNXs%^/&\.'mJ-Efm^C_u`9o^uE/AoS!I)M`nT\sDi&PpCm\^`nEI_S1_*Tf"X)j@2>4\E1nRuH.08IPa,PO64\7/\)"X/g#.m$$rZ556c_pFc9'!,,?IEIB&RbD"A%4%*8F#'?4c"Su;g1rG@^jk)A.=u>Ga(n4#2thiEVD(Cnok\,5rC).&,[,!'F>KFkf=0dYc.p`B&YoqAmioVc[q;-8^[iZFSJQ,ul?#R_cJd\9T=lQV%m>@/iC<L-*?u3#K4O5\+pb*TpJ/D;6_q*O1H/7mg:/r?D/9Bt)EF:@KI'lAh:N(jD3-R^?$j8O8<\Z8ABJ?k:,e<K[!`nfXlIF6Zu47H>%csJ,\D:F4`+4m4%qhpJjns8X<>=m&2K'N?f;243=+Qs/2FEqs5]"dC,PtcpOIB(i>F8l*e[Y7OEpVWFLVnAGeL26!3%j?)GeR=$i*N'^pKa61>D@*e-q6glG40UHI7?jEpXSD6ud<fc-cluZg6,Q7p9u(be:PAq`;'&Ytr(jF0gLjOC@;=pj:5#%kkN.o9M%K`.nq_n.9jPil'D!B0:I,=gNs!rkj%M`c5S6Ro54ub/,u!T7r6;,%s2G9o@s2*r-J807B%Q4/u<Dl_$,9_D:#iYtd*MdC/L"%m9_@8/'X54ZqZumLg<fY0PGnI#`P.I7C]sOS'N,I+)<+R`TYf)+Lt/gO=;NX&7a\OQ)m"p2<VATK53PH#<\rY;8JZiPP8L(9Zq-;d2&HWAtmC:!:&bj4qisN[E#\;gUsjgkad^G-lcO!I#3'\4BE%5c$?+WB/OLf<n\(lh]ir>i#r6:>LSs;gI+*6CW11l?ne"1T'Eh\/H6K7]s+jI>CJ::+?"t3C44C2,Wos&Y:gbhrU$feB+Ejq<prfIBRQ/[5DDW]_lNiB3#sQ4(rVrdO&sR*9k9Kk0?FtPJhXqfmOqP<rBo0B?JX9['$P)LY7CSj_?WZ/rePs+ba^F<:]Cle[bK+E+NFlfFc#"-$k:MoFo4N-!#<GO#`,t9k.DpO-;XfBTC*`NA6i(msQF[@;Y2MEm\h#h]JHnSSGGsi:(f6o1;d:V7]U[m&i)<d">IJ'))Q=j_Jl)_7`@!9Z6C0pI.%m79$7BE*.u'Xb^puM"l\hSqmnMOfh_Q3%RLe<"\)n'WDi-q61RT>"++^;C'@!&IqGGXb;rM99E>5"s4U)IY#$WiknZi=/*NdV+@^VK+CV;;MbT"Q6NjP%6c=3;C*6/=GfWq)LPYE`(Dl]YRh6n_&2NJTiFFQm386)!ho&ATN&e$m%PV&JfsH_M!BTEMa0-"L&[AIndWQj:_&BUI"/C!b1@qM1(Z:%BY."6i;lpq8B9hT/f4)EY?N,lFkihZAEE"Hq\G>gG)B&.DXfr;FkWd7FhB_O5PNK1S@5V!<$WYg#%C/))L5B-S&/:&U/j^fGt7(,H4-R0ntmhI8\d^Iji9hf/1ecl=!<B##CR_DnjfRK;54g!7ic)+/Rl\ZSMC-D@,3pL2t^0l:gZ'ZmAMn@#;&Na#M&`_H/o!+cm;gXrdZD`&%%"lX/oY0q3BrRfV0kKe+=GorVtkXMZZ<M[kbU"m&rJ,W_\h$%q71tiH]8ToWhe)hV\/;TDmU?6ua7O!U;*2:dl*UM&lmU9',VpQM>Rl`]N%[F#6<I-),WXM2iH>/OV8!%/:Y9C52Z"N];kn-bHMC?)tWOF':6E21\AB(V.%mBl3rYN-_pr7K*I/dh>H.ipIrH*7s?KKj"-FbP$>7XN/$FKVon#d_#;=Erue-FY>M@/3LFjbmiL@/hLs3F7W!i,O8>%BB,>&Df_[u^ND%BXk)8KN^3CVN=;!7Sj=qEdeb&#G$Q.Y!Ip<8JOZ[>Gj4WY0,uShYZ$sD@.--3O$ilBU#+kY:bQ.mi\@6*gdj>\+jkctWOj3Tma/uH=I]LX.lMrud+N2Df0JJ1'h,]FDKCLO)t&^7Wq6^[lM/0:&/=Trj8m>/TulpCYL$5m&N`;"RKPnipOgiKZJlUggq<2pR,"PlFr7s,^R]T&,[()&]NjN!r.#\MDDjeE#m)4hIdX.7jrW*jGAagd>`giDiEaJ2-RcL#1IKG%gbrn9%t+3iFWtWQ~>endstream
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1270
|
||||
>>
|
||||
stream
|
||||
GatUsDf;C1&B<W%;iJ)p;tdXGR"R]k4#`jMZq3W9p9[^D7);U--CD33kjn+b9G=kh9i\c%PQ6?@IuL"Fljtl@6gEQF$#gqQpOWCM+FXIA2u4)H_2jYk+-CE`^25j$D>(g=4N$TXp@1/UD:Z28lj.sj28rlQ_hND=pZ^46RQ<-Wc96/Q(ka`W8jYb0L9Vg=b8fq%bCrWcEXo-b_:/<<`;`.$O(Po<cTVij1X*`rVLa5fcsY?7']k9F"W2jgcFqbPDeg11\Gt=ca`.hc9fs>Ap#@G,VfXnl5sqN,m"m.t?f84d/8`44]8*9H18G`YRO2g<E&D8p-8Ucbo5u4?W`X>m^suj"Fg)$Phg(?\]g+Z>#&M>p-*p:g0ce_0%Gghgj<kQ)W=ll'10qshY*R71C`5LRQ<Z.8Z]%JdS_9+,%HtW&c.i'kq*80/EmHa&Za+&.lrk_j9o"h+Q`S+LO`N,h/"((\Do4:d;2>:'Y_2\F\@!_:qbU-"_[jWp_^<]m0@hZZ?Ek-WYHY_J?HQ=0-J:$d'>1GB]P!L3E2j!nFV4tOY;-8qR7"u8bkLu:3o7]=171f`IQ/1lEKcbHQdCEu%9`bA#9-2F:(p6LRO[G#n/<U^-s@=_iuDkS\']JA24TVg!KH)n6Urg>Gk4<Xm3XDem"::LhBb+iF?GGq,r[Z;r$WIXY8\g7#HXGnA]C%;<3O!.%:IM$c+^4ZpG]<Ie)6LC$.8[:[1fdYIYgj5)X2fo,o,-L$Q.>MXCeP^1M=EbEV*+:dAC"pV.0HTFA0g+0ck<(.n\_DBB&9+#5cnql[@Z_0Ohi]qBD_"f0&]s"eTYY8P0KckhQWR"oVQdbVQr]D/@s,#9LG&"YY+_B;njI9ZHdr5>Rb[^uZt>0#l@i)sRZZJsq<o/Q`D(Z!I5q`]cA0c[\!?:FCHK.3=E6%*ic]j'a_8KCSRQ&fpGo:E6iN4cb/nb\6MZNrA-$$sCP8T[&*pqU]__'3Xk"`6Ae'"D]m-Ab9rHGd@hGT%Psq?l;^;,f)/%$mD2Pg<:tM%<)8Sn(0hC1;,feU*uWZX<c9L]rT[NGH_^CM\E'J$\ipuEt+q!`e?6W>J>A'`>T;h9UGVR<RH3joX\MC^Gktjc#u('I]t<V\,\S;/d$S,JmhY3;l*S;U`t4S*b6W/1pZ;@]O';ReOIf/f`RY!U/J9Ye%:N;Z'1\jnjN#lW&DC%mH)/?e*?Do@CU_P>R+RWT:),a5;etu^RuC=G0`%%kB`eF<J5TSFiV<\3ko(<d17^l2?j~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 41
|
||||
0 45
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -242,41 +283,45 @@ xref
|
||||
0000001683 00000 n
|
||||
0000001831 00000 n
|
||||
0000001979 00000 n
|
||||
0000002057 00000 n
|
||||
0000002205 00000 n
|
||||
0000002321 00000 n
|
||||
0000002620 00000 n
|
||||
0000002726 00000 n
|
||||
0000002932 00000 n
|
||||
0000003138 00000 n
|
||||
0000003225 00000 n
|
||||
0000003537 00000 n
|
||||
0000003612 00000 n
|
||||
0000003707 00000 n
|
||||
0000003816 00000 n
|
||||
0000003925 00000 n
|
||||
0000004067 00000 n
|
||||
0000004174 00000 n
|
||||
0000004288 00000 n
|
||||
0000004395 00000 n
|
||||
0000004502 00000 n
|
||||
0000004602 00000 n
|
||||
0000004712 00000 n
|
||||
0000004823 00000 n
|
||||
0000005050 00000 n
|
||||
0000005125 00000 n
|
||||
0000005933 00000 n
|
||||
0000009436 00000 n
|
||||
0000002095 00000 n
|
||||
0000002201 00000 n
|
||||
0000002279 00000 n
|
||||
0000002485 00000 n
|
||||
0000002777 00000 n
|
||||
0000002983 00000 n
|
||||
0000003189 00000 n
|
||||
0000003395 00000 n
|
||||
0000003601 00000 n
|
||||
0000003688 00000 n
|
||||
0000004000 00000 n
|
||||
0000004075 00000 n
|
||||
0000004170 00000 n
|
||||
0000004279 00000 n
|
||||
0000004388 00000 n
|
||||
0000004530 00000 n
|
||||
0000004637 00000 n
|
||||
0000004751 00000 n
|
||||
0000004858 00000 n
|
||||
0000004965 00000 n
|
||||
0000005065 00000 n
|
||||
0000005175 00000 n
|
||||
0000005273 00000 n
|
||||
0000005369 00000 n
|
||||
0000006296 00000 n
|
||||
0000007001 00000 n
|
||||
0000007229 00000 n
|
||||
0000007642 00000 n
|
||||
0000011011 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<d1eb6aec62dda0de1b321db25aa5cc93><d1eb6aec62dda0de1b321db25aa5cc93>]
|
||||
[<74d094b45c0ab837dfac111b102db2cd><74d094b45c0ab837dfac111b102db2cd>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 23 0 R
|
||||
/Root 22 0 R
|
||||
/Size 41
|
||||
/Info 25 0 R
|
||||
/Root 24 0 R
|
||||
/Size 45
|
||||
>>
|
||||
startxref
|
||||
11348
|
||||
12373
|
||||
%%EOF
|
||||
|
||||
@@ -1,11 +1,41 @@
|
||||
# Remote access — implementation notes (v1 WireGuard)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-03 |
|
||||
| Last modification date | 2026-06-03 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
See the full proposal: [20260602_REVERSE_SSH_proposals_summary.md](20260602_REVERSE_SSH_proposals_summary.md).
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
@@ -23,6 +53,8 @@ See the full proposal: [20260602_REVERSE_SSH_proposals_summary.md](20260602_REVE
|
||||
- [WireGuard data plane (UDP, not nginx)](#wireguard-data-plane-udp-not-nginx)
|
||||
- [VPN process (AIDL)](#vpn-process-aidl)
|
||||
- [WireGuard third-party (Android)](#wireguard-third-party-android)
|
||||
- [RSSH alpha (reverse SSH)](#rssh-alpha-reverse-ssh)
|
||||
- [RA control HTTP (:ra_control)](#ra-control-http-racontrol)
|
||||
- [Tests](#tests)
|
||||
<!-- /toc -->
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 17 0 R /F4 19 0 R /F5 20 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 19 0 R /F4 20 0 R /F5 21 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,108 +17,97 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 45.68504 716.2874 132.389 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 762.0394 132.389 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 59.68504 705.8499 174.72 715.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 751.6019 174.72 761.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 45.68504 695.2874 209.309 706.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 741.0394 209.309 752.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 21 0 R /Fit ] /Rect [ 59.68504 684.8499 100.125 694.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 730.6019 100.125 740.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 674.8499 159.315 684.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 720.6019 159.315 730.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 664.8499 168.9 674.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 710.6019 168.9 720.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 654.8499 145.1325 664.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 700.6019 145.1325 710.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 644.8499 87.19504 654.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 690.6019 87.19504 700.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 634.8499 95.52754 644.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 59.68504 680.6019 95.52754 690.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 624.2874 185.293 635.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 670.0394 185.293 681.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 613.2874 117.701 624.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 659.0394 117.701 670.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 602.2874 157.709 613.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 648.0394 157.709 659.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 591.2874 65.24504 602.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 637.0394 142.597 648.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 626.0394 151.485 637.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R ] /Contents 40 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 39 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 22 0 R /Fit ] /Rect [ 45.68504 615.0394 65.24504 626.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Contents 41 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 39 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Contents 42 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 39 0 R /Resources <<
|
||||
/Contents 48 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -128,115 +117,214 @@ endobj
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Outlines 25 0 R /PageMode /UseNone /Pages 39 0 R /Type /Catalog
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R ] /Contents 49 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Remote access \204 implementation notes \(v1 WireGuard\)) /Trapped /False
|
||||
/Contents 50 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Count 15 /First 26 0 R /Last 38 0 R /Type /Outlines
|
||||
/Contents 51 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Count 1 /Dest [ 21 0 R /Fit ] /First 27 0 R /Last 27 0 R /Next 28 0 R /Parent 25 0 R
|
||||
/Title (App \(developer settings\))
|
||||
/Contents 52 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Parent 26 0 R /Title (Android VPN consent \(WireGuard\))
|
||||
/Contents 53 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Count 6 /Dest [ 21 0 R /Fit ] /First 29 0 R /Last 34 0 R /Next 35 0 R /Parent 25 0 R
|
||||
/Prev 26 0 R /Title (Production deploy \(no new nginx HTTP paths\))
|
||||
/Contents 54 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 47 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Dest [ 21 0 R /Fit ] /Next 30 0 R /Parent 28 0 R /Title (1. Database)
|
||||
/Outlines 31 0 R /PageMode /UseNone /Pages 47 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 31 0 R /Parent 28 0 R /Prev 29 0 R /Title (2. config.php \204 required keys)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Remote access \204 implementation notes \(v1 WireGuard\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 32 0 R /Parent 28 0 R /Prev 30 0 R /Title (3. BE packages and permissions)
|
||||
/Count 17 /First 32 0 R /Last 46 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 33 0 R /Parent 28 0 R /Prev 31 0 R /Title (4. Cron \(session cleanup\))
|
||||
/Count 1 /Dest [ 22 0 R /Fit ] /First 33 0 R /Last 33 0 R /Next 34 0 R /Parent 31 0 R
|
||||
/Title (App \(developer settings\))
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 34 0 R /Parent 28 0 R /Prev 32 0 R /Title (5. Verify)
|
||||
/Dest [ 22 0 R /Fit ] /Parent 32 0 R /Title (Android VPN consent \(WireGuard\))
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Parent 28 0 R /Prev 33 0 R /Title (6. Browser)
|
||||
/Count 6 /Dest [ 22 0 R /Fit ] /First 35 0 R /Last 40 0 R /Next 41 0 R /Parent 31 0 R
|
||||
/Prev 32 0 R /Title (Production deploy \(no new nginx HTTP paths\))
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 36 0 R /Parent 25 0 R /Prev 28 0 R /Title (WireGuard data plane \(UDP, not nginx\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 36 0 R /Parent 34 0 R /Title (1. Database)
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 37 0 R /Parent 25 0 R /Prev 35 0 R /Title (VPN process \(AIDL\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 37 0 R /Parent 34 0 R /Prev 35 0 R /Title (2. config.php \204 required keys)
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 38 0 R /Parent 25 0 R /Prev 36 0 R /Title (WireGuard third-party \(Android\))
|
||||
/Dest [ 22 0 R /Fit ] /Next 38 0 R /Parent 34 0 R /Prev 36 0 R /Title (3. BE packages and permissions)
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Parent 25 0 R /Prev 37 0 R /Title (Tests)
|
||||
/Dest [ 22 0 R /Fit ] /Next 39 0 R /Parent 34 0 R /Prev 37 0 R /Title (4. Cron \(session cleanup\))
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 18 0 R 21 0 R 22 0 R ] /Type /Pages
|
||||
/Dest [ 22 0 R /Fit ] /Next 40 0 R /Parent 34 0 R /Prev 38 0 R /Title (5. Verify)
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 839
|
||||
/Dest [ 22 0 R /Fit ] /Parent 34 0 R /Prev 39 0 R /Title (6. Browser)
|
||||
>>
|
||||
stream
|
||||
Gatn%;,>q#&BE]*.IOH7_i('F8bWFrCe/.'+Cd&qa<YYm26i.3[c?-2dQkEE"U,T/C8BS*rU0\Mhh?Z;(Z#"d-,=3rT?\l^#0@Qm5QXKr0M6X%4o2NAi$=8l(I/['`:F375)7>"Mj_n>+T<MUU)6G>fcZqqB0CVih1gb/.5:r-b3KUteH%WS5)l9Jf96X>=0g>@"HfS03OiWOK"Npo/>]@7Q"pO1f5[Y%U@9\Bo#jq`m.TWKP2D@KJE-[eL\O+'3g;s%$/_Sp4ZWitm,.P9n-O#rTQN.@P?7c=LAhqlOR!Id:`3fl'`.>;obBA+&JdkU[_j&3]%t_>J*Lk[?onJeM7>2akUE<2<QOK0!+L5d4hgqI?+c;[DPEa?K4\_9,n"Rc"Xg?#=#7=loG%f'm2.Y[p5b&`2`<QF.^M1^i+DP^(;lg_aEF6!?:G8,ITOZcXNm-rVKeQH5o-:_aYg#"Y5Z5g,aj/pe\%/L@Jk;Sf>OBdL8#=T_T<S0UMb]?;B%I;B>i"gF5F!G=JA_3/EC<!&e;fsM0oB&,BP/9L`,oaqRC#qQaq0N?lL0D/PeXib[Thlp79tm5[$^PQDRZa"Ppq6!]SQidh]VMoXbPQU+]QNS[9tX1Y1+8h9CQ\%geUi.#D:.*)8]K'<F41XfS2aC%V_!lF(<+DC00!jC1)d"lO[^Mc.f@RiNGVX1G>pp"_M_4<AT5P=X;;eoC&G+cY`E_jFqPUJDicnKm/_I7[]0V+p&a\/JY%:I]OUB4n"*lar(uadA;qe*<H>`^5fgKnHeA$cj&VL?Ge`j]YiCqMGX8dMQgO>cXZ#U;3XjcF%e*059YK"YPj:bQ~>endstream
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4052
|
||||
/Dest [ 22 0 R /Fit ] /Next 42 0 R /Parent 31 0 R /Prev 34 0 R /Title (WireGuard data plane \(UDP, not nginx\))
|
||||
>>
|
||||
stream
|
||||
Gb"/*=``=W&q801kbg"F`hn!:+skjjPVREB.4:nc89Sd^V1L*d6:-eSJ<[.hh>b1u?K*,cPb!6VX^pE7!B/:0]"`-i2,Nh((B<^%!T)U!n#Ze_%eg@XqFVjtDrCKkeXs%PFCsE0#.CN)_6Rps1kpGV%YrSZQnMei"YD+%.jj&TA!2"/;3`ePi9ZJ%#Zh]UOm>?LrP05f*J(BY"*L:%e(a1Af=,tUe%<6ddqi,[7C6A7^/NU(jYbhCKDV;%hEKtlKDRG>9C5r(Igm'5`O8b5a95L?%C=qS_6Ob\<UJoTpj^tM5KfeK1as;JQf@5Be`5frA7C4uE=fqGfplrYlN`Z,TOGpSV0ICDJTX=Kedj<iH;.D&Bd-X'IcX)EZJZ(D552PC#iat,%c_89=%n^D9BYR*o]n=.=*<M(`p(*knCl+,1RH<,?e<'&7;^X('/s#*GgpjDr$\*2OZ*N*@c;n?IW,dg%ppZU3lsfl&$)J;>UGsni&fcVE^?_q:/Oqg:=jqcVo3SR&C\$OVfd/4T:q]"8]n#f+'#1^i^k0)<7_Qt*`Y/fq&rrr.cAQoSIlHs0G:.+no9YOEsO5R!i/O^Fe+-jrBO>YGT0:p*"27rndTYR]*JVYiCh_TA@j]:/::3Z4>oNgm-bS$YqSQLc6;])RoN!nBXn3Qf$(1X8tX@cCOFXV6$[3/<0c#A72jH"$'em5<69&]\>juhmK,EN:--H1^&&2^l@$*&GdtG<3TY(010SXH%1Xap"]=4SA0-f_biqu+boR0nmhh*kcH!`+?YUR)BT110E7]2,]oZYN!d)P9M%CP^n;UWe1jo_XKZ'+.Pq??04L?U[LG89]l@S=``-$8E=>I!JQ8G?E7h9:F+s7ALYO>l:8Bjn1N6a-YPl.\n77NU6/6ia)c@'lOT3&`J,n*f:or>(*oA:,B48#Tf0fC]rR.+B*"cVtY\qB;"Nk\U1rmR'oDTa1I*,U;m0tW)r6#%YN1;Vt:?H@OoU?$_"iTbshIJ=G"7K7FfNW%Aa>__rLj5q!B+$RLBPrh?^_=u_*YQa+Sit-9##JD'G':Q.(9=?W90pF=`GTr95oY#bV&@bSJ4*Pe;Nfr,SB@V13b83M=+koZ/<N[QD'coa[jW!;e[mWMte#tM4FdF;NYnODP$[4hl+7FEN"J"KAToYV&.b]LVpF@T;^oIOP!"3=iOuX(?V;*b83o>!77`9j.M,C&-"ua>"blkB10Bc,-D;?lT:lO?u[;8Yj;]k]jM;:>mCga!S;9t[pJ.#=,8!*]`P*CIE.AhQ-M@u-=6hP*gOYL[KM^,.K`HfMf`X.WrkXX*;fo,sonH:11?W$sC=R-KID3VPB%MTWife]Sp&'3ea7QZAB,<%5ci)/##R[#O*Va&C1JQ4mj&nP\c0*Ttk?'Dda]WA5>j?d$\ZS_P_#JRSihg]nC,%PHr@Y`oa%<L<Z^MK8+kpu]AO_^IVi'566FoAFaL;2_H^Ko-_0D?nj9-d>9ZPYn`0*8_5.eUCjDI:TnQe;Wuk6V#kAu@:,A[Yl!QY%?d$JK'6qD+]@,Jl_WFs=K+Om?=!mL^#29<[5*S<K;M:_e+dR)ndq(=$HHB--19$ONjf&d9lqj4."[#XD3P$au:6&&TZDPZ(U_P%YWpkn68A].ot/_]%n0jO9Q/i%^0$<kd1UTC'n+`C4K@(\M`)J^B`tAeeI;R]WV2/FZWQhV[3dmZRM8kC&aaH:lu5%$BZ1oD:WKp[+5TlW2omT_e9Rh(&U8gFTG/pON[D>e#[seDbh_oNL(s/'KtH#%M[^!2$OtN4XcEI*)Z_WA&jPZN1K/K`QQn"uOe"e1%kg5NH$&e3P:*3Li=0_k3D@V:jIbTj]e0i(O8XrH(BVKT+LSm='b7\HH*-%jD>^T?DmSqYq;"@kJRi6M19j>^=&-_0n^Z.68IMnTHX-a1RId5*p@2Q_6!=0Vh$'Ef+FCTl_ereVaZGD=e/+aF]1.@Z+CB.ll3:9bMF\[Bb#ieE>?#KUX'8P%;Z`E\Q7ih!,i$6GPDl.4=(/Fe$Zc#RSk)SV'>VYlml7c3jMQ?9jT'D%X.n`=F"^3Q_f--g!ND66HZ4X97^C;Y3jPQ@j,?7R<C53Pchf8UcUq$$3WT@smrh4Aj[-GC9j^.M3qK[LT.lrc"6/=k/=3D$Y4EK2U"eQ4u,oc=Z1io9WRRBRLrXK"#:I;q7_dX?ZG3Kb%fUn6O+]'1dahjt]="`]u+0fn/e&%WG["*Zf5#jRF3iI0O9;C*d]hT0[[o[F4HsKdjUiNUC6FPm-]pj@/A;[7Y_aK[D#%<Sc#eJNA#sAJ2/;SN(;\A"8Tra[nj-Y&`!JHG<!Vr9<q+fa=IOW`H[CYMb(DTN+,mKA=nj(C],9EsZg3:abgFL:G\_QIklSjd"B6XOtEh3ViL]diOGqm<iHO)mNhdM@CjNH*09G<@6MY0UZ9F?7HOk%FrSf;Vn7dG,`KN"BfHAHupq0#&A1X33JEp3hC_4(J%$/]0Ls]jtc*jXh74:V9=CLbi91/A:?XJA+nB.pJ/Y"2I57SHoR0k[&KY>`C#FJB2lLDmahoCgL!Q7YA;B-)oR<.BElcP3irF;FgB>=1]FMI1VNSc]8<rd<N+ub_V'2L#aN.q+=F:?PjPmC1G[9/g4!!Q5tVDlZI$PrZ3<u]Jf/QC\sM&hl2!3q!r#u'^,hGqMS)Z+r,j.RPPG):icqn?/mVB>gRA*/1G\seGaAEbQK$NP\AMG\MI$ka-(Q)@]VT+gB`rXB?](AWWJ;A3_5#@?,M1)+YuXDTO65O#M2.;c+sF(YA8B.8]96dhH$07MMaQcY$]'?A,P[K4+S%)mi);OakdFSJd..4U["SO.H>[.Vf8#1paBds>R2?i@J&AXY_;Ik.NR>3MD9u0PcPhc7b1015CjD6b)X:`Lj^=+;7%tni1eX]fgF00%s!s9L?C=L@Mr=IdH8>.T#G]7fpWB4`3Z;J^;6E[/5Ib,G9PZAW-^#5JdA%ZGKlKDHa;YPpkp-lqHIV8)8`l'&=H(7t,DDo#hEM),6-A%133FnAQ'TAcqcg6B%l/FC1t3W+q)FW&*q3qbIpK=@\cqIZY`7VTJaMM^+U.p21=X'3TLK!+H6Ap$b9MLrrNY\VD>#_k"mDJM;4!s$JZb4E;Yo9&`?1,MD7+QC<Y]tK,aa?7i'Q+M;u8X',lh+E2To_`&sQH)Sh9cRr\Tr;K^^PBgOeLsR',\"7_)X+!!-XPI`1lJW7P4>S9S_#:E_)NS@IK%msQ[M'8k=Y\\HD&crl=[AIhD]i$Ku2BZtFB4hgc;S^sqUQuj`Zlhr!$NL!a8'DQj2OeKZ*L>AZnp8YX"5[)a#(DYq;\)BR3$3M[=Bt]!a4a@utaU8ErN4CK-%l!j,hI-&<oCQW>DOhg0n,H[UGo-#8G!UL'ntmr.l7iXm8AeWc=kP?)%pnQ^j"u_)=8R58=M;U$mN9Y*?"uMggFQOX>H[)<8:EEpq$c0@nnGa]LAWmoq6j][n-KU=i3ns\'qX2l22EM<D^.@o*d)57q&*kMU2/i;Q*#pt%a7SF,9@keEEqD%'&'L%buFmLj_u,>.t7kN<4sdI+tD,h^8^eq(aU3Oac/=fJfi?pG-i(_3V6g/P+.Xp#C-Y7<$Z&3%RSTuK7Z7Wkft5eDe)7%Fj6]6>.QO@CA-Si>#+i5#k[(3?Zq"P)R%%4&>NPBeKpH6qXgTYHmt\6KkAhKHF_a&0*lo!jhBc&=Q\S+pl%]/)BWscFgf!$($+DE)ji8nEaBi*hd#mgms]nDd<%A&IK=)ERi=EO_"DoW(0eGmQ.N;QODrb7GB,ObmX>5;#B7<]jf\[O4@`^;:Ynln^Y_V9,-Rij%>GiG8*%onFE2aNCA5eOX4ek*q$0SUI5dEEHh</r"2s\cntqqsI2BOT9A5q`'o1;o^m]2qm`0Z<eEbcDq(/3H$-A-^0#(&R2QkPeJb'8kC+r[gX547O>Y`Cg-XFG:qap95l/?0j?tO@!R_+CQKr#k-5bcW?Lq?N_S::5.#-i`4%[Z[IE(7"eJ6;W04-/-nV/bQTR';ZHI(k@QKC&-.9YRO`)d`IJf3Ybn~>endstream
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3325
|
||||
/Dest [ 22 0 R /Fit ] /Next 43 0 R /Parent 31 0 R /Prev 41 0 R /Title (VPN process \(AIDL\))
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 44 0 R /Parent 31 0 R /Prev 42 0 R /Title (WireGuard third-party \(Android\))
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 45 0 R /Parent 31 0 R /Prev 43 0 R /Title (RSSH alpha \(reverse SSH\))
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Next 46 0 R /Parent 31 0 R /Prev 44 0 R /Title (RA control HTTP \(:ra_control\))
|
||||
>>
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Dest [ 22 0 R /Fit ] /Parent 31 0 R /Prev 45 0 R /Title (Tests)
|
||||
>>
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Count 7 /Kids [ 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 861
|
||||
>>
|
||||
stream
|
||||
Gb!;e>BAQ1&UsJXfU;FQ.i2'q;c4s5EGQqDlQhK8V[lct"-\fLLE_!Dd'E]M=n$$\&hWC=p7^'i15WtZZ.R7/$NkMK(ti8G%Idd5K9$3R-;54`fU<8u/!s"+IQK7k9&%bKTqgB#%1Q%@7Q/Q0@@V"1]S;jWdkqt021+i?KTUScaMrA\9B_c^]RoB2%O*,TeFV^6_3S918rA17<Y&f>klI]sV2Wk'IaTU+d7dmtdD"RPT6RqOM>,1NVi-qGM3Kj,-CgTjP&/>/3k=0@.Q:]sgHt@ndrd5+SG58_iY:8L%K9Xjcia2+h(7_G$BgcF1)iF=6mG8I["\MSW5X-EG)W,oT>!bR_#TYj/n@0$?<kAt(,@(L3_j-:@Fk<8JVu0odo&EU[NmZXE@]:NNPL=km+%+mK(9/hkP9FF<*_-4bg`1WQL,cYCpO8LMDt=4(K0sH(;pgUcO]#Io'Q/AAob/_(@Iaa"n?<@#')\O]1nOZpji_e8+VC3Sh!_0PjV.APD2];3nd(lI6$f7=O:ofKk8J*"<#8=!Og(7dsGV*Z37U4lRZbG2S*KeY\:S\K"t;d;G.nQF7tp#l]'/k)/^r7_d!]_Ua3@=I<$_\5[rY>;@(sE8Ot7bJ3G[eH%5j>]4L5RmG-,Pcg[0imj2pCQ=^m8%6l]X5Ln;.m]"*@5<\1'17s6[_WHfIT\&hmI?rHSZ;-)VoKds1Ei&L-5^1oFbup</BeW[;nd/-t.7HEbWMiS=a1+AZa[dg&ND`(16E6!!;\Biq(#%W6iOYdB<?2Q`QDQbi+oY9C7+"O>Vut;g.?6Fl/Cue\`Oc=*_eTQ\,l%`l#[i:6YtPH7qO(tQTDP,#cnf_VBb3WrL!=5Y%u;M(BQ2$(?!Gp&N4A80BXeendFtuc39PO\ZX2UKi.mObC%<88?;Rcl<%E/nD2W"KG[5^p!!Wse%o?C2:"';jGk@@*i7D<:Ze3V)iH(;U0h>3VV":]&U@K;rql;^<ik9%Je?*V'T&lEC\ogJU49`PE-T@JhIOfR]1#"tB'fRW]_-*/0Ln[g"8/fW6o6)*UW8i;YVC-Aq1@tJ8%+fK\L@cL6]`,"rG+&">aa-I=%\E$s__uo_[P^R-+-a+N;hoKhVcp"!AQ`&lBq[i?8$YlV.L&'a@YH_85QTuCD,kkt?_QcCc!t<pSBP>U@T>QUA/j/Z\iHYFTM?c3O:;hc0VkYud0<kn<ob@J^/*UhUeJ^O0\CtAl=kc'OiK$B#qh-7n$@DE2N%%qH)8DVrE#:NNDYnbrNOSYblJj6e404O])rtKAetS?BA"dNV2oSEF]mcT&8[nl7)ln(9Gma?.`.&U0(12SbWqc:Qirdp7-7X^s4OG-@^OHgVj$r0q>'+Kp\BlVX36F-l/gMMg,eHU4n`jI[[G%ij'j(jnHRr;LP7k&;X;_=lgH<_U!%G5-;>726Vg8j59YF/#pgH=)%_@4;@N!`oXCRb]f83ofXBH[]4!,89s`?3HEKp?0?h;*<#13>aX/1ILcXj12=MBU=@0B*d:8N]At,n-eNn]6l*WiSP/guSK95.c.,a`;;O&?WXHH;kr\,6XLjg7G*tOi[Xt';U+/l/*EjAeT9n[cl'sV9DWq+5H`0@$bkBWl>$qmK%o%T6[*2jdU_'E)7MfScV];Sf7eGElu_kk5T&_8_;k0&\!j%I$L;&a*N?,#a#?tUFG4EZ)))XM:re%C:jGdApch57G6$g-9l(NU<.=\/>SQ%GiH(a-[3EJT=%N&-)O"Vmm,jg>:/3V%rI(Z<g.p#\RK*j5rM)jCLq&S=+X"j:u@FE8i]r4)_-R'0IW_VLeh?<k/T!taDSQJmA)[@X6+:!9e,ZUV+c%70S*F(?648gBiaE`#Z7E=C<M^1!`/@.>.<W_Yo9Zt^j7CJLU8ltg?a(R&+a+CBK*O5p:Jb;mW[7GK,+7?TO8bl#fsF/PL=5oDfZHaB.;Eku.J3R`8d:?%'FL9p>b$jS:':ETN9k1BG)\$EI7O_36J,p(D/-4XaBDgeq^J9EeqAr#L7qJnf`kW@nK!RF-a8R('.njTf)Q*J9^p6[^GW[-A6-*FXEN)?AT"=kkG8R?A;9#Ig^lGIK0HsdOQ0oSO1M(YEcd1G@Z!k5)K=1Bi06Kh);7D+I,V#*WXA4aVXPbr2G(CUBcrR`>UbOoq:qIp61i]/$od.ec@%P,1*?XmjR(aDmFl.nGR`;Cu,5e5m="FumYA;[WRKK+6KBpNu0?7NmF.[qh3d6V9_YL6-Tf&!Q9bsLfpKmnnDe4Rhq4+oOH^&8"j_TlK7Qt[YSQ^\D!T4Ljr(csg.V/BHmpYAubW3o\#c'4Oe74Q9N%U&Ria^GH8Ea':I^E0/aj4EOo^6dL7nZh&M23=I-AB=0uiD6*X&#KR/DhbMZ@LFZc4OIA3^8-)Xofqs?r^7]oT'[BAr4_uKK&C]K!hT'@5/='-^1ROorOor<>(<EM;=%qJBW3n?:ZVR#U=oT2PllhpC'461%Ns?%%H(/FJ=rbtJ5>ukiE5n9/(pqX8iB=doA``deO)(hXUVt4Su(,+A[FdRe&A>r+?1;9,9EakXKFRf%$t(n$OklC$l)%bl2Ei8\s@<(&5EfNqiX)rq,CHb*OMkt^J[dUg6W5K$UjCa9a_"l_K]3A:,'r0mH)=R<<jdf>"5?Hk#SSo2^_"p0Q/<Old\AS-Q2GKdHo=aKLnB:B>*,<Ek5c_C","q:X\>s_?s.8W88X2C=_:=5Atb-Hl<UBG!HBIB9tUN-s%20aYk^;l^C"(Hc(]0"2J]5%&eTq2_3AmM81,\bTp4W?14d<&i/T[8[D'S1f9MS4>=(I]r\3B;)_+SfdYD.MVO2\1WnQ]d9iYs'WtfM#0SW,`C"KA<u^MNH3(]PQZ.-H:X#"3StEc(9]"C(mHSFRUYJA1DeYgMA"AWtJPf6LF0U6d(.XpSeJO;"N4"!k9!0!AqWMZl"lo_*G3M@3hXg#<)^V8F7`c[MFf8H]AA9Hl?_hoAV1CZ\!;MK#Yr:Nb4tOpHgTqrZr%JSYnd$T4^rAgoa[g/jjP""`$2VrEU_p03i;,(%(YNehd1j&s*U9.3Su3I/A%.1gQ(1L!jtU!DU?AFJfGn5U?]eW!B=B=d:/p\`\A-V#gre*EHX(4q[20(U=`5F$;nQlud=RNs;tn9/?$'7V4YccfriZE([C]*;._6EnWf+KVG3_..E0i#"B8>g.Tro08Np7Xnh@.pc<S=1Z+j'*@((FNj"9#r[-fB)R#hJQYGL>`*I9J'TF0u*O:5s$,I+u;nq#an$8!c=;Vii$B'87$13:bku&EA)*<>)Zjs3f2]4a_AWopg;8RBh>aFdiL]^B<i8nbr~>endstream
|
||||
Gat=*95gRZ&AI=/bV?46fAe4u]8ourp!OWC?@"oRBrM/E$0eJiIL!03a!Lp5P$%8LqrXC<$oS0b#HQ`n!q7LdRl^`e&?GjH;\2(,pL*]ALAt:(c&AR2!c'CJdT;)H1ZP'g=oso%iRS*C[I=ntr]29!4LhX-,ih8llI(@tV#r<:6u*7bK*^U80$+G*iH"1k>Bgas6C_lC/obS;(3,X,8p7Ma57i:_\\$aQH1Z-""i38'f<FK0Oo.^qNeLl&kp?PXd5M@0YoeR.H639Ud869V3Um+@K+oG6a(0s>"HhH?Zd2h?J2V84n8+r']telWF\85;ia<j%Ip0^b->&kV'F#>+c5j!hM6hTp21coS_^[tVrNSi^o?@1[`:c<s\V+%TkEQi0@[OW>/-0'W0]N,8U.MoQ8mY6bMb_cM;jEk[e_=Brf$VT36B+ZY1m]or%+dSm@rA'bg)gTSHQsM>gYqP&Gg#XiZ!9Pb(=[Z>X"Y!lT5Jkao=uH3V[iHbqhV`2g#n&r^l8FomGp*Oc/&@F'SSu*CQI\MmQb`"(7[R/5e!/OL50_P5a"S+.UGjV@(N75!N>7>cPBqhh/5WaC>46q/!,r>H$18^O,MJbbe`1Ym_hQa/fD_A:<q4-0ks4V'?;P<o'A63CW(b]aXR"N/U-<M%`RUCK^Qt[Kj29f<:/urgct$"5%C1g9%+NO2a6'H/I)1ocMXIuPKLXUGcj`QD;^t!hHJQ8Ee:7&1UKlN+Y,2MD%ghaIL"pm(u'Vo#%9Oudi_TpTc/UN+Cn,H=&t;GAbWf:iXUJ'=<C>pdL7%+d)3G1R8o&bna)=MA(,)QhmqDi"t_DoO']Ic1QCTu\'-kL%G4E!_!E_6*/P"~>endstream
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 819
|
||||
>>
|
||||
stream
|
||||
Gatn%?#Q2d'Sc)J/'_]eD(Z$OTm(47Y*I]nCKPcoWH,gH=GT[gd]EIt#=tntXX:MD8:ZZXIJfZI6c$Zm[c_H/E1Ff(.0]!(\c<Y3&CLrRUkAOFh9QKIM.5V$^c<cKOG*BM4sjV&#:oif,a$,W+Ir7!8AQh^peCT96Tmt!W8[2&I(rMqVW+bCTGN](<D-?H"%[o-qPhmANlPB#OnSnTTTc8b[k"8VqP^E%50W,@/9N6J=BX70>2&e'!sX*:"qABrm"pBS[u8h*L.12n(HL8EY8T2JRXo9>$R<E(KuomIJtt&4VFKb'X=gl3>ZR\M6l)UbaW7<kTmjm^RSKOhoubN1s8?L.1Q)k_Md"mB.ilQB^Z%Fk!jjAAUfq4+pc\p-n$a.5*7j].-&'$]M#mb!'9#Dh(/&@-W#RL^2heXV5R3l/l'EbCE+1MDk!LY'#09Cce@'D>Ppl&:L(UqXVH>rA8Fq;,,E.Q.4"H;CFqj[N][':SE\%j%8tdNMil?<?)3h;9$?ca[qadc;PGr83Q-gK3"/:b"`tqJN@FW%@or9_AQV*XVl"^+0lU2Dj^1aZ^ZSN/([1\:'E!%jr!ff9LpgJ(XUNYZT]'L@3I!B2?m=*-5Ka)t1Uschjs7g"8E/uo7Dba\37,n.J6t.33+pp!,YE5>j2uqf8E&3#H1VGZ64G)n@jgT>P4$#Bib\"?IQdZ>Jah-tZA[bU(Kj%^5BsWO\_/t&3%u&eIBJJU:%<brUg=5o!Q:?]DqfK9p`faD]-9S)g8+?*'5sH<TOD+Z`p=E2E^^6"JI%M!?C"t=VkeeS5Iro)f#N[O43<~>endstream
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9$AT&MD_`PtL;ZBnUJQ&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:ps&&=X(PCH'Wj;^H^&o:u0B4;^:%sp:ZE&Wa6R#'r_sXjY5-C*Ut>641HTb(JK2s*r~>endstream
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`Sh(bM!;,fa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#A2MA-a(rHVR:D)FhU3a#MVn+@6p(6,SFQ!,JH2MH_7OtUjbJt$1U9TU8;~>endstream
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4262
|
||||
>>
|
||||
stream
|
||||
Gb".?Bli%=ot,^mqp]V/D2R7#.C6A@XE3c>Z]=Ehg8R.PMLm*!'ZkliA5Ct[h?WN]Dc60";`d0",_--4qnNjG'n;&;mqr,3h8AFc!M[F/&r<4uE;orFhk,<],O%n><33@()IQ>l78jX7f:@>)S1li94.Ym>9U3MCFbX+^Hrj#siI3$G*6Tp6n_sY@hbaaNR_j+2GnBNh$mN`]Ju3:KC8oqRp@TN2Dsq#YmdArVZJfI4D)WDh5:N(UncJ6o_Yk#)n=SF[V^Z+[,om8iMQ3.8qZPYC&uaiN$&50Y<lYt6;,!OJm1ZS+@SNpq`ro<Y>FO+t6!%%1[b<+m,bOS>bT9(RG7Za>AFr?TcV)>]$0PAu#S6)+\t`RC;@X:uA*0thLDL'6:FsJ$g(oAq'oPa(Eq)-Ur'5';Y*&74@.-lWDC81-Vk%2$aI.BsOhORlT>SFD'>H4rhejH@S,%$k3V/"BobFqaEV7G6(Tnd'cnl\nD*/?;rW5'BKguhr_$0T7r,M=J#[QqL1HP_FoO3EPS/HMTNora[i)t,k+n31CLDSDh3asRma@2Cq+hcXUjf1?FdPo6Kq1dOj:^oila@Oo4dk;gN4VgDtomQ*KPlk@KkR,j(k0A"hgto_@9?#4JXiu0;nIch+cpg^I"umH"Ta*\id:)JARRIk;+Oo<GY.%]`"Y,;J>UO-7?e],pPsp1UrZ1)^k#00$/F[Vp^'(-aRK>egJZ\j#dn&-6LamA]kqYR_oOC!6XJs+t3H\eMU'"HLQFkM98QO._JU3A*js(HVB>4RnmJ&1T@!IhDb.\f;Dqu8pk(D^6Ce*I-><H%&+Z9G(Z\>:JRH?dH"2<0\Bb_:<=>N]2!M]"l/fn`8#o5B"e/4,1&0NF"4t`jTA,oAjdB;1NBm++PC-(\d0j?CIN*!4KLd\K]DklP@=^4>T!b)k6#_Zn,<X[G8%`5/:`EPpM.nRNUFpF,Ee=Xq82A9Dl_%JV8`MG/HP4QA?Y:P]rJI;_c1]S7e":_kP_hM1A/XpESU6Go-[)u>=TdmHj>u\[`=9ZHPn[c:SIL><R\2/Z4LAkG_HC%incaP!(5rn5r!gYt$JBOKs%GT5;S:qrbM:7*SRNj1jUFmMkl%cE)=#fU\",!MK$abKoUI)c;,[sW0#]9*k=!]\O$rM\PR1n22RN-W'W^GdO^^FDf979)b8qaRG7._W>I7DnL6H>AbF2sf>S?*T8>_YfFVpQOt=UABDFSl:Q=@61h=ZoIjl8AQZK3+*1NVZY2ke*;o/.+L0&/[cS@1K<<h-d!/K?$J.4dPD%nJ(pnNSk`\TqR[l#`C53Qj:]#JbdjnlNZm+J+0"!\Ck4OL@W_'1#.9X#YS^r*:]:(+4q3HoPo\4;*Ws_Z/*WJ'um3uO0bd2,$pMNl@_dHp&Yjl](88D2FNg(X2WAarF/h:&0X,.`Dg``;3cC1NG(Del]N+4g@X\^PIO7!M(9/uYdbHj4l7:s!j7V`<$1sufr/qY-%eDt<=+0c(7ZCCVSRrn\tR;h^ZAp`&I7_<9j8KjBq?gF5[uQ%n4cd#RVqD`kS$Usa.V(^2DL"YUO?BZiI#^@BLK2b'%tD^?iC'lMP#!JWARCI,WGn+TBRPJdL-j]Ne`Pa]&:`jK9l"^BXQ!8%S8/,>"_C9#q:C]jSJ&S[SiW_QD3*uj92Cd"aN)bOUI8M@d?Lp3`1]!m!PQhr(1K-m'7t\&3i$sBo\&$2=YJ(bM'[!/;-F";puikn0UT:J+r2=bVkh-5+t'o^]KQ/XSOAnr(_aZaAlj$peR70O>)DRj-.kdkMs&K.'mt,-u>90+5/XSD1!o,3uMpCc5eOC&R]J]r1%B>D^/r(?SdaT6-;+PVq(=lHji&lP>niJ!V^3lH'aA5b\@jj`&W.593"h:\qp^MmkLG)(XIKQ"-t.46;Jl-&Mb/_6o]f->-aDaH^L`EPUe\m!7=Qgj!fMqpHaR$*7c<X7r)m@Llu1o\.8H1r9PPL4XQ%c:"8@l)i+TYAl^-L_pf-<J-6pOf=UqWS%BqqqsdL"':'9W0uqA@=atq?^TV:m=L/I#5kXaBm26*8qol0[%ZUmg4LgRWC@Su@HEA7N'kT:T6(_C!^o(uKrGH$DT<\KF.Lb6R2LnQ00Rus@!5U3jZ;V_dJ&m\DX&_Q60q:J(_k5XL8ja<jbt38igTV(p:aY3L&aD#ShQJXe(P.ko5dV!<J;](If`*g5?nNh7&FI4<Y5H)Mj8h_XBllB>a+'8746Crd*,kr!oc1@#98695.+)Ld=t%9<](P%`8fN2s4L/@g3b0tGroQ(5-AuurbnI"hTH5H8]IB(e<h(?<o-]Z)IALfiR"cgG`''uPPPGVS!jl8M+JNL?!@3?17XLF;&-PUP$sI33K?F=i3)HV0(U=<t.$V"IKG0W`QNH/Yk*GEL1eF=&)!!?l`t^@<!OogN?2o(jUML)%$lb?Z&L;M-!HgWE1ib%G$;mu8@BSBVjc"+L0a$V*ej2HKOVC7KoB@;a/b?5^dR;[D:lL)g%Xa1&]a9?WZt#Lmq=n#VZ7!dB"2]%u>!1XTONTYaH3304h$_jn:4R,B?F\"b0LaHF_/1N+R1R\<?HAd9X-@8P0\TB&eT=Nj<9lB^::rbNE?N<B35;^5G?Pu-'q7M9N?\#Y]/SGS4%(;n[EIZ["XeBqXm4:ga=RjRLnU5R0**+*)?dd5&9gX`o(le,]X$7Mb'7qX-=>V=g4TC#+--hRCM[Z`@mbf:Sh&^V/iPoF0p,g??7HQA/_.uA8mEg_I\k1SJuCM-(3Lq[OO[3_PN+]DW)kqHq[(\Q?0`b,\=IujmAQ;Z&Ya@b0G&LliK;2g/N0!p%)RE(n<-H]E%`_S[mZ_NYulApE;U.0E7Y!#@s%`Ll/Zuiq9BK1_"Dj\DKhXP#JI`&VTIu5])&6F1T`*H9):O$:b,n,$9Ti+>uUp"nqn^RUt%p,)s?cIB9?K,rE6N25p;=t@>GJ*)]UF4F2tEQ?GqjS0:4gBnA#_!X)jDsLtblffRtG5OmaqWNb:H9d1mD)XkiE:OR`@fLH*r#'YeP*?-^;H)MMD0U9eIn/ZAcJ&_q_r9`UXloeGK?</'9K3@SU\UlZL=k2_;Sbt30m&1K&m-W0%3E,7pQgo0%R4IF0=.bNqm4$d]&ETe;$[%:(EJ8EkW5']87sqeGN^_A#^#g0;l\@cS2_mI.P6"ebO!Z`IBcM"40SZR6hSBOe#;#^)it(*rN][\90NjjBNN(f9A_-^oIClF#1XGC1+Aa-\roY8$/VH_1Z+"CcL*&,*OK3gUGjkWqcYgdK+#Kc+c8?X<^*3iu[t?o"BcXf8m@kI`c0pj%L`TmmG*dG*=0?POpqUh(!T;%Y[/)u`c:(q=XLf))Ap(Uk!D]JuT@B-)uY!_iWc2jjR(,/)ZkXg?LSrP'j>+$`"FedCJ"&iWMs=-))IKf#s?SX%/L[G\Ha1JZs^pM5]]%]ae5ao9-Cd\YM.[*QBRrL4&OC*^Q_W@Ys]I['Yd'BgfIm8'RNY/!P,-GX,p(c"4abA&1lU2SMf[C_=UO$LT?h&q`LBN6U*@(m=;inFYUbPGN[d!e])VBX56LGN)8r$gd_l;cLK;H`(&;);%.P)eef7U:Bbi;%e7S\<[R^mFR_/l'dt#VF]V-n4`t+d,D(noUZfqgA9,GSF]?@On9d8@'Kpe7Q-/nPp^=iU]<VJ_(gDj#E!pUQP>WLU'l$+-hA[`7([3N&jTb=%DKYiM`m6f8YQg2J_:YNS$*NA=%F^]]KQApYj3S\O=a/_u5?0?K03?34@rEa9g`k]?/#$NH=:e:SJV/]Z:i>Z4K(eHIu<J&na;-RSd)#X(<ir$2<MmikkNRh9G083t\0BCM>VX0uoAclRs[T5DQ)C;P_=;>1G7ib&7j]o\E3R*778h'4MBB0Q4t1m(;2NH.)+CWYhOX"05lMK\.&>57d"k>`!H=Ra2es0QgSC@s\WQWL/?t,td>Ijth0p+#s-.oE/(n~>endstream
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3506
|
||||
>>
|
||||
stream
|
||||
Gatm>lZ_&D'*"Q<@a<Z_)u;hpM'5%<F7Q!;fhL3XU"p7&*fa\4-oJH:/;NB&hi[iP(`Z6</Z0c#7\e@E*krT3"9UlcropTd0#l98@"N+/GRgT<*#RSKBRKBkM4%:'0'NmO_Z=[`'#PbO3"LdaU07%*&/W>:0F)?9mt1d2ojY)E%1ip2QisRjU^o:jY@.86j4A%2YP?e[P3Y!-AD2>Q6h.q=U(=[KqSX2%8fi\Zf29CuMN2+iq3ub,#::H0#Y&IQ5iXi^C^)jN(=<P"-=FjQ+F8brOt<$6+u#l)!D@s?1@"]q9eo.ds7M-,D_q+Z%R*b+l.#q_b:!g3O<tCsP/4.4C!Hf<a_*l&64FqI7?Y#SMJ`C)qCPUD!u^@Jqb]?9$PG,Q;G[*>e;Im`+P7bb(T<N>lo@'W?Jccfir.n<Y^%Kp<(]'\V1P9QP&/=tG;I(#<;gWQ]nOb2?n54RPkmR:P#HW*:\\k-0>N(8lc#*BZT-s<eAJ29&j4*cb`/5Z8L,'aNb^_rl!#G$ocR!O!q*t8X'8[qM%&X+S]-_QBEB8FE:s$S>j05aQ=OI8rDI]@,B,B+]\3rI@H*-#Bsuk4<L699Yma^WZMb:[>;)5OXRY&dV<m1mAQ]hEllb^c?b]n(NNRHU_S%`[V`r;T5Rs]1[u&ItT6PsR2iS[gR3JIufrcS8Bp_l#UO@g>QT[Qh2D1J=bq3F_,02/>%^8C)Jit<YJgKos>%bZ<[F#^b&fr[6=%Mi1Q./\9du:ur2iQJQ<ZJR`"[T#@-X)TmmQNXq&Kie6jgP7tELAoa'DFH_qqp-[9AaOJ0(D'Q;g,mI!.V=qJsr<8\Y#28bGn(99>MqKBlI)`<Aj7$B5.#fX#,rh53OYB'FOUKgLXmEB9bqT@'kgQ1SA2UN+)>``kLF81&T9u-oh_L8Ad8]O\lu*7`?KOC!n3$oe!LA<JNr19pCFOeGhfN.P-?9C27mJ_A30q*BN<AD$-*g2$>HKrr>*L_&E8]O]!q"C<rhCGLr[bCNE.s=TmOpf'@I&L?Yr]%1X8M41'fp&\$.!h>X&m3*Np(JP1PA3pG_>#_'R&R)YV_pO[-[rm"S_XkF!()XoffpbV+s;:.aBo`u_S#<[=V!V"i^J6?\r6K/@obG5rP@_npG.7E8Xk]S[6Mr_S5*7V+V&C9cKc+8&EG]JC':;-g-^*Pk$W&IOs`V#CJE#uq[<;9otdm3>h\)Y8\3o2f/H4m\;[I4oE\;Fm4^tun_gJ<]EQW\MRYBC%_iQ8662!O&)XgnSK1Vr8#LY$N.Y?\!-AKbsFDd$gNlmH)XM!B<#TZIg`7Y(Uf$JR'%K"j_(_4.'nN<qXo9p0)`r1l9UD0/\[-*'E>,\;sg`Z-GMF\&\F_ijrWr-n9e.:o$>om0j37m6N!-AmW*I#?,,e46(UeOD9"DH8eLeR,TjC5c;3l3C>?9b-B3%N490N=P1EYu\sQNm=ph4A:7Ajiqq>X!$B%1nZT:]+mYa:_B"P$Mf46+7m`u&CDBXRm_T=mXOfm$o-J60B:IPr:4lMIm<m\IWKp[5/.$eRB1!P]Z5#NVTg+SSj):&&ZlWTZrkE7QYJZED#LNb(qQ5FB[UuTb7Y-?gJ00EW2)os7$C42&Pmm,)F#RhLD[*ERUe?O-+[Y&3`=:(ao?urpnQ!KTTa13:lM?:%TW[M<I"i.JqlSF,W:"rGYg!a2]gj+"=6JNj>&!D4sp[sI2J72LRqMMWR`/'D$\Nb:$ZGE3h.Gf.X7]q.Hl/>2%esO<5agUX3)Zf&Q=6mT&l(Q1G#*ZaDXe*TVlP')O!k*4O!GEej@'A<N>f>ieD6&@md>/<6^aEK?'='J"ejN"^SS)TjVM[Qokgfcku+cG=]B:i-;TOleT.We-kEpckd!'(jSBcjAjUV5j+10/0nc%%0@9/Qe'ct"KjN@Y8\Rq"\V^rf,'m6BU,&jY:)*q0\[p*=C.2/%Y]W*\"?[07n"]YmJ6G*bmQ6kJSEk\O^3)m@LOgB[=QuJ^>TNOGcioG9P(%D:)in(cloYfWt/Lb7d\%i26p2RS7H#/85RlrKP5N=eA(THIIeRgB<[HX!+4JDa;7;#,B$/Jqh\?skbbc:9XLK!T)64Sb'Z3^0\"Bi)6MmHA@^[c3ucZ9'>lV\^VKb*49%e$[P9&)K2pq$XRDmVhWq7<<Z]Vh-I6G3S5W_]HQ:luTcEPWi2sBJm4DZZlX:Au]PW^4;6EO.SQ=a-bTi&j'd-U>Gt.@VA!Iu#gPnDP,gQW)&W1!JW_%<G;+=9AG6luq6XMd"T+UotE>>Un''[,-.9SFq0r:ifi!%!uf/WJ[c85E(U4-hY^3EDn06Hn%LPHW$MQaRu!K</>U%I:aX<[6;&YNC/#!-.h#+8re%NpX9;OZtn]9a/8TZT_28[QjsnZ0%GR(]u0=0YT"DP8/IMb5G/YsWa<j):PuT%hp+)RGrDpN!1:p:5q3a4T)8/%*ip[I;E#7BJGYY?%+[Mj0)f*V/,7PJ[rPjL.\;Im6DNa03riI4qkMia^5-.j.(JaacS].\8pL*_[%<gB;#3aQG*'o0d61`.I@ceGmDcO!eIGH&cZ,rVQ$C$%gKG!I.WaI"4unh!5!9qVKkND/ADc'`6Q+>,i"h;_`fYW%rm!`;nnjaoFU?",M(L"8Gh(+K27Ji);OA\or8B9"+;aPg),_fl="Mnf]+Sg4Wcab9`0cRuPeP19p,h$''c>LrWX0WG;tp_^1W5#mP;h":CgjFT47r:1D%K.MuW(?h,QsT6%'3Jp%muQ`B;r\rpQGJ]Ku?dt/I86*r$Y-^\N)g\'+X<=:'j%d[(0orZq"DGFlN`4R*`XB,p<T4m5r]\,f"Le0f:-Crt0$F\k!d\ppkT;IOCKI*@_5eZ.8:AnJno6(A\B-A";#G`KI^;R!?\Y=&'[pa"&+N=u[%4A:h!3\O@W6=LCZ\c7;8T70,1F5\oY'8D.,r-*T_=T$G)QV!gSiGQZSo3hqeVt3BGKL3Hd"et(N2$'5pX`L`L$Rm'_4h<>nk^8_e-8!ucAXo^$TPp"2s/4#cVIoN7dhkZG#brD;=:4)[^=A6Ytdfu^aQ.a\bJkUd^M#5f5*4np>%.-jC6\/=-G*VkNK-E+3LrLX1)r1$l^*2&%'cYjrp)IMHJ[[IE4#Me9M)1his-m:Z2'<5W?/"*?P&C3b-;W\ASJ2bHm3UWSEW"hEk'2STR5<VYYqGLO`[pj$#h/gjXCEF(/=?,Q"Xm(d:Z(:_FcFQR!Z\YSk*hT8C:lf!d)^:/p[5^V;*V[u*"Y*uAZ[c,Dt[ef2]a'^t<[1n`pPe9s'$(S)=C:L%eks&G_lG,KJUU3drXgALJ5?QFdt/'Zh\qto9%#4[kNc3.`9OYFRp/UB;BYe'+N?B&[6f_[Y\fP"3fDtO?Qkjo0Fq[G%Tlh`!qT]JAoT@G#Nr@*D5DBV!gY!Knp`I94;UYeA%qa"CGCHkA5LC9254NB:l51I>+D&_jf6dj;_TV=<qp4t^oj$I#6RcZkjgeJr;i,*0;:AtbD'(g#~>endstream
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1529
|
||||
>>
|
||||
stream
|
||||
Gb!;cD0+\r%0"PUd$L4rH\2ue]E%[]")[du*O]Me]:V.%R)D8$+jSc7jl`8+5_&igm`g0iag?nA8WWL7OTG[o0:MnO('*/&QldbR)b*c!%WPn+LV$FNmi#J)H;.j+W!g?$j$V!U[JX!2E`Ph0W+CVA[YRXp&*gS4P/Hq'7TuDF2]\jRf1NcbUI6&:V*2GnrtBPpmP1P$]81V5g<'LeOYnM8:5OBa8-><f+CS?(QGfN;!Y*e9JX4kG3b`mDULtELCKk09g=i=)7kEP4?"V[@2>bI%\5[jSk+cLNn@1!DE5kZt267Re%e[ZI$`#oc8i8qQ\.!lI$5fCj_&UBKRttVg64QjRA(2SZQj0t'9^neDI*;;u\>;N(`RCHuXh>Hc>./k5B5h)T$/68ah.KrkH!^\*7_XX_,5(,ehOki,5=KZAA\jnSQem,qL;Qfr+He51(K9LAn"m16GFl@"J$+*fC/CA1+]g-+aZt`M83a3?.k*0fggG%feV[Y0Z6P6Fnp]H9"6+72&4dkBha!tUO2]J,P3!%:MG&2NfV*L%]c0`SpVpBqW;.CsYatNcj5U=-fN>i"`0+8fXK"^c1<J5/4L7!Sh?]jK\FSY?Gbugg^*]meTTMJb;o2U?>U,6ck[.`4Qb[$O3i"?[n*L83@rt]30q#;LP.HMdk'?Z\2;U95eRrSC;ODMPZO(7^r-FGa22?#NhLYZbJ'U"#[!fuk:q]*m<?j-/joa"_75;el(ue"F*;+ck.$(M/IB2-mM<"1+Sq=`-^^7bsJ?-oq:@XkW>\ssi>jiZjW]6YhUWB9$.Mnoh%Eg9sf>lu^IJgL9/B9&Ce$Y9Eb9=Sqo2]m2^hYsK?40_rMWA5MWMT&PAt,'7K>Tbd.J=OrZRe^\C6Mf0&DcOg:U]SS]lO-dULG&:`ZpM&I8L*<N'tJU_**G`MoG&IMSK>2Z:mdp`+$Q%TW>VJ9d!&YKa[iDaJ'K2No_isOctL4V8BQ7;,QrggFd`ToC^sZkb&kd-:J?87\^"\>H.,#AE1'c)/`m$Ge1K%29.B!q!K^+P_`J^6V+$ZOH)50*8c2"Jlb-eD`rIk'f%`\.jU7t0tbeW!Z9CT4GX\&;Z[(!!\uS%KBG'm,%TYc4=cOn;caPmi1UjT`$4tr8XcT)MMlOi)KD%Ao*DMN-kUnG83Rc/_(oP?^a)"h@i\b65tC5)a/P(,bF=kTahjF[6CXfc4$sg%q.)M_Q:./7#O6HFVr.Xm17=$MMI8'4Lr',s%?Z#]1<orl3-+tk*&9L-k"mu+5iQf8\c,([d[[NAP8'H8OAVGq;Zi!M8\[[CSI,>&AlouM9.P9ij!(Y+\Sc&)pW#D>;Um[",YaE#KsV+GdjoKpShZQ'1CpbmP:QF#H@g&=\+r">U[%$odIP4Z_r%^HHb/N@@]]f/IM6P?[G$XZqE9(3E>12,Pln@('_4.EhL0Ydh2OKT2g<0upj8pr]BtQ'&,0TH*knquG:<,IW8>!J9QS8jn^bHKG<Bpc5+t]c$+<K38t3AXL(>X+HT4k!#C6j^DZ~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 43
|
||||
0 55
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -254,42 +342,54 @@ xref
|
||||
0000001828 00000 n
|
||||
0000001976 00000 n
|
||||
0000002124 00000 n
|
||||
0000002273 00000 n
|
||||
0000002389 00000 n
|
||||
0000002695 00000 n
|
||||
0000002801 00000 n
|
||||
0000002879 00000 n
|
||||
0000003085 00000 n
|
||||
0000003291 00000 n
|
||||
0000003378 00000 n
|
||||
0000003709 00000 n
|
||||
0000003784 00000 n
|
||||
0000003931 00000 n
|
||||
0000004033 00000 n
|
||||
0000004212 00000 n
|
||||
0000004305 00000 n
|
||||
0000004432 00000 n
|
||||
0000004557 00000 n
|
||||
0000004679 00000 n
|
||||
0000004783 00000 n
|
||||
0000004875 00000 n
|
||||
0000005009 00000 n
|
||||
0000005124 00000 n
|
||||
0000005252 00000 n
|
||||
0000005339 00000 n
|
||||
0000005414 00000 n
|
||||
0000006344 00000 n
|
||||
0000010488 00000 n
|
||||
0000002272 00000 n
|
||||
0000002420 00000 n
|
||||
0000002569 00000 n
|
||||
0000002685 00000 n
|
||||
0000002791 00000 n
|
||||
0000002869 00000 n
|
||||
0000003075 00000 n
|
||||
0000003395 00000 n
|
||||
0000003601 00000 n
|
||||
0000003807 00000 n
|
||||
0000004013 00000 n
|
||||
0000004219 00000 n
|
||||
0000004425 00000 n
|
||||
0000004512 00000 n
|
||||
0000004843 00000 n
|
||||
0000004918 00000 n
|
||||
0000005065 00000 n
|
||||
0000005167 00000 n
|
||||
0000005346 00000 n
|
||||
0000005439 00000 n
|
||||
0000005566 00000 n
|
||||
0000005691 00000 n
|
||||
0000005813 00000 n
|
||||
0000005917 00000 n
|
||||
0000006009 00000 n
|
||||
0000006143 00000 n
|
||||
0000006258 00000 n
|
||||
0000006386 00000 n
|
||||
0000006507 00000 n
|
||||
0000006633 00000 n
|
||||
0000006720 00000 n
|
||||
0000006823 00000 n
|
||||
0000007775 00000 n
|
||||
0000008685 00000 n
|
||||
0000008915 00000 n
|
||||
0000009143 00000 n
|
||||
0000013497 00000 n
|
||||
0000017095 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<648e459d5f2c35d90d3f442a04b8bc8c><648e459d5f2c35d90d3f442a04b8bc8c>]
|
||||
[<deae7b6f7dbb648f92f4e1c4452bcf17><deae7b6f7dbb648f92f4e1c4452bcf17>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 24 0 R
|
||||
/Root 23 0 R
|
||||
/Size 43
|
||||
/Info 30 0 R
|
||||
/Root 29 0 R
|
||||
/Size 55
|
||||
>>
|
||||
startxref
|
||||
13905
|
||||
18716
|
||||
%%EOF
|
||||
|
||||
@@ -1,13 +1,42 @@
|
||||
# Remote access — validation (Linux CLI + mobile parity)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-04 |
|
||||
| Last modification date | 2026-06-04 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | pending review |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Companion to [REMOTE_ACCESS_IMPL.md](REMOTE_ACCESS_IMPL.md). Use this when verifying WireGuard v1 **before** or **after** deploying the BE, and when debugging without an Android device.
|
||||
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 14 0 R /F5 15 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 12 0 R /F4 13 0 R /F5 14 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,42 +17,42 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 716.2874 147.501 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 762.0394 147.501 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 705.2874 70.13304 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 751.0394 70.13304 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 694.2874 156.381 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 740.0394 156.381 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 683.2874 129.285 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 729.0394 129.285 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 672.2874 217.317 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 718.0394 217.317 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 661.2874 182.189 672.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 707.0394 182.189 718.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 650.2874 127.037 661.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 696.0394 127.037 707.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 17 0 R /Fit ] /Rect [ 45.68504 639.2874 103.045 650.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 685.0394 103.045 696.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
@@ -62,27 +62,17 @@ endobj
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -90,9 +80,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 29 0 R /Resources <<
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -102,88 +102,139 @@ endobj
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Outlines 20 0 R /PageMode /UseNone /Pages 29 0 R /Type /Catalog
|
||||
/Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Remote access \204 validation \(Linux CLI + mobile parity\)) /Trapped /False
|
||||
/Contents 37 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Count 8 /First 21 0 R /Last 28 0 R /Type /Outlines
|
||||
/Contents 38 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 32 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 22 0 R /Parent 20 0 R /Title (What the CLI suite simulates)
|
||||
/Outlines 23 0 R /PageMode /UseNone /Pages 32 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 23 0 R /Parent 20 0 R /Prev 21 0 R /Title (Scripts)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Remote access \204 validation \(Linux CLI + mobile parity\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 24 0 R /Parent 20 0 R /Prev 22 0 R /Title (Quick start \(local orchestration\))
|
||||
/Count 8 /First 24 0 R /Last 31 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 25 0 R /Parent 20 0 R /Prev 23 0 R /Title (Production / staging BE)
|
||||
/Dest [ 15 0 R /Fit ] /Next 25 0 R /Parent 23 0 R /Title (What the CLI suite simulates)
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 26 0 R /Parent 20 0 R /Prev 24 0 R /Title (UDP / WireGuard data plane \(ra_udp_debug.sh\))
|
||||
/Dest [ 15 0 R /Fit ] /Next 26 0 R /Parent 23 0 R /Prev 24 0 R /Title (Scripts)
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 27 0 R /Parent 20 0 R /Prev 25 0 R /Title (Optional: bring up WireGuard on Linux)
|
||||
/Dest [ 15 0 R /Fit ] /Next 27 0 R /Parent 23 0 R /Prev 25 0 R /Title (Quick start \(local orchestration\))
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Next 28 0 R /Parent 20 0 R /Prev 26 0 R /Title (Mobile vs CLI checklist)
|
||||
/Dest [ 15 0 R /Fit ] /Next 28 0 R /Parent 23 0 R /Prev 26 0 R /Title (Production / staging BE)
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Dest [ 17 0 R /Fit ] /Parent 20 0 R /Prev 27 0 R /Title (Troubleshooting)
|
||||
/Dest [ 15 0 R /Fit ] /Next 29 0 R /Parent 23 0 R /Prev 27 0 R /Title (UDP / WireGuard data plane \(ra_udp_debug.sh\))
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 13 0 R 16 0 R 17 0 R ] /Type /Pages
|
||||
/Dest [ 15 0 R /Fit ] /Next 30 0 R /Parent 23 0 R /Prev 28 0 R /Title (Optional: bring up WireGuard on Linux)
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 732
|
||||
/Dest [ 15 0 R /Fit ] /Next 31 0 R /Parent 23 0 R /Prev 29 0 R /Title (Mobile vs CLI checklist)
|
||||
>>
|
||||
stream
|
||||
Gatn#?Z4XP'ZJu*'_elg1cKUWd^Q[3$&K-qZLt%,16)_`+jOnZG2Ia-T`p1^.]ZAk+qZ3cGE7dq"V39?r/)6)AI<)%'I\V+&SOE28;GPf423iKARuF9-jdQei]&9Vh[T'<Hq_2+q4S>;mm^WR!/X(o%4ITh#JWj>1,5RTP[Hbo>(X"_+:JNM65JPO1kUuR\^F4S(ID:5%ueK3k./XE;n@L7PG'J+B=Jiii%qJ,9]ZmZDNt%sE-_lU:Im^dQbPbA'AVU?eeA]BiGOP"UYUaCiVd^&T7i[oBKZnfjjehh@1R4I\=Oh,CF(6.[6j.BlbAUsK,2I[-#nS2p&^k((UW'#l>="\mC(pujYQO+5D%79PD-=p!&5VrYOB4eQSd"87f@eP*Opf>XL"14NDij&SSSDfq8WQ)#c#O#_ae!U/BupAM'Z9ENPfl$>4<N=&IW<DBbIerofG:X8&FaBce.H_&l!JoC94rqk&AutYu0j.MrB#$N8jTSaKH=;);nBO;!,EPBT_9&.P%EbS5jW>(Tm$1]>m5WQ*iJ35DPZ+SZ0ap:@tXPJ/1O=E\*rS9aRt>F*oZ$@[Sb4=toaAYo$B6.r5d/d+Y0DD6taKBL;`%D\8at^+B%E2>[X/4OKE+nf7)o2l!`E]stZ=:F=O4(W/Q-+ruWVO]Ai(C+D6rcW.6Wn>+;A;uu%926<'jP/^s.@9_Eb/2a#$Klq)`%_rIWd)M6$d@p.:I"B'i~>endstream
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3459
|
||||
/Dest [ 15 0 R /Fit ] /Parent 23 0 R /Prev 30 0 R /Title (Troubleshooting)
|
||||
>>
|
||||
stream
|
||||
GauHN>B?9)(4Q"]kaJ'EOV8+B'p<@=<JmUuT(4J!P.[`NC-g$N,FUGsfe;sOpG<//\-R%O>B1o2])189ha%kfi?cJCRi@#E0$rO?KHqEeejr[B'eQT8CiT%;7,"bB2.8Jm6l"t_8._&k$N&a>Cm;63,R#bX8.l)cDs%@cpj$?H@LoD]5rV"$*9s5ZUANX:m:'[$/hUc-\T)nCG9q&V!IY=]$>h.U>FTm$R4r:Pl?Ej'LVq3r#VuiO9B['A*eAj3&Ep7;RPM2GE_!Nm-nDI<l]A@115ko[NCed]5p'`P#^]T=h'/o`i;mi8HPZ'HDsN'7NC$a!-D&2TA&4mPa!=!_"LRk;?Bpu."Be]HY.9u)ZCpEU<52g#(,SHYO";+T\gWU((FX%,TP-KF>>LOugWAu.hKV8$*6'J>\@P'ojFdX>c6dRO8:hVob9@4!8Qb-SEn#"C5W)P#p3j=7m>M>6`^[Tg)]FlrBp'U+'?1JZ0_=iL=d0&o!,Ll2FNZ72_8"?``SqA)c[CLg4n-Yjr!RP\oq^^6H*(IA*X.^][*^i\QQV<!78o;@N/+,k6@uA^@oWRR::rPO\40kY,S*`o_M&"Hn)-n=9%QV/W\m+jTSeWqkq5iVm/eM5S30^+E3LrQSu]SZ@ATB!WKQ.T8Y!-J_uV-oPctks;G=0T3`<f]\C5":N;3Lf#rpOof_F-n&Z`=QXN87T*5772%j(9tEh9O/]WaXFIggPW,I3/P<?uR9j"uSa_]ZN8/9$1P"X.3_";N+/a^U!7[?.t^[T]JT5;B%An!=hHj)URlVHusF.51XK_G1%92[ZQ96,0&n#&0]IMVLKAn/5B\B=LVe,HWl'ehOOTb%uU.mO'sBgM>iujjgHRc4UPn`fZa9c@4drh"UuAA4[F>@@uM-]W1^ujDCg>hLC_JTi0h1kn03HE`\N5;iC"CE'e%!"C1t-;7>;gQ4K=YX:5]l-/TNH"sseSi7pqbDDkNFajIn(o+W'#Ftj%u:C(dd6q]i"piiYeCOCS&?]Rqf]aqA_'M#f0Q5g&M$>$Or26k9n9DP6V9MPoeqiM[U/i'Eh&Ml!8rn;Vu#ojI$Jc(@r*F''VLnD<6X"36$Ahgpt5.NH2KlbPd/qf<!5V'V]oIjWleF/[Jan>f5GicG1kWmJa^8UZX!WcS:"4fY+>HmQ`B&BAPm`n=Q2['(B^V/T_XH`2_f3*[uMi&QTXFrg1#/u1Z=-D?!+%*GiVX)98DXb%9h,oNQ]I+]&8WCj$ap5Bd#*`Tga]L@10l#M34edB2Qj"J4<2VF:TYGn']4td=p7WR,b()n@G=fGaZIM7Rhti#b&=e)_6_j)?WlO3$9G9[L%+6u5ZmjU..?qol0O:TnVgt$Ap7ei*=kpS-3:>T+h_+0tR1XM@b4"6Wn*rd_ah"KDW;(iAq#oWo2J]o`qd,Fm\nE/B'(\'#K<N8L_VC<CK6Z.B^BKtW/a1IN\)9$T"YG#f%U>hhoE.GVShp%iN4Pp]*"Z!@1aM1EkM6SM*[c-nPd63HUp"o#:)aXrZ(f`X<,JRF$bFUg36j$>FpQ6P;&B$\p.>VJ#nYSe`rZN]U"*q1jKM9?+r&@kiXf05ZL!"/hXQ.b.:`nI=[$u@Ycn;8,i_$MKA8Z(R4QY+>K,#E_E/SfUaZK<hm#jpE'T^Npd#j8g5\Z7K2RlX/s;C?;0e(6KJld4EBL7n-"r1#/a,/DR%)=i_\Q/O9c=@B23$at^][hqaKnDD5EH\onQcb99SNZ(@)SrO>)'j#RnmG?6'/<0.&aWnm&QkPA%)d2MrR:259@N>3`kA:K6+(jHc*DE3<%jk"4Z1n?_DlWl8R_tnYdtZ:Ah<+`-"<?SsDG:p7OQ;Ln-e$Y!m+05MPo<EuT0c?k^c$'u@OM^t&_d7%:^54p6rb!u`nX=D,^M+\sseEc$LBhi=de'7)a%Fd`^Qplt507;gK8-Em_=`;!iHn+;'VDLq+7M-+GN=s9n\!_N);#l#hM!S/mZm`"LF&%C0t47:0Nb>-gO-FD6^?!lH.P=pO'.c?#g):GDgXM*jY\hjnc>Qaljgn5Ce"0o$Mce3jG:@9`3Yb=hq@e]uh*tMcOq"$Jb:qMUN4Idi+k;-k\P-,P5"6i"pi`Vf;4P8Wg%Q'cN/Mo\V]"o8QIRN^:%mFTV*,FMhe<9HY=H4riLn>-a'=@@9E-a<qAB`e+hRUGB\?Sa:qEBgmdTE3m3bAZKk:P]6=k5m)n0t_I_]f&Dg;),HcjQ;8"7.g]$,*Wu2:*jt&2[7p4)jlm6s%a]jDMc`;095+\e\SNU*_:G=T=1R)3(s+s1W"@\`X0P!.XDj__k1O:-**,lllD=k5?nlZ>$"e:-%n^e)!n/]mi=^lO6)KNmI+@le3nVX_=7V.](]"Y.n/BkTEuJ^Bm?M72.I&:lm6fR19PKMkI+1Nf'3.=Am"bO$CefEt?K(n2HPDbL=m/?5S<fGWtIhk4Hhq!T!1Lg3G.<dhuUZ:5-YCelC$u9!bR/E=;!/k_c%VUEfJ/V//FfkkLDj0`H_0o%p\8;A4(1AYoq9`A!YX8.F>&QZYU>kguX(1b*[#V_6EpiIl@_VrO-EL_%]09>&^s1">&Gq/hLA^`E8pIoVOS1BqE=S2&YSN'XAlED0]u.WKGmR=CXLNK9;!m"6=5rqTqEJKdL,8`q=<,S%WNq'SQmr#VPp%!IeGiP%Bn1;1E70ttnFpE(#UOF2%,REq'MdLG^n@F-=MF3>LaUtj]#7_2L@6OlP?[=0Sm_,GOc3r@#=I)4'^/hqm4Ip[e6BnU=#9]B(h!#A=BY'^H"4m1R2)]-o?N430=oK.E^T>H'0]_5XDlMEL48@>0r5+suK!-KPX@sM<t!;N@'7l#oP.G9<5RH+ht/i)I[*:Oeo3:)4]2)"4*0WM!!.uj5_4*Q,YbV"hEYV3kc=tpC9A7H[`!Q6JkBHXCqQPY4YLK<B&)dcT-[AfP6ms+>A&-.p;oFVI?,`ERa=%70&cu4E$:C&cSB]V:PnO-\V<A5GYQC/9oKK@_\O^+E:o%J9-r<lN)O#HbJqKQ[r,G1$.s&$0(q;j%Ij<'"9V3*qP1l<1`iYL5P'a?Q\0*'UHO[k58:N\W+i,XZ*Kg9M"7/Zim`&XdAZt&H>di`I(8L<Tp;HIWQj?p$raoc#`]?oi,re_hOrl&H#AAl:L@ts^ES:q0nQjpLYm3"$dr9h?1/SYKp&(\>KmQ6&N3G@)/k"A=G8A3:6>8F3QQEmIfoda#lk4=Wuo5+GX\s0@P"$4sg8VH^l5#T_HI&&E1a!ZF\p$@tjDB+#IQEhn;df>t&QcW0:PL:iBOU#ST_Z<pq\d]c;>me^HfWXCW5B5J"pm\;;Dfhrs]:dpiOq>NZppU4cZH%U;j-o3KIm$US\-ha#=O0*/"f6@f.Mln;:]CDq,Sj'9H\]7;(e#D38[gQL>r)gN#4V.K64JtT.r\<`"`PVVY((O>6$JmudMADO%r,W@V>~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3054
|
||||
/Count 6 /Kids [ 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 874
|
||||
>>
|
||||
stream
|
||||
Gatm>>BAN>&q9SYkfW=m`>^%D#<=00MV.!1b"c&+G$h1GNR7a3Fj#_Sm&L$SgS5,^+X(e_:4bu!e(rL%Q`in-+QJNGr]g,X5"q[E;#s+>klMQ)dU@G(UZpHm1F8Zm)j338A0(OF^*IK[NpDdc$^D/S7=hEKW[\eY5-!jlO]#au9B^c<*^^J;EZ+h?&E\L1@KMZ^!Xc9Z3D:N6'abM13fM^J'A3l/:R2W#jj\lpB6Kk1RJnhGqu_H61c8:TW7M^i6<-GiT/Z#k#J7PW(GTLjGrct`80*9)@EBo,/q>5K/6M*<JK$O=T"uXK*(I/UitYNO0i+1'5KX.O/uit6I^I@=gu[B,&i^FlYo<ncX3P(IJX=6hh)Gg+?<MW#K]18[$H)gTbig6]5)Ee7N!U_AKoL7-W[jK/Kc6i`FWoi%TFDm6cbtl,b'S2!pr[2*$5m$VG>I@^1iNeU3qQPdi9G2>q)k+u+,6!,qc+V+r3Fp!;8f;br;8+"Cahh:1][tiB23\f7kB%\o/ICKH'RFZqY&*6qtjoGpRX@Y)rqOL_o_!<D_kBOIOeHpX/$f/1H12:YMt8?oB-q"r]7RiiRPdB,4cQ;LQD'/k$\go4r:G0MVf3hKpl.g]=9<YV-m"[*ocJQO2RSR65%+=LtlAe>h1aN?Nm(?'Mg_o#<PFZH_@C7p6E?Od+Sf'V/.JXK3E&IPY"R=K]).]n9+s+'h*7\U0621^kto'*c,BI6<Ilt)WpJ;%1,#a.1CdsWr!kN1cp2H-um*=+bhaKjaU\T't,hcB4fX(@qq5'S8rM2aPH!nT+SJ;\M<b^*i%bK&Im[c`[dh2o*V+<'l/Q*X*a*MIY;%a75+,,Us=Ir%l]FAcMt0\BbMWDrCL*;p=!^s,(%H$Smc/KL_JQo-XoMTa!c;CU@;RoIshCX3"51'[AQ61+A;\0?tc__P=IRS;?<QK//m(i1cB5,AtbQX]/@1e6\7hu7%(Z+WH24ul_-__;+=V47]<f;0mi91V1>aFl"Z@.X62X>1s8[pXI?FDX7kB5cdCQZA5=PE74sTeNc^a<^/*C>j?#%oeNOBdF?@Nk7ddV.:@Z9o&[">[5=Te%0Bq2A>c&ABrBu&(/MF&hR7@QZg4GSDaQi^9$ECCBeLGMhm&9\G)P5c&'#a2b9WJJNd5YP8LH2+>`JJ:.,:^B`KcsOjfL"IpkB@osThk*Hg>)@Ta4BK^\8HN(Co^lS>4X;Iq8?iI;Xt,A47b$1&j5`.>8`1,On-u"k\`3p^OPk@/;8o,jU2VRA9Rr!/cLH`0O[CY_!*1Co.XTo$7/>lmX7qR_utIn?J6iAYQ[Y,$W_1p'dDPNhnTmQ`+YoB,\Rd8dLJl@Vj,"fo@+J=FQZ76R&#)EXLhf]7G7oh!A$pk=q*e$N+j'Vj;Nbj8X?HFNNRgd<mpRG-O8[RKs70o]R^6+]lXcB:]TmB=Y1!:?nWpJGn>jC,kDb]pI(MBEJ19135'hGAsP=E4Nr**2IfJ`'^0#97-(:MASC:.(`^d)OS-kO'@YoWGjhBP:E6NT^1>;[^kYCUbQ0VVM?,bmj&Vs$%ogg#5gh2^mLMSJ)lf_b,#eWK9ZAJ8/4ii@'=nH-)26&uaA`#tEsDTS.8n;aL[&NdW3<]$23h84eH`4(2<,F!nJnuqE)>M_G3E]'Ef.H[Sng$a%]6ul$fqeuXGioe2]ei*R$-6kX]P!4ArTq<CJD5_77Z]a3pSLi"dV,9S'3/n!G*l-#+J?;2ij'$PiXC^Ful2Y21;2?,&mgW`c2>e2qY`!D$P<PT#7tZ78c._cq!>tQ^O&JJ3oU\[)tYHFm?usG&*\pFGnZHd%L`s0%/Oel$AApdns"YmBe3XF(3WQ$_P!NXkcIE1VG,_FWUr0D4A?MWjUTYOL?g\.`uD=Jn;u0WjOU0]S)Xu#K21:\0n9/Q/6DYe!Y[&\0Q(8Z<!A<KY__I[o,BU03LlM>%u<82MuTEpDWDS.9>qf4r)h9J3M"&eimJI<Bo"F7_<e=BDUfd.tV#uEWh`r7TF6-E"<h/]`c%Vf2X'gZ9,EnEXtquaY+&4=:5_gM&S8*X`Z\R.kftjn3PhtSs06pW$@8QM#<_$2SV`oM#88]'^LsmOa<`3!oQCOWB"PKP:I?R`Dg0=d/WXn_jN>XqmrIdp%.V#)$9=#"q:?4(aOhW9N':K@J@$3RTQ$,^^.beM1VLSJ:Omm^emB_QrkQjW$!2s/.li#&.ei-#WO:>M!IY9*+]8lcnaJi>&OULXYneU%TC_5K7a(m;feU7"%fmO[BVa=#(<JC:H5mH&kt[GZ_2*<XA@iKbZ*-BdgJ,K"<m/LhITuWJLQI;HPa,URt+E:K^"hZm`EYQe.E.P2UE%<lcgHDL2D;miP^IaMB+7f*G1U6^pV`_8Cb,2W7FG:[VON0/?IPHTreoi%lP3J4\Z=AqCZE9n'C\aehMki\#4NAUH%lbO%.Z!act'%YeG*!WV:urHGZ`XjnRD:TY)$^3&GlZf!DhCG7j($5F^%B#m0*ube#St^UZUOAP(HQ9TdeHUO'Hn]9'Z1@1_hBI1l!a$;2:"d_.eT="OdgrUK&jpZ)#ad,$=c5[LsilW74;eNo;Z]4kF/=;TeDa2C()I:r^VYIc,AGWH:I9PcZo@>/ugYK130hVB/=/\Kr>dkr8g7a#2"[3J@<mbFtM-<eG;nU-V:VSn3[gchDd<Tc]Ef/3rFM6-MJlS):&!LM>e>`rE=*sJu0enUJ_#AV9<%N5pB"jcktGlJMTmimA"8N,uSX\(^flH?O*G:?-[WuIfgHhgg;^!fS;r.*h&[M9GD);n/9E0S(cYjE^S>I.=cbooG&-kLH#IY#,URIrFN=`fJa)tQ2W;0;Y$XP'g^".Td8-Zh!JM/O6tpB[$Ujf]oqA[`6,l%qb+]`\%YGOl;X^_<ek?FY*0/:"?'hiG%bCL6PEKV&Cn`\-C2NWm`u$[CM`Z?G`<V/F-@cB>p>mpfm.[Bbu4Ou@qZ\OI"/lAB+U#;4(t9p$.54F@msqBkiPFSfo9ZA2L_UWLIRE]_"WhKnI8(phR\dNX]['RAY1'ue&C5:-IJ;Z~>endstream
|
||||
Gat=*968f@&AI`dp6_Y.U6YDUO(k&)g>S4Qkp[G#Lr:0I;D=pBpKa1(575DB%+\O]n(WV@V+'>7@.B7UJ?L,$h]neEE"4:aKQ%!:iTSSn5?CIr['-tB@gqC(+:1PI`dQep&""/HDL>h]M*N8dSk$_UHSl#EPZ.oRj\uNE'I_)M=$i*5SAE1>9p`DE.$!\@%8T;-fLCd0(?NXnK;XW!P&:38mGnM"JTU]L=]fp,<_<;\FEn2O.tgtXDGlW&&+gk466fEo(Q)^q&_^aL$]h9X+6X]=89$RCJXU:qMk()/]1l`BlQddWn&/LGBnpEF0]AM<[/'jk;qrgL>)9l)Es"0&o+Wna9H_;b9^%aqq%[n\Vd(JATf&noPgCIE'L0h^S3q*foBLCAj_8&iX?^n!(8W=m0ChR0?WT)KmC&/o;sg(gA`XUD(DQ+WT@h-LBI9E>-9:@4R"%P_NGUE%d4Y)R>iC,BKihE$ZcQR?Wuf!F6(R+:KfATOMq/tnF1h&dkS'iupEPsrRYq$MiFd+>LT+m)(iEDuG95/:eDAm]p't.H\Bn_\5M9JS*ZTo+[*Ip+T-a(S*oatS9t_O._ZRXn7n%UU*jr"Aqn/9R%JF=I\(9AkVtCM^:@0UcU`C&a_%E-u]lnKWnXId88bPhjnM[Z@*B"Fg_RF*h8Ssb\rpeRWoYLI9NF+G5pr*:%TCdUR0jbcsW(C]_O5HptJbT,NT2sR,qcpqD&Fm>^2l:k;@;X*u,1ea&7A:uI]g5rB.oajq"Vo$6+JqKh#!uAsfg*UciAD0Qc*!pH,m'prm?YZW5>#9)N\tPi2:Lc!=h)[H7&-G=[VjB@l-HE:Q41nle@<r[.hkoQ/Z_U)$\W<BNC8<E5LeGDT`~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 646
|
||||
>>
|
||||
stream
|
||||
Gatn#>Aoub'S,*4/'_Y9#M8*5hpR0QOjYO]]_*RKjFA2^&BoN9p[`#g<-<&RTaFr>&fA@O*6pPIYZmp8k!sr+$J0J)L^3PY8:Uc7$cqPqpP>>8"sJke&-ice0uAAX\G+cgKG2ZBI6`6"iA^iPLL(l1;#?CP-@*QA%.ra#hO3>J/R_?+Y2URr+IBLp[F&&@If]MrZ6.l5`/jC8q#1Rq+R('q*W<6R##*-I\sS,Y_Jml]BId\>+-@Zd8n=JCdI[e&:PN=B=HO[j)l=$[`g+bN"]FG.f1%J>AA,P=iT#?`(bYZdPUpY-K&O;kg5C7f[oj4H&e3slA%$FI8"o]Zb>\KG1CT_0e_HulZ)oUHD8CF>O*'&*4ZFERD:u:q@FYhR<1=c[]^^)(>DV#4q7fdk#"'9abFNUsqlIF'EJ9Su.\TQILVt:WJLYBi"OX'1`attOgJ'=c`h[0Q4qL.23?N3\+XUnki;NX@%YZ8n+6$$+[l<$dQ<*,F#/4aE9:B]FdqQ6sDgtLto@\fBQf$/pJ;ra2T_YS\.o@BF]L[/F;8[-l#LA":E2DB`EmmY8VNJ#kKc?B$Pln6O0;[+\6g,p.#`0dN^Rs"_':GTY4R:l-'`'O.M>J/sLdFFk0"A1LH6`9A"/EWuid'M~>endstream
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3521
|
||||
>>
|
||||
stream
|
||||
Gb!Sn>B?9)(4Q"]kaL>0OV=e7*Qb_B.`G9u:\bc!8R>@b[@h*8&J,j`p<3C-4UhH9D?=IJC2;"\Oaofk9:ss_=s=U;:Q5<lXqCLi7tXS]&g]AA+]6&_RU;cQr8d$t\>*#&X:8/q62F-iP+_%.hT=AA!aX%VI\+?t@`D*+d<ppA!NUTrc>goC$LqKuJ9i%23Zt$SHRSI4rUfr04uL=r(Xq']\@fPf_J9OSDiCF3Fr8ree3hP=FB5T*pOI]P+oT%sTnT(,FGf4A^d(L/oTjU\LNI`]a0g^#YXh8b&IjY/((FM5AeE]1I@QlPi`QS3M_6q!&+CurBDrD6[SCB1Rg;R3fX!p%Z%2&k0e#jh^oUo//14k/(W:XKC*Th&WmX/*@9jG!%0SF-C0D8Y&IYnCee=uL/<7)7"+c>@9p-D#,cjVL<_jhE)*uZ&7.*@FGjIXmI%>JS+#\u8D7[6g6u:mO'JX76ECiQ$M[^4S/6"Ek\Bd)0mMra6>>BbM/UBKKJotQn\u0=.U1;ZJN6Q%WSYG%WMc40^Pf4!2I+S&#h!9@WEV*g+^I,`u^;@H&`5ZWe"ZbN?io9UC<\\HYm%k%4\^q2s6V1<iK]S=CkX1#36Ulq=8t:-GOE-8<YTugZl9iXI+NuoLPQ.I9iin:E`sXAqpmJiBW4BBF'.[*)b&:Ba(QPZ!]L?6(\@c:I]GX;2=J`q:7&cDNA[j07]953Q_<nb]ALi`7!kg<Jf94kKg$q"0mG:LAKJc&B'*fR@o]O5>-8+tc!fQt3giXQX'<6pTb]&dNOa\-8G;Nh?M\(ffd\WlR5tNC\*34eE7sQURhY1Mi1AuZI0f:R2=^^O6;N],MmjHQU)l/VD8GR$Q&45XOf1"pH&Hj7_eRuD9/46g'WR_B_ElqjAWU@ecPM9m5e)f,e.*_lPC.1$ujuN;T#LPRLO<dJfKLPj$oOFoX^QX_L21,?p5&d@8MphlolV^fJ?i(VpG6/)/M8Qk%XeK^FCGd1d$VAkYl&tp4X21)k)g6*F9-<&m<0P>;<Uq+s@dIP,WZGb13lXf^lKGE*=4VctP._p-#l62heJO<mR4^K0!>N]:[T%rjNaKp6-"CsjW8HKWOlIY7pH31[A`$iT0;*mVJL6ICdBc3_@0#h=GC+ID>i*]&pYX"m`iQDi);9cUOr:V.+bK\>@Z>giG>>R_,Tob#FWq':NqYu;7iP:O2:f"dk@b8#qiL2`USYTG_8r(>5A%A`4HYmAT&D_'Y^Y!HK*k6G(\k(6Yjt8H3p1"O[a9-pprk[EjZkb*&i&h]br+a!nu_K!m=PG9fR,GTTt`L#h!R>rK*ZE03*`FX&["ELqbVId!pTEP+*5T?bU2P:GhZc0K6Y-?BLj=dm]?qX]$%,qf)ot,K,,?33H!8T\\?4Z<2,-33Yag^U9'3\.2t"#>Bb_<]fQ_jU0Wkk$/MWPqZm&nG_1^6Y,ENoIboQ<!B@@/g@"XJQfOJcR`1>@qubp9[ZD`XOjkr#g\1Oi\BH![Dk;F]Qg#`.a`C89.Xds30[f]Y.0j[R4W!pEM7i!pb(hb@*_=^-fk8SZ]1>ru>)2-;!7JG>We\Ej.V8fhB+u?K'ugFhPYpYV-ub#ERPHi25ojnqJ=mZ]^*ZC2\@tIQELdDm8G+0bhRCTI+,Z:LetATLpl6.*?3)SpnfBuJgci7dcd0b;$Di<0G;/#I;[VU#VG)!65aFM,6>L&aN^lqPV'MV(,UJ_NneMlN<>jeYUt3j)<)LgE3fXPZB'9@pMlD4V86DkREI95iL6c9.=gWi(kR1Mu/nG,@,g8/5)YbJ_%"fi\T3t:s/.les0_'.e0C*(Bh#@tj?bQ#$Wl!@n^jbsfWr<3R($-jrQR_+q>JYdJV1/lq^\:C:i!n>Q'0++AEp_5#qds;L'94&K9#>75$#_,G[>'FaVCqKY$rSMF2k`gF1Z\?DcUg\DDX;(8r;LjFG$N^$4:ZJ(,a/Hs%QmN1*]1eA5(YFB:`8V(_B5Bh<#gd6:pJA7r;qpPdW@dk:E*,<jnd`FHC]TIQ8ha^2mO4+dq`s4g?FT&"5iVpf4UXJ^ajANm,*9X3=IbT\m^3omG+?LZNIV=*R@l@qi:+t&R5-.'Oph<$7-3jo_>aIE##LUC<9%F6+J-1X]F/`ich'Oa([ZCF.EOt3o?XS1UMiganK(aL*e!>49B'`c%&+g_-T:rC`h659q!C1E`X3!"rqT&DL7o&N52G)Fn8#kSq=Bt+"KYg)Jd>(5<"4uScsQ%J=)Jj9N)YHb"/qt\&-`\V!uf3TKI#C!T5S$<d[P4gfT+>T*MgqQhl`Mc>&Q4):UJQ"*g^L?Xk4@`5VU)Xd$gbV,faK(^.Jts#A7ap6(\0J5MIP?jVa.XS;aFFeL&)4b9Z/=;Q;.g]P(/5d58/JsG\RFML8,ILYVcg'EV:?@Q>jh1%o`YIfmgKWdrM@.]J4UrLAD$*N6iT^f39N]t8'9a_uX/X\Pcp=d"&q\PIu)$l@KI#=A!f9VSYU3/r.e69Z*@D`@9<Wjra.n9Rc<$rDXh1Y>u73RLbG$Y<f`UVk5F:0??/H5FN%/BQ^3<nMBBt?8U]u^']`es*"gW@"JiY80B?+DpJAVP<(gQ*j[EK*uKR9+*gQk6`Wo!5?,<E8@7Gp!K07aMaiJ)pusT9qoN>kD:YK];3NV@=R^'!?XM[a4_A,7t;$s-hH0`l1^Ce4"[JGkp@ZNArC9j2-=;]V2.kk[QPT8Z2Cid\1UR=7s(P0;'M%!k&PK7BD>Vq@ZklMu3&2bB.?D*7(K(lmN4d#6RiOYlK:5q+qn8"5*2BM&d,B8#S7sSYfQ*moCE(XtO^PDmS^,LBN)Q2t"\l=`Pa8+as_.\cdA?r+I=DUTMQePu\[)51JnJ@jB)l&U+AKrF?,Hi+>?\(oP?f3C9qK#2'-J*Zi^Z@nGDQn1t[E3SuID\;7(oZMeO@hsG(U<;aZ1[I98i5HoQs<ZAX3M-8:3L_:KA;>h$L,QTCOYeK%P\t2+SQq-S[h)8jbOolcA%u20'^"l,51Tch:,TeTbhmqo3Yih/lBmg$].2@Kg67V-&arje03Z2610/(rg+'QWuDO+CEKN<(PZBHFSN.I(KoXkQc1tmW<=$oTc'A37m]WX8Gc-g`.j,(L98mj]h/dm4@PWDlFW7@a/2F_oG\KJWkBMDe6.mY8i$2BJW:ISiF,td8,P)mFBdRXm]NM8j\ggAfD6>#i^)#14k4A)`(Sg.tAQKr&&s(_uhieMdjjBt$tNoq@ic_;1d'Y;!=98<f)e=$q]+<ke+#LNI5,)#s3Fb3:$K%%aAmCP@d%A$-NfP\0N\A%O3"$<f9PJo^fl[$0i#/<03ff\E_8Z>%ic0JS7W8ADST`4p@,q>5P[t!PZrXF"L>=TIm<6R0>/#"XTS=aJ>PS/'jB")4.`j*R#rU>[D:4jq?7<52BqYh-baFgj_&VcUF^L[tEXq/(Nl)0H-K_ts$Q*@C.GAVZ_lr#pW@pK[8>slTWr?+6]*/*`tP+Ik<Q$KdcLId"F'm\U:aa5KO+RO[e3r(E3k$i<~>endstream
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3259
|
||||
>>
|
||||
stream
|
||||
Gatm>l#W=b(B<g;i`.=0,>Tl7NGpd[V:`qqALABhRJER,$:@J'jt[C3?+#1[^?-%p+HSaMROHODGP+%HY<`.0rs7lHQ3Zo)%d.1%&4Dm=6'+)Ek1;;TT0/\N3Mifrl:BlFcuaj!-!eOR:B!,1a>/Q61QI;T2'_^G:W]B^$$$_P+TeRWgd;Z/W9g-L(bl$nm[RIC'?9Z,1(>E?_f?cXY$j;sacg4sTjpH#%e8uVrF2u@B^D30JK\<hT#1CHk'o'2s(kYU1u^>dd$U9H"PSYFF+VFJ]u<<VOXZ6\iRnZ>r(H%\0G,\:MujN]8E;=/+LC0=8$`uYHn"oo0"`2DW5g7d5*'??:[d.IhMu7+-8U9[^4WP?1EDI2GX5"3e$97U7Ml:eqRb4ClA4J?ceElI.\*0s;EKFTPm!.*_ZXS<-o,S*UY5;Q$7EXIf@:S\iGU(f?P>6$_)>d:6J(i9/-`*9bU4<UBRisEfV)`;]4=po[H0EI78:+c_MD-[29hni#Qg;GUKq0GbEt]eD*FSh_;S3m7>1GK&1)c@.OJC^Ie!oM)9+rJ)^erZbm5hVh#(2*?uT/E\UWt?Yas;cM<Wb+KWu3cVH]tUTS$=i_8A5<>ZuK_7o66'e:lrZ#.<5%eWp[*g%7UtcuU]mko'X_$mP?3q424_&Do)S)N\U?!7eUZ[#X1.?C[XW@7[pTs8:(Ed>D5#UC3g3Yq;0Z/Gegl'k[RRX`GIhh0f62r0g>t5FJtCq"]p6GW,Hkqa0A/hhrl1VflfX2%!dT^Ydu7a6X4:<;Y6L(+[lB*lo4$Ja]?tB<YODIkOHKg0"rABU&BlYVoc*i7#Ta`3C@+$/ku>NkYW]'022qU;I:^.jhdN_8bq9HPP"9jor.MX&W:Q$0kYFFem/2-FcK`q."e.!GbD+hhH78G':)*PXPj.[Gnh1'm5kM>QW(E`u%KRO8hS!(8n>J`O<9'6rkS$rs,X(Z&K&Zo58+u6YBU'h]cgAG%0Gl1rd<;6K5n<1+^<CRp[;EY@8Lqlae\2Ynpl:%l):`l-eMIfoM>nr89fm%p*AaeijSu`-skoF(DHmhF3eM']K6)E*9KNnec!5ec\04i:!jWg3//KjEf<?8`fU,AE[nNZNhl%C-b7B=Z1*Ik\N(2NWM0.G8gtFqZOAPD<;>50C#teWY?.Y$s@.pArlSh;,f%Phgq3\q`Q/L.o7ECWk?K4`pMijamEnRb\#a70b+;ClNU'Gc\u0ic\@-%C+p,Pltki&\M".Kh%TO<L&U)=Qg,3]@"2oCAd[POK&B1Unh]a6(KjG:=PDc"^s?25[u-'?EI>(sIA'._*7>69%MM'Mb"SqhKS[Q<jAW9,@M:$*/a1UL'ico0rC<c9%/:dknQ=:!),Q"TE3nip@(;i!VX%^gVCO,Djoe0ZoSr)_\EQ/H`K*V?Dh^`jPM$XirZ]=<3!q6g@?JOn]+b8[5/O$/#!O>EZ)0f"=Tg4GG+H5Pp1N$'ZSGG>?neNo'Wg0)B-Q6Ls*uG>J/LkM.+0[D\/hN2P#N#a4)'RGL6f&r:/W=@oPR]W;1$,^651^/XqiGpbI#H,N=B453EAs[@mef^:<<g&:<3/K_*:AI"&%*_;]?YE!'2)m>8T@!?<Z@KI_b[)[+=B1bD)Q@'?#pkq&(`g\84jj`PT))2D!<IJI^g8B_H1CZ7^0tI\7n-.UNf.=V5S(3sTnWU2YDV4bIqe6aS>^##+/o$1i-eP2f',Ue&9m]#ne5i&!mPAV&s#cQ;+$9ba-3"]9ss,0l"[ndjg'ro>m\Xbh^(q8lJ5bobBp:;3at$GQ)0PHUdpJhQQ0p*%)InP'O<`%9sPEURF.JrtMdrY7pG.0Da!jVZ[QRjm8Bnf"^HK'tZ<cWXIE]ZphhTY5sM'XIk1*(%rl0l$ij>Z_KE]1P/DI>UKkOXkPNl$0(,jGCAPa!76&N`4/*!q6QM%f3?`LF\.cU=-s,]l]I=bY="hTaS(dAKYSKeo7nKS&[>@Ji,3c#pQga[.]f\:EMgoP1o,tNTmed7LAtAZ0"U55!#;"PtBSO!V=]^,0[8p[r2Ufqa0qLI;1Vr48iLSQ,1?A`)1P?*(YhqEuV3D]3TPAe"<"oAfO4l]M&pSi')@3W=[SE-+WH?]a-)&)6a_(h`FuB9`R1&:+/;ON`301^q6=gX<WsImiKgIYNZQc\K7H#0"[ZXnF,hqbmNYqf[QI6St2[ZP<4#0bl#uKJ@?(%*GLnpmB,E:?Fg.`71>n&Gu4d9TR&T$(&>9!D17kh&G\g%$2,`i/G2DI"Mf`(b'4g.:C^=I@&1.qU&X-PpF"`ee7;!uqX<h''*R6_&e'(j(rS%4R&*G;$bNnD$=SXaKb8pYapMGi$O@S"$[>Z&+AAjfi)R%4:p@6U=2b4B^rc^b'aoi`.LUKd/I75u`<Of&]\$sNiL#gH-<i,VMY03gL'(#03Eajcf&8lW,u2bmNh29`:lrsR(`H70-W(EjU8Z6!.@^`]+e<I6AlFqG-&U?%Vma".JBIeCjk"%lPFHcq*WqOX1H2M\m1UX9N.U!/JS:&W/ERsRQ@QfZc9[92_cp!/K2CUXYVTDFNAEoQ+N,?A/D=a*%_g1dc48a@c89j>`j.\T]Qdj)Gcb0p8iSKql>'L/3tK8X_%Ai(Fo9[;oGBIJ=s&-"'E=occTX1U7AOl$N/0SC#`.4iDs7P0]g3&]Ht<m_jF#FV?7s;I,k"#97!im>`;?"?MYI]mc_g'-AVmBNrAG[FRGIr?43C<\QVMf-b;5t!#gtg_D2T,*U>s_TFF1\9D1Ur2a0pbHVZi&7KDbf$=9n*EHt^R4jYes4l^^5q!-/M?%+\N*`3SH+7Y<YI4.[<olhk<?%Rf[U$(WO!B<8a`U0q3Hg<[,96hM[C=Tc`&dmNS10Y?sXVrU!;1M)?gM!,/TNp"@XmjUC)&I]9iBJXtbFH(St02=a/-p?s8&W*9L[fYrf;=a\uqIaXm,i3UXpZCP8I"\_p,hT.Rp7VunjM>Jb3GZApSbC5&)RR^8`:U`gT(OKmqo#=d"-/,D1U:)8fQRPs1I@)"qGG+9FUKmnSd=Ca+2G)7l]4;YRUE%7K9bJ0`G9>=r>_lOlXaEN]Fd7V]9l[a$_EUnn@W>.n).8Qgk+^[7l:4;a2k!RB04EbPo#-pXVb0e20>-FC;khB8E6M9i:X9@D^RJ.k7_?QGr_;;N:/^Slg30"XMH_#lm-H-Qq!bg]^2Cq:6PiI;ka3&722_'ZoNmU($u],j3WMmL^L$c_C3rVTOJo0cD#:KJ!ecs!<~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 33
|
||||
0 39
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000135 00000 n
|
||||
@@ -198,35 +249,41 @@ xref
|
||||
0000001385 00000 n
|
||||
0000001533 00000 n
|
||||
0000001649 00000 n
|
||||
0000001917 00000 n
|
||||
0000002023 00000 n
|
||||
0000002101 00000 n
|
||||
0000001755 00000 n
|
||||
0000001833 00000 n
|
||||
0000002039 00000 n
|
||||
0000002307 00000 n
|
||||
0000002513 00000 n
|
||||
0000002600 00000 n
|
||||
0000002934 00000 n
|
||||
0000003008 00000 n
|
||||
0000003118 00000 n
|
||||
0000003220 00000 n
|
||||
0000003350 00000 n
|
||||
0000003468 00000 n
|
||||
0000003609 00000 n
|
||||
0000003741 00000 n
|
||||
0000003859 00000 n
|
||||
0000003956 00000 n
|
||||
0000004031 00000 n
|
||||
0000004854 00000 n
|
||||
0000008405 00000 n
|
||||
0000002719 00000 n
|
||||
0000002925 00000 n
|
||||
0000003131 00000 n
|
||||
0000003218 00000 n
|
||||
0000003552 00000 n
|
||||
0000003626 00000 n
|
||||
0000003736 00000 n
|
||||
0000003838 00000 n
|
||||
0000003968 00000 n
|
||||
0000004086 00000 n
|
||||
0000004227 00000 n
|
||||
0000004359 00000 n
|
||||
0000004477 00000 n
|
||||
0000004574 00000 n
|
||||
0000004670 00000 n
|
||||
0000005635 00000 n
|
||||
0000006372 00000 n
|
||||
0000006600 00000 n
|
||||
0000006828 00000 n
|
||||
0000010441 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<84e36839b1116312a237a780b9dc4734><84e36839b1116312a237a780b9dc4734>]
|
||||
[<7421df7523b2a5fb9743c37af90d9b8b><7421df7523b2a5fb9743c37af90d9b8b>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 19 0 R
|
||||
/Root 18 0 R
|
||||
/Size 33
|
||||
/Info 22 0 R
|
||||
/Root 21 0 R
|
||||
/Size 39
|
||||
>>
|
||||
startxref
|
||||
11551
|
||||
13792
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Android Cast — implementation roadmap
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-18 |
|
||||
| Last modification date | 2026-05-18 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | pre-requisite to |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Last updated: 2026-06-04. Living document — refine as alpha and commercial tracks progress.
|
||||
|
||||
---
|
||||
@@ -12,6 +31,17 @@ Last updated: 2026-06-04. Living document — refine as alpha and commercial tra
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
259
docs/ROADMAP.pdf
259
docs/ROADMAP.pdf
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 19 0 R /F4 21 0 R /F5 22 0 R /F6 23 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 19 0 R /F4 20 0 R /F5 21 0 R /F6 22 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,77 +17,77 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 716.2874 100.381 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 762.0394 100.381 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 705.8499 124.2975 715.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 59.68504 751.6019 124.2975 761.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 59.68504 695.8499 140.1375 705.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 59.68504 741.6019 140.1375 751.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 685.2874 162.605 696.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 731.0394 162.605 742.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 24 0 R /Fit ] /Rect [ 45.68504 673.6874 118.157 683.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 719.4394 118.157 729.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 663.2874 113.717 674.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 709.0394 113.717 720.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 652.2874 265.741 663.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 698.0394 265.741 709.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 641.2874 151.037 652.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 687.0394 151.037 698.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 630.2874 131.949 641.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 676.0394 131.949 687.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 25 0 R /Fit ] /Rect [ 45.68504 619.2874 161.269 630.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 665.0394 161.269 676.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 26 0 R /Fit ] /Rect [ 45.68504 608.2874 121.277 619.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 654.0394 121.277 665.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 26 0 R /Fit ] /Rect [ 45.68504 596.6874 126.157 606.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 642.4394 126.157 652.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 26 0 R /Fit ] /Rect [ 45.68504 586.2874 121.709 597.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 632.0394 121.709 643.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 26 0 R /Fit ] /Rect [ 45.68504 575.2874 120.829 586.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 621.0394 120.829 632.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 26 0 R /Fit ] /Rect [ 45.68504 564.2874 92.37304 575.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 23 0 R /Fit ] /Rect [ 45.68504 610.0394 92.37304 621.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
@@ -97,33 +97,22 @@ endobj
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R ] /Contents 47 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Contents 48 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Contents 50 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -131,9 +120,20 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R ] /Contents 51 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Contents 49 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Contents 52 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -143,7 +143,7 @@ endobj
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Contents 50 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Contents 53 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -153,7 +153,7 @@ endobj
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Contents 51 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 46 0 R /Resources <<
|
||||
/Contents 54 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -163,138 +163,189 @@ endobj
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Outlines 30 0 R /PageMode /UseNone /Pages 46 0 R /Type /Catalog
|
||||
/Contents 55 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 implementation roadmap) /Trapped /False
|
||||
/Contents 56 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Count 16 /First 31 0 R /Last 45 0 R /Type /Outlines
|
||||
/Contents 57 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 49 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 24 0 R /Fit ] /First 32 0 R /Last 33 0 R /Next 34 0 R /Parent 30 0 R
|
||||
/Title (Alpha definition)
|
||||
/Outlines 33 0 R /PageMode /UseNone /Pages 49 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 33 0 R /Parent 31 0 R /Title (Alpha app checklist)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Android Cast \204 implementation roadmap) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Parent 31 0 R /Prev 32 0 R /Title (Alpha backend checklist)
|
||||
/Count 16 /First 34 0 R /Last 48 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 35 0 R /Parent 30 0 R /Prev 31 0 R /Title (Remote access \(alpha \204 RSSH\))
|
||||
/Count 2 /Dest [ 23 0 R /Fit ] /First 35 0 R /Last 36 0 R /Next 37 0 R /Parent 33 0 R
|
||||
/Title (Alpha definition)
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Dest [ 24 0 R /Fit ] /Next 36 0 R /Parent 30 0 R /Prev 34 0 R /Title (Auth & email \(alpha\))
|
||||
/Dest [ 23 0 R /Fit ] /Next 36 0 R /Parent 34 0 R /Title (Alpha app checklist)
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 37 0 R /Parent 30 0 R /Prev 35 0 R /Title (Product positioning)
|
||||
/Dest [ 23 0 R /Fit ] /Parent 34 0 R /Prev 35 0 R /Title (Alpha backend checklist)
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 38 0 R /Parent 30 0 R /Prev 36 0 R /Title (USB-C / HDMI \(roadmap D\) and USB-tether cast \(roadmap E\))
|
||||
/Dest [ 23 0 R /Fit ] /Next 38 0 R /Parent 33 0 R /Prev 34 0 R /Title (Remote access \(alpha \204 RSSH\))
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 39 0 R /Parent 30 0 R /Prev 37 0 R /Title (Commercial \(Play Store prep\))
|
||||
/Dest [ 23 0 R /Fit ] /Next 39 0 R /Parent 33 0 R /Prev 37 0 R /Title (Auth & email \(alpha\))
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 40 0 R /Parent 30 0 R /Prev 38 0 R /Title (Crash console open API)
|
||||
/Dest [ 23 0 R /Fit ] /Next 40 0 R /Parent 33 0 R /Prev 38 0 R /Title (Product positioning)
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Dest [ 25 0 R /Fit ] /Next 41 0 R /Parent 30 0 R /Prev 39 0 R /Title (Stream protection \(FEC / NACK\))
|
||||
/Dest [ 23 0 R /Fit ] /Next 41 0 R /Parent 33 0 R /Prev 39 0 R /Title (USB-C / HDMI \(roadmap D\) and USB-tether cast \(roadmap E\))
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Dest [ 26 0 R /Fit ] /Next 42 0 R /Parent 30 0 R /Prev 40 0 R /Title (libvpx / Opus / Speex)
|
||||
/Dest [ 23 0 R /Fit ] /Next 42 0 R /Parent 33 0 R /Prev 40 0 R /Title (Commercial \(Play Store prep\))
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Dest [ 26 0 R /Fit ] /Next 43 0 R /Parent 30 0 R /Prev 41 0 R /Title (Transports & protocols)
|
||||
/Dest [ 23 0 R /Fit ] /Next 43 0 R /Parent 33 0 R /Prev 41 0 R /Title (Crash console open API)
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Dest [ 26 0 R /Fit ] /Next 44 0 R /Parent 30 0 R /Prev 42 0 R /Title (Receiver / sender UX)
|
||||
/Dest [ 23 0 R /Fit ] /Next 44 0 R /Parent 33 0 R /Prev 42 0 R /Title (Stream protection \(FEC / NACK\))
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Dest [ 26 0 R /Fit ] /Next 45 0 R /Parent 30 0 R /Prev 43 0 R /Title (Deferred / post-alpha)
|
||||
/Dest [ 23 0 R /Fit ] /Next 45 0 R /Parent 33 0 R /Prev 43 0 R /Title (libvpx / Opus / Speex)
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Dest [ 26 0 R /Fit ] /Parent 30 0 R /Prev 44 0 R /Title (Related docs)
|
||||
/Dest [ 23 0 R /Fit ] /Next 46 0 R /Parent 33 0 R /Prev 44 0 R /Title (Transports & protocols)
|
||||
>>
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 20 0 R 24 0 R 25 0 R 26 0 R 27 0 R ] /Type /Pages
|
||||
/Dest [ 23 0 R /Fit ] /Next 47 0 R /Parent 33 0 R /Prev 45 0 R /Title (Receiver / sender UX)
|
||||
>>
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 871
|
||||
/Dest [ 23 0 R /Fit ] /Next 48 0 R /Parent 33 0 R /Prev 46 0 R /Title (Deferred / post-alpha)
|
||||
>>
|
||||
stream
|
||||
Gau1->u03/'Sc)R/'c[E-=Q6dcH#?F9*H4Q>na#>oYrjCadU/9m/m1ZF4*st%Rr^O+sg6:h"Sp;I#^o$gP`F_?36WDE&&_)*(ZA\4QJeK$"qB<kC@@n4c90!@Ln&55hM&Y43nB]*',]p!P+>RK+LjES]E%KD?ol"a\F15UpLaE&DBZ7:*W$.LG6!>0dJ1V7ocR"T#-k/!t3-U+><%IPbKqWjK\h5=^&--#a-9kI"^NEk?H_[p3I5%-\sr0;bSC-^u=krfgTub9cA=n$Z99U_JlMc$1k4FjND4kb4H;/+8RfZ:)LA7cNgsj(XUu:Jp4(Q:SnU8G#J[.9Am*2eiV[gd&-a.qX1+A@;?BfeON'!0hB8=YOX#S*Q7L&`JFiF?@!1=,\W6heMZhin5YTdo/_OHr==]'``Jm,hZOS'IALC*8neD^c@siR(p]I,/Za4;T.c3ccihW8c/4['V4I,!\CQeMal!8WP3'Y-9IBuC4gjg]+YtFn2)e?)h6,#8]'Z.dEF8Ron`fQ\:>gNjjhb3*D.bP**!*CHU_u)-A3p<8>Mq-nXHQM!e/.=NQDID?B2,78"oAJ.O\.m@7,80g$%#$:9P7'Me$A4Q[A[Ii]BFc1K"_e*UBE+7a4k@gm7+H":=#@sIN=D4GObk5IDHWnc!C9U[BJl'[Z@p6io,"])UZ8+3Dlm+[8]WMEc+R5>S\><)&i4Waijo)q44XO'@=2&g)nr(3rfDs[FU1:$Dg.*!GjPHa)*d$5i=a&=\pe^!E.%OGY`bKPE<G%!hl3Ha>Vrs7jRieL_S%?io8GD.;?-Wk\U>8H*u(>0@^F#$>,JNgu[O%-k.M5#5#KE(76*u6<1H%Z&30lBlrj@0_c*;-%(4~>endstream
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4025
|
||||
/Dest [ 23 0 R /Fit ] /Parent 33 0 R /Prev 47 0 R /Title (Related docs)
|
||||
>>
|
||||
stream
|
||||
Gau0G>Bedl&q801W2Df(`!G1Qig7V$a3=;oN&,Nufu"D"!u_P)Ob=bDYMX*N&\=.lnRQ+.9@_kKeQ#t)h%>1X+!LQs\HTL562t*g6%mnu"IYH^Fpm?`L[Q=<=Ai0ZFeJ4ZBS->`8@jc;@5Au`Hg;3@5tI8uS-$$6W,`GajOoGq34h'G!;8Lt#`/-k6s`i>4T6^LE,35BmM[Wkm^L+D?nR<TG[tBt":Q@\B=BV2E%Nd.G"XsH2B2ub_gLu_kL$\-I%U9AZbKrB)]SQRr$`Z!_J-ZaZ,'KILtk8UKc0u`j!@-s(=4m5jS;*$JBUTb>180PTS3QG>!O*IWikX;!g8uZHp:jS6!u2fMJP<Lf4+NfJn,bXC`")E@YV>oS%=kC`A-juOK,&:qVq:$-n,dJP-4B0!'![bF]i)nio4U>JqMQ5;%Qak#nejEXF<O%lmEQG`LM`0`$/Hb:57ccnOJa=p/.hKFDhbuckjYGhj-O0GN[&8@g.2BaYW(+Q,XCMQ/a`.5=+fUC,hK)-!oa;=jTpjq\0m`hCiQfJ'N4Q[=o<gCPP:/nu-DVZ.h.j8Wl\n<TKQO4`](tE1*W`KU**.LD@X^H)0WVk2mZ#Y0rH&=_(0P*\jbj\04mo#1S@]iI*JeZh^##q^-_;?D9d3:M)4/lCisr4ZlL-]7"(m&D64T5G5Urn>YpZ_&H*=ClqfR,l[^OZa\"bh;UjHU!W+]iZ?ek_$3949.jUB*S]Jeo3ZnSd=)phf,2KUd?#G3in5l)@pl/q(-6hF;%NR6IB+D4>N:`mFbq&u\5oq3M4Ir;MX2>Z:9:0+4j8XgD@G,C:=5%b'kL+c5W`C,,CXSWS.%FlVf!#nPaTuf<t-k:RCK1Zbg3.^:H.I9I5/iHrJbYs`,2j?h<4e#j=s9<jG1"r3Q-]dCLt+DM8u*mp'YrR84WNSm?'&K_mA9$!684(]njo^'ssC'csrHPTZPVU?8B:Qn^$)7\:LU#(lF3#:VV9BK^kAhQu/,unB$6ZY^t-8k7:njR9WL]>R`$Y>Q[/9%@D?[%JUVp#`9>l,?'snU^ADSNL#M\V[me=f.%o<.LIP]H8ULT,rl\g63)l<6%[4G.h9]U5SCP)'ZX[LMu22a_31m%HrrjB&SrO/qiu]FJm^rr"^Ug3j(j^ec9%B[O\!mmhJj`1=7!bH9kSC<oAQ#$7pG5'HKug@F'&&R_n<td"@F8N-jC[\8J'fdo7;5@hF`1GTr-dfkYrrJfYfFbecIM)BVc%d%O-i^$kafMlp[lk0m4-""lj7BgnUUES6k&^N2gY/DRt%YPeMMt>'5)eGVeEh(.OQK>JeN-jM.'F&a:0[-h,Hu\(>MYY&F\M?H!]j?%['Ap+D_^XL;,\"(c2.)gDGp'U1m.&/=1f=@C*]$4.'6<;+k9AmRG_Z_fZ2<jWP49$N`*'Pk<uKXX9InT;mY,Nc9nC:i"[RjQi&e;rEC<d'99gi[Zn4$in;iU.;6,X-W3lkMpbZA>O'Uc5gFhnuPi)4n#Q&L-"LU+5nm_\)n9j-6)C2gN=e(co?OQM^enL8hBW.IJp7[TE^49hfR,nugusO2Hk7!=Q%W[AnSsetdA*rG+:J[p+`4ZUcD%U(>RY,h.?7JM/Mml;qUZ*a[Z^@;>u_Q2Mo>)'M%jMK;B%^%IFB$kj_:WN!l5#dl(nFFEEi5$Np4MAadAZ0S'kfIO'?Y3d=8[=&9Q/]QiGJJY3Fq3br5M.Zgc?u5P)GJC$MmVM>1YD2GKKN!M<;\SG5MM2]pfNiEJ!>W;S!G?>X(R9+3Fbk4YBRod+H&/`V*^qcS'a$&tm$2EW\=&V;D2bA&atQ8$KcMLi()%%e,XMZ`5D4!hmm[h]!fi$,2_CDT_>c`;>h1HcXEIn8Og0NjL.T"D"D][mP\/H_#%Ho_%BV'S.7N:S4l=O3Ms5ICSpVJQ(ZYDOjmDj.LrDWlp9q5s"ONtt;T%:$Zp88&1q:6O3<S*i(Adq"ACUXC/>ogOs7toB3F%I-3uGM.n&bZ"`Oof&4W_n?VrPbhF?KQS\4(8jH'V0:lPqIQM'Ml5hL&a:<Z!Gk39\9/%!14[@e=Vh4o(7%"GR5$gEoR9#8'Uf:)LE'JSh)*Y!'\h![P@#fI@qIb%Pkh;Y_agJQ4/0MOlu>iY"#_E\\fALfHJ2-93:h==KGP_T0$?5N!I4A($$A8tNN=dfq?uEXhf.neMHTOKnnC#>Bn$ee/nSUrjR7UqMr>OP-=].TE%AaF]cdS61^tKLLZJ>gh"sbBcV,F]=J2`JT$qBH$dfrW>)9UOA351u,_A=$ED/'"TB`*9$XiLO7f^_oG!Wn1aGQAl(sZ'aHo>Pae`.^`uU]Ep+Z:Zgc%rH3*R4Z%7t51-b@:.4Sa`i"(iF3sG0GU1=D\0u"M-CN*']#Arr\((dNuii$hL\9O"C^#p*m*1g2c'\4="BNU58MV5$]^\*LW91c2\$-I#U6;-]Y=<QiF=*m>-8*@,O4)kAWE987'\>C+\dTt5;\\?ceEIo-]::qhX(O)>nL2hZCO:L,kj>2$LU@?5kYePnZ0".-g:u%+oB\lZ?JF3N*W[rs<LAB<E!)p*4pKBg:8GFa"?5*k.;Y]s1T<Df%JFEF*@'-mp4Er%<Kl4.oPW(;j17/gg(3:<!5U$Ba(_Y_m@sFSM^fVSoX5V]3PfiO>FEl:)h8='A(lh)GVl.MCiU,]@31E%c8$$%,<[#dQ]=_md.59CdS"_J.B"R*u(dE/2"0N_o`NWVidZQ3cDtmNYkB2?Q$;fg\hI\$N$L9J$d9_OI"0a'sn:A<a#]Hrm^o1^DK>24hJl9/&MhH<?/MP0N3Oh7'/7@6-I_dE%6i,-'bgD/(XKCkJMg:Nk7oJuX1c';:T3LhMIW3e@=,]p-/nb1EnZW>6KI4LrHG`asJ>^HRrm`*S]Dg@:E&rS5YWZLJ3I$h@HK+V%a*b_fD<V[KPFf#i2SGAChi\=@Dm>tJr%$2s0rU3lmQ`GZ?_7<gg1k'6f`23bHhEDkboUJUer+1Mnn_!Fc9!8pD7Atf?(geDVeKtU!oIV$!^]_kqV$b(lD[%h3uueu+<D#RmC5(E6BpTShOBOh*l>$qXKb$%VgV(TAOi6e!qD\TT]6Fm7rB*]cQP=^N@':o\?HpdmG')KZ%R4`%bLfIER\L`";jkH!6a]t5V"UW7iZ"578;rR@+uj;l\/g48]fpW./&suGK0/+N%6G;L8Uhce9e_sHX[B6ZcI1%L?H;o0YB7NMTd-d-S^4KjOU?q,_jniNurK:PiECeq7&gDlal>jUj9VIH@fHhWn#jK`hKs$[1:J1-3:(ua@-Dn*F:ltmn_g4dF?I33l2\$nUX2MgGjp\NaZ0QkgN/Qjq6\'if+^c8d%cL0YJHdc=+3&D38]pe"_%e,>s.(P[@'-K2Pa4ef3ru1sG!\4=u.d@L74ZFEKg<V3Grm<N>nX&F\#AY;Sb:0p9b&['>iFSRO%<&&tre9.F&cGGV%]_cd0AoO^i,jSK8;hBgaO4*=5006_$FAe.rRFYmH,ju^7C(ZAhn.2EC'0uF*>1ilQVG]_-SkaSL"I0:!X&j#KXLSP-tAT9CES)*o=`6oid%QeX,RHrI"Wr!X%euA82OqNi;o(cEhkbWO9br*8?(/.u@e!L&g3)4tB:''k5f]uc;__8<##>195%uErm-)I%;<`#eV70lt8/bkQ.U[eFC.VI8p!R[n-Y&k\C<m(7M&,HjD5(l;K2PFqU;3+Dr7\)^gUTWZG"\I\fV<455+A*WWkk1XLWf3Pi?GJoJ9Dm+Ta>?TY*cIgR:"<@A6(i!QdFEZHou+gkr,"QE)D?%K09TpsiU=6[_gBE7>?nHH7%P's^o3da?kBc5hIUK6cAn/;r$/B%il\/n]q\3M?2erZZX5c%)3;mYCof)`r&rJ!bfa(fD`1?8=+ho5^PlW\C04N"`Y6NoO<,k9N@KnS*p])NnQN#+_SUtk4<\]9r;L_T4'%*@W9[B;eGN7'U^0im]E+LZOIsJJD;s1Sd(?X<;WQXg5aKHO1_*.N@8Ns7V\NW2b!dKKn38O8DXI~>endstream
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3244
|
||||
/Count 8 /Kids [ 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gb"/*Bli#g')h6*d@[k3`1fh"e<-`0*Ef[(hY8!^Y1-FM8ct9=KU<sn"Ct%&IMroC;$T\3*cGdl^'(0MF>qSF*^Eq;ig1D[G/jT\>rXjR^`q,GJ5n<Rd(P+=ma6NFX@0?t2b_tHTLLL1d&:?Y\5n)J_kR3cC3?I7%>.cY$>%D8Lr&$JOjU+r[<`#)J!3?%B3V.=IN<Go^NLj.?`Y^50?S-GAB%Y:Oi3?hfT'L[MDeFL1WuJb[;Z0SNhN/C(QIT@6E,ChJUrWKC#m)lk^Gr<B-pR:_*Ipa4A4Cni$9mC]eL&'`?HJTL/_'Rbf]Gi90M96fB$VjiR=075Ha7bf6[IJ?VB439oQ)T?(,0OBIR/]HG0\3FDokl48ZJ&W>)c+ko"TG]!ie/l9S)F%sk(:704(+d%C;,_b_6Ro@l2k7)P7CHLJ-ST$K"'_AUKsXJ3jDnR4g#(I?d@VHNB:M&Q&TG$^dLBXU+riEo8#;D6b_*?0$u=9K`(M+)eG`=LcDoHjqiiVP":)"JeRPMu[WBS$i%@#&+A6PJi/i._Z>P`KW1E@$K=4,`r#rGY0r/@+7[B/uf%In^qr5%6p%"o;a:nVT@3f4QoA?au0,e)W71M8rU+f=[2+s1t>27n0'!.ZO\s^NZ<1$jWBacu-^FQGn78i.FIcf?Y7e7CB]*gfus2M='l$l;fC=1p=[t[o.dRGm,P"PmT(e/$QBYJ`$&+bXa6!=IN5$d[40;cZrAYk4V<f"Vo(Vef>E6^/[+,2(K0ggBGg45n\a>Y!W"4cDnofdF8]R?fr*[#8o;k,7p'sKZmVfS2\X]Z71jR"8>r$LSjXX(XL+R1NkC>PmKH?`SNc:C<`@%VkU)#kueWSMk;7IY6NA.89beL5q"#1>E]<0m-.K?]$].c*$U$R/9>SXbd/:oB@UbgBME*(3"%pIdIcHC$-aO/(S3agVMlLr9.l4MiNd_</sQd87k@1AFPf)1[hd)8^$SGk-`O-'gK,3U\NTP?GqeAX,U+(uD^F<H/n#C>-S3[NT4,ZZ`H[@+$,<;R1JmqQP.c'"]O%_i[sI^T1LCLn*%0a'OD4%b:ZdDR0*4g3!E0j(Hog'd%n!AL1S+4eOl%8N5c*3/hAtX03a1Fn$"5*DE!=6S9F,ju(/P;Y)pjGF5XdMkTnlYh>M-@FOt4$e4,a2$^9>6&D`'U^giTgt1Db@BL0E+TH-gldC?AF00eAMfG4/kg?3h8#`:9kI7&q%jO$s,D0b'i4HNt5cTWV<hN=]./5$:LJmE*.bB&m>R>gCMHlbms_0^P/kJ5LAYUU&f!%4dX6r#aCe7DCRJ,(&NQh95m5a=9ln:i)Y]5)T*h;,g8#Wok2ZKh`Q7J'jak4kl0%R#mPgdd4)+8.D>M@[O[X2]](5;'t$W4k1>lC2FQemicBa8tI?8:@rAM:e`-W.t$b[e(T79<M,Y>0ft!aMq=V5>!7fO@6?YCZoIZ+_,q:F$HjD$brfYeB&41\Eq$RJHZ\&!Z(QfuWPbGXm]s23k!=;=<&sRu6i8&JF83=+Vp"RPEGF#iiXg>?Dp!,IY*d6Y,-S2[J9dY6@nXQ[YKQC6Hhl$JF,>'@GFlY"mZM>U0O)%u%2c`hXp=C.#3j>%>1*='B0qb;:S?B)`<_Lb:GTTp'-?oL"q_mE"3b[SqCiMb&1/r>Ye(cE>f^b0M(@E[3,C::oM.=.+LeB*Q0M+P<bXOJSHoqLSo(>]2>FZ^5]]318jdg7F';SmfX?.5^g[ZX$&`&K.C3*ee`!I%"$RoO(@I%EbAl^2fOfXsKVXGr,fN9l?iU_dH"oo*#m8J)QpZ_GT5*)CC><,@7ELe2D(*k47RMPE,k+&RWJ,MbI?&Mga8$$aImVt@!pVDIi]3bP!Q]@(e]IE<!43P.1CS1LOZT;#[=j>u*mecNI26iu&Q7V+KUVGuF`&*18;kP>5`d:)LHu29i1bLT&`jhmI(fgg@kJ],hdb%Aj4W')9lI3Y<^o<.5X<f1&eE?'ItfCNH*$ROfJ^L9g6lsWd)SVt<Qq>;5*'2l*/juR^ki;-)MT//EV9gcgP\2Z('hSll4umX1DcUt"DK;iZmC0KTX_i_5We1F!1g%-'S#3fC2\U0&b!])#c-rI!/Q\f-2K!Jp_-(G(bQ-Z:ON%li`k.\7a3:R:*=7PLd;Z)K?dM%2cj'nGHHecV8fon`:i8hdt'5+-X9\CH+EbW[s'e0B(Jb>^%P&>PC+5.3WuqZ"p2$_DKp&g[=pkC-lc)E!]O9^La<-DM_Ykg+jS5d))-%l#$cddgC[csm+RI#fD=<`pbM^%NWIc.rEdF/$a(J"pknhCSVXI//GUKa7t'b0.cPQKYChQjhN!`tn1kdOhO*5UE=qqn)";If3sMQej#',c5"rZ#4hL.Bg;iUVU@2amp#umE84.iXlr$5D)W<+B2_+Z>O-i[)<9[br5PVID+bT_c"0^='%J1m>^KqWP+J_;$Bh3fZGN6L0"JQ33!Mo`:<E/"1OA:3iF.@\"!-I4F>/Z]FZ,\/B3#HTVq6XJ6EZ1kg;r#o=GaRe2m-X<QRKXbc'QAu(-U?S+CETc5`l'j4_7jFH2Zu3(_8orePQ-W's#Ec:o`bXE[UG:f@j`ZI`&($&faW8/H@6r5&2eQ/`991pfhTi]H_p<iIK+WLCjjTKUKVBqU$'$M"$]n2p3D`g%QP*+bZ0%@?#8c9?9=h?=sY-Y=PJT05u4^9OsfiB!,)l+pcB(IAJIu1T?_d0i`%XBh_F8%$EA9&0D%=Z+4;fRhCc7\=YMqM9kV]u$TAa-7Gb"5gs,MDT_6aR+SEb"W6gn:Kp31@#[eDsbE77C)2#cf)+_makKN=,@=?n$&j?L/bF5R12So\J2,)L;lE2q8E[`%VO)5dgI:TXKB'ikF3[SaIKKBrV#`cH1;0TCP$o[1M3hQ8[VehW6qsS6VX'FIVN45@X#cYrkKX'a=7g8u5$H8?%A,A8[iR'EX^E4fK<ctF_;sHQdYN<ft8B#t)J1FGD\OiI(^JIM:-@im1?QTaH(OfVj;%u49aG3FNP38eC71V.4ru3,,]jW4f0CG<A9CVf?qJ:4WbP6e*pq<[d4i>LIl,lS7HmpCd#H.;8OXVT$mtGP\!FWetG'Un''"n1&s!<'n.Hi!/EDI\?$E5WKqk(<2,.'GFXI?$^C@jc(4W7"m^NG5-9L5Gm243d,8AXl=G#j]BZ%ZIs[(4nB/89ZiPcIgHOr,=)>cGQfihWuf`_%^R<jHne>IFGZnhE)>N.&LhhqYAM;#~>endstream
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3099
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 849
|
||||
>>
|
||||
stream
|
||||
Gb"/)=d.i)&q7#kTr3b4T#UQ6l$]:Vl=Q?^U,ch/2`cO%[K')BbAGFFm'#<208qo-6VYK]C_0Ud8Bsn?VD>n[=[F<[V"h^47HeWDg@l5CA2IL68JP2])kk+7k3%_gcI>QS<$VnjL&t^C.QeK-nkZL(nR.N],?=%8Z34N<P(Eae<Zc75N\26IMTXQC+ddK7+Yi*d;c:Gj=>'D7.KtAoYp@:9UjR=S`-+YD_k4\lm.UF8!mCpjSZTe+)_J>fK<A5sd-OObqoCdFK?oR9XN5uGl8rU54CZ`!UJ)MHgSZ)Yhf!#Qm<^E&^3p-='9HV?"X$)lRQc,rrPM2u']=.@!j+#i_t;.3IaD<gAX=7-jVqA.2"HD[a@LaA:_10Nf]S-RRju*I<[7s,I>%62nFu+*@*45(8Z7$-I(9hGoFh%YLpi/0\S)=7jF5!rcYrA_EW:5;ru#^7cNj1p%)?.(+Np<deXTrpP<S`CU`rePFAiiQfI3J%(m;]mFaScn$?A2$Cf"4hkYMof2=W2<hl6bh03s/L&#D1LP8Ui._O0Ac_sDS)q)osFqd%eFrC?E%1h?^(>N?$R&W8^QGf@<[:)tOFiYKAOP-PN(M.`"P@F'[VCD#`t"J67[&<G^HcN>Z68S?a+68JaE3MS!*bJm2$OsI1W=\b2,a7i"S\^'d!It\pBj@:@uVEQ0,-O%XZSCT.Y'1>c"1^+1X*4M#;BQ?VfA"Id)kj?>Xl$//f$B1]]8_GpQ+De!AFEQgL\uJn)=4%@R^hd(_Ln&@Q+lm\^U/m/5MpZ:\aL4PrBMNfp0T3d\km#7)C`NF_$c)HEW+0$kA.+=L`!V3[Q;bW'kdSSUhtfuDQLEJS`TA$<1?"Y6Ap0W?em:VZY[u4amm&-LA_:PV$b3jnK2`goJ`F)@]o3r_DL%U8&8Pi\g=4Hm\SAF(]UNLA]r>VR-&KYYd=ueZV3!(u'sq'INkHck<P>Qt@\hZ>L$+)Wk&DF1#I0C%8Ypbm4:?g-UkW)^'Jo^DYmDGhg'OXlma+><-s0o9^m8(l.tB3oXI`#TDH>B-VWpp??"3>SkNFHE+*r@0MB;IOMMO.<:EI-`iA4'_D<Y3gX\Wo)=tI]VKs:^;fm<q"qKd/6L.2S7&DP#a^@@>H_iS^8(p>l'NBD/\X.d)Rl2DN;nX<,W[a09RM;faG5c7k]#^_Z@(GC8,]a+If+<3-$B%m;&h]DR8]1#1lI:l&aS:gP-E>TuhcpNfRf9kslWW.'?i?R`V/5gVMPE\[;7BKN7,aGC%]_k?oBQ6SunGrbr(kK;8!)R99!:I,n^m9ZT\B>'V58FI]/fOf?=;ZS#Ms<1!WaO::MBM.(j^]C+RG\)0KTkOo._!&kb)<;L+iq!>ZmUKDs'[$dm2C\@Aon/S;>&BNWCB(F@;.P+YS[-m?m5@mY5"qah:'ZAeOHRA'f]5.7n.ViTPG?C)Oao:Blku#>Gme!Z5D!TA;S!_+ZE@0&CQs@Q1]sa324ar@n:l'=lIG5[Eum>-Ok%@VW#-GY*QCSfrF+F2C8-854!i@Te>mAqh3$@^h@@R4BAedf9kM6#L(#%%Eq_Bjr\+oRJ$Q:<pZ&>b<mQ!q(\oT&9!&n]i.#d5`5C0%PbgYa&%$q/f2X^-0V?`BTDa/b6F1>cR@$6L=C;%Xo^,n?62&LH;Go[G9!RraQRti5i9BY8.1+P\B=n@B+I7LhRO;ib'"D"W4F0d!$"b2EE*eY6]k.h%okOZ#n?M(,c^t#=grSRYKAE"aC9^-<=;d-DCBZ\Bdis&4rbj'$Li=\/$h7l/!5Hee_W:LhIMX/G4?M9Yj5IhO?2aqY^b\#f#,>YY5L(>f1F[RmbYR:;%&EOLZBulgAua(_11R%.9dG%QcU5XeACWfL<X+6UL$o0%/'\bc=uAEO?Pn[7s^.6N,-XnNTb,2?8b;W_;3N6CNjb_kg&=S_;]o!)#S$n,fOE;Y.e-cZGtI"=cU^W:H>T<Te5u.'rfZ!C(<1p!e5j9,iJu=9:lNb!IAa;pB@8.m?RkuX:oa2^I)F$!*Fn/jF@/E5j4j@F5I^h:6Tc+/"gboT8(XHBM33*0'>$Z&g%@`o<hG1o/>m]mF(N\?"^RiKh>XBJWnU"V%&<P+<nmeYhKMK;rFH/#/!o6oH=2P10d.Y$Tf;SKLXqXpH8P;8G;m[C<^p)54M%QX?`_jf>d+Bg/o`]n)"VaB$31@>SY?p<;fMj$*^.sbFR,'<]64j6:9\"Glhe2T8'G$?&2k<4Yp70#gtGf!(3bnX8":b7er%$q.,/q%Fg*M.hlUXM=\Xp@t+3`h%#.(q"cJe?sS*>qhHF$O2$]PG<FqpT>MNP2XMoCh3W+rrr[snSqS"MG6?KIj`=']m)>.GJ-:J=n]Pqnb]fW>cQLoi/On'oqKAmgb_#AFmGXU2%i_+F.Yf&iJO^PF;1NM>BBg:\XLp*j<m?4204I'`9s__VP_?C^C_c!a'or`88'h*@%E1ga20d<a[7_S"AUL)U`GrJHiqsOHlo7SI1ot208\\:2pQ=d]aMMhCm6;#q#!RqHSkB-Bm4J$/+2MP!$'NU[Oe"n7I][5Ee%8Z7Fbq-U&#^KpY;l?FD$lF8l:IcWE^r2sYY0_8:M=";-e>T&<Pr"'V@1Bu7eOZ)INjomV,Hpf0qoLi`QE5:V-X[B+9m1ZiXH^=r=PuoBCk^q'W1>cnWV"75[q2t<BmY5qWn&7S1X/!:OhFU>mKH[c%I[Ya'k?RQ`#,iQ'E]t-6t5:\[IUmB"?^Ua8Pm=b>Yd")(uB*O8"iU^:&WGh[eG&5T'0n9@l%1Y9[le<F7#0+LFdJ'bI"3T93X^J7+>^*+nQUOOS&/40JL%&Rk`k<abS"'(cS.eqMJ\p0-Wcr7qZ(Wn4g(KV/L0L5TA^3m36BK-Z(arZ-^Yi`pJ&Bp7E&_o#m1)g4_5NS+.cI+TIWJ)45*QG\[AhGnTT-VoY<GEN?Mj)N8:O<3,tGAph95+'5m_REF&+DAhtCZfCoG[(4ggPH['E!,WJ%@%]<JV2R-_mO5fFSTYd4jA.VRpn_fk2C6X4Gu(WNMW]+EAnu"qMY>\4F6kuc;uHN&to#JOAC6CY<b<VfM<(TI$_R@PtPIVntDQQ!>g,##6~>endstream
|
||||
Gat=*9on!^&A@Zck"&RjlZ)ib*9h@M;FT+g6p:2U&[T`>,]!`jnaC7K%J_E*,dP4CmJ#ag4<>"72%>KDFU[cmL\iG%ADhA+3T8mLi/9gFS)D=Z/r4TQje.h^eFC&bR;"unjp23Jj%67U+A+>K,@iG@_hi"^$N/PD@"?+_@*BNSapCLhVVm4`SL7j37Njksq](&@VBCb?>93#T&+V,C+A7>@%X+J[Ig,i^Akfq#qeXt4aV'H/,R]L$6tl=3aUSn1d:h&L[no/jJE^!u`j#@qJ,DM18`Ht=dpZT3_H^*nY:l!?nYC/\AF)G9l-dMe*+>3t_N7@L!We^Dc(3h#X^&d-V)>%kjO!<f'YVcXN?M?3H0#lLI[eq,jbRg2ij(7WMkFJXh\7m1S;raJ6g_Zuj]s:OaudRAUpnr##mCr:;3#)a'l4Dl`EYpfq!QcAFaFtD]#"1cs-%%Xp+h4\a\<\@Dh97e+8+Uhblb/1T,QKXr>t?#QFSSp"?1Kp<J0,sOQf\1%"l3@Zkr?E2o$i*1Fd##G3G6Eh6=,?4\in.'<R%+@(<%>)rSUST?`$4\oj(G.TALeF)V?PA>S1+(?NTkp4dY/3fFPgLPKiQLK8]('-0gf-*YS@QV?lB*J+O.i%\LZCk2W_ES!SP@/aH/B:431R+.:7aO:MD^7!mEKXa]q@B,Gj^\hgR(AN6*qW$jTZCb?''iVJ'5o[_K[]m4$$BZn\l;Oc.Zh6V4MH2./!V._!C-YaPO:?lE&A3SP'uFZ-S=6UXX:g(hSIWp(c6).ST<AuF&g`\(@X36UieU2n]5PBS*g%PjB.YH`UBnFXs"ZkCU0A=r;hTL2js?Dm".qZ%Oo~>endstream
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 400
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 814
|
||||
>>
|
||||
stream
|
||||
GatVW?YdM4&-24oIYrIjDQkb<qJVGJW1+p@[[Af\6Ioc"@@EWa_/I(j[>a's+9r5.?&i:;"(]=8c9_Rp;g9.*i*i;9i;'MdF:8IuerFt@oE.%2"6;f`a):DAjP+meN4Q<$3-N0<eP<qu!*"+tj)--r-cRj-HVjo!)9Lc<QFp!LRUiQP@?,=1L$#7a9s[a1]ES-6oPSS<D4GZ8Z&>c+]Ok\F-A64F;f*hf@11>LC:c=(=`.6obIY'3de^Zlf-PP#$]JM9mB/.[+USgil^B,&T!7"QY0j7HL9D"A)_&>SohnfIQU:8S">-Ea"n85t``tb<U-Is+.m1Xol01Q*.[dR6K8`=mPGNro8Y2!?P?p^jYhnm"ZJC)1.pa#YMRnMKUCD)N(\n:>k8.2.WC[~>endstream
|
||||
Gau1->u03/'Sc)R/'c[5-XgKIHZt0q5T?J6K=$Qn(rmq*P;omS@/k\rBrMq'/YGe"@OlWm5(;m?:+1@3dI&W%JE%&uc6uKnfa;CX!m&*kBf>fJU:ZgZ8>7C%!f5m(G^^RhHT4^3K__;P`(qU2:4U8+9*5OtG(ebKHPu*7<hflRBe\Z`%PiK38PgoKWj/k7Adm?'a?DZPDg8sm+*m>%pUB]-P&>u\;kI$+_',/GZ70XiRNCJIgVmk,N.d8gZ0SPR5P>5mD*\k6XK0e%*Y?0fJ@OQI/XuZ4+=nOJ/*=-<<WX(()?\.bhD$T"Mda>%S1hoGBP?sik,%->BeTC.>]aLd$hs_-k%42kdgO!=:Md[Ya@rX^,:p4EFD%prDZ?g\V9r-9f8J\,'0(U8l/`(PTG>dghSO@p#*,V"%9mNSWBkK5T?K:^@hddT!^0D'/[[";gSn>pJ&/uO/YU_#m=c/XK:usr$CAnoE`oN0%8:@M4V/fe."m<)P1R3gN$dN/%@V<\l8J5!jQ(A85=.7B9NBs)[1B3aeSYdRMcRuU*WuKa.ZcI2)q-9R%>M2F70uue-o-oL=HT"E+j2s+P9VcK?a4\N]a"NX/@A778nor!"MePW&%cZ/K>:-7Z_6:n!HKL_GjdBH`u]B?Y>,@%8s8!5,RZc(7MMH'0?>3XT+CJ#ppgV^ACO'Vq$H1bPNh1>7d>A*GK_[iWj5bH\6!tcAHT:');LMJ?>9SNi"jP6FU&>qXOI\k+l8#ABgZ4.Pf*U!E<OVB/a;-!PXN-uY:'7A*tt*9nLPq/V+J.^",;/kr1O4fhaVHNHi~>endstream
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9$AT&MD_`PtL;Egp*cQ&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:ps&&=X(PCeL]7-s8G,Z6b]&CVFJ!om<]_Oaf@33/!:]XjY5-C*Ut>641HTb(JKc.+9~>endstream
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`Sh(gXlj:fa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B]'raq*pZH62`G1DsFgA+6hs6uHU'5'".RbXr2MH_7OtUjbJt$1U9V<CL~>endstream
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4064
|
||||
>>
|
||||
stream
|
||||
Gau0G>?BQM&q9"FeC,IOJn:p(%kh^W8NamB`[#VKg#F<Q[]Mi]*(bmh^OE5+\#_*D4X>R5V66ud\pRN6#f,Je&:HLH!9X_,>m_\c=KFcL3!g@%0O:4H3"Zcq8`g^]js<iHKd47+id3%[.g\&#;\Oa)-[[c;Y>:76ODuS:%#\u@;i=cKm"6f*>T#g5qjh;OeG9<$-d%OkIhDufp5A=@_=GhKQF\5%&u'tR=11c<#f(D&)ZpN#!n5nAWGgLF"/0Y#cN3B[Dsc!ri'+s903J.l,l:cSGf"/E0/Q5?F1`noo`V:PqVegd!f7R*V1F=ME3^n5o`U/l.Cu64&BLB=&CNfdE]d3a"p1A0FOIrk<]O%.`!-:"PDRr-JrkrLa.[ba!j`AA5FTOSP!mVH850Bpj(PbN[eY)[HZ&5bU7un08OX7"]Js4BU+??nl3a_0^o9*:-%T3uMm'*8/lLkg5SP%B+rV?#I`!Vf=$iXC!f8<N,[<0s"Qc8t9;58U;DrISK*9]F+39QHMC:lf9>qC+9V=o4Zs`T7WuOE+3*t_>G>.qf1S!0E7:,-[8Pn;!msSl&qk,cenT>U%l89gpI2S&NbP,f\N8:XB:SLs"X+Y-7lER<8Mp![e"aY4Q.BFp)k0p#BS"!?4=Cj!#=ENj<I;2l&aZqW+!'D(#`]*/)#*/l0%SZ>FqWS\l;4'it.u,q!T>TLOVV_b.$cB[7#XWHR#(^DL6hoqX/%4Z"D:7A46bB`sUhTG[OAOptn^*&77_$:Ai6jF6H&`n]i8MuoVMQG<#&DF.fkT`s*VF984to!A3u0jY=F!(5)t11`Kkufsg=82E*d+T.Rj,O?l@SFDmu:L^/%T#F_;#m19:`@+I4Wj9^4CUIHqK%\LcA[^:@>Y[Zr*\q+&+W2KPTSE#4OU>hqroDc1HpNef&CAbG&m@*UbZYpXriBputRa]5qWcHe6ER5u-"#NfH`;SRj>MDYs(thXE+A&\p,mMH7Z+ap;iB;.ME*>#8cJR])>:GPqKm$)\A8_GF523WFJY.-EJ41#"f0i0+9;d/[POS3Qe9cfkcNe^IoX.Lb663e2LR0RushJ09cT4gGC#LMT;>=5kfA_q@C4r3[#..?_IY=fquA$K3dm1'A/V*Mg3,RA*`9!ReKK+\<H]>kDZU#>]H\ikn^]MI6\IfIms*'ndM5/EjCc0YS#[f6QCs+,MAVgcJ7>/'AoKf6$^%)BZQG.!DGBq,Msddp:XB%.b7@'+B<=nM&ld5f4.]/HF,CI4M^*a"n0[6_cujd&'*c=U3/#1IPQO74lO4JsIl`B-1*Q&Ru&'T.teL*B568<i\5-aM)*Ck'QjEo:A13[5u%5q_I<B(.OQ7>JeO\oY6bV&a:0[-O``nYh/<i>N$@']S[djhAQIE[s-fkLO*7&3)Ces@Grdt:lr(c+=KcLY_\+C'+u"8=S:8(be3G*R8pqC@Te-"]OErL-DZcH/%cU#9#c`>4(0JJo5(nmB!Xo&Np3J0)QQM!%.:\iRD!,0CW"sQ&4pa8h69s'EbuCgQV"rbbJ-JKmh7fgg`])\_@]3TNQ2_14[>.#*&m]CU_l/k;jR>JC.>2,"=\4BGBVUBYtIf1!:h`TkJq/QnULdEe$J>Mja5FFgZVNanocOgDB>b_DYj,B-:.fZ'_n]6Tm:kEe+(EM'XgJe;)p&BRgGh\q]r)(dG*kE__CXQPaXZ"O3i^"/,,rUj7BD:5;<7d%=6PCMnR8ZiR7]3><?f.e7-+e+S;G9r&?Bi/bKRg'TBp1ZgO.gh[T:^nRC,\9/mBZ2H-=+V-%tt#5ca$U;/Spp/'],eJlLS*IJm&hCojUI<?H:XL7L?(se*@f*gu2D8s)RQ%rY0VeB(tU9VRqP!=j2,qk*P5qn0=h!g(R7&YX:iIXdZc@tulNuR6k>9bSFpNg<8@#JIA*i?alN"DskFdn$9k4XP`(8p6!nuj.<(:3+M3gn:-:$9^ac1q3OH?%HR5eQg%Z(2TUAL>jP\]`_/]iEHhp7um:qI3ZBmglbHkW=3]0.*HLqf?@g)6WG%jA+LlK,,3.RcWXQ]Qff>Q^@=.oO$&W[<6C:gXOe9=Nj]2%)T^Rb^*Dh\7"9'"SW;JES&CUmEObZF(Pt#-N%_I/Cbh14CN?KYk8TE$Oq+C)eL07d?e:>G]5:/cBWJHDfl[pPu=REfjgpd6;CY=9INZSWgr(1PW'L_.8q5'a)$PrkV]TbF9p'S@c'Mu#-^'9%,b(8[l@K@QnNt0F?0\AChVlr<Hg:Jn_0:`6jP/S>5cR#W,!9e4,`X9@F:hm(H%&uX10A=3i^8TE^fsUW%.]arW?N?]^:'q91.SW^$p;?/T%u8/P#U7rq6Q0COGj](d;P\_[NSLAEANG;RO+4/NiHXeh0,Nd4B^WoDF^HUI;pgU-&ne9$<F&)Xo,p>!"&$dkYJCg+g@/#TI_YXp7Dn'cVs/6$ZJ?D-XA:gtm7t1.N^h;%%0#.Pr^-a\'-GH%$]t-`q2g2%(gqqMc9&93>rWZ!Qfp;`[)M`o!a7g4o4oiMb@m?s%=`%T1dngF*H>TkMA?']J%hF4=WG*0dD>[iPDMI^r=#A0K$4BtMP?jr>WW&gUYfPV_h&+\PfN`0+R.%!',tmNZ'H4U_r(bG8c^Kt&1O]=TLm1*aT\K'6TZpgj0h9]&HYOX\]tR!T]E$RpuoX9h/P$#hS5I%O3n@<MiR15-O^Z)p!Nj."`mk0rYN`H4,39W%RYbAZFAfu81j]=j'5HI6%fIJ1YU744uU6GY+NEc:@da&`R&P<%k"UTGBA)aIHP7GnW))kgMLW2^D#IdCq&`6D[qhKH8-dI@3Q.1HCK?<r4C=D)#@Z0T55/eH@\H?m'[h:Vt/.$0)YZbcdPMsZjI&mt;1=f+3"Gf/7hDEF9TH/T@#G>t"K]3W4Spn'c2cX5;*:F^9qn`94Z#X1a._!QHe>s<o<]?AU@+1(:\`V"I>JKh<=YU_$4_Q-%E3?Bq[E/%Tc$#>`uYn&e2Q/fQT'q4!nTg\'n7J\J=27c6foOIpt#e8;X)]M?N(bk=,)nrbj?*LbD,2LDN1$(E6XC6"Y,<oXg`Z(JG0kgg*K=IAm.C*'*1PNnj7aUa%a1O0`8'>B`f-O`7Og!m'G+<Xn\[&K[!gT>M*@[<qD=1&VcTD@OB8@gRZRC80nW@K9$jPaT2gjAjpXEg^kpRRV""N>e@qGi\:&PXHlf^Sa<gZZ'C'<Xd:8>V56[1PKaKh"m_h1eHQCW4HnLobM/2ftqUp$BiI$Sb])`G(eds_`:ImRiDCDIVP52&eA"H;aD?F??Bn9XEjK<DlM\3t'r/g45rgQ"q\f1V?PbU\L/o<t6qk["$g#A4aWOOb6/"@4%te+_)`2fJPkp".4K)MJH(&B0F=LMl,h/j4r/eY#^?9UeP6:JDf\b*30r:18T8St*Z8O)C)jS*>8o=!KJSC@\QF,(hH><nK]OGYG:2F9l3P-J5TO`Q`Xi[=n.\ZDm:@p$[:s`F_Xs6'D$`>r8C6n'MilKCQ&-OpX`Hhc;R;=D,FAh98H@r$Y"g]2T_DViI2;;X[B5iqDB?WQj&(o:90\MfCIDMM6[Mc00[!eXRC#^:.Zdo^*jq?U9T@6>p5B9l$t"('i<nftHF,/1o<FYQH2r9tsQ(rbH3%Vqs2*,p(7kO+Y*lbOB\ACOT,4R$qcn2hMQ^SC*4b!oU,9eT\<S?_k4R/QH+ACg?6G>H/QL9hVlJ&]0gM#X2h%;<a`2.cme[K1;bD\C,N(=u#2+%X=)*LN(nP9j>&Zkcr:`Wj@J&e[7P;6-qVhPO!/"$bXJn#sn$p#acW=^dB)7K26I=Bp`2`?,]g5U9[=B5hBu759I[EO"BJCDq"O\FGXnJ9S\73Yhs=-rs`?%E61`1'onW7L+Dp0)],O"03bWdA*"$s8F![[o'''@8:!GB^Kp<pT,cTZemp`ueeCF?*be=1(G"$;)oX3>U$:5`CGEgd/1X:*_29g8T9eZ".u`j:l]mJ";QaW+_M"1:;<*fDUSkfm=?4Clgq[uE`LhKrW[%iU*QpZg`#19p_bVCf6)V#eEe9%R$'@6FoZ18B15nI[hubA,"$RMi?2~>endstream
|
||||
endobj
|
||||
55 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3214
|
||||
>>
|
||||
stream
|
||||
Gb"/j>B?:T&qJm</,JLpP#rP*cm;n#B4XZ[nO\+29<Pq+8iqci1biH!0X@I'IsM[iJhDR_D`1TJgCc47m[<LHB<VCtrYY1'1Bfc,_qB_E#(caZ$qmq"rrp"4PQ.0j8^:L,dnR`7\umZS()Fee9lCTl2F0-g28.iHX_s?"AO&4=nZc3F!6]7p`#pq9)CC+G7dmTSooiq&69DJdEHN%-^QUuA41AOc*)WombcM[[b1DRI%b2LkT0POT51pR^#n;;+DEWHS-t+Z,LaAq!$C[uBj\iDK46V0Hrd.YuTD5amOI/G:l*Y$dm7Ad?;5WLKibBD!+%WNJBQ1SS\GBdqZpq!9Y'Vi8iA1pKLmpQ>YSVR7g`MA;P%R@s$Ck[K;0U1]r+r&<E[t43DllZ?5j[3:^;Y0g1o9!NQ[('4K/2>_q'LojJ((s]>IOpI<E?9c?0GSeDaDV.K:)He$n<-Op`a7"2ueL76)9M4n)#u7N\_:d]ZVC9g:-&Dc5A1eQ]d!7io?+m0)Vg%FhKN*1H?=.V7[rhdJWO1c+hnU8>C!TGAPJJa[5b&:FtS%3F;>r:n,Z>L$,"P@a+fKOd'cDB-c[_8lk_P4g\&b4tap,7aWHM7lV/NTThl.TO'=G74)15QLg>=[_A'51EY#O3s'O[LNl:ZK&\R(Jg['Y>\VS7d$`'g!S+j0E;kcFhbLN_WEZe3g$cOK-^kLjWNVnr]G04Jd#/S0p#l1k@ssV\/][9od*]$Ci*De%c?q2En'V>\iG/aEQR8Ap?;&)G1]d'r'(@hS5bGZSJ9QnS6CJ:%X%k<dP"u%Fd>_^Q[>(fY1XL!@?8l=T^,&-YBko!9YZHT.pdC%"fNme-!@mYLk'7LAbkVN4-eKTU?6pDiC-8,g;t7Xd<`M&Y3qC4q2KcF@ZY?O/7'k)>*NnX@HH*$)L?^'.$c>TrqfU).)[^fO8-hW%eXGV!\3P9-Wk"lb7#")\WAKq#=g^4ClLiYcP=6\hJkp)?s1%\rMoY=P-VnIp+o@`h=2O.iV0*4WN?gV^R%J6Z^3<n#0<&?cll$_&9[\DO=-qUS4nFcG0]c^k65ZD6,JX[._9AfQGY9,@L8N<0djb,Fr/JXZJQ.\A1jE(il__?oX%/*D>"IT(&Oust5oDfL>9^iSd4b;hU*90mI%)V*<3g-t+3m2k38qTqPTRP"`=DRjG[i$&Tod,'BLpNLh"BDe,B2=lc9)CgUja#6:_o/sYuXf+jGN:Y#,q<jdc.LelLf/E`PZ&]d,e,tLADT)2;cn;$OqW"L/+h`CY3Oib7#[5EBL;L"02Hs`^57#9EXJeh>p&#<6:<F$1^QeP?!Y2!S<hGN#!>L<PRAl`j^Kg70?"@bPGSrU?jG^j:s^$.Dfn'2^"oV<^\]b>jT).=,<<e1<t(973]7%nC`jjDd.k\-G<0ofqs=jL$VibgmMeFqZ2KK`&tE[+l$G=7_GUQLK5RSRth7qcJ7=(<lCQGH]CLX)XTr:#7O+R!,kLO4XXdaDkhI?Z1*T3/1ZD'85Fo?#2X0T(ZM]MY0.&s3P$gbF7h5]n6Nu%C-%/$k&Q@?oaN9&O$.&*l(8g^("^r`o[&YIM,IA=p#&tq7<8++R(--"%.;9i"*\)s)U-Z6g%s'.6K0fIT[c%m$]\(m`7.1K!lPU'$L.0o0Y^&/^HaVh@;OIJXkI)8ZPl4fP74;@ZbrRG%6eY1BE;YNl:oO[h^tn3m972KYh6sGKS9n+QT;#".Wa*<"s6F-"UD.*Wa4*/AM\?/Oqp*@9KXLg,C#TRXsF`QB[HG4(eXS[>_Obt_O[N%N0oj>%&7VeUCa'p#p)VQWD*3.T(9$uOZ1d<6f#KZF]V6+Jl+r:;:^dXkP7aNmA8\IK%jGl9PDAu6A-uckq7'bR%/4c8mI?Pf=o#F&O_5X87"JH<j^Kf66(R"eh('ihk9`>*Y?=22A)P(_AD@f=<&peTHMfh56YCZbInN!d-H(63Kln-nnMuFI%3fsZ27AP7`cOmp..=fgYUR"q\$`%qc+O;MQ&R^L=Ya'Ol;U]hjiYkVp'jPc<uB8.9q$?]R6A3_a6UKW:L&OVkt.mM?IZYs3)]oMf%EC_G^FGDZrY0T-32j'LT]E'p-0"m4ZVkVV0Ja-8G7HUkpsk,f<K+X6lCWX6s9jZLpY+/RVt5G15cn'W2U>.h$^6r!9cU2oA\^:2RZS.P?YSfIsT<DNYn>=FEE*,Ej]8PXXPm7MBa(q2[)k.pJ62Lo?TH(3;0L2Zmr*f5BTk_62T&\5D^4ile<F2ZmsIqkM)2#Zm$/^@Lsr+Rt`;P-6'W<6'G16Vb\e3,#D[m1dG[?H!kk2J0I,*9=gE,Q=7EVnf+']d>#(c.&6;me%.S4tb.tI<";N:L+YY%JUf1QQhZV(/0=0j$8)9&D`A9Wr-Z&Kb&rP1>)'FG6`cPTH=dFoqLr.8:s4)((%q9XUWH0#\V3[)#h-H;T/e?SU5r(f_mi4FCKT#7[<)gisS0nN4=Z5[$n;Jgm8[$\YJ<V\Blk\cfZ;_$Tt^Ti"ACOJ3&Bc+Kc3o`&+.dTl'1h#WmBAj<3e?oBh:'IkoIuIG;q%"SoqXc/sI'd-DTagA@SaW8#K(-)mRc6Un!Da`at>5H%h/ebSNRX8TTUM5k;O?0+*E@$#b+Ds55dqW>Aea&[A#?s1Nd@-)<c=cH]]s*QRVN$;$Y#W+Q9iZD]pAtD*=o$s?b"r1V!d.Q6Mk+XN.on4^Bb:=[?Y?g!;kC2#im)!AjhiiVl!m>$Q.4<n"@TT$P*T%rp$(C,<cH+q#!.'941f:G,j.bDebK*66JiPuZ=e/`/17s08X&f,3K,>.g$MTd_\a-(tY/JR!&P_;^cbjKZp[A^<%V=D'-c-m^&,)l*[])(9RKZpkYBlgqWhohOIlJK4@Sa>OIdlLfLkoSaJiJX6H=Ys?Z&j@@`H<$;9=OU^kK\ugSZ2.L3fifXpG(IE3:7jH$rkMek"G+oLSTt-&KoUYcj2l*E]HWEo3%)\>7N^WrN,%'kXtcb61UJ]RWi)0)_IrFp!%W'HW`l/Mg=ji;6TT&Ej5`3iWEK@E/i2PUA_ObrK^m7AA!,=NRN8+fZ,J&pg8U#CqN7h`S"A`d5kABP/6),PMI4K/[9r+'jn)0cr[m7gu.#NMK]Z'em[<:_=kmoASnj:BPgS[eTbN":</bh[8saF"'oI2HNb5U:*5csk[I8Q[TV4@#/Vjp2;9f'n`F5UL'ZSe:aV_1+5sYRVu~>endstream
|
||||
endobj
|
||||
56 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3164
|
||||
>>
|
||||
stream
|
||||
Gb"/)>BAfF%Xua-d*l$-Ahh"=jua5BB%TH`#0?5(;c?+BFp$S<gLI^63PU$n^1#7)2T]k(_^T1!G./d*Um=3D/V/^".K4+#!3Tq\^6([D@C?;1'i^Q[?nf4fE?V/7oo:.EOp6XnifC7"O2[ml'<EfkS>:6me[g>`aZ?dS"Tf%SNu(,a(QFF^jmVgbS9s1f*P-Li^_AL=%&]o,)mSVtT&9ssSOD,i'2kt5Ht'E.d,iS\NlV8gO$#bi=u66"$Ua]<q=Qt0-pelU7_1"*h`lL=fcMpFaOu!Zc^(E/aFZ&0kA[$K?f**/%<3WPS7&#jg7fbX]3bNp&.h=IYr=SYPq7aekUi.O$d"e'o8$!$N&"i"o%J.6/gMe"^<r,&b<'5o5m^"c!#hZ.l,/i8f.0onTTph5SUR!a%/P%Zlk1OF]YZ/f,(F:"N1S@3cTS8qX[S^/rL,?Q&5_Zml!Nr[*u@762H3D&o(V4gKqQ8']E:RS,l>c9.Gi-i"2CI8jMU!FI5/Kr1ChaOX24l9b6Dpp'aF.W)3ErtU(5Hs^ISZ[/*TgZ"MLRe.N"Tt(kuR?'crs>)M4JS-sIU4J]a6Grgc#RB@ko@QRj*`[L9(>j^cBmPVQj_X"_/h-MK;oQeu@KhgHalJgh'Ufmk/hN1/Npcs7]qa/Put;Hs9`/3L@qON%lb\/'fJPM/ehp_h_Q])9ut?)/Yaos0/n0E`mR'IClSGY(\o`76-VM3?rp\u6pq?9J$:\Fo=h.)`<g:[-&"J[1rPFUJ$LYp1cf!eM%TEY&XRm],#T>pl?g%d=_-6Ghqj7Ccou6.f!al0?\7FOa,4>t$8;6*o*?`'NePFQ8$&T1Fc9XkY'9_q:'u9oV!WSFDaT(54'_olI_j2U2]?"`SemSo'l@A965+W#5r9=3_DMi0V&!htd^aQLE2K`TF-#;ridgfBG3<\buMZ9$?ib^5\8ZP^8Oa09G`[pMt@h#.Djpp*-d_X5stK6*->cBjEr7kGlW>nnsmNoVS)9QD?-?6lXa/?\LVIX.]84YcSWTbj'=.(F')PcTE<!1ll.YO444QP=k:YGS20n8.E&F-t`=VD,G3_CF>Jn]6t1rUL6YeMHaO%/J6=YZ$IbA]3/DQS#SPEG)=0?StiW^]^PNM.f.*H-mI6`Fn40&%\H>hDG/;RDgd5de7(H#.?"uAcd">.lKd,8CG0.99.cY*q8NZ3KHXPE@U?1I)L:8B<^Ur-e,;#VO;4<_@\*.u,?7<eJ<%0.&b^ac'/)R9s->cF+;+48C`=MWb<93X\&]tun*DH^F3oq2p7l/SHDlu()RJO:m[G[MBt%W8$8p"hi[:_![M'/f;+3fLWVX`[T*1#eLVtbd7%f5G]ZLEiAJPL>.N:Wh=W"rTC]O!8@0!M%6;H8ajL"OD[;;s8$T>+3$Bj7GNn,ABNhk)08'RZ*DL&@K(KXO-_6k?=P<n[6Fs(V&)MO<NlU"*=p#?Z6C-J>"Bf$3R)u<mV6MN"4pcR#HN]V_k)l]92i)ihr):]IQY+8F(BQA6ln[E])l5([kSLh$E1?=1i!C@\<Iq(X923-l2f4.L"(1!*E@C=J$HRB8Ec_f[55H^<Y3SCFnf!q4Gm:"X;j^MNV;YDon(PL30L:XHuZ`c+$0aX4AS9Ji)r^I]f=oY\hd8!iOfLNfK+#Ed"nTHkF48!=^Uj/85!MaIZ#aIp=@\/OLK<?,Fk#`_2CgbBS"C]k?oN^SP9jkrmal>jg*`U8E*C_L^1AVJ#d'mrodm@ICYPtCoE%9U>@%h<@!Y@=2:#i6g#_jNF7in\+jV&Qpq+4Th[^0l=_s`jn?4i.u^T&'J=PZg?T$pO65CD*V\/!rnlrI_>\o0tHSZ;D'?M>dfjKV'Yq+4o=`.HKNYP\8;+1!!p?FT<_LJsb>D<(&tq\Za!fPX7*K!5uOB,(7W5>9bW&:[@p_!t+X*,!n4"uba829'%5M!jV1D?/qm?%&O#\A>[!N*>-kQghXOcjK3#`a=)aRmCud0H&)Q-A0-a#>J*DL@"3K252U1^6[m%*;Go]g+I2tCG0CmDGtVdGoufsi[+srTH!?VJeu5/*P=$2*H!bl#]ZE^C]B9G,t22R`fU5bY5t>L!mH'o,W\ZJ-*G%)UA-S;@0dguU?Q\^_j(!CLn1^YWQj2EpGNE6V,j/;2A[icH%o'l#F@=sEe9+!'bR>Y-E"XNCCGKf*RVn-AB=N\g)Ji#`2-cSrc;Ehi.tpA?_u=iQfSmA[*&f0\iXc1m^A*t'`S*lE,2nPUVKkA2*obgoUcg0m4<IB,?rh4o*GkWCZYr5V0jq,/`L19WpZ:sRP%-d3$Jd1I]_VAA/ODe.NTo]#hN/p;R]JiFcMt>Xr6iKcg>m(/B*ql_$a;?8%sID@ds0Y(jb3c&,R?l@'F?8!Ud[\;u9o5^:GXF&$?,Hs2sMjPZmY^,lnGXJ*iTag7.Q`M]Y6jVd%A,e`tnhP5i[)H"[_,Fh6K"N)_l[)%Bin0T%&j".lKaaeA:2bZ`C$<]l<5Cc'BHD]f@#2;$(:>?<p>S/jc_K/JIG9PX'_e@.&u^W=IAF#G:==39cUEQF0('S!BkL)crY<ZTs`NY<WFX7c/^G)/'G=VU@1&pV@K&0J%U2fhMU5*86RM57<F<m<a#Y?GYl-$BPYn>n$``Q9KD?'&l!:EiYt]@ue,?.(e0KZ41B@P,bZCKO5-'u;lJW.)8":F)+5</Q,Q7MLKU=BRPneB<:L,\ZXE]]%kZ59eYKCjt4J@JYEj5C#?p,e!#<Pf!j1^WnLMg&,H(s'*4c<C$<99\?"bm"bC[H(%B5=EtNg6L&eZf+saWVSaF'I!nq/H*U[/j*@?lmUjnjf2ck[Rm@u,#kNGinQ%MVY9_3n<M(Rq+LFdJ'i<e?+-CD(@PB,V%PtP&LsfKj40JL%&Rk_@9/QMF./X5*H5IQ%DX5dk_7;7*M5qmP:<jIV6dV>n_g0!US`N1DUEkJ,rZ.-ei`'nsBp8PpmHn<0+8/0.NEH*8I+TCu?f"h_nZ&HgeAHP<EcOD5od73\4<Ct*&(<m-q2MP8`<W`;6hsc_&Hi^7^/[8hj2'OkiRh24J:q]sG:Tc%J-@i6;%D3XKi,I#<mgk^la80"">gX=9BAb#P<^g$8MYB9IrF(\0ae-_BcjK#MP_5BeA3=tec\^13jDYN#+D9m_Zqgn"F3m2o`~>endstream
|
||||
endobj
|
||||
57 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 512
|
||||
>>
|
||||
stream
|
||||
GatVZ@8#W7(^KR)q\7@,fc=C8C>6[nnQ*t%ENY9'5mX`T>IA<_dd>\r^K@u)W@nH#cp42`kq@Ml#1!b6J+FT:P/Grf#4)GA!Z[j5GQKTA]oMT"B+UenL0ak5;A>^0"R_d1H[XQu8$9aYX6\c?&:!%*UjYo)D'=K#""".'n#"2p9]Ff;G)tni*djTq7-?5G^uN#-MGpaM>aEVIAt5DYU"W+WiMk7TIfOs&rq"AmGN1b,Tu]=@pH)s>[7K?4=j#cH&EZI9's*rp('cfCEbnL#;Kg#sR+PN7]9P-P/<+IIS'm2&gurX;oue*XkBk_,'[W0W0S\Z@XF/?T]ZB\M>`1Sd@Ze4b>,,;=AS$R$f<mHi6)pD]KrS]_J5N`B'Z`C<efI'cU(;6m/)8#Hl2F"2.U.`)*D<:-?HehYi[gSED?^t__!>0)A[_inXCRNq=u@>EHeS8UI:?QVL]eQY#X6T'0b0EU'^_LA#C:Vi&>k,4+/0<Vg>?@5i=+q"s+/Q^!<hNM~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 52
|
||||
0 58
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -316,47 +367,53 @@ xref
|
||||
0000002433 00000 n
|
||||
0000002582 00000 n
|
||||
0000002698 00000 n
|
||||
0000003018 00000 n
|
||||
0000003096 00000 n
|
||||
0000003202 00000 n
|
||||
0000003286 00000 n
|
||||
0000002776 00000 n
|
||||
0000002882 00000 n
|
||||
0000002966 00000 n
|
||||
0000003172 00000 n
|
||||
0000003492 00000 n
|
||||
0000003698 00000 n
|
||||
0000003904 00000 n
|
||||
0000004110 00000 n
|
||||
0000004197 00000 n
|
||||
0000004512 00000 n
|
||||
0000004587 00000 n
|
||||
0000004724 00000 n
|
||||
0000004825 00000 n
|
||||
0000004930 00000 n
|
||||
0000005058 00000 n
|
||||
0000005175 00000 n
|
||||
0000005289 00000 n
|
||||
0000005444 00000 n
|
||||
0000005569 00000 n
|
||||
0000005686 00000 n
|
||||
0000005813 00000 n
|
||||
0000005929 00000 n
|
||||
0000006046 00000 n
|
||||
0000006161 00000 n
|
||||
0000006277 00000 n
|
||||
0000006371 00000 n
|
||||
0000006460 00000 n
|
||||
0000007422 00000 n
|
||||
0000011539 00000 n
|
||||
0000014875 00000 n
|
||||
0000018066 00000 n
|
||||
0000004316 00000 n
|
||||
0000004522 00000 n
|
||||
0000004728 00000 n
|
||||
0000004815 00000 n
|
||||
0000005130 00000 n
|
||||
0000005205 00000 n
|
||||
0000005342 00000 n
|
||||
0000005443 00000 n
|
||||
0000005548 00000 n
|
||||
0000005676 00000 n
|
||||
0000005793 00000 n
|
||||
0000005907 00000 n
|
||||
0000006062 00000 n
|
||||
0000006187 00000 n
|
||||
0000006304 00000 n
|
||||
0000006431 00000 n
|
||||
0000006547 00000 n
|
||||
0000006664 00000 n
|
||||
0000006779 00000 n
|
||||
0000006895 00000 n
|
||||
0000006989 00000 n
|
||||
0000007099 00000 n
|
||||
0000008039 00000 n
|
||||
0000008944 00000 n
|
||||
0000009174 00000 n
|
||||
0000009402 00000 n
|
||||
0000013558 00000 n
|
||||
0000016864 00000 n
|
||||
0000020120 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<800c79e27ed019b09a790354c7c3deb4><800c79e27ed019b09a790354c7c3deb4>]
|
||||
[<613132d6179351c563a5f385a1c086cc><613132d6179351c563a5f385a1c086cc>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 29 0 R
|
||||
/Root 28 0 R
|
||||
/Size 52
|
||||
/Info 32 0 R
|
||||
/Root 31 0 R
|
||||
/Size 58
|
||||
>>
|
||||
startxref
|
||||
18557
|
||||
20723
|
||||
%%EOF
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
# Tickets, Gitea, and alpha smoke delegation
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-26 |
|
||||
| Last modification date | 2026-05-26 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | in progress |
|
||||
| Document type | technical |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 5 0 R /F4 12 0 R /F5 14 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 5 0 R /F4 12 0 R /F5 13 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,7 +17,7 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 716.2874 172.853 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 762.0394 172.853 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
@@ -27,32 +27,32 @@ endobj
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 705.2874 199.845 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 751.0394 199.845 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 45.68504 694.2874 167.949 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 740.0394 167.949 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 59.68504 683.8499 130.545 693.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 59.68504 729.6019 130.545 739.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 15 0 R /Fit ] /Rect [ 59.68504 673.8499 224.3325 683.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 59.68504 719.6019 224.3325 729.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 663.2874 192.861 674.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 709.0394 192.861 720.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 16 0 R /Fit ] /Rect [ 45.68504 652.2874 154.637 663.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 14 0 R /Fit ] /Rect [ 45.68504 698.0394 154.637 709.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
@@ -62,22 +62,12 @@ endobj
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 28 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 27 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Contents 29 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 27 0 R /Resources <<
|
||||
/Contents 31 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -85,9 +75,19 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Contents 32 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Contents 30 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 27 0 R /Resources <<
|
||||
/Contents 33 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -97,84 +97,135 @@ endobj
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Outlines 19 0 R /PageMode /UseNone /Pages 27 0 R /Type /Catalog
|
||||
/Contents 34 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Tickets, Gitea, and alpha smoke delegation) /Trapped /False
|
||||
/Contents 35 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Count 8 /First 20 0 R /Last 26 0 R /Type /Outlines
|
||||
/Contents 36 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 30 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 21 0 R /Parent 19 0 R /Title (Gitea \(/app/androidcast_project/git/\))
|
||||
/Outlines 22 0 R /PageMode /UseNone /Pages 30 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 22 0 R /Parent 19 0 R /Prev 20 0 R /Title (\376\377\000A\000l\000p\000h\000a\000 \000s\000m\000o\000k\000e\000 \000t\000i\000c\000k\000e\000t\000s\000 \000\(\000t\000y\000p\000i\000c\000a\000l\000 \000D\000B\000 \000i\000d\000 !\222\000 \000b\000l\000o\000c\000k\000\))
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (Tickets, Gitea, and alpha smoke delegation) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 15 0 R /Fit ] /First 23 0 R /Last 24 0 R /Next 25 0 R /Parent 19 0 R
|
||||
/Prev 21 0 R /Title (Console features \(implementation\))
|
||||
/Count 8 /First 23 0 R /Last 29 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Next 24 0 R /Parent 22 0 R /Title (Attachments \(deploy\))
|
||||
/Dest [ 14 0 R /Fit ] /Next 24 0 R /Parent 22 0 R /Title (Gitea \(/app/androidcast_project/git/\))
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Dest [ 15 0 R /Fit ] /Parent 22 0 R /Prev 23 0 R /Title (Google Workspace \204 phase 2 \(not implemented\))
|
||||
/Dest [ 14 0 R /Fit ] /Next 25 0 R /Parent 22 0 R /Prev 23 0 R /Title (\376\377\000A\000l\000p\000h\000a\000 \000s\000m\000o\000k\000e\000 \000t\000i\000c\000k\000e\000t\000s\000 \000\(\000t\000y\000p\000i\000c\000a\000l\000 \000D\000B\000 \000i\000d\000 !\222\000 \000b\000l\000o\000c\000k\000\))
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Next 26 0 R /Parent 19 0 R /Prev 22 0 R /Title (Agent / engineering queue \(from your list\))
|
||||
/Count 2 /Dest [ 14 0 R /Fit ] /First 26 0 R /Last 27 0 R /Next 28 0 R /Parent 22 0 R
|
||||
/Prev 24 0 R /Title (Console features \(implementation\))
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Dest [ 16 0 R /Fit ] /Parent 19 0 R /Prev 25 0 R /Title (Open tasks dependency graph)
|
||||
/Dest [ 14 0 R /Fit ] /Next 27 0 R /Parent 25 0 R /Title (Attachments \(deploy\))
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Count 3 /Kids [ 13 0 R 15 0 R 16 0 R ] /Type /Pages
|
||||
/Dest [ 14 0 R /Fit ] /Parent 25 0 R /Prev 26 0 R /Title (Google Workspace \204 phase 2 \(not implemented\))
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 744
|
||||
/Dest [ 14 0 R /Fit ] /Next 29 0 R /Parent 22 0 R /Prev 25 0 R /Title (Agent / engineering queue \(from your list\))
|
||||
>>
|
||||
stream
|
||||
Gatn#?#Q2d'Sc)J/'_]eFTrcnA9[uE26Bfh'koUh.Mj)a#&J$9S+?#l+Doh%fgMm^&g2Sgo:5Q&:^D'gr`M&XV`=lY$C!h?#9&dCngh5k7unnkA/THOA3>eo9iDZoP8MX)2@2/TnH_ZB8]!:dP&`I;.G/BgGLEU_'_2H60VH("_-#l.OqF:i1r9.'KQ4/PV=a0m/sVd_(kaM-eEoSQCWo[C.;N&mYDbYsquQ@anG2G\#lFeV53RY4rW:>33_:ad^3?7q_Dg,Sj%!Opm`-'$Vq*\dIm*[POl,$o]KS@UIW@fEnepaX*'>Mu97)]t"qfZ0$s/dM>C"n[]]38Pf+Q:I$DY;ah@0J'jM0T%oINqlb=$^GI266L%Rf%UQqM3o=U=3Z>&,0iiIabu@!4AW.?"bUFRlH%r2/82d'$YRL`4Q76']e!"k2\[_&;:Te&L,]iP%4hE_%%hKH2P$1S^MWeBXo[.kA4K<7BF(_'Jaa15I<)57`a)]kRnk2f5hIepC7F3eWNkP\k9gK/h;sEa0M]Tf0ZE?+O&N&n[*!J9c>O(m8Un@B5\F#9bE9l,rr>=J8e%5jCsU.BV#54Kd`P0urm'XK9[h6EQb""NJ>HJR,`_K,8FiE7!Tg.<VnMb)1?sJ0U(G68SJa\X#W<Thbk7(r5[e!5:ma$Me8Z%,POLiI&I"5TM`%o*7nhP_P\!.K!6;O0fDp6?mIM[P\iD!=Q_YS,bkl$Y(41M&8^3!W56mp]~>endstream
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3992
|
||||
/Dest [ 14 0 R /Fit ] /Parent 22 0 R /Prev 28 0 R /Title (Open tasks dependency graph)
|
||||
>>
|
||||
stream
|
||||
Gb!#_>BAQ/'n5n\^eCX^g9+/4i'imDgQ#daflWG1)`uk>GfBiLOG&uF(_Veol*S4=#N/#b`N,0hF>CH`"n:I*chRR^5W\g!eGm3>6Efh(oZBE'7X#5N=IOs3hP&PF7ph:8I&:IjNbdqrR`ui^ldcL$48Q()JuP.oh<:6!CURq]m1\9C2UcfX@tLPfNmk7dM`'<Im.Lao?;C99"QCAs7LTCTXV&QN"k,!'Sel-@8+@3dhCq5%\tAnNmQSMk)pRI=A4iS08jYc)bkFXP*ho$OVOj/-R@*,X$Y#=s+4N5nJ!!A&XbB3m"uS9DLc&E-B^#$YSMHbJbN)Co(bcJKqY1OH/"Qr/MQ'/,&7sYsEqfPRLd7,VM?KcL:Lc4NT'XG\4kB#u[@@>\9H,)m[O^&b\8IO..SWbmKUob]+>;XrSOR>!64:Y^"Dq0jTLc.4MTCsTJ.k.-*P_oiqS=X>1fTo$PPmhR-$<PC$!O6`5V2PZeBbWud`70"eM3fPEeqGOX3Fkn3hNt][X>62Lm$5dZtH*bo]KkHa3/pMSc"_#n4cI6m*EFY+1pPfNVLf'"sj%6EZe!pXEqOWqTQ'W/dsLM/7`m=n.<9Z]cY%fVQT63hE8T3*7sQMB!_!hI'qCl5@.^S4if>U)'*ChDVf!8U?7TN?!b91J,97+gYlh]U:/H]>Joe^Xgr)uX4MIredN?I=no(D4C$A`rb(YfpD?!`\T:r($hX5lndn)6;i6ofO+jKa_ha[n0o6$oV7=Z"VJ#d$'YL(JO.R''(3rql$'JPtAK"Jh/U.]/:.,]\i,LD4N=5DR<"<5uO=b,i-S:\S$.L(r,_ND$@i9,dTg+434[$Q[lhN@R94b;W-%^k,G%u>V2.i<9BEiXL+pb",HaO#lYPculEG$]\Ld$G+OKpE:XtM5f)GS,"K"4.)86HHh%"O4FSh=+;,u38Z:'B`I[#3U"K0JJ3I9D3WXHBudhNQIA.C+)$Y\)Gnffcd7>oq1_>k:-)h_XmAo-[B5`U3%9P\PLnnkECMS!\uS1Lrf/"u]MYomk"D0G=m!,>aT%TQ&gnd^18o<O<8[)UgP[ZEfBg)*D]#,V319Yr0J&#.WpQRCBVX[VM3C7^e!56*qga=bF@X0^hRk<VI0s&i#FMkjfHtr`8OTjc!;ADS/&_*Wtgn%;?ODRBAQpN;)Ld\"QJWLrZe)>f>R522;cZW'=1o#:8706sJjoRWoVFOe+\?-irLf.>"pBb2`o%(5ho7kpiNiRt[AdNJ]!MmUFX'O_2lZIHD_jB&gF5aSHXof;q!r@'3o?46QfV'38E:"_c&.`>m@+bQ5t#F#6>46M8[a/]2=LCPVI#2_ElRGW,#eCX3JufX,u_JT9l$$39(uro606#@;2WS_\V>X"+Nujh]mIAIrtYYlTF?K)#p[ig#Ib<m'(5R\MqL0n6[,CYDD6Zt>c'c`KP_?daHWM-rHIOfsq0@F\cpg^Tg[<K6:D`W5suVg<4j:qknqVUTmRQ"l]Jk3[r'lupeLY@lTR,tgc`(J9&<8*C$<=%5,[<VUP3lN!+`r%s>"0ijVsMG@#8'i*$jL&+hh;QfK-,[%Nr!.!3:X'n-+DW@^f>Q&`7>GKI:&*?gIA@"]ueeA.@M3;@6k8QrVa`4;g"_dMqTC@8ld%oQL"_2'0pZ_6\8jeY4,CW3U^r4D6>4[hAVn[AJb?qU4*kM1ZXS\8,AQ>0i'LYOJ@:%P&CPVWQ.BP\'kdfMfgk+fTYr:@.V`s,Yin6,+5aKS0PfV.Chg>Y7,cu9>IXr[Yd==M!3CTR.&7EQ!FKqKE2K=K4kFL/W6_h$1GbX@r^J2^HrP/S@5^?Ao&426ZBgZ0?Y^nqZ*CA?cM>n]A<=38!L@BcjXoS*K<Eeu*Re<JOhODUO9YaAS[X3+1POV&eBDj_CB;:[KXl*&T%TE]AE:ea.04$oemTGN!c.u12L?Y-J!s7<t[SrNH5nDmP79-JC^OVc"`FHJY?2cF8^G<"4l/]?hl)jif&H"m\H5@iP6AZg*NL>WBB+Ajc<dOh3/him\q7PSgE)ReD9U-\K'FFm:O?Dp.b%CNH&6TW(+EGNGGUlE?8^O*`K1LRAO_!4!BA8f4-@.mZP;)BW$^JHsnBMs[8/--+-3Ms24??JK5g](PSq>N,[L=VW3i[-O+FA"$a5cKnN#2ka<\-O#pDV$M48ejK89==FZ40e5r:oC[Yl1Fe`9T#!PE,aU<C;(T5i;B@Y=u#kBd"`6F`ds2b9;D\eKK/gL&`f,7c:6_R-eiTgTCW<\2"%[`;j<%aoFO="*eGf>c[sBADS_'.Nc)C@6Dm68WK,JgMt]J1-^l\j[1d%>MH$6A^!">ceFL//`"t>q1R/-2A^D'3F3rm-]iT#Vmk*2QjBYGJ/45;P'U`DDGfMoXg3(:Kr5C6F1-0\"8U[^<m@%4:)LO"QA5oQ5k7UB&qWen*<fD3M2L#IXAJ7+iL+"T^2F6Jf6d6dgdCdFSGrI(qiLb$Z[^"'3sX,dH!PN=2i$26G-WP3?Y),:!)uFO^'/.@lZp2?HM?9R1VT(L4jWN$lOe7=A5U:(/GBL#\KP4[J(8E*b4kRBAt_<l>fK25qbC\PQ8A4",cC<\)b;^p$hjK-CP-?0oR%_2eMF!'Qo/_3F`qBcfeUhkJGP+eDUjI:&^kDaa(16L2N)GQ4@If.&>]\mTf)=?/-9JmRZE4pD>3^uHT(rI2WWh<P,#o83R;WT"LU^CE>R0N-Dn_Ja$87fa:JBS^:f@d!AiF?77T4969H02^KqQhA16gKaVterkh(UA6Ab4<+7Rm=i$U&GQ(ieNXTD3ij&'baEHhur$G^AV7]"p:(+]Gmr=L/fps]I6[iKbOqIAO4hR?s+k3fIl@o`#Qo-H46[j_u;.JeL6I@dHS3pT<$+/=`/&_$IgGZ\rL9IHCpTul:Q/!<^G\]8rL&k^OrL!oO/\3SqgkB21q/gr*Ui.;:ZGGeel\,EnEe#tjfIbilFfBk.:0R#4%\]"\r#C>;8nh>8B8U"sBF5>Q]@gDKRG1s,A@`p;Me6L8C>BdRG[^l=1-02kVHl<1dA]Q;R``BY6T5S2Mi:36A62_`8P8=1eDf>>/)'=a>and=Z&tkF&`LI<X&u"RoULLk4-UaS`m(\a`qWacqF43V\E>\ON+>R4=&Y)N<AfpS;9X[9&0PcSl=*t[UPE0C`fpqh*OON3Mrl##$M_;#+<25l^4kUjc$X?*Km0;>Lh-`J:\i46-qSekH1-_A]+]SZVV!+/W]:3#M-1D?)M.X`g/K^-B;AWlSV"0W>P'bO\go_d+aNoD4Em*ArAmadWP5-Ft4icanN'?TK&Cuh=&)Tn$.p3AU`0=k2=*#:_OOd)ah04nD^[gi\s6jZ]oWc",,-Q$]YAEZFhipNFT:ct%U;&G_kD"no"*=`62sY9N>j(77=<NHV8$`=>("li0QD,#;;L_6Y)idp<eWphGKR!ILbfB)$<)WMI7DMhDjgPJUOXb0f[ib]pNhOguX^4CXO/J\a&#-YaCg-kX%G-`$lHUO)%H$fOfOb->K4:;noa]ei!8U#O),f)SR=#s(/jST=P^='b5P<_`g29]O7[&9/r`QU>OGV&p:jP5lP)0b.AsNbb+"A!8a$_0+/;:PY0GoS4ZWs8O@d$@.,dg$lX?f6JSTB9^/>\6>E6L//YY=4?l3'D9'nJ2jilfm!q8Ku7MO%cVq]imRek/64Gs(eg3a;cfOG,e6p.,a:#gr7uK-jD&"aE!0)G^$NqC'15bd_["jcSinE!CL6#eHe6>7om-`Z#4jrrD,#>m*NTMp#smDZVRg/ZL0$mP*j&c>,m%'f,f5pa#%)'qVq42ObXta3UYW%2T[IT.G?s"UjC0<5R[A".45<.T9l)!db_KA]H$FhW!WYq#LNcR`M\`&n4,;UnKiR+=O$),fo#=$e\a08,l]T;W0-*U(h:ZhNO=hb?)aT9N:#D6,2roXXt2Rd?jAf7UK2I^5B8:.eIJn9/`^YRgs=#VZO>Lh0G$8dF!FEE,%pt~>endstream
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 921
|
||||
/Count 6 /Kids [ 14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 857
|
||||
>>
|
||||
stream
|
||||
Gat=)gJ6Kg&:N^l7cG^.E,<Q2-r6uI"XPEC(o\$:dFK@GMR.)A2i7,"SM^t83"]k8aVW4Gc8fMiG/0uuC$s(Oi("43)[@?!iX?gQnfT!jFaWh-jLfhc^(joJ[Kg4X>'BA_UGt#-TX-i*E?Lj(l^Hc"NSAhnNR\6$6RU$=CZkij]]=mSj>jluEK9PDaeY<?9$AS\V:*[;-P6<3pmV<SMlpn^!n["P"!N:_in3BRCoCWeL>l=^A2#\V;s2dV'N#B1j2$*9F]\m?>rREAXJJJN$%`k[ku)I[Kj*K1`$H[lWT"7!ek@iYd.!IYNM'mpYkDJb]=VVPRZ6'6j-.d/Tt(?FX"#o!<_8!,W($<be<#J9"f7X:B-8q&@];0A6C1iC]^aOR4sLS8GE':@i"`JrbW.4I?-m@m0SmS`FL_olcT/Xe]f+oBiQ:Y<"cV)i*DGpaWOYF^_=UujF*^)?p#=)NC<'8;+6W@S_EKYqSm=SUI,`i_mpa?gcuY6:B:`[V:`%W=-i5=>Et5Cef2fa7-0!fY$)LJccs\>CGj8'IB=5<+"9d[2kphN@?,:dTjsI?IG]OR`)3B(nW\r[hP\V@I?GApDe/rMg1$7$/+D^,#3g_Ep+fI^Y'l[pA"\gMu6>?[lOIut\A4EDoS^fn\#j&n1H(nQT9O:P6dRhAnB'*lmPJNWO4JgT,bVj/=/qn\p.^@b;4Pb*i6ntSkgIe_%OIJrP"f(2r=gj@uG%eFp(E+$s3Wu.kG50Cu_RN(A=O`7\'PfLWAf,U2lJcSe6"!pUp:RNu\=;TjB1gXCeeR6&2cXm82m<D]@N#\'\']<gE&W6UMsmejX]`4?/Do;1a4IQl,pW,i(8UK]H8LVVa2-g.k<h):h%**Gno00V\:FSB&IPW)(*#K<]5*[ja&F8]c'<2,Jtmf2:)CP~>endstream
|
||||
Gat=*gN&c;&:O:Sm%^&,'s5gd*o5VKD)uNMVQV#[a>SkU(N;G2q[+=eV)AO=`n$g53IA,:8W,i._r?.X!do1MjoGK#\4](^34Mb'muIC+n7*d]7,!65:eD=73S`POR8BAU_?+1,Ot%E,'$T;?a_G?Gn_clf)]BM$:uj5Gb8iQ#&X"SWm&gk/2d!`X/A6eY+Of1)G``NnB"RaZ%HCM!^>A(=QN_C$$/?>9Y@,dh0S5ok4!n,T&X@#qd?+_%^+J%_@P8[Ar?a3T+*`D-6P>14I_#E#n'6F/ISB4E:OePS04f:i&;i/G'ftUnUhsRU66d@0fK4^)jY0=EAqr'N&gdgRBNSRYcFfE`(d0d4'SII[I>O]]R@R!,eTkJH#qnNhCL%X1DVjC*0X-Jr@/li:1MH0bOqpFP"CpPm.+6;lk>n67V_\V_&l);1_YhU3lu\/rNm@7/@k#pqi=P;bVn6ac-U$%$!HjXG&PSNtjJD<kGP^BOdjIm"m[8M3db69o>5/9VfHF6(%`<.XM[L,E05GLn&\Z(&0ZrI0M@#Ie]&hj(4F(WF@I+6B?nl0m_`dZr!$<9WGiBIkXa?R<U"]6(#A`g$k5%e"62#cahf/![qnXoOL_(&VcogX%UVhq@#e!=;8p$MF#Tat;]6LRgFd,2c^?qV@0Ror9lc<W6jp:]_o6V>eRjfs`3R[2*O/?B;^P=a4XPTcNEs)$N7-b'2(oF]t[4*JZnsZ7i@MN$P(t;9e69,L:;diW-U+1h4+Cp2a%0WjG<Wcd\F>[Wp#ioa8><2-@;6KTf<0\e-&rAN4Vj8`kBSt#Whg.1$,!Xr/=u$@V&[]g%b6/E5G#;+s&T47e+i3@af%YR2~>endstream
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 692
|
||||
>>
|
||||
stream
|
||||
Gatn#?Z2Df'ZJu$.IL]W#D:8C_qrh=WMXNI]-?Vg;WWKtgji+9B2u\E/kHs5D&udo+^p%@cL9P00ng/l]"OF^^h!P_MumQe/:b_cL>iGC(Sd</h62bNP%I9&"6Z2-;'+a]S0h[aU*KdQj_;dl+?X(X9Yo:)r$FSJck)'M2:u5fZ!LjDLo3^o=[6].QeK%Z.%[.-dVIb#F\4k-5G91dj=+VDLNKSGUV%9p*s\P+!hh,[<)j:g+$480Aa+hNq-\Y+J18di`AD;?V#],9Pm";5Q1POmrMEMiBOH,mWe)g!0T1rLc<6=u-]YqI:Q6f)K5<s/\SPLgm0lIrOM\3'loh;UCLi>H$a5L1`5DSHLW7,#nqP*[a2PLaqV$6Kb%6X\o2N#2b[qCk4YOj80f@PE\$7I8M,M3\0b0S_PJE8R)\7^=a_DArpmJnfF9gBq$3<\'.kRSt\qZQZ>U/BU@8.+KZaS4/kD+SaH$V*IgJ2MQ_Q=ecG#DC>QQ)m*ka"Rq65&gMp)KtHn=4%d"ULQM1f#R5+$Y:iAW.5f'(0*LliS$&P[C-ZG4kgFG^0./4.6)<gl]&!V=!c"_;>7YW6rpA[K7idGLIH-;=[^j#C\*a\96C@MsZ%S?o=MU6C1>T*VnW\n<d+F_Y\=CI&LUOdf%kuO,kRGKP$SV91VB`[e2IhfECH$%ZLAg%B+[L~>endstream
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhNS@cJ`sQ<)AT7bBX2'SI1sre63!8eu#Hi*12+:VXOqE!h>Xcq$8qnjH_CLV:rJP%rsj5>UUDD.`Liah"L%cVntog).//WF]OI2_e/&`/?Tki+CUX9Pb^j~>endstream
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`]*cDO&;9"kTAhN!`Q!btAh.P+,O??T$:5)Js2%0!'c(Chi*12':B,^cE"9mgcpTunnjM9CKRM'[P%nF[hj8K8<cdi[ag.prcc><c[4u7=;Tm#&O;KE.i_Ac@E&[+g9Rn-*~>endstream
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 4040
|
||||
>>
|
||||
stream
|
||||
Gb!#_>Ar7U(4OT5+L"t`ZfB+>F`fIG$TDc\h.`?PPO@d)J:NbqRuJu!]$q$%]>&b)WJb=j=1>M<'JkbClL<TTq++[V.f@cVs4n,NYO9d(8jaLdG>"_LMLk3PU"=K9?V[tUVI:s?A#]a=kE^^"_hRn\IVYOJ/%Vit*>;Dke4l]dJn$=>W]D.6%)oKQN[5[HW4HTL:GC=>_NtoI?Rn".C$9Ge0GZ.*?"*QAPbT^c<bV&Y-'Y)"aUdV'1JBKb/]K.o&r&1TGS+S[9B,"UN;.&N-F4F[B)156f]<#:q9@`&KT^h#@8SsL9oU]5`=tFLWq^rh:$:k!H':GgbXJ-f^-hFZVnRp1R\Wf21@BY&HiFRD+E:)=(o;dR,;_l]m)@X@<mCQMS-+jH)'BhU/(uYdDNn!H9i<TsS\/5PfB31*Kk\1h9>^TDD:d"0-s9I_OqgDL-XM0YJ.HVlUK+BEW&/9:qh8ENke*c+Zq99\Z,$$20B4f_+%)3mVhch'+o5)r2K..3I-1.Wn[VDX0Kts4HcF3+I=>4A[-ID:a\URphZbp[rqpR*Ys0;WOREW/5b_U2$aR^uWlG@EceQ+o_B>Vj!`lc7&(%B/LB2e"X/^L(blbW"EqE[VedHEA="Cu[j7W*$K*]qud?01Kk0:m\236hco(r=Em0DQcO.u`6RTc1t28.&;qLN@a?IoWg1L..n_6`.l?s0,sT=L`S@r0EQelhr'd,X`@6O9)R.UM=%8mE)N-AdNkOYGaV&6HH^m/54er"la%d8Q"V1=)sO7Y2#V8gEVp-''2"8Q#[QGh`[&UI'ABR=dFD?qVDr8ZNSR!]A%5nXqFJ)-U6FkRSis5gQY!H9TNkP1e#kEC'a>4#K1<)RcACMM@\!#Qh"$6#D2,/,hCrgc5^$U<d3N,V9ChlV#BR7ao/N?nTeMP1Du3"/+Y0VlOrgM)4=FPD&NN>/fm"6(dc*^21T%2TT0&pIT&b%%/Rt=OV&>llMYI5*+f%Y'CP@ml>]Qp_0V*iqE'_8i=9rq51<bD8_(W3AR7G!uoG3HGj8FR#)"R,>aS:TQ&gncnkl"=gX55)UT!i6tK0FAajM<*4'$Q`7>L3C>bt1CYmbXRZ:NG(tfNSr,>A,]E*:T_V?Nd<8C?5Q]Sbr8!gCjo6,^u05&5'Eo[*1o]UAjBh5"4g8\U>1Z"`/h?G1k+<H@TE#F5uef6$i5lD;c4\5Ai+PHlm;j->)0[eu/(<58p&Ohe)Fcfqfdm+N&`a,FjEjCc_YZ?lS;&ua-3`>U\V:lDWC_P,(:"6@3]OoAR#BL&afKuJIS$;2K00iJ6/*?%rAI`B3S"iN+#-*.gDeV\i>C2Ut\7tIS_Y1X/Y%\uoY\s/L!oqS&,lkl/rPo0,&%kqe3kP'Z=-jW`dY#C#b96$<@grLg!V7D>`%)EEXd$)N'hbrp@fC7>2mejUDV0i?cAc<^?W*N!8A]UJ,@;`?_Q(Kj\/RJ?X(p0b[/p+G:N`?A:qgPLVUTmRQ"l]Jk3[qlk]YAHYNNM],tgc@:Sd^2O3e'WYDdABWpo!Df)[3Kph:L"A#q:q(nRFg8t;D)$MCOZUg2f:8A&j'!:m?X<l904h8WB!)#\WI)l([O&*?aGA@#i82A?1J$0*J-o.?c1GZq+a$/3&h-[[#V2"!;1_:VleICd(ZdD4k\LgO'>ZfL3fD0Wjhe).^_jf_g*%paS`f)84'Zmq%=$DJg20X%72[6o<9Ph$jNFCFk^\"J%<XNe23e71U.49t$Aa_LL#@aQ(cS*pW6K_6+=$P]n.q@'sV)>_R?"RPoN/sirg-J":V]XM'kBTtCm:NU%<gLNFs%m48n.'GBH6:c)\D5\ro2DF<h6g/hFn/oTO9S&-m&3`qJ-%OjX8o#J5ZQ=>?HQ<up$+NRRG)n7m17m^Hm^J$jO%t;9#nNMGTL;n4UR0JYEID#6cZ3!"mX>3q9K.&##^C"7:0eV>4b?HI<OHH=!c%-<O6B2Zq6r3Wb1mo5PA/Rq4834cpdYDM4X'>/MA+FcR-=m#k3s^5[0KOm!oo+ik5?o_S*FBoWr,D]:aD,5ajX[uCps?HOVM:,,'U\Y\"`MX)#^EsLa4Ah8[^d,G)aUWUA'i\$.;SY;!BKkn%>?EKFrEB4J:NGUJp7X">0B4)/)0FX+3O?,7EZIZKEid>e\mIL_1bDc!oaR[o)M,_ge:S'F3BIWM01Oa#>ArmC+AchX"XAGkBCc*)`g>lJC--AR]4C$R()"X$cAY%KUCK%`)X0"DG>$!`-dc]uRCk>6f+dAH8<Z!Pl:3!I-'unD5(n=9I3s]MXJa53t\SGb4_p(bZtSj18Z0INZYRLLU1j[S7W,Rk"]7[i\HcWh[f0$);]]0#TYhZpDoo+n;:&DhSk0`2@&H3e9[3f/%brM^h56Q)u!o\B:I-B1''@OMCa%<O[s._T6#i4D`@WP%P,e&7f7>d&/'[ACPd5Kjk8ngM1<q^)\J!mG0^@NnKJuqY+LDA+kuUrZ*Y.*C1M(Fj]U4*-+*paei$bQ.^B^:`3"((7Z\QkOn-+h0U['peL,K4L^6O-_Z;CMb1k.lCd(%)oC/%=5=(aHs_qH(5R%I<E'[:mmL2o3E*+VE`SgAKd?8oAC'/;2OJ)Hcf7;s4[V71]4kcSZSQsS<`.EJe5)l>UFscOOB+G(-?FR@=`ac(+f_7>.#hpDXb")r+[B8YHo+6+Z`bH6\,fF7+V14**$+Ih\[^l:e/7#\>uWnTL_<K's((::6Nf7Bp*L7Pb\03T*S"6unS$kZH:+'lTsPU]DEpT]a"G:?8rQ:8JA4hmI_$k5.Ip'^.aYOZ*X,UZLCZ(H!]Y&QW3lHDP54%:56>@)T"72NXs<C>InVtnLK;XCg`;]*X:!g'^4N6B2J'urMS>]f02d'iBCe[-.CrWFAG2Sr%r9IGl(etU1g0`g9k"GSpDDX5VA)0k-nX>2$e5,u?<%6iJoY<./uT>%pA/oEf<8D*rOTE&f?M!Xh:uE?I1I"T4%t2!TEhVB%t,O`FLUs(f<)/:[K+'OX8Vl<2Y;#Vc./>sFa"12Ru8q'64Wq:US6"@L7IgDCm9kWq'Mh/*c4H2;"'-,UrC+2]:1ra`eWVjZ?_;ApujP'&a'H]%8leM;6esU';Ef@o\]14Ie?Ou\_/3Y3"3G;&=IBm#``O/ZO_=.-9E@cR'jiECVC8)ksr,:DGNEYOL*r-rl#Kk'jXe4W(&WFH87R$(V#9qRLQb7]"rjRFg'JArSl$_OWVp7O=CB=;Y8/gh9E(3&pTH-7'l%8Q4HP1W@)5aU>h:,P.T'Ggo_g,LejXg@a![b@UJ@6M0tM`Sgh5PUCXsVKN5/(_tOc78sFr10nickeXV@EUc$WG%\7,'YP^KErHhQi4dFW+`)TS)Po\ZIRurdQ&lc_jpc%@6gi+ujJBgFDAt9BfleK,S$cF3.BpQQP,+FM8;H1M9l4"&Fbq^cOg/:7p&?fH1q3^!,M@722n9O;mr:]%_ahfBJ$Y!LV$ACreociD,4:T5W&D<Ude+t_830mrO[0FHbpneS@2?W.a'\a%qpZOL;kT7=[OLfV]jP'ZV!BQ"2gma+HWS;mLG'BrCRe0hRc_<"D9LOnqdc2L68;$t%ZV2eHOK!1Y-5t9D8\?@"_)TB'jVlec6V#9dTdA]2%3f9PSGTp-.9Qe.A#A4<768al-O:?g$)I)i:TT9d([o'g=qVS:NrV[Q.g<cOo#P>3E"/m8QJu<)-,/7[7*fc^RQrG=i8G5\38NKVUAtrOj,,.Y8'7mM);%MJk`35l7>s_RDZk=`"-C]K&I^ZP0"2k8$+rO2W1FP[_k9X_Y8OlMaSarSPFT*_GiIqE4kK=dT24\Y/gcN@=ni[VbSS#k$)[A"0^EC`VTAH6%PE9hN^s#[`Q`VtI0/=a(11n]`.2r$"*n9?:dDK<+ch7.AFJS"rF;NoM6Ba4;P4VK:Ei7\?VSM-W5(WMIcFiT4!o]V0C=7J^5N,A'k`M+kgbES9Mcb\/_keM"`EQao+DK_[\7EDL$G;BL-SoBhT@p3MG?k$<\t%$*1MhbBo^]h`.UIlJ%C\9rX5`_?"F~>endstream
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 980
|
||||
>>
|
||||
stream
|
||||
Gat=*?#SFh&:Mm.(o]1L2Ds=pgZ7M=($TS"'Y&uEocXt%CQC[uZg7$362^W*3Y^CX:aiV[KBDKi1HT)&nEFEL4^A&8:8%W@!TT:&^kU\WOup0Kc@2@iNTW"b_GT5%+c7Ji+']:)Nm&3Y[^d6-A-&44i;OPLrm+fL&%[9t>bJIN#F%Y'&ToB-ppn<h_G`,>C&r+Xe505d5+S<5ncP&i*/K+/g'8na?EbLW)&s:O]B<HmD=eSNo:W5D@()rh#=^-$!DKB"S*Jb4*^"E`_*'\[A]kcR.k>G4,^b87j%G(V8@:/5'c:b?()EV*1V9&?,AcTb_'\)qA::'Zn$36jk7<]eKuC$pE_P)!N<cE$bH/"2W]C5lKshej0r8KM$]rM3H'Q,7[A(2S&(U<C]m@LF&9UuD=B2f*T1paWNr&;-0oUnSo_o<2N!GB@.#Kkf@\XDerJ&0?2:<Ad5$@Q8*`,eMA@eYpaUIk2]S"h?h\^Z84:'hVgmVUqL;!`$PR.:@o:-Hd_5q3oN"Q59HLHVp,rd?9I"tlCKB@[oGH-26nI,cPQn(Zl&UonGegRg]9Q+:o1q!YGV1L0%&oULXQH,*HroreZ3i"+_gV#_HZ<fV'mJP?<Q:BC1VGo&JOq-je9e/+o>6DFa?qW=e7UtXARq$+Cb*.2D8@<9!5,6r1PH)U=c.=QqLG>uC7]XqHD:/_q.K,dgC:,#UES"&!`IbO7Vo5T'kr(,XJe#Q<o4(bh,EM`>aJlDq+cM#T_]QT-V@C,U@\+$>fXMf@_cUU"Pj\\^6f3gqfBor#n$_DK0UCk.WJ17s=!d;+ck$*&4MI;5NT[YFS*BlGEc_3;/[?U/"o]Z*hM3tk"L2<U+AHM#PBdd*gcis^\W:B1O$b\44C+U7^;,!a!%$2j#EE(HrN/];A$1sNk/Qi,jjCML;$ad0?(>cG4kd!(?F]h%p`Ipl&:&(+NIV7?^t>SSh$[r3L2Z@mfe;5I/=c~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 31
|
||||
0 37
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000134 00000 n
|
||||
@@ -189,33 +240,39 @@ xref
|
||||
0000001314 00000 n
|
||||
0000001462 00000 n
|
||||
0000001578 00000 n
|
||||
0000001840 00000 n
|
||||
0000001946 00000 n
|
||||
0000001684 00000 n
|
||||
0000001890 00000 n
|
||||
0000002152 00000 n
|
||||
0000002358 00000 n
|
||||
0000002445 00000 n
|
||||
0000002762 00000 n
|
||||
0000002836 00000 n
|
||||
0000002957 00000 n
|
||||
0000003277 00000 n
|
||||
0000003446 00000 n
|
||||
0000003550 00000 n
|
||||
0000003681 00000 n
|
||||
0000003820 00000 n
|
||||
0000003929 00000 n
|
||||
0000004004 00000 n
|
||||
0000004839 00000 n
|
||||
0000008923 00000 n
|
||||
0000002564 00000 n
|
||||
0000002770 00000 n
|
||||
0000002976 00000 n
|
||||
0000003063 00000 n
|
||||
0000003380 00000 n
|
||||
0000003454 00000 n
|
||||
0000003575 00000 n
|
||||
0000003895 00000 n
|
||||
0000004064 00000 n
|
||||
0000004168 00000 n
|
||||
0000004299 00000 n
|
||||
0000004438 00000 n
|
||||
0000004547 00000 n
|
||||
0000004643 00000 n
|
||||
0000005591 00000 n
|
||||
0000006374 00000 n
|
||||
0000006602 00000 n
|
||||
0000006830 00000 n
|
||||
0000010962 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<4fad3f4eec3a3b3d3d5fc9ff821b245e><4fad3f4eec3a3b3d3d5fc9ff821b245e>]
|
||||
[<d274bb4400f3f8257f3cbf0154e5f352><d274bb4400f3f8257f3cbf0154e5f352>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 18 0 R
|
||||
/Root 17 0 R
|
||||
/Size 31
|
||||
/Info 21 0 R
|
||||
/Root 20 0 R
|
||||
/Size 37
|
||||
>>
|
||||
startxref
|
||||
9935
|
||||
12033
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# USB-C / HDMI and USB-tether cast (roadmap D & E)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-05-22 |
|
||||
| Last modification date | 2026-05-22 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | postponed |
|
||||
| Document type | draft |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
Android Cast streams over **Wi‑Fi** (UDP/TCP/QUIC). USB-C→HDMI adapters use Android’s **wired external display** stack, which is separate from the cast protocol.
|
||||
|
||||
---
|
||||
@@ -10,6 +29,17 @@ Android Cast streams over **Wi‑Fi** (UDP/TCP/QUIC). USB-C→HDMI adapters use
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 9 0 R /F5 11 0 R /F6 12 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 7 0 R /F4 9 0 R /F5 10 0 R /F6 11 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,17 +17,17 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 716.2874 89.70104 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 12 0 R /Fit ] /Rect [ 45.68504 762.0394 89.70104 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 704.6874 244.437 714.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 12 0 R /Fit ] /Rect [ 45.68504 750.4394 244.437 760.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 694.2874 161.733 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 12 0 R /Fit ] /Rect [ 45.68504 740.0394 161.733 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
@@ -37,7 +37,7 @@ endobj
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 13 0 R /Fit ] /Rect [ 45.68504 683.2874 271.237 694.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 12 0 R /Fit ] /Rect [ 45.68504 729.0394 271.237 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
@@ -47,27 +47,17 @@ endobj
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 8 0 R ] /Contents 22 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /ZapfDingbats /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 21 0 R /Resources <<
|
||||
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -75,63 +65,124 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 8 0 R ] /Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Outlines 16 0 R /PageMode /UseNone /Pages 21 0 R /Type /Catalog
|
||||
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190938+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190938+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (USB-C / HDMI and USB-tether cast \(roadmap D & E\)) /Trapped /False
|
||||
/Contents 28 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Count 4 /First 17 0 R /Last 20 0 R /Type /Outlines
|
||||
/Contents 29 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 24 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Dest [ 13 0 R /Fit ] /Next 18 0 R /Parent 16 0 R /Title (Layer model)
|
||||
/Outlines 19 0 R /PageMode /UseNone /Pages 24 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Dest [ 13 0 R /Fit ] /Next 19 0 R /Parent 16 0 R /Prev 17 0 R /Title (Phase D \204 external display awareness & future capture)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (USB-C / HDMI and USB-tether cast \(roadmap D & E\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Dest [ 13 0 R /Fit ] /Next 20 0 R /Parent 16 0 R /Prev 18 0 R /Title (Phase E \204 USB-tether transport)
|
||||
/Count 4 /First 20 0 R /Last 23 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Dest [ 13 0 R /Fit ] /Parent 16 0 R /Prev 19 0 R /Title (\376\377\000T\000a\000b\000l\000e\000t\000 \000+\000 \000a\000d\000a\000p\000t\000e\000r\000 \000c\000h\000e\000c\000k\000l\000i\000s\000t\000 \000\(\000e\000.\000g\000.\000 \000D\000o\000o\000g\000e\000e\000 \000T\000a\000b\000 \000G\0006\000 \000M\000a\000x\000 !\222\000 \000H\000Y\0003\0000\0000\000\))
|
||||
/Dest [ 12 0 R /Fit ] /Next 21 0 R /Parent 19 0 R /Title (Layer model)
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 10 0 R 13 0 R ] /Type /Pages
|
||||
/Dest [ 12 0 R /Fit ] /Next 22 0 R /Parent 19 0 R /Prev 20 0 R /Title (Phase D \204 external display awareness & future capture)
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 656
|
||||
/Dest [ 12 0 R /Fit ] /Next 23 0 R /Parent 19 0 R /Prev 21 0 R /Title (Phase E \204 USB-tether transport)
|
||||
>>
|
||||
stream
|
||||
Gatn"?#SFN'Sc)P(%9[@2q>jlLVrQ2!p_*]FX"GbKN*5RJW(jd[TV@7?RMPK:s)lt=iuMJI*QfYGn5Vl(2]XW$!\b>N@62B1'7tVJ7OUIdeVFe)p9?L;&jl_39S6OqglBBNnm.8ou3&XLgi\\c6N(UA72M4e/L-hYkCf(R/*EdiqF[Y`umKTrI@5\dJYu6357il=+ffl&64I2_b.P&)Q>D+e#l^q/&_ht]Ye]7G)#'*P4prn%I1aD\oe9BU*SO2PL-*'LgpCdkIZ$8,cif&/&[nYH1f/oh2t`L9mKqfhd1c#,c&YUTT2j%S?SA>'Sd-F\i"GoYL[M+PBnf,g[qbQI5_a&$4/RWW[]MLCJFkO');4rr_ns=VF\(N4r+[3IAP(sEC*pVIhqdTo@E(_`%a"&/;0-\-WA#EjLphi&d>SrX:"ItE@8,pUbPV7ZaF(SknLS+hg^E?qWr\HVhH,!OO)Eo[A_;ABmTnUr"c7OUhPKknGshT[A\ju+k("b2j5W2S7&#>>Y6tCI#`.tma2%.7fJFC.1;oq_/9B\IJ5nnceKR5Mn:V\doT$bMF'Wg#&fmi?uM2UC9:G1n\m2kXYDT=\Z/Kee^EANkp>m-2hM]kkOMA_"1o*[B"b46k0>l*'32V?g5s!qd<Plj;+gT~>endstream
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2591
|
||||
/Dest [ 12 0 R /Fit ] /Parent 19 0 R /Prev 22 0 R /Title (\376\377\000T\000a\000b\000l\000e\000t\000 \000+\000 \000a\000d\000a\000p\000t\000e\000r\000 \000c\000h\000e\000c\000k\000l\000i\000s\000t\000 \000\(\000e\000.\000g\000.\000 \000D\000o\000o\000g\000e\000e\000 \000T\000a\000b\000 \000G\0006\000 \000M\000a\000x\000 !\222\000 \000H\000Y\0003\0000\0000\000\))
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 12 0 R 13 0 R 14 0 R 15 0 R 16 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 861
|
||||
>>
|
||||
stream
|
||||
Gau0ED/\/e&H88.EM!GJX(B!!DEePDS?<`u`f6Mu!t5m&7,)H%;'Vp5q=csKP-*)sXY_&Werb2>hYTH+>@?I2;Z?t._#$,#5$24G0OKFn)D95u_8Z?5h\3&bF?RM`H):teiQ*^DZ&AKu))k_<?Bt]b">&$kjEAXa,l*kn_cP2H91."!&C--R60+Q!6i_S,*)9rA%<pIdNo&Yjoti4de3&*BF2H3!&+t\BbT8<]\!-&aIQed"\\1+4S/Q?.Hf%&ka;f's_Y3oj*&^G3-WcX"6B^Gp$Rc.38r\OAgHq8)1#b"mqAkDk&jmLm/1+0(E$?[Gr>Tud8&6)f!J4p:PFO,6q6/.LEgAu)V@Z9sAXqj5@'NS4UMIU%B<QYE_`$>EFAE9qD)ao3C+&MkL?EgL!<V-qRc`f6JRaXds3M>n`fT;i'A2=SJKA?f$o6Qi6d/TWbo$=GShQ`K(=K_C>5kJ]me^n^(rI?HNotrON.#b,!b:HIA(O&M-Ris)V0ldj[VR&^)![X.nlK?N58B#:g.,U#FtW"9eL&<uaqqJAP2Ls^U9`C*TaG"N-ZpI!bYl@49$])(97q+!N)e4T/%40XnpJ=pRc>JtHprZF8L'A)13^sI@CatY#FNihQqJ^J+D5,JFP@ItCh,$(S')[m37qser3siF,iY>:YZf;$QgM;AC;8iC%I-Mf7]o9S<g@#M'(k*@O>Uc,R0&4d(&Gt1qf3]AZQ*Ws+SQH8T!/d?KBjD.4F3YePq!BBp[&3<mCqAURkE'4Rm'o'>h+=(.?E6?hUf9+[^UA5?dUPO;pN,)+HKW^euf.S][W/$CsGU%1</&pfNA.7G*qhK+oFp?JZoEa*KYYs^sJD?dK=#mbUNCMQi1OD]3(SHYiVR"auZXFF?(r-4W]E7gjG\uc3@pFpK5f3Xe:SN[&tNCZO`3E8ls'8=tAFo='PFb/2-G`9Nq'Fh\P5>CM=ZW1p9'Vf2@+X^MbL>a<%pa"o@u<+"%=H*p^7tCo]W]`@t3uB(N_3m'XC#CJaA1K0?3=J5>h>p792)51L%n?lBFJ<%_:E;n?8+[!C;ojHtD\$+[]oW0Y3*_%f?E#/Z(;/E%fdW!Qdd"K#sd?u5t$dtTr?%*0[P1o3OS0<d"uJkN21am\74bI8$nD1lZG1C5.e4](f,a^U^c1rhYgkUfr"L-ufC`Tc+e-_'OQF'p5n:-='A(Y3Q(="i+8lMeZK-tdo48kT7q]Ee04;O7#D\g.H&R`^ireW:7(%2L?A:befl)k_Ia+RVFrPW*b)k56)h>u][`oK"WG4(WCGlsOh0?&/Y4Af6m]e6tp'1'5BrN,,*fS/"'8UFo/uS;*s8`Q2)lh4[1b2;&6]BJ,>\D^!,D$YmcHf9)$06s^/#S@+HHdM"RYfWl@_,4*\PaW?fQSC1BF`YmkK;*]91F1R6^)Q@7^V@lnY$H7$/7C<pp*.1<-Fk825B5t3A(/hkp`;0]o<$Im3OekiQ[`",]]MIO'9fcjckLm$rBbe)QLad#QY\#"#BULIp,,2\:"#9Y4JPM9__f>=PM!)`(MtBa-Q"Do#3:,PP`HA?Vg;KuZ)(bM@_"?m7O^OBh7>uJVUgY!^r<L_'J\+7oU5O\bFenpWQa"P6Jrq((G`;3$N>'KQMgAXW'Z$@PR.CE3Nl0@JQPfC<"?\Gghaq9>I;^h-?J=%X.,KjH+Mq]n.]$%0+sBT\0pYBD`T"!@*M:V@QXCF`,FIj!N?2%kB5<g]_&`E5BFb2*`JDGP6Rk)`A7^Rk1N:9/LWD]<.*h]e](%:?*YNBViau*o9=Vl:X!KgcM2SZJ1a$jg'`2fEpQ%1crsLfrhTr@o\)M;.%'Vhn4M0i-m^C(KHe@lQksa.>FmYe0Lnm<!/6t^q@t&LmGrE@MR=@YLJ"9rj5@3.3Kb%aq-$P^c/<-^Se]RT'2m4Y?>Xn!5clRB?OWo?SFKqBH^UB/N+>WDW'J>R#!),EN?(KW#ZB\q.EqTbB#!`UOW@ood.)shu"YYsY+ej!`Tpm[ogW(5OJRnURi]:5o\n$k5]f(3a1e31sag^iu!2L4hk>M[DE>f.-a%m?)e[)OCjA%,E29j`"a)r_%9\GX[+0ed@)9X'>-@W$:Lqme;,:m&H8J"m/:-2#7N*@3$GKFJCU&/kW>$\#kZ;t$95Qk'$*-@=lqr)]RQfTF3kc^J$Ybo7M9Gi]jC9.i20Xd\iO:_E\iJN$?(6"DZao$FtGd[Yqs)Ca(^g55d&_C`dZ]Ekq1A#$7HUWd,JXbbk`[#e]&d!\^6\`8DV1b1(=+Z58QXC\qo>1jhAX*2N_$!M+MsOmSHcH9<'"I1@<8N(^H2VZ4Ptk;?:@Asp&Z/[ei=+-,<ILqF*.U\)o.lD<-g22JG"]a>U8>2kjdC^sX\,ITL=0MH3m%ZMLaVcE"Yjl4S"bfbPL@X4"LaQn6=?RETlHc3edniLnPc@.k?'=b<u3Go""op4^?ZYOn=Wsn)B*cQqA\63.8rGr/9-';YEBfI$'<+]qHj-+-fKZibC-:;<BU,IVqus)4)\84CO"[UGtasp/f$3Lcoq&sB3:I;Y0SFrB2^#]eO>=`N7D/JYU#o)LsScUV3*A>SGWV(/!%=~>endstream
|
||||
Gat=*bAO(/']%q&mV7teMW="M/Gkrm3f>o?X=@3u3%\-]$m?Yan&HbLGYCFH6A^E`F+!EG280@G5$7g1'7e7+VRHiP+BSUN+s=CJRpbl$KV(&S,g)<MJC^/cmL+rZ_\S%i/e()Jas6+aXmCBG!Fq.(HHQ;bj!N8c>]LtB=&aN3Zt-m9aIco=CN__KJgl)ZrqRSO1]l9+R,Z*G0Fq4g4HB"aN08,dfC/r]*m`+SG_P&q-I"u]n9b'!'<dM=STl>-q?iqPk0M;^30>gKkE%;*U9<Md`j^5Z30d97o$c../0INk("K!EC;N)=Wi/^t;,D.Y;N1"_Xic9^ND^#AdPC]Q+]C)"khNu5giBu=4,;43F%AkNT\XK_oJj1,$F)e?X%qUga*IJP7We6fLPLF^V?ZqtjOd5Afh,Fk[F:%NP)F1?bMQi2Cu,Y7&kXF$U,n#(GPJU)/`o+JAU-coeEa@^eebu$(GAqJ,F0"AdiqHD@M,KrlGK\6T02W?pse5N0^nN]cI1ai:Z05&WHtcX=1JVF.i"e_BQ*8Z]u(XoPc4tS'?3(TX2-^L\W;'"7I_Rn%gcY=9"b9;_i;th@@>rKa'"\=rOj#_#=gO*mj=*RO5oO8k>"\bYEKHOE3M^9U=YD8-XLDc@[X&5``mYBP$VemF^ic#MN;<ZeV![m4BrSIG^nB'l\KdZ$YdeG<r;C:<\!T_GM=LqD<,$\?rdcbq>bASe(VaoPQO=V>,Vt:MTh=goc[M4r!(6G0Y.;4'gabhW^;LG6<"6I5k(5FVQ;?NL#20\_sLd=Z/-S&cP.k'd)56r-!DGFij.CK/khn9cPs3V#a/t)RX2apObd=H8WM2a\[%>'0_u"VIX+`~>endstream
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 581
|
||||
>>
|
||||
stream
|
||||
Gatn#>AMtY&;B$?/'_(5>.WQnBm&ZE;o_TUJJ>-q"[gqbCKn1t\\%/Sq=e#t0QHH2$"ZC1RaHNGbR>\7J#IeX)rNKhBL3hmC]OlGM!P=Ig#12,qTMdA.$6V[*64!CC$<>'@E&rma8db^,9A4?YnUnC0[#$N8UCkcA/ii+4[Y$[0[/%M;PRP@Y:HM$B.oAF7eXQ)J+r+?5N6V>#9BCtZjs(3hl%o>Yc6fs4G+TM0=]'A]:+)b^P-*@[o-7:N0t53oV9m4;C1IZh3R=4l9Q:nBl!5KMk/T?NEg=iq[ATQo"UXBM7i+Arg7#@FP<jE]:;``h:BT:Tgl\+<DKQ.(WG>8eD0f8bK*aG?^HIhQjkoW15tOFWAT&I^.,V4O(\]W-G`!AR?18f3$dGYB>F?0iZ)1@Js]JHlZ<2JQLkL?\)`cCK\,s\D^IR/^-J`W2_VhLBtZ=5rmVA8rd&thmJb;lBuW(&DDYDWY,Ek87CBRKW6H5LKtHjXIgc4JNJ1Rc#J8_K6h@R3h,KZCC1GqZ?P\DbEJ2qfVg%%,PXYOHie7aX`/G<n>ToL\8m4_PJJ$rD#D6YXh@Pk~>endstream
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``PkDdF-fp`Q&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:emFgZ@onCPq82Ws8G-_Tt6^R9oWtig34W3;D"0MP=sG_Q,?.RGJoD!mbh^0(JJ'S*<~>endstream
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`SgmmFhnNfa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B](9((,pZH62[FH7Fl==&J^W3%Z>&B5W+giG*2MH_7OtUjbJt$1U9Q2!n~>endstream
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2685
|
||||
>>
|
||||
stream
|
||||
Gau0E>Ar9+&q801R&:%!\!D0OZk!CUS8PZH)E2ibiW'/i7\Xb-P,OOAdertuUa0;Xb>t&Q"M:hT+m2&\%:t'MItmfLQiapm_<?LPL'b0i(q+%olk<XKc@29$25T\RY4(R4G_)o`]'\IjZS)Oi4D.CXis\^Af$"O1AgnS.k/d-?7pe%$eK8/8i$+(=M^,_WU&\&08l>]VO`EF:ff.\p<]^Nc`:XM9HI86CaE@mAmlrWJC7YNp&+7K%dHkm/qJq(63Bu-RIenM<=d*!jrH$G-G>D<oI2q-L",TQT:bJCT'P]MfVJ1prjA.M.&^[.@S<3rK=QBd6D@7g!&q5<4:THH[5qG:JS8_A&75t)G"q/^S-rq$KBr[]0JqYc'RW\8YQS/$"RcWd'\,Y5KF"G?q6JuUMY5:]p/BrCp@k8$_[g]1(_!s9,E.]A<Nb5i!H%`u_*7Ju@$1'ou"7ld+gXU\l\%2l";&Y%0TGoZ5;*5TUVL%*Zo2"Eb@le059fbH"qN[%F'Qh5^ds]\c/C:K6eNG!2<&Cfg4S:8CD6B*VcqM?!@>O0f.4kJ6,NW9,@f(pO1j,;tmGE5Rjd\FL[G?r&6]4?t(_]#s3p'asZ,"a;%3$hb>1Ac@>osWV`)B_'[%H<eRdTFV0-#@,_\L:&O`hd`l%*I!LA)(2cW6FZ,gW/l;4[J$%bo%FEmSYUbNm!sfOk&BW]Y">3U:*2lVIU``s,OC]@GT(TH712m"T%]=o2b^_#XH;=XQ`"$':rZTmte+0A#_M.tD4TSfY_c1D]"pE'&c0a,a2uE[g#7HT,Fgm?_%"h2/SsB"R=5FUqC#qR#W/.6;<aZu(:[UR4_7qaSIIAf4da(81BL5^(Wp-^i$nn!7?uq3TiE_W-mMBA&0:1;oJHMU`;+)obMgaR3;0oHCDahL'9"5OW%(@sk:;h-tIhW?;F$6md,Ma4Jef`V;S31jgh;r#Dgh8@mW88K)6bdoL=Mme!R5p?T(6+53,>+1-E"MMJC#A_NqKj7.bfqA]J3G,G)4B0-=)J+*@t6\+dX[$>`3h=2qFWERZXhs3A-oaT^m`Sk=2-Z(Hn;mV"&B57O?RK[L]>7:4*/JsLJ\Qs5Z5HHkJ\m'GH0!?A^jY'o$agF:V$1r*di>U"1i.X^0Z6BPka+.:>gI$Z[Sd;53'a"@<Mm=bA`-]&m4Uq$g*C87[W/a!(&2lZOQ`nk#Tde4nXJ>C'JsBJ,A7:mu^HKgZ9l\f*fZ7ff7qR:^iHahUV-6sL?W\'[N:4T.Bg@XOn@O40A]'<V8;Wn72PiYrA-7.1"c<Xd9W@UfBG#!8rHfsSlW`NL*D0VfhQHO_X;j<18K@0C"%p02$W+]\/5<(\Jmr8DLp7e8Ka)Ks(0HXo-mc.td2:PM[m0X9V8d;E">(m'nJ2aR\"Eqr@2$aBckN=lb1R&g.m7lNJh;oN5/Ld;s'?406V_>B>N:t=a#Kl3ZZE^:Kc98fC1\)Y1^YOL+[`[#"!#$Gh/uf#)!4E#lk`R.J&;%P1/oHgGUlFZWGIDO'?-%Yq24gf<6Kcn8aETtO1Bjs$u6%KJrU030d^a]Zp7<3a/D^nhSYKN5;=h6FV_ADTi\\'60j3AS,0Y?oNn"Hc!?*5rs>&V6TGd\1Up*iYECH:j)4W?L)"Z/aBA.td-seps3hUH"\USU6P*%5&[$(^fl'_`/".X6'*<6(7*oq@qW]9$\IsH@`kV81fFH]S_74u7A@=kq?IXo>QbBD^8mTY//6aH'-:s_`\*`DSFRcmCPGfA8C_(7XW)>Z`Z&F\afM=n^(s!Ra,j#qAaVc;+655uA,DKYOs&m?50oWHH?SV,5GRY;;S,-7([6#tf$Vt#-%:]c$(FQKfL:_l6.K$r2K5LST$@a]MB$(,No?Y^!>PYKPVV&d]:JWXD(:NK-Aj@UF\n'J<?>?gYMpKkomG7+Z])1g[CA.2_mN?nU=tP$8Cg^CDB5Xbdms"AXilHge3sN:VDG-d-TG2fjBDA[4@ipNN]4ZhUj>?p9%Y*(Up8D`fR&ulA6&>W(^h2j^8gI$5[:@#\j]mV?SCcu%O8/RN7WB]A5#f$ef!QRP@g1_)ZY)r>1l.TJC]BAZ)I[eLO['SXO_B7B,get8)n2?m$O'\IqqC,@c"2a2RSrMtQF0Z2^m9rk?8M9t!cO<_Z#&q65u`7qkp*ajdBNI?4s_X@PhVDu6GG*fIFS<c5lLAMO.>ns\!*42(Bm9Xe',]E%DU)>_)S+A;M-]691f3ki@c!baNmSsW",j<hlR\V/+E)DQED=?bLn:Q#$l<DBmUe&]@]hb;;sXpAi6J@$/V>,^`_-g+`D`WiDn9j+JQk%=9dm"Yf(]&BE.C.!i)MZp+_-/B7`\YgtHMmhL:B.rM.;'-Yc3(mM;'"-<T-`!n$[8F/un\^nnV2'hGVDoSH\`ULElDdb<1@6G_)F,r8.<l*,+AkG(Ji;gI\\Qo=*]U5Ldnd`[OO[ZLGS@&$8#lU&4`+'=;]k?aG"$p(8h5$HYY>VD=h[o:f7;713t2!eZC2f3nP9RVFni:tf,-#M<]`$6&fchct%KF@?'pRV/dH1JR_])gN-hQk3\n9To^Qpf2I/EFR=Ha['QYq4_e?AreT-<_=eM\7lbX19]jBhEXfUQqiPUO?i5cSc3XL%autl\sg>BQ!coAkO\qnhe8YHnZSc0aqEG3,l*m3]h`Im!lP9`;K~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 24
|
||||
0 30
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000144 00000 n
|
||||
@@ -143,29 +194,35 @@ xref
|
||||
0000000882 00000 n
|
||||
0000001029 00000 n
|
||||
0000001144 00000 n
|
||||
0000001386 00000 n
|
||||
0000001470 00000 n
|
||||
0000001576 00000 n
|
||||
0000001228 00000 n
|
||||
0000001334 00000 n
|
||||
0000001540 00000 n
|
||||
0000001782 00000 n
|
||||
0000001869 00000 n
|
||||
0000001988 00000 n
|
||||
0000002194 00000 n
|
||||
0000002268 00000 n
|
||||
0000002361 00000 n
|
||||
0000002512 00000 n
|
||||
0000002640 00000 n
|
||||
0000003027 00000 n
|
||||
0000003095 00000 n
|
||||
0000003842 00000 n
|
||||
0000002400 00000 n
|
||||
0000002487 00000 n
|
||||
0000002812 00000 n
|
||||
0000002886 00000 n
|
||||
0000002979 00000 n
|
||||
0000003130 00000 n
|
||||
0000003258 00000 n
|
||||
0000003645 00000 n
|
||||
0000003734 00000 n
|
||||
0000004686 00000 n
|
||||
0000005358 00000 n
|
||||
0000005588 00000 n
|
||||
0000005816 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<d79a73d4072e12be58fa83a481c816e2><d79a73d4072e12be58fa83a481c816e2>]
|
||||
[<2da9107c99ca25f08b416afdb8f65144><2da9107c99ca25f08b416afdb8f65144>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 15 0 R
|
||||
/Root 14 0 R
|
||||
/Size 24
|
||||
/Info 18 0 R
|
||||
/Root 17 0 R
|
||||
/Size 30
|
||||
>>
|
||||
startxref
|
||||
6525
|
||||
8593
|
||||
%%EOF
|
||||
|
||||
@@ -1,7 +1,47 @@
|
||||
# VPN / Remote Access demo — gap report (2026-06-13)
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-13 |
|
||||
| Last modification date | 2026-06-13 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | blocked by DEV |
|
||||
| Document type | internal |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
See also [REMOTE_ACCESS_VALIDATION.md](../REMOTE_ACCESS_VALIDATION.md), [REMOTE_ACCESS_IMPL.md](../REMOTE_ACCESS_IMPL.md).
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
<!-- toc -->
|
||||
- [Fixed today (prod BE)](#fixed-today-prod-be)
|
||||
- [Fixed in repo (awaiting BE sync)](#fixed-in-repo-awaiting-be-sync)
|
||||
- [Verified OK](#verified-ok)
|
||||
- [Open (PO / device)](#open-po-device)
|
||||
<!-- /toc -->
|
||||
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
## Fixed today (prod BE)
|
||||
|
||||
- `config.php` **`remote_access` block** was missing — blocked real WireGuard connect credentials
|
||||
|
||||
216
docs/VPN_DEMO_GAPS_20260613.pdf
Normal file
216
docs/VPN_DEMO_GAPS_20260613.pdf
Normal file
@@ -0,0 +1,216 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 8 0 R /F4 9 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 762.0394 123.493 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 751.0394 160.389 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 740.0394 86.58904 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 10 0 R /Fit ] /Rect [ 45.68504 729.0394 114.157 740.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R ] /Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Contents 27 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 22 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Outlines 17 0 R /PageMode /UseNone /Pages 22 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (VPN / Remote Access demo \204 gap report \(2026-06-13\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Count 4 /First 18 0 R /Last 21 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Next 19 0 R /Parent 17 0 R /Title (Fixed today \(prod BE\))
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Next 20 0 R /Parent 17 0 R /Prev 18 0 R /Title (Fixed in repo \(awaiting BE sync\))
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Next 21 0 R /Parent 17 0 R /Prev 19 0 R /Title (Verified OK)
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Dest [ 10 0 R /Fit ] /Parent 17 0 R /Prev 20 0 R /Title (Open \(PO / device\))
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Count 5 /Kids [ 10 0 R 11 0 R 12 0 R 13 0 R 14 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 871
|
||||
>>
|
||||
stream
|
||||
Gat=*gMWKG&:O:SbbGinS"770UYB%L.W(@djXF(qbW7%-OCFa&J):D7F/b/86M?;-4_N'acE`'fm=WCX49G<;_8S851@Q'0JdCj`iQ<,<)<'aN+c14b'qhr]Pe4flXI2n?EQNcN=&J>bd?;$A+akA6:>ED-i'l3#"-g>(`c;=4+XeU7f'W\qI_>OY([th,,Vq-Fccp2.JUN.u`\b@)muX"4,gG7]bU?C'W[>fZcHa4P"7I3V9ff?ShELf\:e5+3JY_KZK_F&YJ.oJQ!V9]8Q=rI%$fgP0M83kU^:a=AoD*!E2g`j3;2(N.6)h"SNmr_B\r]itTH'G6RkD\4cJFuY3/;KfR9d\Vk$_`HWI`%!jij?;%AWgOOFg:oHRr%d34!r=Ys-I6:>lr.H21$gkiOIW&d,&1&bc5bZBK[JQ*conf,6)78l90f[_tM=4BtH+OU-j0']qo8\Mc&%3]\qgN_l\'_]dSO:=n1&,jc2e$.Ns\`%YKlZ+o"[p#2)>DP'$K\0&pb\-eGp\F:0AYsYN4S;+5HnM;[1!^CI=m2isY*E4-<%c(l=)K,LR##Q"dMf:j*JDm)G"X&OI5+217FdjFb<U0;P?2u&eaio."1s@kur=.qM9G"A%NXXn)%*c(a4$&o,AXUblRfHbQE-_-/Tm:Sm/sH)l13!NOk.QQB_>I`3R5FW(H`4^4hqNrH9FGS3P1KDI@p9cE]=[a2l;l&7QS9p`Zu2OrBj+_C>B56Bmi(I<<fuLG6/=pZPhQ2K'h1,)\jE>"6<+<=5_oc`)[Kd!eWa&X;!@:Yjga,>)=.6p5#%^p$6:\D/^XVs.qk!GMpj!;oB*.)K&iAn@m@Y#&rGfdXlUC:q^WV>!2G$=)LfO~>endstream
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 500
|
||||
>>
|
||||
stream
|
||||
Gatn":J]_!(l.SY'Ye/2_>(Fu38"a/]>K/B,2uS$aq>L!XdqJ'_RH/$<bR+,.YKA+;Z&T%oCF%*O,\n.g&U:>:8\4--s!!o,q(B#.7SeV['*.;9/FO#BWW/=GnS`JBuVqPPm!:rb&mocQ,jV*\/WD:dMmp#MG7W;4[Y$s0J:N*CBM=<j]uM(f:JX[5k1shs,-1T5NSNqb8m19%1-aA:[O(>dJ:A$`F@U*?fQO>3'"i!ahQEC3X!q,BMiY?gKA_::!gVcl6m[@I?i*[$$KmTdHp$.>k+5_E0*.sN/Qr`1Rt0tcaGT!"W,+Qk0sbY/g/HFI6f\hSFVp6If*TpeBUoX&!"=&&1qhu;lIoags3*i(R(oQo#KG]Agt5\GtO6:C+P%bBMI#[n$'7gZ,P:La8UVP(K3G#ZSeFFG@,N,T:3cT0$\Sd\8mSW<VJ\alpG`h'-a",rO<MjgWQ+`qfhp5*$mJ;/=qVn9G(i'['>GaXT%6foG8"7n$;~>endstream
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 139
|
||||
>>
|
||||
stream
|
||||
Gar'`YmS?5&;9"kTAhM``PkDdF-fp`Q&W"d+=ILEo_f.2\OmWL@,P7/g.oDqYAb!JMpO^O:emFgZ@onCPq82Ws8G-_Tt6^R9oWtig34W3;D"0MP=sG_Q,?.RGJoD!mbh^0(JJ'S*<~>endstream
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 137
|
||||
>>
|
||||
stream
|
||||
Gar'`YmLOu%#!S':[scdO`SgmmFhnNfa)j*5s`"IhnSYU[Z\E7%"&Zajn-an%&[XG#`[mI'eeX5F5#B](9((,pZH62[FH7Fl==&J^W3%Z>&B5W+giG*2MH_7OtUjbJt$1U9Q2!n~>endstream
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1927
|
||||
>>
|
||||
stream
|
||||
Gatm<D,]Fb&H;+$k`9s96P:#`mO(uhjVF*rG.4W3.V_KYQo/E[1DA9<qsi:%!,;e,dOhLdR<e&bVn8ShNXZd'g"A/`!h>=EEFjdi^h<q\93`>,TfY=3I:TO*\fPRn4j+$/ZpbtXp$phb\'b_&O8/#M^Q5I4=jE()KY<Z9&._7R9P-@"BpfccW!sUH)CY]2h<WfmGLF%3kRNB3+.[lLZ8:e%hN2;n;HW9k&,Q'i*5gtVN;bSYJ(pli6e]7c+4/gf<mu-aDt&1^hJ+.bi0%]QF[1WGCcD9@NJ_Ql:`RLudC=5&s(AQ%&8G;EObKGs8=s9p9;DjP]K8<[@(50[G*u$Gpt?H%%r>PB/9Yk,5%Htu=*U'7X9Bf>nMs/Vaa.BDW`In'fhuKATg?JY>-BrU^!fLTpVdL]W.H<sMT9cT4-#s%6Gk+E&cC^QI86aM!EFqYTHTCJA?k862AM=XrGqP2,LMF7VGW!RXZ.o$b9#n'M3r$?TUp5"B7oCE-W;pK"U7h^$Mmr.5NK?akW]81TI$/RG^p@&Z"?lK?,0sCi=_dL0qiTCVM8p+!sVXc@,r&=hR[6^?TZb:X-1i.&udHnQOip_V4g/DcAJcMR"JS8rXX&X_K<=%\2,9OT(D^hXp3L>.OH[EgN#NEb_WN7M*Oo%"6J7Tr-9+.;]Jb'X*M8m/\Ch=i4,YIe'%>,F>r+Sr?:ep_bh#Q/3sZU,HgZM(,'F8EVbS<[s+1p4#m6VVGc2*#cV!$Kh5qi6cNj#g6^3#!1mb]O$CHs9mT5Wj'"j9Sg_V<$.[BAK$eUdI'S=jp%i6DGYnK<Vu;D"m;cuK_W7d4530;>jgh<`ggO$4bS\#\V2:;$=a;VpGZ_V\KTG];MQfUpo9_unV[PdEMX\rLLD0Lu#oZQf.<J;!pU+3+5\kkGGumDj,&C5"J\"2sJfUj@$c(3aTQm\\psc@)UNe[d)DR8p_R6&@lSVtKGQ:=B\Bjjhdn(++=:MmMA!SS4M,:b5gQ5I)8!+Cc?sRK^ZeLL?Ke0n1r_i;Nf>qJgA)pPsD'gE^(lcub=tOgB[UK[7i'</7=6O'>cd!/k`[nmWXHaC=#qSIoUSkD::Js2+QJ((\oEgh^.?-6Q4eGf,jG?nH6bnn@q8=,9h#R+o.%fe'h1,)Y9p4_>!oX'5CKU].Mgc0enVj?-Y*93T:=:haKP[+&2snVY'YsYZT9ehKYUIVFG_Vd5PQpm7U/;p^ndJ@Z1hO<#+RZkBjUW^6N$B_,I]Xa53W6k_0(o]B8<=J1]-kDR0G-Fu]20+K'1HNaj!,.VIeLtnLNU(5QLqKIl.LmKnL;rcqrIf5Bcn$(B4Wrk7bI/%"r63'0.YtmjF:T;l7'WF)feBF&SnW'r'4oAHWpOF[/JCR\JA,(ihf%Um&lQgpjfsd/4IX'gXj&r/NObP>R2K?*`G0f7!t"2oO^#jkDNdUW'\"3g]&[dSKn6b(Y3SZcj]nC7-QfL=9\h\QLGI1>Udlh*n>6m_E)O;VP^1D@lI00I*"c[+[',W.o2YDe+;,ng:0&N78Cs/N_0;^p-(ZbgXA'3Wt^KN/ql$89nJ1fcre;M1&=hNkF5"M_f%:UU59XW"dPS.5)e?!fcaL9@VlM'K&.Gr-JKt.="@E]*<_m#%Pp+E/jc^N]tl'$^;_u9%#814Th=R''^:"-l[!4#iXd!_T3s=JiTFiUfbJV6:>\Tu"1kuF#$?h([_Q=$42EPZ8aiQ^Xba.tQqUB@;JZoM0-tP;eNA8<EY#,1&bropR[KkijC^Y(GF`WSdNZY2"'.8<@FiDdJIcPY>].91*7h4)B,ml`D?""1KO+2p*8J?^P:UPJb1@RuPTm!Q,3p%5X4;)LWp.0@d41"=+d2!u2=>pM,JIsJILD%J3R$6aVkga"nG'k$YNZ_4mC0q%LhGK0bjLpT9]NgL"%W@np^/mR~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 28
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000122 00000 n
|
||||
0000000229 00000 n
|
||||
0000000341 00000 n
|
||||
0000000488 00000 n
|
||||
0000000635 00000 n
|
||||
0000000783 00000 n
|
||||
0000000930 00000 n
|
||||
0000001045 00000 n
|
||||
0000001150 00000 n
|
||||
0000001356 00000 n
|
||||
0000001598 00000 n
|
||||
0000001804 00000 n
|
||||
0000002010 00000 n
|
||||
0000002216 00000 n
|
||||
0000002303 00000 n
|
||||
0000002633 00000 n
|
||||
0000002707 00000 n
|
||||
0000002812 00000 n
|
||||
0000002941 00000 n
|
||||
0000003047 00000 n
|
||||
0000003149 00000 n
|
||||
0000003238 00000 n
|
||||
0000004200 00000 n
|
||||
0000004791 00000 n
|
||||
0000005021 00000 n
|
||||
0000005249 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<6d1e4602f418374dc8e08d255d1c650c><6d1e4602f418374dc8e08d255d1c650c>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 16 0 R
|
||||
/Root 15 0 R
|
||||
/Size 28
|
||||
>>
|
||||
startxref
|
||||
7268
|
||||
%%EOF
|
||||
@@ -1,5 +1,17 @@
|
||||
# Media service (SFU / MCU) — AI deployment prerequisites
|
||||
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-12 |
|
||||
| Last modification date | 2026-06-12 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
**Document type:** Requirements / handoff (pre-SPEC)
|
||||
**Date:** 2026-06-12
|
||||
**Audience:** PO / sysop → AI agent for full deploy + tune on fresh Alpine HVM(s)
|
||||
@@ -13,6 +25,7 @@
|
||||
|
||||
---
|
||||
|
||||
\newpage
|
||||
## Table of contents
|
||||
|
||||
<!-- toc -->
|
||||
@@ -29,6 +42,7 @@
|
||||
- [11. PO checklist (copy before handoff)](#11-po-checklist-copy-before-handoff)
|
||||
- [12. Changelog](#12-changelog)
|
||||
<!-- /toc -->
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ from reportlab.platypus import (
|
||||
Table,
|
||||
TableStyle,
|
||||
)
|
||||
from page_footer import NumberedCanvas
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
BUILD = Path(__file__).resolve().parent
|
||||
@@ -369,7 +370,7 @@ def build_pdf() -> None:
|
||||
title="Android Cast — Next-gen egress review",
|
||||
author="Android Cast project",
|
||||
)
|
||||
doc.build(story)
|
||||
doc.build(story, canvasmaker=NumberedCanvas)
|
||||
print(f"Wrote {OUT_PDF}")
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ from reportlab.platypus import (
|
||||
Table,
|
||||
TableStyle,
|
||||
)
|
||||
from page_footer import NumberedCanvas
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
BUILD = Path(__file__).resolve().parent
|
||||
@@ -320,7 +321,7 @@ def build_pdf() -> None:
|
||||
topMargin=2 * cm,
|
||||
bottomMargin=2 * cm,
|
||||
)
|
||||
doc.build(story)
|
||||
doc.build(story, canvasmaker=NumberedCanvas)
|
||||
print(f"Wrote {OUT_PDF}")
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ from reportlab.lib.pagesizes import A4
|
||||
from reportlab.lib.styles import ParagraphStyle, getSampleStyleSheet
|
||||
from reportlab.lib.units import cm
|
||||
from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer, Table, TableStyle
|
||||
from page_footer import NumberedCanvas
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
OUT_PDF = ROOT / "docs" / "GRAFANA_vs_others_graphvis_pivot.pdf"
|
||||
@@ -207,7 +208,7 @@ def build_pdf() -> None:
|
||||
title="Grafana vs Others GraphVis Pivot",
|
||||
author="Android Cast project",
|
||||
)
|
||||
doc.build(story)
|
||||
doc.build(story, canvasmaker=NumberedCanvas)
|
||||
print(f"Wrote {OUT_PDF}")
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
@@ -27,6 +27,7 @@ from mermaid_render import (
|
||||
diagram_flowables,
|
||||
ensure_diagram_caption_style,
|
||||
)
|
||||
from page_footer import NumberedCanvas
|
||||
|
||||
|
||||
def _xml(text: str) -> str:
|
||||
@@ -173,6 +174,44 @@ def build_pdf_from_markdown(
|
||||
story.append(Paragraph(_inline_md(doc_subtitle), small))
|
||||
story.append(Spacer(1, 0.15 * cm))
|
||||
|
||||
# Optional first-page metadata table (doc template block)
|
||||
meta_start = next((i for i, ln in enumerate(lines) if ln.strip() == "<!-- doc-meta:start -->"), None)
|
||||
meta_end = next((i for i, ln in enumerate(lines) if ln.strip() == "<!-- doc-meta:end -->"), None)
|
||||
if meta_start is not None and meta_end is not None and meta_end > meta_start:
|
||||
meta_rows = [ln for ln in lines[meta_start + 1 : meta_end] if ln.strip().startswith("|")]
|
||||
if len(meta_rows) >= 2:
|
||||
headers = _parse_table_row(meta_rows[0])
|
||||
data = [[_cell(h, tbl_head) for h in headers]]
|
||||
for row_line in meta_rows[2:]: # skip separator row
|
||||
row = _parse_table_row(row_line)
|
||||
padded = row + [""] * (len(headers) - len(row))
|
||||
data.append([_cell(c, tbl_body) for c in padded[: len(headers)]])
|
||||
if data and len(headers) > 0:
|
||||
col_widths = [5.2 * cm, 11.0 * cm] if len(headers) == 2 else [(16.2 * cm) / len(headers)] * len(headers)
|
||||
meta_tbl = Table(data, colWidths=col_widths)
|
||||
meta_tbl.setStyle(
|
||||
TableStyle(
|
||||
[
|
||||
("BACKGROUND", (0, 0), (-1, 0), colors.HexColor("#1565C0")),
|
||||
("TEXTCOLOR", (0, 0), (-1, 0), colors.white),
|
||||
("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
|
||||
("FONTSIZE", (0, 0), (-1, -1), 8),
|
||||
("VALIGN", (0, 0), (-1, -1), "TOP"),
|
||||
("GRID", (0, 0), (-1, -1), 0.5, colors.lightgrey),
|
||||
("ROWBACKGROUNDS", (0, 1), (-1, -1), [colors.white, colors.HexColor("#F5F5F5")]),
|
||||
("LEFTPADDING", (0, 0), (-1, -1), 4),
|
||||
("RIGHTPADDING", (0, 0), (-1, -1), 4),
|
||||
("TOPPADDING", (0, 0), (-1, -1), 3),
|
||||
("BOTTOMPADDING", (0, 0), (-1, -1), 3),
|
||||
]
|
||||
)
|
||||
)
|
||||
story.append(meta_tbl)
|
||||
story.append(Spacer(1, 0.2 * cm))
|
||||
|
||||
# Page 1: title + metadata, page 2: TOC
|
||||
story.append(PageBreak())
|
||||
|
||||
# Table of contents (clickable internal links)
|
||||
story.append(Paragraph("Table of contents", toc_title))
|
||||
for level, title, slug in headings:
|
||||
@@ -219,6 +258,18 @@ def build_pdf_from_markdown(
|
||||
if line.strip().startswith("**Documentation index:**"):
|
||||
i += 1
|
||||
continue
|
||||
if line.strip() == "<!-- doc-meta:start -->":
|
||||
while i < len(lines) and lines[i].strip() != "<!-- doc-meta:end -->":
|
||||
i += 1
|
||||
i += 1
|
||||
continue
|
||||
if line.strip() == "<!-- doc-meta:end -->":
|
||||
i += 1
|
||||
continue
|
||||
if line.strip() == "\\newpage":
|
||||
story.append(PageBreak())
|
||||
i += 1
|
||||
continue
|
||||
|
||||
if line.strip().startswith("```"):
|
||||
if in_code:
|
||||
@@ -338,5 +389,5 @@ def build_pdf_from_markdown(
|
||||
title=doc_title,
|
||||
author="Android Cast project",
|
||||
)
|
||||
doc.build(story)
|
||||
doc.build(story, canvasmaker=NumberedCanvas)
|
||||
print(f"Wrote {out_pdf} ({len(headings)} TOC entries from markdown headings)")
|
||||
|
||||
36
docs/_pdf_build/page_footer.py
Normal file
36
docs/_pdf_build/page_footer.py
Normal file
@@ -0,0 +1,36 @@
|
||||
"""Shared PDF footer canvas: bottom-right `current / total` page counter."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from reportlab.lib import colors
|
||||
from reportlab.pdfgen import canvas
|
||||
|
||||
|
||||
class NumberedCanvas(canvas.Canvas):
|
||||
"""Canvas that renders `N / total` footer on every page."""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self._saved_page_states: list[dict] = []
|
||||
|
||||
def showPage(self) -> None:
|
||||
self._saved_page_states.append(dict(self.__dict__))
|
||||
self._startPage()
|
||||
|
||||
def save(self) -> None:
|
||||
total = len(self._saved_page_states)
|
||||
for state in self._saved_page_states:
|
||||
self.__dict__.update(state)
|
||||
self._draw_page_footer(total)
|
||||
super().showPage()
|
||||
super().save()
|
||||
|
||||
def _draw_page_footer(self, total_pages: int) -> None:
|
||||
self.saveState()
|
||||
self.setFillColor(colors.HexColor("#BDBDBD"))
|
||||
self.setFont("Helvetica", 8)
|
||||
label = f"{self._pageNumber} / {total_pages}"
|
||||
x = self._pagesize[0] - 1.5 * 28.3465 # ~1.5 cm from right
|
||||
y = 0.9 * 28.3465 # ~0.9 cm from bottom
|
||||
self.drawRightString(x, y, label)
|
||||
self.restoreState()
|
||||
157
docs/drafts/20260616_VOD_and_restreaming_service.txt
Normal file
157
docs/drafts/20260616_VOD_and_restreaming_service.txt
Normal file
@@ -0,0 +1,157 @@
|
||||
VOD and restreaming service
|
||||
R0-pre draft
|
||||
severity: medium
|
||||
milestone: V.2x demo
|
||||
|
||||
[AI comment]: Strong brainstorming capture — codec matrix, nginx/ffmpeg snippets, and UI intent are all useful pre-DR material. Before DR/spec split, add one paragraph up front: **product boundary** (standalone “media hub” vs extension of android cast ingest), **alpha vs post-alpha** (scaling spec already slots F2 transcode + F9 3rd-party streaming as post-alpha), and **success criteria** for the first demo (e.g. “one m3u8 in → HLS out + BE config row + web play”).
|
||||
|
||||
Problem statement:
|
||||
- near realtime restreaming service
|
||||
[AI comment]: Define “near realtime” numerically for this doc — e.g. glass-to-glass target (3 s? 10 s? 30 s?) and whether that applies to **live ingest** only. ffmpeg transcode + HLS segment duration (often 2–6 s) + player buffer usually means **not** sub-second; that is fine if labeled **low-latency VOD/restream**, not WebRTC-class cast.
|
||||
[foxx answers]: "near realtime" means from 3s delay to infinite (in case of VOD); refine better: let's say 2-10seconds delay from start processing to final destination delivery
|
||||
|
||||
- sources: raw audio/video (h264, m4a, mp4, mkv), OBS, VLC, ffmpeg, live and VOD
|
||||
[AI comment]: Good source list. Add explicit **ingest protocols**: file/URL pull, RTMP push (OBS), optional SRT/RTSP later. Cross-link Janus `:8089` ([INFRA.md](../INFRA.md)) — is live phone cast ever an ingest here, or only file/RTMP/m3u?
|
||||
[foxx answers]: explicit ingest protocols would be defined as:
|
||||
- file/URL pull
|
||||
- OBS RTMP
|
||||
others to come later (they sill be supported under the hood but not exposed). live phone cast is out of this document, we'll use other technologies for that i suppose.
|
||||
|
||||
Requirements:
|
||||
- limited CPU and RAM on transcode VM
|
||||
[AI comment]: Tie to [specs/20100612_1_scaling.md](../specs/20100612_1_scaling.md) §12.2 / P7 — transcode must not share the primary DB VM. Document **concurrency model**: N parallel jobs × preset (e.g. 1080p medium) → vCPU/RAM budget; what happens when queue is full (reject, shed resolution, delay).
|
||||
[foxx answers]: transcode may share DB VM, see no reason not to do it, but the way we expose the DB is debatable; meaning, using DB just via OpenAPI looks way too slow, but exposing the DB as we use it today looks risky and improper. although, MariaDB can be exposed by socket listening which looks like a compromise for demo, I do believe that the real cloud providers have much better and flexible solution to expose a single DB interface for all our service and we don't really care what's behind the hood there and how many terabytes distributed somewhere across the world we're using - we pay money for DB service, our job is just to utilize/integrate its interface. about transcoding - I don't really understand what's the reference between transcoding and db usage. We just need to record some metadata, not so big amount of; like who's the owner of that video, processing pipeline parameters and so on, shareable between different VMs the same way as we'll use other kind of information. if you think otherwise, please share your vision.
|
||||
|
||||
- CDN, storage and bandwidth for production
|
||||
[AI comment]: Needs a **non-goals** line for R0: “no multi-region CDN in v1” vs “must use existing FE/BFF + object store”. Name candidate backends (S3-compatible, local NFS on `be-media`, or FE static) and **egress** ownership (FE vs media worker).[foxx answers]: * no multi-region CDN in v1, local NFS on `BE-media` for feature alpha (demo) release; not really intended to be full-featured, we just need lots of disk space to store videos (~200Gb f0r demo would be enough)
|
||||
|
||||
- m3u and youtube as input sources for demo
|
||||
[AI comment]: **Legal/ToS**: yt-dlp + YouTube as demo input is fine for internal lab; flag as **non-prod** or rights-cleared content only for anything public/commercial. DR should separate “URL ingest” from “YouTube-specific adapter”.
|
||||
[foxx answers]: good point. any ways to legally grab youtube videos? tagging it as **non-prod** for now, let's see what can we do. rephrasing in general words: not exactly youtube, but any video source that provides pull-alike link (together with access parameters and, probably, in some rare cases - cookies) is acceptable, at least, for lab testing or demo, unless we'll close the gap with legal notes. the mindset there is - better to have the feature and keep it disabled rather not to have it but suddenly being requested to implement it just yesterday; thus we need to hurry up and whole infra is almost ready, we don't have to do any refactoring, etc.
|
||||
|
||||
- m3u as output for demo
|
||||
[AI comment]: Clarify m3u vs m3u8 — playlist **master** vs **media** playlist, and whether output is **HLS** (`.m3u8` + `.ts`/fMP4) served by nginx or plain redirect URLs.
|
||||
[foxx answers]: see the examples - assuming .m3u8+ts as the most easier way to deliver the content, but AFAIK there should be a master playlist anyway, no? this looks like the implementation details, not a design, correct me if i'm wrong
|
||||
|
||||
- nginx and ffmpeg as core
|
||||
[AI comment]: Reasonable for Alpine lab. Note **nginx-rtmp-module** maintenance/long-term: acceptable for demo; DR should compare **nginx-rtmp + ffmpeg** vs **ffmpeg-only** (publish HLS to disk/object store without RTMP hop) vs dedicated packager (e.g. MediaMTX, SRS) for prod.
|
||||
[foxx answers]: this is what i'm expecting from you - to close the gaps like that. i don't have deep enough knowledge in that area.
|
||||
|
||||
- watermarks
|
||||
[AI comment]: Distinguish **static burn-in** (ffmpeg overlay, cheap) vs **per-session forensic** (section below). R0 should scope static/logo + optional text; forensic = later phase.
|
||||
[foxx answers]: totally agree. I will even simplify the things:
|
||||
Milestone | Protection feature
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
V.2x demo (unstable) | No watermarks but keeping this feature in mind to be implemented in near future
|
||||
V.2x alpha | Assuming we already published V.1x releases - basic watermarking as a PoC (static burn-in)
|
||||
V.2x beta | Introducing per-session forensic watermarking
|
||||
V.2x | All alpha watermarking features plus beta (per-session) as trial feature
|
||||
-----------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
- stream protection
|
||||
[AI comment]: Large surface — recommend **phased DR**: (1) signed URLs + short TTL, (2) session-bound tokens via existing BE auth, (3) per-user watermark, (4) ML pirate detection. Do not block core pipeline on (3)–(4).
|
||||
[foxx comments]: agree, each method deserves its own design. now, since it doesn't require any implementation before V2.x alpha stage. i believe there we'll have feature-rich documentation for stream protection methods we'd like to see.
|
||||
|
||||
- parallel disk recording
|
||||
[AI comment]: Add retention, quota, encryption-at-rest, and whether recordings are **mezzanine** (pre-CDN) or **compliance archive**. Who triggers delete?
|
||||
[foxx comments]: let's define some details, although, they might change due to experiments and probably the values will be incorrectly established as for now, but:
|
||||
Key | Value (alpha, free of charge) | Value (alpha, pay as you go) | Value (alpha, subscription paid service emulation)
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
retention time: | 5 days | per-month payments, so 1 mo | per-subscription payments, may be up to infinite
|
||||
quota: | 3Gb | 50Gb/mo, infinite(golden payments) | infinite till subsription is active
|
||||
encryption-at-rest | n/a | ? | ?
|
||||
pre-CDN or... | not sure I get the question correctly, I think there shouldn't be something before CDN
|
||||
remove trigger | cron+script each 5 days | cron+script, based on pay type | cron+script, based on subscription/pay type
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
- BE UI integration, standalone transcode service later
|
||||
[AI comment]: Good split. Specify **control plane** (PHP/DB: pipeline defs, schedules, ACL) vs **data plane** (ffmpeg workers, nginx). Matches scaling “media worker pool” pattern.
|
||||
control plane: UI/UX similar page to what we have today, but it will be a bit updated after RBAC review. features:
|
||||
Type | Value (dev/demo) | Value (staging/prod, v.2x)
|
||||
dev lang PHP PHP
|
||||
web FE nginx nginx
|
||||
DB baseline basic metadata and accounting storage (RBAC-linked) full metadata, accounting info (RBAC-linked), shorthand recording key features, etc.
|
||||
DB type mariadb cloud providers distributed DB
|
||||
DB type mariadb cloud providers distributed DB
|
||||
Data plane
|
||||
|
||||
|
||||
UI/UX:
|
||||
- pipeline config in DB
|
||||
[AI comment]: Align schema sketch with crash-reporter DB patterns (SQLite/MariaDB?) and whether pipeline state lives in same cluster or dedicated `be-media` DB.
|
||||
|
||||
- probe input, select output
|
||||
[AI comment]: ffprobe JSON → normalized “source profile” table (resolution, codecs, fps, audio channels). Document validation errors for unsupported combos.
|
||||
|
||||
- Nuevo Video.js player
|
||||
[AI comment]: Confirm license (commercial use) and whether Nuevo stays or **Video.js + standard plugins** for alpha. Mobile: native ExoPlayer path vs WebView player — one line each.
|
||||
|
||||
- mobile and web playback
|
||||
[AI comment]: HLS on Android/iOS may need **LL-HLS** or accept standard HLS latency; note **Safari** native HLS vs Chrome MSE.
|
||||
|
||||
- popup announcements
|
||||
[AI comment]: Seems orthogonal to VOD/restream — move to separate “catalog/marketing” DR or mark optional so core media DR stays focused.
|
||||
|
||||
Research:
|
||||
- ffmpeg and nginx on Alpine, 8vcpu, 16gb ram
|
||||
[AI comment]: Run a **capacity table** (even estimates): e.g. 1× 1080p30 transcode ~X vCPU; max concurrent jobs on 8 vCPU; RAM per ffmpeg (~500MB–2GB). Without this, “limited CPU” requirement is not testable.
|
||||
|
||||
- alternatives: cvlc, mediapipe, janus
|
||||
[AI comment]: **Janus** = WebRTC SFU (F1), not a VOD packager — good for live cast, different from HLS restream. **MediaPipe** = analysis/ML, not a replacement for ffmpeg transcode. **cvlc** = playback/relay edge cases. Keep ffmpeg+nginx as primary; Janus cross-ref for “phone as live source” only.
|
||||
|
||||
- ffmpeg build: libx264, libfdk-aac, overlay, ...
|
||||
[AI comment]: **libfdk-aac is nonfree** — distribution and store policy risk for a commercial app/service. DR must pick: (a) build `--enable-nonfree` for internal lab only, (b) **aac** (native/ffmpeg) or **libopus** for prod, (c) ship codecs only server-side. Document in [COMMERCIAL.md](../COMMERCIAL.md) / license appendix.
|
||||
|
||||
- yt-dlp for youtube
|
||||
[AI comment]: Pin version, update cadence, and failure modes (bot detection, format churn). Wrapper service with timeouts, not shell from PHP directly.
|
||||
|
||||
- FFdynamic
|
||||
[AI comment]: Worth a spike doc: dynamic ffmpeg graphs vs static CLI. If rejected, say why (operational debuggability).
|
||||
|
||||
Limitations:
|
||||
- no dash in Alpine ffmpeg, side load needed
|
||||
[AI comment]: For R0 **non-goal**: DASH unless side-loaded. **HLS-only** output is enough for demo + most mobile/web if documented. If LL-HLS needed later, separate spec.
|
||||
|
||||
How:
|
||||
- nginx config (rtmp, hls, exec ffmpeg on publish, ...)
|
||||
[AI comment]: Examples are valuable. Production DR should replace hardcoded IPs (`192.168.122.40`) with templated deploy vars. **exec ffmpeg on publish** couples nginx lifecycle to transcode — prefer **supervisor/systemd** or job queue driving ffmpeg, nginx only serves HLS/RTMP.
|
||||
|
||||
- ffmpeg tee + unix pipe multistream
|
||||
[AI comment]: Clever for 1→N outputs; document **failure modes** (one broken pipe stalls tee?), **ordering** (start nginx-rtmp before publisher), and ops runbook. Simpler v1: single output HLS to disk, add tee in v2.
|
||||
|
||||
- 1080p encoding presets
|
||||
[AI comment]: Good defaults. Add **audio-only** and **copy video + transcode audio** paths to save CPU when source is already H.264.
|
||||
|
||||
- Nuevo player HTML fragment
|
||||
[AI comment]: Fine for spike. Spec should reference **where** this mounts in BE (new vhost vs `apps.f0xx.org` path) — [INFRA.md](../INFRA.md): public apps on FE→BE `:80`, not `:8089`.
|
||||
|
||||
Stream protection:
|
||||
- token/key exchange
|
||||
[AI comment]: Reuse existing **session/JWT** patterns from 2FA/auth flow where possible; avoid a second ad-hoc crypto system. Short-lived **HLS segment URL signing** (CDN or nginx `secure_link`) is the usual pattern.
|
||||
|
||||
- per-user watermarking
|
||||
[AI comment]: Viable via ffmpeg drawtext/overlay per job; cost = **one transcode per viewer** unless watermark is client-side (weak). DR: forensic vs “good enough” deterrent.
|
||||
|
||||
- pirate detection (forensic watermarks, ML vision)
|
||||
[AI comment]: Mark **R2+ / research** — high cost, false positives, legal workflow. “AI questionable” is fair; do not merge into R0 acceptance criteria.
|
||||
|
||||
Open questions:
|
||||
(awaiting Rev.R0)
|
||||
[AI comment]: Suggested questions to resolve before DR:
|
||||
Q1. Same product as android cast or separate “f0xx media” service?
|
||||
Q2. First milestone: live RTMP in, HLS out, or file/VOD only?
|
||||
Q3. AuthZ: public unlisted links, logged-in only, or paywall (F5)?
|
||||
Q4. Codec policy for prod without libfdk-aac?
|
||||
Q5. Object store vs local disk for HLS segments in prod?
|
||||
Q6. Observability: per-pipeline metrics (ffmpeg exit code, segment age, bitrate) — Prometheus/Grafana vs logs only?
|
||||
Q7. Relationship to scaling **F9** (3rd-party ingest) — is this doc the F9 implementation parent?
|
||||
|
||||
[AI comment]: **Suggested DR/spec split** when promoting:
|
||||
- DR: architecture choice (control vs data plane, HLS-only, worker sizing, security phases, nonfree codec decision).
|
||||
- SPEC-1: pipeline model + DB + BE API + ffprobe.
|
||||
- SPEC-2: worker runtime (ffmpeg graphs, nginx-rtmp or alternative, deploy on Alpine).
|
||||
- SPEC-3 (optional/post-alpha): stream protection + forensic watermarking.
|
||||
|
||||
[AI comment]: **Global verdict** — Yes, the draft is **useful**: it captures real config experiments, constraints (Alpine, CPU), and UI intent. It is **not yet** “well enough described” for implementation without the clarifications above (latency definition, prod codec policy, legal ingest, capacity math, service boundaries, phased security). Recommend **Rev.R0** = answer open questions + trim orthogonal bits (popup announcements) + one demo milestone; then convert to DR + 1–2 specs aligned with `20100612_1_scaling` F2/F9 slots.
|
||||
31
docs/drafts/20260616_rssh_routed_egress.txt
Normal file
31
docs/drafts/20260616_rssh_routed_egress.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
RSSH routed egress (dev-only VPN over SSH) — source draft
|
||||
R0-pre
|
||||
severity: low
|
||||
state: postponed (finish WireGuard track first)
|
||||
|
||||
Problem:
|
||||
- PO asked whether RSSH can get a system-wide VPN provider that routes part or all device traffic through the RSSH tunnel (split or full), dev settings only.
|
||||
- Today RSSH is reverse SSH (-R) for operator → device shell/SFTP; no VpnService, no WAN egress change.
|
||||
- WireGuard already supports hub-only / full-tunnel + all-apps / this-app-only via RemoteAccessVpnRouting.
|
||||
|
||||
Why consider RSSH routing at all:
|
||||
- TCP 443 only path (no UDP WG) in hostile networks.
|
||||
- Single transport for alpha if WG UDP blocked.
|
||||
|
||||
Why defer:
|
||||
- Alpha RSSH goal = no VPN permission, no key icon, file/shell access.
|
||||
- WG full-tunnel solves "egress via hub" for lab now.
|
||||
- RSSH+VPN is new subsystem (SOCKS or tun2socks + VpnService + bastion NAT), not a setting.
|
||||
|
||||
Options sketched:
|
||||
A) Use WG full-tunnel (existing) — recommended near-term for routing.
|
||||
B) RSSH + ssh -D SOCKS + VpnService + tun2socks — dev experimental.
|
||||
C) ssh -w tun both ends — heavy, skip.
|
||||
D) Hybrid: WG packets + RSSH operator — already in proposal doc.
|
||||
|
||||
DR should decide: postpone until WG E2E closed; if revived, dev-only sub-mode under RSSH.
|
||||
|
||||
Open for PO:
|
||||
- Is TCP-only routing worth duplicating WG?
|
||||
- Accept VPN icon/consent again for RSSH-routed mode?
|
||||
- Bastion egress NAT policy (Minsk) for dev traffic?
|
||||
@@ -1,5 +1,24 @@
|
||||
# URL shortener service — specification
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-11 |
|
||||
| Last modification date | 2026-06-11 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | scheduled |
|
||||
| Document type | spec |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Document type:** SPEC
|
||||
**Source draft:** [docs/drafts/20100611_3_url_shortener.txt](../drafts/20100611_3_url_shortener.txt)
|
||||
**Design review:** [docs/DRs/20100611_3_url_shortener.md](../DRs/20100611_3_url_shortener.md)
|
||||
@@ -17,6 +36,17 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 35 0 R /F4 37 0 R /F5 38 0 R /F6 41 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 35 0 R /F4 36 0 R /F5 37 0 R /F6 39 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,157 +17,157 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 716.2874 84.37304 727.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 762.0394 84.37304 773.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 705.2874 77.26104 716.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 751.0394 77.26104 762.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 694.2874 104.373 705.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 740.0394 104.373 751.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 683.8499 88.44754 693.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 729.6019 88.44754 739.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 673.8499 95.54254 683.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 719.6019 95.54254 729.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 663.2874 97.26104 674.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 709.0394 97.26104 720.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 652.2874 138.629 663.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 698.0394 138.629 709.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 641.2874 91.03704 652.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 687.0394 91.03704 698.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 630.8499 125.55 640.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 676.6019 125.55 686.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 620.8499 130.5525 630.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 666.6019 130.5525 676.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 610.8499 121.7925 620.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 656.6019 121.7925 666.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 600.8499 133.47 610.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 646.6019 133.47 656.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 590.8499 83.44504 600.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 636.6019 83.44504 646.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 580.2874 174.181 591.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 626.0394 174.181 637.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 569.2874 105.709 580.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 615.0394 105.709 626.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 558.2874 119.053 569.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 604.0394 119.053 615.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 547.8499 87.19504 557.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 593.6019 87.19504 603.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 537.8499 120.135 547.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 583.6019 120.135 593.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 527.8499 112.2075 537.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 573.6019 112.2075 583.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 517.8499 102.63 527.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 563.6019 102.63 573.6019 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 45.68504 507.2874 94.59704 518.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 553.0394 94.59704 564.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 45.68504 496.2874 91.49304 507.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 542.0394 91.49304 553.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 485.2874 101.709 496.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 531.0394 101.709 542.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 474.2874 87.92504 485.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 520.0394 87.92504 531.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 463.2874 141.269 474.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 509.0394 141.269 520.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 452.2874 78.58904 463.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 498.0394 78.58904 509.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 441.2874 120.389 452.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 487.0394 120.389 498.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 430.2874 105.717 441.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 476.0394 105.717 487.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 46 0 R /Fit ] /Rect [ 45.68504 419.2874 129.269 430.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 465.0394 129.269 476.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
33 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 46 0 R /Fit ] /Rect [ 45.68504 408.2874 161.741 419.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 454.0394 161.741 465.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 46 0 R /Fit ] /Rect [ 45.68504 397.2874 91.92504 408.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 443.0394 91.92504 454.0394 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
@@ -177,35 +177,40 @@ endobj
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R
|
||||
34 0 R ] /Contents 82 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>> /Type /Page
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 387.5218 95.58819 399.1978 103.9882 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 46 0 R /Fit ] /Rect [ 387.5218 109.7614 399.1978 118.1614 ] /Subtype /Link /Type /Annot
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Annots [ 39 0 R ] /Contents 83 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Contents 85 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Annots [ 4 0 R 5 0 R 6 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R 12 0 R 13 0 R
|
||||
14 0 R 15 0 R 16 0 R 17 0 R 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R
|
||||
24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R
|
||||
34 0 R ] /Contents 86 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
@@ -213,14 +218,9 @@ endobj
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Contents 84 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Contents 87 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -230,7 +230,7 @@ endobj
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Contents 85 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Contents 88 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -240,17 +240,17 @@ endobj
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Contents 86 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Annots [ 38 0 R ] /Contents 89 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Contents 87 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Contents 90 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -260,7 +260,7 @@ endobj
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Contents 88 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 81 0 R /Resources <<
|
||||
/Contents 91 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -270,234 +270,285 @@ endobj
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Outlines 49 0 R /PageMode /UseNone /Pages 81 0 R /Type /Catalog
|
||||
/Contents 92 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260612190939+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260612190939+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (URL shortener service \204 specification) /Trapped /False
|
||||
/Contents 93 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Count 34 /First 50 0 R /Last 80 0 R /Type /Outlines
|
||||
/Contents 94 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 84 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 51 0 R /Parent 49 0 R /Title (1. Purpose)
|
||||
/Outlines 52 0 R /PageMode /UseNone /Pages 84 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 52 0 R /Parent 49 0 R /Prev 50 0 R /Title (2. Scope)
|
||||
/Author (Android Cast project) /CreationDate (D:20260616121124+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260616121124+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (URL shortener service \204 specification) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 40 0 R /Fit ] /First 53 0 R /Last 54 0 R /Next 55 0 R /Parent 49 0 R
|
||||
/Prev 51 0 R /Title (3. Requirements)
|
||||
/Count 34 /First 53 0 R /Last 83 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 54 0 R /Parent 52 0 R /Title (3.1 Must)
|
||||
/Dest [ 40 0 R /Fit ] /Next 54 0 R /Parent 52 0 R /Title (1. Purpose)
|
||||
>>
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Parent 52 0 R /Prev 53 0 R /Title (3.2 Should)
|
||||
/Dest [ 40 0 R /Fit ] /Next 55 0 R /Parent 52 0 R /Prev 53 0 R /Title (2. Scope)
|
||||
>>
|
||||
endobj
|
||||
55 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 56 0 R /Parent 49 0 R /Prev 52 0 R /Title (4. Architecture)
|
||||
/Count 2 /Dest [ 40 0 R /Fit ] /First 56 0 R /Last 57 0 R /Next 58 0 R /Parent 52 0 R
|
||||
/Prev 54 0 R /Title (3. Requirements)
|
||||
>>
|
||||
endobj
|
||||
56 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 57 0 R /Parent 49 0 R /Prev 55 0 R /Title (5. Authentication and trust)
|
||||
/Dest [ 40 0 R /Fit ] /Next 57 0 R /Parent 55 0 R /Title (3.1 Must)
|
||||
>>
|
||||
endobj
|
||||
57 0 obj
|
||||
<<
|
||||
/Count 5 /Dest [ 42 0 R /Fit ] /First 58 0 R /Last 62 0 R /Next 63 0 R /Parent 49 0 R
|
||||
/Prev 56 0 R /Title (6. REST API)
|
||||
/Dest [ 40 0 R /Fit ] /Parent 55 0 R /Prev 56 0 R /Title (3.2 Should)
|
||||
>>
|
||||
endobj
|
||||
58 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 59 0 R /Parent 57 0 R /Title (6.1 Shorten \204 GET)
|
||||
/Dest [ 40 0 R /Fit ] /Next 59 0 R /Parent 52 0 R /Prev 55 0 R /Title (4. Architecture)
|
||||
>>
|
||||
endobj
|
||||
59 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 60 0 R /Parent 57 0 R /Prev 58 0 R /Title (6.2 Shorten \204 POST)
|
||||
/Dest [ 40 0 R /Fit ] /Next 60 0 R /Parent 52 0 R /Prev 58 0 R /Title (5. Authentication and trust)
|
||||
>>
|
||||
endobj
|
||||
60 0 obj
|
||||
<<
|
||||
/Dest [ 42 0 R /Fit ] /Next 61 0 R /Parent 57 0 R /Prev 59 0 R /Title (6.3 Error response)
|
||||
/Count 5 /Dest [ 40 0 R /Fit ] /First 61 0 R /Last 65 0 R /Next 66 0 R /Parent 52 0 R
|
||||
/Prev 59 0 R /Title (6. REST API)
|
||||
>>
|
||||
endobj
|
||||
61 0 obj
|
||||
<<
|
||||
/Dest [ 43 0 R /Fit ] /Next 62 0 R /Parent 57 0 R /Prev 60 0 R /Title (6.4 Success response)
|
||||
/Dest [ 40 0 R /Fit ] /Next 62 0 R /Parent 60 0 R /Title (6.1 Shorten \204 GET)
|
||||
>>
|
||||
endobj
|
||||
62 0 obj
|
||||
<<
|
||||
/Dest [ 43 0 R /Fit ] /Parent 57 0 R /Prev 61 0 R /Title (6.5 QR)
|
||||
/Dest [ 40 0 R /Fit ] /Next 63 0 R /Parent 60 0 R /Prev 61 0 R /Title (6.2 Shorten \204 POST)
|
||||
>>
|
||||
endobj
|
||||
63 0 obj
|
||||
<<
|
||||
/Dest [ 43 0 R /Fit ] /Next 64 0 R /Parent 49 0 R /Prev 57 0 R /Title (7. Redirect and permalink behaviour)
|
||||
/Dest [ 40 0 R /Fit ] /Next 64 0 R /Parent 60 0 R /Prev 62 0 R /Title (6.3 Error response)
|
||||
>>
|
||||
endobj
|
||||
64 0 obj
|
||||
<<
|
||||
/Dest [ 43 0 R /Fit ] /Next 65 0 R /Parent 49 0 R /Prev 63 0 R /Title (8. Slug algorithm)
|
||||
/Dest [ 40 0 R /Fit ] /Next 65 0 R /Parent 60 0 R /Prev 63 0 R /Title (6.4 Success response)
|
||||
>>
|
||||
endobj
|
||||
65 0 obj
|
||||
<<
|
||||
/Count 4 /Dest [ 43 0 R /Fit ] /First 66 0 R /Last 69 0 R /Next 70 0 R /Parent 49 0 R
|
||||
/Prev 64 0 R /Title (9. Database schema)
|
||||
/Dest [ 40 0 R /Fit ] /Parent 60 0 R /Prev 64 0 R /Title (6.5 QR)
|
||||
>>
|
||||
endobj
|
||||
66 0 obj
|
||||
<<
|
||||
/Dest [ 43 0 R /Fit ] /Next 67 0 R /Parent 65 0 R /Title (9.1 links)
|
||||
/Dest [ 40 0 R /Fit ] /Next 67 0 R /Parent 52 0 R /Prev 60 0 R /Title (7. Redirect and permalink behaviour)
|
||||
>>
|
||||
endobj
|
||||
67 0 obj
|
||||
<<
|
||||
/Dest [ 44 0 R /Fit ] /Next 68 0 R /Parent 65 0 R /Prev 66 0 R /Title (9.2 bearer_tokens)
|
||||
/Dest [ 40 0 R /Fit ] /Next 68 0 R /Parent 52 0 R /Prev 66 0 R /Title (8. Slug algorithm)
|
||||
>>
|
||||
endobj
|
||||
68 0 obj
|
||||
<<
|
||||
/Dest [ 44 0 R /Fit ] /Next 69 0 R /Parent 65 0 R /Prev 67 0 R /Title (9.3 signer_keys)
|
||||
/Count 4 /Dest [ 40 0 R /Fit ] /First 69 0 R /Last 72 0 R /Next 73 0 R /Parent 52 0 R
|
||||
/Prev 67 0 R /Title (9. Database schema)
|
||||
>>
|
||||
endobj
|
||||
69 0 obj
|
||||
<<
|
||||
/Dest [ 44 0 R /Fit ] /Parent 65 0 R /Prev 68 0 R /Title (9.4 audit_log)
|
||||
/Dest [ 40 0 R /Fit ] /Next 70 0 R /Parent 68 0 R /Title (9.1 links)
|
||||
>>
|
||||
endobj
|
||||
70 0 obj
|
||||
<<
|
||||
/Dest [ 44 0 R /Fit ] /Next 71 0 R /Parent 49 0 R /Prev 65 0 R /Title (10. QR codes)
|
||||
/Dest [ 40 0 R /Fit ] /Next 71 0 R /Parent 68 0 R /Prev 69 0 R /Title (9.2 bearer_tokens)
|
||||
>>
|
||||
endobj
|
||||
71 0 obj
|
||||
<<
|
||||
/Dest [ 44 0 R /Fit ] /Next 72 0 R /Parent 49 0 R /Prev 70 0 R /Title (11. OpenAPI)
|
||||
/Dest [ 40 0 R /Fit ] /Next 72 0 R /Parent 68 0 R /Prev 70 0 R /Title (9.3 signer_keys)
|
||||
>>
|
||||
endobj
|
||||
72 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 73 0 R /Parent 49 0 R /Prev 71 0 R /Title (12. Deployment)
|
||||
/Dest [ 40 0 R /Fit ] /Parent 68 0 R /Prev 71 0 R /Title (9.4 audit_log)
|
||||
>>
|
||||
endobj
|
||||
73 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 74 0 R /Parent 49 0 R /Prev 72 0 R /Title (13. Security)
|
||||
/Dest [ 40 0 R /Fit ] /Next 74 0 R /Parent 52 0 R /Prev 68 0 R /Title (10. QR codes)
|
||||
>>
|
||||
endobj
|
||||
74 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 75 0 R /Parent 49 0 R /Prev 73 0 R /Title (14. Observability and limits)
|
||||
/Dest [ 40 0 R /Fit ] /Next 75 0 R /Parent 52 0 R /Prev 73 0 R /Title (11. OpenAPI)
|
||||
>>
|
||||
endobj
|
||||
75 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 76 0 R /Parent 49 0 R /Prev 74 0 R /Title (15. Tests)
|
||||
/Dest [ 40 0 R /Fit ] /Next 76 0 R /Parent 52 0 R /Prev 74 0 R /Title (12. Deployment)
|
||||
>>
|
||||
endobj
|
||||
76 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 77 0 R /Parent 49 0 R /Prev 75 0 R /Title (16. Out of scope \(v1\))
|
||||
/Dest [ 40 0 R /Fit ] /Next 77 0 R /Parent 52 0 R /Prev 75 0 R /Title (13. Security)
|
||||
>>
|
||||
endobj
|
||||
77 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 78 0 R /Parent 49 0 R /Prev 76 0 R /Title (17. Related docs)
|
||||
/Dest [ 40 0 R /Fit ] /Next 78 0 R /Parent 52 0 R /Prev 76 0 R /Title (14. Observability and limits)
|
||||
>>
|
||||
endobj
|
||||
78 0 obj
|
||||
<<
|
||||
/Dest [ 46 0 R /Fit ] /Next 79 0 R /Parent 49 0 R /Prev 77 0 R /Title (18. Routing \(normative\))
|
||||
/Dest [ 40 0 R /Fit ] /Next 79 0 R /Parent 52 0 R /Prev 77 0 R /Title (15. Tests)
|
||||
>>
|
||||
endobj
|
||||
79 0 obj
|
||||
<<
|
||||
/Dest [ 46 0 R /Fit ] /Next 80 0 R /Parent 49 0 R /Prev 78 0 R /Title (19. Appendix A \204 curl cookbook)
|
||||
/Dest [ 40 0 R /Fit ] /Next 80 0 R /Parent 52 0 R /Prev 78 0 R /Title (16. Out of scope \(v1\))
|
||||
>>
|
||||
endobj
|
||||
80 0 obj
|
||||
<<
|
||||
/Dest [ 46 0 R /Fit ] /Parent 49 0 R /Prev 79 0 R /Title (20. Admin UI)
|
||||
/Dest [ 40 0 R /Fit ] /Next 81 0 R /Parent 52 0 R /Prev 79 0 R /Title (17. Related docs)
|
||||
>>
|
||||
endobj
|
||||
81 0 obj
|
||||
<<
|
||||
/Count 7 /Kids [ 36 0 R 40 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R ] /Type /Pages
|
||||
/Dest [ 40 0 R /Fit ] /Next 82 0 R /Parent 52 0 R /Prev 80 0 R /Title (18. Routing \(normative\))
|
||||
>>
|
||||
endobj
|
||||
82 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1116
|
||||
/Dest [ 40 0 R /Fit ] /Next 83 0 R /Parent 52 0 R /Prev 81 0 R /Title (19. Appendix A \204 curl cookbook)
|
||||
>>
|
||||
stream
|
||||
Gatn'?#SIU'Sc)J/'_]eX;jIs\N=_LLB/:P7d=7ZK9d@4ZQuObjX1#A8%+ni6(61%+kQuM9$b[Jnsl%W5k/<=n#?KbUP.Mg0OPmCHXIGBTY-"jH1C]^SQ\K;8[=^QOJXJ#,*24R]M3(Z74`tF4J?Hn,`R'j0sKC?Hma9XUel5ji5"=i_>+LI1Pnt[pWFI-5M]Y`fGNpRY:PXTmWGAaNq3t)5umbf=41g3^Ou)a."?gB5<b-K5N;@!jFiZj]B#?b4CRaWpUOg#ihL0FX2hHkq2aiCFV_%>T5]!7R*iU6mEip]@3kU>iIMiX]mKKJq(#A'Pjg4e8:A%"?r%70_p@OFr;$*^?^>`].PUTnR3$_87Lt%eoCMe;>9pOB,h[ao#coA2Yu2WF.RIQ(JYFoP#;jPJ.&\8-X$0>5Wm39C8Tm:e7DSpZBh<]B[O2(arg?7=5u'e23>@I@g=h1M]Oc9$)"EEt_H)Y>WcF<r)=<fG@`QQ]>_=8L8m*;6)P$JY^W8e,89!-3M\6f+^HK+)I-te1T&>PXNbS'O*<03.*\(9*(&UQ:X.-sr"q<.O^sZCr_5_K/]hcq3o?\C".&O"Bj*6TA/@:9O52LU)dk'!(8E]&<A+$JS@3H-'G-]Zs%Q:>LHYk+qTdNE!l,g.2[F5n%]/<X$VXpJ$8LSm[i(?&@Oe[N5C/cQDnBq(,f-WeD\R?NZO$X\ActJHW0!2EpB6L<LOha=W&2<B$]#XJ=4o,FlT`mh,Vcp]TCUP:/)@,k]Pi1gs^KE(JIReZCZ\`SkAl-0B.?(Q?DNgdM]M_+4*bXNrJUW7KqAC2GB;)=3;p;!A31TZY/HX^Dk)GMYkSEE<XP<#8q`*I]S.B+C`(Dn5;8]ps>c_m#\TqO>c5R5J&FPt4jtG`18fg(D]N.'n6Z"<F!3fl(NF@CM23ZMf(Alr-XL:mmPue6)YW@P/&f(R%q-$"uib8=10sm<qb\i'*s&UH9@#9qSi`jp'mbs@"!YT1X&sfep*Wq349B`@k)icbnZQkG2/Pr9m#>Q/5$"IbU`^m5(:,tjHT+5>W6d>Lr6h,ma`pNi=[(?)6H`b"14+_7DK5he6Hkc$0AUE*>!iYTo,C.j_\G-CDC*AB~>endstream
|
||||
endobj
|
||||
83 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3529
|
||||
/Dest [ 40 0 R /Fit ] /Parent 52 0 R /Prev 82 0 R /Title (20. Admin UI)
|
||||
>>
|
||||
stream
|
||||
Gau0F=``=W&q801ka/EW-T8s@E,$JbfTTjs)*=#D9iWg%KHqlY_#[+L]=%Ze)a#C'i[JM58JDM>GGEPNIpW9baS8W<J))]la#QhB=$TVk^&g`iFI:t%mJPetn!'QEDFgXAa?!G3/K("Pj*TF;0.K%dWarnm$]6LLmnf_c[Laj"+23K9)s4#%)CCQY7eGsck!(W7=g'WK4ktM/I[g?aP^g_LP6$t$aep%2@juUNGatju,Q/[)j%7f9:K1JZAQ)GI[E"L:O7@tpKSG^aa\+D)7al[9PA'<d6f@UYVpEUWhFp!^gj0&21orVq0d0+,+'J<QioH7*d>#Hr/>Op*TI21Dm&.hu#Dfn9\=^FNQFoPsnQ-#ZqoK%+hL\BEiaU@^?t>)h\p:l:BCq#f1QD\/NI$&b*M?[o:NtY_\dWs&2X%4e",^a@O?INF,`8cPP?;#10/!sulN+Gn`p'(_dYL1'&=88Cg1T9*\3F]k9ecDrGL9KA-Vg"4k+r*tQrs5W.Ds6]93][WWaQs_\ne=H74IGadN]D<HCXf&9B,"eip6nmP>7#Ok6%6Q(iNLs/m5;Yi#TA3d9dPhW2<RTYn2)%+49TSiTlU3L;/qnQX7cl(buM";J"Ys_eAH\4-F3t8k0,kc4%C]K-ja,Cj0u_-/192<LBYslVR2\U'Oi$C?]F%>kPHJ_*c?i(=R_>R(CkK7Q[,;j_2bVp>gS-5"XEI?2tF?k"uZgRbl$!6La1SA$S:>/&i`?i>N?Gf//=1Qu=CkPX"u2O8Khc?2TE]dIDMqE`fUZgM.G]>G3ErJs1lX(milt^)GoC/r+7MARWdaH;Q`ebf/duf]@RH`##XMPE]"uZDEU41u8dk=9\%O?CYM1WYU6rGB$1$cH?r?ctGYH0e[Y_0iC6P!C)@f!:O]lV!Yg%HF@g)m2W@b!5A6oc"2EpG*(C#2*d_4<[PFK?%'K(W4E0ln-)KgS<<:U^<GaN_VH<l^qITDSGo)US9jBPnR!3098^,/SAeOm]klCW3emD9=00smV+2KN;4+A/9GOFg'VcpII$Z*8cL^C"L_]e5/1F=VLP4Xc<"CtI!YJq!cU&6IYK'ND>%nIGMR/'&4daRa(?\')0.WqrS9DE>Sk.ddg#*O8`jeiN::!GIN)P]4:b4Yo\/R7YRkk?JnE36KVDsP[(4(\prg;OA3P]sY;,3`H?%Q9[/='J0mIU9i@.KpL8D!lY8^h0IC_ktH`Yci8%LE5r*V>Q1p2SAHls^eoDo<]J1RWT5d!Q`L=\t(.h;9p1?&+QS5DK'Z77Xah@1&TVU30D6k`B=ZeI2m4bqWeQ#0AW"7or*GL%q)]N,p7E;,+R=bTJg^hb^-D'OC4)L+Z@N:5A[inWIVYau.Z^jD%Gn>\k92(]/?sbm:)58#E"%Ysf+<\T84H4+/Hkab'"tLj9<i'1;.Yks/s_VFm_%Stb4.9uN@QTr';4XHW>YRaqK+8l[t$VU-QT%B.oS0E#k!<?YYb>iLOD5T)1%n`GuZ'^('24ab@lcObkj2sEA5CE3(_&lVm:$kXt-<MY2>O4>qtS]q2//A-`>e=me`-j0)PBtV;Y\C\&=Wn7r+-q#8_+_^:?L6:>`E#Q*>=a:N$mZ0$rrJbcggjFc76&=D_W:B.:+_CS.M2;A=R*fF50LV4cn91h5JSI.*+X,Vi;ik"s\Wh#haFP0?R"qs]*g81XB;3@J%N$eu_;p]n/57!Gi&b@9Pa=XC!r&;jAgL;eE0`T`E%Q-\9.pBslO/XqdXEH(&.81Xg`QT>%W3oN!lbWdl?FP&Vk1]mBYcS9&g(3S)PL3``/`C;I0tS#^r)e:ZT/bf2?u@3fa#aX=FK(I3\e8B(HO7&(+_l3fWqRXJU`0^PAJdt%0c%Se'IIoUcb!SH+VBpp_:LpCQPU3b6L8TqgOeOc!iB3<uUS-Cr#+;Bu$XP!E40<!M@L=9Zr\*Hn$*)WR?<Hap-(pPm2WY)cYA0B0dBJHROjPhM/Wt3MtA&bB;(dFm,O:%0[50bUG0+F]Slgq2.jj751O"V;Go35>E*:=9j=%W2Z`f$0$l-/mEZJb^"%s0GBJ9.>3q3E<VrS\EBr5JRUb#ihR9+VE8\-:j)(^:Ah5Eq1J19Xr3D*3pkH(?.O0>7cI@B,L`/'MGtDd)l$P2RkD=G%sFqr&O.7M;rAUl^0WXtilphuoUoX3CrD>=n5;!@:_EX\&7>,5D+1^*OR2V/Cc?t#*k@TlAB]U0r=ik:oeQ\Mm8VmL`YDuS<]WY/2a_WABX*g;EAI)co[+OjWXK`(VR<St2T/RGoECQ\J@jYO%9Si8F6tG'3H0ji6q"'4D4=R'/)c:d"^]GGFoq\>&E`qeqd&4j.6n^A;29+a6^O_R>Z-G"NZiUk^Voo'CU+jNbnW;q;"qrgXG/WoC>P6$^,RHt=9gOt6-,g8d8]H+NRO7VqkD(.GuaTlTG"^*;B+=Y]j&K6qDo?ZUt4o8gs9RLQfpu$L9<1E?jOjIH1UCWfD4Lflt18YM/l^r471DqGH)23nkBjlDR*0i/gHNqY/VJV=gb$(NmV%j[i2#k[&):'dAlle((e2DKXDX5&Z&W82[Jjgk;d6,L7B>XFRaWho^L'*UqLKo3*7(hj4dGWUIc)r.>%.tj]&T8<PQkP6C,=YmsLr.b%J]OK<f.OpIrA?$&Cntj:tEb?%f2&OgDrJgA"sml??M_Fa.H@kBAeU>sUfd&`\PZ(6Fru7$r'\e5o5)"TO_P%c:4CN3nF\b3J/a8=jh[Y'<jbf8&\n"E_"M;6V\aA0uRR5GmEo9TTU$X<XZqfpt#j(MTbl?nOSdBhZK_"Z/DNlt74Wm<"t=&MDVZ!Nb!8^l[)C'<B5i?!P5h:)M#2a:AL%M\mD@pN5LFTUn)a=3W_J,I+eB1;"/@BM"I?S*$qQ^qO<"/YFRad$e^5TiJ&&Elcf*,m6M:W_LXMLu99*m-HU_#E%l]*p^U$CHia95`*5,TcFgs[!eW74Xa:.C1h[_F@0hh6'Z:Y0pVHJ!K+#J3h/HH<L@W*)ROFt-(/mr2<l;>CKpa-48LBr48hkHmDQ5sE5)"0`\RQ9]PtO5?U5&oD=iD'!*3bkOhsk$3_L];FAmtW\5=>H*DB<-'g\=fJ(88LrN+t3/?pdp-XJ9!*[&ghR,:nQg-`.Xc5FD.a%MsIqh;-2Sfc2sh)tI4?u%ZN_Msn.SU,a:WE<Ec=U+[.8UddL6<oksnH90LlRrE4ZN9Elj8?PA9!>o[VXVguJH$92km8HiaX=;aQh>$^m0g/kTQCL7jnJT4U"taB7g-bYbUONl0tO:^me#Q4Vu38df$_9`kJ^_,rftMJZN3b%O/O)poreo/,g#HT/HiK%Fo!/tV5qccM$8Xj$8:QYYXJ;]L7a?m=d(e\,><2Z5[b*(8%X5pfVftuZXaf;kkfFa"'f@dDZD>`N^F0.>4IKF8@G;$hh/9V8N%RACqliVm5p7h#1+[+k3g5bW%7;i%60P*p:C7n_!+I1g][H)"6$%%]Tr%_PR_:8VsO!035<H[,4Iou(Or[Nmb6Rg[/tUI5?<J>P5~>endstream
|
||||
endobj
|
||||
84 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3145
|
||||
/Count 10 /Kids [ 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R ] /Type /Pages
|
||||
>>
|
||||
stream
|
||||
Gb!#^lYkP!&c_:6@ZdC>I#TQBo'M'6pn>mAQR7`h!rX6@=Hb7n0jj'@Z?8Y9pWi=UMBX?=^7r#t.+I\1c?k!r$q<#Miq.0D8*F]H#/=Q!#o_,$<[AK?5GR34jS8rA4&o#'9heZNY%a'#==Th&q=@n9Amt&T,[nt=NTl:iDN>l8J0HU!_29CMB^EV_5X>6gL.lSU&&HR0)LmMWI<-^U^YV$@lZde96AWt*3+2j!]Xpm^NdobO/SV!bB=@9rp=#R=RiK0Od=`&5I:>JTL1o#qdS,+<Q,<;.G)Rb\./Q"m4U3\Q4M&?ZMV403S5#b<HsNH"cb&XpT/(c^@&JcXM5CmH]Juj,m[+P[D`N/%7-CG[iE1I&pcnDUX5(`J]uUXbh7A*'Q$7T-_9.i$;1BAW&/'oRlfWiEi[c;QCWud1`\+s8b&3c9[j#_9R8<Enr#Z/3lASeapqhTe!W$sMgsMc^rbIeqdr:9.8J:Rb_-iga#&i:$4T9S$@YHV.q@#eLR31hu?5PjXU;P;+1-qO"RjN"iS>.c]_#k&oTUpRIY%U3Y$uC`Wf"=9p'$3'p=">6>99L#J/;qj#Bb`K/5=H^uDR!UaJrjfRpE_B_Q>c485?n=f7F<;u^p^(a7_1XR;)Fqs'8N`#;kAe]rLMW`^lBk91Hqa99;C?PNXMieU<@i'P<.+!\[P?.DXN(/C>?&7$WfMkW6(I7TuUb6.Cdmg+/>d<;:9XjO@8SX?K[M9E*s."im<H41V3&gOn/8sYX+>,l_-"A0hoM%Z%,#_N$H&]n3^jI1%^ep4j@I4-m\.'+#,'7Bm199dYme])?RcBGX=158bu\W?'EXs,+/NPDW\S;XGrBf_3=h6BdStlin@uI7LK'Yl`MoDGbT_,mZN,&D3r/br#FhLDr[d%;n<:f&8OhEj>BGjC_B08OJH!iCm[aK1h*Fdn//qiMh!(=6nm"c+"I=^d-N-Q.":b>L=NY"9$+'2rg=kVou\H)HimYS4bBhg.u3&V7Q6%L,RZ>#[W&U*9YAhNR@/'s<beDq0X+^0mKc3(OtQ(@O<-j7Y0j?m(B2`7M/FA\h#jE,Mt[TW:u3O4(!4AG%%t3`+niGU+n(5i!%$S;oEURd/aY-(CsQfXl!\$rcH;B7/PaST+qFDM8BaM7FV&)US#]SM'r5Q!.Y53m5o1iGH>=^=dfQ=<LfEX_cKl+Z'g?)m#UI')K?&+Tc%KXL>DhuJdfG'#3DVVJ%[*_c"-I'5j3Jgp*54'L_=JjE.*iX\X;XMf<&G0W_p!#qe^K@9Y#:$m[Ef_CZ3W`hSUME#/&2Dj2I?6Z34[3t98g:js$R1R$/ZmLOUm`H15bo]Y/A%3>\)UfEg!:rOEYudY7%R<=o(,Kh&mS#T-ko,+ts[pUSUUP_$"-(+dBnK#;7MXb[+SH<8=>V+DO\NfJ+*be:$NZlLHu'+$l7o6.!#9Vbc]jkWimYCk15^$9@Z0fs%I=2;-pVnE9\*A.h8[0WKWZIl`,fpJOs-J"<q)a[;hF6*>YiDgX.?pJlAnPC`:(=b*DZ!D61"!M5/P-p3auGUaK%Sl?K`.9dq5b+(c%:d3qkHu$V'WbG(-\!0q+U)Jc^k8X+=#?!o!@fZ`E1e78'a;)8=->2N=!K3rs-"D)Dh?t"%<;3+Z<N1MdQp!*-OiY]m@[$ga(JtE+oa=_:f;ZA<#V.OeAZuH3K(()-,L#D&,?7IAkl!dBM$+hog)ZFZ$4UD^AMpnD\Rq_Ao+AhOEk1B4cCAV"(0,*V-;t_uWHto0\c_lb)6aHB:'r@;NaT'<Z"AUA[YP#r6ZN2/W<]/IhLGO8Y)"@n[d4gGBc]S"A*BZDFi;Yr]7J=F<_%H&F;GT@>-j'Hd+#tm?!>s&Aui(n!Fg$WraU`/<f2XS599ahme2*SZeZrh@;\DfHj@?paZK]4"87>hFO3HX6p!RQ.$@Dki$)+N;/VV1MRjV:bh[qt&7U:!l`&g<>lMC%MT>me"\>YOXB7VLo[QplD<JWp[nTe1\&m<MFL$RiiRB_`6*QV9L&&1b4:S/6-hRR"NTc#\\]Lk0iah_,-dc*3Q[[E\C\G$0`$<ct]7_h0j.%a2!>"B=@=Ap11gW&X;a/,2/sSM(%b8,oP)L\Uangb3%>o%g)\/B7kRtHKNlKWD/a\KFROX`MpZsii($4epY.03(-&p]r&pI_QOkZ6XF(WW_C+Gc#<lN'lPeUtU?IoV+*Nm=]H"H0*A1b"+`.U%8Fc^7d^B&/bG_8UI*IbQuH8E50ELJoE`S:1RDo44m:9t5>GT5IfqD,_`E@R-i)l3$H)n\+MDFbZkW4E?OP9$Brjndi]NiD@emDr"#RQVl4e_Ef!d>f(2&@-@f[!/leO@.bgi=CC<5@M?aZ6<FB&AHK<DgV(*>7suAE<PYJ`pMDQ7h%u7N\mfSX_RO[U/g!JW(pk^L&rm6UVSU*V![O?Zd`-Q$dmX?JO!0Enj7kin-*?IT>!Yd%Lt%%:`RkcZ5s08qA9$QcW#(KGoQCaBBE6pXqTp7<HgFUEd"p-n=gu(L-8JE;@Nfkm\<9r#:/''RSH1cW+M8$;2k/N8m%/<4?%N=264T"L;Or[.fe!mI<?aG+[clb:sHhOcV`8mjmRWGG%nA7#d,=W5&@g/-u`)UO^9b.R%4+[^0[fO1j)f9Z?5j"'\(4H`!;kp%B%?sc,6Lf).R0m=;-9+<1Q=ClPYqq0n[os"gTjQ,K0WkCJ*^rihl:?A3l@Nbbej[I)qXYB3/R?8M#e,6<PM%jb>!V*SEi'G@*i\?l`:4o$4DB:=iZgS[bs8lq5mA%KgrLqVtQY=I;R?QbS4nI-9gqRr3YT]VYW.7In>VqG<hrn6.0q-VFJ5#"o`8#,2e@7&p$GB\0+<Yi02C)@7C80;.'(0`9m>Q"3o["BC^NYaML>%T2GBp3M%".fZsMc.uM.M;;V>/u"tdeUM&/c)m(6@%X0s"/r[FSmhk934-p^0S.4fhf/).:gm6mYGl)>k272QApZ(RKZ7'*'7`9j:#D4"00kk[-a=UQEob[sQMsA]f8jBUM\i6sLMkAb/"@[I^^;!W1Rhj2eRe#JhUg;'e[D>c_s%;;&Ji-o^)i;(e!o<_gYpDSX`sT;,Y:'\DF.lNF+XPp<%Lu&At25+%UA.DkjCkhKX%ZsB')PGj?G':j3m~>endstream
|
||||
endobj
|
||||
85 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3400
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 856
|
||||
>>
|
||||
stream
|
||||
Gb"/)qet61&cUU9`P@65b132qHqErR./Zm]j_VnuPbLFn$8f;V(fR6ILEAZas7Xb/-#+_u9.).qoUs,8\\#2[1HXKA1F)u=5:$2C0*0A=d!eK8-nq4nd3K1@f?bHYI6Ad":STG^.adcj_&oP/_m!.(]8EVh+K;4]GIeo>FN)`8K_$F\%3ln?FAl(n@_`qW6:bPY1Wj7#U5uDCl6E,,2;l7@;'n:O(mi]VY+Zr%X",ibX-s:T@S:dQfPdD;e?0.#;R7iW7TE=_7V54P]p0$MjlsQ(99c)\&kjXFAHr]n%HB)qrg?@TKV,Y?U)T9NO\J-X8lbBXnbBOnYUZ+TdI9935k#5jI+P!3ZE*$=iNH=GWA`:hHrr[$6:k1U,1h`)e^Idi.'[V-75/FEq6.EGH%nEG"cnl!oeSp9DQ9#/Mi6G*1qi5bqRt(i.MA1X@kX:P*`c-ZZ00UDBaB/!6Q@FM9H@fAX$$U[eCgT>UXN1.2uV.&5Id/RpWeN,iF*0%c+n%L*7dr-Z%E#e$rbRqFm*"-Fn>og4hL,h:-T8m&*lPQ4JrPfLMAI8`q!_-\AU`IK]'A&je4'\<FdcHZ5u%=a[oD7NQ9Z"hVW5J6P4MT'$i#J4KP4<@P9:^KEIh3hZJ:1\`$jJ;S#T11?r3UHGf!OpZ]#OAq[$p%Q&mlD/#u2En/.9d#)?%D0@8Lq-*:O`etsriPG(i4@S\nhs4lFdMhCdGW+taYPU9WZ&#]=jDQM@&NE8)`I:F2fYR`$;sN^66-XC^g`$aK"@,IFoZ!VJ&^4r?F[X+P$rAbhK3_"-"9/=@,^#B4VA%n&LK@!/%Z_oG?`kh(]C]Kq2TaJRH/l><kud1J,D\)RC(jnh9h=S#/U18P+ITDii)S0TKY>fa=%*5>oL]3l'b*^Q.h-`'1uMB1!WSDm<]AU1jpa^[ZU;NO>$e:SWldeC:=``X'^_MPj(l5:FEQ)ed4qImLSQ)<G6_D,4)j-+776)!+PdH5'JS4".`*$igD,Z#UsU[]U\^'O:8s^P3TZlN6d"DX'dF7#[6gqVS8)ZE)!5$l[Z#<2Xl#$3=ocSoRlETcA,5nqH92ErG'=P=X6?qHG3Fn]%Lj_V`bdj&cYY?)kA:u#IU_e+[=!<5K[Hh8Y%L>_,#fnRE$D=a,AAJh4\7q!Dd29tYuO;hqTRS3OYIb49XF0N9N+q];6;qYl.)i;qG3UHNS)LeWk,&IQhQ!ed-XTQC6FS`2/hk+ho:&TCd4;*s1`-K6JQB%'n#1BY<Go6WZi=dnIi[)1pTJm't]%si]OP-s$J_*]U@mbm:5A*?/P2QM)XRN54`sDr>0K4g[YI([BYQS^u"^f3H%P#n"i$C)^-iPYV1WR$"Z/Zm$-gQc>%Y2A.ZuUF:,F:)5hCW/E_,'n:GogJaYbj=+/Qb+Ee(TrW&E64I[A>V<,#*$UiJSHmeaoEc.@BhEolXfrdDh'ufe,;a:7..T=M!p(Ee!hejM,?R6Nr@XkD'[Y42q?U?>od$9WeW.n3n+*<+N4R^(T1Zo9(qp'$3h6cFe']PM[1F-O3UB_tTLm%S(7]_H;d`^V1odOhFY@2/1DJ&0jU3':hM$*N0K\O>.FI7r!VGamL&b`![9ELE"8NDVUh]Xk!kGj<IDlqgg")35ogV60`1B1W`q=D?h#cV_Wh)N=b1h;7XriELU2I^4al7]I,ON'lU8%cCfV)>1<<F.Sc=H30ufpG]Z"*RMACp0?/M'&\<)F"IY!#l9%J+!W'rYBBb7,BXDY9euE+p6N.]$7h;*E90-^hK#EVGK]1%N2m]lE__OO?0l_3sNlP1,MX>*HuU64h*dU+#aPXV]'kmqEJ*>2mU.@rL+iir<V8(?=VG+anen'WVDbjq\(VLWNlToK#Dm.d%"J/e[8'Xr8MAun$1IFEYo2qV\#ZbP*>hP,V'*k%R8001KE^6Xa9<HKGF29W(9cTS99_T&-3-@!h]$5Hp>?UAnBp3UQ5K]=kn2HE4`1G'Wfj-F#/NX^I29T7:YbsZ1lQ^W!_t+3B'DiLHuJQcHpcEWUG1HQf87bGnJ;);Qq?QmT%bAfqYc9=Qg,p.$>sWCD`j*_Q"M'47Eh_h4uS/:K_RnOF#'UJ9U3](<kS>lLV_Iacj.H=Qd$>%#jafC+\TOi^J\mq=LeFSWD35WmlZddMRgMO*l?Q]qSO9&PG6+)350WUT(m[G[u6O3kb_!qO!BbQHka!,AS($68!ngBD=8Be>%hW6$`n^_*q,X/<ODFP&O/"R#\0Z8M/ItisZ*4c$*?)^;[U-Tr\reJ12)P0SP2q/_X'\5EY4=/45OMf&!eCN/cp[#e,g#l(AJQGKH'edqE=G!_#`sa7%p^_)\]O7iL)^7.Z1X.A9rKH`0=m]4.5d\mnDr,$*?OPnbrI!'*aJHigY$RP/k4a8?R]Ajl_^BASggUe;QQ09!sJJcB<eh<,cO]dk>cSL%3F,dM_iUJt-`odICPG%etE]+U'ilWN'a&KkC2"dYq*))iAQZ*jXJOQMU[9'AO-%qGu%YF3f8ZT#t&?sW7n'4_T,r#k,,I]skE*plF:LcLpBh"7=c@Abj`!QAAQ/o*8MEIIcN;<5!Le]ks=RA,r[+r1J-N$>G?,FU-`C/)!=.5ehFj7G/7]a634Y,bk\S:cR!jT/c8%,%P]K91@@R66Vb1&b>a.n;TP.oQGDUJTpJmn"t.,!?*AaSU5d$;;9.Bp-[7]6nAkA+CO"[+ifuYUNRd[&1qa40&p(DU7fjXUB>j*3EjdTn@3Nc+`M3"l%iKIG80L@WnQ-Tlt4"Lib_AP':SeW\4G"F!DG9(5RkcO69_[qBN$G+c+*F#Q>,6=Nhs7G?/q+e.Y<&.=s/'Q#Q[KMQCl)Am:(Tb\$8V0KVLMQ5Ku<LFs.d2p=Qc[KhrVYuN-p))BNr-q-qNhcaY+/Hi_<FGs,hN>4ON%lD4tis!8IZJ&4A/Oi&7l+oN2cF\l]'mJge9,>HOhk<j0@u9Y`<11Bg2A2Z@lsR@ri[iM&K*dGk7dM`r\-=[Hb$gHTR@"h=q!Tdc.%iiMPN3nl?8;Li03qudbTigF<>TkH,dUU0A/$%0KuMQU@2d+(1h%-@$Co%HHPG1s.VXcC:La_%X.hu!+Cn)`BuSY/8M;WGoajJGG>EEBU)1.QQ"CVBVE%qYgJus.7+l)#\6('KSBLLtiOLP-AB<GsJ6#Ajh1YX!)QkM$If1f4W+Qh+UK"cbl[beas(_'sW78(LTt3dcr]@dr[39hn]\;s<)ug\<\D.+r4E"!bH<TolKj.o\B_L$+L=Gho<IZ]Wc\(k4ZqECU4T7>-%k`UMS).QN,@62;rUkM<>=qZ`IGTS8?a)!p,Q'Tepk-V2^OB+`1>d?sgf$G#Ft,bi!*!0XaXTI8NSTj@Y5aN6dJ%p%WLRVq91sPO<pbI5rr<`gM)5~>endstream
|
||||
Gat=*9lldX&A@sBlnQW3MH6?g9[fdn*?U`;p65qpb6]$g0&SS^pQ]\O+13hJ(gDWgp\*jV.g^d\#L!-9%.H-)l[&bF&?Gj8&J31E/suR)i9*cWM=Mo,TX?,2qnh@Z0VKQJOos[WU=o^D-1_:,p,oUM\.>>XLi!D%-s[+u>QAl.OE*E(/E,U?isbLF1b27/1<<2`(+fqW0r?,OQpnB>(1@fOaX%(n&7!&YNONpMluP_'66^3eP+o,k\ntM(-ZURQSU,&ZFWIepSb&It\+"LE8b6C0XuA#m(Wa^U^;#jgH[`Q-PkR_6RP7O(;O\>aB2,kl.E;)A^$[6X`hd8?#t(Sk>7r[nX"2BXSn\b1LZX\]:dDLl;"QTNIh&_Ic)].K'rQ?Q=[r&TQ?C0^/+\Pp?W=Itmli$L]=L#DWj4'0cnEl:4u2Hcd7cl`6r6kG0`MX7>LR"uU0T5?/;8BP!b*tDc*jj!1ghnJ:a\]#^s+?&_Yh;fO&mCt6[WWg5FT&0Deqh^KqH2@4]:rd)f@H1m[:9fMsdK+TQbb`7[]]CAbY1*h.j;+ZS4$T:7(iPJ)CCJ7iJ`71#D\I)OB&n#1T[&h>LX[+2*iJGr&T&I%63USi\jRBH-\*KVKQV(PBHcGiF,@@[>bkO7CfWZ)$:*`ATVG!QE)kJEkP[mY5e5p4rU[:5HrtOS5^&Bck+EgC4#9+80]&(qJ6Ubf_0`*2'EOg6gN[EeMM>(7IUl-?D+tjq+XlILG5g(u9f-)PL=?<?jm>+_h-u+a?@U>?6GCTm%U$iV"qT=s&c1cP.k'd)2kgM&(nN6+?6OQTe9=#A,1k,\KMdhZG3^7.eXVjorW026W8O0_krP3e[h~>endstream
|
||||
endobj
|
||||
86 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2852
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1034
|
||||
>>
|
||||
stream
|
||||
Gb"/)CNH71(B'h3EBh$I3Z.C1VKT#g8NQ7l`(<&9c>JoJ;T-X7'+>"_\ij9phtM^3#0]FYajeg@=1T'_'h?]7ONtBP!>0fPnp@eHpb[R$B*(JQaW-*\-nr2`MojB<&_WH!$pg,7$CWlg%g)tW9;:rPYW-[`6F$lS3Y3P\BlHaV#UmoH3YDXcW#H).s/&R(^$;R@ZD_k1*fsE1h<9BiWNE\1e,`Vl[,PPj"2f006XhgT=CaAaH8>-@_8+5R6A+Z=k8tl#%)PM8LnJPr"u/@rZkk>(*c1-E9R_c=:GLp3r7St#<>.c+*-=IgN[A^0\f4t90$[mIIs"aqM_#>@U>QI'C,lDm0J`p]<^?-F59Rf0Ioc0+:F0#qh'`$qC#N>j;[T,[-5:VcA5Dj5T#3Ubp%0BmU;kHhZX,<sc4Bj!e+)+Xe+'e8[-7f"ZC,GUY]oQicYN@hCtGE=)gN=B]WLo0HXXPR`:,!I0)d_BVh5;b^rFG'<i0C,5qU_IhK7\)gb@!h&A,4<YVa7/4#Qs*g\IQm/G"Q%]g0s#Qd]Gl&&Fb(#_Hd:U=S$'e$b^F"AS(H8JF/q+e<n]'t+dp&"d4Qg8R^7CR6cP]Sq^/V<;dT;k./HFe]/4</%e+oXf#H1jh"C@5FAIdEbT9(R*hN"ljpT<'g&F6X9DpUb3<D$K:Bf/>-TC/LGf=d8P?.Qq:Vm@W*NE\%]7g1&$DES\6tfIb5T=WLWXLZPa3>`pW?6F3\'g$4:kKap]MZFV_]@Z_gkUFX-$Wk,fTZLAaC/_LEJ1nh#>B2&)E<VfQqH6m,N<s,-i+58"Ar=&]7_^Z3K^6%s66Jehbu>CY\K*T"p!F<&@Sp2R>Sf\_^Ie3"??TR7"uZOki_HjDCS&:0jO"L$5R3h'@SYL3E^QWsNodK"TZ>QCtU!;_j`!3afN?KD7`Dr8fK06[Gkb1hacPE9):8WZAX43V\,]1Csh99V\>"jKl+$Vf(Q>pfk-_7fnu8dgll:2CkE)C"0;mp(B?gci3aFK8&1ar5c`H_b88(nH_L'3%$sP/6hNN<O0#l1+_4$,aAcEIaN5jR3!f7Q8(VH\ZQ=8^bF]q$p]h5%R3lkJE-oK'E/m4kj;hQ?;g'5Go10kF4bJUQA`!HPApMY2G44]\UE3);+*I-[;=N(dC+LSWBZjK\@5_:T[%MW&8$ZO]u>=X9=1N7\3hS+(\&fHq)s+FmJ-iRZ(&O,?MK")Nq2E+NTE>"[Q4dJ^TjU-mfk4P7_X9]/i)P5d!jOZiF1*-ORB6abU_flL[IF[lPDSJm4e;-ma]gM^6CMl.*l]WF/.WB>%dDIiY10)kV-r+4u-7?:<!.5Q>gu`eNC11Snj]@10''e,.83_f0]U^::lo0c4Q/<C3n^s2e`eBQX'tH&OA*-6QrC[n@s='b+i?aQ*$[Nql5:pIGAPo1"o55)Fe/gqCqQ$_Y$@SU>pk%\nbXe13Z]A2sEE^)>!"$S+pG"]g(Vg(AID1^.s@XA9.GEVVE>I>I+0pB!/']SFntj+cISViH;C*2cNc+Eql&85X^Di>#ssO!5qKC=De_\<L/?Cie9;\smVMrLeAV,K(Mm_6I'b'N=_0o[^j*,SW4D-4>:qU_:WrVjZqqgo5pV^>SGP(J.:k8k&%/4nE(:i9Z:F6M>h9:BWNLpDV)uT/ub0#j@]_:^g&p7<q_!#Z*?,/'u,7apm7u[<bj++M#'f]]p$fGMm2&<)=t"a,eGVqtP/<kPFt](5qG;7t$Zce)\D0L0l+_)p)dgpp#)Q+2@Nl)8;[,C,LD:Eer-4nH8A$^:3q7L/W'_=262nhaAg]#f"Y?M>?X7(TgXe4;sJ_<j#USrK[%Kf!]>hZ4#9a(KndnA50((0=%Ti"ZiRuV6""I[=u'4n`gbjWHOC<,?JqjT)D/;r(dtp9F8[5U50nZ9bd-X^.oC4-S8Ih&O1$pX);f\A/r+J/icZ&_R)]$"(rRf/FfMmfoIkA9.u+"><:"#Z+QqK%RDq9Z`(Jr-o7,VohCXHfself0!j4ho!]4_Cr]6FE=8[<=jMB,a_<*VIoeA+W.1BS[V04*%,/FJ#\H-aqBJM_OJH[;&S;2^EeOI*ftOOL2;,]L]N-[Yph>7#C\>!/a9%JCdX`#S=b6.S+;3!?8P8YtI%B/TLa^'j1!DcG5at_P6jB*Q<E4^87G:?-qBJO0U?cc05K;TjAOhiXh,,<[>(L<jrTE)uDTop_U#,H]JubjeJA2TXna2ZIT[.EN`H4o_CsN\Rp5HR+"hYF`:kE-n[o'A8piMW&6^ZU<Kh"2u:nt1,Yb2E&K8?5_#d/JBpB5#d:79c.48ib;[/ZdH+K='oQLm.&E]^l1#T%,di1R#gi0pK&])(,h3:gBS+jgV?f8]ri.#Ca^a/>nQGCak&FN-(nr:$N>%u%RhrO^tkMuJ4crU[e#JRUZV75X\FFIno,-1^9qnI[M)8ObSmKFqM+/.TK0h;HpMDBNiYcS=b-@5%u=MZjRMV\kmQ$.<3XDe=hWAd*G:4X.\$:YjLS+[\VQ.d1"u27l6sATpf%LIZFZKPt"C*B;)$'hX+mLCGqc>M,;n#FBuX)NXn)6[M5/]&2jqYVa=:DsksT@9`R]Un=!qNU7Q2#qb6*g2VC8h2K3cA9kM(Ht8@C^VIu#SuOhMI``2bS-HJK25mIT?\X`jqbI*9%X,%Zi4JY#3,=I*^C//K.nFj_43'+D@3n08"(BMqeW4ATY7,ukNfrb8DoQ/4LOcS_G/(iC?n*W%(^o8lB,MCXXr.q9JVH6)]MQBrKj[AEK+f%]S8ic19O,+0\0']SD+=4-*nRQKHPp^X@uAUjm[/)(f>M1So/nra[tn+,cZM,sB4+.od1g^Nhr3dKKS1?8~>endstream
|
||||
Gatn'bAQ&g&4Q?hMHM930Hrs!\oSI].+#h+XR6-,ZGbCs,uGg7Vtp4MA1)%3:$I0>//d%!g_l82=/HPe7`Tr1!.;oIr/q+mOP^-$KL>_ZVYS?i#sDP8,8-nO^`c8^&qh.CqsZEK;AM_FO>)TF,R'?!/E7H:q?3E^T.i*P]Kl``0Gk`7Vg5PI"fPWR<GP$=bo,TW+TF:&YAeiH*sWnGLO2.;FGu<AF@ortlV8>VJE<1P/0hAI<TaDm;d[n5^pU]<V&#&#T%WXMb(5]=&YBJ=Do\On"]5!A)s]bd^<$d!)qEQ*"$?;!m!^bNSA7OZ)eh`THgNN@E>JF\8'(,c#"Mj_KpAZlU924GVu5T3Q];nqh/ndsAH'i)RiKb&DqnimEB*A)$Ob`DQGD*dm[tctXb&];0qU%&A44.CKJ:q[C!a_=Wcb:d1&%f$_kJeW@E^GU6Jj7:\@QkA1@Aoq,X_+(YkFB+>_nrt9i9)W$S/J2G#J"e5n=EQkt/,^ebpDDHEFQ]S&U"#0OOI2^dV[i<FH#tE[.%4s7e!(*rk(BaKRQ2"5qN3UXV5kiNO,%kbV9`dCMk>HqOa]aE<CR[c5+l5jV\TLSCuJ?.NcXJ<-WfcPI-trTH0ji=\*DB/\.Sc8s?6[6f8D2_Nh/$dmMi@5*-?kRY2,J"b83/k"B&M0X%?qm0W("p;2s&UIN[A<$5dlIN8'0$]g\o3i>m=>#OGeXu0%BY.li*T!j@n=fqBV`T3Gk+Emff(/%WoBO2M$7]&e,Tug3hf&q?[Hal1f,/k8YhN?l'2C!4]_+:BNGd2'P-<qbR-`'>/qt:&O4pc+j.M-R.sqa5hkY!t$U5X=&4b1a-35.&DdS%_-p:gcb+aDu0nkt7=3;R'63t]I*=P0*\cl91;LAZacle,n?%u"reC*]CZd>MIp'ES>Tn`<0Z$F7#dTaMKjqjAgPN#n^"*RUF0R_R3Xa&+uh%hj`J.eJcaK*ZZ_C82gG^8(;J')4iikp6iIg$O?N$Mht!fKT;BfZHBb2=6AHNo(c58e\!KE~>endstream
|
||||
endobj
|
||||
87 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2847
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 140
|
||||
>>
|
||||
stream
|
||||
Gb!#^gN)%.&q0LUoV43PP6?-\b`e73'@4[T7oJKk<@N`W,UO5)+\5u6laK0B'IiW'HagF_Nm+0L(SK1=1ggA'IRs19]*3Go!;2c\Ts.W"0ba^*T4,;jqr`q!P(or<Ni<n(gU<j@'*I.0@=43%\d3l+(+>G$X4K1T?=flM`+q=[<.U*X(IZSR*[^>`nH0QA82GbSk?uGQci>f:U6CH\7<>DFlCd>S9=#X8Cm.U&Jr7l@q3k`bNt[3[C;D4D+m-$*"a.s`+et5J)'r3p_!uX=(3(gB@<;sI-e8T]*PL'7>AH"MUXsI2p$1ZGrhB@oH,t#^Jt8_LI??cU:;=MMas&(qfgB?APStlH_>-gB\#jpBFfJQ4Fctb!=ci2!c.0;bDWln0C'+m-WkitlgdYTgE7hF+1E`P\-B+s]-$+S,cr8CQ\.kD\:3ak?<_I*mZc>Nij4btBT!npm-VeH&R-^k@meNP9XSq3=<F'<7:J)>)<>Kn#jEiKmanK'\rSVSA&6S2R3S^53r^5r(\L?V;ra!PY39Jj2\=V^3]RL+mbqBg?9n:A"<t0BuGj*/n]0qqSW'Vr2UcDn?6F`V17VU>V;8/ZS(V+N"[9)TJdQuT&M5ibD=FGRE<.i8'_'TeO\k18?:t]_6<2"KR@SXq_'!D3&WBUftF2.*`pIMWW@@<Q%:fdMbYZ?VerS<J](M,e]A=*5"QHRE#B'W2ce3P1i=mnQ1?!cFEp4kh<opfm(O@<"H9L+hYGRTrpEqLQ4_;h-UZ@mRO&UssM`&r9TEQl9fF9G0pZ(BaVfOl;`pBO9Z(e]!=P2d!3G;jom+Q%?f#+sqmI32Eoak0Fe+^5-QMJMC(CJ<6]4!(^2=2p5C4r7$2`s[^P:r(Xhj1$1b(Z:'dOEr==AL\CNGt@"`bJe;enk]2ZEMb_F2G=1mhm5Pm'GDN\Y-pK4$2GFR4<)_K"'Y*,[>J?\Ud^F,HIX0d/;K>6<JU(K(d]9F)8W4[!4c9E!2#,L]B4ZmE7q0-0b-+'HW::>W>Ilm<>iTMr;]8)S?9E1<'D#$rcOGO,u;"KV:[]J[W\tWYnWW7*,c3i.a0*2amVBZGNsP899^S!q^;&HmZk<Clu?`nM8k/'L<5nR^]NE:EXRO>qn(p65NMtEqiZFF4FZd*/ekQN<gnc"+$_FY^&Xbl(/JZ#09neF`R*?e_K8='5.704'ps&$NW%qK\",7XE@T6*FYfK;bMaK=":fAEG=`Q1U$'cM]mAol4VI#IOa;?aB*_eAFTr4)OmW3u2d5`&I8SdTG9"%K)PXb],FJZ]2l[_3j2RQR8<Ng+G_QY@)[).6"\[-M*im.bGN5GUUh?`r)oTA/X.A?`9G6Sq\dWs&q/dDT*T-b=B@m*R)l0ZMHGNG7,D#h#3?*O&`G<$D8T\3I$+1LBIT5L/M7@dRWjPD6&QE9mgmP%%M%cpco9La4$U$Rh@jM*CjFkh2q*qq/@a]V5WpYDU5J_kDGp0L9ZR5C..1(YQOlGEl)3QroP5O`l6<@i2FSkko>,/LuJFeE@Wk\$.V"$aXL/f,pomQbM$n@L3?=juhM@Jk[CimSj@F,c-XnI[!Q-k^>qT6Xu,nmd>=*HU<"7rsM#iBMB'p9)K+XBGN'r2pul.7XpX\MPID'6_J"^;g]71nO/Q'0i+8m5`Vp43l]2+h[*(bqb/Q'+lPPdJGcWE#YDF`uTc<HG?J\Z0)-$5O;gQ(f.^Tieijlh^'ACWRG%p57rsdSCXoVq\6_)/DZ'"I[oPPHsiUA%I2;8o=>__f*GaVs?4_i*0Xj^GIL934`P+H]Jh;#`N>^L&t_KP4l2X+!Af2(4$Pe>JHqF(5u2$[#3Z\b%W^S$.g#a8P``5s0'Yn*-0P*,B0::X:I9])QicZ?a2FI<]urm)P`?3DV5\NRsg$AL[-+]dGlfTc#DMRe>:>48CrKB*cE7c0Q2Zq1C9DaYbW/?*K-pu:d9(9V(q<J^A"T)QH4H=HG42=d#9N3rrnLUB]-..!VbbpS8iMDZ2%foj0A;s(q+0L/XAC*KM/jf%'HN`CF;"erEfS?mQrFqlDC>DLmP6"U`0RO\\Ml@^#_iP]5kSQM3I]&IOc9p\5=.k(LT?gWTMYC`,Zr1n@CueJ,)@f/rm.Tf^L^Z0&E3W,4QWS[Q=DBWRafZFJ>*'A&6_q@)9IdOTJZ7cJQH/+0mf]3nFqiBY7gB]8pf^c(c6H=+]Lp?FLE-m(&nj%(pFk<#iHMT`>Nlace>R+:X*jD`[m3ZgkJ)9k=+6]]kWL-]I%:$iGMGM[ThD@"F3E/D2#gk#pC=N2M3MI#G,R)kg@5?+%6sqEbqFCiRWr*!X.iT%2,^#G]uA>GJLY#lKbd2OPf9]CR=uh!bmKQ\PE\[k4^f?T/7RD@e)l(EIFIFefuB./l-03k?tZkR+#IFtf_FPQG>,_nu*u:#rj_E2+Gjh"_':\;N"WP)6#;V9Pn(`>[<b_"YdUiNjX*"GGPuG-PkK+T$4ihOW4&qi4[5q'>hZ;NXB%X;2+]2j(n/>s?F6Q1k'(Y`Bh)/*"C]:%k)J,4b,5J3hA+D88)=_Xi+Pgt0F;3;Sa8PmUdPr<nr56\eHq`>u%AhoNto,WC!?K9[O:Aifh+;6&!"fhQLBY*B&ue(%K,`e3Vm?N.XW!,mr4fqks;VCal.62^;`4E<^po&0,[!L>UL'';cORmCXE^%ut8<OUc@/`F"c.LJ<52(uH;Y"]<b-XH[^IkH/[Sm@UF>Yb`l0TUpeGrSp0&'4t/`R3-7LE/`Wjf9Au)T?_j[.!VNm-gDSe+mDRo/g*NB2"m<hk0B2CCG4T3$dO$rRK@Wqhf08F]\F(2&c?RkTn/!(uU&ofsR)`4#m*J:hSJH~>endstream
|
||||
Gar'`]aDVA&B+*fTAj4X`?fRI\P"GdAL$O\#RWm*IK./0>U9b60^r:$Y,=E)$_3dH.MVD#as#e(/oDa=2+r)O^V;GfW,6,V;^^n2rk5*EC76*HKHdgU0,tT,)NXY45AfCtfFMZc*Cg~>endstream
|
||||
endobj
|
||||
88 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2091
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 140
|
||||
>>
|
||||
stream
|
||||
Gau0DHZRn1&HCX[@Y^gjS;*5LH@Y4(1-!+T1JU8eb]K_h*a'I*>=aWH34MPoHh[.4ECL-p/Js,IHi(DQmI!OJ(#N3khjjk>%7*#+5bg$'J7]>pL0)_B*dp3"E_aLt<m+GOBJu>JeSPE?+W2)2.p8;F_`:OC(+\Q)]q2$!(#g[l[2+=B\4F8?$DVnY`cENtmb-gb"GXB>Hmpn$`qMBn(+&*dX[j"<2-#$2V1,d0oaXflces6fncVirauP=n9Qa)Wl>fJ5Ga]<:eTFc/delS4G6q"uL7!t6R(3OmR1hAIAdj?#C&.3/3Q[54?l==h2Y;Ts]n`5%mH:[dQqc!O-#D@X@cs\/Beob#Sjbn(AVm#m@D`i0B1Wa+[\?;VU&fB:`JH_=?;kI[nWOil?F_0?VPk(aX]=F?..D]Tkp'_:[YX+Q0MYa>I.;o@;>jdE#[\B!IXj,,hP\1D<P?\LP1HhAnt#Z9kt_q#Y!#/<k<AN%^+2k%jFR4i=L,*XFUF,n0q5I[)uapt'=D9Kp"aqj=[+3#Cs<WYd&,A.H*W^OC=3j7^56B6'oDS&pK3M>nf;)Re-hT+`d&@<#G[LMe?eQIV0C<;75g3j[Abp[#[b13(!.30iUYqgE]Aht9AMEN?1RRUmIGi`>EWY8mC)dSHgO)8%',K9ib+#83C+J&b5q*^KqZY%e-RQnSlSptHj)>UAlZ(@ROV1>]2cbk[#(2,*8H=p]5<odHlp)p0@OJ)fGKb_cFS$t_Xs,i$%2?K8kWt:fQZ%Gftn;GS72;'OWQae&%j<"alnEEDF9^uYMsN*RqLr^A7uT?>YdJSES82D*n0FABGlo#7$9u/M]:PpPtdd71go:+Q__#SjqFj[c*jutmhI(*BU5c%k6_\s"iI$tP"hU%]+p:<-$3N_.2MJCm"673G;o<MD4YIr`*-m4?LVZ+n)Y\d(I@!7i69-qfS_H(DB/B\X\mH"7UCjPXCP;5N7g>+(A8>(gMNA+C9B,B[l%m"=j`_k1.$'?X>B(34u)O@Cu%k$gHU)l(NC[V(EBh@Oq:o_)2FbH<kZuB6KFM.d!lgpJ0i?$%O$]O##iM8K"KXOrDW*n&<ViAGH3IW"/rmE[V_%/[0kd1+'F6N>a#E*#,>%pr&-1cpe;SJ+__?,,1ZrGM@^+S;hopEbJW7?=tk]kmkrTpCY+S^0/=(.f;mU7__F$oDJ'PRD^PjslB\ILh"5H&nYnb.&o>P7DQ'Us%;&?dm('mH,S'!&(>)'\'_<^]3*R8bH-HS\k\VfS#!ZK6ZNqIT3<"8(^DIH-5H_lIU%[]G._q#TP[kiod$ILSS$Bk&Y\]T_Gg3pOfI9jgg9,U,ZqOr-RT0Z6UM19$B/g`=DtCP&a8B^?JYi#03oBN,n:[R.ML__8dSO!R#8SL'1SHUrj8OJ;gqscLXAku'71D)lY\]99[o*I)EX-m5>`[pB@fq)4a3;(A5Y!2=\R^I-Mk(":H\u3u4+T2!F"sZjGc]sMlbr$]3lfJ\2ih]<T$q5YJ_0u7pjU`"!p:V0-Q\3FlHI^%+T=kSI4PL-rc2;!1T1@f$dZk^0fjR`6(!1$6r4Wt@rIC3i#t>"o7H7^A$tg=XdPhdH7??lD,K-=J`sP=2HrG8-FF:WA7'l19T$Gk'<4n;)Amf`KhbsK8Fau.Ye+g^+fRF'jR7I.o'V[!GFr>9+#VEH'5R6fEs>mN4c-$E9=Y$a"]EAU'r!I6<2[Z4X_143,VfACMa^B?4$m.uW7/oS5'WI,MF_tcBZR2oQJ?ksGD3WK>3lZ0q=q:NRH%VcZ,:5+*7K%qjOoIp^Hqn$o0sdl*)R)S<^l.#J6?Tn%[bTJ#3X.h3?A4?kL%s'QGXFD9KurG4]Ga+&Pj;&>_,D-nK.S;LO>jJJ%[5!Eo5p?p5$(hdkEY@^\dJ[Yl9)%Wl9>p>.jE7O:p(6I<FSY]&kM_C_q`#VF85#Jq-oK!r`o;X;`Ge?=a73m4:dpe*8./oXUtRi<Vf>[S87kUi*2cjpVJ:G<S"SbR58tksH)D9gM*uQrKjsnk,GJDSmERo@\^[C/GqkLG83>*hDZ9M'*'i+BLBlEA$_tZ>MhkXCk*"+fCP_E:bf[^j;4~>endstream
|
||||
Gar'`YmS?5&;9"kTAhN!`?fT9b?\:;.iVpS5Yr"ikkc/CiMs+9!s@G<@6O#R>i=W62kc&B:^RNDF*7@`-qPm%a8WcSTt6XP9T?-Sg@m_L:r^$YF3%8(pd1>2d;Zrepj!M`_u=?S*Cp~>endstream
|
||||
endobj
|
||||
89 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3562
|
||||
>>
|
||||
stream
|
||||
Gau0F=``=W&q9SYkXTo-;Zq>,[1?%!a^iC/4-J`#<A'/^,fUP7nF3\eqqnm!6_Z"!P-a8<fG("H7\eB0I16gNnV:ZT3ZETF1Dp-eJ5DUbJZ+_=ZTG[fSc(Yq`Cs9qFAnB'0J$M(Z>/=lcFtBk?ttj%9_`mfP0$`BPr+kFJB6aE*NGoC$B9*"'<PYa_jtneJcq7GOBnEplpkYi2JWHELYL/.B=$KKFl+,H0XRs9K+44=1iaGCOhFEuoXin8a4X9OVD=9FSWHA'0oc+OGg3":"Y>h"f;+1]](umaZ.N7a&@#l/]c9!%B$t/I`pI3-VS9s)M4LI4JRo?S:+gBJ>h^qS"me)IoH]>;qe1HX&]2WLOdE_s`dWPbm4AurnWGbW\cp+aD$Pj95.CEVY:?IIGKQMF0]QOAhjE`+Ri^8uj`KZKU^Q($@#`Gm0VEY[%GC>68](7;4H?87r;%o5B[t!Y8l,3*KS:C4hfbAHUg<+7D!-WYmMM_fEZ9H"n&4I"_qigT(_\DQ.:m2gG\P?7:,RJ"X4s>Z>*OV&.6TGp"#o52le$4J(e4E.F-9R^k3"mt8E`-1LLW!(gij:aGLTu0QrDfhf2r:th1mPkIe\43K&c$;kXf^d`p^/@fod%:-I')+eg4&<e<UF#SB5Bd"BdL&]ig&,R?FW_X_!)2&PKT:-;[:].;bYa>*;>a]k)dJTp-<-Qjq4F[J_F?Cc?)^2Hr:FGFM.mO@CCS=ndC/e7qsXlphdN8/i.jp0:W/PUqhIJ-?F,R1'$gmUG)T\86f\U)lHj*eDXi'dRt0@S&,eCs=)7dBeTcd>PiDMdJ8)4?V(Z%StY"[>,oS.r[pb7WuYD(m"K8INm`,*m#tBo-!0Z]-n[VEps2slpP0I`##XOP;HaQi<p1&7(ftu@HmBMG^bZcK,P;?X<`n%SX2u#&njM$F#S4SYu36k"ht1<&+:/>"0M3El.Mi0Hg?3!')KLMXY5)R*.DMS<=a5X=kW-OFnM8[;0<>.mg5pL+5+ILr%X[(#^:cO4nf<@7-nRO7Ee2MM*G.%/h-@LE#)fTpTeYVkigtQ%8SN8*i0+`miY;<*`IdWG)B-0,bAKn/C&&06&679)\ri@5(\GtNiWJUE.NhM`8cF9qeq6f"CaD5W!mkZe[mN)h9F:CXPYj0h`,3I9Kh.Ek@TWJU,9lBl9m1M7)L4'E?C!(kLe&u%F"MSHnT`UaNdc'ifFC_iOD+MpODqBhCq^^4]R)<<%O&5SCO'G6o+a;m&-oa2F)s>ANl#k$tB]W%#9K<`X_je>C!aA,'G[L?Ig;ji(iF+mC/^B.Oggc1hM53V:u:YZTj3Ae3QS^>+lb_:K<C3%S8RXU+%36Q7a+'8;9ScQ&%+%n8"=DcB9TL3a?-*&..kc'IeKg.JT_a;l!*W$ME;qQZT?.Y!u3KX&tp5EFcRaSC])HA$n.S9L97<XTGBTHA9U:T*_a-+T*-c?,HQY:jXN@8<GB$dUi@k(&)Dd;K@\aW[r-bRMVnA4g^EQG,0#,CL]50,+W%d_)>::A]%^2"gL<1:1VE2b6[>t,T,=S+'J!qj,i4H?"]*N_E;\U$l2#sPT2P1;BUaq6SqJSV_^Rt%3M5CegSNi=qTR`)QrQck'Fa-'cS)4$DFD6#i&XK@AK*\>/[RkJ,o3$/,oN[8"P/#$/u)%7e`X3X8@j_oa)"imD!'uO28dH=`?H;VX"Rco2m"G_QC*H))[r-U5^a>+@ZLbTr`pfp4h*Jd<q/\L'p7#fdAIH;u/0B:08+jD&=,-r>1#fmBAH-F.tHYbKS_F9AeKK!i(RW*srM]!^6oL#XFr5S'.(I0n#?KgkajU/+>W(YY"f3_iqi%W7A>]6T'7`J=n=[nFr8c:BdW?!=r6)*kO@1hm]+N9Q0ns#A2>7#7):gZML3gs,StXUkYl]W;iH:3CAo!;V(!TXt&Co&(>>[Y'r"lI4XjL<G!3eK8$uoJ5>8,(@TBG5*Z4PZ7?%P<"<;=Xpj5e3Ijnj!W9,@^`$Dp^o)R1$Jm7U5o@:`.#e/^KY(4]9=Enn>-:bG4/%9:+)/#'@SZHDXP2BiM`51`9,g5:=o*QtG)R9!0\4'E$>M'%NIppLV9@/U*TXlA,a_/VaV4frgpdF3A'?q`4J3NeGW6RnS&puNcDbR6`eh/:0Y\Df<@O'/VDWQF'[tc2(l1tMN_FJ:-q[e#D2b3)9tJQ#5+&0%973tINPIJ(I@Y&=LeEK)Q4>`FoV:&Y%pfmN$5Lr14n3)BcmH[n6*f$XZ?[/>G/uQ%A&dlW<DR$-8iJQ!ZrM5r(aiLZWjIi,Du.tp_."oBiah+EeA2l66@,_&BkF&5LoCI?$S;;iZedM0H'hmFD*'%(E/Ie3Mc.;aRmtdUM%Hp!]UH7p"TBJfb^3g2X>*$Kcj"o3+"jqh'&(5LV:bbaEf9ZbN/tIql_2g5YpBKp?d)"t[!C#BY>"Z.<F*[MJ/Kt+*__J=9"/`?A+7&c>+DLk\gIWG0W!CTdOsh619T"^W?<CmBcl;_3lSTs8%L6j4OF6u5dm__UMjLPj%n-nnT?86@BJrS#6Wb<g4RRaK?6a5]+"(;I5UA;bc"g.[B.prSnbY#eWs)P=%hk[/KfFh#qN85>I8#4g`X8%TBE#P=E8j>dDkA(40?PhVtV>$a0N_Ad5Y7cQ?jTgP.43uSG+M2U.)-Z6iIehltcXH=1[^F<Xdi#HWE>V"Dj-LBV[uOiJa.V0K!ch[^]'MSlL_ef-s5Y4ki(XS))VBFp/3,KKQQ8[fS=kf+<l.a8.5V')u<Zh;LF&S<5]A:0IU%1s%O+g_N\-G^mg$5sPZJ'b1'26=ub^nma"!_ZZqMf/eL5kj;qkE0FmCp#a[)MT/&s0nI@AS3Nk/6)OO"Mf>Y=%q*oT!W&=@RTN"UF`@_C38kIh6%1P=?GtKpI8;-o!VNa1gMY"ZO2U(LPl?XB5te4g=kEPY!d56<pB%@H"KeX5BhF)ZPC9UJCEWu+;B6sn-A&X<ZaJ7mmO9o8HAk#IN886u4XKAgLU,O1:j.g*]%<mR['dMB\tQCB5V,@09XFQ&!2<]P#q&PP$I^k.rT<`VP$'#.6i)pJe*+O";,=aVl"76i-\fYJkBh,]%/p4B$\qCR'spe=#%,ID@"nG3;V2=MVeIQ^DX,Rg'D3O!_#b@b+_VPfY<"8FT-!ep<nJ2C'jiFe*[&f=\_#DAg-N"FcKW.ULJ+0\qh;-3SmT_^]Qs"I^t,jtKc;Z;3d&+=9<i`$BAr#4,l)3ZA(u!**064i^&:iZ2!r,Na>*D<%P+^<%@6M-msoloPk9nFnEei4:)ES:SF.<"oq6DC7*?\CQ\W!eH\VlCk:u:94N?TVqKF<ZY!;)&)J(/<#s<.o;YaC#MbJIO[4\1si7EG[%$2`]%qmSo4eC+5+C;Xj>hH<scl:s*qunY!^8U"gim"Rp]AO8:\gj@,qLPF/]]7YC+pP)Y'pkl2H]gNsUm$!&Q9j+GKl)fo`@rR4rPa(_1<m9%<)gGu0^p,KQ/F]Dem?35nZpuec:Wg`#aW^2mp42]/m!"k7FA/Lf.]r/`A3!ZP(m@#K2s3+`^'6Y$Cq&*.q`QD~>endstream
|
||||
endobj
|
||||
90 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3217
|
||||
>>
|
||||
stream
|
||||
Gb!#^>Ar9=&UsJX=JVl=T3;qQH'Joq_A=LGD43GM$M6W_YU3EeA)>G+A?/3!HY7U;8WaW3T;&`U.+I\1c?s[T"sY"7EUpU#+`ok5K9$jXJgPPl<CoWC05*1&Gs9't:0!L";j14WX+hlM6P[n;r:)CKo-!U;*&IJP7eB)D[RZB+5S4g!?oY9^M$K@I!V+Jr1;t!A)qSMIN2AaR)7eqoHA$_M&*IW?N0b,D1^p9pB5$i<9n#Ak"@(#Gi1jVTib)WMLa2QHA9'UuLbF?.Aj3f;qqQa+gdhn"Cu="7V`VRM3BiJMPRmqF!jI7Vi8W0iIXRK5kRhusVe7FV3<Yq+)"8UfrtRt=`?NT>@2-AW;=3Q&GJ=[4hE0BSTgYVX83,!,C=O>'U?O7B_.YJq\RJZfq=m1]Z0TWRY2%Co=^AYSS!J8&fYQL$Mm,DV4`C]5+T9O3=d46NIuW-re&\5lfBKEDi`="""nQEiNrNUE8<!("$=5\G2F-0gJNN/3-^oK&:!b)E6[ga,C]_uANP!BSTC3)fE/%;PTod9P_bIoUJu<1)pc1bikY#=2fEqH`'LWF5?nMWD^@0>":R)=j)^>/:DbsDiA/h,`=V,U(8Wt9_`TNR5j-kRl4D=l+fJ%>38@mIN)W\D>gO%!LQ9Jha[.J4^D'>L5X:?@g%]F;9JR_oKa!+^e?rfCo,0C^\&*hXWYIBqe!#.\?[0V"^-b<1Lf'2&Y4ciL">8Ffdg4Kek4d.?T2?QC4!m0=)W,H,"GC5K?n8V=gP<Nq_C!<?fK.V/UFCPpRptE1Wa4PB/&@.,36%kV$+'cet?Tr^c]lY.g;\kte&Ub?+G*5XeL.](OBVq3$5M)n]/;,Ar'qHVrA_ApI>qP(?Yi2CtMa6#FNg;fac^&0.FdHIi>cj.$<m._jeGtm`8j-h+!'n`dE&56oRJ,ApC.ClTToR&0;GFIU8<Q]ABF9oeTe792Opm<Y<@iCeiREs>,X[DrU8'nQTHHPl?\"mGc*eJ,VCb\4:.=j%m#\B:%KZ,0FB.u>\dC&1Jqk9#V!KG-Md`nkF">>M3u+$\.3gN?$gPO:=P.Ks6m7^Glc5).LWldG/KYc%dOpAo*dZWEUCiFX$^+HF-905%LJ`2e]/1Z(\HOU(Mlm'!_%ZGGdp=WmX_;5sBJf*b@V20%6*E414%C:M"cuiBaD)rU5.B.G*%OS/%L%DFO+%lV<4t/N[%RKY&j2GjLbgO]GD2*6`M*uO3WA%c\>I+uQ`WZ%W*t3!CG''+a?f=fW%UL(AFeh%/`?N#,^<W"1$+m*XoTG03><C$GsSI>rU=p'Nm#qGZgDhR+>&2o;S+%GmM]gC-oPE.M)^pF5l6JL#QI1Hj"]F7+d!;#n1"kD094:B2-`Q(rGn&J=-.W/_/Dun>*8Y@nf0k85bBDL8j+jCPbXL27D]13i;oam,mPqL1sB8H*gb(tG9CYFP-SRE7&\kcrUn]8>(-03$j6TH!N/GiL$1d:Ur7qZ:*H[N$T9R$\kP6\/,]3_,+6AG22pgmpRb2'_nG+K`nSFJG]M1k=cghabE]9mc+_VdAhoI>8dk-Q00fjo/\k<!!/[V\!)NCljHJ!n4J`F=$r^XI///U4$fB_(!nEM]X:LTIH:?A8;RU"PjZmRG_aK^j#b!"(8]6K[D:>hLr<8)j&/Y(!?+6S&`)>EK8m.ui*(K:?l%hT21_Eae93js!.&pXIb.(4&R=e^`i@fh[s5XD<Icb'^LH8=5bnBFLb"j;HE0BXfE):3R'/-Dk4jB(V3VGJC,K+WSq)>WmBj4QZIAonG'W7>CMX+U,J"?bCd,ZJ6UkfWL2*=o6OP?(`O":Ph5Tm<soT/l&^Xdsl@s:Rq5+LaY"?qPmlWm!`%DUp2ACEZ`CT"eCQl+'t4p%^=jh"@C1?N!cMudBb"SQ=/p/[!(bWd'FoBu5Kk]XR4["D&+i;#9WET0Ce]_^su(#ben<nKAq*%6sM8oToEFd*aiOeQ^s0+0.>0"BOVl$>sE;C6mZ982OpR0AjT(Kk>JGh6"1=gsCf;VkGK;7fQKhLioW@YS/YVGtBtmM+sD9(:?&'qEba=>ZfaNpFXL%_tC%GeB/P/\i[io_tA0Ck6g6Cmdk>+uM":C:iC)4C[H,5t%JjK0Np7$t3&%d:K.X-V%'hMPMY7hpB#%a2Nc8-PX.FmRQ;/q0gEr7T<YKS+#%6XD>u373/mm)'o`__$YBoL6+<*b`!DqQ[5#o'?aip1sTDbV6=Z(P7CZ'>[5tXKj)[c1bk]KA0#2Xoe0-"?bSh'RuP/=I(LETr]Eman+(>dm;Jc'5>P2g]mLcKrq(>Ts791mM)P_%5:aB*E@q=r&>8;8PYZH.d>R\2UE*:d5MD6hVDNWh0WM[MY+cpkg*("iaCt$U`up/GK>J\B<dV]P0$/i14G*'N<rKHcYFoP;RJ.!@[u=ORPDgE?SfMO_%_&J">Otm8-W$AT<e^Zk[\L[b1"(7=q.]&od09"*1LF*\2KAmJ-/f5fn/d"3mMu^<bb-qio6<%uK((Gen"-NF*qM;J[V+`'5hCk`iQrT?[[>n<)SE#(_Q[\<<kseqmQPr=G*HN!U$3gj"e'ET6pB08<Pi?9k;rUkY#uM-1*!G^Q5<(Rn`iNN,(q%[JEGe;k;_kYZM-OS]<pF0"?.W52JfrU!B@4782$SX9[A/>?8'h7R^st-BtF1\$?BZkiWDuIL/Z(*k2B9rN)<_32M<1WQ"NqUAd5)3Al)[95Uph3Oq5@4VPL(3DCQ\7()5tW&tOpAiZVNDSQui%8n9n,XedS2j^Q+><?8&>Fa)`_*QgE:[,TB6AY%]Ohk\2Uotmjc]plfma1+?:LJSB-0QaY1E.]6[PBE(kDl'r8+!=.(\3M/,C)O+=M>,,Tcf2cu7I,Lq70=,OrZKq&)>,SkR@f5.%`+LYm4B4TE*alZjpsaXV%7CF.Z-q7qOkNnSsmg:/A8VVFWn"OaPKAXe$&UDCgGj(i<Ap(qSn)4Hco>]PdCp;1CK/8_8nMSr%_6M'Z+X[R?n*0L</%#o,j[2(%29u%s*nXV9_fM'(Ir%r'uc0qS\Qs8E"f%6nRrGeEtVbR:_<)K+1pKUL[u#:U.K)?&STk)R#mB(iRCW7+!28IW]]f)NSO?UT^:[[oH`&Z:dcPG$<[caBE_=%0`\4VO#1\LY1rTbl1GF*Q_,42KVpugf12.nqWC"Q)>qM22+SU1,KS&]S<\ZJC)cm!,SKP%6F:q7Mbs$~>endstream
|
||||
endobj
|
||||
91 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3439
|
||||
>>
|
||||
stream
|
||||
Gb"/)qfCN%&cUU9`K!%)3*1kZpnhsb*QM2#j_VnuPYPkk<^Ve,`.T<L55aWhol';N02W90P4k`eoHk(T!jE%`G!CAd,QSMWOQ?H;)W9ESHLD.O#pp$&MP.cG)Z#YmmmeWBWMkD\W1j@)8H_mK'qBL?kM(M>r*XA1&[cPZ^cE*liPG'j-'CS$&QG.!;2#&iqmlc[.6..j2,(a$j<phiF/:Y0&9OK,9NcXkB&FS`$CX_IrpN@/BLoEYK-6YPW#HlCWamT4/]VAME1EYkJj^jnh@LP+$B(NQ-Ms!f6)><+KLDI7r+@q2,`RCq3Sie3C85$6HA5\XCm9i@h<!Y+6ZNhnP<_p69\OPB)6L*=-X#h+;XQr0">b%k\Soq;0.OR?;)LYh7C/guW@[h^A9(m)=;FV^.-OIQ&:?hscgd<km.,N>MY0FojfUKSRgmk>-n,Oh`-S\BH+JnSa7D;#6^XHufsa'#IY'ZHq@D',obtXX]:.jZihAXYcS#+463"7D7'.0ilpVNJAeT;'qi4h\%D_Q[Lk7TSk_1(4g:dNGg'8%^l!4a?1Dl/X_lMJ&rqWKWC:6qh%@i,CZ\>uK*W"tRbX_u_Tdj?m0c9oWr-E<Bq_Ga#[RD_:S1RnI<-PT+QHQFEF:pe<gBfGJ,7.T5HpuZ[d"t:g\f,6;\XrKoIQJCS$)^h`3<P\o#3mi7_EpoJi&]^RTT:$>3#G)IdFB`,_:>bSRZ709^U1=@.i$lk-5X9I/J1m^3`c\:;<5GcIBq4D!Y8&5o&C#D/_<9AEgGRu0LM#Sd9`U>8UknH\/@uo(orr"?"6GXgo.j;c`nQpkWj2]mDC!p*Hrk/dI=dPkd1r8ZY6`Uk&cnMVSPE%:c&IU.bFHOs1TN\L86=L!WI.^FbD3\6c%F,>>!#+/rYuHZ.pMjr%+-<QA3lp@Z8(WL!@7<Bmlrc>BpI:q,.I+ndZr3V%.>'*D"XP*SALrOG]AcYa'E?X42]MMZq9cl]nddU<9GKYalPhm7q4i995;0(QH*-1O&U_#,Z+3TOPXUB40HppamT'JW#YfIDe\H7058>rjE*-@A]GK^4:qWh[AbRUdCnmBSFU;.B$_,jIj9MqG%$N=Z18I#05`nC&-pOE7qFq.,'>e]q.q7e?`j3GVn]ZVa'iZhcog,%ItkNO#+tKYP]Mj[DDO;a]jG@QkE/)=^WX/`5bBa&!fA:gduS?<iEUVG%[V0L.tUJ41\7!fp617:47N_b)lW\k=-\>Z_=\)8B8^<NVU"t."W^[;I.#='!pe?bd[W0ZI`.4CaTsFmngLmWfUa_cp[7]JhLgt&"HATpti@KbjPB>_k_Q6h$Mf5^f`^ijT6'5bR6QLmB6&!jD8n\o0$`H>mpcEVMEuQ>MQlXmS%JV\.HKM%,s:3W?KqDf%ZbGoF]0[?Y&C8=s#OqDf2hMe+(6HQQc-qqfLK_?+5I=e\_"hCmOR,G!srJ_^[;Nd^ei"iQmU*gJ%DL_EQ:hSHWgXqO:!gkXAIJQ5LYf1<$b<*qMTB(m8F,Q=ii=)VGa<q1D9rKNU[EjUWh=&LAC3+(rS87/!%?WNgfIT+Zrin^!;]<K6F'5Tl#P9,b)gk,"E>l0C/)XM5"Z;&eas:F/S.+=?[<o*B5h=$e\X;%0FAoki?BMOI]sd7L%mV'Yl:52s;aEI.ATpH@a=)S5J02dt_uru*)W^6M["M'FFi#UN>)C/7f+%7/;EF?\(aNT._]q;ZMHero_b=kU0(C=GVr`e'YK:dM53]lF/WI\J#9]FG&F2AK]iS**"\Haoa\Z!p=+95*?RW[\jS7d;QTai+8*U4b4Q8lG(fXBi940#3:s\<(t=Q=m+/QIIt`kfUJ\r4)a_aB9UJaHHBa=PjKhhhZ`B&Y4@RmsA,WVE^7:-&>HVX]FelI1]'e-$\n!T$:We=^*J]AX_Wq7q;=M^%RT+i:V$nIR5YIffqj:Z'",:e#XfnV=r-55J?6a_L;h,$-KVfSaC9M!!QH<7sPbsR+trQZLGp)V]g[DDS,)Ah+_tqen3r'WPNmf_nD;/1O%[.qj/!r>OK0d2b#obTc]PIk]^L8+8Y/em2`rg&^=KXYX2aVQ.K9oUTcsbkVH>>X<R6i%AicQQ"<i%i,;_CQa0.EA\$'he2*["]Z8[1@-QHFO,pDWQF*4"2P6P:@$Ds9></SmXU6W%e=VE<5Dl*_;\)o$@jHppo'u5HL0>1B/FgYi4KKNh-Lq6<JW3Chp]:lg6V;B$3`d#SX@:&7\I>($i%JJ:QQdpUa\N0K%WVo'N>-^Q#><d&l,XJL`59_U_2pJ)Co=i*:Dc%:NKo#+0I%bZVQdAC<A0=#.oQ<]b@!(9/d(R^@NC,+a->e4L4Q[C`f+T@Z0!WqQEhnsCqW^/[JrLE\J<QZiE\e6<rN+L;.u:)o;+Og`$8fHIFqZLl4f>t"Abr"#d!.!3]Z>hTUR50<,+UY(F2WjdBAMLHG9-NK'm]2d&Y:ppg?Z&)7E\]-:jS1TCka4;@Md1d1$,r/G(K;M$OZpeh*2?aJW*TgU#u_?k&=t&Q&i:#kNU(609aTrc%i@fbA615"U@MToeG-r5=ZI]u?c&3!q?0'3LW.j=fkaVBDPU=.%1V);7%krpNbGZ'a&n!e6c6PoUt_[6PR<C^niO=-hs:A@YZSI(RA^=WFqM<p\UB]hVB/%33Op^l^(OcQ!lIo6<<E,`?11[M;ieZ5luC!(^^q_9q,g6<$O&!mHacF)r%_Xm"e%POT1R9`+#F2%JjC=?p:r@a]3gPBV1N,0J]4iBN2#G>8ii[BlodD451BH=k!:[n#=*cUJ]bo0Am?0ZZqo1='h2l3lKlSWI+b/&XlhO-b2WrJB'W&B#c[qq_B-Y__+sS?GuKWMb[V;Zp<B.,i0?,uNcY/G9W&?7_U:@-@Fn8pX$QE#8WWIDZ+3@=&Ph/mDo2Jg$,dOA_$:r3#7qB[J.V1p+!0B>]bn4Upo/EIIjk]\,++/`)-rdXuK1.3$^\W44oJ?F*;[nSJ&X0c#*GhC@"+a@:Qa`nXp>i[DM)Ohh0G)'a1QD7BdIeWM]pW^p6Es4kMD*"(aX8^?e?9*RZJV(91YZ^]<:X,@]_P+Gd,A/#+kJ]6\tKB*fcfn`?NbI?LlgLI99aTBj\4cLc/YOV]70-O8E9.R=9$@6-g=HBBe>.(s()a2f]=.2RRR:UK*mT4*u6HU@M7enN:jBTDl%A'*oP7/<JCgg=28iBQ>5bY`CCC5`%5>)1F)+F'D<A&'(.&p9K[W^P5Id+JRD)1FJ@adaY^VA5J3]iKP:R_H)VKI2TB1MA$UR+35p8,%>'`t;IhU(MPSK4Em#$6H9"MP;.pW>,Ir6+0MCbWL=ol']EaU`WckOt5YPoONPr3Wn/r(p['i5Si_-p#$O;i%K')^amrb6W^&&>USeIr:f'!@:[k12eVp;O&OoQV@Q-<DWuV&f`pZ!SQ/o.p$]^?\W-#*W~>endstream
|
||||
endobj
|
||||
92 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2912
|
||||
>>
|
||||
stream
|
||||
Gb"/)CN%re(B'h3EBh#jN@a@s%!I1YEDt11:?jf#]79oLZ"R>T=]4l_lWNS(h^_imjbIBp:5WKmUhqSenrPu.aE*D55f=b-rB$SQHl>9I1BA]9?ii_.'Gt(BB5mEh6Lp;.+c%mN5uTZ=O/ZNp/=QQkdh=AdUr]4-VB?IBK2Ws]87D)4M-t(mDCDab];R$6]5"Gm'E&JQ;;$kDOop5W@kY!^*e::`HZ<Wg!*h(eQf4Kr:<XbC(<P`pSkT`0CN@Ku?Wta2C)'Xl19<6$"D*EtV?!_gC5"Ja3VE[pr!A!_;TQ':Z[sLf>gl.5&G0jY!"Zd?mT$H3=keHXRK??*Eg7)Mj(<8li/8(1lgm=`_ejm(X6gBC<QjiplM[GrhT97!Z2[5*88'+H\KrTkkTaa*Z#\$K?KDrK&(fDA";e3<0S4?QT'2oE\#dsYB*(Xm)d*t7DV!WSb!7pNn3>7r(LPJb_\UXS*uN(2C13+8#L@ZjkXTSSRso;:`KYXpmt]3<nb*X6O$)Y(CTsE@-JUI:H@@i_>j!bT_m8m"$P32jBb#lB(b;AL(!ZGN_[jMP0:Ka5?^T3l#eL%VIZ!S;plh3j(q+6q-NR>0h:*]`3q#W!fH!D&m!Eo_T.#/5^5\l&Y?f/4c"0T(>^HAR!QF<b;(lhF8QC!?6GEb#8>D;I%pRK#O+)@<kR>$]*QIcDWIa_d%WUI^N-\1i."ldEj,dG![@-7;7ka(7?m^6Rejgr&]^7"rbrcnnFS=,'qY"SV9AjX4)NSSH0b/s\Soa<T26\u_YH93Ba_^#72f>(lga[J=b\6>j%<'/L61_sCl<a!4Ik31Q0loo6<oV+Am_JfBs8I9f(m;&#"?(c(Y>,38^1GuS#]j,1QS.(RSMF2:"6IKO0!5Gtnoe34VFI#0<^Uo((66$G_TO]f3G(.%QUM0Yb=Vo@M?'N7PlP,*!DFC^!PBl`Ql&j*GZ=l#*NTD5WX.N_-%LJG_d"9p*[%JqS3n_3ji**!=k&`n+H;^(7JuJkHr3j/1K<F%6R5qb>DpG"J1Qrh2Ki*e)pTfTi[i.a"Cljm?#%reA3J\3s2.icq%5)[.i0QZ>V"WO0\bE^^=l8SH_7DZE8-/jh7l>Gp5`Wt)f@&q3]Q`HV/tG/XP!&+G]>:=K"uNKbNn\WNh>7]igj`d<Z!os0pC^TU,^*1IC_sn6Fa9ea1D0O0/SX9]#3*1J+u=.I90M"MFJVo7`m0#CFkm=^eAZG\]+BlR'G4#?hd$HY#\^B6pm,;)$Ds@-:#pXa]'bX_n-0GZ[+lJOj!ojRQM]>-UCqZ;LCEk1Sfa15S"V2jmXSKJU;i>2s5[up)]uf5Po)6EVNto>b(D@_<n2U]BFHV3^&4fROgnUZ.;1KQn[[<r9-7'0Y^1UaaodO,@HfUdO+q5T>nLo,B_n\+';Z<P4:FO_(G(]<pYUg4GJJ>JM;r?#++T\4(-G&r>XW&jFr:&-N#`%rg5]#FWJ[B-E^A;(*6obN%Jr^ds9l,<k*A^%tK][ILDf>('mTQg?a1-#FPQ_d=-H$#TnSX+t!6Dq:'?@;//V*[(4$D(>l4iLOP&uOD<.)lcbnZV//![POL0:#0m@9"b69B'#e-JBXod;]*]^0_;4E)nLPqsLTC'5()]%j];J'<C+S]m5stWX@g;"s6<UP4<HpG(bR+Y67R/#u2$+It(0"-hCQ/<_1!9V'A?0agkJ+^@Wf6s\[CmqhI8BdLEZ-8>FAUi7O3Ep`n`([Wp$lfLQDBQ`or+BVPIL9'IYEGn,\+^3O3NmXnS>=#_O%=+]a5dq*+DV:pjm](^=W1d_^W+k)rMCbY9K0TK\sU$M>:E$+^1jGGVgnHZJ9>koJ>g"Z>[A:9-1690=%G]P,q6_l:"aLZG6M+7G1Wn<aoRmjneWS6(qR\W`30YkHhq8iBL!M0c>iRM'@CZ2GqDRH^lMD2_A0#&O5R#=)`%_A8Gg7LNo9[KkZ>'#;.ra=lQ\CfhXRr1I$ht[rK^Xj5uf=G!;XoS5$]9<gfX,Wip0'Eh#<W;J*7PjKBf2fhS42j/sCfAN^+g.L2N7i(_1pUAd,(Ct%$W(ps5B,+.U7m(5d?@+$oZKOqt<O7<1nm43rjj7_U)>.lK/&dg7$lP"97J1(u>_%%`f;&7eH(IZ]>,>!T\:9U_Q&J53Ag4uqODeYD@%2lIEm:lnQMj-m/qBJNuU?cdc4JlK@as0GTIM@TaG3D#2q`-c540s'+W--Q0i+hP4&0rD^^&)gToJpnt//OSenf3eXN2[Uj^`256,q+Lf)[497:Rr[H_8L=B4OT(I)Kefm.:kIZ7!,t+n?,i776oPjJr/U!M_?TCo+sOl8_&R$Uo+F=?17&'F=o2]78`*^%81n%l.F$qiHqLii\QrIXp^XG8It3dVl:YSMKEe#N*.,*d94(%#nuk+GJOffmJj!ZkC5E3'[pJ@U.WJSH!u\FaJ0iQ8&Qr;H`GI;MWl,#BaC<o!h]GO!n(ESR^/M*#(n=l:2,sD@dC%GX+4p8-aSKiAHCY3NsK\D;"+=bbKphu'(iK#RU)YJZMU%'^nWc9_RHV;K^NQW6>>*GYle%b#RbG9i\L!ie)u4h^H\T[%@\=l#</O4h<d?P6.hOt$Y`[REaq<BP0riXrOD.Zm`*sqAGbC44gIWGhdC>U:V-h;=XsdBKSHu^25mHo>WR.II]MLT%eJ:R#eYHm>WEi#-7&%b6->t]'pc[nFom=S&C(D[rKr?(aq4D@S@QssQ%#Ni!+34sIY"Q9:f?pL(;MrVnk`;jk+RS>1u-RLK`V`5!\8/73,+NB)0c,*_NcX)LFt4-<pYe(1%B)8bA^,@;lkV`@l>lC'2NVoo=_Nd1gS@ScWr6+Fc%e"R\H,=?-j<kh)*d^]s9/ocC'9Mq\9i4eF]]FC`9h4#q@)f7S_-W2DVYj'0,e0+ruV%~>endstream
|
||||
endobj
|
||||
93 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2896
|
||||
>>
|
||||
stream
|
||||
Gb!#^gN)%.&q0LUoV43PP6?-\b`e73'@4[T7oJKk<@N`W,UO5)+\5u6laK0B'IiW'HagF_Nm+0L(SK1=1ggA'IRs19]*3Go!;2c\Ts.W"0ba^*T4,;jqr`q!P(or<Ni<n(gU<j@'*I.0@=43%\d3l+(+>G$X4K1T?=flM`+q=[<.U*X(IZSR*[^>`nH0QA82GbSk?uGQci>f:U6CH\7<>DFlCd>S9=#X8Cm.U&Jr7l@q3k`bNt[3[C;D4D+m-$*"a.s`+et5J)'r3p_!uX=(3(gB@<;sI-e8T]*PL'7>AH"MUXsI2p$1ZGrhB@oH,t#^Jt8_LI??cU:;=MMas&(qfgB?APStlH_>-gB\#jpBFfJQ4Fctb!=ci2!c.0;bDWln0C'+m-WkitlgdYTgE7hF+1E`P\-B+s]-$+S,cr8CQ\.kD\:3ak?<_I*mZc>Nij4btBT!npm-VeH&R-^k@meNP9XSq3=<F'<7:J)>)<>Kn#jEiKmanK'\rSVSA&6S2R3S^53r^5r(\L?V;ra!PY39Jj2\=V^3]RL+mbqBg?9n:A"<t0BuGj*/n]0qqSW'Vr2UcDn?6F`V17VU>V;8/ZS(V+N"[9)TJdQuT&M5ibD=FGRE<.i8'_'TeO\k18?:t]_6<2"KR@SXq_'!D3&WBUftF2.*`pIMWW@@<Q%:fdMbYZ?VerS<J](M,e]A=*5"QHRE#B'W2ce3P1i=mnQ1?!cFEp4kh<opfm(O@<"H9L+hYGRTrpEqLQ4_;h-UZ@mRO&UssM`&r9TEQl9fF9G0pZ(BaVfOl;`pBO9Z(e]!=P2d!3G;jom+Q%?f#+sqmI32Eoak0Fe+^5-QMJMC(CJ<6]4!(^2=2p5C4r7$2`s[^P:r(Xhj1$1b(Z:'dOEr==AL\CNGt@"`bJe;enk]2ZEMb_F2G=1mhm5Pm'GDN\Y-pK4$2GFR4<)_K"'Y*,[>J?\Ud^F,HIX0d/;K>6<JU(K(d]9F)8W4[!4c9E!2#,L]B4ZmE7q0-0b-+'HW::>W>Ilm<>iTMr;]8)S?9E1<'D#$rcOGO,u;"KV:[]J[W\tWYnWW7*,c3i.a0*2amVBZGNsP899^S!q^;&HmZk<Clu?`nM8k/'L<5nR^]NE:EXRO>qn(p65NMtEqiZFF4FZd*/ekQN<gnc"+$_FY^&Xbl(/JZ#09neF`R*?e_K8='5.704'ps&$NW%qK\",7XE@T6*FYfK;bMaK=":fAEG=`Q1U$'cM]mAol4VI#IOa;?aB*_eAFTr4)OmW3u2d5`&I8SdTG9"%K)PXb],FJZ]2l[_3j2RQR8<Ng+G_QY@)[).6"\[-M*im.bGN5GUUh?`r)oTA/X.A?`9G6Sq\dWs&q/dDT*T-b=B@m*R)l0ZMHGNG7,D#h#3?*O&`G<$D8T\3I$+1LBIT5L/M7@dRWjPD6&QE9mgmP%%M%cpco9La4$U$Rh@jM*CjFkh2q*qq/@a]V5WpYDU5J_kDGp0L9ZR5C..1(YQOlGEl)3QroP5O`l6<@i2FSkko>,/LuJFeE@Wk\$.V"$aXL/f,pomQbM$n@L3?=juhM@Jk[CimSj@F,c-XnI[!Q-k^>qT6Xu,nmd>=*HU<"7rsM#iBMB'p9)K+XBGN'r2pul.7XpX\MPID'6_J"^;g]71nO/Q'0i+8m5`Vp43l]2+h[*(bqb/Q'+lPPdJGcWE#YDF`uTc<HG?J\Z0)-$5O;gQ(f.^Tieijlh^'ACWRG%p57rsdSCXoVq\6_)/DZ'"I[oPPHsiUA%I2;8o=>__f*GaVs?4_i*0Xj^GIL934`P+H]Jh;#`N>^L&t_KP4l2X+!Af2(4$Pe>JHqF(5u2$[#3Z\b%W^S$.g#a8P``5s0'Yn*-0P*,B0::X:I9])QicZ?a2FI<]urm)P`?3DV5\NRsg$AL[-+]dGlfTc#DMRe>:>48CrKB*cE7c0Q2Zq1C9DaYbW/?*K-pu:d9(9V(q<J^A"T)QH4H=HG42=d#9N3rrnLUB]-..!VbbpS8iMDZ2%foj0A;s(q+0L/XAC*KM/jf%'HN`CF;"erEfS?mQrFqlDC>DLmP6"U`0RO\\Ml@^#_iP]5kSQM3I]&IOc9p\5=.k(LT?gWTMYC`,Zr1n@CueJ,)@f/rm.Tf^L^Z0&E3W,4QWS[Q=DBWRafZFJ>*'A&6_q@)9IdOTJZ7cJQH/+0mf]3nFqiBY7gB]8pf^c(c6H=+]Lp?FLE-m(&nj%(pFk<#iHMT`>Nlace>R+:X*jD`[m3ZgkJ)9k=+6]]kWL-]I%:$iGMGM[ThD@"F3E/D2#gk#pC=N2M3MI#G,R)kg@5?+%6sqEbqFCiRWr*!X.iT%2,^#G]uA>GJLY#lKbd2OPf9]CR=uh!bmKQ\PE\[k4^f?T/7RD@e)l(EIFIFefuB./l-03k?tZkR+#IFtf_FPQG>,_nu*u:#rj_E2+Gjh"_':\;N"WP)6#;V9Pn(`>[<b_"YdUiNjX*"GGPuG-PkK+T$4ihOW4&qi4[5q'>hZ;NXB%X;2+]2j(n/>s?F6Q1k'(Y`Bh)/*"C]:%k)J,4b,5J3hA+D88)=_Xi+Pgt0F;3;Sa8PmUdPr<nr56\eHq`>u%AhoNto,WC!?K9[O:Aifh+;6&!"fhQLBY*B&ue(%K,`e3Vm?N.XW!,mr4fqks;VCal.62^;`4E<^po&0,[!L>UL'';cORmCXE^%ut8<OUc@/`F"c.LJ<52(uH;Y"]<b-XH[^IkH/[Sm@UF>Yb`l0TUpeGrSp0&'4t/`R3-7LE/`Wjf9Au)T?_j[.!VNm-gDSe+mDRo/g*NB2"m<hk0B2CCG4T3$dO$rRK@Wqhf08F]\F(2&c?RkTn/!(uU&ofsOgt42j)`Yq7s74tt7*%0WZ#C0'+IOZ_:m_uXU&-6Z.Hq=t.moXa/kSG`\-^@(^~>endstream
|
||||
endobj
|
||||
94 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2141
|
||||
>>
|
||||
stream
|
||||
Gau0DD0+E#&H;*)YsZtp:;]YI8-73/A8m-1B:OVTRH[CZ4[L,2>=aWH34MQZHh[.666HB%(5tQ5]m[M@G5"Bj`A`eVgN.n'!@X9K."f>=W(&T\gd#Lko(@[5S=333VQO[\BJbNK2`4iqA6_Z,Z7(FC*#OltPtMm":L^=2i=r<!8YG6",0-1iYj2&CgkqU,5!1oZ_&Wqj8r]J5]h>EBLq[(D&u8^2b3thPO63=r4t:Y74Nr0b6**_i7$3Y3.`b"`/r:ZF;aS(,8hs/-hIq,:_=GSWo!&jK3s%.C64VD%K+qQmr]:6`1_V!7`f@S#*A;.Ji$Vb+q.hqMP;l)F+*Xj63ltX\$p_Lt6pNeEaIa,[_[TRX;&"hPU(huC"0)?Y'fa><<G($,UD^.>W?:u6W$0WL<TH%dn@nqe,:$01L_hj3N4AV0nX4o9oj)21?PbhP"@%S-Vu@f>^!<4>eute<?+>gW:D.'<4[\Pu*csW\b=bUk61K*)jLWLb.5\,\I*.d-psZ6;e=-3bGN0DqIMNL"1J^ue)RL[ZA1*#W?n6t!'1nrFM=ef1\/0#XN\>>9GY</=Z@e,7iRr,67;%8$^$=`(S&WS&<9][$0AcGdj9e5'q03i\69qTNDOM1kH$T=23Sp,V8MCPG>Pt,,p)mdu<QO:\1ILr-TM+@B!;O=G;!'S!KGYq0X".>e!a6aZA[!p..T*I_Q,?3QM4QIBh1mUE/XS(o(V]OEj(*<-(a:%S3lS7Tl!*@!nBJd!?!t:]^=.\^(5BmD*8:u7>lPChk6(gHL1b%H)_s6k'o/R?]KeC`L.:.^mDO"T-sF-t@sjgRbla+E84CqB@cTSYZAI&#"tY/@-#kLbo#]H(B3X0#%uQK8W+"9#Es2fJN8`D\aX#6Qh=AS2'&#$M$k)kTFM[\Lq[n;NS#;`&0im"P(OVP!qdPY6$dZ.K3&:k&F99[kO_*FF2%&&69C!-"Q%UWO0q\?PdQSjeq^p9cNKn(1[O/$>-,#-g"#L68gAT=m'*D%MenOk>^%4aD&_<[q+])r+o$Oihj.P5GWcro\M&c*nqThOgnORr@+[g<uDlU=-GQ1jXInicq&[@^J[qZT(LWU!=gZH"G.H.E-OYjSm2/0iV0HB5tDs[m,htS6*U>"N[i%;0b!24p![I5Pg_Y6e5$c[/^]n3gFXibA>7H,KiH;ti&*)jc9FqUMDFqc*8h,)XoS%eR!54o+AJur-s`9d>&j8-^0T)/mh6@TJUJR&s_Ym>_Qn<H:rf:mbShSp0Yn,oO2&"qL)e%^[gX21J+j2Ok7C(8M3!aP=_M<4gKIIX\R)*=>ko2\GCf>@?=T4<SSltZi0;^\#+NDbRJ%?6`(_pKTRS(?[]k$JKO/B*sbl'<EG-QMeY"B;psR^urfZ4Pu^$177&p[?;u!L?Qq<)HpNWhCT)@:C4jjZ3YtG*'2gFp)\D2R'YRba\n>Cj=M\Q>AeDTbV!aNtDeAbHn'n/gjX8O-N%DSNNGXc>g20BWLje3N^BRQTG0[hciguZQ?oj_QiI2eiZ+tidVZj_a4pn0AGVKK.:iFE*TI^_m<G&q%6_3"BF\Np>u>_*qG59a")'f7MF,&</8%^cNTZ69ifm35jG5?2OZlL3\rWCZd6O#3l>5X$)>^p)TEgoTp(fk;SH'Fm-Zr;81[Mgichs>H2#G"]2,]MNuD-KM(.2*c@Ci;PA!RmPR9*S+LQ&h+\DjXlAQR[nLVe?W!L3:@[RnkNj.XHl=aM[#7#<OOU7'T%7sPpP$@;I/lT6]`Cs[*N^%<H=n\s<>%2Y*0O7aOT$0ap)tYc:Di1<R-#5f/<@Ms"^aq@S%[bU5#3Wu<.38N/VpX0>QK&]O9KurG4'#[3&Pb@E>_,D-nH&N3J:&q%J%[5!Eo5p?mY!E"6dmIu^O,EEYl9*pWl9>p>.emL*u!0%I<FSY]&q1UlkY5M-:bkPN.=ti!rca6X;a/$?6o`obTo_We*8.-oXV%Ti<VdhVTDFLA6i7C9,WaRmX28*RH&:kj+el]RmI,bE`+?nOB;"sGNY"ic=[NieY4s`&&.3jDOp.TM88^K,$-ZpGqO%qZL0j@XCoW66dDg@+UsFZL&o9^Fhru;@cZ!qQ]%0TRM\NJ"GXfTV9Lu?<N9MZT^%7Y3;FB\.Z_U~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 89
|
||||
0 95
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -535,68 +586,74 @@ xref
|
||||
0000004811 00000 n
|
||||
0000004960 00000 n
|
||||
0000005076 00000 n
|
||||
0000005514 00000 n
|
||||
0000005620 00000 n
|
||||
0000005698 00000 n
|
||||
0000005847 00000 n
|
||||
0000006072 00000 n
|
||||
0000006156 00000 n
|
||||
0000006362 00000 n
|
||||
0000006568 00000 n
|
||||
0000005182 00000 n
|
||||
0000005260 00000 n
|
||||
0000005409 00000 n
|
||||
0000005493 00000 n
|
||||
0000005699 00000 n
|
||||
0000006137 00000 n
|
||||
0000006343 00000 n
|
||||
0000006549 00000 n
|
||||
0000006774 00000 n
|
||||
0000006980 00000 n
|
||||
0000007186 00000 n
|
||||
0000007273 00000 n
|
||||
0000007588 00000 n
|
||||
0000007663 00000 n
|
||||
0000007755 00000 n
|
||||
0000007858 00000 n
|
||||
0000008007 00000 n
|
||||
0000008097 00000 n
|
||||
0000008189 00000 n
|
||||
0000008299 00000 n
|
||||
0000008421 00000 n
|
||||
0000008566 00000 n
|
||||
0000008668 00000 n
|
||||
0000008784 00000 n
|
||||
0000008897 00000 n
|
||||
0000009012 00000 n
|
||||
0000009100 00000 n
|
||||
0000009230 00000 n
|
||||
0000009342 00000 n
|
||||
0000009494 00000 n
|
||||
0000009585 00000 n
|
||||
0000009697 00000 n
|
||||
0000009807 00000 n
|
||||
0000009902 00000 n
|
||||
0000010009 00000 n
|
||||
0000010115 00000 n
|
||||
0000010224 00000 n
|
||||
0000010331 00000 n
|
||||
0000010454 00000 n
|
||||
0000010558 00000 n
|
||||
0000010676 00000 n
|
||||
0000010787 00000 n
|
||||
0000010907 00000 n
|
||||
0000011035 00000 n
|
||||
0000011129 00000 n
|
||||
0000011232 00000 n
|
||||
0000012440 00000 n
|
||||
0000016061 00000 n
|
||||
0000019298 00000 n
|
||||
0000022790 00000 n
|
||||
0000025734 00000 n
|
||||
0000028673 00000 n
|
||||
0000007392 00000 n
|
||||
0000007598 00000 n
|
||||
0000007804 00000 n
|
||||
0000007891 00000 n
|
||||
0000008206 00000 n
|
||||
0000008281 00000 n
|
||||
0000008373 00000 n
|
||||
0000008476 00000 n
|
||||
0000008625 00000 n
|
||||
0000008715 00000 n
|
||||
0000008807 00000 n
|
||||
0000008917 00000 n
|
||||
0000009039 00000 n
|
||||
0000009184 00000 n
|
||||
0000009286 00000 n
|
||||
0000009402 00000 n
|
||||
0000009515 00000 n
|
||||
0000009630 00000 n
|
||||
0000009718 00000 n
|
||||
0000009848 00000 n
|
||||
0000009960 00000 n
|
||||
0000010112 00000 n
|
||||
0000010203 00000 n
|
||||
0000010315 00000 n
|
||||
0000010425 00000 n
|
||||
0000010520 00000 n
|
||||
0000010627 00000 n
|
||||
0000010733 00000 n
|
||||
0000010842 00000 n
|
||||
0000010949 00000 n
|
||||
0000011072 00000 n
|
||||
0000011176 00000 n
|
||||
0000011294 00000 n
|
||||
0000011405 00000 n
|
||||
0000011525 00000 n
|
||||
0000011653 00000 n
|
||||
0000011747 00000 n
|
||||
0000011872 00000 n
|
||||
0000012819 00000 n
|
||||
0000013945 00000 n
|
||||
0000014176 00000 n
|
||||
0000014407 00000 n
|
||||
0000018061 00000 n
|
||||
0000021370 00000 n
|
||||
0000024901 00000 n
|
||||
0000027905 00000 n
|
||||
0000030893 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<551952d3ad7bea00713487e65aa30a36><551952d3ad7bea00713487e65aa30a36>]
|
||||
[<61e6dc8dc43c449d33e78ae8cbec84ac><61e6dc8dc43c449d33e78ae8cbec84ac>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 48 0 R
|
||||
/Root 47 0 R
|
||||
/Size 89
|
||||
/Info 51 0 R
|
||||
/Root 50 0 R
|
||||
/Size 95
|
||||
>>
|
||||
startxref
|
||||
30856
|
||||
33126
|
||||
%%EOF
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# Platform scaling and multi-environment architecture — specification
|
||||
|
||||
<!-- doc-meta:start -->
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Author | Anton Afanasyeu |
|
||||
| Revision | R1 |
|
||||
| Creation date | 2026-06-12 |
|
||||
| Last modification date | 2026-06-12 |
|
||||
| Co-authored | |
|
||||
| Severity | medium |
|
||||
| State | scheduled |
|
||||
| Document type | spec |
|
||||
<!-- doc-meta:end -->
|
||||
|
||||
\newpage
|
||||
\newpage
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Document type:** SPEC
|
||||
**Source draft:** [docs/drafts/20100612_1_scaling.txt](../drafts/20100612_1_scaling.txt)
|
||||
**Design review:** [docs/DRs/20100612_1_scaling.md](../DRs/20100612_1_scaling.md)
|
||||
@@ -17,6 +36,19 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
**Documentation index:** [README.md](../README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
@@ -26,6 +58,8 @@
|
||||
- [2. Vocabulary](#2-vocabulary)
|
||||
- [3. Current state (baseline)](#3-current-state-baseline)
|
||||
- [4. Goals and non-goals](#4-goals-and-non-goals)
|
||||
- [Goals](#goals)
|
||||
- [Non-goals (this revision)](#non-goals-this-revision)
|
||||
- [5. Requirements](#5-requirements)
|
||||
- [5.1 Must (platform)](#51-must-platform)
|
||||
- [5.2 Should](#52-should)
|
||||
@@ -51,14 +85,15 @@
|
||||
- [14.3 Enforcement layers](#143-enforcement-layers)
|
||||
- [15. RBAC and operator model evolution](#15-rbac-and-operator-model-evolution)
|
||||
- [16. Commercial and paid services (platform hooks)](#16-commercial-and-paid-services-platform-hooks)
|
||||
- [17. Observability and SLOs](#17-observability-and-slos)
|
||||
- [17. Observability and SLO](#17-observability-and-slo)
|
||||
- [18. Safety constraints (current topology)](#18-safety-constraints-current-topology)
|
||||
- [19. Phased delivery map](#19-phased-delivery-map)
|
||||
- [20. Out of scope (this SPEC revision)](#20-out-of-scope-this-spec-revision)
|
||||
- [21. Related docs](#21-related-docs)
|
||||
- [Changelog](#changelog)
|
||||
<!-- /toc -->
|
||||
|
||||
**Documentation index:** [README.md](../README.md)
|
||||
**Documentation index:** [README.md](README.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user