From b62418264f7114b11e639bfeb6e296a1be94e08f Mon Sep 17 00:00:00 2001 From: Chad Faragher Date: Tue, 12 Dec 2023 03:54:34 -0500 Subject: [PATCH 1/3] Update adding-your-project-to-a-repository.md (#30492) --- .../adding-your-project-to-a-repository.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md b/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md index bb00a9a802ca..38a469c24901 100644 --- a/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md +++ b/content/issues/planning-and-tracking-with-projects/managing-your-project/adding-your-project-to-a-repository.md @@ -17,6 +17,6 @@ In order for repository members to see a project listed in a repository, they mu 1. On {% data variables.product.prodname_dotcom %}, navigate to the main page of your repository. 1. Click {% octicon "table" aria-hidden="true" %} **Projects**. ![Screenshot showing a repository's tabs. The "Projects" tab is highlighted with an orange outline.](/assets/images/help/projects-v2/repo-tab.png) -1. Click **Link project**. +1. Click **Link a project**. 1. In the search bar that appears, search for projects that are owned by the same user or organization that owns the repository. 1. Click on a project to list it in your repository. From 40b02ace688989e1e6795005f2da90cd15dfacb4 Mon Sep 17 00:00:00 2001 From: Lili <92824518+queenofcorgis@users.noreply.github.com> Date: Tue, 12 Dec 2023 05:25:16 -0500 Subject: [PATCH 2/3] =?UTF-8?q?Update=20adding-outside-collaborators-to-re?= =?UTF-8?q?positories-in-your-organizat=E2=80=A6=20(#30443)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> --- ...utside-collaborators-to-repositories-in-your-organization.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization.md index ece68a3301d0..edf00023dcbc 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization.md @@ -44,6 +44,8 @@ If your organization requires two-factor authentication, all outside collaborato Outside collaborators cannot be added to an {% data variables.enterprise.prodname_emu_enterprise %}. However, you can grant limited access to users outside your enterprise using the guest collaborator role. For more information, see "[AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise#guest-collaborators)." {% endif %} +Outside collaborators cannot be added to a team, team membership is restricted to members of the organization. + ## Adding outside collaborators to a repository You can give outside collaborators access to a repository in your repository settings. For more information, see "[AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository#inviting-a-team-or-person)." From 10de0e1e14380a11ea661618b4536141c37b54dd Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Tue, 12 Dec 2023 08:40:11 -0500 Subject: [PATCH 3/3] Repo sync (#30626) Co-authored-by: Jess Hosman <1183847+jhosman@users.noreply.github.com> Co-authored-by: Rachael Sewell Co-authored-by: Sarah Edwards Co-authored-by: Cory Calahan Co-authored-by: Daniel Adams Co-authored-by: github-actions Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com> Co-authored-by: Laura Coursen Co-authored-by: Matt Pollard Co-authored-by: Vanessa Co-authored-by: Felicity Chapman Co-authored-by: Peter Bengtsson Co-authored-by: hubwriter Co-authored-by: Peter Bengtsson --- .../images/help/writing/alerts-rendered.png | Bin 64537 -> 50447 bytes .../configuring-backups-on-your-instance.md | 1 + ...te-networking-for-github-hosted-runners.md | 2 +- .../using-ldap.md | 6 +- .../managing-dormant-users.md | 6 +- ...ndpoints-for-the-github-marketplace-api.md | 2 +- .../about-per-user-pricing.md | 4 +- .../style-guide.md | 10 +++ .../using-github-copilot-chat-in-githubcom.md | 4 +- .../basic-writing-and-formatting-syntax.md | 27 +++----- ...he-openapi-description-for-the-rest-api.md | 1 + .../api-versions.md | 2 + .../breaking-changes.md | 2 + ...paring-githubs-rest-api-and-graphql-api.md | 1 + content/rest/about-the-rest-api/index.md | 19 ++++++ .../authenticating-to-the-rest-api.md | 1 + ...for-fine-grained-personal-access-tokens.md | 4 +- ...r-github-app-installation-access-tokens.md | 1 + ...lable-for-github-app-user-access-tokens.md | 4 +- .../{overview => authentication}/index.md | 20 +----- .../keeping-your-api-credentials-secure.md | 4 +- ...for-fine-grained-personal-access-tokens.md | 4 +- .../permissions-required-for-github-apps.md | 1 + content/rest/guides/index.md | 3 - content/rest/index.md | 32 +++++---- .../best-practices-for-using-the-rest-api.md | 1 + .../getting-started-with-the-rest-api.md | 4 +- .../github-event-types.md | 1 + content/rest/using-the-rest-api/index.md | 22 ++++++ .../issue-event-types.md | 1 + .../libraries-for-the-rest-api.md | 1 + .../media-types.md | 1 + .../rate-limits-for-the-rest-api.md | 2 + .../resources-in-the-rest-api.md | 1 + .../troubleshooting-the-rest-api.md | 1 + .../using-pagination-in-the-rest-api.md | 1 + .../tax-information-for-github-sponsors.md | 12 ++-- src/code-scanning/README.md | 64 ++++++++++++++++++ ...aring-githubs-rest-api-and-graphql-api.md} | 0 .../{overview => about-the-rest-api}/index.md | 2 +- src/fixtures/fixtures/content/rest/index.md | 6 +- src/fixtures/fixtures/rest-redirects.json | 8 +-- src/fixtures/tests/playwright-a11y.spec.ts | 2 +- src/github-apps/lib/config.json | 12 ++-- .../[...restPage].tsx | 0 .../index.tsx | 0 .../rest/authentication/[...restPage].tsx | 1 + ...or-fine-grained-personal-access-tokens.tsx | 0 ...-github-app-installation-access-tokens.tsx | 0 ...able-for-github-app-user-access-tokens.tsx | 0 .../[versionId]/rest/authentication/index.tsx | 1 + ...or-fine-grained-personal-access-tokens.tsx | 0 .../permissions-required-for-github-apps.tsx | 0 .../rest/using-the-rest-api/[...restPage].tsx | 1 + .../rest/using-the-rest-api/index.tsx | 1 + .../lib/static/redirect-exceptions.txt | 2 +- src/rest/lib/config.js | 10 ++- src/rest/lib/config.json | 6 +- ...paring-githubs-rest-api-and-graphql-api.md | 13 ++++ .../content/rest/about-the-rest-api/index.md | 12 ++++ 60 files changed, 259 insertions(+), 91 deletions(-) rename content/rest/{overview => about-the-rest-api}/about-the-openapi-description-for-the-rest-api.md (97%) rename content/rest/{overview => about-the-rest-api}/api-versions.md (98%) rename content/rest/{overview => about-the-rest-api}/breaking-changes.md (96%) rename content/rest/{overview => about-the-rest-api}/comparing-githubs-rest-api-and-graphql-api.md (98%) create mode 100644 content/rest/about-the-rest-api/index.md rename content/rest/{overview => authentication}/authenticating-to-the-rest-api.md (99%) rename content/rest/{overview => authentication}/endpoints-available-for-fine-grained-personal-access-tokens.md (68%) rename content/rest/{overview => authentication}/endpoints-available-for-github-app-installation-access-tokens.md (91%) rename content/rest/{overview => authentication}/endpoints-available-for-github-app-user-access-tokens.md (76%) rename content/rest/{overview => authentication}/index.md (50%) rename content/rest/{overview => authentication}/keeping-your-api-credentials-secure.md (97%) rename content/rest/{overview => authentication}/permissions-required-for-fine-grained-personal-access-tokens.md (89%) rename content/rest/{overview => authentication}/permissions-required-for-github-apps.md (96%) rename content/rest/{guides => using-the-rest-api}/best-practices-for-using-the-rest-api.md (99%) rename content/rest/{guides => using-the-rest-api}/getting-started-with-the-rest-api.md (99%) rename content/rest/{overview => using-the-rest-api}/github-event-types.md (99%) create mode 100644 content/rest/using-the-rest-api/index.md rename content/rest/{overview => using-the-rest-api}/issue-event-types.md (99%) rename content/rest/{overview => using-the-rest-api}/libraries-for-the-rest-api.md (99%) rename content/rest/{overview => using-the-rest-api}/media-types.md (99%) rename content/rest/{overview => using-the-rest-api}/rate-limits-for-the-rest-api.md (99%) rename content/rest/{overview => using-the-rest-api}/resources-in-the-rest-api.md (99%) rename content/rest/{overview => using-the-rest-api}/troubleshooting-the-rest-api.md (99%) rename content/rest/{guides => using-the-rest-api}/using-pagination-in-the-rest-api.md (99%) create mode 100644 src/code-scanning/README.md rename src/fixtures/fixtures/content/rest/{overview/about-githubs-apis.md => about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md} (100%) rename src/fixtures/fixtures/content/rest/{overview => about-the-rest-api}/index.md (84%) rename src/pages/[versionId]/rest/{overview => about-the-rest-api}/[...restPage].tsx (100%) rename src/pages/[versionId]/rest/{overview => about-the-rest-api}/index.tsx (100%) create mode 100644 src/pages/[versionId]/rest/authentication/[...restPage].tsx rename src/pages/[versionId]/rest/{overview => authentication}/endpoints-available-for-fine-grained-personal-access-tokens.tsx (100%) rename src/pages/[versionId]/rest/{overview => authentication}/endpoints-available-for-github-app-installation-access-tokens.tsx (100%) rename src/pages/[versionId]/rest/{overview => authentication}/endpoints-available-for-github-app-user-access-tokens.tsx (100%) create mode 100644 src/pages/[versionId]/rest/authentication/index.tsx rename src/pages/[versionId]/rest/{overview => authentication}/permissions-required-for-fine-grained-personal-access-tokens.tsx (100%) rename src/pages/[versionId]/rest/{overview => authentication}/permissions-required-for-github-apps.tsx (100%) create mode 100644 src/pages/[versionId]/rest/using-the-rest-api/[...restPage].tsx create mode 100644 src/pages/[versionId]/rest/using-the-rest-api/index.tsx create mode 100644 tests/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md create mode 100644 tests/fixtures/content/rest/about-the-rest-api/index.md diff --git a/assets/images/help/writing/alerts-rendered.png b/assets/images/help/writing/alerts-rendered.png index 9f2d50f797b29f7709c260755e3d1eda3c57b736..012a081f562f7e569073e37bde102e0355a93b82 100644 GIT binary patch literal 50447 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 literal 64537 zcmeFZc~p|?`!|YOnGIUI!OAIjyG%_@P0bO@-K<$@Iii)3nFBe82-vW*T{%=L<%A7t zW{NWjDoswHVwxf%Vku6bs0auMoX5WJ?|siY>-=-hU*~t$>sl_J_3+&Hb6?ke&DZ_m z-*abAY+Sc%9S8*4c!eRK2(*67%D)mQJ9h^N zqy!CdaXI&QNc63+EAZXtEJ2{#xv}YuXTF}>+U#C>q1*1Ex{kKRzb-#|*2P8MFy4CX zpy%pRk8G4$c;a7%7b3TK87}F0fA+am@zC>Dclh(PN#zN)&Q&~@4zrC&fK^Q~aOV0Orf4%D6>jUfLG9rinT`=ta(8rA!w~6lV zkLfbS#N{h{pk@e^^AWJu;pCF`9$YD3i8_hx4|*2*1^3HaK`x<#67s z=Y5R9+pBi$0!2)_T6vzBekB}_`Xp65_(J&sZ-4cb@h|%E2=st5}0T65msQAMw0B$YuVE55IWDU|QmJvtgH&h0z;{b>`1AWN#t>Rd~(~ zZT&k~cjYDs@f4Jx98&KeS6TT&SB__8>%a1w*RLb=h-gH3 z(6n3#%#-hOl~gS^s+CgG;~$kD&Q_jur6Tz8S-#dvhgMcu0W9j*m zJy+o4HTT6mb)< zz5WWW4Zhs(D7$I&iaArrN7N-Mx&nvo5iO^@;!(USX0m<)b(&Zcvd{$T9oc z<(91^FV$`zoI><62QOfN`?L=Ll#_1LXZ*(LR)AoH*ek{OI)caMC~J^5l-tAX_>Xog zvwX5vE5MgLZpF0Lwi<@FWvQ&4)IJJ&2Qnq3s(N}gIamfNmvQpoAt$Ph{A7P3^1ipc?8-v<=?a%0ccVCTa!}7lYS*c+~(75E}0-<+RF%W zO0#Hz5frknV06CKzjBJDp#H>!PX)qHg7OOR>eZB6wh>G1W;TKpW*<#pac@)pd}dCa zwoTy2u;{>EwKl~hJO?d3#{1avKi}l|Yau*1uSnkM6s{CQsA}7NKUSn&*aVVziH1mp zoD>b@d}|6NQY=C>K^gu-2M><`dldA(pXxKbPfbK&yBhzNv&*r7%3)yd2&)$()C)%W zn4vl-oZ|FMsyvy7oH59e=O0;1Y~V6!5t3yJD|#l2x?y8MZ_06Ty{Z%5-V^nu(hK;e zkhVN@@iz}Htw>61)AT|iapZRU8Gk07IJu|ZEJ;qRj_`gT`nb2L zrk?WT{+HTUN{je%=HP2PPQP^@Bq?!mIR~-n&inLjPA z>fWE8s1&8~L+`9;^af!g2)$RT_`Z@*q$?vV%p365}YIj6mweH3&uUK=tUv9D+{A?Qjb$gbzn z?UNuKwG_SBZ(#Lx*ezj!@UMA!B;=S>ghzo%7f+v=_{tJ8KmQa>1va(!{pL>HDUf3o zl0}L>vo`OJ8YX089yLov-So>u2f~O4j*lM5b53~o23%pg79|R1kaBh}nM@2F<_*6N zK^L*udsy+ztnD4)d^;%z-=S_h{b(4J@H2OPM99X^y?;n>?oA1Cqh+Kh=Xgq0&bOBF8yw1 zEx8uZ?^&k9P%q-bN zj}3=^i*JRx^5nmT?1dGd>A5M7I&QCewKRC;`H>O*q<}Xug7nMc5(6&d$FUP~dqvz( z2#pHjq0qWbp!zza`$X&?;!Eflq3RR0=%Nwpfb`teE#xut_p%cqgY8XMZIq0L{Ov87}ebulC2? zzd@1mFE;=Bm0Y3{;nq)7A}^Thc2WiJ0&cer!1`mEqh3#wUp^M+Nt#G3OU9LssNNrOueqy7 zd=uv~AnHPC$Jrn4S8#yY8}q=5xh==`xi@4*j;4SIVxCIqRC!1*3)d(lxS`RX*9TSw zM+`$UdmFN=Zri<>A}NMd_OaZ9)_8hBYGK0Hn1(Q?M){ZxZ^?XVScJaZD?u)E-CZRJ zutH45ucD&G-wdeg_RG!uOW(uXQ%joXGlR-HJ+Sf)H|cI1QRfNc3YU*KfL$6Zw#fo3 zQce%uxrSfUP4Tx;uj>wCLUDmZu{3V88B&}WIELmcKASgxMwvLJQ%vp8x3b*&AqL5f ze}f#K8LCXSg_e^8Se3!@V`#vMlRAdJXoA*?=DrHlzOl94?JV0AC&Nt)AD&o!iQ>ZW@shecboaX#@nXd9pSJZ<40 zN{c4}cP*OkL~zMdaXM{Ei-bmT20r`)S~vAzd93Pw)h}_IoTGPN`W0uXRMY(?tzuK_ zRz#(GDfhLy@)LKEBQQgPQ88n0k}mZr&hC1UOauM>48-lkzN7$@{n~=_|N5Ez-;R4$ zqB2=Z;xp;Z7=JtLiuUI5&lo5s&@*@8Y?I8d8i{jX`RDIw<|!tu(wiHyCC9^va28U; ztX|&~`7`k^M#D7LRCAW3kcVG9i(Y)A2RlGXS03Bu6<}pQ^Q8KED|SgjXRySxVo(aZ zAVrKAk8Ll+bj~*NnoL+Qql)V~RXW4sS&xab1ha<8Ut&U?SO^YqQltc>Nhe~ZOtchh z-M^=|(?;=DASFrqaN`tFxu_vt7>@(PQCxrY*Nu&gD)%O=ESE*K=%4*KTC7FEu>9JD zl+X(X%S^5DR@Z>%rxjgpvkm;N6nF+wqnI}lCFA>rFEFOobKGEX4mZ{y_mFfX`D~72 zJpHp_6?QwR@^;=7V4_~?VGJ67rto9i#6R#|fIZ`IKcppwp|tb(|GIakef3SnYOlBL z=hv^8jA}nvW9*!~O~Pd<8tDd3f+_mH26+xFmL`(_tE*{Uw5w^BP3w=V(s6IUWhuT% zFyqE*Z}MF>A<+yNGo=%GU<8YWz7;n#Z_uUMa+388ESXP3knCH`57k7~bK`b!mLs0s zxmt|^mdpq?AWdb^F-^;vU7O3IQvwc5=%*o-%w@r<^6JqoR8(K@l-F{)uqPV&yz zCWe<2BNWRo+8a%Jee`6vdGcNFaokMl#<>JYJ6jGlO9W!FX~KtSxMzxYbeba~b7e&ST zN6*yqr6H+}8P7?G&RWLcC9(WCeZq$Esx%+J8jn((0u=EjJM~+dJ4W`z~Zof5jb(=-h>U;e{#D*Xs;M&i7vg3vV;qx zH9~WPkJq~Gjp_pt!gO9x>*#piG~Gp4GS>nyx#K^@O-a+t;wD&cJbB8{ z-M(gi4Rev6aGEnxbXsAVFXs01#y(CB;$4hb?B$z=LkHwpr%@3<(h?W-%cQl2bEouU z+9V`}ir(M?lY;wLB@k`rV4J##W49rRPOXva!Uc&JY{UH~hHmug`SkLN57zH@eOr~K zWSQ-RY3h&|k?Q9$6km740jrA}$o#@kBb6Ujdr{+zi%;8y)4t_lZ^}0zo&?=^c(LxQ z_e4Bo^J&&#I0+jXzU~Et)?IG6nsbq7sgc<2Vh7F%x_wg9*6#3R0%(3RPVlyP&*p57f#RF6Gdyi$i0Iyg1Fxb>H8-}N!0~UJf2O)ndV9`Ael5rezN1HYt7f^e z?oLkihH$~SIj6!SGqT9Y-rXl|ipYbWc5F<%QNcy-n@IE!?{6Lb<$bau2lTNlOo2B; zvqyp)rG+6*^+HqKaf8V&2S(i$#>ib{?1I07jMT+BO!t+Mq8H6uh1U7)RsAZx7!TnQ zA=Mj}eFx+Va)fPkc)O6fy_mA98=^VflrykHDQ4X+i2m2B?_npAN-Xg>&6Ou>_U~F~Y_@hU9dG*LLRUrtMHvC|+Z*`@ zK0bOw)}1qqjH8!4Dl+e$r*)Fl%}DXGjiG7QL_=1BlTi@%}yZuX&_rK8VP*xMdxCc;5NM05;fAlv9W?3}#M(idVpnw=QfnL!85R>VY45LG@jYE<_4dX(l;miGDWfqM z(?hs5=~%}Z1h*u%5GLHWIpd@+cJ;<}eb;K8o;EAZ3eEw*a=WTw%>4<}FtBaaIgr-yMamlORt^v>e5LY)` zU4%_iSLcDxE|7Hc!>allMaLrjnk&tc0$kxn=#ENU4mk3x@jwD9R>}P5O%yS#Gc!B~ z?dKZ%s$ShQAad+GfBQ|twsAb?iyNynl>ro5*RO zM)ZeF4)zmLA9um(;-;!$HE|E}1Tt*jwJBqV49e0A7x`5u5{C5aom<)6?0#GRN%nq7 z@7Uq@XvDn2W7FyNr43i(7tL|Z3;JE6P(kP`I__m_vO73hF5XJuMAy{Z{xcAqNv*6~ z5^;+cYCr2M#V{p%7`roP@7KV81>kGQFdLnFLE0`ZAF6a(>_~ekelXkzFWo4plP#Jv zT9jyF#|k_UO#kJifaDuc@+X4UBu@!nsYgZSj&I{>mkJoWY*TaAHE1l|0}n3NFDpF% zy71I(^}FG-Zm)cLBWt~jhW13k+K^!#P`%gO3DoBFqHSjbzIT*9jctBgQhUkc^0UxW zS%$c8<4dKyNVO|DV|+K0nW_WuTQBjJ(PGi!@?Wu-8s@wp8%hRsrvNpQhAwwa1X>y7>R^+ zHNGpM{96*KM$(xAn>jRdanY5mG{#6|v$q|Hh*l{zUxrXE} zk4y+qgyS31>^G`r6VCXsot{S>-?amp)5m!0aH(1^%9L%F7aG^7M=n20NEP@8dNg%d z)eW1nCp=QygR4l>$ysi#e89XziYT_2g#cktV*s3w*==gCkj@F;i}7<2}Fp|&XN8{kBWydIOw9md^5A17V@0J6(WA*B19 zVV9RcIq4w6l;PA&{7~i8QRenF8+7g;yb{Jrar);8fl3DA_MsoylEU}vYt@*Nb%zZ* zYDuW;#F1khq}ah@7t?HEn!o1XhbbpE8q|WmsFY;{X-Mr4s%a^0cKOD?4{koc@Np zMXambl8`CNFXH3W3$|SDn@BXOXWN+sv>sq@n_jq0L1Sc0Gks_mqOthq3hP>=pMJ8QB-ZfTt>XN<9b4KODJ7I7zi10Lw6A)HUAmM@GGSZ2Uoeq z(r(*c&l%2oPqAuuBvTJDMI1nSinw^Yw$6<1rb~G5a@>*9Ro!lY334#Ri=O8%FP4ek z-PB^=aqe}YANsP{c~6p)v&!VmS<0Gj_#Zx`gyDU%Ia4j?i9Z=d4d-kcFVyCN?A$#l zk0T;H!>c-{LDgnSU8@OhYyO@>TmTv~1qx}dtgtA0O@z~G&3#=X`8$M;Q5eXSP**Vmb6HM*CZur1i(nfpSRS$9BuEw{{} zsy{G%+>~5bO@quT4HUSSmg$#W&NkW;8_I}X)2&uZ7Qoi~RW))dP&!I6!!LZa_du9` zW-w|>wuO0s^5*LO6+c)>HaB z>yv9XE@T`mPuyQ|6Tcpi8IH{sg5<7Sdgat-@9&wPz4<%&`Curhu{`MJfuQ_1Y{w6V zOCPA;7e|LKJ!oIXh3!nV7JaTFCKp9GkfUOCztm)wa*|+~pBKnMyC?jSCZ^JnaE23G z>!y#$?uJ&iy8XqS!Q?9bRw$;~@lfo$g`wQE!k+UQe&bHhM=Q!gF;(kv<%j^f8AA7F zybi~0;!7fN2qi5b{QYIRobvlI6{^st{PUny6vd=bONIj{REgh zvgguwpLeQBrzkkXv{yjoWhS5HlA+R24qgH=`)9r#wRMj1z#Mn^`lV*= z0WfCG7RYq@?FSo1Y?~d44mL#HMAO-JHKU#$^NB0)GOZw|AQr!PT>&i?2&+4y4>8+g zV!xh`Cp}I6RakSEdvmkTd*aIy>68h&xb*2s-=a7H)$#8yUCknX!P|^-7jpTV!Mk6g z4rCWa(Y#{^O2~&f`|Z;paqW(a&(4@JV!}^})RD0S=&U6~riH0Lru(kOu(j=moi#bA zu{3R_YPtJjgduC)JKlOg!NXza``Hzejr9&sbR?G#Oe;C8?p|AZiGQ@o={8pFdgyd~V+eJ=I^=1+NVyehv_m zhtmP$Y7KE3`*~^|C&cz5Dc=?fLQ+id>ZT)yw)t~t8(WcUja_&8Af61j>#x$dC<4FW+&0RB zudYS8#hl!0s&RmjQRY2;$Dfkr4blI6lwM_S@;>g*q;g|BBn?Yo_n%$e4VM~eSpDHY z2B^yW2G&Nk0*d*c7PYnK{P#7SiR!F~9| zY3G=iqc@*G^^8nLDPG{5HMmndhJ}MSApdggQ53I24v63ou;quKU8Soo3j(MwXVdjI zLGg#BGRvf{(q=Vlf>301&qgE=uws~yxYMLmk2T#8ljc7)&@F4%6I1E>w0ZrB=B*;G zdDa!cUn8klqyPBpO6vFWneXu^b=$LyB7&8`f<3)(rP)X+2AM)FNPW7UAjmlie_U3g zRkE-v&w0f&pUsSH`K^s5#S*uFOL&$ZKmyvD0Dlq}+i3+D3tC(G?CY|OkGWp3n-^UdoQa%wvn0I&c&sV%AL|~!jCq&uAc;4&*Mi&=z7ijjdgBp@P=fwmhhSHE1Rnh8r98QiZLyetK3`E*rhB7-~p%cI9-1{l%7@rCf*W^umy7MCl1oV?MCO4=npsh}MSE0!<)7+3t+n z>Wo=ktIyPa3mphpTR_RV6^QkDdZ~qIn-tI{m(5KDcS+5|cg@55yiUaj0bKK-StYd| z^?en~JQ*Ji${VeY$b2UMyl`&+5g!R#^34G3h%Ur)pFsiXoc(ILTH-VX!_D03|NMtD zMt|Vfwt-w6{MbRp?y}yV6G-~Hc>L<_spu-)>r1BAY+GuXCFVhth-eYF{H*1a$p`UT%Xz`59EOCXiw}aZcbC;^vmRA zu_(`-Zv9v>43yYZ{!B8(&!@^eb>j|Ba;J3vkmFb@Xg0+4LG z8v#$C>7!-1vtB4OM(j&yNo#|5JP1~PbjRZA94{_~z+WrGWok}r|yF0~! z#LKt-LD;Bv*UF?Me94^EwTkzR0AG={0s&$>lojm8smM{8tXh47_30e+a|9V=r-Z6^ zMarbd=*+*F28_>}oP(3{qnt{X>je7V0jz!5pxad%Q_Jd_h#|I3D>UHqCwg z2WUB1aM=#<^pq^;sk^UcGRLa?5B-&Nw(y`*Fytq!R69#VmI!7Hxh;Tjgx2E@7M%Y@_D)MBCOFHD+#9!aki5%=7;}yZ7N6KGS1y*%(TH z^()E0vvxoRc;slE$44EDPs|l1*^HB}@p)KdF|+P2paT%6zkzJgr0-3a22i(J2g?Kz zoRTGLtjW%Y*;Re_VB8oGvv#GV(0k!6C%b=p0O0;C4-Um;AR7hSyea%>z%f;WgGG(4;IpSv|LwrZQRAMDOkU)a`tDL4pdT*HgSj+^A2~ zRhkf~sm9)(KY*5Bo&~EM`pybS=Nl#r(sk|H;I;)40uT)fMc{8+CvNy2$It|Xi!pvL z#XEr>N|7Ba0Pqb6h)>#wG}=ObI$n9ZiVP~n3u5gr>BJQSWh&Kfh6!=ZDF9`raeh^| zy{0pb{k1&Wa_4C{deeW5jTZn*t#1l-Q$$IfxgB? z|D5p9^8)7DSrFFNIhuiQ3L1WG>ydA#VHmT>d?Gvzg5X=)cbkUezF-^4txR+jc^m-RDN;W-m@E>}!mEq?zM<42M>q?Mf{#nemsn^BB>6=e< zrQLHama$NJUbf{ezCx#|tI&CS_~F~IGsf5)n7q9R`3&)EE8yUe9Z2ZO8$&g&K{_W~ zX6M=SSi>?{_SnT?bK~PKPsSY^7uu%85O#Uf>4LFnhjlz zF_BIiryfTes7!h$5K~(((62hQy7-~9b~b!Cpz$FpTnDgBaUOierkR0$c;?29QD{S6 zWl(2u2LeUF(ia~S=B@Rs6v06WTo&9@fFcCUYLNP5tV_+BJ9mjy$ra@A< zDz-CWe6VqU@K~-py)^OUfL9l}9y5RZ!G@b_l_&2VN;(_*uxhuD=@};VmRJ#w05LsZ z1o(g8czvK`T>=b6PC!sd!nP9KQ?~ATp;P=1A8r@weNoX*N)2|DigU7zRr-Ep@*F(( z<`QdA6!Gx_6jmVU`yXCBRvMvSthK(7x7x>Rv!vl-CeRO zL+a#l^kLPu0HbVypFz0jnR)6PebLfFHa$+(4x?=woLSTDg42T9{u#9WN9%VG5OeX|`vdqsL1t6r!#{4A)m@aw zpG0Z_j_V4@QR6Ji<0MS$NBM_`g;w7HbK&vX)NH}c!?e8KIm-qE)WxC>jYlD_`%rRX zeck&s6`uJ$c%Oh*9oFv@PH$OFfH_bAolC~Tt;^r1_1!0PfR2^db0DS*2GclC`3Bo6 zH{864pXIFgnO2_pwJ|BIy6Whlrt=A-cY=nfvXe?>A#XVc;yvEswUzhgb9MsQ?G_g?1d}j2)%r_F>p6%LA^?LX=#(>)=~c(Udt}%3RzYq(spTRqK%U61zjmD3YfzRq?fkI>HeLw? ziF$Z9QB&AN9g-EJr_Db+O>8|u_pNS{AIb|20>l!hwX^MgNH_UFbgzqSCL?Eh&S*3~ z%;+lX^^sS36-B6du;uH=Tl*{G8cjaoCsAn%y|nL4P3Z)Kt3Flkw-fpS8{LG-z*xn zwjh3AQtGvJ5T8>;F?&5DL`57Ax{hbj52Q2TLnHFM0t_9;2Wa7jhYjXVo*Am~-*1+H z02F!alU{`vWTYcuyrt&j6p%|qy#I!0?&cf0dc3MFd0ojpIZJd*O63Jahx5KZ)&D0Q z*ya<=*Y88fDGjCFRq2=J-Sp2DRlPn8#1TtboGByeN6jYFH5Z0HI*K zes3(P)9KWiPJPC1+MT+Qn1|*(I-GK~t^Vc0QY>u-1}Oru8tvcg ztl?NRZJNB$IP>C{c4uSda)9oWjpsGi(X47W4&pt4EahpGctQ9zeXb1Fkq2a%v6z*l z30KNp0Q&INApt(aQ31-6f;HVwZSE%ro zhfC)2}w{KE)X& zn3Zq+NI8m#_yl-RnQyR{bKjvG=iU}PeH0?Q-!OHtWjP@Kg-z{JXWg0gm^#+ZKlwbu zkxbm%2|OX=)per@x1OF`ZM(OwSG#io6ymFBwx|_o5YC}&kaNPFgf6z2VfD$2&V%_~ zv6}GmpwuTiQJ#<5P-%Cj@y3f7K_9v(B5@_S;%Vb=6+vzG<)-^PjnJ z>H6TXvX7_fmPfV!6o&l7&_2;3wSi-26lq-Q)1uwR6V0!m*(?qo9*^B4J^a(h<6Q>( zR4B12RM8#fAv{y>Ko4}29hs013cKxSg%>4Apul|5X=KVijhz0<_?A?%nl-R6@~-Uh z3vDyH!mZ3-lf}`>hXw&pf4mZ&LaxQJyE15*H-Tw&NfgV;Dm(jObBJqs660TMyls z4Qi{1vz9@$EAg+NSYD#TAyACO9DvG=ha9I+1w#t)$Ji7{yG&Cu1whoDMs74CKSI1>GmZ$ayBP7pFr5Y~~W#tlD1yJq~q(jwh<2GON| zee5t^sE>=?i27*ilm8(;%Yc)A`pf&)3GdeL7Bq!FLZZ91OiBO_htQ*DhNq+#vg|cl zqp%%K?ea!kv38B-Sa$kME@vct)Cx<9gv)8BFL)S<6_0tFdbU*2T>p~u^Zl!d-vw&y z=s|wF0BK)F1?rfY$m_+FbQOVir*+%cc5P#ytVLGmQrzn&(FK{19bU6r9)GyjW>vr8 z7yl9@wEoscwx#-63E-T{E~QY}EkABL8oCHi7dKPIo(11f-I|Dpde7Nab%P%};Xj^!k6AkL`EA!GGi> zTelP^oy+zOKpJ91X297#F$nqCtG1_SxBF|(kw*mYD@61TUJ3WWdm(;o=Nh~2Nx ze`93Z|3*CiU+|q*X{y~C_P;*o0RUj&kN6z4YvnWP)Y^jIP=Ocs|2y8GO`eD!I%Lle z4ekt>zvI=BFCKTX>DT`cr0_RlAW7v8C}E>~3Zpn=Kl_0u_z!AP=Qr(*t{}(CGdN;Q zTwAH0?cu}#SMk}V^($XhcmYtx3{ZW*@YiAZ0Jj&Dc-_NGOUzsLlV3uka1XjkO$u6d zn*UrS{U^^UQCNsxuCn~iarL7B7U3^XQ$HsK{d?Mut@|b{#bNY663m3_k=&iF5rgh} zPP{|Gzrj1&*H(3JvHishtgL+E?jSeIn(np5cE)dKQ9=KBBrKeA&vsmXm>hv>T8+U|&>jSfm5!&!>%enW{@(&ZQe{rf9kZt6>ygeWKx)VsVxSMt25X zkC!h@bosB08BhTzI6N8}9C3hU$x56g^KBR1r~@zD$LqKBZ*!)3NWP=SjP(YW@R(f5 z)nL<=FL$T1;B?#c;nUVcrUez)~YU$9jR|jf=xsV=l1AUO;xv|$5#EXA!?b( zBYF$dC%T%XZ$cADb8_Dm7~3qg4@S#MquE1X#tqHnJt;^ZG&?GP*cyo}l6?7p9Q z-C=%-x0@A_ z!WB&6CsW{53GEF5 zqW&USKy)N$IUsTRu?Y zFQ?Lv77Dyv$0FXX81=L9e@Rs6>(w#wAlW00hA04gh6v-;*-C1>>_dNVPTD5t-l=XI zM`W*1-V$%Bz1T=YjxD*d>?dBkM@SGl&U%7ZZ?21m<9RDuGBB`9k{+aMwPGOY`oEW) zytaV8*-a^CijX6uI-!2jtIZOnXR7svCp4gAmV1aOhc zH#pUM{u2<~8rkBEd%3-vv^Qzx2PTqKu%K)m{r}T-q*wr$;>4ck)H zTm4K|;PTZtg-pcQ0s52=z(4M3!InRBLjy^dg+F_#xp@n9@m)?Rp}}>Ge*&E=w4WW= zLct#8>4CZDtI=Y`au+vH#$n|l1r2EKItugFZvSX z==k%LdtP!ckq)0gBYQ0r;?ewD=kor-A(?7g9J!6z?e9G-cS>fIbngZLD1~;MvM@;O zs?Ii^%Br1g9&V1n$QobWlC+unhPz2?P zjP&g%LtbX^_bC|te})(cr4d8w_D4XS0eh1k++%FUCH569FnHh*bZ5S7=sl~R@Qt-G-cH7>!)q{%}5_HSydI8=wRR~lGRFVWQSntIvf zxL}?om4S0fMWTCp%X0;Gr&`vgHZ2w6I&>FDlDh&+m)KsGHq6&s}ay>@_wX_KT6ge%GqXO>C?Ba46ireBu-B#WBFGWswHThjJ z{7x`^F>eJil|oukNd#?5q80IC1<=+pyqJaW3W)!5su}>3)xb4ZxvaSo>P!7NJ{TIz zLn>6S8|23>FAbg<+tw*a`T+Iiki*9l9kY$#Ey>1PV;CAu7z*E_L9 zWbvECP7(m1;($G20_nS^Siu%{fH6U+ml4M=v{Rz4L#o5UiISJqNNM?SP2x(U*e0+a zy)-l~ujMN=IZvU1*GaS$2o`@vumZ+Gp|0D%1@rV(G~8l`pH%9!_)}**i=xXqoxneN z!w2pE7m8?@2En79sLuhTBF?b!k@Uy6#lD?MY!i0XE-q~e1lzO2dAYC&!!@tT@VJ#C z4NqTO=AJm+%b(xSGB=tNakCNsBP#!ZQ%8`FjxCD4%d1v~%}M)#uHqla}arLru$mfMzx0%-I0-_8c~7Jo!t_fP!| zay9$(7}BGbnt?+ z$@&!NTARO(Y}le4qbVq>=Oy~fm#V^0+rnSjU!tGu-}_Tn{65GUS-jzphk01Ec$-(3 zu6WYLcOu91#DzPv7jVH}Fh!_ZOUK!H_iR-P#3Bv&U4uH;DeJp7$oxAa)cxDmR#ESxO< z*ntW>>HXYh-{5$Tz|G4DlG#y7&C&lkyV7t;C01Og;L zKv8g{iS&+25klw$6Pkz=2?QiS=!g&k2|a`m>Rxf)_uJol?BDyxb8LQj+=j63RjzfF z^E|I2mPB!xhWo6xjL-*QV@Q&Oh%QZPBm3{n~Qo30pq-R+3i`)X0K6T0N_Z|jG9ZK$QUC*QfH zS4Y#JZP-r|GE#M-eEgqRw-q{HA;V?!%MNUiGVKPn^~(BRvexdl;SRKeVabk=%Fyf-3bs6XRBaO z5h6rvP3~EToaAk3ZfDXCz^sXdbX7DEQbVk3W6uV`QuuN~$~1?zHN5emFo`+6{#IY}R^bm>kemk5Lm`YKy! zGQ6US_*HrQ?M-bsB8qSJqm&IHqlX^FiFmI?MdhZ5Ik|DAci4 zN2a_p1bPIGfH%wsA{mli8D7*a6$Pc5=duUqkRsXOW~Yj`0N1L&z-l^UP%Ww4e6K2V z*owI)6&Fda-vE4WpyJc^y|CzA`lOsr!ms3S?e+e9zamBZ6aT0-Qu8;=+5ap=B_xqu z2tAa2Ijjd>-`c6EQ0g`QN2bH}ico{!p5=`r7cgQsAE{;FD~0Lx^HrVxr+l@n_`WiN zKsBI?inOtp+TVF%`Z&|-0D5Z^IdpE%50%xUPHmzeFO%%DyBJmqeN4^lkfIpNSo@Zi z7Ec_B3;k^04Lx@;tYd3n`}|bD2~RH@)zIZ)95i)fGSe#x8LG(lLupXkW7JvA|77~? zR^P^b-&KZO2efVMEPq+bgka*k?|pJKZHHBBxqyzox4rbZemF9 z`k#-Z*)#j(QRI_JLio@^!j`owvg3_x8f{t`<_lZzj-s|d8ZXAVcvBY_3KhS1sFMZa zPNvE&p(W9r%pCW+o+vOuR)VK`_D2p&bxRx`sXXjte^~Mbtw39y#Pj1dc`8NtdAVFz zX?Umfb(vk_z~Pnk$>G{;$xZSfwbhxD2e*R@EwN__SXbJ%_x|3pM{%a&VQG!ubPLxK ztZo|)AAu8oV6{&ZUfmgWD@4eAv}NrCn2Du;+uO_VLb)e=_;+1aO=<~Q&Fi;*?%P{_ z7;46+qP<=G1Er;=;P|DfhwPj8VqX+(0JC`l#XryQFwCWn`8(q?VQteR=+xCgJTTR!2;-cs ztu%S-(Lf_Lzm_3*_-iIm*=y(vNf~v9PGg5BQ{i zhH1Y9a2Cz2YXjn)Zxp1HMs>qO zJF7biFYii*^Eh&)8^J<+3M(5@^&$5cBe?J$xuqozxZU&v#X!4eJjU=qkuv=89kC!d z*SO%JYK-p&0vd3ff-bUQVN0Q%gKy750>-tBi7ji(F1+N6GLdz$Bmf4k z&h{{?9W-?7ainCIt4iRPE>Lij8+V*Qo+5VMr-4*iZU9-C)$G9!kejY@Zm@`BigJOGY)N*Gm}b+7zZj=rV2O;=zL{giuFx1W7SLKBPml>-`tw$;FOdX;;S8vWdUX063; zS&U+j44?aN&Ho-v6o92~Oy8j(A2nc4*84BA&X!Sv<-?p))cs0$h)@TOv|AB}dIDu1>94YKjTN=oV$M?ztOophL3@X4WsYpcA) zzTW&O4zJ`PQk_V*VO@Yq**hB@P0=oT72+)sO7R2-2fD|5HI)k(Z=Mh)?~9ILWO~#*^>!*DpYi1R@gNxzSvc z>cP}H(#($3gpilt_WjUlHk|l@TX`2n-3>_*I0jg;FxI(D%W~d?J}Wmfv5p$BWpO=g zM@Xjtq6k<*IFG%B)Lv!i=v6ZOB^>zS^{CmQ<$Dtv3T=91Weh+|)_&XS-?gUlr9>Z% z{{+9))CX`#3)SQQzj?l_ zJ<4Z9yKQ5qg-QA&4|}J={78#2Ccf?0T+->F)!H4W9K7k&^Dqzk@BsW~B4%pjS@rW* z2&JlH<0A#*$2kt@g`{_YfLwX_-epF}y?98l_8%+vgmr6~`E@k)IALAtgS&VeNoah4 zF$c;%T4hYuKC@kKqx|>dQGSOq>T!a30U`MdoC{_*nw-Un8VzCkoec5z;2iv!Fbg0V zVK@s)qvL;78-tZJ(J6)z(ovBoFV?{Kugq%0X7O6)BDw;?FRL`|JEuds;Nu?T^{jf- zVEBlP0;QQ%xpwpJsFxG&WWmKS_n;LGORg--S(sz(+qQI5t^1SmX1m85L{H|r=uTEg zFC))6*KJFJJmROPp!o8pvUhk;=30*Y?}W#!n#yO1*C~!H0g&@XL11i zXzTcC-8gV6!Qmi>qh%Ea+GzmpY>!^-P=oGGRQCN$|kr3Wk#jJa9X02tXVyypF= zqsDE3o!I`V(v0Na;gd&?MwTxC7WXL+FQ~h-&I^$DRDI2xtAEdOJ^k~93KZr2`l zM5lxUly9x?kuURR{=b=7838C_maH=E_Wft=R-#NA8}~Ew7SR6Y_7upcSB4JO<3}Zu zrq=>=R*OuRfm-AOlf!nTI|(;tKbh56FSNB1+;8xj9FXGaoj+G=N*rE1)Z#eFiee}? zf30ZGx)MYVn$T!!pJ6f_w|)~n7iJQ0I)r=u+O^#ErNJX#*M~f9EvGr)|Wk*-gInVK8z(f7#`V$3t`Hkq!*^^Dq;-dy2?UBLtX!~1#rDgk9yRg(I(roX&4z6{+GVKZ>DTvUe^rBaAI@s z1|TEERhSlQh&bNKX&=k*yp#ec2iRgG>v;9=@M4PJ7TBs`i6n!NHDx!lwyHA9b;3Vn ztn1+jvzO^(@*WNN4Ye{ek*zkwbClJU_GQH6mw8HRR?Q(jvp?faZe`rIOnmxS2zUtr zcZ*6^H6_DJI|XnO*}=4-ir1kjdUsPs{Q%^;`a>oqP%_79-p3|oR4v3XTZgbre35v0 z{$8@%atP}T6zduuE+3ZdS9-}!-0I-m^S2ag|KT*!oU1y!B0rO;sPtXvubNd7_rsd? zp5mZox}QetwS#k-ZwCuXOl3fng9XrF{bCXBfdOyNwSGL@A)h-P@*z>>R)YFA+U~o= zI_C1hIfJ+@EHLhd^~Vy_-6ez0ltBk&pH)}Ca=R?_P4J7mDYxJ7HEnvXv8!P6wyu(* z^%8iXUb$p_N)j4sd`7o+;JN$gl7QCEijm0GtRSGas!{+|5A%cwz~rck_+N8-R2d5u zyU4e3uS|VKCF3H42lE(@uh9zlYn=GPPQ)roLeI-7h7rvq9EZjWGy}R%>#7_!n>VkB z^T31QLl9U4DT2=qH7E3K3Xo5suFD|yb~Yunl?G4vt6d6p{~%g8Z~kOtnOaHu=E?=z zT}t%}b~=;)q%~f@EHglK>7lxS_WDY_$uHaHiyc0F6>4<jlNm zp4;vE#&H*uo4q6YN8O;r7e`zul{G*zp}DeQFs#%ws$jPWX$G+h55@r{7UOo;4r@`B zfsq(EaBSatLWQc_S!+Y4NAq3P(&PQItwn|4Z`<$j^j4Kb%BJ|9h8^x5=)1)$ke+wg zi5P--q;b85LX+lR|1dpNz%6;1B~^%(H7ZEW4A>i+B!xYyj%7I5jh}o8pUk2#-GoLZodEIuntQtX z+yG?wC|@q)xpj7Vs=44V9JO5hbzERs#1~wuF+E0|Y#TIQPc%6Zrc^}tmYjMxT3Fdb9a{?Qx;<{=NyJ0R|AWVUaNx)Qcmf56)~JQDrk+!fdMkH zuB`)CBOUS@CFum;`A0%!a8vZFnIA=dFhoCPl8Mv)F!+v$ybSGEKHM9py){%%|7bg! z^PDg5V1KN-2 zRi{hWnFS7yK-hzNeH!zAC!p`@0T5o<9he`=JM9|l8SNvUm4O*MYvr||kat0!Ia@S; zqzE~cE!e}3#>bkZ)5Z&!aQIm8O~{0WoUR0*X)dVf-GU==Zw;beoTT~mR#jx^WGh9 zkvv|c&Aj4Lr$1qpWw|ka=m&h;#dT%_@vprGiv)CH#Hwhh9Rf~@hmobnywy>2a}fXA9ZUYZ`%9FZ{Lk`!#0p zYYG9CB_Zx3ThzF>D>bWg!wRF5iRf-j^!T<8vj?bh$fjkxac?$7wx=P178jtDg^xW@ z6-Q%%T z+1P-IjCh*V{n{t5<4Avx7mxE7_1}yi_23dgG)RVJ`G-P)@%Q|lHM;-lA41?>t=w6t z5GYmG1RIzcGh7bLjeRU|98+xXZr9#hu92z2nsaF_BIkV6Qq;p@`;TY)$qMsH#cCG# zp9X{G)uLTXqIq|9mdOQ*I0h;1KDH4hQ0-T;0MamVH+6mYby&@UZG~)@iP|gI)N#eL zfxT~IOqqTa#@qb4j0PyidEBpFDJf^p)h5M_tKkAM=N#`^K|>ozKc5k*xASeVVx7A- zzM4)Hrq8I}nto0{0b^Z4EYh8S4)#t?AuX|U! z6)Q#Qv9+>Tk~Fv9%yv*8l`@~Vrr-MFQ15`?3_BFGWmuPwk0OnA7~|&&H|#yH6waUh zfDBJeHXdj{N$3;fy)W_gMc{!5*P+$?UH(&N%G?e51+5)%C#w}-OuO8D(X=o*wyVe{Huh@pBB6bU?eRk$bzR+RJ1*q2hnex%&hNBxGN6) zUKXM5@~zLWDsi`@=t4+h7Ps-4d&YHL_G46n!v)@SqY(hs{tJ%zapLj#N=wG9h_i9c zlj*h$&+LE}NJyT4pTF4G)tr^8qSku_8Q#G~u^Bc-Rib!XVo{^YE5>l1;Ah86q;>O~ zGr<|VWs>(h5Cs^|r98$hrFsI6{c+l~c(?xSUK?`)Cz<{ljpUoI=$cvcbs}SfF4<6*iRlkJWRSI&9}^#qlF01~d;i>EGEFTYF1Bo^wy63~ zt}rg-(asxBXe0T`4v?A)&sEupq=>iop&yluxnL8~67Iy9>wDVWhuyO3<(_(YCKupb z9w(gnd?_I0ETus{twar~xDA$wc-EGn#~!&y(Jya5bTydp zp)X<_y$a$pw$3WJObxfJ_sdVWqVp1xv}b5#JVL>Vi1)20QxY)Uq&Z&mgjw! zLt~G!%ze??WXJIlVvgEAC30*b(xz+xbp)SiSs|H|6e3RP5&VmOfsqDJ+I775FF#`ymKG%V+B8loWM$e{dI^Y_+}NtNg*j;F)lxO?+O z7vsyWQ#{#_>(hoYSHmAR9p~P0Nr#3cg7zj{VH92P=r`Si?ioM9D()cj2>p#)@e`0j z2Kc;B*xUc-f5$g$?Dc(507W(LK-Y2gAh}P@C2REb(93&kg^j{oH%>Kk-4p zcOo?VOvxB)?;pm6%$`B_9chamvw!b!e zYV17nR9*fUDe@Cg`{~^;oNuskw`Og94>O(6I=i-@a%3hy)LA%*w&z2619=t+!?YgX6w`D5N>5Zthl_Z zQ~z-Hd-Zj4S4>K*Ko081KpO(Nm!>kSE!PsxYSd(n#8{PzWj@&)X?_K>;)`Yf*bQe` zYAXi1FG?xMFwT^Dh}y1V+Ib{IK00}CQZ4!Thv&1KSGTpUeEdG6ACaSFFdM4q6|i%^ zWyQ;@0f$(bKBIihMD1~Rxw21z2znXy#B=O9k%E^^S)I_x_S&hZW+OtpNfz|T2VTiR ztyC*MqSnUS=EeQh_3!yYBh*@#QA}v?^!LgtF|o6_?S>YYZ1_xgIJDHIlp0K7n;t8S ze?o9nol#(Q8SlShh>Df|JORgb15`t+hE5-xlM7idt$3o`q;%@+%0G2(wT2M(#g{QP zXuEXQgwMzCdHSx@d8}KG=oz^w=D~o*D?`+l0A&-Y<~e#hkz1Ry%A?wxeW()UAs&|fd-28S5I?5W^aY925y2=6 zr7&%$vh9ecOL;Df+wpa$!>6Br;8_gp>DQy#?XOq0S&mQww|59x;adAHd-XEPVJJpS zH)bjXu8Qp0j?g(~G~zF@u>Z-NU}s|Z6Yuz6+gw_?Bq+rDlf=?#em3h~uu}%`(HuLr zlHw*U#Q2x5h~9Fp$L3w9j^qncCpBN96jenVo(wS#5%zgtgchCSbgk zJ{yyO{E`nCOzJZ$@Jc_u8WICb{OeuYk(27E zdL?E(7cw%ZI@!O28l6PkB(DzE1%<3QJCseXhV#XcI;rNY8k)0}edto!{OzKyz5_^z zqd_#j_alC>??8hAljnIqD!clB{`vUth*J2X#IoI+9`~x(Tu3mdZiPvG{FFe}#A@(j zpv$VJAy-3yF=66f4b$^ke+ARhMSQo@a1s6rO_3WcMHW5LIM0gGT}jDfO&N9DQ6l*}mk;H$mSJ`uBGFciN@`%tkffR^6uDksA8~Ls49UMCpBqP3ZUefGtqXdIgEzV_A)RE6Dxm;Fr=61P%ZK;KR~ny6v?8+_^9m$DS@TGd| z2rhM{w9%b~St^7sZv{P378>k8UoW24+50XPGx|1;YirF{RBSss@sLX~6lP-f?{W6| zITYo_`XW{j!P&ix+b?1}bSrq8D%v!8&|zA1Yj{*7cf^xEabW~ zEFr?7Q)2DcfAoiYj;aWq)SZOPk9p6$&T7-pt7pZs=}&;Yyx&@iPSy-7P2L@1oeNOQ z;9T)n0FE_&sh)yMqh6)_DtJcQIkkrIS()?q9xMxtt8wi15mT+oCm;7r_h{)4j#6BI zf%2Kyqn?oJD^K&LS1t5tGPhQkZgNPUQx~mt6lC6wZghhrCT*R?UdakaH}1~dZ^4t> zXW4ayG5fbF$U3|3oLh(|W3Q@pJw3?oY%*o&MAq?%C%X}doD9p}v_f!Eji>#=nG~=m zc}_elP+C)D4Bgnw1a67Hi`y@`XmQ_B?^Xm;rYAJ8bt{d`QsK8zcruxJA5tCQyjR@e*g#cY)sbxMbN z3q|Xl>_n*espu9mR@SZaozWTXobvsHE%HJM*j13>tfJd{9V4OhwPiK7SBrom7d>1D z+6TI;{J^Z6GY;oz+P8-8`F;tt6_OgZQ#@JfOty3x7AgaYXn#t&VQ^!Zu(P zU$H8y%8sufqq)~zB1?tqnX|La2r02*K5y0@m^CrmO3z}7u|dp(-KB^>1NTGgg1o1b z=!Fw)ylu|$u?NlSaF7!-sSUH_bRzQBa6CSl$e#L>8^K1xKw1MEUPLg!M zPI2dag#O&hx-#7BC%RZZ0y!yYJQsd_rlstdq3h0O1YbCxsZ7a|H-vRD+C(BEZBR=G ziTX;=uV=T-J{X@d$jKP#k!*OgMJNhw$b2N+SE)g`T735>W$D1&g>0`W#`?v>|MC;o zE`}|A1?K0kV7v4Gni_XN*w7l@Tq}6+%WiAv-Y{_P#*`K|V~78>#P{hJ!<>ds{5-3l z293G8E1BOLcn?}EEKDieV%{8d>V0Yjo5NJjTmMJjTa&E#OtdN0 zQ{G=4Qv{ak_Ma{~Nf?%|6o&4R!}qr)QI0E<`|V}?DDPdqhG3$I&feGWR-i$OC_lUY z#m9v;sR%|YVs|@q^ZOgj`(+q%_`8_)%G>6$y|P*X9gP+%e$@_P*MHoL7Wqft3)uxe zDIXOL;zR8VOezF45>`6fVl4T~rAzD@oR-qp#+z9BmcMX)`inO=Xl=o_hmT+9$A=2t z3iX{?ul=R(ngrAFtavBcx2xx!k1(`DW7KT#_gSjsQ9)2m-Q ze`dM*FUgdEl%C}Y0@d#~-OzP=ovX@arrJ#NGWu+Oid}lG&JIaupKzbrv#9L;NB55s z)wR^-(z<1}vr9PVfy&{f@`g?UH%i4uX~2H-ce9)c#L6(tU&MW+`s=R`?^1o{UV-XT zF7&`$EG(ouv_GOtlDA^o*P{DSm!4UI%Cc!58zrX9!17G1wVtySD zFw=$MpS3o|f)=zQ&tgB@;dDXp*07wy%EV-%&Pq{s{7ccEB)hq9xWN_C6$G-Y-zfVVd)vvaF zFUar`_Rman?9f(mNy|ZPr8ToB8@)fqGzP6+2$#qX^qFv`=qI}q5^FjFQ(&mp?`h82 zX~>{Qh)R)4fwLgp9-d&rZu>qs>M2%V`NUy5Xs|34>4_qk=n81g_2QcLXC!p8TCu)&e0g-sp7v^8=SmYH^jIt#z-iKTIs_JnTac*=fVl=(pMTxfuB>O5ZDUxJ+rmLQ}v&Q#7t!Sy~Cru`h z_uApUBm&DutQ|^XOHt8hoz>(rS%9We9rp+tTac#BKk}#{wyhhPT0LGBt6*Jn7TQc=8!orOqk!tNuIUP*8^x8pl;-W+ja^yRjM@)Ukt8 z?E5C_k49sgBj?4<6UN+k#`*V$hT?ye?YC(hv9d*2Om7ojYw1178q>_X=}&T=`L;;v zQAMvR;D5>WC26PMbWO6P+;m*u0KgMY#!o^x;sAML04kz0Z72f z!n8ZejKOODd&_%ls(q?zR%^BuJ~L+_PHg{6AtVk{;7h)BU_ky7nt%SW*S+4l-d)t- zw1!@g4ga~RzPyzWXZOb##2loU`>67JaXKb$8iU-sy<)8;x4S3S=v?4%d3$uOA#}5S z*+WEy+U(LPO=(ZTG84qa3)HgrW|t=>Rbzq!s+kH`=ruP}7#$GnLkhdQQ zczlgJZai71R&dgr6Du9+CCG=FT3U`-lYv7pAIY?rp6g+&-=7E0T&x3 z$r%IQWW0$1y2Uiq-&q1+96lMJJcK>`EAOubHaxs+8l*J@<^ zV=ps^`W@rW^Yj)&8`n2RUFcvW4Ow*ziY8HYU4I*@9|2~LH^U&F(ThXCDl?l0~N_I6RtZZ=TxL!5DE9MsE7=_ zmQ`T_tca}FkII<7&ys|_ucjeR6LiO@R?Y03`A3_Krk&9WUH^5~G2YgjYny&BsjOWA z%|P!TUkmvO0p=~wF?*n$(R-|6X!dZnf)y0k7uqBaZKvZ}MO8k!^YD5cNUrJA3>zCEP8 z6@)b#9&t_Q+Tz^n6Y96_r?$UjvHPrMYm^Djg(Yo@?Yz(C2x7&POy6~m100=TT29?*N9 zBh@Yz%Q&G&nZ@X`ETN7^q21F*v0Nk>XLj^q-NR_tVg>O^Z^Bv+eP@B7N8ZQ=? zQ6)2r&z^yk)z}X-=~|d}^yCA$&Xt+7mMmC`M+J$PlM~>PBG$dNvt+=2gBQzP!`bK? z>)8I+R(U8&dicKnj)yC(--0Wv{6kTV0U1<`YurA+Ev`RBS?xGweLhf=sJ(`kOj%p@a_kI`Gu~S#}+md=Tsu#49kYEp6UB88l~yg!OH%9+3>+k{ap-hasZ`6Sk2naJrHWxF?%=0GjH7oKpI@1RX356Y;<>gu(PcLM0Y2ck;Oqx>uf$8_bx!9m?IdbTT-?=# zhCG`kX)IRGxy8uNhCoQ!gu1bSf{Gz{uOnAh!Uz&xQr+U3B9#L|n*Ci%Juu^zrwzeb*M&9x=Jk$%< z^M(Pb$)y6o>QOL9Il(ry-^9*zo+&hHlF7XtSn2ZF;oE?tiN_c9fn*conkdF|-C2HAK!QH@A(mN{RtKAZ6{_V)Z5Zbba5zjya)KQR_gqgIl$I!5=UZLJ@Ed zX3sG+({Cz0rnxrdFgJ-iCYM|8Vu>c33dYWb@B$!ZuQ^dnEt4iZg#V%IReb1`aWe`c zRXFRv5#xG4nbDqCc>Cs>`CUYpIg4pi$~hx8MnSU6K9gyAQ9oCJctqj_`kYIa)<(GX z-Ft=ZdfDU=^{28un1MB4jZn|pijXFk-C3T-waD`7vE}Ky!maZ*B(sO{Zg>CN(YQtL zS-Ykb*WzDPFIi%DhYY5J=kn#y%%8$8|Q7YRuysek;KJHSOPI$hOU zeOzCC2d!YtmDPTYuy{psN3zhSR_h3$S7CgPG*P;o+YR#W2PF)^f0V}6 z(%5dKX!uLI-|zwaj-Gga;z*+zZDu~*rKivZJ}H<=L}Dt25IL=i)U{GpmW#B%h@Y@- zip-SRa=r1O1**Rbp|s7I`}m=>W#{p?i&I;3JGOSC6!o{7LP}bPmEZK~8eb^HtCOi? zcG*WS4xE>Bv*O(Gft%?>}|64^*Dd@0kjDENyC{7<^kN!=98%ZrDT?;dFuF4pr#n5Dus3~*f@B1y() zI=e=yf;}JQge>8v-hb!4L84V{sUmW?*GZ;23ahId*gJoTTvHP1!OeS`CHvpvjeK#b zmX$Y{LvbJ?j@6kbw{%R?hGUJdD;>Jz_9_6*x!T`BA{Av?&7w3MP18}{lKEKI8pWR2 zoME6BoL*x=dC1zfiCexT_OvW{>O=CR^<&A@RFL%93e4EpQHlawFxMRJVIk6GEoKYj zeeZck<4N~z>~yXsD^}eG+Evr`kQ(xqeBAhd%rX7Lyg{_V+PO(Z3|_+E3QWtYW--N) z3%2;W8toh6YSObd?%VM|iWBIGfS@rKY1Ysy*l66D@j1y}=gE&vfJt<8OMjjV8`o6E z-}X1Ymdum%ONSuo)KjIPG) zka9>=h3A|?Sa!9x^SD#h*&g1jb;oigJeK97i;nb?+#?I#N@sl=K;)y@|0MQ5PM`R2 zuqx9q1JXrVroWqbNks4he-hIwAIC;qV~ki7d#MTWbO+ZRgRM>P&iHGQhr1jG|SFqi`GxiTifR&CEoB zgOs%~RG0C&_|@12>efRM)z#VTZ2_!0#p^i$Hg!M4Gdd#?bK<0t?0TS`3HSQL&(GI1 z`+vTyWDB~w)Gf#!GHcO7kJog0tzVB8d1?t1T1wo6hX;Vu$EBWiU->Z9ksUK_s)@Ke zc@T(y!Nj}>T4AEuRVwbM2CtR*|7jyaE0rl0=_ksY6N0mkra5Hyvob!YaVQ!tn;&u&6UpR1pxOq2Pr$%@D9Z{zMmfNbZuXYqf!7UoAg!w z(Z1)IO5>aRplDgzBL(X=h5hNbftx%%2$v=6tL3${DbH)Jaw0lGY|3@@&dV(ovaD@T z_gifi2=TKMj&)_n9P)^|YRomxT*c-eoJ+it`a5V`8~IPQs%dK4;4FOGq){#d3&rkA zx9iok%z$5wO8eiN!l~vp{0b-txm@FdiEa<9T_zzx#5^cgUYNAzLh|iM~ycddtIu#rc4EHTW!n zX6m#peS-_;A);Os>yucM*o6H7RFirLfN3D6U~fdAloG*2^_=HGjfR3IciT3eW)>DE zAvfl8(OapgVJqE~?Ogy2uk@#VIHqrddS7&Izy?^nfRK8oh;CtPP)4QpX32KYfi{pm zfV*eRPCBYup>*+S8wi zNVC+H`-*!N?IM$^c1Rwtx^Ex+ooYSDw+4HRk0w_y8K}iPrx~ln0UOmYY%oMRpG9+z z<6h^aE3mN_;jWfTrf|I#AJB~6*==M1@+Wlsxjg&Pir;G$h%>Td>DDfQCTk3L^3RT2aNM(T#`1f`LbgoWRc zLC5p!XUzPA#d2){Cr+LP`8ZX8t*I;Y)=x)?@Fk*pm@8MhJFWYS6;Nf>V zPw&)BEQ1xd_h1^@VJ zuigA+<>S^gl(Z$oYUiBPBfWRACOs_jhn<^y89ryDlsve`DXW9}0J<-pi!4c`E>%7^ zPzr0@&?(Ir4OlyybaUmR)_`6DfZ_|5hin4#`Y! zV;c;=|AxYmC+umII_KT3!uEoMLiP00{I!NFMU(Msr|PHM33SvUuKQ}>TD&APRt(oX zdBnvVyQ5URzxD-)y(zSO`<~L8-#KLJN|Tzt=8^}3nCzV8>4eYIB~=Ed21zml z`qWo6fg^ER8=KZ)X}ft_BJu=W5gL&*Sp74nV}OV7Q0gDmnM3soqfM_3)1KJy<(|Y^ zYRDV&rplk{Q5`6}v*u?YnXg?;J~0rcWZIh~?hhNvp%1SyGb7P4$9x)P3H|*8UzgVE zs5yIVdq`P+pKE=6avHcfOg~UIJ<(Hq0PifQ8$i<#f@v;)RuWp~wLGaj`%DXd8m$M9 zuN|}?^1rD9~kO~>_OZQ_U7R+p% zDaP!)MNynVnTeE2tC}_eUrz}pk4JlAxc%~CoyRLulON^m^gBn4Hf$ls&rx7mR`}GM z1>XUNs{?5}%TiNWV7G>}H)<%DLnCiK>+q>dnH1nH zMC%2T8Wlj=O^Bh5ap|GJmNZCn4@Jy#Y){t^0WKZkslJEi_Uqq$nHX}FE=ej`N@4HY z+M82cUeo;K#nj3MF)amK(;)l*?g?}zu&6YrK3VLSt*s@4eQ7vdUdP*b%3JO- zpgiDIgAdFR^RE}-GkOZdg~|a|w(>Q|jKp0G@q`Q{b92di@O zn64Z+%!Xg@#4Fag_h3H+jg-wpRQWD#X_EDCPZ~pX)RIea8+huJm#Qm~_!T9%2 z?$!CcIb>z8wb?tecqP5i0P_cdW$6Ydr}?K5EN$5j-ha(oJcSsmEoBC^_3X@C9j=^3 z?hT&bc7#Y-9&D4Z1{r-r_EX8Y4dwCb*#fONiGU}XDRE9JFK#AuRW=aBUU}|+6N#C= zuuz=*Lb6BBg>7ZEmrrNhPGM9%Xo+~>_N@T%buU?;G&;kZT6xj6W`L2mINtg*fRT|n1qH+{NkCkRHM#M>%3 zPL|XiFEA` z$&w)?TlAy4=#BQ0!q%OR16<{ple#Qv%(cFezbMB!h0dwzmoD*1$$yY+-2=phzPRwF zgehbAN0B#k&MzB(M1iUoe>kx~P&Fz(BhpAG&Q!MAZU!qmDz2nemF*Lrno;TT1V(Ao z-fotuozS+OaPjmTjSXLb77dKF;%^70pUzcl^lDh#ctF6kc1;dmqLx>4b)ixjhMx&C zKXc1{@+zZ>;=#}k5>}I!Q0X=E^@U9j4p^3|+YMv#(P_Wq<&r3AgOEIN4E|Nxrng=kbQWMZ>Qyhh!2`d?x1~isW5Bux2bg&JXOrx5`zzD-Zmp*0`{qXmC+uideUIxwoOap6m-;B9*|Ey`B&So zHA(c`ogkRy|J?5SqF zKFSGPI{@nq*cy5FSO~>Q{g9(?!R3JQ;E0pQc+ z>z!vB13Jbg8Ot)mzi!RQ?SA{dA~LD0vNN;gRUI3;FEV-N%zkwEzRwTm^N-{vtM)4D zYSY5!Uhu^cN9E*nrhSP&MR?s=06UgFOUotmx~q{f)06*;yf^<#I*tB@X|E}>WhOJX zY10au*S?nsg=?D%aewMa^8u4HX3{a|0D~Lq(x7LVHLjB*sN?iw>O z^GJwM`1$Qv-jSWap8hc`v+y~YeLQ_~l92;%vRoWV8RwormkOs3)9677)Jv?AV40te z*xY;EE1c<-V!iyqq0Q?HkYi?Umr?!Dq%f#0&e6WKl)3u~eHYR!sK< z1x$e-nuk3yHz%6Gm)yKYj+!yIS}D$qTbCh!bbl;&E7$f6`$XP+NkLI*=7vu~)hm>P z%tt38y}k_XLH;PBx^41E_N(U%!qrvc!5sLeS)$_8t*+_5%~AZXjKj9p^Wgc(Rpx3H zCj;s}nv2o=_agCcetes#MJCt7))s4;?Rq}t8d&zBD-`D!C4DSvCc|T-!yjkp`6o|G z{+6g;8s>u^@wHW7K6Yj59UEGZ9d?E{c6#8U6QYGxs<8W0<~F9{Ri8#0ak_Gzd(ls8 zO$1P(S01wGEj!FRiLM#!160_ZTmjhU8tg{0usv%_@Y$(&k=#A4AJC$C|>I ztSYP!fw`vYQYvD6-_%P*EIV46m7=F;F0S1Z2> z9XM9(bKl)c=HY<8$vjT8op|KUZ(u)p-R9+VIX6YF59559dz832s~-Didkf+B20%Ej zp^d*e;T#t0Ivlx2@s9I57TqhnBajX=T+FDX8G*G80D_MMZ850d2cfOE-H!W5YUkUaqZJkmgfb$$K8`M&~82AElDD3_jsn&^P)!T}z( z$_?gw3x982IZEA()v`U2RO(}JenWw=jg-ZSm(SMMN00=P5X*4j!YXe;IFQg2D6ZUZ z=7yD*6sMM8{dsWre?S^vKdw)1t1wqQW zz!n&Kq$XZkS{$mcgN81R2DtN6&xc*pahZC0UIiXRePWVX z@+CL!M%C9>s}j(*vl~@3<5gdQSTcm1ZIbdTCD!v_G4W_8zu4DgAL4QMP>rsza=kj-nSsRi7~GuERm$*UR^VJN}U`J^0t`kDLaLJzL%4|I!-9<%Au|nm4^Tee-^a z$0^+CcqH1r`!?XXmUuJ3^ZMWaVu|iXd#2PQlK=2!8vT-yHMqE$PU z2gT5)){$^xuum7K=&5B*oDC`b#)~?_j)@Wth@0Dg>s)@>1tT)Vu7i!wf=w?T`gp82 zd|iTL?=KBJyZa+wYeq~Wdz&%}cMA}3qO`Rs*ehCDQu*Es1m0<_SbT?I7@QJDI>|oY zoEdXd=fa^8vP;c^gW(MO|7A+Xz00vOl*@Vi4*#&*Pr`nKQr%|~E=@K7)FfIgVfky@ z%ZTpJwn(Lj#Mw$%g5sTT7SbT!~gRUe*yUYARq^6 zKv;0*bfQ&FF|CurpwbQcjUfXFuI(QU^K82Roj4JuXXBuV7VJ;o+ex7SI)B zzV7k)#gp;?wAD%Od-A^+>-T@IFVL9k?Tfhae2})+=kR1q1auG_!f6Uu0KWe&%ISuK zTl07*CJHTF%wg@y4Ig4%8f_gYZ~-YU*b=`jd~0%}yHCuE1DtlI?ETO8Z?!YNI=nKv zB*DhRt_=wOtwS6~XTjcY_oex(-=uoRwsP)WfN2Acd97qrHuEt+3#u)bmq4Yq!TZk(J$`o(hpom*u28avCewYe}8PDCkVtnuOXEfA2){z%^<0;*1r?Tef zYwKugxTczy;Y)iD=h+vLerjJBt^pg9OXvA*Ee;nZzfha;lpQ4P<>n8)fTKV#G{)$o9p>m-jCxEZ65>)H(fT z167n0%a8v2OfK-5+f()PReh1Wa$~<@H>ZrvI}M|A-^b)WvhEpsM7^O=f{Z@4F1;_@+SW@G{Rw5Y|e? z&=AWYn+&^sGNH$sQo80BC91hotn`Xo_jM;{LT#3wVQ4yj9iWU)S3N@m|6#Ah9|7(c z*7DKNN6na%_vT7f+?i15+JSH8XnEwiHf&T#F*XMpPNlVH@&Jf)?bj&?03G!1^O)6` zS*{8;AQU{KM$1oAqmW3JX&r{WGO66VQG0H{zO~y2;7q!e<1U6FhBKBI(y?Z(`~-1y|Pm={TEjA%+EM^4?Ok4dyQOCwWj(hhLK0Wd$QOacJs!(6oy zougthC*Q?mY{{unML>i)g9XWbw4GL&C;&HJ_riyjkqNU1*jP}kFq-{zSj&8K1j8Hm zO?p(-r5cx`viTC&E!K+&gslvR-D%}CaV4CU&KNwA6#DJck9tiVdy9NLdxmt4^Pq6^ zz0B!sAOaa?fC%1hP@!J!?oi5g-r|eAgj=D~HOF=_r4=ka>xH@Iyw2tmbT9M8aY++= z@r5}vEOh4N2ESspd(MM0bs|E>KX zwtFn2PJT6S9sZBYjla^hSKeJNu<4A<@v4P4Y|sK{tATj@GH1|NFkew!8NB@>8DQPG zV1n~7`M^yD5#(C^?6aWcnNJyJ2jjd_%vp=EtU+;JxgxqXvM}^p1|Gbo=Yo%i+PyVB zA8rF+v$XdOODnA>pEloUb6WQp$!m}dAvaqDwmk1F1&ye^1C4a$a2Exug*^ z63NDYZn%GIb+;wDv)>?%4D{aCVXS47pCzKLcAQ}G{{q~5(*5#L zv-ijR7+v2RIQe>FQVh@?*z^+{(NUah#yb_2En|ht?fyR;KCVnyCNFB^R~si4U5Q9} zfzVWd`EX&UiUpA8IXeFq^>7v-&s&)4E0%XIEG!s~Ik&wo-|XWKf%%vCxRexT1iaky zC7Jb7DKU%SVM{ptI|-(S5A{QhwLp4bEH*SEil`*X$fX5;dui3yZ9we#;K zrg}an*SaYNPI~rit9j7qVoNd-Eh-&;0bS~id0zb*gJQ&Zc*b-@u0=^&{L<{Zel&8P zReG~zVkxP6uXiL9;WutFc!XR^d85NY3mHPuIfNy<->JLqLP|rp5mPC}st`&YC*{`! z4wZ^Fz2>AOR*!3%XqzK3y$I8#D=u+p83LlFuzOZ4KB`Lp-3lxk6 zHL%@;CeKBdGYh61PD)WoR>)Ha7a^(tR>`_S3udvbsdBpH#-Q=Izu(2q$lR#jCXx}o z&^Rv0N~3OI`@wbCsQ0-)c1o9NPuSNHs&zKUk=%KMPP#2S@QTJJQ6F~p1=P;((`1v4;ss3< zgbN?J!_9qE1$X8Y>7?^tL|miS7nSC-+74KG2a#bleplhfv6+1GJ%(}H*@@iA!&qmm zQ<06EuTDb7gS3toBsylmNk2ecr1{#~&$f_+<}@-Da>87iGe_=M_Rnaqt4A62m8Ws{ zSV?3xxQa%SmIESUFSr>4H5yem7C}20z%2Q2(QIjBD5+iMm%|RFEq>Bimsg#GcUbx{ zUCQC8`ceJ{o}$!JhcSL>|0-^Oi}%`EN5&)*$lV9>1;~BZ44q>Av((ei zleutHvEX~80g;0ewt9g3+qkSn36cdBZ+3j-yE{31cj}&^W7iL@5*WUAG+Jp|Vcop`^_;OAM;oTQ+>mZ z6dSGbFG!ac>N;7gja0z;ME3|=&aV1a@JQWXkrU%9M&}%Vr@?o;o7&32+Dw&{Gxk34 zhm8pupBx`z-~nM>c|F1&c^8x?Nd5W_cDi>78Oz#{eMc{ov5y~c*x{gF;zsG}E+0Fn zy0C8`OKTaZdZ9W4@xIKBO&)%l^}ATG=kxp~|1Bedj{X7jZBxp(9G+iYYn*?O_MFwEmU@_og*vT9n+r#u%LKPN4(vW|rxG4(N~#i-0I2DkCTW)igJkZ%LO za#CTnw?alG=?@K*dj;H#u>^MUClCiRA6Me;s8W7=m;<(^6VxYh@xgM7% z5lKsJZe=EmR;T-1uLP#)M!`B&yfUPRU6!sr#6T_>h`6l-P<}oR^7y-svikW3xpEvW zqdm$@&0j!i1p03>bG+kDp3Z;D1$wujn#ZR_hrtdqqt+@&LLkF4E66nN60LSO)rpow z0$Hk+Ukow1gV=!Vd;QWl?$Tv?ZEnAne}P2DUW#HQ7aU9Zc#JartK293X~dYx4GL+J zfT)dPpZgoOwnysa6!qOXS_0EF41@fBT(o*b%t>}}`ZF3C4!LIRWkC|Y>C;~kCib8^ zG6bR@#Y%PxpA*nX)h2Pk4^>bk_8Prpu8G|oW_Mgm zvNC+I{NTllxP{%=;onxLTydqV6@*sbY-dea_bt3}CW7PB#%hYEb9$Ut_v8$=I0IH_ z{tnRhsa6myv(j+=?kICo4#_RrFOw=wHCP%>!BgG3rPE)9XM^TeuDrV<>`~R8F7JKb zhqSot!>Kzb_HgF*GOZ_9r&-nd|H^R@pP|wc(X`Uo(RaoG!Z}k!*nhwM^>P0@#P8|o zx^ao)Zt81Y)Q6OfOAB`08;p|kWPA3ju}W4>hG-dGdN`~;C4B+ACXVq~c>30YW|7g)}XY)PTMwZmX%IKV;2YEEqmj}jU^YW_5j|6t)-`0Cv zaZrl)u9$;uu;e9RIN{|VeI&|w(Ny?#z9i<78wf(m7mjLlQk^K#5Ymq1fxyOvUpwU? zynf<+VWYmc_9O4KfrDb|q1`hCpRnD@GtnNtP@-6r&~0nLARn2;0uwKFS00iuvAl7i z=pAOfMa6k#%(lP`O?W!9E>l^2E={X6|H*2iD4KKocw5k5=}i20%M}Y;=KY}*T^DJ$ zMR8H*!1mwtg8RQ%8GRQtXvV*afhy5g^d_$SD8Ubyt(qhh_iJqi$Hd;swmZ%!tk{^- zy{h4(2fEHvyEuqyMx}+nXc7&2mEm!8 zR?5?1E0&Y0{c#o8o$WRhi&sJBKL*5ULpy!KgB_i1=2Iol| zY!=t8Gk?rzFn(>1#qK&$y-vu=cdR~*{)ja_nioo~ul)F<_t%0uxg`RtAFG`$B>|ix z3LA{gz_!T@wRf`HF=Zf2gPstG;Dw|2b-$SUitXWJhpp8f>xX+69c+I~wY$`g_=}LX z)(c$X!^n!UH<;;&3PNoUn3zSoudU({D&3(;g}KK?(dAnBDIJ2pROeODf;l)ke;&h4 zd{&fLXYK0FN-Aj!c6?N(`@BFG+5ikr4PB+2>~h4sFWl`$;bam|6>8d{!1!{8K1-f_RYY!xG@U;w-) z)DS+Rul34W?+r8HUTD9$oG~$&b#L3J68v&tL49;qq`8RC^#K%v^`wK=Z0Q{aEbG{+ z$;uIXZvMtbN+>FIuTZVOms(G1Nawyd_USV(v55adG|6oM`?{B7k}J-w?|XzV^W$*D z@xetv= zV_((*dty{#Ba+=^Vvsi2YA5oZItb;Y5V}>%Du$96v+Vh#Ne@$uI@TW za@nrl3Xe0P#~`t|K#W<#gUis-puKTHId>{%O9lsphkVL-l{L7ZFI9u%qj?V*c5=me z#U%gTim->tE%O=wtYdVmzi7uTE36RiL$?mQ|NHINk7ZC_$nrw)8 z*eQ@5AT~AP9Ue0A8zN1&-eJiAmVAth21dt@bDfv-hEUq|j65^lQ}wjiwO7AG0w)x~ zWnTW{>1}66uEMxC^0|!s*rdO@6BRcN?=GjDho?GRT&H2}%=11=0L-xX?~d1I zklx?V?X?Emgk0rXJu^FqbUuC}*IccjI)#1ixW-jT$g6HiN9m~96hOKC&&7~lHZQar z5{(|qGNjsh7}q}zsef!eSU0=IBU(#s3RQF2CL+_}X`@jq!PlDh_``S9L8$Y(9?kKZ zz{@O_vk|p&6W1h*spa#i5@+r#T^~EPr4*p!4jJ7C{v#o&I9E$2XKkK+%EwB|be7yF z?`H-f*~jNB1>Go;k6cJ`~2JhoghCDngjh$Zel?%P4I< ziTq>Sh2^*Cs0?o{yachnBN%GwdQh=ZU>@ z#*(?EPL4iI7+9)i>I(wbav_c>V-{N>Lo*#-DN zOQVIllvldz>PK}U<{*?fIz;{?)ZXa=AfDF_xB5cEXh$pT)z2bQpOWE zTfY@X$^IA!E|0yvefcG=TWm3|fX=QMJ0_PDtyl<#TitS7)5GQuHrUNP&-X$cH^4MP zqQ2}GR+1=Zz5-3EvA_Kr?MI7w`+Ekw176OuGpv*_p90tc%;OM2QfF4v>>38g$;#W| zwejw|jM7bqt2V>_Z zS$38rRB1MLRhOG}X02Grnt53Xp!oeFSdLHM!he;l8ARQ>Ek1<}*&J7uXBFWN*&kj^iW4MFygAE#4Z?iGY}179A_{SJJ-=A$`LiEGQFAx_X|HEs5uQUShV z!ukO2aEPZU55p~1-?3fSca&d|zZ3_$0fMyae6HF9%YF+7o~zw(m;nqWYoLsnOWV=_582;l^eeQ?be^8?KV(R z>xXMB*b`9n^m2mq&c1qgINBntm#`u%Kg$xhNAa=_)XdbL1ME7FGy}4x1i>p00KN}Vir`??SGJW>;6QaX%OIX5gmc|x4+rU+m zvNySN^WV1FVMIF}cV)BdAJ}^VZdb!I>Pst8dyj@^sn_K+@J2%PCK&f&`O@Z6(sW|R zn6_Q!xbfzx^xhMz|4ez{XjD&`i(&w3Y;9k!`-FEYs=7dg7;VcHKG+2lmaqC`!VM7E z73`wdX#WXAa=0(=ZrO0rjab0i2Rz~>Rs@K+-is1U$nlywNblcKVxaB8cEQPkQ>Y(n z2*0}t0UQOU8w2jKV!^TvJ$$%{TY>`=*D7i0faZ!fe%b%KjrrCwBRu@zOqb@*yhk=Z zP9nkDuR}iJ>7eLTg*yg8^Z-6E{e5hw9gQj|uj_8h#XrS>#N?F4fQ#zCIzcq6N*Zs+Ws+^$*S9U^d?4{wfd37`p=2OSFhZOE*kcK{TGPY* zd3{ImA{=cP*Dw{k?EL;tE^52HoF7kU#4eASOoZz9-)aWb7_-7`$q?G1zpVS@D)x*TKw7p z99vYa0uP9!jK5a5Q1%T%n{4Ixpum=64=)GRix7|h+&Dp-8r5z_O})hqfs+*}$v|@T z$OgCr%BwNOhe`pOU3O%9aMOA4Q)XQwFf~?f!~{Bgr{hOYau55_nkP5;4}|G%{ecS`_-DQ8$4k3365VD=v&Mj^ zT4p`}Rq)+7tV8~YuBwCMq-jUL#q=-6HVjHi+SXCuSVP3T2Hz=#CMEz1eP8&@rJ@g* z*vjTjfCxOzUUOIPwCYs4&(Y+H%KTr3B0&H9&Q}=x-gS`)VT#3(>kG^mmn(bGO}(UJ z2f63KZomMQF1g_*)pMJp3HrnJpIZ*NvlNaIdnm0GzduA7)BG~Q7*%KT{-4$Bb2b^6 zEN2FLW^$0Pnig5UAR-RPTmjJdlTvNfm6Qwe!EvV{zZDBZ97>hftk!8G47cw8wQj1w z`c6*zc$j&fx0~AbYIRwf_gtok^V7Tu+N77dH~c8~!-30CZ*ce zFT9X8khWfn#jU143t&edz>qpF=lrM+QFv@VoaQzNbd!JtW2DiaO@s>@_}2bP@D2@fcw9zehnbIY3E+MSFZ&{Q=bk$l zl5mn$5_t0m%k4$y`~2TdGVXY21j4|_rcK6<3m1ac7sx66cN#lHcwD-7ty%iVDz`r@ zLZv~Q3)-yLwjC<<=4Zmz^n`1+)52-k$DU`^G;f~*jVTe{gU;+fqoH<}p>F|m&jhDj z9b}||HzfeWgxjS_!1P}&E5-KKRFP{YPvr>r&3t(ka;Z18yv&KN;}!4(MA$@Y97*xl zs<2$`0Cl3i^znnj$dx~@3lO-(@m*fZUUr0)JU3M04g!lCOj7gI^3K-frqu)M3REvg z8U-GvA*x=-u<|0A7K@g!yl;O`AFYIcZzedpV)wQhmWnE$1r(Uk(BB?haN_X*@r3}B z#){~horEa##sZCLtpUXITkVoV@W3Pb2Rz*#P6~V-Q1+V3yRQ0Ey3^AOFU}o4 ztEv)CqaGTria)-Cp*ws5F0Fd@rN*|Ebn|dq&LzIW%tu{voWNJkz&%(1n~t6(If}yV zcZ!YfO{{cTejA1x&X4FStf$6QJyvT&bo~w+Gb>24;&N-8%b!@&t9OHf;+hK>5*9yh?4$f#6z1QBN84?Dg;`!-fm_`2uhT6yeDffg;kNQs3xVcN} zAe@=u(5?}CpOwI65D-GOst^rb(WF%#jJkOCnppdKQ-!Q!z+*!Jw~f?zX%LXr+x4sH zjv8Vg&bpEfW@m*We5$IiB8p873N8Pj;>-PJ^A5$4W(iQknYN|exwmPFVw218d!V9Y z5T%X5g!Kdjjf>`$y%UD(uq_mGn}G^zY*Y(kXG z6icjWvev~q@Tl=Fni=8gAGMp=$ZgjK9t0U3r8v0dwBBHdw`hCoJo3&MI3}S2!J%m5 z=a$&Ax?96sR}hi8d|^n(Ru7qL!mCL=<;GQmfY_VRp}SJFGeI+YFZg}@Xu(<3RTAgV zb-Mk##3{Aq@o$aqRD-AI_Iel4$4}B%EFf8t0)h4hznEKXem<{W2|TldtpeCt?-DHy z7!7GJFNa*rWS5tP0?=aa?#Aqu8A%&$!nS>S$&t8FyGcW_-grOR%E`Z8quS7)M1uMt z652`PJTIW9k6<4|HHv-fg^UfmR+8&Rd_#azq_O)!m|=kl{v z{YX z^d?h3Jl%-5^t`^%+i6qEf0C(@3Pk0WyJGm*+it=o)G_>dsm>l^PY&g}Q6SgE6N4Fi zlS^!hDLcl{2k)YK--k?MfL}G~d2Mif=)^#(e{Lq%D9%eEY<*WeeY4&s zf}8W0ZL%C9nIC=bW_z_+z>n8%B~Tntdr#sFi>Ky!K&5Ak$n3&c=El*5<5WcTlob%( z^PAq*Ib`H`J=YvO%xF-e`s&|KwJ?5Nx&JIR61S=ruds{&nW+(m_1!w1Y94* zJ%{2mIGzdp=5ZQq3!mbt$PE;_OOV8}zuV>>q4I?rV+rJ)KJd1U>%|kMjal9)!(Ml9 zGH30kA7$S^4`~J`Yue$eSpWHfldBypmbzaxy-9Hd=i(huhGyV@dL+c@0xO0gC*|?Q zuh-$^ek9ytq8`C{C0KfY(kA3l1CB(!Y#IlW-O{vk&^_qi7!?@JUj1}S9iVC)_UT#C znbUnww*$}f<4gW-mc{N{ed8t;Q*|dul+??~cB#v8W)sB$ueNN_*OmgF|MZc9mnhMR&^lje^ zYg4J2&jy}^0b2!B^%~1kYN2=?I|p$~f{oydj>Z{xmS?;1E;fL2Up0Aby5uaTd-Uk6 z#~GtEiq@vmwLK+!drOP?p@N0W^x($Jw))IkNZW|3{hcT*!Qq;7-h_{`=d-yN5 zIn!?!ZU>}lrNMTeR#+F)PN;T0nvqRZqOGVq9xM3;bHNzQ#aig*B$IGv4bHC zz2Jaa2ynF+f@Lkl&NM#ArrQF%Si}_zJ7-?HlwHm5vv0)3?&4lI=HmMO99Kj_GHW5B zK-q^8WNGL%99bLP+fd=Qvdyu10Kn$Pw@b_Mj6#6;O=%4+{+1A16-C20R-_sHX7GZ$sZS1PdD~qZ-%75 zxEVS>NWY00oxj9?8M4$=wEK5TJ^^N+Z2yd$8t7lh6KYB!^higi^uX$(#GHjQ?Sjxf zhx9B;+43OEXIBnJ%D9z76y58Hi|=8h^(Ka0JF$+D91S8aQ4uHF0L-gGT-Xvb9gXp#2zI=IO{Rl!+yVSPYH@h>Y!4AEHEjXLgw@_C z;YR=NgVzl;7dg25MI=8P_ATSPdVMHdcPobkBhD<}eGf@oGWveK_=e;@`r{A>b$3@A zqP^jylg){8_@HPB9*gV=_E>wFJx@3LwIz#j@9%!ChAWI;esuqvLcL53}jz0J6z?5rG&b9qH*N436)B_v&jM!pP0Ru;=_7L3+rr+r*#+8FwQB z-=Js>q@}%dhxX*8?1Sa4yE@o=>Se&vLJ80nxZC^&_B;YPb~vOmzd`d^T+Jqn;(O}l z+gsI-(1!I(&?76q@yK{7$ZW&*Q0)`o;OZ<8&i`!dLCQ2!%tA@JtakQ0wb!UIo++T} z-dE!}Q&$)#JkK={b56Hjbzf^5*rzW?odq8~1Mv)Mi!h>ieWOOaIF%pt%?gKN%(&6K=n)%Q%lIxt7&1 zdEu;?t9`&G|Mi8%R~dgGO3#8a5+7_dYPxHa()Tpp=}2-@FZ zR=%D@`QRvP<5X~zl$?g;sYveAk&nhAHUY?oqUYXwxY=$j%c2THEvDRlct|hliW7T} zDaMv_vVQXWg@~kYwh_bKGOwsF6WCOKHXmyle3s9K4Nh%%-KS6Cgn`SCy}8t7b8hDq z^{HA)gYkp#pyQm0=)oB!`~-BD;{`SZmERJd_eh@rdRG zRoRN^p*|zmhui$gcXD{fz}cpRy0eNe7N_j0p6MIRIU(1-6^eIIqQ<^C0C~52g0}r| z1d7^j)}1U2tV??qZSx2? zhgzob-+Ks~-M;fL2xWu2EV_RcNRD+$a0bOC>;X`>Ne3{WGl-wOZ0F(&?pf5j6Zqu*pIs_#X z^yw=>V)%c5y<<{x-gh##I~00U{>Wj8E{SUQ!bi==>Z_xj!KREFQ4_D-(rfB*7a`3d9QXjo6)dG4?22|G%tPo70 z7ZMI9&=TF0uIqo!R`GDFd$tcBkJ<6B;*8vC1rSZ=qzkr|Hw(8&C1`Zqmgvj|X_a0# zNkO2~Dr9Z6ZryrStkyE_8Wg?0zya^S*wmDZ(mSo1CCPow(W-UTrA}5T@mM4&AYy7B zj)eqM01*N-_u=p=iE8#%Xu*=eD$^*vQ3w^?tNp2KvarPtbGK{`fk4Rh|02mJJbX2D z5&gWHHk)_h46Jy_p_?@S#NJoJM9}S(cGA|}3B1MG<=?k6U$Jnubu%_IvvF*TOoM|C z)qTHNr&yNMrgyXvMax%I%(3o&YpD)}&V3@{0>}|wT%@t8-64Y{%*4um{r`Ub<~!im zrHlG?tReu@6~Z0SI7R z*ScXIqwEsVX`}@|r);u7_@4H{>@Q_kIKA6Om6Zp^(qadzed+lCfaSe*B=f$4XMk0V z^0>xG_i^P}+;>IGp?^*7J>zQsT}73;kCFB?2C2EFh%x9&XVM>vof`CXh>zzGYDR`{9Uies82{NC{f zWn&Im^=MGSk}%NOWA{J)Sxsf41-vCU;=PD&VZK%4VwVF=9P=%)x-qD!QeJID`tdQ` zGF(XzY{zDU@2mJXSV&Yx&USBNQW zG48sA9#t_Kc!AYc75>=zN}fA;hz3O|H{Qt1WO9Mm^k~=e35kRJ2?BqYmEQ(#m44RB zxI(tC$)}gSrqZU&raOG@6HH#!I9Q|UTk@kvtiM=f#Xz}LMkOHlGWD#9@;RA&Qst3M z1!{O3nNfH7g6_p}+iBi!o0koT0Z6+qKU~hrNjaYw*%m?M(8-!Gt^G@5TS>Zelf%Qb zm{y*aF}j6EbwUVISj7$zuq05l_`@n8O+o2X-HT`)*Q;B|U%1gtra@^@vY7g(kAb|p z7HWmF*cm$)YVvH{AA`DPzh3dSm49Vj4-$$&{D?tzA@j^H?tJmmad{Ot>wvRYA6q)) zxMBfb(HP-y)3OLh=J{Np(z4oX!O*3UfsHaUKZMcA$MbL)|-CfDg^ki z)m%d4rj{#fsldbd*~;C4QmJ1*nEG?r;(vRNeB-=Y?Fbv8ru>da?D%g9hUINATjl)E z??Wj|y@(6)jTq~9!p5S6NU0K=hwAR-b3wA{K3X8e75wd%#|QQQ?FG%}aB*1F)H$bI z;AETGRClRqcr}f#l9f2U2+J8m)4odlpKTQ1)=)v(TwpqSCZ}4tR6+%}C03UHTs#!$_|(VBxqeC+#}=yFxQJ2R zT?mi;s$_K;0Y_pcm3yK|Tnv(JbXtU8Ak)ld1d3E<^{BUOZf`~`6kcrf;^==fbU{Cl zjF?Wli1`r>klWEAugm#xxO5=KbL!n4kc7AbHMl2RK!hYw321@Z9vW%Y*Yy5L~ z=<7?npT_>ZHPQG*LK1?_fyMY{_UTE6*vArp4(lAtcO|hAPVncK=3Bp?)oIF_JlcHO zGiots;v@Xi*J#6W$CZ;pFTrzw2@Wc&HZW2E)Xu7c&>ToeXXORHs=Knyh5DaXjB5Mx zGuL?qv%iuLuWDVgzGmb7gs_je++p3irn^_=SrLe! z?A-MFOObJ0g+a&?%6JlEZp1C6A(?_V7>sQ}Bot6JSe`_B4^%WA-UqEGjtGj?u;cjB zihHB2P}@l#p)Nsv6s_VZ0n~3oB@0PECw$)!%lFY+{LpI>xw;zg8@wk#+iWbfjo$_* z3FEbVHFTsCr&6~tmmX0gnhfj{?r2s6jzPWSS;ta##=x(3s_#qinJ8%VDL;l%>{e$) ztTT>Fsm4l^bXX^DEtb1^S+F8D2u){2DKN1zHPY}uK`;9Upy++hk9!!uU^TY=E`bU0 zbU<)!1hK`l)Ih^<)kp<<0AQ9LjjsCq5?2J0VS|X}LOA8z=7iNfkz)(g*2^TWh+S+` z7;O8m5Ob)b&j7Hs*Qa}bC-XQ(;dFP zdw~Qjc(&e`#y3!KH@xb5WNr^#kamg4Stz!#>NZE9yQBgPIxvEt7ukiptiB<6IXqV{ z`+;O`#_p4|QW4yj6(v2Kp;VaDy%_an>tipW8B_K_4==wK${vMbAp$J&nX6%Ix@#xrYH^0oh z7y<87GwXQc*Y{*BCLo4wU|Z{*`{R^u)J+?GK`jS`Vm4be-z%H>=ra~GtnP;-g$*`w z=25B|_c>Xkd^SfR1~3j}w^jo48p-4I0uZa=cupcT|7Sh{gs&&g z20-I!%gz*(v&GKoZr_$0i<_4J$D;vh=Y_bXLIZFxd(HyAH)eUsAhF;7)s+8#;I-|4 zz<&6W7g9@c`3iBJ>W=-co<4!{;c`Rk4>L@x- zlwJ*sx|yJ-n0zuUghqYksg%Z;Ec!VFcy?Yj7XRhU3Q(NlIp9B_R(vkfz7VYcQn0d4?3LuC^Q&O)`Tb%;k4(j!;G7L-UNz$+iEZ_>ks!2m zuZKu66cBRNoF~*(XVpS2~R;4)&`R(d3 zVLp?bdna#ok6k7(VE|e9%fQA*T$M=ptvFi*PrHQ%*TaI-5)DhzcDcz1UXR zART&CD*MK^&CZi`IMGrpW*3K-dr~ng^Fp?LUQ#~ids@o73t4$%bkm~nLHVadqZg>T zW|cRosgJhwi8sQn;4bAXh$#Y0G_?{*M(YQ6l8<6y)7Y%%uAwt9F_{xM~P3Yoxo*P*j4R0Q{heu}a%I?;&qCNyd4G0^qD7%f|Fk|F_2Ojp}Kis=SUR}gUqUz;iHjwB*UESm^Q zNi`f8=3$0pdK-lQfrm^d30Ok-GE`d1J`G@!=$=hCE#3tOk;LnW)fc3yYNy`6#laT9Dslj!q@dR2yUJ zD)>)@7c!m!IPPa8t*TnIl7r6Aq8OhqnMARf4aF5Hf^ffhV^x=(qJAKO7=$Chwk~g9ZPfEiP4gVU<7u z14Ct2;V}}RGE#OLFm8Y++Ud(9=={6FuZJ}(VXgq5edXfv6wL{qvd;h<9?_C+I}2eM za)L1`elqoJPu9kQMY?K&#aBpHZ-ag7HdV^tz@3x2*zVxuzr?_k4?+`^imeyWsWXj> zkkiADmy5_#{B54$(h&rdKckbQ$gb3849>I|gQFtabjZxNyd?%&q9-;o)_B&i6Sd&2 zM_)upXE$WX_Ic8F{$N*e>CmMCXx-X!E-$kZ?@k17+gXFc#3cN+z1HLh4C$klNntXj zax)0GdXZ7_72XL*ILrf5*_q{Bfu5=loxkiok(r^x>c&{Q4vczkOGdCG<4w>3j3jFO z7W^KB`OQIlK<-4Z`gj9^=5X|2l{dDGpc)Va#Bkx0>vgM`As4D; z6&YV+-$k3uB<_~)H~%BP=1N2j+{x;-aH#7}8U)scs)YiDAP_MTfbZ;O|9SRd8Y75| zdJVFC;IFwpat&#!V^n{|X}9;)QF%)b)FptZ1FF%ep6V8jbJVmm`1|Z-{30a!LioW) zC4a$d|I)G_G{&4`-EU5Q4X706$~sPAU+C7sdbc+nzF0=3NLfqbyFj~(Q8ubObz-=# zER9WAHv%*XDRh=K|M4RdbY*fttXOysAa~ZcpMKONNc$sa;k#~CQq#8gzRzn&zwdhx z$f^Ri`4*)tuop(J?8+jS-q%(SC zIg|=FoJue>Ft^R2+jJ$#{GxX~=k)Mw00RG-v%TpMJeUY~UrA*>jq$_x<6&F%2kIM7wWL3)z}>^9a{zeDMjBTp>-e; zMLA`Nl!z&(au{w#%E)2ZmQ#tl521|796C6kPhnBtLO@odPum8Ojt+m0qSRCZZ=*hbF-#X~H4Z!DH);(T`wYB&k1BDTv;p@IS^XC^T)77ke zTSY}IDHl$ge_B6uLk21qkqIUY-27ni^gv+{5;W>!#1IRBQov|ZohpoxQ3c7QO z3m9dP(9d-=Ne9B)gG#VJ@>;PqXrJQ))5(jR61rlPzufdRJIUAi(a*;wagVRBj9PUK zeDKO3$achH3Laz5Q50DtqA^v4gXEv(GV~t;V%4}E@g@4>#3rqm8^DI4AB(*Vwe#(k zlv(awF`vV=YaYie$9F$C#{8=fqXtHrOI|P>GSSPxz)}_l&6jdrmtz5_sbTbfs1&u?VsLG3t-d zt5;S2>KLE?K5K87GXIOj_*HXYYgL}as;?_j)uLfG5NpY$)-SCPqDFltT)||SP<-@Qc2-Mr-`aV_nYE~oy^&nA1e-Y z&7%<~5}Uj#J5EP|0sIP@2-{vQz=QO8grnzsg~fshe{Z!o zSL6F#o;&%)syu}K;Jv$6`f7_w-@yy`t(pJGXu2{dTxe?`(bItZn@F8_+hEycY_QQ5 z0#KP_m+9QTedXpWdpz`t8V+_DW6_6RwSJ|!%P@Ni4oIj)d&-kLie_&!(P#NTjGdj! zdMb9#oW%y7`I|{f{dTk{^R?Y_s@KUBL3P*=oHm1nt56h&;T2Cs1RQiR3E?XbM4 zIHcNDo0YM}O-B=#!NCPTh(u2^>IQV(R3<90#7g^`k<~|A*(OE-)i(al)RDFK2LdSd zO5|l4KsSFiV`V%inTm)|CJJVwZJ8^pieM?w%xFl%KV%(J%YX%}J4brY*F;%_*pH}4 z^Hx-L@B^xZ4r~P1OF_+%a0MD78Itt-85M6@O9NU(-vqdM%#HdlkdSfH#Q{XPm(nd1 zcqEty6=U>Cj1x^Arf+^5rtv{a13Yl7i;ek zq4kE}b!*@%d9vc!jGCF@~2^oSNEg+=;U$z=94(!8?xm^ zGH4x!GEtX!*B$c#ST4C)YBC@VQyR1~XQO}59={%r_s{>2+Ha1|K-#274}iG>vnInB z?(ara6dy8>S!%BXrr(L?O{0i<+I*B^3_jmz3T7P{VwGQ4pvW8n-(?e+!D`iQY+a0( zfIT3;)w6{XFW7>`2ns7in0BPc29bnn0zp^;Ok?VI&g9EAbw0ClFtPo!hhFy@z!4JO zl-d!Cqbl}E4F)IgOVqKH0^8N5t#`iH^$7iGjQ`g9>-^IqfSW?~Sn=(ZRloE)e6U^0 zyd~CFigb#(f=ZZ#bbO?zPQ-IV!>LBq4JXKeXtBTXsMA?2OJl#)g+PJ3=$O5o(C4TW z12OR(7{&qAPUS7-G-+*-iC!8}_76`1{M4`>6SSm=O{;;vwk-5DNsdIxL{;j`V&RFlEIdNUuKQ!a;@qKX8e+F4KM`ydf(xo zHQdBQ{GC12wfkHd3PVlaVL9l=GXLbN{XP`x;cghMhoE-&500w3`BeF11EFC~G1{~} zZ`5-GI;`U9ka0AyTk(ywC8}lUTH}CCW5-Ly$j2d9)7+`Ac5P zu~s={2P{6Y3XY$q zu~5d%IQ47BK9}}W7+uSP?WuUVTR+lKu4qY|D*yS}Aw!STMmI~K2GQu&RJKLd? zC9tIdy2(avx1+wyXiyX1>9NY%bjm(#e3EPm~YSfGfYjNJ{yc0pV z@iz%BLO!DJ?DsVpi%;5;I~H+Gev(;#_I#_eqoWYr?>7KfvDw>XiI*F?8v5>{EWiTN zxet#!MQ{~gjg~pPr6T#E$eTOje%EFNP4x)vJ>@;OiF@%3!=~vz8B<7lb$%=h&Sr6d ztD^bt}r}y~Pd22PL*& znxlpGV&6F?GBe=DAiqPad!=|ieGW(3`J+FEs=$bJgss=l9Lf+0x4USZam7Q(307LG z1s@a8FrW|hH=n~gV=D8XE{4hgmduRml6gyXxInUl;*UAtIg>bl^SMrhY*D7;QKbkK z3Y?jt=ZjstlA?2-P1yk2cc5#T;C^4o$+=D0FuzntN3sCvCRBRT?QKd{z@}ysbop~0 z<6ZUfSgiz7E?Ax87y*!b@lk8BeEMHkI({mt$pnuAUANsq~S2mJ*8b!ps*K}?m1#o{I1yUPVQ>|#1J?3 z#Az79{Z%=pE=#F&eQu0DdEH=zR3Ecw$qV@+!mRIq>j&}!dMyzEkputeAd(4>01YU6eRYXDpnariE~>Tos}u*i8yAkF z%4TXru$fz*ci}Oy<|U4KjqN{}vzeCV$gL&w-6`!-Anp#mLh&i7H17@o?VqnG6NXE;*-#Wgy_N{$*U$yZp64n47|-! zk#{s>obu1k}>t)gnGPQ9~2iqbO|e~>I`i3AKS>0=nk zwwci*)8J2f+&9!xnJhZG-D2Fq46*Q-~AC**hZ=+!AG!PwID|PTFdYQd5RIGyFM+ly{*JF@BAq^j3T3NK$)x%rH$aO zMa3aT7X(E_fwEI559WYRf}B1wUcxb7{e_p+RlOngAosX^P6{6>K9%4kxYc;K{95Q- zlAE59=PXd<(wz9m}=jU7TR z0ABjC_?SVfpm}F0B!eh>Z5;Bl)x!+kP$Q}$uDlMK-Tl~44Rs*}au3TqGs{#>Dg5b^ zO|pHL$cI^o8sQ$^a-|4o`16PjK*1Z(gO97-b7{OGBcGFJFVl4c={IPof#>MU2rbYD4!U`p6K&D^E`j(wg=;~|d z{3mT0S;?;Onu{W??ted>4^TU7Hu_XsGpj=_>vu)U>}?f=1oj~6x{qZtrM;W?BBA0* z;%)*0z(%FKdC$mL&HYZFGDTN>^3HuIpdxiEa~)>%zHsAjf?Q} zIbq5a_dfI9sILerXKyDh?%xx+8s0@fss5;jbU9*L-0hD@G(Ti6|xc&~jv?+Z>ul3eOldhgAaxQ@%Z=Zy0>`94=9-v7J9(&91DB5(^= z86)tDjq1UV)c?sod16MoB|8)6RiVd-Tz|LAdAM$TAhf?}qy^Q3?^aSMIp>U=K+E@d zrMW0c&LEcWr3}`He7B{lx*@ATcARfiVcce^uQCq04Au9CeZX=UY`N%44Ol0vi(LIS z5@9MfyE=87mda%iX^TKli~${9B<&8j`U7&KaV1p-ahCN8-X+q;QcF*)FPIMM%YKIT zWm0hM^?Jy?<;;U+dYNe*fk1DBALbaBl{NREs-ec;8oUo)2nh)DXl9yKZdJlj_fxlE zQpGX>BXcD*-Bt&gAM{`mv>83Biaz&Jx=BQWa+7(4HBTY<*t0^8S9Qq%O7rQDJWqwT zTV-4Qk-W{J^GOF&V0)E2Q1P_g**x>v(uv?=j2biVz`Uv0Li#>+^wc>dE>3?e5NKxI zlrHpY>R)qbZ}@NUG}+7FN);@(+i-HiJr!X3^AzNt#ug3+x0~Yie}3ue?)=K#hOqy1 zOv$?7ekcSyMG^Y&=kN3HW`IzLqpy$*U5i97lI1@FQH1HLB%UtjH_Y%nFg$=h!@g@r zd?9i4lGEWqS~Ux+5LbjXt0h-%1^lEUW(0kq7cvH#&%(?njs^?&+~z;=!JIjv=*t1* ztkw^MPPL1FhuWdrHSQ{CKrqq#q0 zRHQ2CuBN<Fg;tFdXh%yFS{B3u)Dl~O*KnsK3f04 ztoM7p&+gQk)MDt2ClH;}d=S*n6DA6{<4|??xb*2pKpDcbYThhhKcjjxk zD6g(N)ZaBZvy`V*KnyvrnwZw|>y|1Mxe_QfY2@JSZ;}|E?f7d_cR| zaPqDxk$Wuo!$|zfH}gq(OT*M$!Vzj~fmn3h^y`EC&Kq(x%)+U0#pa4?MTJdPefweF zmqeu65pV5i>}b*oNJ`52SVUXQ$nN{B%dhF#o)d{WY80=%%&Jbc+unK)O@w5m_#ZfQ zVjcQ*z)iifb$%}VGifEnjGT2b05pN3A_2l5?F0D)r{uR4TeIw-NMwwOe$TtOIQ+qDf}A=nLhef++uR)C5kuUD3VY) z>R*w{#m_n=6XuFq&J$#w*rR<<~B< zGX1bLOv8bfp-KLkHyPpw*(|lRk80#|RV5OKYk8?MmFbVOloe2BpMh)){bHj7^Br#d zxL9cObl^WQsRhket42HLN7UNTN-hf`4U};9N%>xJYoA&kTD(5sqdV4%)m>9z;gC%} zJ%j+5PqD{10?W&Y9d?I5Vb?0VWo$I5f))Y&ZdX{FMjg-+;uDs-GNFTP=%!{tEvVg2 zg%cJ`Xc9+@+9bSUCr*#6&l1fWr{(?Q;!#Fm=5Gr4cdz}m{!`N)bfn{EdOb#^>a~q* z [!NOTE] -> Highlights information that users should take into account, even when skimming. +> Useful information that users should know, even when skimming content. > [!TIP] -> Optional information to help a user be more successful. +> Helpful advice for doing things better or more easily. > [!IMPORTANT] -> Crucial information necessary for users to succeed. +> Key information users need to know to achieve their goal. > [!WARNING] -> Critical content demanding immediate user attention due to potential risks. +> Urgent info that needs immediate user attention to avoid problems. > [!CAUTION] -> Negative potential consequences of an action. +> Advises about risks or negative outcomes of certain actions. ``` -Here are the rendered alerts. +Here are the rendered alerts: -![Screenshot of rendered Markdown alerts showing how Note, Tips, Important, Warning, and Caution render with different colored text and icons.](/assets/images/help/writing/alerts-rendered.png) +![Screenshot of rendered Markdown alerts showing how Note, Tip, Important, Warning, and Caution render with different colored text and icons.](/assets/images/help/writing/alerts-rendered.png) {% endif %} diff --git a/content/rest/overview/about-the-openapi-description-for-the-rest-api.md b/content/rest/about-the-rest-api/about-the-openapi-description-for-the-rest-api.md similarity index 97% rename from content/rest/overview/about-the-openapi-description-for-the-rest-api.md rename to content/rest/about-the-rest-api/about-the-openapi-description-for-the-rest-api.md index 7afa6d06f3ec..a3d04d7015b3 100644 --- a/content/rest/overview/about-the-openapi-description-for-the-rest-api.md +++ b/content/rest/about-the-rest-api/about-the-openapi-description-for-the-rest-api.md @@ -10,6 +10,7 @@ topics: - API redirect_from: - /rest/overview/openapi-description + - /rest/overview/about-the-openapi-description-for-the-rest-api --- ## About OpenAPI diff --git a/content/rest/overview/api-versions.md b/content/rest/about-the-rest-api/api-versions.md similarity index 98% rename from content/rest/overview/api-versions.md rename to content/rest/about-the-rest-api/api-versions.md index 9cb4ea02f20c..e767e7fd7262 100644 --- a/content/rest/overview/api-versions.md +++ b/content/rest/about-the-rest-api/api-versions.md @@ -4,6 +4,8 @@ shortTitle: API Versions intro: Learn how to specify which REST API version to use whenever you make a request to the REST API. versions: feature: api-date-versioning +redirect_from: + - /rest/overview/api-versions --- ## About API versioning diff --git a/content/rest/overview/breaking-changes.md b/content/rest/about-the-rest-api/breaking-changes.md similarity index 96% rename from content/rest/overview/breaking-changes.md rename to content/rest/about-the-rest-api/breaking-changes.md index 684729e4642e..619c3b9a2249 100644 --- a/content/rest/overview/breaking-changes.md +++ b/content/rest/about-the-rest-api/breaking-changes.md @@ -4,6 +4,8 @@ shortTitle: Breaking changes intro: Learn about breaking changes that were introduced in each REST API version. versions: feature: api-date-versioning +redirect_from: + - /rest/overview/breaking-changes --- ## About breaking changes in the REST API diff --git a/content/rest/overview/comparing-githubs-rest-api-and-graphql-api.md b/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md similarity index 98% rename from content/rest/overview/comparing-githubs-rest-api-and-graphql-api.md rename to content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md index 4b66784181a1..5a676627702a 100644 --- a/content/rest/overview/comparing-githubs-rest-api-and-graphql-api.md +++ b/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md @@ -8,6 +8,7 @@ redirect_from: - /github/extending-github/getting-started-with-the-api - /developers/overview/about-githubs-apis - /rest/overview/about-githubs-apis + - /rest/overview/comparing-githubs-rest-api-and-graphql-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/about-the-rest-api/index.md b/content/rest/about-the-rest-api/index.md new file mode 100644 index 000000000000..4ecfeadf3479 --- /dev/null +++ b/content/rest/about-the-rest-api/index.md @@ -0,0 +1,19 @@ +--- +title: About the REST API +intro: 'Learn more about the {% data variables.product.prodname_dotcom %} REST API and what you can do with it.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +children: + - /comparing-githubs-rest-api-and-graphql-api + - /api-versions + - /breaking-changes + - /about-the-openapi-description-for-the-rest-api +autogenerated: rest +--- + + diff --git a/content/rest/overview/authenticating-to-the-rest-api.md b/content/rest/authentication/authenticating-to-the-rest-api.md similarity index 99% rename from content/rest/overview/authenticating-to-the-rest-api.md rename to content/rest/authentication/authenticating-to-the-rest-api.md index 4636a96d4855..1d34f2af4475 100644 --- a/content/rest/overview/authenticating-to-the-rest-api.md +++ b/content/rest/authentication/authenticating-to-the-rest-api.md @@ -4,6 +4,7 @@ intro: You can authenticate to the REST API to access more endpoints and have a redirect_from: - /v3/auth - /rest/overview/other-authentication-methods + - /rest/overview/authenticating-to-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md b/content/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.md similarity index 68% rename from content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md rename to content/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.md index daa5c382a8af..c3cdc9b21e3f 100644 --- a/content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md +++ b/content/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.md @@ -3,8 +3,10 @@ title: Endpoints available for fine-grained personal access tokens intro: 'Your {% data variables.product.pat_v2 %} can make requests to the following REST endpoints.' versions: feature: pat-v2 -shortTitle: 'Endpoints for fine-grained PATs' +shortTitle: Endpoints for fine-grained PATs autogenerated: github-apps +redirect_from: + - /rest/overview/endpoints-available-for-fine-grained-personal-access-tokens --- diff --git a/content/rest/overview/endpoints-available-for-github-app-installation-access-tokens.md b/content/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.md similarity index 91% rename from content/rest/overview/endpoints-available-for-github-app-installation-access-tokens.md rename to content/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.md index a9409a9b2291..9397d5b3958d 100644 --- a/content/rest/overview/endpoints-available-for-github-app-installation-access-tokens.md +++ b/content/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.md @@ -7,6 +7,7 @@ redirect_from: - /v3/apps/available-endpoints - /rest/reference/endpoints-available-for-github-apps - /rest/overview/endpoints-available-for-github-apps + - /rest/overview/endpoints-available-for-github-app-installation-access-tokens versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/endpoints-available-for-github-app-user-access-tokens.md b/content/rest/authentication/endpoints-available-for-github-app-user-access-tokens.md similarity index 76% rename from content/rest/overview/endpoints-available-for-github-app-user-access-tokens.md rename to content/rest/authentication/endpoints-available-for-github-app-user-access-tokens.md index b6672fda18ee..b2970dd1f632 100644 --- a/content/rest/overview/endpoints-available-for-github-app-user-access-tokens.md +++ b/content/rest/authentication/endpoints-available-for-github-app-user-access-tokens.md @@ -1,7 +1,7 @@ --- title: Endpoints available for GitHub App user access tokens shortTitle: Endpoints for GitHub App user tokens -intro: 'Your GitHub App can make requests to the following REST endpoints with a user access token.' +intro: Your GitHub App can make requests to the following REST endpoints with a user access token. permissions: 'You can use a user access token to access these endpoints using your {% data variables.product.prodname_github_app %}. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user)."' versions: fpt: '*' @@ -12,6 +12,8 @@ topics: - API - GitHub Apps autogenerated: github-apps +redirect_from: + - /rest/overview/endpoints-available-for-github-app-user-access-tokens --- diff --git a/content/rest/overview/index.md b/content/rest/authentication/index.md similarity index 50% rename from content/rest/overview/index.md rename to content/rest/authentication/index.md index 1fa5e8699b09..ef89d85e04ce 100644 --- a/content/rest/overview/index.md +++ b/content/rest/authentication/index.md @@ -1,7 +1,7 @@ --- -title: REST API overview -shortTitle: Overview -intro: 'Learn about resources, libraries, previews and troubleshooting for {% data variables.product.prodname_dotcom %}''s REST API.' +title: Authenticating to the REST API +shortTitle: Authentication +intro: 'Learn how to authenticate your REST API requests.' versions: fpt: '*' ghes: '*' @@ -10,25 +10,11 @@ versions: topics: - API children: - - /comparing-githubs-rest-api-and-graphql-api - - /resources-in-the-rest-api - - /rate-limits-for-the-rest-api - - /api-versions - - /media-types - /authenticating-to-the-rest-api - /keeping-your-api-credentials-secure - - /troubleshooting-the-rest-api - - /libraries-for-the-rest-api - - /about-the-openapi-description-for-the-rest-api - - /issue-event-types - - /github-event-types - /endpoints-available-for-github-app-installation-access-tokens - /endpoints-available-for-github-app-user-access-tokens - /endpoints-available-for-fine-grained-personal-access-tokens - /permissions-required-for-github-apps - /permissions-required-for-fine-grained-personal-access-tokens - - /breaking-changes -redirect_from: - - /developers/overview --- - diff --git a/content/rest/overview/keeping-your-api-credentials-secure.md b/content/rest/authentication/keeping-your-api-credentials-secure.md similarity index 97% rename from content/rest/overview/keeping-your-api-credentials-secure.md rename to content/rest/authentication/keeping-your-api-credentials-secure.md index 95f6b39c6dc3..d0d3b0188c43 100644 --- a/content/rest/overview/keeping-your-api-credentials-secure.md +++ b/content/rest/authentication/keeping-your-api-credentials-secure.md @@ -1,7 +1,7 @@ --- title: Keeping your API credentials secure shortTitle: Keeping API credentials secure -intro: 'Follow these best practices to keep your API credentials and tokens secure.' +intro: Follow these best practices to keep your API credentials and tokens secure. versions: fpt: '*' ghes: '*' @@ -9,6 +9,8 @@ versions: ghec: '*' topics: - API +redirect_from: + - /rest/overview/keeping-your-api-credentials-secure --- ## Choose an appropriate authentication method diff --git a/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md b/content/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.md similarity index 89% rename from content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md rename to content/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.md index 4d65c545beb2..1a701245ce03 100644 --- a/content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md +++ b/content/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.md @@ -3,8 +3,10 @@ title: Permissions required for fine-grained personal access tokens intro: 'These are the permissions required for a {% data variables.product.pat_v2 %} to use each REST API endpoint that works with {% data variables.product.pat_v2 %}s.' versions: feature: pat-v2 -shortTitle: 'Permissions for fine-grained PATs' +shortTitle: Permissions for fine-grained PATs autogenerated: github-apps +redirect_from: + - /rest/overview/permissions-required-for-fine-grained-personal-access-tokens --- ## About permissions required for {% data variables.product.pat_v2 %} diff --git a/content/rest/overview/permissions-required-for-github-apps.md b/content/rest/authentication/permissions-required-for-github-apps.md similarity index 96% rename from content/rest/overview/permissions-required-for-github-apps.md rename to content/rest/authentication/permissions-required-for-github-apps.md index 3f1ad9cbc437..4e9d7aa54a9d 100644 --- a/content/rest/overview/permissions-required-for-github-apps.md +++ b/content/rest/authentication/permissions-required-for-github-apps.md @@ -4,6 +4,7 @@ intro: 'These are the permissions required for a {% data variables.product.prodn redirect_from: - /v3/apps/permissions - /rest/reference/permissions-required-for-github-apps + - /rest/overview/permissions-required-for-github-apps versions: fpt: '*' ghes: '*' diff --git a/content/rest/guides/index.md b/content/rest/guides/index.md index c2ec86152c7e..d77919954ed8 100644 --- a/content/rest/guides/index.md +++ b/content/rest/guides/index.md @@ -12,16 +12,13 @@ versions: topics: - API children: - - /getting-started-with-the-rest-api - /scripting-with-the-rest-api-and-javascript - /scripting-with-the-rest-api-and-ruby - /discovering-resources-for-a-user - /delivering-deployments - /rendering-data-as-graphs - /working-with-comments - - /using-pagination-in-the-rest-api - /building-a-ci-server - - /best-practices-for-using-the-rest-api - /using-the-rest-api-to-interact-with-your-git-database - /using-the-rest-api-to-interact-with-checks - /encrypting-secrets-for-the-rest-api diff --git a/content/rest/index.md b/content/rest/index.md index 59946f3169c2..12a94b71f6ec 100644 --- a/content/rest/index.md +++ b/content/rest/index.md @@ -1,35 +1,35 @@ --- title: GitHub REST API documentation shortTitle: REST API -intro: >- - To create integrations, retrieve data, and automate your workflows, build with - the {% data variables.product.prodname_dotcom %} REST API. +intro: 'Create integrations, retrieve data, and automate your workflows with the {% data variables.product.prodname_dotcom %} REST API.' introLinks: quickstart: /rest/quickstart - overview: /rest/guides/getting-started-with-the-rest-api + overview: /rest/using-the-rest-api/getting-started-with-the-rest-api featuredLinks: startHere: - - /rest/guides/getting-started-with-the-rest-api - - /rest/overview/authenticating-to-the-rest-api - - /rest/guides/best-practices-for-using-the-rest-api - - /rest/guides/using-pagination-in-the-rest-api + - /rest/using-the-rest-api/getting-started-with-the-rest-api + - /rest/authentication/authenticating-to-the-rest-api + - /rest/using-the-rest-api/best-practices-for-using-the-rest-api + - /rest/using-the-rest-api/using-pagination-in-the-rest-api popular: - - /rest/overview/rate-limits-for-the-rest-api - - /rest/overview/api-versions - - /rest/overview/authenticating-to-the-rest-api - - /rest/overview/troubleshooting-the-rest-api + - /rest/using-the-rest-api/rate-limits-for-the-rest-api + - /rest/about-the-rest-api/api-versions + - /rest/authentication/authenticating-to-the-rest-api + - /rest/using-the-rest-api/troubleshooting-the-rest-api - /rest/guides/scripting-with-the-rest-api-and-javascript - - /rest/overview/keeping-your-api-credentials-secure + - /rest/authentication/keeping-your-api-credentials-secure guideCards: - /rest/guides/delivering-deployments - /rest/guides/using-the-rest-api-to-interact-with-checks - - /rest/guides/using-pagination-in-the-rest-api + - /rest/using-the-rest-api/using-pagination-in-the-rest-api changelog: label: 'api, apis' layout: product-landing redirect_from: - /v3 - /rest/reference + - /rest/overview + - /developers/overview versions: fpt: '*' ghes: '*' @@ -37,7 +37,9 @@ versions: ghec: '*' children: - /quickstart - - /overview + - /about-the-rest-api + - /using-the-rest-api + - /authentication - /guides - /actions - /activity diff --git a/content/rest/guides/best-practices-for-using-the-rest-api.md b/content/rest/using-the-rest-api/best-practices-for-using-the-rest-api.md similarity index 99% rename from content/rest/guides/best-practices-for-using-the-rest-api.md rename to content/rest/using-the-rest-api/best-practices-for-using-the-rest-api.md index 0cec5eaf8734..e22bd616376c 100644 --- a/content/rest/guides/best-practices-for-using-the-rest-api.md +++ b/content/rest/using-the-rest-api/best-practices-for-using-the-rest-api.md @@ -5,6 +5,7 @@ redirect_from: - /guides/best-practices-for-integrators - /v3/guides/best-practices-for-integrators - /rest/guides/best-practices-for-integrators + - /rest/guides/best-practices-for-using-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/guides/getting-started-with-the-rest-api.md b/content/rest/using-the-rest-api/getting-started-with-the-rest-api.md similarity index 99% rename from content/rest/guides/getting-started-with-the-rest-api.md rename to content/rest/using-the-rest-api/getting-started-with-the-rest-api.md index 16c54db78565..cb4726229ee7 100644 --- a/content/rest/guides/getting-started-with-the-rest-api.md +++ b/content/rest/using-the-rest-api/getting-started-with-the-rest-api.md @@ -1,6 +1,6 @@ --- title: Getting started with the REST API -shortTitle: Using the API +shortTitle: Getting started intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API.' versions: fpt: '*' @@ -9,6 +9,8 @@ versions: ghec: '*' topics: - API +redirect_from: + - /rest/guides/getting-started-with-the-rest-api --- ## Introduction diff --git a/content/rest/overview/github-event-types.md b/content/rest/using-the-rest-api/github-event-types.md similarity index 99% rename from content/rest/overview/github-event-types.md rename to content/rest/using-the-rest-api/github-event-types.md index 958462a5cae6..ec241435b105 100644 --- a/content/rest/overview/github-event-types.md +++ b/content/rest/using-the-rest-api/github-event-types.md @@ -7,6 +7,7 @@ redirect_from: - /developers/webhooks-and-events/events/github-event-types - /webhooks-and-events/events/github-event-types - /developers/webhooks-and-events/events + - /rest/overview/github-event-types versions: fpt: '*' ghes: '*' diff --git a/content/rest/using-the-rest-api/index.md b/content/rest/using-the-rest-api/index.md new file mode 100644 index 000000000000..3a4755645bec --- /dev/null +++ b/content/rest/using-the-rest-api/index.md @@ -0,0 +1,22 @@ +--- +title: Using the REST API +intro: 'Learn how to use the {% data variables.product.prodname_dotcom %} REST API, follow best practices, and troubleshoot problems.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +topics: + - API +children: + - /getting-started-with-the-rest-api + - /rate-limits-for-the-rest-api + - /resources-in-the-rest-api + - /using-pagination-in-the-rest-api + - /libraries-for-the-rest-api + - /media-types + - /best-practices-for-using-the-rest-api + - /troubleshooting-the-rest-api + - /issue-event-types + - /github-event-types +--- diff --git a/content/rest/overview/issue-event-types.md b/content/rest/using-the-rest-api/issue-event-types.md similarity index 99% rename from content/rest/overview/issue-event-types.md rename to content/rest/using-the-rest-api/issue-event-types.md index 121c4fed8f1b..b36926590cd2 100644 --- a/content/rest/overview/issue-event-types.md +++ b/content/rest/using-the-rest-api/issue-event-types.md @@ -6,6 +6,7 @@ redirect_from: - /developers/webhooks-and-events/issue-event-types - /developers/webhooks-and-events/events/issue-event-types - /webhooks-and-events/events/issue-event-types + - /rest/overview/issue-event-types versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/libraries-for-the-rest-api.md b/content/rest/using-the-rest-api/libraries-for-the-rest-api.md similarity index 99% rename from content/rest/overview/libraries-for-the-rest-api.md rename to content/rest/using-the-rest-api/libraries-for-the-rest-api.md index 7fea288445d3..78f7705c9b76 100644 --- a/content/rest/overview/libraries-for-the-rest-api.md +++ b/content/rest/using-the-rest-api/libraries-for-the-rest-api.md @@ -6,6 +6,7 @@ redirect_from: - /libraries - /v3/libraries - /rest/overview/libraries + - /rest/overview/libraries-for-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/media-types.md b/content/rest/using-the-rest-api/media-types.md similarity index 99% rename from content/rest/overview/media-types.md rename to content/rest/using-the-rest-api/media-types.md index a577a59d72a2..1e978757e3bd 100644 --- a/content/rest/overview/media-types.md +++ b/content/rest/using-the-rest-api/media-types.md @@ -3,6 +3,7 @@ title: Media types intro: Learn about media types for specifying the format of the data you want to consume. redirect_from: - /v3/media + - /rest/overview/media-types versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/rate-limits-for-the-rest-api.md b/content/rest/using-the-rest-api/rate-limits-for-the-rest-api.md similarity index 99% rename from content/rest/overview/rate-limits-for-the-rest-api.md rename to content/rest/using-the-rest-api/rate-limits-for-the-rest-api.md index 42b314e33fd1..6fcaab4c98f7 100644 --- a/content/rest/overview/rate-limits-for-the-rest-api.md +++ b/content/rest/using-the-rest-api/rate-limits-for-the-rest-api.md @@ -9,6 +9,8 @@ versions: ghec: '*' topics: - API +redirect_from: + - /rest/overview/rate-limits-for-the-rest-api --- {% ifversion ghes %} diff --git a/content/rest/overview/resources-in-the-rest-api.md b/content/rest/using-the-rest-api/resources-in-the-rest-api.md similarity index 99% rename from content/rest/overview/resources-in-the-rest-api.md rename to content/rest/using-the-rest-api/resources-in-the-rest-api.md index e6b887f102fa..8904961ba10a 100644 --- a/content/rest/overview/resources-in-the-rest-api.md +++ b/content/rest/using-the-rest-api/resources-in-the-rest-api.md @@ -3,6 +3,7 @@ title: Resources in the REST API intro: 'Learn how to navigate the resources provided by the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API.' redirect_from: - /rest/initialize-the-repo + - /rest/overview/resources-in-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/overview/troubleshooting-the-rest-api.md b/content/rest/using-the-rest-api/troubleshooting-the-rest-api.md similarity index 99% rename from content/rest/overview/troubleshooting-the-rest-api.md rename to content/rest/using-the-rest-api/troubleshooting-the-rest-api.md index 3a855334c804..75345d452a5f 100644 --- a/content/rest/overview/troubleshooting-the-rest-api.md +++ b/content/rest/using-the-rest-api/troubleshooting-the-rest-api.md @@ -5,6 +5,7 @@ intro: Learn how to diagnose and resolve common problems for the REST API. redirect_from: - /v3/troubleshooting - /rest/overview/troubleshooting + - /rest/overview/troubleshooting-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/rest/guides/using-pagination-in-the-rest-api.md b/content/rest/using-the-rest-api/using-pagination-in-the-rest-api.md similarity index 99% rename from content/rest/guides/using-pagination-in-the-rest-api.md rename to content/rest/using-the-rest-api/using-pagination-in-the-rest-api.md index 832d07bf1582..c1487dd2692e 100644 --- a/content/rest/guides/using-pagination-in-the-rest-api.md +++ b/content/rest/using-the-rest-api/using-pagination-in-the-rest-api.md @@ -5,6 +5,7 @@ redirect_from: - /guides/traversing-with-pagination - /v3/guides/traversing-with-pagination - /rest/guides/traversing-with-pagination + - /rest/guides/using-pagination-in-the-rest-api versions: fpt: '*' ghes: '*' diff --git a/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md b/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md index 737c5620187c..1703e9455890 100644 --- a/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md +++ b/content/sponsors/receiving-sponsorships-through-github-sponsors/tax-information-for-github-sponsors.md @@ -16,11 +16,11 @@ shortTitle: Tax information ## W-9/W-8 tax forms -By law, {% data variables.product.prodname_dotcom %} is required by the U.S. Internal Revenue Service (IRS) to collect tax information from all U.S. and non-U.S. maintainers. These forms are held by {% data variables.product.prodname_dotcom %} and are not required to be submitted to the IRS. +By law, {% data variables.product.prodname_dotcom %} is required by the U.S. Internal Revenue Service (IRS) to collect tax information from all U.S. and non-U.S. maintainers. These forms are held by Stripe and are not required to be submitted to the IRS. ### W-9 (U.S.) -The information from W-9 tax forms helps {% data variables.product.prodname_dotcom %} use the correct Taxpayer Identification Number (TIN) to report income paid to you to the IRS in a 1099 form. +The information from W-9 tax forms helps Stripe use the correct Taxpayer Identification Number (TIN) to report income paid to you to the IRS in a 1099 form. If you are a taxpayer in the United States, you must submit a [W-9](https://www.irs.gov/forms-pubs/about-form-w-9) before you can publish your {% data variables.product.prodname_sponsors %} profile. @@ -28,9 +28,9 @@ If you are a taxpayer in the United States, you must submit a [W-9](https://www. W-8 BEN and W-8 BEN-E tax forms help {% data variables.product.prodname_dotcom %} determine the beneficial owner of an amount subject to withholding. -If you are a taxpayer in any other region besides the United States, you must submit a [W-8 BEN](https://www.irs.gov/pub/irs-pdf/fw8ben.pdf) (individual) or [W-8 BEN-E](https://www.irs.gov/forms-pubs/about-form-w-8-ben-e) (company) form before you can publish your {% data variables.product.prodname_sponsors %} profile. For more information, see "[AUTOTITLE](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account#submitting-your-tax-information)" and "[AUTOTITLE](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization#submitting-your-tax-information)." {% data variables.product.prodname_dotcom %} will send you the appropriate forms, notify you when they are due, and give you a reasonable amount of time to complete and send in the forms. +If you are a taxpayer in any other region besides the United States, you must submit a [W-8 BEN](https://www.irs.gov/pub/irs-pdf/fw8ben.pdf) (individual) or [W-8 BEN-E](https://www.irs.gov/forms-pubs/about-form-w-8-ben-e) (company) form before you can publish your {% data variables.product.prodname_sponsors %} profile. For more information, see "[AUTOTITLE](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-personal-account#submitting-your-tax-information)" and "[AUTOTITLE](/sponsors/receiving-sponsorships-through-github-sponsors/setting-up-github-sponsors-for-your-organization#submitting-your-tax-information)." Stripe will send you the appropriate forms, notify you when they are due, and give you a reasonable amount of time to complete and send in the forms. -If you have been assigned an incorrect tax form, contact us through the {% data variables.contact.contact_support_portal %} to get reassigned the correct one for your situation. +If you have been assigned an incorrect tax form, you can contact Stripe to get reassigned the correct one for your situation. For more information, see [Contact Us](https://support.stripe.com/contact/email?topic=connect) on the Stripe Support site. ### Tax identification numbers @@ -61,7 +61,7 @@ If you are a taxpayer in the United States and earn more than 600 US dollars in ## Sales tax -GitHub is providing information to assist you in calculating your sales tax obligations. This information is not personalized to your country or tax situation and we recommend you talk to a professional to understand your specific obligations. However, we'd like to provide some high-level information to help you understand the general principles of digital sales tax. +{% data variables.product.prodname_dotcom %} is providing information to assist you in calculating your sales tax obligations. This information is not personalized to your country or tax situation and we recommend you talk to a professional to understand your specific obligations. However, we'd like to provide some high-level information to help you understand the general principles of digital sales tax. In most countries around the world, sales tax for digital transactions is based on the location of the recipient, not on the seller. For example, if you are a maintainer in the United States and you provide a taxable benefit to a Sponsor in Germany, German sales tax would apply. @@ -73,4 +73,4 @@ In the EU and most other countries and regions, B2C sales are subject to sales t ## Further reading -- [Viewing your sponsors and sponsorships](/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships) +- "[AUTOTITLE](/sponsors/receiving-sponsorships-through-github-sponsors/viewing-your-sponsors-and-sponsorships)" diff --git a/src/code-scanning/README.md b/src/code-scanning/README.md new file mode 100644 index 000000000000..2dbadbf1306d --- /dev/null +++ b/src/code-scanning/README.md @@ -0,0 +1,64 @@ +# Code scanning query tables + +This nascent pipeline creates autogenerated documentation docs.github.com from the query suites included with the [CodeQL bundle](https://github.com/github/codeql-action/releases). + +The pipeline is used to generate Markdown tables that are stored in reusable files and used in article pages on the docs.github.com site. + +## How does it work + +```mermaid +--- +title: "Process for generating Code scanning query tables" +--- +flowchart TB + +accDescr: A flow chart describing how the automation generates documentation for code scanning queries. + + start([Start]) --> checkout[Checkout the codeql repository] + start --- download[Download the CodeQL CLI] + checkout --- query-suites[fa:fa-file Query suites *.qls] + query-suites ---> generate[Generate tables:src/code-scanning/scripts/generate-code-scanning-query-lists.ts] + download --- codeql-cli[CodeQL CLI: codeql.exe] + codeql-cli --> generate + generate --- markdown[fa:fa-file Reusable files *.md] + markdown --> pr[Generate a PR overwriting:data/reusables/code-scanning/codeql-query-tables/*.md] + pr --> finish([End]) + +%% Define styles + classDef start fill:#1AAC9D, color:white + classDef action fill:#6557F6, color:white + classDef finish fill:#F8C324, color:white + classDef file fill:#ddd + +%% Assign styles + class start start; + class finish finish; + class checkout,download,generate,pr action; + class markdown,query-suites,codeql-cli file; +``` + +A [workflow](.github/workflows/generate-code-scanning-query-lists.yml) is used to trigger the automation of the code scanning query tables documentation. The workflow is manually triggered by a member of the GitHub Docs team approximately every two weeks to align to releases of the CodeQL CLI. The workflow takes an input parameter that specifies the branch to pull the source files from in the semmle-code repo. If the branch input is omitted, the workflow will default to the `main` branch. + +The workflow runs the `npm run generate-code-scanning-query-list` script, which generates Markdown files under `data/reusables/code-scanning/codeql-query-tables`. + +The workflow automatically creates a new pull request with the changes and the label `codeql-query-tables`. + +## Local development + +To run the pipeline locally, see the comments in the [script](scripts/generate-code-scanning-query-list.ts). + +## Content team + +The content writers can use the reusables in any content article. They have no need to make any changes to the script unless additional built-in query suites are added. + +## How to get help + +### For workflow and script problems + +Slack: `#docs-engineering` +Repo: `github/docs-engineering` + +### For CodeQL repository and CLI problems + +Slack: `#code-scanning-internal-dx` +Repo: `github/code-scanning-internal-dx-team` diff --git a/src/fixtures/fixtures/content/rest/overview/about-githubs-apis.md b/src/fixtures/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md similarity index 100% rename from src/fixtures/fixtures/content/rest/overview/about-githubs-apis.md rename to src/fixtures/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md diff --git a/src/fixtures/fixtures/content/rest/overview/index.md b/src/fixtures/fixtures/content/rest/about-the-rest-api/index.md similarity index 84% rename from src/fixtures/fixtures/content/rest/overview/index.md rename to src/fixtures/fixtures/content/rest/about-the-rest-api/index.md index 3562c0e09636..36340c4bbdcf 100644 --- a/src/fixtures/fixtures/content/rest/overview/index.md +++ b/src/fixtures/fixtures/content/rest/about-the-rest-api/index.md @@ -8,5 +8,5 @@ versions: ghae: '*' ghec: '*' children: - - /about-githubs-apis + - /comparing-githubs-rest-api-and-graphql-api --- diff --git a/src/fixtures/fixtures/content/rest/index.md b/src/fixtures/fixtures/content/rest/index.md index 678acad855d3..e591e8931b27 100644 --- a/src/fixtures/fixtures/content/rest/index.md +++ b/src/fixtures/fixtures/content/rest/index.md @@ -5,10 +5,10 @@ intro: >- To create integrations, retrieve data, and automate your workflows, build with the {% data variables.product.prodname_dotcom %} REST API. introLinks: - quickstart: /rest/overview + quickstart: /rest featuredLinks: popular: - - /rest/overview/about-githubs-apis + - /rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api changelog: label: 'api, apis' layout: product-landing @@ -18,7 +18,7 @@ versions: ghae: '*' ghec: '*' children: - - /overview + - /about-the-rest-api - /actions --- diff --git a/src/fixtures/fixtures/rest-redirects.json b/src/fixtures/fixtures/rest-redirects.json index 9178ef1db688..94540bc4a297 100644 --- a/src/fixtures/fixtures/rest-redirects.json +++ b/src/fixtures/fixtures/rest-redirects.json @@ -393,7 +393,7 @@ "/v3/actions/workflow-jobs": "/en/rest/actions/workflow-jobs", "/v3/actions/workflow-runs": "/en/rest/actions/workflow-runs", "/v3/actions/workflows": "/en/rest/actions/workflows", - "/v3/activity/event_types": "/en/rest/overview/github-event-types", + "/v3/activity/event_types": "/en/rest/using-the-rest-api/github-event-types", "/v3/activity/events/types": "/en/webhooks/webhook-events-and-payloads", "/v3/activity/events": "/en/rest/activity/events", "/v3/activity/feeds": "/en/rest/activity/feeds", @@ -401,12 +401,12 @@ "/v3/activity/notifications": "/en/rest/activity/notifications", "/v3/activity/starring": "/en/rest/activity/starring", "/v3/activity/watching": "/en/rest/activity/watching", - "/v3/apps/available-endpoints": "/en/rest/overview/endpoints-available-for-github-app-installation-access-tokens", + "/v3/apps/available-endpoints": "/en/rest/authentication/endpoints-available-for-github-app-installation-access-tokens", "/v3/apps": "/en/rest/apps", "/v3/apps/installations": "/en/rest/apps/installations", "/v3/apps/marketplace": "/en/rest/apps/marketplace", "/v3/apps/oauth_applications": "/en/rest/apps/oauth-applications", - "/v3/apps/permissions": "/en/rest/overview/permissions-required-for-github-apps", + "/v3/apps/permissions": "/en/rest/authentication/permissions-required-for-github-apps", "/v3/checks": "/en/rest/checks", "/v3/checks/runs": "/en/rest/checks/runs", "/v3/checks/suites": "/en/rest/checks/suites", @@ -440,7 +440,7 @@ "/v3/issues/comments": "/en/rest/issues/comments", "/v3/issues/events": "/en/rest/issues/events", "/v3/issues": "/en/rest/issues", - "/v3/issues/issue-event-types": "/en/rest/overview/issue-event-types", + "/v3/issues/issue-event-types": "/en/rest/using-the-rest-api/issue-event-types", "/v3/issues/labels": "/en/rest/issues/labels", "/v3/issues/milestones": "/en/rest/issues/milestones", "/v3/issues/timeline": "/en/rest/issues/timeline", diff --git a/src/fixtures/tests/playwright-a11y.spec.ts b/src/fixtures/tests/playwright-a11y.spec.ts index 6813db989d0c..44957ed7e560 100644 --- a/src/fixtures/tests/playwright-a11y.spec.ts +++ b/src/fixtures/tests/playwright-a11y.spec.ts @@ -13,7 +13,7 @@ const pages: { [key: string]: string } = { productLanding: '/code-security', restCategory: '/rest/actions/artifacts', restLanding: '/rest', - restOverview: '/rest/overview/about-githubs-apis', + restOverview: '/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api', search: '/search?q=playwright', switchers: '/get-started/liquid/tool-platform-switcher', tableWithHeaders: '/get-started/liquid/table-row-headers', diff --git a/src/github-apps/lib/config.json b/src/github-apps/lib/config.json index 81ea3eedec7e..4ef0ef64dc6e 100644 --- a/src/github-apps/lib/config.json +++ b/src/github-apps/lib/config.json @@ -1,5 +1,5 @@ { - "targetDirectory": "content/rest/overview", + "targetDirectory": "content/rest/authentication", "pages": { "server-to-server-rest": { "frontmatterDefaults": { @@ -11,7 +11,7 @@ }, "autogenerated": "github-apps" }, - "targetFilename": "content/rest/overview/endpoints-available-for-github-app-installation-access-tokens.md" + "targetFilename": "content/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.md" }, "user-to-server-rest": { "frontmatterDefaults": { @@ -23,7 +23,7 @@ }, "autogenerated": "github-apps" }, - "targetFilename": "content/rest/overview/endpoints-available-for-github-app-user-access-tokens.md" + "targetFilename": "content/rest/authentication/endpoints-available-for-github-app-user-access-tokens.md" }, "server-to-server-permissions": { "frontmatterDefaults": { @@ -35,21 +35,21 @@ }, "autogenerated": "github-apps" }, - "targetFilename": "content/rest/overview/permissions-required-for-github-apps.md" + "targetFilename": "content/rest/authentication/permissions-required-for-github-apps.md" }, "fine-grained-pat": { "frontmatterDefaults": { "versions": "data/features/pat-v2.yml", "autogenerated": "github-apps" }, - "targetFilename": "content/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.md" + "targetFilename": "content/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.md" }, "fine-grained-pat-permissions": { "frontmatterDefaults": { "versions": "data/features/pat-v2.yml", "autogenerated": "github-apps" }, - "targetFilename": "content/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.md" + "targetFilename": "content/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.md" } }, "api-versions": { diff --git a/src/pages/[versionId]/rest/overview/[...restPage].tsx b/src/pages/[versionId]/rest/about-the-rest-api/[...restPage].tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/[...restPage].tsx rename to src/pages/[versionId]/rest/about-the-rest-api/[...restPage].tsx diff --git a/src/pages/[versionId]/rest/overview/index.tsx b/src/pages/[versionId]/rest/about-the-rest-api/index.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/index.tsx rename to src/pages/[versionId]/rest/about-the-rest-api/index.tsx diff --git a/src/pages/[versionId]/rest/authentication/[...restPage].tsx b/src/pages/[versionId]/rest/authentication/[...restPage].tsx new file mode 100644 index 000000000000..3544355f3fb1 --- /dev/null +++ b/src/pages/[versionId]/rest/authentication/[...restPage].tsx @@ -0,0 +1 @@ +export { default, getServerSideProps } from '../../[productId]/index' diff --git a/src/pages/[versionId]/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.tsx b/src/pages/[versionId]/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/endpoints-available-for-fine-grained-personal-access-tokens.tsx rename to src/pages/[versionId]/rest/authentication/endpoints-available-for-fine-grained-personal-access-tokens.tsx diff --git a/src/pages/[versionId]/rest/overview/endpoints-available-for-github-app-installation-access-tokens.tsx b/src/pages/[versionId]/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/endpoints-available-for-github-app-installation-access-tokens.tsx rename to src/pages/[versionId]/rest/authentication/endpoints-available-for-github-app-installation-access-tokens.tsx diff --git a/src/pages/[versionId]/rest/overview/endpoints-available-for-github-app-user-access-tokens.tsx b/src/pages/[versionId]/rest/authentication/endpoints-available-for-github-app-user-access-tokens.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/endpoints-available-for-github-app-user-access-tokens.tsx rename to src/pages/[versionId]/rest/authentication/endpoints-available-for-github-app-user-access-tokens.tsx diff --git a/src/pages/[versionId]/rest/authentication/index.tsx b/src/pages/[versionId]/rest/authentication/index.tsx new file mode 100644 index 000000000000..3544355f3fb1 --- /dev/null +++ b/src/pages/[versionId]/rest/authentication/index.tsx @@ -0,0 +1 @@ +export { default, getServerSideProps } from '../../[productId]/index' diff --git a/src/pages/[versionId]/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.tsx b/src/pages/[versionId]/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/permissions-required-for-fine-grained-personal-access-tokens.tsx rename to src/pages/[versionId]/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens.tsx diff --git a/src/pages/[versionId]/rest/overview/permissions-required-for-github-apps.tsx b/src/pages/[versionId]/rest/authentication/permissions-required-for-github-apps.tsx similarity index 100% rename from src/pages/[versionId]/rest/overview/permissions-required-for-github-apps.tsx rename to src/pages/[versionId]/rest/authentication/permissions-required-for-github-apps.tsx diff --git a/src/pages/[versionId]/rest/using-the-rest-api/[...restPage].tsx b/src/pages/[versionId]/rest/using-the-rest-api/[...restPage].tsx new file mode 100644 index 000000000000..3544355f3fb1 --- /dev/null +++ b/src/pages/[versionId]/rest/using-the-rest-api/[...restPage].tsx @@ -0,0 +1 @@ +export { default, getServerSideProps } from '../../[productId]/index' diff --git a/src/pages/[versionId]/rest/using-the-rest-api/index.tsx b/src/pages/[versionId]/rest/using-the-rest-api/index.tsx new file mode 100644 index 000000000000..3544355f3fb1 --- /dev/null +++ b/src/pages/[versionId]/rest/using-the-rest-api/index.tsx @@ -0,0 +1 @@ +export { default, getServerSideProps } from '../../[productId]/index' diff --git a/src/redirects/lib/static/redirect-exceptions.txt b/src/redirects/lib/static/redirect-exceptions.txt index 9b4c05dd1078..030054efae39 100644 --- a/src/redirects/lib/static/redirect-exceptions.txt +++ b/src/redirects/lib/static/redirect-exceptions.txt @@ -11,7 +11,7 @@ - /admin/enterprise-support/overview/about-github-premium-support-for-github-enterprise # FPT versioning was removed as part of github/docs-content#5166 -/rest/overview/resources-in-the-rest-api +/rest/using-the-rest-api/resources-in-the-rest-api - /rest/overview/api-previews /enterprise-server@latest/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment diff --git a/src/rest/lib/config.js b/src/rest/lib/config.js index aab2e4510502..f72f164bc964 100644 --- a/src/rest/lib/config.js +++ b/src/rest/lib/config.js @@ -5,9 +5,15 @@ // in the JSON file. // These paths must match the paths in src/pages/[versionId]/rest -export const nonAutomatedRestPaths = ['/rest/guides', '/rest/quickstart', '/rest/overview'] +export const nonAutomatedRestPaths = [ + '/rest/quickstart', + '/rest/about-the-rest-api', + '/rest/using-the-rest-api', + '/rest/authentication', + '/rest/guides', +] // This path is used to set the page in the // src/rest/components/ApiVersionPicker.tsx component. That component // has a link to the page that describes what api versioning is. -export const apiVersionPath = '/rest/overview/api-versions' +export const apiVersionPath = '/rest/about-the-rest-api/api-versions' diff --git a/src/rest/lib/config.json b/src/rest/lib/config.json index 7bd8e350ffff..c156cc2e61b5 100644 --- a/src/rest/lib/config.json +++ b/src/rest/lib/config.json @@ -34,10 +34,12 @@ "content/rest/index.md": { "startsWith": [ "quickstart", - "overview", + "about-the-rest-api", + "using-the-rest-api", + "authentication", "guides" ] } }, "sha": "1fd29675070876e3278e71b47f4f2606601bc698" -} \ No newline at end of file +} diff --git a/tests/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md b/tests/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md new file mode 100644 index 000000000000..c7af7b15be7b --- /dev/null +++ b/tests/fixtures/content/rest/about-the-rest-api/comparing-githubs-rest-api-and-graphql-api.md @@ -0,0 +1,13 @@ +--- +title: About GitHub's APIs +intro: 'Gentle and fun intro about APIs' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +--- + +## About {% data variables.product.company_short %}'s APIs + +First paragraph right here. diff --git a/tests/fixtures/content/rest/about-the-rest-api/index.md b/tests/fixtures/content/rest/about-the-rest-api/index.md new file mode 100644 index 000000000000..36340c4bbdcf --- /dev/null +++ b/tests/fixtures/content/rest/about-the-rest-api/index.md @@ -0,0 +1,12 @@ +--- +title: REST API overview +shortTitle: Overview +intro: 'Learn about resources, libraries, previews and troubleshooting for {% data variables.product.prodname_dotcom %}''s REST API.' +versions: + fpt: '*' + ghes: '*' + ghae: '*' + ghec: '*' +children: + - /comparing-githubs-rest-api-and-graphql-api +---