mirror of
git://f0xx.org/android_cast
synced 2026-07-29 04:38:53 +03:00
docs updated, most probably related to pdf gen and/or url shortener
This commit is contained in:
@@ -6,7 +6,8 @@
|
||||
**Status:** Post-alpha (next after alpha); priority may shift with BE capacity/load
|
||||
**Severity:** Medium
|
||||
**Public host:** `https://s.f0xx.org`
|
||||
**Repo placement:** `backend/url-shortener` (git submodule → `git://f0xx.org/androidcast_project/url-shortener`)
|
||||
**Repo placement:** `backend/url-shortener` (git → `git://f0xx.org/androicast_project/url-shortener`)
|
||||
**Scaffold:** [backend/url-shortener/](../../backend/url-shortener/) · **OpenAPI:** [openapi.yaml](../../backend/url-shortener/openapi.yaml)
|
||||
|
||||
**Documentation index:** [README.md](../README.md)
|
||||
|
||||
@@ -16,6 +17,8 @@
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## Table of contents
|
||||
|
||||
<!-- toc -->
|
||||
@@ -47,6 +50,9 @@
|
||||
- [15. Tests](#15-tests)
|
||||
- [16. Out of scope (v1)](#16-out-of-scope-v1)
|
||||
- [17. Related docs](#17-related-docs)
|
||||
- [18. Routing (normative)](#18-routing-normative)
|
||||
- [19. Appendix A — curl cookbook](#19-appendix-a-curl-cookbook)
|
||||
- [20. Admin UI](#20-admin-ui)
|
||||
<!-- /toc -->
|
||||
|
||||
**Documentation index:** [README.md](README.md)
|
||||
@@ -104,7 +110,7 @@ Provide **short, encoded URLs on demand** for long targets. The service is a **h
|
||||
| S1 | Support **GET** (query) and **POST** (JSON body) shorten endpoints |
|
||||
| S2 | Rate limits per bearer token |
|
||||
| S3 | Audit log table for create/access/deny |
|
||||
| S4 | Admin token mint/revoke via BE RBAC (shared operator session) — see DR |
|
||||
| S4 | Admin token mint/revoke via hub **Short links** card + shared `ac_crash_sess` RBAC — [§20](#20-admin-ui) |
|
||||
| S5 | Unit tests (PHP) + curl-based smoke script in `scripts/` |
|
||||
|
||||
---
|
||||
@@ -359,7 +365,7 @@ Unique index: `(bearer_id, origin_hash)` where `expires_at IS NULL OR expires_at
|
||||
|
||||
## 11. OpenAPI
|
||||
|
||||
Ship `backend/url-shortener/openapi.yaml` covering:
|
||||
Ship [backend/url-shortener/openapi.yaml](../../backend/url-shortener/openapi.yaml) covering:
|
||||
|
||||
- `POST /api/v1/shorten`
|
||||
- `GET /api/v1/shorten` (documented; mark `POST` preferred)
|
||||
@@ -375,9 +381,10 @@ Serve docs at `GET /api/v1/docs` (Swagger UI static bundle or Redoc) — opt-in
|
||||
| Item | Value |
|
||||
|------|-------|
|
||||
| Submodule path | `backend/url-shortener` |
|
||||
| Remote | `git://f0xx.org/androidcast_project/url-shortener` (when available) |
|
||||
| BE docroot | `/var/www/localhost/htdocs/apps/s/` (suggested — confirm in DR) |
|
||||
| nginx | New fragment `url-shortener.conf`; FE `server_name s.f0xx.org` |
|
||||
| Remote | `git://f0xx.org/androicast_project/url-shortener` (live) |
|
||||
| FE TLS | `/etc/letsencrypt/live/s.f0xx.org/` (live on FE) |
|
||||
| BE docroot | `/var/www/localhost/htdocs/apps/s/` |
|
||||
| nginx | [deploy/nginx.fe-s.f0xx.org.snippet](../../backend/url-shortener/deploy/nginx.fe-s.f0xx.org.snippet), [deploy/nginx.be-url-shortener.fragment](../../backend/url-shortener/deploy/nginx.be-url-shortener.fragment) |
|
||||
| PHP-FPM | Same pool as other BE apps or dedicated pool if load warrants |
|
||||
| MariaDB | Schema `url_shortener` |
|
||||
| Enable | Operator copies submodule, runs migration, includes nginx fragment, reload |
|
||||
@@ -436,6 +443,76 @@ Metrics (suggestion): redirect count, 4xx/5xx rate — post-v1 Prometheus or ngi
|
||||
## 17. Related docs
|
||||
|
||||
- [DR — design review](../DRs/20100611_3_url_shortener.md)
|
||||
- [backend/url-shortener/README.md](../../backend/url-shortener/README.md) — scaffold + deploy
|
||||
- [INFRA.md](../INFRA.md) — FE → BE proxy
|
||||
- [20260610_SERVICES.md](../20260610_SERVICES.md) — service catalog (add row when live)
|
||||
- [20260610_SERVICES.md](../20260610_SERVICES.md) — service catalog (preview row)
|
||||
- [ROADMAP.md](../ROADMAP.md) — post-alpha track
|
||||
|
||||
---
|
||||
|
||||
## 18. Routing (normative)
|
||||
|
||||
Single vhost `s.f0xx.org`. **API and redirect share the host**; paths are disjoint:
|
||||
|
||||
```text
|
||||
https://s.f0xx.org
|
||||
/api/v1/health → JSON health
|
||||
/api/v1/shorten → shorten (GET query or POST JSON)
|
||||
/api/v1/qr/{slug}.png → QR PNG
|
||||
/{slug} → 302 redirect (regex: [a-f0-9]{6,16})
|
||||
```
|
||||
|
||||
```text
|
||||
Client nginx (FE TLS) nginx (BE) PHP
|
||||
│ POST /api/v1/shorten proxy_pass :80 /api/* → index.php
|
||||
├──────────────────────────►──────────────────────────►──────────────────► shorten handler
|
||||
│
|
||||
│ GET /{slug}
|
||||
├──────────────────────────►──────────────────────────► slug regex ──────► redirect handler
|
||||
```
|
||||
|
||||
FE: full URI proxied to BE `:80` with `Host: s.f0xx.org` (see deploy snippet).
|
||||
BE: `try_files` → `public/index.php` for `/api/` and slug paths.
|
||||
|
||||
---
|
||||
|
||||
## 19. Appendix A — curl cookbook
|
||||
|
||||
Runnable script: [backend/url-shortener/scripts/demo_curl.sh](../../backend/url-shortener/scripts/demo_curl.sh)
|
||||
|
||||
```bash
|
||||
export BASE=https://s.f0xx.org
|
||||
export BEARER=your-trusted-token
|
||||
export TARGET='https://defender.net/very/long/link?demo=1'
|
||||
|
||||
# 1) Health
|
||||
curl -fsS "$BASE/api/v1/health"
|
||||
|
||||
# 2) Shorten (POST)
|
||||
curl -fsS -X POST "$BASE/api/v1/shorten" \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"url":"'"$TARGET"'","bearer":"'"$BEARER"'","ttl":3600}'
|
||||
|
||||
# 3) Follow redirect (HEAD)
|
||||
SHORT=https://s.f0xx.org/a1b2c3d4e5f6 # from .u in response
|
||||
curl -sSI "$SHORT" | grep -E '^(HTTP|Location:)'
|
||||
|
||||
# 4) QR PNG
|
||||
curl -fsS -o /tmp/qr.png "$BASE/api/v1/qr/a1b2c3d4e5f6.png?size=256"
|
||||
```
|
||||
|
||||
Deploy smoke: [scripts/smoke_shorten.sh](../../backend/url-shortener/scripts/smoke_shorten.sh)
|
||||
|
||||
---
|
||||
|
||||
## 20. Admin UI
|
||||
|
||||
**Decision (DR rev. 2):** operator token management lives in the **hub** as a **Short links** nav card (same theme as Remote access / Builder), not a separate skin.
|
||||
|
||||
| Action | Auth |
|
||||
|--------|------|
|
||||
| Mint / revoke bearer tokens | `ac_crash_sess` + RBAC `admin` / `operator` |
|
||||
| List links per bearer | same |
|
||||
| Purge expired | `admin` |
|
||||
|
||||
Machine clients (`curl`, BE jobs) use **bearer tokens only** — no session cookie on `/api/v1/shorten`.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 32 0 R /F4 34 0 R /F5 35 0 R /F6 36 0 R
|
||||
/F1 2 0 R /F2 3 0 R /F3 35 0 R /F4 37 0 R /F5 38 0 R /F6 41 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
@@ -17,154 +17,170 @@ endobj
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 716.2874 84.37304 727.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 705.2874 77.26104 716.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 694.2874 104.373 705.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 683.8499 88.44754 693.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 673.8499 95.54254 683.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 37 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 663.2874 97.26104 674.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 652.2874 138.629 663.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 652.2874 138.629 663.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 45.68504 641.2874 91.03704 652.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 45.68504 641.2874 91.03704 652.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 630.8499 125.55 640.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 630.8499 125.55 640.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 620.8499 130.5525 630.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 620.8499 130.5525 630.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 38 0 R /Fit ] /Rect [ 59.68504 610.8499 121.7925 620.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 42 0 R /Fit ] /Rect [ 59.68504 610.8499 121.7925 620.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
15 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 59.68504 600.8499 133.47 610.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 600.8499 133.47 610.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
16 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 59.68504 590.8499 83.44504 600.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 590.8499 83.44504 600.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
17 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 580.2874 174.181 591.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 580.2874 174.181 591.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
18 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 569.2874 105.709 580.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 569.2874 105.709 580.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
19 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 45.68504 558.2874 119.053 569.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 45.68504 558.2874 119.053 569.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
20 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 39 0 R /Fit ] /Rect [ 59.68504 547.8499 87.19504 557.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 43 0 R /Fit ] /Rect [ 59.68504 547.8499 87.19504 557.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
21 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 537.8499 120.135 547.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 537.8499 120.135 547.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
22 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 527.8499 112.2075 537.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 527.8499 112.2075 537.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
23 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 59.68504 517.8499 102.63 527.8499 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 59.68504 517.8499 102.63 527.8499 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
24 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 507.2874 94.59704 518.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 45.68504 507.2874 94.59704 518.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
25 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 40 0 R /Fit ] /Rect [ 45.68504 496.2874 91.49304 507.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 44 0 R /Fit ] /Rect [ 45.68504 496.2874 91.49304 507.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
26 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 485.2874 101.709 496.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 485.2874 101.709 496.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
27 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 474.2874 87.92504 485.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 474.2874 87.92504 485.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
28 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 463.2874 141.269 474.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 463.2874 141.269 474.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
29 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 452.2874 78.58904 463.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 452.2874 78.58904 463.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
30 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 441.2874 120.389 452.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 441.2874 120.389 452.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
31 0 obj
|
||||
<<
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 41 0 R /Fit ] /Rect [ 45.68504 430.2874 105.717 441.2874 ] /Subtype /Link /Type /Annot
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 430.2874 105.717 441.2874 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
32 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 45 0 R /Fit ] /Rect [ 45.68504 419.2874 129.269 430.2874 ] /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
|
||||
>>
|
||||
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
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Oblique /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
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 ] /Contents 74 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
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 <<
|
||||
@@ -172,64 +188,39 @@ endobj
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
34 0 obj
|
||||
37 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
35 0 obj
|
||||
38 0 obj
|
||||
<<
|
||||
/BaseFont /Symbol /Name /F5 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
36 0 obj
|
||||
<<
|
||||
/BaseFont /ZapfDingbats /Name /F6 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
37 0 obj
|
||||
<<
|
||||
/Contents 75 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
38 0 obj
|
||||
<<
|
||||
/Contents 76 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
39 0 obj
|
||||
<<
|
||||
/Contents 77 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
/Border [ 0 0 0 ] /Contents () /Dest [ 46 0 R /Fit ] /Rect [ 387.5218 109.7614 399.1978 118.1614 ] /Subtype /Link /Type /Annot
|
||||
>>
|
||||
endobj
|
||||
40 0 obj
|
||||
<<
|
||||
/Contents 78 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
/Annots [ 39 0 R ] /Contents 83 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 <<
|
||||
>> /Rotate 0
|
||||
/Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>> /Type /Page
|
||||
>>
|
||||
endobj
|
||||
41 0 obj
|
||||
<<
|
||||
/Contents 79 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 73 0 R /Resources <<
|
||||
/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 <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
@@ -237,214 +228,276 @@ endobj
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
42 0 obj
|
||||
<<
|
||||
/Outlines 44 0 R /PageMode /UseNone /Pages 73 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
43 0 obj
|
||||
<<
|
||||
/Author (Android Cast project) /CreationDate (D:20260611175417+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260611175417+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (URL shortener service \204 specification) /Trapped /False
|
||||
/Contents 85 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
|
||||
>>
|
||||
endobj
|
||||
44 0 obj
|
||||
<<
|
||||
/Count 31 /First 45 0 R /Last 72 0 R /Type /Outlines
|
||||
/Contents 86 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
|
||||
>>
|
||||
endobj
|
||||
45 0 obj
|
||||
<<
|
||||
/Dest [ 37 0 R /Fit ] /Next 46 0 R /Parent 44 0 R /Title (1. Purpose)
|
||||
/Contents 87 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
|
||||
>>
|
||||
endobj
|
||||
46 0 obj
|
||||
<<
|
||||
/Dest [ 37 0 R /Fit ] /Next 47 0 R /Parent 44 0 R /Prev 45 0 R /Title (2. Scope)
|
||||
/Contents 88 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
|
||||
>>
|
||||
endobj
|
||||
47 0 obj
|
||||
<<
|
||||
/Count 2 /Dest [ 37 0 R /Fit ] /First 48 0 R /Last 49 0 R /Next 50 0 R /Parent 44 0 R
|
||||
/Prev 46 0 R /Title (3. Requirements)
|
||||
/Outlines 49 0 R /PageMode /UseNone /Pages 81 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
48 0 obj
|
||||
<<
|
||||
/Dest [ 37 0 R /Fit ] /Next 49 0 R /Parent 47 0 R /Title (3.1 Must)
|
||||
/Author (Android Cast project) /CreationDate (D:20260611185331+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260611185331+02'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (URL shortener service \204 specification) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
49 0 obj
|
||||
<<
|
||||
/Dest [ 37 0 R /Fit ] /Parent 47 0 R /Prev 48 0 R /Title (3.2 Should)
|
||||
/Count 34 /First 50 0 R /Last 80 0 R /Type /Outlines
|
||||
>>
|
||||
endobj
|
||||
50 0 obj
|
||||
<<
|
||||
/Dest [ 37 0 R /Fit ] /Next 51 0 R /Parent 44 0 R /Prev 47 0 R /Title (4. Architecture)
|
||||
/Dest [ 40 0 R /Fit ] /Next 51 0 R /Parent 49 0 R /Title (1. Purpose)
|
||||
>>
|
||||
endobj
|
||||
51 0 obj
|
||||
<<
|
||||
/Dest [ 38 0 R /Fit ] /Next 52 0 R /Parent 44 0 R /Prev 50 0 R /Title (5. Authentication and trust)
|
||||
/Dest [ 40 0 R /Fit ] /Next 52 0 R /Parent 49 0 R /Prev 50 0 R /Title (2. Scope)
|
||||
>>
|
||||
endobj
|
||||
52 0 obj
|
||||
<<
|
||||
/Count 5 /Dest [ 38 0 R /Fit ] /First 53 0 R /Last 57 0 R /Next 58 0 R /Parent 44 0 R
|
||||
/Prev 51 0 R /Title (6. REST API)
|
||||
/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)
|
||||
>>
|
||||
endobj
|
||||
53 0 obj
|
||||
<<
|
||||
/Dest [ 38 0 R /Fit ] /Next 54 0 R /Parent 52 0 R /Title (6.1 Shorten \204 GET)
|
||||
/Dest [ 40 0 R /Fit ] /Next 54 0 R /Parent 52 0 R /Title (3.1 Must)
|
||||
>>
|
||||
endobj
|
||||
54 0 obj
|
||||
<<
|
||||
/Dest [ 38 0 R /Fit ] /Next 55 0 R /Parent 52 0 R /Prev 53 0 R /Title (6.2 Shorten \204 POST)
|
||||
/Dest [ 40 0 R /Fit ] /Parent 52 0 R /Prev 53 0 R /Title (3.2 Should)
|
||||
>>
|
||||
endobj
|
||||
55 0 obj
|
||||
<<
|
||||
/Dest [ 38 0 R /Fit ] /Next 56 0 R /Parent 52 0 R /Prev 54 0 R /Title (6.3 Error response)
|
||||
/Dest [ 40 0 R /Fit ] /Next 56 0 R /Parent 49 0 R /Prev 52 0 R /Title (4. Architecture)
|
||||
>>
|
||||
endobj
|
||||
56 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 57 0 R /Parent 52 0 R /Prev 55 0 R /Title (6.4 Success response)
|
||||
/Dest [ 42 0 R /Fit ] /Next 57 0 R /Parent 49 0 R /Prev 55 0 R /Title (5. Authentication and trust)
|
||||
>>
|
||||
endobj
|
||||
57 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Parent 52 0 R /Prev 56 0 R /Title (6.5 QR)
|
||||
/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)
|
||||
>>
|
||||
endobj
|
||||
58 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 59 0 R /Parent 44 0 R /Prev 52 0 R /Title (7. Redirect and permalink behaviour)
|
||||
/Dest [ 42 0 R /Fit ] /Next 59 0 R /Parent 57 0 R /Title (6.1 Shorten \204 GET)
|
||||
>>
|
||||
endobj
|
||||
59 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 60 0 R /Parent 44 0 R /Prev 58 0 R /Title (8. Slug algorithm)
|
||||
/Dest [ 42 0 R /Fit ] /Next 60 0 R /Parent 57 0 R /Prev 58 0 R /Title (6.2 Shorten \204 POST)
|
||||
>>
|
||||
endobj
|
||||
60 0 obj
|
||||
<<
|
||||
/Count 4 /Dest [ 39 0 R /Fit ] /First 61 0 R /Last 64 0 R /Next 65 0 R /Parent 44 0 R
|
||||
/Prev 59 0 R /Title (9. Database schema)
|
||||
/Dest [ 42 0 R /Fit ] /Next 61 0 R /Parent 57 0 R /Prev 59 0 R /Title (6.3 Error response)
|
||||
>>
|
||||
endobj
|
||||
61 0 obj
|
||||
<<
|
||||
/Dest [ 39 0 R /Fit ] /Next 62 0 R /Parent 60 0 R /Title (9.1 links)
|
||||
/Dest [ 43 0 R /Fit ] /Next 62 0 R /Parent 57 0 R /Prev 60 0 R /Title (6.4 Success response)
|
||||
>>
|
||||
endobj
|
||||
62 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 63 0 R /Parent 60 0 R /Prev 61 0 R /Title (9.2 bearer_tokens)
|
||||
/Dest [ 43 0 R /Fit ] /Parent 57 0 R /Prev 61 0 R /Title (6.5 QR)
|
||||
>>
|
||||
endobj
|
||||
63 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 64 0 R /Parent 60 0 R /Prev 62 0 R /Title (9.3 signer_keys)
|
||||
/Dest [ 43 0 R /Fit ] /Next 64 0 R /Parent 49 0 R /Prev 57 0 R /Title (7. Redirect and permalink behaviour)
|
||||
>>
|
||||
endobj
|
||||
64 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Parent 60 0 R /Prev 63 0 R /Title (9.4 audit_log)
|
||||
/Dest [ 43 0 R /Fit ] /Next 65 0 R /Parent 49 0 R /Prev 63 0 R /Title (8. Slug algorithm)
|
||||
>>
|
||||
endobj
|
||||
65 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 66 0 R /Parent 44 0 R /Prev 60 0 R /Title (10. QR codes)
|
||||
/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)
|
||||
>>
|
||||
endobj
|
||||
66 0 obj
|
||||
<<
|
||||
/Dest [ 40 0 R /Fit ] /Next 67 0 R /Parent 44 0 R /Prev 65 0 R /Title (11. OpenAPI)
|
||||
/Dest [ 43 0 R /Fit ] /Next 67 0 R /Parent 65 0 R /Title (9.1 links)
|
||||
>>
|
||||
endobj
|
||||
67 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 68 0 R /Parent 44 0 R /Prev 66 0 R /Title (12. Deployment)
|
||||
/Dest [ 44 0 R /Fit ] /Next 68 0 R /Parent 65 0 R /Prev 66 0 R /Title (9.2 bearer_tokens)
|
||||
>>
|
||||
endobj
|
||||
68 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 69 0 R /Parent 44 0 R /Prev 67 0 R /Title (13. Security)
|
||||
/Dest [ 44 0 R /Fit ] /Next 69 0 R /Parent 65 0 R /Prev 67 0 R /Title (9.3 signer_keys)
|
||||
>>
|
||||
endobj
|
||||
69 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 70 0 R /Parent 44 0 R /Prev 68 0 R /Title (14. Observability and limits)
|
||||
/Dest [ 44 0 R /Fit ] /Parent 65 0 R /Prev 68 0 R /Title (9.4 audit_log)
|
||||
>>
|
||||
endobj
|
||||
70 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 71 0 R /Parent 44 0 R /Prev 69 0 R /Title (15. Tests)
|
||||
/Dest [ 44 0 R /Fit ] /Next 71 0 R /Parent 49 0 R /Prev 65 0 R /Title (10. QR codes)
|
||||
>>
|
||||
endobj
|
||||
71 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Next 72 0 R /Parent 44 0 R /Prev 70 0 R /Title (16. Out of scope \(v1\))
|
||||
/Dest [ 44 0 R /Fit ] /Next 72 0 R /Parent 49 0 R /Prev 70 0 R /Title (11. OpenAPI)
|
||||
>>
|
||||
endobj
|
||||
72 0 obj
|
||||
<<
|
||||
/Dest [ 41 0 R /Fit ] /Parent 44 0 R /Prev 71 0 R /Title (17. Related docs)
|
||||
/Dest [ 45 0 R /Fit ] /Next 73 0 R /Parent 49 0 R /Prev 71 0 R /Title (12. Deployment)
|
||||
>>
|
||||
endobj
|
||||
73 0 obj
|
||||
<<
|
||||
/Count 6 /Kids [ 33 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R ] /Type /Pages
|
||||
/Dest [ 45 0 R /Fit ] /Next 74 0 R /Parent 49 0 R /Prev 72 0 R /Title (13. Security)
|
||||
>>
|
||||
endobj
|
||||
74 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1029
|
||||
/Dest [ 45 0 R /Fit ] /Next 75 0 R /Parent 49 0 R /Prev 73 0 R /Title (14. Observability and limits)
|
||||
>>
|
||||
stream
|
||||
Gatn&Df=)Y&B<Vr;r#P*J[(b*Is<nS5tFB/QLJcijX+jYR`<0e#5e+!\h_pF:$uOlC8Jqln&bBQpDa9m+1D'L[K%CBGlO04j%un/`?^3/*+n<[cQfl*)%2U<K#WnL.A9T[j*c0?d#:I=!YXT$9f!oki-EP^XH2k=llM?W\O?W+-7/lY'7`e&7O,QPeo:Qcl5XW8NDmMG@$S9:.g=OpVdKa0[B$a!Y1<IWPWtgg"7I;fO)coDo9A<h&b/Z&TI`kU4T9a[3?mHX1n3!)=QoCtq27:lq<Sc"*tR):GHr/+q%bMadGM]q2XB[m^WKoF.T4-iF=6bG"VJ@Ri#dD;n)Mao`W*H4b>*Up6)ApU)eV;:@a#AG7t2bOm39YqF@KY%)N9sP^sXVFQ4kYr4a95US;2\c"Kp8#Yr-:^([!&*SBYO$s!96/GA4Z*^u3s\SHh.a:$,8/HL,AWG4M*gIPTn;JQ#K)X](K(NR)JM)N$,.4h:iAH=*sCp,+hi(]PloV'EgXRh[6>cG+[Eq;L+qp-$6N/+1R@?#fct.m6k9cmnfX(%[@#7g9DS,D)=<g43%Dd(N6"'7"7#0be+t.;KGkObHgZi:>$CRqA@S5rob<)Ja9QFpE"`Ah1L%hnW,Intss4n^*JqU%DmJJ\#h1Z<M+n\n:7o(J-$$:>ef,\Wg-GXW"U4*r,MLr(BVC@r7Sk^nVL!-o@CQ[S*C>_Wd'FI3e=/&gFRI)VsF_UMbJ_Yg<G\OCR+X7An`YGUe;j5"b>:UYi/<a*YjP34"HZo3tP0="B69?uD1%h)nV'Vf*sCkCJ)9qg&a3VR'+LLaD37"!#U4iJ7IMb@rYnbI0e7Y3L2t[e4XSEB#&[d"mt0H;VSj/j-4S0tM)%ZI>It"5s^\)?+(dXQ?]mcg.B*2:T5.#ls-6@2XE8nr,;gfm^afVWd6k'O>+uXjdU6PYml'[YP]okna#G2;-RXfcSuBA>+5G!e+jiJ[U@0fk7g/eLtJb\4/N`j"TDnGg.\db78Tr_Im$BkgeYU%lWIhQ2~>endstream
|
||||
endobj
|
||||
75 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3500
|
||||
/Dest [ 45 0 R /Fit ] /Next 76 0 R /Parent 49 0 R /Prev 74 0 R /Title (15. Tests)
|
||||
>>
|
||||
stream
|
||||
Gau0F>B?9+&q801ka/E7:M^0O<DMq6'Dj%8lPr!LcC:h3#f[K3@Q7V?frb5AgC42bP.8Td.#Epqkaq&'l2JDg;*`-^P5Xic!'\\:r4<";KD>TtR\[dt(2i:'rdLb]HYU-&=LtSbBj$V%:,I>/S+/qDPf4mgjr7--qK[u3)-A.\c9BV_7b>LK2`sVRGn'T2)9dSBHF$p&R,-YIb.aAF7`rL+kKj3&99N'k^eCPd_nh?!LLa2q/"CjS28s&P/$`t>aq+/8)YlVW[>5G:n46/XOre*ibVpAqa5/:rLd-1_q=#N1V_'.K\31%pRr9ui@OGm&2mRcB-Ps35Y&.:"!re>_>*;C;IC2'3!+FrFa@fiJA%t@Cp)Xikp6%:\]E-%_D$QQM^9IJC?SbHdmu0JN)TLV:^2_at2a+OK`p(LT:RAfY^`&3?2h:9OC<3!u8J9%0j)HV5a=f30LfQ[Y`q7_31Zb<\d'k#jS$ZsU9A=aQJNH?i]-t@rq9EHVne-c-j[QbZcO1V:hHl.PZs^IBJ$j*-W^V2HPJSMR4)cG'\W.[X5JfthjA+,aU;^7W,;RB*23WuD\:ZQ!/5oSQ3mdlS[?_;k`+7O^g;1!qfqG[4MF-XM=L!bU>[9ffK)7A37EiBAC1&/DVFI]"MmDNgOa-HPE_X%21s.A!%Qn]`b?amYH5hJB^uZM?X/:A/L^8A?X<=dC'i/9Fk%bG]O.JImdp<H+;uE*]iP(qH*0I<Ogk6ib't>BjS"5?`7OPjk]`^NmRq2%Y"L7IlH"!A.K0BCB'7""!T>O$bU_/BA=F02;n_2!<#@BU6M_eHhAjRUo\j;56]Qh6-L#Y\\F&OH[R<f07pc4F^=<HRj=^&SEm(mOC)PGk&?bFqc_T-'HB4JR?Tah/@l`72!&(.G\_!sQ[hi!U;]Y^$2r1;.2!G^aCgI1u.e;Lhpp7bo>N$d6G82?KU5jN")No&1(:)MO*_d9njeb7d_jZ^'m\t,R^"Gu<o$'4]UZfbfP3!)a5$QhYY0[B%j[bSn9:B\,p^[=ag/:Q5K3Na:#G@<\M?(CSU^S7@7E,'es4k[R4As6#b1rbO?6p,h7JOLRW5+kX5fZkB?R&q8$?LW32mAYo^Ta9GUiVo5#rRkiUZ?H*0BbK3o@bPQOD<[]T990#cqs!C\8(-"Ne<>/;\hUcO\jIYAI0]0#XZTj0nm-?ik;C3a>fkd,rROnJ,g.m%k7?C9PT9rtIrtFQK8)EJ$A7iSU4[&m'ciHR0i_:@;C@38=s04oRqN/>=b*\MBQ+WA.Em;MbR>0sIm]@jflk2u%WmggE>gZ`DI50k::WDI6*<95P`%-2j^Pt_\J^N=\S!C.O%$$UafTp"M"I*c8`k\5"3aEJT'0ob8dfrR.[(:o3(:elRSZOm;,``KqrIMT%C:h5V5bR#7,Zdd%60'j$SNnq("*B3-!h,rb&AOd?=-)+;'TNbpKt5]e&NTKLNJfdQjD`Z*HP?Z!g.AB<07O!2H7TdAi>FFqlfK1mP(TeD^ob=N#m1=Bt2#U)!f-F<GZJ.."mi:G[S!/6Vgd<C8"XQ%fs\j(]=*RN]d48,K'mdL$hMA=8*$#e0?:egOI2$*eTA'Z4qJ(S3j6k%d"oI4t0Bkftb-\g=VVld3C=UALTaM2nYQ8(8Dj'S-+Ab5*!b='Dd7dhpNpi]JKUu\GJseeIGfS'1;^`/TYjJ077]u&OrJ$+-Hd/Jkon]!n96?\QBH&kqglKKD;"LK\pbPS((4rh"`IR>&=X/<5\GZ&4M0I5<idr8shLA4IFfKXPQd%hf:b4]D`Tb0S:,b5i?l4WrIYMI_M!sAnnmYc(EJ2mgu9W(V+gtb=_Qj_^oSbX5D+.YN9')8rpl!0X4[tn>U*:jBZK8VkO2jG,553M?ZbtPm2Uc)Xs`SJ:EI]bd!E;I**BFS)gV8K.\7SKDp<.GA/B*cA?\6QD80;%NTY9^TKt\3Q2H5C+G8q?]bXZf]^c)ddOJ>=N!X]^(0!%;,aKF&b/:^QgHptaE_Vg0Tucp.0Q0QE<VrS(ir`f6.)<DF)hcBdurH<QtG3nM74Xqh[?&kRO+AVHFu;4.7W!!+?i4T1<nJqV7O0`0^=<3dq*C\K2j=hckghA$@Kb@f855";_)$4d'-t!`/Z^"WT[?\M"^%h0=ueDU0&d6SobLr3XBUbjI5Y5_:7O\V_A4\Ri*p2Wk&k&.sdhh<(H!#I<+.OZ'?>L1@eJQ_&6seoU(W<*o5qu&5rb\DmB3FN-\:T(L_Lb;cZM2i"Ye0VGpoW9ljMhM%Hp)?Hl)cK`B'uo,d][C5e5UZp>ebLC;X,_KqTF&DJ9oQ?^0[pkW^k)G7m],oLCM@PMVj9r`p"TdRP-)o((ZUZ8+GZiDnPKKPV;:"=.99TJ:h(2n160:S7M.Ubn%NN&I-]4G6BX4*Aj1qJ*c]@dVk&e4*r_""?-L4F*,2b2c>cGq#>fAionb$hF7Zj$WfWRc^Fl\!=%[WWPBang&1Oj2I&b/9[6fp]fGNSZhQ6L)tOZK>u4&AC/Y(!Xq!dOaf*K_LD2S@!.2S0(A1nbL;bknuWTqk9rcgDYG1/#h^g,11*3ESem/MJc);n+3GBA?YqnTBWNL=W)1\lrj-J'2WQI.\oC;iJb:!0JtM([[9f1*`^F%dhPdXHcCG^gT]?W,^^8_aGsT9OI<k:QukPLG=dtms-/uWhbi<j[#mF]olDUGB3_skT@iZ0OO\u6%[K]jqr0kQSCd=A:5<7G.d0uiW.NEg2?jt3VN]kAH9foGdO@?ihA>0+%JM(&k8T(INH5*+E=U?.2`/IQ12Db?"N6.Qck#]"!OO'I7cQX+flO+T2(u!JUYHLn=&Sl2!f3.Aag,@I.g>9#*j,ZG"VIl92X+t1W[i4p^+1?<AZ7R:]->+f2Wi+VP>tOlmIZdR_3qpgBJh*i:5<"'<2dDq"fi@f(i-6+'P9=.?=6HhZq8HGN\W?4%OY(U#.(^.rSukG+L?mk.XF.sXCZPsm:`C;m;t/;[hHZsK_)=D1oBgCi.](FrX)hBW.PUkHE]`r&1ME!VR&+TURNSea$@=6FYH*MY6`j\rmdeJGI%B)A;P.P>^C+Bnc45Y.(lu$dghNM0MW.-3*b__fe6kNp\\]:n)hHi!aDuP'Q1G1X46eT9Z;+5BBeS,,l+j"Z0aM5NlO\p?@OChRe:&am=u03^8Qt'O>0iU%)7&,=h,JFkLgaRr^M_.#p8*IZ`,'%rHS!lMQLt^BQr2:Oa.oknL/8^`OnUfE[Gp1R/Ib4(pb9jWf'mED:QB&>g4P+['LkrNcTIVF@5>&Bu^@$2e7[@[M771)IR3)NGAA</;%*)Rf1K[8>b`t(s#[p?qRJO#]4da;$/P-ncj1jkj2b?[\MbIO`cL890Eb;A;1t.D7R&&QgFljp6l+cOgF`oma/q_m[Ci';tZ4KLd)Fm9opm]gQ?p&]-kSr,n5eQqH1]SDgpf,*:TIVhG:C-YNXN>!/ppXCn8tP9*n34XaLZ3'qZA.8`T+8CMe7amXMT^*cM~>endstream
|
||||
endobj
|
||||
76 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3122
|
||||
/Dest [ 45 0 R /Fit ] /Next 77 0 R /Parent 49 0 R /Prev 75 0 R /Title (16. Out of scope \(v1\))
|
||||
>>
|
||||
stream
|
||||
Gb!#^lVHQ`(&uQd0qp-)[i<@/^U^'RO5.FUP\!E9og@5BYU@AI?[/)+MYQ(U`in$TSN(&YQITklB'.<_TAMY8$&S.A9)c4\KJ(;Yn=,(VN5dY!.>!/k[qI`bH9%.oSVen1L+4ZDdptb/9a/f_rUE(GZQSg0*)la+7-$m4[RX+`5Z'!`Og$:5B^EP]5_/kq6O(<"LZ%>0NISa$<aCQgYH%oJ^MN?1]DZiLf=2JrrG@?;)!gB9p#@/[P9(BLinKq66r1$s1c\"h:U<;NJH>emn_[/2QS`/n)FhQt$IsShIJ;ohg%tn64d8Jo%1-P?6++:6JlSr7m,\eL).Ko(R?.A8+1oaEm(s2PT@U.Ae#^4<_tI,[3"Pnmd"@E^6uJXAK.*T\NREXXY;,ou&io%L1;.g6gkqIVV]NssnUDMiM)/I-_(,W-#3bpdE(Bh`S*h(;kj*2Hk&DBHZb^%?J-PJd>s*OW+Pc8SE/"scU6*=brE[2JK',S4s#F6#kVfY9lid;*$6f^;0UDhjd.cZ@,RV+8l+@3XDbrk'B,b1"[0S6%:.p]po$?'dmMVOe]Q=1`P-3u"i,l5J(Z]nc[eGk"/:=CCB]7]RgHn"c=WNSX*"_"f!lq_TMg;c16*5B>7>/o7)q:i5;/]Cf!EB-IjZHpjS`ne_)lJ&7%mWJ/YA*2).h=,ZjA`)AYusr0=_RBh.-b"RpDk>$iI%0Gq';"0=@9DCn6jFu/DQVj4LXf4csuFP-jXNTiZLS;-]]lkLb0[]^g=Mbr@(B8Z\U_`#s68,$)YAS;+)^;J#QilM$oAa.QU=rbHe/M\lcml@)GR,(P/tk*%b:*Rk</)"XUpl))L4k0kIr>blF?V!LL-gTKp\/E&0RCRJ#;oC=e\^!1K*NUmT/j,=+/jXNF(q9hj+H,j6^9'oDPG_^Q7O,c6)<XJ*?R"!Bn9?[s@#PAS^lVCb,$:-nR!m#\*0%Y<a]kUO^UFChFn#Td`&'C^q/&<lSfns,=\D)G:-VMp%nf]XgS/K2&Z!g^*aM:s,K7j59TFN]HM^U-Y.)>db784c4Eh1F^P2[Ppuo$FE<FIsnu5-lBmD00cIKAtgWqN/m8Bl?QeCJLTq:Vt-4Zq)Y1ioK_>@ZW6n`11I@)aX2.^22n57]O&'&t&:OG>Wsd[3h%p/O6n#80olte-[='i?P'O8&@p>Ip+5O<*8G6,qfcd*?_;Lo9b*k+F/:Ok:(R:^AWZGn9k<D?5>h#=JilGe]@<qWj/N>UitLpSkde313Me6qi"E$M\*86mK^J<!fR+ej0bM8PIV)YTnn!`.uGd6fbOn!\?CQ%@G$'PC^R%J4PT:i'/tVs\BPD1?\$[ad`7I4q!e@\4>'JLJZ5:N/KM\9-MRoUTHl-,GY)=PqW>#lj>M8`&SmiNN[Yd<mQ1rG(KW'^n:MP`K!)XF4^uZ]#>udX!S"8NaH1V^L.,@VaTd6K^H[_]"7(goU&*rif-@55YBbilei=\@>Vo%g`:EY3j_JkLYI('m%$[[<!^,QP:kD:In<>Rki@-@o;n`8)UpL+tklSk:l3s2:iZVgjHQ+S69MLU*;f9Q)M?1J')g3D1>XK!2%L!D#8(KKB'q*`%Ve<UBMk[6U@s-,S#nnVYmR<tP;?DUcI9ANlOV^_[Q2a_u;$TP_$PZI<;g2gb<fG)B@,X?I_5j1sR,%d5.[j8`qk!@g!BQaH4"::G)T!cBC2?[$btK/T$\TbcEnC+G[AR_C<2tAG9O/().a<_6%e+CK^a_0$$(U':K"cqoRL*``,4^j"aTVqq*f0gcE;OEV&TR/Tf[#?%/;1r3d<WFkLnN^NI'2/0Nj@C'/gaW[AeQ8ZWQ2uU['\f9AmH8V7&(%c`sV0m'Fg=W3rJ1>c,9$sZV@fZb_-Q'2L9N*GlYMRoG&,*TSos`q=&JK$X?Q!Mc<ga\P\M=l<`s@G@Ki(L^fNMVhC6hq6O8I,7e/t+K7!!@XNFa.uC?sc@%<_R\ml<PLIkAA-k96Y%snf?qY]ao5>=fi_KqWl3AjQP"3Q8i`-f68bd6P;-Oa$I+.t6qQZa4"4WXIKZ?aGS1HT"&*P78?5Q'U=uF5s2T4N+PrW+Se[bpIBF;&8p'm!#A6giHloCcd"S=AfNHo0ERh8f@K$etlDIZrb7aL@WCR@t^cl"C2%a<!`)`'t'N0-bMVUNJhfFf+!\L`)51E:VK''mN%SR60?][YpSg.^'`Q<!qdYke2;.c#2kGP1?LGl;WF3o9]0ptO\\G982HKV#r>DSFs:+$NGEP'Da]r__XfO`ON!+[OXa.%fj6"W-Jd7luI<HaG"U9ked0?kd)u?!0<u["Io"OjVJ%NfNjN#J!'DXo9TFRNUmiGlZfY%/mUnYE17[7FD^>I8-+E3Q\5Yi7X6-G.:O$hjV$3>8>\FCh5$!U0AQ6>Y")15!Mc427a?iIHklAAKs,6-ja6GLA/b.FRS/'Hj7P$RDnJh&>XfiJ,;oNqj=iYD`_QKL$C]rhHtF&P:^BjgBK=R^1u:TFXtt';slhqFLFH?XfCV26q&u.7#65la&0^"7-?W1o<qeee7CUE;-=Bj[d'n,fnp>icp9O9O$6'JVj>$j8_U#k7O,EtGhK=c]VN>7bt!*U"CZ?IC[l_M7aTKrZ,tGMLJq"o9+rCll85"\p,*AY8n@S:K"`Q73N,&m1=e60[5*A4MZm@RUZ$S#-E2%N$N-d\TjU/%[FD($\Tl2]>A%#>&I!!>\/!.q8Ll\=JEh(ge_P]oFb"VMH#[Iu=Jr,M\;jp!#Bkge>m3DS`r5EW">!6`d*:Fa%=YO(eP3KdQep.46]jJp6cV2j#-Xm$IBqe[Gd+!kC;<KiJ>\8hn9/Y@Hjah(-R$MRdQ)Dr$S!0H.?dHk#H+S`7ll97h8V3q<8UGG%/F7r<o'=$&DnL=miqVm=8cdCWc!O_!rHMF*C.</n5PRq'Sj--KnR;=fnR1IL2rJEH;,s^3X=R#2;=u,'/[/qSH/:j:@bR[AHBA1/<1_MM'7pBe)W_k3*mF6Mn^rg4*58$W0CE?gOj&o9SPJ$(otQ$@_'"PX7n)\>tN$$3,7D!^UUinN^hL`iSDcJ\n^SKN[Y7N<gT:`;6=`?!J0fQ@TepM8C"q:mGmVPUd?&:Z>QIUKT?$6oCpXt~>endstream
|
||||
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)
|
||||
>>
|
||||
endobj
|
||||
78 0 obj
|
||||
<<
|
||||
/Dest [ 45 0 R /Fit ] /Next 79 0 R /Parent 49 0 R /Prev 77 0 R /Title (18. Routing \(normative\))
|
||||
>>
|
||||
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)
|
||||
>>
|
||||
endobj
|
||||
80 0 obj
|
||||
<<
|
||||
/Dest [ 46 0 R /Fit ] /Parent 49 0 R /Prev 79 0 R /Title (20. Admin UI)
|
||||
>>
|
||||
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
|
||||
>>
|
||||
endobj
|
||||
82 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1116
|
||||
>>
|
||||
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 3526
|
||||
>>
|
||||
stream
|
||||
Gau0F=``=W&q801ka/DL-8rj?E,$JbfTTjs)*=#D9iWWuKHqlY_#[+L]=%Ze)a#C'i[JM58JDM>GGEPNIpW9baS8W<J))-\LBUA$=$TVkYm*X`FBI>7mGcCJDj6uoDFgXAa?!G3/K("Pj*TF;0.M<OWarnS#Dt(Hmnf_c[Laj"+23<J%<Ku=%229=,'rnt(-aRf=g&.U+)X;T^FamJb.lo5aT0MMjDtctZ]r'94AOJLM11MrnMG$=VlHi>ZDf80[I5OT^;jHt',jb$--s[5)boW5:85#.$%^PqT0>+OGr+cjE9@Zad'-j8`.TCMHt(b2Mj$dH6sB`98P#He5Yk8ffh]f#mig[Sj*pP#47WICemBfoj<n1,E!n:TLl5!VJ<;#;lfS$BS^U(YbW$KU=6fVGDLcoT4PtDpkpl1.fV5]I$n.]E6h\/eOsn&5:1Iui5<hf"D[+jk)WuHZ7O&+75[5cSBqKZ$ir5aI2oY!mgdb`MS`ODB-fpgerbH5aA>pL0nI,5k\h]M%SgaOk-)&AImuf[+*c^n+\k/e;bI7R9V\lU>&h[=j=l>kGXO0U<=K85u%^?R'\W:EKrUAo:"N0+gj@_.:(CV19.]K^kM.&5bO<$p!A>Q&R=BpU;d6WsI=ggCQaHCD/m4(fYhKPpo>#BsR<OHqUGcl?rOl.DE&W:A<02,Ye<MLS\W,f1=3ICB]>+_U,%PN?e0(Z"HJ'ICj?m0c:LETfm\M`CYY]'[Ni>\6(&hLI*@`fd@9L=1:Ub7*hKBRCh#rsQiMS1j(n?(%N6,?.0G`40>3a3"6I)P-.D5JkC=[4W4#>JH^5)<M47nJ(/lSM0nKcOCn!EufUpok7\;nRL9EN*+Q1>KGa76<0S\1=?Q\Al229uKU$":+i=8cu`0Bp,q!Id,P*Q*khOIf4ci2quLUGNp<Wm:q/4<NSr<O1P12K2Hb#DVtn=ZCI$G"[4RT&&R/kiQ/^L2k9l<qODlq0C`BfUJ$KP/Y'f2ke1fd0fk'a$!44Z*2P#%cUjM(Gt\sMP8'c;9Q4K8BUgI%P7T8<93>&]GRb%trTSFUc=8Eq=\+/&j]%+f.*[<8ERmt"#E-RWo'MP/bKBVoV]Dt?7hYT'2Y_s'0eQFle*IYUitUN;'T:6_mM68UjpV;Ur-=F,.8JoZKjN`J5N_]i%^=f/Pk/N`Qf&VoMkq2%qg:U2R/SHCd`m8GEq>Y,Rmf;k0nqH<6c&h5#Q<_%I%56i],1`J>Hp]V9]hoe1nR7W&/:m^pGWM%hdPU6O5W9Hd8@#HR"?<NB\cW;3[EBZ2+%I;F%k8m6*^pLd1m7*+hm(EiuCWj<"gl=1PcM12\[])72L?NTo5.le"QbH]OVqoEXh[M\XLtt(L+o&`I;*51R>!%Of>9,'N"s:mTdZk:7hi3Z69&X@U?qI`)(e[3`)9FWKJ^"kGYmd'<rj-W2[oPl_JrZVDUWN;Upe4.J*mX""Lb.90_3M<QL:VQhXu?:km.b]Y3B^^U^"2&"g2`1W1Hs9tJUu)TR8p`"Z5Q6\NTd'kq(>@l;JJk6jO'$h'_g[4'$F\:=O?`[gtCHTg,WMB,!<66u+?K'!PS)!Ti_Va66.Q$3f!rqMH0?O?JKbm0%<K_YLu)R&QRo#./fQq6^u)*J076Y+.ADs,.ZW-2)\'#L1p"^*^Q9DOU(*/G2XGpl>E1"js#-<a/b^i0;[-AM_9C!,oGh[(g-]^>f!\Gmg..u?<>ZeXMpCK^EoH5ZK>?XOS1p*8OI:r"I;"p(ZDE-&Q%0P8C&`uFP1o`T_6$[-6GppflR#dq5jG-$F:1Ct6(*rc)%c)JLc3T.`t5%+*(lMI%!M>>E2d"*(A?m,TlQ<jG"r;5N6A?2#6-rBr8I<pMgjf-JK]0fW9VZ>j^K3\@\55JDGoW.Ut(5%IWdXY,)""*J/"$VtZR'J4Opf'.Z>-9^?;qZ[sPm7.b2IMQI1uM<hTW1aN$c;-+6XfVr2VaS>0su1.Y&!aF6Ot2T-u^;<:2ti$]'=aF(M(BuJg$+)rB@:REQU8\3r!JV9gs>'&7;5Tg"IZZc>-()R;gqT+f*VG/+>[@4_KBT']TK9-`(c<gN2,GW`urPipR#o+,!F4c&d%tBs1:qZF93U&t^?gRH<d3Uq4(n(sR*TFP-hGYY/Pfpu,>E!ad\ToqGk0BD/!p#7W1q,Bc2$Q\nXoMWg+Ppp(uT.uJb0A>e<q]+NilaL1(U@ufX8k:d"?T,FSBVs7SBXr'O3dP2ZT)3X;TMlj(:Z]V_kO3U9PA\_t9X`]o<+f5UB0<kA$h";_&^nU13CL8O4JQ#5e,#\AggU)iA#tMo`n7l"0'DR'70^gAPll$P5!+!rA*Q!Mj?(qgJ8L\gBL>:hf'&t4>a_E4]=7"$oh&"7+%;h]d]ITP$EAeT;%Ub$DO@RcoRF^gGV_NDh7>q'7WpU0Z-#DhV2RJBg[u>+pFXi2<XkS34T?f5Ed?,IZ?!l*s&<Iq'k2bip`Uq(GApPJSE`f5$mEkoXV@VVU9bj==Z;T1),EclH`goU7_%W`I*C>aY]n3&221DS\qF=a^D&o`^+)M&;lU0<\E=l':`H?h&IeblLD8hV.6]!EZmu/<Z3InIqm2AJfj(*Oal?P-Vi\X)ChQ*0((8^;?q,>A?fD_>%oMG@b(jo<VXSeXrfIm8&8;4^naf11P2(run\5"!XX'#>'/#<`:N5aeZk-HR/kUp>7n<X23e)q"#meci18Wr#(Eo#[Z$Cm5:&PcL->SP:90&.1;lM14;4b/'CQ7<78jakW4YN<f(*/4bt+c^[J<A;&6`onVkbSeX$7jO(^\>"Mn#E8UTUQ_8:dk/G5g,X[`3sQV.)JW_==fmTT(rQa@(^KlQ!.#5eU\::^S-7?jQL:dkP<9JI.k/@D!J6V:ag,Uj.g6nR2V/#1Jcr3T2Ao\PW[l+prD5flPbm*0*/Y$IOj20;PC97J53T83N3a"hd>sOU#9DMqTgCgT.b(4[KrT;s(J6WnQ5<NRQ5!83^D<KpqS'ib<*"_KQDHnEp03\_-Wd&Q,."`.J$buCF0sEBA7&+@RgJ7n:MDBOs1o)`9DoU4d*tN,a:)I1AeQW["K(cI&k=m'BT=&).Fl6;`Es1`M>C;E(>R4T?H<c6ML"3X!p'Fah2(l4-)Lbi)r[:fr,B<u)7!Vj.dm,[bfS+^?Nmn#"";rLWRn-4-^]e124dg0T9/-c$DtaaBcKp2@(lJ9J2A@`SiY0CgS4>ogL1H8r!rKdJW_)E!?QXjgN6GV`qc;.>7X>m+Bj5\?QRqifEXf0h!\B7j*QaQWP:OlE;_N+BU#p3Dr>n\=-\9sZ,h:m;sPZC-[u"E_uNB7HU(4im;\]2"**SjE^aGgTm+Asq#r<H^8U"gib$d6<U^8->np1<_na[6?SaU?LqtWF`?kB>SE'qlRE@#[bGaH__R<LXi[BuWB^PO:D+B`u7lK,*WE=oc,EDkI$*LhNob6VJ]64;%,`IAYIlq\](*#8!rq/N9BaJ^S]G%,oRDUJc4?(QhZ&&b!&Cn`ACph%OGC$@khY[n.8Q.h~>endstream
|
||||
endobj
|
||||
84 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 3145
|
||||
>>
|
||||
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
|
||||
>>
|
||||
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
|
||||
endobj
|
||||
78 0 obj
|
||||
86 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2851
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2852
|
||||
>>
|
||||
stream
|
||||
Gb"/)CJWt](B)O^\0'0UNT9RkN-6KcBKEI2kR_o\V+A\GQ,J;b)r%&JZeGGnf1t\bNZV7*7\`tADMVRuVlEM*cFGA*,6!\bpM:$&B`e7Z"Gd2E3=nVU?ucDePG@:cZHK3bJg_9I1i7ab"pu,=;WFBWETG--A.]Mu+@noKi0_Rs:mh9),RcM,2\[\?9hQ)3W`0R5<&u-481Uo^FMQGV<a8YiJ1D.6EA=9l_fAa#0c=*;Z5\-R)1(OTi+3n%_033W77]=hYfI.`PV'`p#3^d7_PP)$D1-rVmkFPdLAZonHW["WJuFT[0'L4#"R\d(_opHH3K3C0Y%ha7`IU8gS7,PPLYrJN`^&5bk^EF8,e3g!C;08<Uh[O9,l^'Q]PD4R_%YXX_N'DQ6kAWEX@$/e&$dg&goNU'"U!`]_#HM;T7&^?:O>L!IUF:fWJ1J$pTFJ-VB<Wt/c*/CQ\!B8H7uK=[bFOc5P!mp?^#XoQuEFLN4`P03qaZFJo0OB#O]VAdi8e$)_2Fl1L.@e_[jMQ0:Ka5?^T1J"PnJd4iVUMhL%g)9R@P_eioJ0ePmi.3c@fgaE\'Ub]BnjSLAs^r+=MT<Jk.qN@Et+9It*FIfl>&oQ$oM2=RCk]H*^'I64+\K38_SdDV)pIQG$,%'M<$pNrbEMJE]AiS0O,9_9`d[f`seRLurpki#$-l![sH=_u(68-X!\CYrUh%6ln#De/gN2lKV7lSE00)MX4,iJ6Td]1`qRk3eKP7O[RR>^s)W=Y"V>k$dDS)cjk*TR#K\%57Oc5F*2pbad.m\TT/./$ONBs1]W^L86=LJb%^gjcQ4Q[mWN?Y_'!lESq>aA9'_+a<('>@PM<k3mLW%,5+=u,^dh!d/N*in1dX(O-<5QV_eFF9eHI=dKFYF\HI:P'@=)H'(@>E5[T[I^o'!iT5k85Dr8fK06[^jQ+%DQ-6[`gP9>e;G*q=^llf+'>+-._.VOQo>\KQQkW1`V$2,8+;jsD%FCO!DdL["GHKP?gipjPoVH[>P;V(WlhBOn1`9;T%S=nRbO:89.+"V*;9#^NP-4K@+blM_%OF-kK(u>*Jm2a&<,tS>gjZ@R<kEHk;SdR3[$)[/Qp2'Ug>LM1<r1$O[So4gqNC%[!m84](\:ZFmnSnfcAmh+kTAYD-@9e!04!.6_#dk%\:T[%MW&8$ZO]u>=X9=1N7@m_R+(\&fHq)s+FmJ-i)N7K$,?MK")Nq2E+NTE>"[Q4dJ^P=*-jCTiK+Vr)]/i&O5ctSdZiF0_-ORB6_2&l^lL71B[lPARJm07e-j>GGZR!?ml.*TUWF/.WB>%dDIiY10)kV-R+4u-7?:<!.5@:uJ@`*-SR6ie/Y_>oul2B]*@5p:e?X-rs(lU9(.\YJjs(!oo1qNVK4@YZ%&s+o\gT;(7M?^FZjRIS>a*a].HNXBCE?iSMT0U1$SmH$i"jl%[:;/qpLJ^Del4on?1*$63<sJ64_?ps*JX,,YG!m>i9u5U>lU-80>lMrh+!S;e]tb%7mpYka\Dd2XW?WN>a(a!\aIShb;UcaTG_Oi6UPK5kg,/a0/u;SSgK6A$mcL!A5NlD4#dFS^E9ri1`KWM:]lifc!<l5bab!k_WC4#6BkHN`GN^0B06hgA704-c;@ts9cSub#3.'S>OF:Kg!s&l1]uKU6LCSb9!kJR;'LNO5;'+3k!YeAO13@K9El3*KX^5!c8?V@rYPQ03*I&JL("CA"nKYBn5(;;=\NYJE`FA]=;.&G\2#6X"iE&R[+rLh35;nS]j4@Tt_m`QMXbMmD%P\kcIUHL"pGQC9E!gL^$MXbuS&ciriR_3Z0jgO:U6TJI8#&u)nl6'o^Tr=1g/]e4G0./W7Fn^^=d*UNMl`p]L(<K;.B=8+D5$?;]_VUoWa-mhaOT&]BE&PQs3j@J;a@UO.,ma/'1Mi/Y7jA&5t_tj`/e*uWgd3/)$d=A92(P`0V+='^tHOW90=@lp1m@\dL.8aQ7atA/FR;,9+VR./F%*_nk:?,IFDS<p?h@]bA=V>r,'A0gGMoYgqkXAepC_AEgt2Ehc1(8lCXu./K1$8K=:4kJse7'reM.E"R2@bKNZ<`(ubKtZnL`?9sei*?E9D=r%u3M[<btRA:_f2iBW6]/495>&;b%[,c,fJIa0$*6knSF(hT@^TM6mc+p1QdW[^?W,421Qr=u+Wd<2t)+6.:pZ7AJomOAcjXh_9Frc<#u2s0%m;"&]i_;3TK^g@?=q"Dl_d-%h8@QLFj[eGRtHUchQ!knpu-p]R*O&<,epiMWFL+p(W$BK;sTgi>8?pPZJ#8'>H&R;_3pB5#d:79c.48ib;[/ZdH+K='oQLm.%E]^l1#T%,di1R#gi0pK&])(,h3:gBS+jgV?f8]ri.#Dm)a1&$aGCak&FN-(nr:$N>%u%RhrO^tkMuJ4coCK_nJRZ3,75X\FFIno,-1^9qnJ*e-8ObSmKFqM+/5CdE]"tY$gd'Z;T4?H9b?tma(CM/$V&5[O$.<3XDe=hWAf5jF*YI>MVs`g:OJ*gc(%gd;g5#TDC&8,oeBHSZ0"V$CE/o.:PQlOHgLL)gYVB3SGn&'3(E1V['8G(qC,IO.1UPZegRC:38D(<K$gHhCFCRB:8jXGA]67Fc<&^SV='=Br*FEKUeh=6_K;Y`pPY:fQS^RQtX9OZLoug/EHJb]/cbXL=$bfiKOL)sjo"0ug\\D[a_fIA])--eA2%]I$c\.)Yn\,T[lR7Taqe#a@IL*G#\#0Q#'iR]Oa-Znj4NjC2Em:72/Q!G!:r"];?q*kC'5'=qEHg;6gt)V;+6"&R7eR63f<0fT*?LSXMIl;D9Y,p>jtWH`Sf?is`-]2\3ZFA(ZD+"*MRjJqE:cBTKd2o~>endstream
|
||||
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
|
||||
endobj
|
||||
79 0 obj
|
||||
87 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2766
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2854
|
||||
>>
|
||||
stream
|
||||
Gb!#^gN)%.&q0LUoV45.O9Bg#4?9Z0nZJF-,\<QPjap#o@R?1qJFmEfIN+MBM6_Ai]j"^@6q*m((SK1=THO@@IRs!YYQX_`!W@lUTeMl8Yquh82fLc;q>5h],V<5A4PR*UF^<6GI1+rM@=42:\d3l/&h$a5lW:H<Se\")LcLt<WkejG`TbR/-eS`lr.N11b06LQfpZqD1dGkr9QS7;ApDh4:!cSk0jG5Gf;?8N;"7,O?F((4dFTe?%X]NK#S+2u:oF/S1=SH4UD4+ff`*S],1b%D(u55;5!:1>U"D4`oig2a%\%Y)9[JFk<['sn:iM>/TW`CP`'=+a<@J`nSd8<W6)DD!$;Rc\^2.%pC/W;2S>-eu`T!EVC#48B-$Dp,`9C]lll$l,dq'H[0o$Le(-Q-lA]!.Y0kJ0SSqMDBifA,BMMrof1g33ZL,h)J&RVEgrk'9@^1F5>l]&XKI(R_f;>.W)c]%%"/JW>t-)!l)0OQY_=GcYt&$c:g<UQEprTVd_-`(UVm#a^kS&YC*6d$0gAEXGL^4\0L7%-$#U1tHK3d;G47jdl+V^FW&!u<OfRH]V<%8*1n<`5:\l`aqaT6$Fj&FM!uWZY#JO]XrWSVrD'lQk,2G#)rfP'N9SGK4V@?1F-WpqQ>HQjGZP[2q62DC4VT[euSOF)Nft_:@ZH99P3'/fkY6XO?fAC1WjAb_kWpSX$gjG9=$VDS,(C\EYf[&$%OHJOrD="W)]GW)<[p!?huKJ>ir*7%tR;.1>*k$,Mcu[KK1(Tq:$p&[@8?h*KIV-%NG+rA[pK,s/?r&&#!ri2qBpW;=jcOuC;FFPbLEIDlB5E+OWC'laPc/H09)njL>MRcAXW->0h_K/aB=VV"gIm[mM$._&[+"((s?s8>(-4R-*.Jc5&b+"*Kd:DM,WDR!D/`\9$"C'4,n)`rX5+q9DD:"gW)a(bmjd-_H/Q:"2oG"1u#*,o\JgoVSB2`h-:<":%%fbqT'Ee)_Wd*`,prd&jTV<X`_l-I%RW0jYr)OfuT@L!tjTS>op!rLZ3.tYl0%/%;G]A?li9/EADJ*2sP@9)*qFet^=5-]@??u#!lZ8`2L'ET/.B_AB-D?TaPPWu)b(^4/ZEj;f):U2C'N;u?ZGd/\aX`7Q]"!t*^REZCRHZhD5Pk(:^N-UMC.!t2(r0Bj]B"IcOdEVF!A*CXBFm=+j&T$@s]32[cbjiVfe_<[W]toAKJsA%RY-l.^O7H@0]K_O&L\#a3#bFUqC88p8,]L7"6k0]@'#256aTZ-@3eJkoJdYjRo6(sm#'9X_c+#imiG(lP15:@q.\F^XJF'@sKc5U,Bfrulp=pjE8a'e4hnNPd3ZqpAY#[YXpM2=3S7\^\md2aVZWEkjP@PQINi[jpe$]U'icJm@nr."NBDVo9F`qGpIbrHI7TP^\dYG?46'&rK_LP7(WNmVP7RTe',XR[<nT"C,RE1:bc?^kFKncN[d.0ml7r-AiJaK^iYj--HcQ>^!k:k*>\A""gWLskmh,SW,TiePM^fm/i+lcpUD3;YL^Zjnb*Qc`:4S^sJ&sq_XmeRU$E#Btkiu2s;BJ5]M0pI0<nma9M2Blqdq5;W,a;Q'eG"7Zrj0@I,`k"#ClY]9F,5]Xc5#misY>J2I91bZm-$?XqfrV_q[W>HDK<&1YY@0.?)_%50,g+dG1p6kIZrW^%A?T)F'`DPsI(_]C;Qs3?6VrW!4/kc35;">LT#ASR^FaZBmSr+KZ3S.O**`#.bA$\,1b4-N%+EY_qc(sL2N;1ARD=ssib04;eBF(qRZ=dc[tA]^h0i:m*l6e6?^[VDVk['5E&VO_HSgoj/&'ptQH/m&qiaB_E(AlQ4i<?.%E(AspM'1.[m1DGHWO$F0$?5Hp\&mBM%,5c0<?3D\;^;2c#E&P</m(;l&.A7YX8+kU\9$Yo6DBHl3MrQ<'gF8J@'5[aBg.IT*D%Ji(.?:c%:T8i;PFse64Gah%,/h\\f8sUW0HZCi&s_!n<2;NHf2!#_n/%NJM-!<&6E6KCST"B-I]D[\JmtEW>"lMK)"Fk"0_#f(64c5<jcsqk/Jk'iP!kNs+l=MPl"/c\nsq\tOquZOb]W(/Bu`S#M!2ge(s&f\.6;GhZr.6ro3:[l)TfXJ?L1CH%r8HS1(^Z[O;"<flZheuaQMHYKHDYARSL-r'kfTE+XTaeS8q+A_iumh0C?>bE+M"P#;nI]r4ceE0>#Z".kHDgkaFi#,3bnWIIAD$urs/\lT>aGcI1'RD/!lFm>Nf0s'3;OK*i;p&_A45j>E-f#`dqHj_4Vi<Z.38bs$@)%&pjQ_aB_W'`(r,%cMNMjL6&1$Wc8@gH8h?iL=44[73"Q*oRIGoHH,LgW96]-$$'Gu]E%N`se9_CP[OKK/W:*3'N*VS']@;&DIo2,-i%;SAiHfDVU'.(Bn+ZE>t=>n?ar<7e^VfcRCpr6(Q8(mp*b:Hp7[7EWg80oVLoL1W:Rd:")5+_Q,)#lU6ZBn5sOWW1<$p+Al"27Mc^:=`mI4_4UUCY>)5N)J-?b#_F3ddJlmU1eI7U:Hd\_33(Qpj=_VR*HGFYrC<blifh<[BFV?!Rn/4>(O0eSd<kGXHl'Xc+8XD+.5(nLN\#jan3-1#btl/0"R`R)^f2\#[oe[bUf;AG_PuHXE/og[9348?LlDUsI<;H^2L_Ve2sreCj(?2(7$<@Q]T&7t4fo\K"\rQPZ:8JXC3"hOh)-"HbmMJKg*qgO;@dq<3*=:>b-mkkk1pmJ1&L=i'@Sf=dS;<8V`u:At>P@!_Y~>endstream
|
||||
Gb!#^=``=W&q9SYkXT:*joO<p:JN*04<#Xh8XUr-V'$D6Qr'R_+FWU[hZcMIUb#iXGAGBe-k':-&<6\'DHI,QJ+WYWIfo1h%dLG33e@)>FAjo&rY['SZ[^9m6IN4TgU/jO*61o5__^h0\;XeE.p]^ro*l6T^T:b*r-=^6C;<niXqLt&Z>GggDciODKD?%Fs!#_cKg0o_[Yk?3$Z*__=].)C(mY2[iRs[[K&TnN1NcZE(<`m!(Ad5D6mjltl3;23b?n)Dr$c4([3IG!Y0_j>cgk;/f;mT2:JgBr]m:^$-A((bdVHG-HB5hB*kdQB=#j4Dc#\\kPG\t;O['-MB<d_57PqH,aQ0<WGZ)BR:!,ArGsVq6fU@5OikK2lYli8DDp-VV&IE&m^HoPNE0`(68WZ@L[PV8#LhVqWZYj5<rLYVNe;Qna@\*"Q`Jh901;ItO"u0\Y,X$Nl8";4i^JsFaC.$tS^,2q.oJ]cUC/7Vt_H/4H".k00($YHE:OXu^4VCcVgc=/^8)XQ^J(G:7CQ4>IH@d6Frb+sL_kU47lDkLi"cIg.]M2Dj]df6rro<N7'#XC<1J3F]NUm#NK#HhDdU&$98-`jIjJ;W;\bc*rW()V>UNIbYFe,6iU!i=/W']m-`U_$g'!K1IWBUealVbA_Yli6:%U3[c5ZtD9rE^os%_#Z.?BfW&Z3tj/aBW;ul)GEr$o"3VJ_tme]=bkim14WXl5ADcbt=-)W.6.!1Cfd-Eq^^8&?l.qC!)$u8@X=$T`I8Rc=rf+NZ\SWm"QmsP_\nkqu._[0lg/VOS[peSG?s/Thl`@,(n3]j1Z$QUuTj1'%99+TTF>g\"efVFiua=EG,2[)_qGg`17:o=Y*qoY&HNtiX6$%5KX%laYO[S`7u^qB6#ehGki`dq/N:A`%`ha%R6k@S1,49<jZ\LV[`2OJm#g`eJGU4IqppXRRi>\8aGY7pfK*kGH3CUA%@8WXgWgWjT<l9g&aI'$VnSABC@SgY1`q@PmbjpCG%P/XrJe,g[2V[<'?JNrcO;K'd^<u95tq75MF-]Lo$2"i:'k,<acd.Rf(sgG.2`T^*G.*]mm>LZ_5/]GDAga9JdZ)f2U=S#9&:^Sm*=b*cBHEo2H""mgJhp0`DX[9IO@uW&0F]0S2Uk63/W%/V2>r?>>$(`AH:UK]Qq0qUjZD:gh<@N/-Y=Ds(T@p>/JMj.^8$FPV(7T^.WkX4PouBJ5>DG)2[:%dDg::iC^>%\X8i-=Di[dN?9n7Ot'B08fYrk/+An6T"BpP"D>;TSamTDS-:/'ZiS7B38*;7aO\lY[E\OY)72KNK7amUq&e(HbA'H;8slDhI_ZooT;pn1!i[iGk=/DVUtd<RsJiRC1A[\O[/r"JrN#fq+C("RN0m\SN)KRIoQ08M7@dRWjPEa&_(?.4IMM'MsGPYjpas4(4(;Z`^p*daU(I]Ue#]=9_na5eK9nJ-Q%po04acdf'j6=P!DPN)*T[E+m#,RjEGe\\jFk9\"B:V'j=fN(_r!1rImBWNK95;/@-a>T&\^>:pK*R1:sbeXD)<TUDqJhK9"#d[9qFaS;sDe:DR:iW5*8\]"@bYBWqeQpiZb-OF3E%+W8G++T9qa^Q.8f9k(,:!uYu&fYVTCM@fgRPgnAb;R8Y\c"[9A]s`Ge'd[].@Um`>8V7P;4Wi77-LpNdWeK',>h*pj"cJ5b9$p>Q;!^NAFoQZ][Gm,kHc:"JkpMJKe*Y\@S@'O^JkTuC8U5X[0q#pB+V&miihu%bZIK:nn69?%^GHs*E=LB7pYKj>J[#X4<8d(/dU'Kj,G^_mirGfm'6_mLP&VCBTD*MU.&Ylc.^r0@PlJKR6Yl==pp5A6!sV>l'n9aeRRN"3LQb)HoVg`75/F_mB8B[&)DZOYDh2T!qkg#=>o$;G)XR'?'*X/:/$,=7\;Z.gc$8VX<4.ncWTthiYXS?DU%V\7o2QQZZ@tP"Z69,_5ha[0T[*]-c[DC+E29bXYi+_IHT2GgNDYTsE6Mj::RPs4XN&2u,6'/Y[<lLML@$B)iajVa)&>+5Ktq@a]k&W'ICW^Z_TD\!^K$43r$73L$S\3E<9rcT\3(!V]P`ks?U![m`tReDeh#"b`Oe\d'$h_/CLFo.WRafZ$plFpZ!_>r0P=\I8;XDNhr!9]+0t1F#hZYX*BJ7%%\(_dmFQsNOC#C&P4Z;[rX?GV3N>(/l&c$(*$nCl5_1I-;SL8X]?Nh6ro1NXkf'Wlb4L%+djGZ%SF?uI_LJnM*!\-)Nf#bP?12Ft2!Y.];a=s'_,fcZd&[1M>29pATaGMB]O`OI_/G!>NLBEH1`LmZ<-9-W(c/rSF6(!Gf^d'?Md^gDaBj)Fdb=A:K:q'1JpRGc`uAHXhMlYu!9MlSh&!>PU(a^N$jk<2J[(#>@saN<EpbCSA;`-crh+Jj`U@YYpohj&Z0]FJer%9;]&UTh0`D@a\Z+q)kqY^$kB#4Fes1[>ZYD4eAH,"DdU\Qn+p%[(&X]e\B/re&YQ&tHf^Z^3r[U*Ac`&06heiW8FNi>@HkWEZ\0o7:/]*%3&+We"j@nfF\Fg\"I%&CM@#=eN?@F'..7tL06S=DJfb]\6$Lt3@Jtj8k,qq5_*<i;kb-0shmop4iL7!is)*@)jjYIXiYCO`W$W<(AO?F)XXIHUO:U5?fA>YQkO1,d6'C=Ke5$]e)."GZ_E]_&oc$8VK\bU8/]rHIiSs1X3*=<Hq5?MhVaTUAhjCs.^SfqHP=$td/0[U/l@pSsqRnWjrq(S6(?XRk$MtDtNl1+`JG.5N-PK+gamh5FS?fg,9/+2ZP?0,#AB^G/[;iY#-mtB^mG&;G_+SPqIO.D3L0$3ZNI=Ij[\FeElVSUr8!,G9rir~>endstream
|
||||
endobj
|
||||
88 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2061
|
||||
>>
|
||||
stream
|
||||
Gau0DD0+E#&H;*)YsZtpUunI7]n#<k1,pG^1JU8eb]K_h*[)#T/L3b4*8Dh>]mGnB+X7)\<\g>smHrZqZb'iW.c*#XG3/c@"&RiPTF;#<TK:J/E"/ASak%2p;<e??Rtdq1UY-oIB'Hf8Vf<kco4#Xg_&TC'J$0NG:!$4+mUusX^?\QX%em:p`))*&/J94"8Q6F8U+VcXLo/in[^o(3PUq1/mTtJ3O!3Lm2r[R@@V/+MiY`!C\?PmT#jlj`5a%(3E>uE:ge)5a0;XZ#n_RiT^9R:]DT!ng1q2M4O1TRGT<(`?G(?Hd*frjZno5jr\;'9"N^M2lP_+mn5SZPh6W^grb)G(]4G3<lfjS^')D]38HZ!U'hY06_KTsXip0ne*1&%<dI`5\sIFf@Pf*.3V+Gc]fWBWpA%r48&IZ9T\_HT]`P0fgb8*]7YF?dL_F&)NsnN*,FVQro%%BC)5nmr4.[-JC5DZ07a4JV&bND3!?m#2UAYQesc38$l2>0Sq@Tn0#gP!F?\\_N5ffoDC`Fo<VTn[=('rF'R;lpYQ&VL."@GrG8X\Ll5_EF6$?-,C<c_=HP3["X$2;r(J#=n;.Ym;i.[?]o@Dmaq4u]Cm@UL0;UXd5,)'*2cHjAH;M?ge_T=b(KmB:Q$`+^'7cWB4\;&/X*-5AsL96Bb2L634]U5mBg9,n3$Ko]1R\*j^X)K\EFX-&r(=uT"m9$ZZLcb''i:#8kU!F:N.jL4S441&AB*<4<E(pr\A"BN3saf2Y.!p/1;E,%lY0Rj.`L2)NW!b`AA)r>*peF%MpA9Fd-a5js4?o.kXD66'4p.p*A@T\p][$(nmh'Q,ecbXpGG1Uf@2PZ.+CW)<Y9r/HTeE/V!+>TaaB/0Te"4&"FcP)r]r[ob]lpV=.1SCmFII:@9]]h]?4P,b2pb0uc\kF,/HtW'`_k6Te8p=eUfM4LgOM&M`%DR6e6gAqu[!WZ!1kM(_4q#;4a/cM8+_c\egQmWEj=&&BHia3d5He9W+-Bgom)]8'PXr,fnubU7'gO,2+ljW9m&`=)UCijo'E.r"uC4^G<`fHe(/T85[1?:`n\gT='SD>fO&^hp9s*+"3T0UI7SQZ2d^n8TYT%j"'o!]pf&$?kb?^2b_*s0T"<%&_u5.'(drS5rsl(?3eGA]1iJNRHFXLQ^8/N22oAW^!t0lX,,+%<a^8Z0@')g0!OX`5J,A$V[:&%V1,j'N;7B"(1Q*6E/M0ItcH#*%UL\V@a?4hLX.jLXjSaT_mb18.B;CCLn!Y#GB$,&=^D0gY;EBG(P"A,fM:mrkm&:_c6>p"+sLGX4/\S\=oq@ap="3fpaNGcS>E&Yej9n]ZIV[+?\o@lDY&f;D!%?>SA*FLmX'VBKX?6qf6h0-J1VM$.>WB\k5pB>>lAdb>f*SX<;GkisOR`/7<CB(ch<nfW`pVVX,GdOW@q\:CmqUgUF)./j!(Z^#q^OSNNGXc>g20kY^cgF'=^-06[CA^)n(AhnB?9NlJB=g@OA2Lu6:LLP[.n-cb2uK.:iFE';D__qH"'5n*J0K;u:#CNG:<&*_'(l^&D-'6dNQ#&$^]k?O`>R:^+t1s8i;9csmt=ZVhqkMn=MiN?:9;.`-8I?1;Qa\-.nmu.CMq[O7%Yg]<@Rk6t\I=1SP;^BJYT;@g?Z:?9k>YLbX;i7E1JX$57mDo]5l9M4$@]JRs3%s88!:u+[9U$L5RKnYDH#Xp2N*SjV49dX<=ZHq/Z/<-X\AqLK'P:MFZ[nP3gc1EJAiBe/FWKOWNs*3`n"TclfK.\@(DKH+,1R$fV+PNR!I^bbY$I1K&WhG'Sc*Fd?BE+t':Q7;q/mM$PQUUoGSD#;Y`B%YfCSo!Ha:oj4aq9E8<YoQK0o+;p[/1Un$c<*Qu>6J,7jXmKURCoDS9(0F?,67CbXE#-?->\^entNs&Kf#2f]Qk8gbI^;C>%-lTll^F'2YoRO2`N(+Utu>/MU:,<5P0o>,T^Y0XpUr^e<<-kt#N4-`,=3Kn*igL);25?iq6-#*h`&GY,"UQ_62&blAtjN9e<cNPpkd[b$A9b1D)-YFT=i8e6(BO=4~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 80
|
||||
0 89
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000146 00000 n
|
||||
@@ -478,63 +531,72 @@ xref
|
||||
0000004219 00000 n
|
||||
0000004367 00000 n
|
||||
0000004515 00000 n
|
||||
0000004631 00000 n
|
||||
0000005045 00000 n
|
||||
0000005151 00000 n
|
||||
0000005229 00000 n
|
||||
0000005313 00000 n
|
||||
0000005519 00000 n
|
||||
0000005725 00000 n
|
||||
0000005931 00000 n
|
||||
0000006137 00000 n
|
||||
0000006343 00000 n
|
||||
0000006430 00000 n
|
||||
0000006745 00000 n
|
||||
0000006820 00000 n
|
||||
0000006912 00000 n
|
||||
0000007015 00000 n
|
||||
0000007164 00000 n
|
||||
0000007254 00000 n
|
||||
0000007346 00000 n
|
||||
0000007456 00000 n
|
||||
0000007578 00000 n
|
||||
0000007723 00000 n
|
||||
0000007825 00000 n
|
||||
0000007941 00000 n
|
||||
0000008054 00000 n
|
||||
0000008169 00000 n
|
||||
0000008257 00000 n
|
||||
0000008387 00000 n
|
||||
0000008499 00000 n
|
||||
0000008651 00000 n
|
||||
0000008742 00000 n
|
||||
0000008854 00000 n
|
||||
0000008964 00000 n
|
||||
0000009059 00000 n
|
||||
0000009166 00000 n
|
||||
0000009272 00000 n
|
||||
0000009381 00000 n
|
||||
0000009488 00000 n
|
||||
0000009611 00000 n
|
||||
0000009715 00000 n
|
||||
0000009833 00000 n
|
||||
0000009931 00000 n
|
||||
0000010027 00000 n
|
||||
0000011148 00000 n
|
||||
0000014740 00000 n
|
||||
0000017954 00000 n
|
||||
0000021446 00000 n
|
||||
0000024389 00000 n
|
||||
0000004663 00000 n
|
||||
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
|
||||
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
|
||||
0000016058 00000 n
|
||||
0000019295 00000 n
|
||||
0000022787 00000 n
|
||||
0000025731 00000 n
|
||||
0000028677 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<475ca66bc5e001998636d1469a46808e><475ca66bc5e001998636d1469a46808e>]
|
||||
[<43846ba034f0f13d3c3b73c3a2995bc3><43846ba034f0f13d3c3b73c3a2995bc3>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 43 0 R
|
||||
/Root 42 0 R
|
||||
/Size 80
|
||||
/Info 48 0 R
|
||||
/Root 47 0 R
|
||||
/Size 89
|
||||
>>
|
||||
startxref
|
||||
27247
|
||||
30830
|
||||
%%EOF
|
||||
|
||||
Reference in New Issue
Block a user