ZXePJjArOMp"t"`X7i/n4H=glR!d/e'Jn\os/V[Y&q`[V,X&XT#dUihLQ9%:bQ/e(mguFe.jH*hi>j+*O=!H&:[<%:?*_?/.7j0,k1*b??oJ1nubZ7(J\"J\!nfan8Pfr1%*\*CsC8lLdhMZ8JTm=1PG%p`rQ\0nV/j2Bl3foi)a0Gjou5]>AYTq@g;EM*."%?VHk4o9_U&"k)\AW_)IWD?`l#StWH0rW#t#K#D+T*!^/~>endstream
+endobj
+19 0 obj
+<<
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 599
+>>
+stream
+Gas1[?#Q2d'Re<239h0V.L-osTl6F/BU,=R>r=\&[k"Qc*/PT8%67?qp\;K!!Ron78(=Z_"hV7'.1Pr/(f`/Rd=`A#_bd[l=Vj@YT?a%]!n\`?]"%jLW6)Af/lL/+3:so=]>Qc&VQDI9]E:G3FJRO-*,dYsR\<2R;n7$?"%@e>!I/Yj#9,!\#&eU>pP$T?S5=>+o~>endstream
+endobj
+xref
+0 20
+0000000000 65535 f
+0000000061 00000 n
+0000000112 00000 n
+0000000219 00000 n
+0000000331 00000 n
+0000000536 00000 n
+0000000641 00000 n
+0000000846 00000 n
+0000001051 00000 n
+0000001256 00000 n
+0000001461 00000 n
+0000001667 00000 n
+0000001737 00000 n
+0000002022 00000 n
+0000002113 00000 n
+0000004459 00000 n
+0000006175 00000 n
+0000008072 00000 n
+0000010114 00000 n
+0000012478 00000 n
+trailer
+<<
+/ID
+[<4dac3b99daee1a608629bd626643645b><4dac3b99daee1a608629bd626643645b>]
+% ReportLab generated PDF document -- digest (opensource)
+
+/Info 12 0 R
+/Root 11 0 R
+/Size 20
+>>
+startxref
+13168
+%%EOF
diff --git a/Les09-Supabase-Auth/Les09-Slides.key b/Les09-Supabase-Auth/Les09-Slides.key
new file mode 100755
index 0000000..041d0df
Binary files /dev/null and b/Les09-Supabase-Auth/Les09-Slides.key differ
diff --git a/Les09-Supabase-Auth/Les09-Slides.pdf b/Les09-Supabase-Auth/Les09-Slides.pdf
new file mode 100644
index 0000000..27e1ab1
Binary files /dev/null and b/Les09-Supabase-Auth/Les09-Slides.pdf differ
diff --git a/Les10-Supabase-Auth/Les10-Lesopdracht.md b/Les10-Supabase-Auth/Les10-Lesopdracht.md
new file mode 100644
index 0000000..ade57a4
--- /dev/null
+++ b/Les10-Supabase-Auth/Les10-Lesopdracht.md
@@ -0,0 +1,81 @@
+# Les 10 β Lesopdracht
+
+## Volledige auth + RLS-policies werkend krijgen
+
+Duur: ~60 minuten in-class.
+
+> Voor de gedetailleerde hands-on stappen: zie de [Les10-Hands-on.pdf](./Les10-Hands-on.pdf) bijlage.
+
+---
+
+### Doel
+
+Aan het einde van deze opdracht is jouw QuickPoll-fork multi-user veilig:
+- Eigen polls aanmaken
+- Eigen polls bewerken en verwijderen
+- Andermans polls bekijken maar niet wijzigen
+- "My Polls" pagina toont alleen jouw polls
+
+---
+
+### Vereisten
+
+1. **`user_id` kolom op `polls`**
+ ```sql
+ alter table polls add column user_id uuid references auth.users(id);
+ ```
+ En in je `createPoll` action: stuur `auth.uid()` mee.
+
+2. **Vier RLS-policies op `polls`**
+ - Public select
+ - Auth users insert (eigen user_id)
+ - Owner update
+ - Owner delete
+
+3. **Twee RLS-policies op `options`**
+ - Public select
+ - Owner-van-poll insert
+
+4. **`/my-polls` pagina**
+ - Server component
+ - Toont alleen polls van ingelogde user
+ - Edit-knop per poll (alleen voor eigenaar)
+ - Delete-knop met confirm
+
+5. **`/polls/[id]/edit` route**
+ - Toont 404 als poll niet bestaat of niet van jou is
+ - Form om vraag en opties aan te passen
+
+6. **Middleware-bescherming**
+ - `/create` β redirect naar `/login` als anoniem
+ - `/my-polls` β idem
+
+---
+
+### Stappenplan
+
+1. Migratie + `user_id` aanpassen (10 min)
+2. RLS-policies schrijven en testen in Supabase dashboard (15 min)
+3. `/my-polls` pagina bouwen (15 min)
+4. Edit + delete flows (15 min)
+5. Test met 2 accounts (5 min)
+
+---
+
+### Op te leveren
+
+- GitHub-commit met werkende code
+- Screenshot van Supabase dashboard β Policies (4 op polls, 2 op options)
+- 5-zinnen-reflectie: wat ging fout in je RLS, hoe ontdekte je dat?
+
+**Inleveren:** Push naar QuickPoll-repo Γ©n screenshot in Teams chat.
+
+---
+
+### Hulp nodig?
+
+- RLS doet niks? Check dat RLS daadwerkelijk **aan** staat (alter table ... enable)
+- "Permission denied" overal? Je `using` clause is te streng β gebruik `using (true)` voor public select
+- Test ALTIJD met 2 accounts. Anders zie je geen security-gaten.
+
+Veel succes!
diff --git a/Les10-Supabase-Auth/Les10-Lesopdracht.pdf b/Les10-Supabase-Auth/Les10-Lesopdracht.pdf
new file mode 100644
index 0000000..6ee80aa
--- /dev/null
+++ b/Les10-Supabase-Auth/Les10-Lesopdracht.pdf
@@ -0,0 +1,105 @@
+%PDF-1.4
+% ReportLab Generated PDF document (opensource)
+1 0 obj
+<<
+/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 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
+<<
+/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
+>>
+endobj
+5 0 obj
+<<
+/Contents 11 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 10 0 R /Resources <<
+/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
+>> /Rotate 0 /Trans <<
+
+>>
+ /Type /Page
+>>
+endobj
+6 0 obj
+<<
+/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
+>>
+endobj
+7 0 obj
+<<
+/Contents 12 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 10 0 R /Resources <<
+/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
+>> /Rotate 0 /Trans <<
+
+>>
+ /Type /Page
+>>
+endobj
+8 0 obj
+<<
+/PageMode /UseNone /Pages 10 0 R /Type /Catalog
+>>
+endobj
+9 0 obj
+<<
+/Author (NOVI Hogeschool Utrecht) /CreationDate (D:20260607115144+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260607115144+00'00') /Producer (ReportLab PDF Library - \(opensource\))
+ /Subject (\(unspecified\)) /Title (Lesopdracht) /Trapped /False
+>>
+endobj
+10 0 obj
+<<
+/Count 2 /Kids [ 5 0 R 7 0 R ] /Type /Pages
+>>
+endobj
+11 0 obj
+<<
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1947
+>>
+stream
+Gb!;dD/\/e&H8h>E>VNfl!T6!U-s-r1:1<:(=_H,8nHXaS?Z(D*dX%aAfR-k'1](/uqe\:cX%9:.;>o%VpJfC17skVB`jo+ZYW$6<8o?)o#9AE=`[V4nE:DDbg[W`u[WD5@@.r.O?ltm@6\"cN<=,0buUHH=d%Kj:#@m:91IgTiN)>as)V8)(C$Dle@2_`Mdi1*'@??Pi;bLEsrOULP\?9Hop\"TLe%B+a38eWi/l43tL%F]s<+,@.+=`p3qa"C"+X0C@"EW,a'n$/23E0aTB\H/ud'5'Dog';28f4!s=Ijq(W.^b\?2I0#0sj.J8Gc.B4L_PEi]1%<3VZH9H9"<9m,L2Mmn2cONgP*T6m_%Rq)ek#rop=m79jE3Cr*CF%J7g+CfFMXVeZ2/O-dhmBgJJd_AG'JehX1=?pR'$rm@4>!?eM9JVEk)O=>g=Xg+35n0NbW?IM*XURS9Mb8mJ69]Ua1;Tk,[4R4n=knK.'%so^BF_Om,9g8h^taC!B=M/5;b_f)3ZX2JX&475%\/1i>j)N:P+cfsE>7^l)Z!>a.H*$hhn],3&m`2gX)**R(K[hGVc>KXQb%]_SYXA:S:k\f.YE;C4%BKeK@`C.XU]QJb;o1m;'W>FBIXFklVVPIJbOM'DY:Ai0[,h+?L"<.eDOg6reU9\KSPB/FAo%:I]dg5P?c,=\/1gO1VZ/i4n%PI%/=9LAn;MD._.AYQXNu]Q=*T5cnEBJpAt4'EUF#%LL:&cPIKWaY\H5).aPF.6:6u?PMEPJG,I<.$L;UuEMjXEVU?FXZ/lKGpYueS/^B03f*!^CqqtN&[^8NDnOq9P*1S0G%#b+M1bF5X4+XFpc'QMid(\a&:EFddglmBuZif7g/.ar20[otB42H$m/:>&+#:m_$r):bi,FJ.:[%=1g$@MgoWC*V7C5b1eMGHU(j3XcrHG$!9QF2Ojb!#)>2kTQM"5Z$bb.*t=Kh7qd-$-9,Ad*J$V8LbE^!(Sq9_tK21F?Rqnp$!ZIiHFotj\8E2g;j-n9=@BgW9q)qIMb(fa.feP]OYFhG,eYobQib`B3@0(g6=dT.9-/d@+A16)*8c9=rV*3coEp:^F]WS@<-8[b7p%\R?Y[m!/D6)de!0b1fr3\gZeWO!N7%3H>/-b?IQ=rq@@j^;l#[l50/pNdQ!CE.@LeDQ-;jR0fendstream
+endobj
+12 0 obj
+<<
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1670
+>>
+stream
+Gb!;ehfIL@&:X@\Z-#iijXYq\SWp[.?sqsE?m9b40$SP0'5)aNl5!QTo1#TVam@;lSB#7"TG/2qYq56/lbD6ND[eb@8uW9cc7&6`N"m5km6OVLAMpp">JEBaYomY`8:!ei=SFl7cbKm"1-@)YkP`aS1^cO*sE>l.P5LAf["BBtK#o(lBH>9,<%H'0oYKJN_f*?'7W+Y>>3+@;*8!GDT.\mkjT\/e%sGVsmU@!ppW)2LGMKMV98g6p2p:P.\T"St>1DGeIbEqr(I6sGc_0h"uQIl2.@S$kU7U/Zs-sCQ0UA`bZX\S3=5qM:D4*7e-8l#iZjO(hP"VO2c.M%l9a>9Kpa]!WK5fqIZR_i:;bj'q"Oi4i\'J?'HIRnaBR)=$b(QRRD"IRcXMaK@T&1,LSurC=C1`4g4>WPiQ=i3P5Z[o&%Zk&0NZ28+ZD'T]jK)&nXci1E*N:6319QETm'b3N^&5r-`J?tAf2`M'.JY&]gKD`g6a``5kWL,VH^.^CQOpZf#XS5V^0F7H^J6FU3qL;^'&lR'YHA0OR\lfP2!Pu3We(\J7S&pg%jb/R!?XE0hVS]cmh+LVr="gtgY<4"0U1*^ZdfS]Fn^L=Ifrr!\#hQp"_E!`CMt'OnjYhRfj914qeQ#.3fju^Sg%EI8KoZ^)I/b>D<+bOp@lS1T*h@8EhqZ@N@8S7+1_B2@dN8"gAg*mEAd)0E]W=,2Vk$pTV-9fO_K0,Guc02"Xto8H7YO7@gu:Q/IKecA:3)#_41TEIX4`!9s9Q;QU3q*fg"\Lj$KF&.NIOq,!!Ag)]I=aE&/?YG\^L.'`rNTf.`Kr2!(PnTmF:*JM#bs;:>0DR,?[=gi^m#7*Orj9rg@Ge'GNZ<_?CHBp9cZ:1'piMbTlmN^P1RcQqU1#6%+)s.ElAW^R[0CSA*rXU%_9kld%XVYV^B%EEI:nH"bb:uV07LC'D2LSDg<(0s]]g[ZC:endstream
+endobj
+xref
+0 13
+0000000000 65535 f
+0000000061 00000 n
+0000000122 00000 n
+0000000229 00000 n
+0000000341 00000 n
+0000000446 00000 n
+0000000651 00000 n
+0000000728 00000 n
+0000000933 00000 n
+0000001002 00000 n
+0000001290 00000 n
+0000001356 00000 n
+0000003395 00000 n
+trailer
+<<
+/ID
+[<7b1b4fe2c9130351e760fb4d2ff648df><7b1b4fe2c9130351e760fb4d2ff648df>]
+% ReportLab generated PDF document -- digest (opensource)
+
+/Info 9 0 R
+/Root 8 0 R
+/Size 13
+>>
+startxref
+5157
+%%EOF
diff --git a/Les10-Supabase-Auth/Les10-Lesstof.md b/Les10-Supabase-Auth/Les10-Lesstof.md
new file mode 100644
index 0000000..16d63ec
--- /dev/null
+++ b/Les10-Supabase-Auth/Les10-Lesstof.md
@@ -0,0 +1,245 @@
+# Les 10 β Supabase Auth & Row Level Security: Verdieping
+
+## Lesstof
+
+Vervolg op Les 9. We bouwen de auth-flow uit tot productie-kwaliteit en zetten RLS goed in. Aan het einde is je QuickPoll-app multi-user veilig: elke gebruiker kan alleen zijn eigen polls bewerken en verwijderen, anderen kunnen meelezen en stemmen.
+
+---
+
+## 1. Recap Les 9
+
+Aan het einde van Les 9 had je:
+- `signUp`, `signInWithPassword`, `signOut` server actions
+- Navbar met sessie-status
+- Middleware die de sessie ververst
+- EΓ©n basale RLS-policy op `polls`
+
+Vandaag gaan we daar veel verder mee. Vier onderwerpen: de drie auth-methodes in detail, sessies onder de motorkap, RLS in detail, en beschermde routes via twee patronen.
+
+---
+
+## 2. De drie auth-methodes
+
+### 2.1 E-mail + wachtwoord
+Wat we in Les 9 gebruikten. Vereist e-mailverificatie in productie. Code is simpel, UX is klassiek.
+
+### 2.2 Magic link
+Geen wachtwoord, gebruiker krijgt een link in zijn e-mail.
+
+```typescript
+await supabase.auth.signInWithOtp({
+ email: "user@example.com",
+ options: { emailRedirectTo: "https://app.com/auth/callback" }
+});
+```
+
+Voordeel: gebruiker hoeft geen wachtwoord te onthouden, geen "wachtwoord vergeten"-flow.
+Nadeel: gebruiker moet altijd zijn e-mail openen.
+
+### 2.3 OAuth (Google, GitHub, Discord, etc.)
+
+```typescript
+await supabase.auth.signInWithOAuth({
+ provider: "google",
+ options: { redirectTo: "https://app.com/auth/callback" }
+});
+```
+
+Voordeel: één klik. Nadeel: gebruiker moet account hebben bij die provider.
+
+**Wanneer welke?**
+- B2B SaaS β e-mail + wachtwoord of magic link
+- Consumer app β OAuth (Google/Apple)
+- Internal tools β magic link
+- High-security β e-mail + wachtwoord + MFA
+
+---
+
+## 3. Hoe een sessie Γ©cht werkt
+
+Een Supabase-sessie bestaat uit twee tokens:
+
+| Token | Levensduur | Gebruik |
+|-------|-----------|---------|
+| Access token (JWT) | 1 uur | Elke API-call |
+| Refresh token | 30 dagen | Nieuwe access token aanvragen |
+
+De flow:
+1. Login β server stuurt beide tokens terug, opgeslagen in cookies
+2. Elke request stuurt het access token mee
+3. Na 1 uur: access token verlopen, refresh token genereert een nieuwe
+4. Na 30 dagen of na logout: opnieuw inloggen
+
+`@supabase/ssr` regelt stap 3 automatisch in de middleware.
+
+### Wat zit er in een JWT?
+
+```json
+{
+ "sub": "abc-uuid-van-gebruiker",
+ "email": "user@example.com",
+ "role": "authenticated",
+ "exp": 1734567890
+}
+```
+
+`sub` is de user-ID. Postgres leest dit uit voor `auth.uid()` in je RLS-policies.
+
+---
+
+## 4. Server- vs. client-componenten
+
+In Next.js 16 App Router heb je twee plekken waar je auth gebruikt:
+
+### Server component (default)
+```tsx
+import { createSupabaseServerClient } from "@/lib/supabase-server";
+
+export default async function Page() {
+ const supabase = await createSupabaseServerClient();
+ const { data: { user } } = await supabase.auth.getUser();
+ if (!user) redirect("/login");
+ return Hallo {user.email}
;
+}
+```
+
+### Client component ("use client")
+```tsx
+"use client";
+import { createBrowserClient } from "@supabase/ssr";
+
+const supabase = createBrowserClient(URL, KEY);
+
+export function LogoutButton() {
+ return ;
+}
+```
+
+**Vuistregel:** doe alles in server components tenzij je interactie nodig hebt (een knop, een form-event).
+
+---
+
+## 5. Row Level Security in detail
+
+RLS draait in Postgres zelf. Je server action vraagt data op, en Postgres beslist wat je terugkrijgt β niet je code.
+
+### `using` vs. `with check`
+
+| Clausule | Gebruikt bij | Wat het doet |
+|----------|--------------|--------------|
+| `using` | SELECT, UPDATE, DELETE | Welke rijen zie/raak je? |
+| `with check` | INSERT, UPDATE | Mag de NIEUWE waarde bestaan? |
+
+Voorbeeld: voorkomen dat een gebruiker een poll claimt die van iemand anders is:
+
+```sql
+create policy "owner can update"
+ on polls for update
+ using (auth.uid() = user_id)
+ with check (auth.uid() = user_id);
+```
+
+`using` zegt: je mag de rij bewerken als je de eigenaar bent.
+`with check` zegt: na de update moet je nog steeds de eigenaar zijn (anders kun je `user_id` overschrijven).
+
+### Vier basis-policies voor je `polls` tabel
+
+```sql
+-- 1. Iedereen mag polls lezen
+create policy "polls public select"
+ on polls for select
+ using (true);
+
+-- 2. Ingelogde gebruikers mogen polls aanmaken
+create policy "auth users can insert"
+ on polls for insert
+ with check (auth.uid() is not null and auth.uid() = user_id);
+
+-- 3. Alleen eigenaar mag updaten
+create policy "owner can update"
+ on polls for update
+ using (auth.uid() = user_id)
+ with check (auth.uid() = user_id);
+
+-- 4. Alleen eigenaar mag verwijderen
+create policy "owner can delete"
+ on polls for delete
+ using (auth.uid() = user_id);
+```
+
+---
+
+## 6. Beschermde routes: twee patronen
+
+### Patroon 1 β middleware redirect
+Voor hele route-groepen (bijv. alle `/app/*`):
+
+```typescript
+// middleware.ts
+const { data: { user } } = await supabase.auth.getUser();
+if (!user && request.nextUrl.pathname.startsWith("/create")) {
+ return NextResponse.redirect(new URL("/login", request.url));
+}
+```
+
+Snel, gecentraliseerd. Nadeel: je kunt geen page-specifieke UX tonen ("log in om dit te zien" met preview).
+
+### Patroon 2 β server component check
+Voor pagina-specifieke logica:
+
+```tsx
+export default async function MyPollsPage() {
+ const supabase = await createSupabaseServerClient();
+ const { data: { user } } = await supabase.auth.getUser();
+ if (!user) return ;
+
+ const { data: polls } = await supabase
+ .from("polls")
+ .select("*")
+ .eq("user_id", user.id);
+
+ return ;
+}
+```
+
+Gebruik **patroon 1** voor "deze hele sectie is privΓ©", **patroon 2** voor "deze pagina werkt anders per user".
+
+---
+
+## 7. Belangrijk: dubbele veiligheid
+
+Best practice = check op twee niveaus:
+
+1. **Middleware** zegt: anonieme bezoeker mag deze route niet zien
+2. **RLS** zegt: zelfs als de bezoeker er komt, ziet/wijzigt hij niks dat niet van hem is
+
+Waarom? Als ooit één laag faalt (bug, vergeten check, security update), is de andere er nog. Diepte-verdediging.
+
+---
+
+## 8. Veelvoorkomende fouten
+
+| Fout | Oplossing |
+|------|-----------|
+| Policy werkt niet | RLS aan? `alter table X enable row level security;` |
+| `auth.uid()` is null in policy | Cookies komen niet door β middleware check |
+| Anoniem account kan ineens INSERTen | `with check` ontbreekt op insert-policy |
+| User kan andermans rij stelen via update | `with check` op update vergeten |
+| Service-role-key in browser | NOOIT. Gebruik anon-key in browser, service-role alleen op server |
+
+---
+
+## 9. Checklist einde les
+
+- 4 RLS-policies actief op `polls` (select, insert, update, delete)
+- 2 RLS-policies actief op `options` (select-iedereen, insert-eigenaar-van-poll)
+- "My Polls" pagina toont alleen polls van ingelogde gebruiker
+- Edit + Delete knoppen werken alleen voor eigenaar
+- Middleware-bescherming op `/create` en `/my-polls`
+- Werkende auth-flow getest met 2 verschillende accounts
+
+---
+
+## 10. Vooruitblik
+
+In Les 11 verlaten we QuickPoll en starten met de Vercel AI SDK. Je app moet op dat moment auth + RLS op productie-niveau hebben β dat is de basis waar je AI-features veilig op kunt bouwen.
diff --git a/Les10-Supabase-Auth/Les10-Lesstof.pdf b/Les10-Supabase-Auth/Les10-Lesstof.pdf
index f6b5c68..aed9750 100644
--- a/Les10-Supabase-Auth/Les10-Lesstof.pdf
+++ b/Les10-Supabase-Auth/Les10-Lesstof.pdf
@@ -2,7 +2,7 @@
% ReportLab Generated PDF document (opensource)
1 0 obj
<<
-/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 8 0 R
+/F1 2 0 R /F2 3 0 R /F3 4 0 R /F4 6 0 R
>>
endobj
2 0 obj
@@ -22,7 +22,7 @@ endobj
endobj
5 0 obj
<<
-/Contents 21 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
+/Contents 15 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
@@ -32,17 +32,12 @@ endobj
endobj
6 0 obj
<<
-/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
+/BaseFont /Symbol /Name /F4 /Subtype /Type1 /Type /Font
>>
endobj
7 0 obj
<<
-/Contents 23 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
+/Contents 16 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
@@ -52,12 +47,17 @@ endobj
endobj
8 0 obj
<<
-/BaseFont /Courier-Bold /Encoding /WinAnsiEncoding /Name /F4 /Subtype /Type1 /Type /Font
+/Contents 17 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
+/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
+>> /Rotate 0 /Trans <<
+
+>>
+ /Type /Page
>>
endobj
9 0 obj
<<
-/Contents 24 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
+/Contents 18 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
@@ -67,7 +67,7 @@ endobj
endobj
10 0 obj
<<
-/Contents 25 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
+/Contents 19 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
@@ -77,7 +77,7 @@ endobj
endobj
11 0 obj
<<
-/Contents 26 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 20 0 R /Resources <<
+/Contents 20 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 14 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
@@ -87,167 +87,64 @@ endobj
endobj
12 0 obj
<<
-/Contents 27 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
+/PageMode /UseNone /Pages 14 0 R /Type /Catalog
>>
endobj
13 0 obj
<<
-/Contents 28 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
+/Author (NOVI Hogeschool Utrecht) /CreationDate (D:20260607115144+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260607115144+00'00') /Producer (ReportLab PDF Library - \(opensource\))
+ /Subject (\(unspecified\)) /Title (Lesstof) /Trapped /False
>>
endobj
14 0 obj
<<
-/Contents 29 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
+/Count 6 /Kids [ 5 0 R 7 0 R 8 0 R 9 0 R 10 0 R 11 0 R ] /Type /Pages
>>
endobj
15 0 obj
<<
-/Contents 30 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
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1819
>>
+stream
+GauHK>Bed\&:XAWR)cQQ<(XgGIEQL]S(%"qcupN%U)4%JN(n.,:Aa?=ZAi],&3"I8iBSta1\8lQRt1UZ5?>J<$\6"4nE^kl`aO6&bTe0f0AtsEq0eZpd#JYhJ`<*f"HkBNHaSurBb'D_&?.PZ"e<5Ps7mZ6c).LsB3CP9-^1TUB&K-L&C/S[Kj(H$>H7T-N:10Pe/IO"o`B[UJoFrYKdmFnh:>1^aJho\Yb$H-(r;2dJ2_?L/gFfc],:@=iH547[rB",Y@C0J_2!hc)VAtSYmuH1]B90'VgVss-.M[W^"](]`!oiPXZ"1n>,jI2T#=CmlbmLr[3r?17QY+b6d^krh])CR_k(>V3AUo(8sg1F7I2!%_lZO!?o3l4(H$ah(Qc^8)\0TU1F7G&KIL9c;Oh*67?2?MVO=BN6#NF(jY5I8_u/qiF4V.$_[?!t%Bgnp%>/&*82&Ki@h^ZpC#_UE2DPLfB+$R<'J]EWRL*a9nMXt9.AL=I=\i;I?1i=?QEo5HPnBaLuk+F^AY':Y:2i0(,7PRk&]<<4"i;1BGZHV;$>G9UFqT0<`S3AP?.UQc/'XHi<=GE9s_.(#$Wgi%K>fn!g.'U,X*0eT#:QT*Xp0]EL(r"&,6Yn6CTFEb$=T`O-_2$9@!Q8rsfVCJ/Y?nlPBCFl@h6o\!S:k,iL[B1s-\*bV&\,RU>e\4qFiAM*(-#ZrRcoiHiG--EMR"1T7h?osmXs:p%92",n3t/fCRh21T!q$bM/9O)TO/sidj';J'/TlMDGS`hM'<&.N/r#!925Tb>e;;]U92na'NEWB1NfWs%/m[eTM98hEg7"7?FTD"g:%;_e<2.+YnlW:-A/0-hU:N;h!=@,^RU&4p5/92`M/AQT`Be132j=5gr#RluhT=<-bd$=>_SU;q7YQu%4GKl*:4F>8,:DGS4ddR1/TL6te]fj\%F4Ojb0Ik6nGYq"&!]93=7S#J?([sDj'="S;YgZEHkqV'VM:;QuB4cdG*hKaWGrGA;0P0AuG&i)dr+-b)b:M8]HR\_$S-eQ-lY&(dscV,9'U0R,T]?l\_2cs"FFZd(IVH/&_;ji#KQlkaAPc03DoCN^*@>)6JX'`QGZendstream
endobj
16 0 obj
<<
-/Contents 31 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
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1951
>>
+stream
+Gb"/'bBDVu&Dcq.k'5u51.6X86+VuoBk#+CY4Jk9DnMbl=JA6H$40mQEq8Z>n1DV*\NX^D[3SBh#P5Hm\X3s4'-FUV+3X^k%A82CJMJ(t!p,*Qhu_aDN%YBD%MRV%@_&At0d*'aru`=$1"ZtU4Q]L[9gN%#J\./VY3,l(F[An*WJ'$h"pH1j;n*g'95V^lITUM#LG:X1M=!:ZlMAXf=1dW-Vt(>R/>&jL-"n#mUXeABUpdL90S@9dpRfdjD).D[0M.E5r_TR&-44W-'6%t%YN_j$Hk#u;7f@12_9+Ck10tAaE=56t+0Nonk"EeNeW2d%H`+,Oob>PmDPu-L,Es5RO?QoS:\SgT=fd\d^>Cg4kc:%H(n[2QX7alepN/:EmOa`PLh*8<_/+V49DNtg)%F^UlF+E#`Z%Q=tQbW#W"^+%`LOLS,T;r:?_JsrE?\`Ce?HmBu^HK7.[5Q2P_IBTG#9[Z.(`gL[T#pW$r6q:_,>!JtG0o!FL*>21_(.Cb>_Pb>*Q,?aj!Qho0g!o.6/<3Nk1Oahn'C0#F^KLO&,[goqSDe(^2LGZ^M?3oDk?p52*![4P#GFHPgAFu_cMCS_&6k,)0uMt5:9#`OqJoUb@-ip;jkKJOgb\4b8;!YD:c#G'WD1*'"6j+F,]-s7+koF&(7pP5mI=X"UUOUCPHn27k:5os_G&Q9RjQn65RE5[ub,Gld%XhLt?^ruLU&c$9p#KG)G"n,6+KAbn]/4mjDm(li'hWD]s]FM7J6gK;&!P*Kah(dYn`1n+JT-sVJ4J=]Y?`'3gaaH.3.2MQc8;tSf7/HAWK8m9:VrS&*i*4:]`j2Rm`A!:gBiEil>1Gp#jKX;n*"J)QL>a/36J4W76Z$njfu%1*m-h>(`tEf'aCm&Q?#-NU2`NTT`m!FcSUq:bXQchOoe(!XrEJ#lmGRCA'k4;/(*tl80(%Go?AP,l8uAj8J\j<,gE2WM15#Nn(`nCJgMf88b%-U3U&+(hWoaK_IX:R;^E;'J+(^+p?9q'l$O&Y,sKkVb'2R0Zr!o=LTt(,DG\m7_BMI*%ei^j^oJYH$(JW3SXPRIYb03M,;H+XO#G<8mqiS]@.;GJb`HFb7$'dh.1/cb!3WTgcKgO9kCK*/k?hb'UOPnVqjQ6\VW`.NPH-c1Lj7+6]pNmK0>>+Z%HF75&T_NjDTSYF0qn-Ethegfj]Y4K^c_X,!:UhE?NglSo1Pgoka>O9j`L&!m"Z+`FEH'Xg),M8$e.*)8\f+6gf/i?aNX'h(@/gJhdKd\/7QPUe9u7fIY'E8sP>Hl:(S+a%GH7d^*CICc.=Vr^!fh-oL8]$/%h_mJK*nO&1l)$uq\$t@,KcELH@0).#MX7aEH"=&MfCb7@qXMn@Nmok*uM2EP4%Wt6pfeKg'^P#VX"RJq9pQ++2IcG,om=iAF1(N@C8O&CfcFo;g9PfCcL.uR)=u\.4q7)2Y^fY32c4rSH6'=o/R;Fo1q3)r?G!LpL%]Q0X;u%_0[]T_)Pc]F>+>YH*[/s,:UU<3^endstream
endobj
17 0 obj
<<
-/Contents 32 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
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1735
>>
+stream
+Gb"/'D0+/c&H;*)Z'S7;+c7S\aZX$^",:h:i#j^p1]:.jo1]Nm$5to.ArWL9>CQ\?9i;#+?'J#=.9-GCmj8pY=Q%L-Vm;cH`lYV6FLnZ!e\X9m'm-o!m68*17I:$T>]:NrpTdsd36ZGK%FpJA`3Zu:64<3CNDUKX2hFll2lT*"a*I,`Et)`aI>*Ed%OT.R?*)i`iWhVLjKs@NUW,3+T)mP'JO!<)n2rZ8)`=;FLCI(hQj?W%ONW9>mKpANR'8IIlm[m8ZlphRgHUi-'HsmA$)::dgs[>ZCEqWR=:=o.+;f,3'SKX-*C+#Y>&Z!(GZ+pa(J%Gu;RZ'T`Z!PRo,e<;naNU*C3_.*J%,QhZ-+PFS]'t*XKTCCY$45m)WjjQ4K`KoJo=;s#1'jZo<1HLor"IB.hfBpa^55)'pZdR>EXrn(oi!?MY30Ci=c<'>%BQ]8&q&(aoE3iQ#&o;oL^F=7M6&I),IL;hjN7/dDTYXsEXcaqu=ih'n8'1&\RikFH\5LsIf?NX%@l:t*nQoeLo%`Z;s/bQD)mh7[Wm!DR4ZGiVR-e=AE;9Ieo?4P>T;m7:aL5]oOSNI-;ln^%2D0m#,1W$P!u9pPT'QaFFSP[laWpTPe_g+`OopE2;9;QL:\#?LKGRWkk1LpSG`)u(2#u\T/g6`L\^F;MSo0BdOi5rM8o*M\e(XEREBWu%'ar%ZmW@=9e$<7Bm?]:On6n*gl-YJ31s3(38lP(gYo>:'\sEK&`VYd&W3.VdG#&<5Z%+BdP$#,"8nS9M?Lo^T4p#jcbN32d&$hSo#7!)lN4O7Yl0Z_H$;Y=(Zd#R=Y^=$9'D7lTD/ECsV#7B]*JkCTIXe`ibCP*r\$WH*n*FVjc\G$qWW8d>mNLSF87r(^MO+15hSh"PN([GD6'L&m1)368)9%?>e4m0/endstream
endobj
18 0 obj
<<
-/PageMode /UseNone /Pages 20 0 R /Type /Catalog
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1845
>>
+stream
+Gau`TgN)%,&:N/3m,Z:6`%V1C!9d1UPDbm@j/0@8absdMMLm-X'WI1Y2>,RF_7Lsb9Uedm=eZ12(Q5W3B,>#Bn\pC3?j6%/!gc,-?lUM;^]Y6'\Uj9]oQkg`>#*Pm[fFU&1+=(!f1HkeFGl]+d-nO=qFb-DdU5a:L!EQ+tN!+bjlj@i=&b(WmU);6CFlZR&o64c0q:-iKn(mZ=&e?&U_f$'.e16j]oXnCNsD39U)VQH4H-cQoqbaFHd-3E=5\3._RQ>Q7$mQP.1EQN-u6X"n*#="1+fO7(ZD@njeii]iTe[&VPBt=V;3D@?fIL1c[_HjOKP5+D,YV8)]&sIMbBJI3/P_"&6:^#5sg14VS+0`&>qI+b-IQ;ZX+5aeY4rHS;=*QqI&(k+.IQ#U%5T8LK(`l%cRJQmqm`eQ+daB%o;VNm45d2rYEkoP4qXpMi6HDJHK4pZ&Dr2IM$Rp\fn%Xgs(HaY@e+,)%no._L6o+td]tfNYb7KQe#U^o2al'D[eMOmer@`ba`1:N5-%JkZ\&s*+&R=1(+>#cip1K!*B_,tU-T-CS5V"+FN&.s/T9_oL\X?3ZumMn=*E71_k9\AH#g%6XD?KP'>d1VgIk1C1=fSNQ=eWlLird*rE26OfoU:dJ**7+ZL3;*.D_`M>!kWqg98>+0fi\\Voi@=oO.sYPqC(o-.5Z%Luog;IVu5/_r+=8P&+Y#Ck,jIXO6(j8Uj@^RN.)2L\"CY5Z.eS#'WXB.6&p*&Ren9.f"[!i:bCPj9r7"B=DN_kO9]+S+I6(4$TjK^6Z?6+ul:cLEe+B%8>_;JbaFIG?D-911`$+AI-hS1*T/RDh7=89Up]?EBfDGU$Lq>W=L$GrUQ]qd;c4%^cP3(1H8Y[3J`fm@UUFT0)nmWu%O"TP>I0=)pK(nO.=0NNYeR"Y,Ki&KoULE-,%If$"STS0Zm>CEF;;(CZ.%"_Fu\\)dI/$U=536$Em9,aG1rI]rg=o_%/OV?j4WruWSm5%3CE3Plu0CD)4Vd37kd`jcVL.:G7(]n$?Yf""#!FbP/%J&Rt4.4[cp@A\]Lush\sG]cdO/rn\UF:bS9Hso3DgC>Iuendstream
endobj
19 0 obj
<<
-/Author (\(anonymous\)) /CreationDate (D:20260422143453+02'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260422143453+02'00') /Producer (ReportLab PDF Library - \(opensource\))
- /Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 2276
>>
+stream
+Gau`T=``=U&:W67f_V9dB5Eq8Dtf]rD;'*e2"d")5r0OK>"PqH;B\?*E@1_!$h06g99u,TQ=NT1p>5ak5n4C<\G`&D!+&pIa\*+K^uYj3a#pjoKC:I?ms7Y1,4p7jDWJ=4!#E3/%uP?["$^0Z/7K*O'='%Y^l(11U,W3?FCE6X-kJkoH5p$(3+:kKMmsis_**+2"[\;aO82'Qhkb8`Mi;s:$QAD'c2(/YBErI7lF=DHF1<=gE&iRMlX/M_JfjS=QH:Du;n16Z-5-gj+[UGQ$GOC]VYM3i6b'd[b@a;[)H/;FaFk\kA9ruAWUj!3jGb.[9S1%!i)fJWb97FV=oj&0_n[MCpDA+!*0>NYC[G`oSf[]k$(odYR.\*GXBjS_V*-JP%,ks#o7+OqcO&3)U39>\ldir*GhqmAX*,Rj?!$gJ16:4&;l;pj6EF3PdN3%0'Wp27Q?+en=b/q/Q(\H]%$tpUIV)!D3MlGc;5[8kUdj,\e(Ui7p2P"N;!GGh@:0?*pL\,$PS;![@[0l%Q&5FD6R`^;PRU:L?Y#NF_&*j0FK>qMK&5MkWGUZA2MsJ.YE*Q6OL"d\5en:^^N*E$X>)b%LuWWQ"*3de$^49K6?4!NM1R"4)>Y_9!ZuZH2ilR7@n-7C=Jq^=\u[Tq.sq*f8rZ[R;R7rX%Ig\I'UNaDtCUqc6Ku+GFqHj7%Wf_mSP0_JK+Rf&BG:t#>VK5JNWE>&'KR$Em?Q@BrcN#'8nHN4Y/RKRHI#$BNP>?&ZJH[B%^%RGaNlR@9W47;qhinT'[h1Djcn,h[uE!iu`#,%E*X(CA=U-psaK\V+KW%7=MTJJ+^Wa5!C0":[(q%NN=^b^"\.,2,^T=Et)QOrrZRDQ(!:>@M.Jbl-C;bkKT!P\.8t"\-GC67@6n2#kk6*&QD?H81b%KccNf2fSPC9eM%J+/>`OTfanPN8O[2WFhm]\\JoUZkf+4h2u%j2iP>W8L(f3Bq:V`Se;Yhdn,cOVN=0kb4b["P)uRqRZ*L3_sL<0@6Lp+j'P:!BAhM+eOBn,!r.B.'%B4"72$p,)Y!:E9us-dlW\d4,(*7FKfeXk/Pp[Z#0d'*EVM@p%bJMZob\7[ab;eS$29,h(=Z[.A^.<.@_Pdj)%Oi6NJu'#+LK=?>8Fg)R7Mj[8Y*OrXgf>7sO"AS8`q#Z,?EB9LgC"K(\)k#O"=qBDT]:X\Y8Jk#RI!9[jM3@p5==:jZas1FiDBQ2NkjJ)-CYJcP`]q9Gb;$3-KZe3(HrkG3*h;\(W[@m1d+P2\B_P,=%$s10*j;&L/!E+s^.AT;6GW[a6^&(R1D^qnul!A$"]_@.?hZ[COsU&U\#\]/,g1SdqT_:&)jp`o"\&Ggjg'7YZKFW:<4r^71OdP8VS-Nsq#$lGD.h4:T^cT&!AI'4HVTbG^dDET?*m;nM(pbR9V@+uG4S*);DW46ncLdJA5Y8;Tg?f=/hf)hGO$Z'Sg2Zm/FHbC\SDXZ&kUT)u=ibn'8o/&*n8s?[]GHj!]/MX8<*#]Vmo"JggVTea)Doels6-AO5.V;D3XQ;;sU>Gu-qk_B#OIA[3>nQE?50UfRq:U&$U=mW3h,G_(Q)<[D3k+DAdAc*pD4XNQW1Q4N$E>iANjQ=6?-1"JHSXN2rp%m\Fo?3,hhkjAjBW:X"D3UI&/eH.Ne1t#n'8A]"aM%Z>\_kX#&<.UP18TuVO_[ad?APlUbTiM$?akkt\8lotC~>endstream
endobj
20 0 obj
<<
-/Count 12 /Kids [ 5 0 R 6 0 R 7 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 ] /Type /Pages
->>
-endobj
-21 0 obj
-<<
-/Filter [ /ASCII85Decode /FlateDecode ] /Length 1754
+/Filter [ /ASCII85Decode /FlateDecode ] /Length 1256
>>
stream
-Gatm:968fX&AI`dqN@),ZH)RfBMY,r@5drSgG=-u0\@WS<&&,Bh>L&4^)dIm^Wc_tF+Dje3.Ju!E>[L5P=3:O')idY^(6$mTqN*T:tfR``!F=L$,pG:TsA)MiJ_PKTcuTq)E9**#Zq(\L"hpr&iTRe,8$-]+?%d`OCAkBf^\W:B'WfYP5`*mW8Pk@B/i8>D.#qr5@IIJ/_a/?9islq>h40TuF@QcO.1meN;AfBJbL.O.X-m_#&LgbBTK=.=A*%)c%uojue/q(MBqo1+=_8L:?m5VYO\=Zg%^QmU5\8\aJ.;ggGrWQMjH\!i(9==lm-#fmfbgP"!04G!9E13hX%b)IOo)Tm4;^Tfn7p]%c_&nEe/h?)XKee7.e)$K[7guEorPU\QL""8*PYhA*W-^62&E7UJKKmBEGon)b.CP[*tc:@f1/>cn*]DM'#M$*aL6"KPUJg5d]k//hOYijpZrN:C@BGa+=GS!mlMGc6G(Gq@RJC?RZVM9:<7=]iF*oSo"%^b7M*m&k>r2:LT(Z-+5piJ!0=][AsR1g'k.T't,5CE0n_@NL*(3rHLAqD)WrgMKH52h2U4p+hJ3<`J7-B7q&F"5"=@t>9GKD111Vn=-6jbfcM8A*S4KRj8`*3G6#XCMXT"<[E1DM-G*+BiROi'8n3m=nnfFXFETqi-1_5sBQ[96,E)\g<>=oGm77%\7IH7noI5`J/F5&CP!t)N;3J'pm+F>8iFteX#G@EP@&L!;2(PN=2Qo'thgQ\(ponu+j3[5VM.CDE)X^$:QuDH,1Q7+T%?Jl3DL;Ze)6Au-(R^RsA5hDISgN55IHdZbS2%0)UT-2rd\."3^8/Yh:neEs*?`Ak?+boW+OkL5J(9Pjs4rJ>WC+([-$.N%@=dW#rEQ5SK2]&N\^CDI'B*Yn*[JII[:YY;(H:*uoF/^"cnW6ag,^W;>/FQ/U[c$>j5IbLegKfRkrF)7E=A'gnF#ZZ=79QO^qj\+&A2#c`8aZdNR,Gs9-n!bI$T>1mBI%Z2U,XCohEWOEX\ML8FX_Bmn>!V`@2^O?b`ffY]\5b#";29Sq7T4N)@okmh2PoU>Kj-"bh\Y>G!*XL]C]@CJ0[Js"H*HA$n_$,M1%3aVhYd\DCEo\h'VlX'$%S%2rJO]DcL]&EID!*EYcA8!e4@_aJScRr%q>mdJ)/8?0t'n?h[dN#fl?P]?2/a,;ZO?#HL4:*b4pWW?F.%]ts%S8^h#~>endstream
-endobj
-22 0 obj
-<<
-/Filter [ /ASCII85Decode /FlateDecode ] /Length 2925
->>
-stream
-Gb"/(>E@Ms(4Ml_EF&]+fo/O$e1JIF0gX5ug9fUHgs/Q!A;ar5/5&o5*i&>mpDd(4>JA+m53sK78/00e--t[/#DW8gr]=Be]H>$%5B>Z``Xfk]-"6]T5)uiG]!?,fpe69N40J&+@/75U!X\\h.`KXr%kPPN$VoV^_K/rn_K%f#H]Tb&G]RF"eUEQ>^+\t)\Dme\IVAsmFL3=!@m4!mU5[18@JGD;KXcS7Q>3q^Y2q_jdYXB-HkXALS(m7uU54_*7IWT+X!E$qWjI-_j$ss$+k@\1;YXp7H\;;6<<-Z^O.si>%,'OT=e(3h3cog@7l>nPBPQZ5i,PQ'9,AV-dnEOVS[>GcG-u!'c$Mq^5J3F5A-?I'8JF3q>/E+QT?uLKY#p9m>:p74EKG_<=c@?m#'Ngka)g1nU)g!Om@`.'FM?9ng6\r'c'Km-CBhlr1Y*5]DDj6)QJgY8IJ$uOV^]jKrXGZ)Y>cEWl$_J6[%c,)f?KdFa[^]n"a$7KN\GptQ*>NP)+Ze15Q$\IRj[NaTfk'6;q+Y0RKHR,=rW:"8^5]Adtd>MO:ra'nSM.?IaA`:a'A3eWH0d%FP]Z:r%*$[=dKAOutc@F\"Ks6g]?K+Jf(Mfk?<&n9!Le,!/>X4Nb3N-I#L,l?A4MnXsRYP;a]nIb\Htfr/9iS)-.`E^=.LVUoPsC^+.PE>tYMuM?K3+ZJU"O'Q*B-*]3/M8T_Pa@J<>*9khTF):Fg^\GP#Np1SlPFg.URNVlXN[ML`KFV^!ci?#jB2TD?!Gcm79lm,#bDa:E+Yf(g07C_*E`DdS1'Rt+nFgY3N[kFoje_K#]-$dRh<,K;Pp\>Q'L@]17.qI^k(Z^i!l7QZeOmk_Sjr2Vg*k&P(Du6MTb0VjXT(rGlKNh)&(6t1JW&=ph00P;#3(EZIoYIo2:jHQ=6L@-+uc>G"^4"+(O;ERGT$Lj!I?^^/Ub7''C]:OogqOh`!G84f]P58p%iZ;I73NpL0L?Q1)7tPoJ"Z[s@],7k@#"Lb!Zh[ejY2rYkL_^4ck#dU%GeAp2LAqhCNZfX%EZ>-pK53p`eQIc@UO-YgDkjLCm_6@UOPhMas*-p^DG$^9Vt._KFl%6]e=@4i42q'.=M"rVSB_P'l3T"R3YOJ.'0\@XTd$po2h`R&$J.('V!2Jfc_%3i8!>`9(TG+S#^>4:8Q$jm^2emfrFIj0X87"n070ZhAsOtGTIN3P4fAWW7p*2ISL@f>nq;-neFC?E\k=2MWr@=`LWJE"FroKClk9]8UqqWsY&(c[8e_-g5=/U))PW>;EA1d`6P58at-C,;-BCod3/H^'>7dO;%E;k&RLUEB6gLl^Wi^+@0=B;#NX+9tP:HF;)Vfe%RmX@P+AGR7cJZ7@`WU8uJ++1uAX20F"ECFNj'f!$_a_?$N3q[8TrlTSbLR`mSZ=L?2X8J:5%9EVn^@;Upe%Wp0pM$Fa314su?Tl'dg71hA&"TGII$!-^%D4V@jqp@l]'\t&l]V"-niQ6g&P[9>-p&Z5b!:lU;B;gQa=,Z^$VL13bJ.AD*)X5i=/G?a>$]Dp$MDV.+B)TR.tj9*Thn.LM=#T_]DLLZ(o5KLZ)mhcnu)F1Y\(Qlhqn.rZ;;pS"C#dM]hNg!dA8k_6e#umdEVn"fAkW_$Te=gkkkcK$KX-.!=1_XJ%&87/[s#r*>OZ/TlH4B=)nQX%h?)D+pI+=%f4Q5e\R#l'U8qaqa'5;TGfs?)R#-L%DO9;a46[U*(RdU?9sL^4e=HW3eg].?e&I/$Hc!6p8Kb/0?17Yh&?'U"OOF:;?*.89VM8K(JMFQ#b,6oc>7qNP7$6@C*R*)Meu:1&?ti[7G@a%#&%bScM_1eWA1An,1n8p_(PXaV0>\L%\]l>kqlV@AHrJ++AZifYhJ;,+[WeS?l>4X7=sX$/ca.W7Z]e#Xt(E'Snm9oofacP8r][?0FP:7;&7s9R;.j"qFN2FYM_F:$BBS_.X'"u_e#M;?c#r.KeIGW3:,lC+f9mPIU6$jT$i=90ud=C?f^b;9]qqc3!fot:\o%KM$6*knH.N:B$rL8eB\:"4pt:IMX4!n&WW#:fI"LL3NoqDphjSIPmb,Y8e"AY$qH_*@6-3;!k('))M3MMXN_,T=b&O%hLY<59tb;c[Z<-7*BQ.$2G>)DnH!p&)@n&Z3#Hcq(Zpd"p+MSKYTOZO7]9PZEE+21ZP!W0nKm`T1l:j_/t_*_M'cHRMUendstream
-endobj
-23 0 obj
-<<
-/Filter [ /ASCII85Decode /FlateDecode ] /Length 2894
->>
-stream
-Gau`V>Beg[&q9SYR!n1tP-nFt#a!hsmR`nFEDDsu)l8#*$VeGMD2M:aaP)hb^B8uhWLG2Zj5e-5#nf$2$td6L5aVVhJ(4JCjoE/TiMT`k."h%!cnG`6r"a`#TDa0RE0A-bKRaFJ9+F83"\V1\Ve7:_a#")>AJ.BT!Yu(KN!1toBEY_pS*+EMd`P'J`%f.[UI$<@Hl+,l8>)1P4;KZ)!>@:E4e-nYi]I7kj5^k$s.A2p!WafN&s4<&P(k)m5T#grjrbMdJL#k\"aiFJB,R11-@p!r(kajgM'3-lZk5e@"UpKjSR**>?(5QLML:!C$W1XK@@.0Aj;]*BK]og7KE<*di9iThM;u*aLQM1gLfp^[KhFrkPe)ajuC\"K\l)1\?9U2Td`GJTb<%*H]-;7[G`/Ls6[s1Sn<+(e!]]Ta:h11?%)R^HPk*FkJsEA)1sD3`pYIVa@0%\oIFK*8Biuoc_c0pnbPY,#S)Y'\!0n"!`L.YoTTKX-$CfZ-`r1LeFTXNTi\Unq.#S&L,9hq/qPriX0XlQU9VTSJ:JATTIPnuK39;NSGAQI%lL&*HGY3*_+>/;#O[46B'qZd)X*WbI_"6Y(B@`tEg#moj:^qBCnM^@LKVKj,qk.P^/pKiF[`P$RN5_d_SlVf/sdHOb4&CteqRU.[!gS5k,h0i1?j`D(A7&KKbYOZdp$P\N-+2TiC?SGPW(efSSP/QX56I&sj3^=T3+&)G2)]emB,`5H?&lMt+%htQK+U9kp@TSluMT'#;Co?,'BF`"o3LM5,E\Y*`,T.8ObN+f>Y>S;/eP;^BPCLqXCM'&[*0S.B9q-;lMJ3k`q6^(,pcSENm"ef-'A:HuRf+j?L*gG6[4F22BfStOJlsRtk%S/;5C4`?iXTOR6tEUT]GUBS:Z@\`ng`7t%r'K05'3mL2*g=GUhAbO1,gs@k0q;1166)7aSo;UWgP_'5HnA+.739RjhSS$PgT>f^H77f=:`=7lFO-!SpDk=5a0OgIdJ@UrP0b@:Aq>n$le?GsgTi_)N"SlsgoHR3f8oYD$;2'0X\NSdGUGnPji,Y#=kfdd&8U[N]GRn"M*k%U9mS7Dgei7Md5.jkg^t9!idA:s=$&md`lT.`9n#gW=/Bp*_>NmcCnO93o>fS9EF5:@_,YX#Bk*$198+8U>8_VCkX0ec1U\d0]q^^0aB;s1W&q5QGF`j#A?KV$,k!qu+cCtBj6qJ6!V2l[,+1qFTMgGIOj"7G7L=#dJe1f*H2m(CEsDl(A"Rh$/jVfCq]%P[KZ9n*PP08@ID0Q-h`&2i0mM7ul#4#Aq^3^2I=4N3&Gc^!PdqjM9'G2mp9.n968B%-DgHLJ4q-G")D2!4+%5barf^%:iA(q2?[To&g2nCX;a0QAF6.P\<&SYoH1.D43V1@A3Ql@7aO1pt)"90oRX)JlE8sC&$<[]3e75jS`QeJ)A;)C7Y`^@!cW=aI6UWr1#-?!0?TqR]>gY780_+hp"=KDs4$$Ml9.0b9l7\FVM[$r+)N*::@VV:n^$FO/Epm7SgH'bc[Qgk^F`kli:>ZA*'j&Rsl"\6t+,FQOj1VF*8i=3Sk;d&WYO)uBnb/?!V6JgYd+aendstream
-endobj
-24 0 obj
-<<
-/Filter [ /ASCII85Decode /FlateDecode ] /Length 2717
->>
-stream
-Gau`UBli&f')et?dIEMQA$6$oioMg4a`\k>?*YH0mG06l\MtRB`"A%:acR46o&$oBO8(Hpf%;,NpF:YLbB_h815fH)0Y^V5WIdV3.XH,kIA;fEBTA.:aihu]gICK^IK=%kP4,^EJ(F/,_8To?q_-j4$H3P*>[iSVSA2J70%#AoFFXqhgX6%%c!]hNtU>mR089Wb(\"^"c)+TB[EeQi,#;/V6:+A&@WN%Om%i%5bpf,kfKN#_)+LF^m^[s?A(t!7jAqL0KAn'jVX$KM(5:D4AXmV.a4UQe]V1(/+?cW"KpNI$@W[@Eb#8B637cEk;gu5dTL+#Vt;+GR3?XH1/o29/[Q''n.G\TVui'$Kb.?Ed+Qu,4D\i+l^GWo:@,f<1,A^U/@qM'^=cEQfI2JF%[elfd?+1*32H([l6qgH%D&iPl2#uN(ua)%i7Yu8]`h!oAq$L`Q.Fe4WC2?(