From 342f04c02fdc0f6c2109943af355a517bf53d743 Mon Sep 17 00:00:00 2001 From: Eugene Kazakov Date: Mon, 18 Dec 2023 12:17:09 +0300 Subject: [PATCH] lab_3 --- tasks/kazakov-ev/lab_3/.gitignore | 456 ++++++++++++++++++ tasks/kazakov-ev/lab_3/README.md | 86 ++++ tasks/kazakov-ev/lab_3/docker-compose.yml | 15 + tasks/kazakov-ev/lab_3/nginx.conf | 26 + tasks/kazakov-ev/lab_3/pic/1.png | Bin 0 -> 43491 bytes tasks/kazakov-ev/lab_3/pic/2.png | Bin 0 -> 49537 bytes tasks/kazakov-ev/lab_3/pic/3.png | Bin 0 -> 41364 bytes tasks/kazakov-ev/lab_3/pic/4.png | Bin 0 -> 8609 bytes tasks/kazakov-ev/lab_3/pic/5.png | Bin 0 -> 15545 bytes tasks/kazakov-ev/lab_3/pic/6.png | Bin 0 -> 24122 bytes tasks/kazakov-ev/lab_3/static/index.html | 13 + tasks/kazakov-ev/lab_3/worker-1/Dockerfile | 11 + tasks/kazakov-ev/lab_3/worker-1/Program.cs | 111 +++++ .../worker-1/Properties/launchSettings.json | 38 ++ .../worker-1/appsettings.Development.json | 8 + .../lab_3/worker-1/appsettings.json | 9 + .../kazakov-ev/lab_3/worker-1/worker-1.csproj | 15 + tasks/kazakov-ev/lab_3/worker-1/worker-1.sln | 22 + tasks/kazakov-ev/lab_3/worker-2/Dockerfile | 11 + tasks/kazakov-ev/lab_3/worker-2/Program.cs | 139 ++++++ .../worker-2/Properties/launchSettings.json | 38 ++ .../worker-2/appsettings.Development.json | 8 + .../lab_3/worker-2/appsettings.json | 9 + .../kazakov-ev/lab_3/worker-2/worker-2.csproj | 15 + tasks/kazakov-ev/lab_3/worker-2/worker-2.sln | 22 + 25 files changed, 1052 insertions(+) create mode 100644 tasks/kazakov-ev/lab_3/.gitignore create mode 100644 tasks/kazakov-ev/lab_3/README.md create mode 100644 tasks/kazakov-ev/lab_3/docker-compose.yml create mode 100644 tasks/kazakov-ev/lab_3/nginx.conf create mode 100644 tasks/kazakov-ev/lab_3/pic/1.png create mode 100644 tasks/kazakov-ev/lab_3/pic/2.png create mode 100644 tasks/kazakov-ev/lab_3/pic/3.png create mode 100644 tasks/kazakov-ev/lab_3/pic/4.png create mode 100644 tasks/kazakov-ev/lab_3/pic/5.png create mode 100644 tasks/kazakov-ev/lab_3/pic/6.png create mode 100644 tasks/kazakov-ev/lab_3/static/index.html create mode 100644 tasks/kazakov-ev/lab_3/worker-1/Dockerfile create mode 100644 tasks/kazakov-ev/lab_3/worker-1/Program.cs create mode 100644 tasks/kazakov-ev/lab_3/worker-1/Properties/launchSettings.json create mode 100644 tasks/kazakov-ev/lab_3/worker-1/appsettings.Development.json create mode 100644 tasks/kazakov-ev/lab_3/worker-1/appsettings.json create mode 100644 tasks/kazakov-ev/lab_3/worker-1/worker-1.csproj create mode 100644 tasks/kazakov-ev/lab_3/worker-1/worker-1.sln create mode 100644 tasks/kazakov-ev/lab_3/worker-2/Dockerfile create mode 100644 tasks/kazakov-ev/lab_3/worker-2/Program.cs create mode 100644 tasks/kazakov-ev/lab_3/worker-2/Properties/launchSettings.json create mode 100644 tasks/kazakov-ev/lab_3/worker-2/appsettings.Development.json create mode 100644 tasks/kazakov-ev/lab_3/worker-2/appsettings.json create mode 100644 tasks/kazakov-ev/lab_3/worker-2/worker-2.csproj create mode 100644 tasks/kazakov-ev/lab_3/worker-2/worker-2.sln diff --git a/tasks/kazakov-ev/lab_3/.gitignore b/tasks/kazakov-ev/lab_3/.gitignore new file mode 100644 index 0000000..3c395b3 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/.gitignore @@ -0,0 +1,456 @@ +var/result/ + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json diff --git a/tasks/kazakov-ev/lab_3/README.md b/tasks/kazakov-ev/lab_3/README.md new file mode 100644 index 0000000..46e6294 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/README.md @@ -0,0 +1,86 @@ +# Отчет по лабораторной работе №3 + +Выполнил студент гр. ИСЭбд-41 Казаков Е.В. + +## REST API, Gateway и синхронный обмен между микросервисами + +## Создание микросервисов + +1. С помощью команды `dotnet new web -n worker-1` в терминале создал первый микросервис +2. Добавил решение командой `dotnet new sln` +3. Связал решение и проект командой `dotnet sln worker-1.sln add worker-1.csproj` +4. Повторил действие для второго микросервиса +5. Добавил библиотеку Swagger и OpenAi в проекты и запустил с помощью команды `dotnet run` + +Скриншоты протестированных микросервисов: +![](pic/1.png) +![](pic/2.png) + +## Реализация синхронного обмена + +Реализовал код, который вызывает сихронно данные из соседнего микросервиса. + +```cs +//worker-2 +app.MapGet("/Houses/", async () => +{ + var httpClient = new HttpClient(); + var secondWorkerResponse = await httpClient.GetStringAsync("http://worker-1:8080/"); + + return secondWorkerResponse.ToArray(); +}) +.WithName("GetStreets") +.WithOpenApi(); +``` + +## Реализация gateway при помощи nginx + +Добавил nginx.conf: + +```conf +server { + listen 8080; + listen [::]:8080; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + location /worker-1/ { + proxy_pass http://worker-1:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-1; + } + + location /worker-2/ { + proxy_pass http://worker-2:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-2; + } +} + +``` + +Результат, после выполнения команды `docker-compose up`: + +Docker: + +![](pic/3.png) + +index.html на gateway-1: + +![](pic/4.png) + +worker-1: + +![](pic/5.png) + +worker-2: + +![](pic/6.png) \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/docker-compose.yml b/tasks/kazakov-ev/lab_3/docker-compose.yml new file mode 100644 index 0000000..e9ca4b9 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3.1" +services: + worker-1: + build: ./worker-1 + worker-2: + build: ./worker-2 + depends_on: + - worker-1 + gateway: + image: nginx:latest + ports: + - 8080:8080 + volumes: + - ./static:/usr/share/nginx/html:ro + - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/nginx.conf b/tasks/kazakov-ev/lab_3/nginx.conf new file mode 100644 index 0000000..f649a4a --- /dev/null +++ b/tasks/kazakov-ev/lab_3/nginx.conf @@ -0,0 +1,26 @@ +server { + listen 8080; + listen [::]:8080; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + location /worker-1/ { + proxy_pass http://worker-1:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-1; + } + + location /worker-2/ { + proxy_pass http://worker-2:8080/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Prefix /worker-2; + } +} \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/pic/1.png b/tasks/kazakov-ev/lab_3/pic/1.png new file mode 100644 index 0000000000000000000000000000000000000000..64994dacb9a8309b16aecda2b4b27d106b6ac6b0 GIT binary patch literal 43491 zcmeFZXH-+$*Efm56cMrs0S zNQ+XH79b%3LXnb02qZut+=&0@eZJf=o-cRYamRh%H3lSm?d(`*;O#co~b)VP*_u`=EZR6WKJTmyI^+XnFPoM`*~w+{#W^q7aIEY#qi+ZLgY%M(W;9o*mP{*p2{Q^fza>uTbK zuO2_1-~9Vj;)P?wDHry?;J@)u@MO@#bIxZ^>Sx?uNkv{z+n*qMEg@?7uXIc43-9lr z`gGGmxbQ;#_mfRtZ+5}`+EPtTOzz8i4 zvLj63Pjj+n=#%(d#EsS>o)9uHMcf9AOxovv6g=3#sOQa^5z`C0*ptvE&R8g|20DXodHTDd zLbF-w1OBIJYr6^&GPi3A)49Dk|KzsLh*L=lf}gw8!s{Gkuv=0D1q@&n7s%(GXCB4# zUurojdME59WM_ei*ew@f$Z4M&A%`SpRqN!0)#e!&YZTLn+C1RDFrC%aFB?k{usY zb+Q|NPorovbC;x5k+DUDWFC3C&!*7qRm4C#pQoPe?jm;g4Qqef>ysk)-n-HBU%?MG zQ`wZ-D+c>$*vQClUzXgU_Hxx~o5Qx6ya+awxzK#u|BVdD{4VX`a&5P~t&L`u;ADy0 z?`apk3m;jkTgMA<+#3%?2`ya8L~8^3wPyRr&Y#Wi;nK>eyj9$&yu9kfQ}Sm|{Sn7E zpe4D!7bHPq2}2TD3W)*Y6Hkd6`}e{#u3JtB@1sfSZhpI7Iq~FUa_xEqiIKn2DuOxb zv^_0Sx3kA6JcmIpHh_T}T`_`ROPqt-ROP`Z2!XywBNJURCDCv>0Nz^~yF40{;}#8- zNM{|B=WR4N>Z5?&UM0Dt4Q`D9fK=*lPT}Es-}Z*)X9m3gbiAcqsmCvJuKqkW2wk_ClJ zgWi-w2Up4z8qA%wMw`5LrF2%}Nx@Vis$pJ;^(MtQBRCRdx_}B?ULLFC`*);6u_J6a zfUgw4pG(7yo4Gf6WYebJx;(y-do$^R=E~-n zK0PUkC%V~I@7ome#p@Jww8(bfGT7)`32RGTT!m@sAdKdtkhlh^V|X|T4%0Op=;ca` z;xdODLhezG(Gy) zd*gt0;paXYst)i_g$A6+7tkYPz`>dZ*6Xc7P(vZGM!`X9!W49Zhv(N(!{@UGnm9yc zohw7lIqU^7{W5R5)bh~o3DF-5){+k)&%pW6twL18Ut$s>z4>SOd^3Rid0K8rwa2)4 zbLC}N1?I1I<2Gr9id#^B4Ta<1wu#%fTc@vJBXy-e8{PJ_D}7b_$)n2ZVBv5&%s@km z_tV`;yMN1LZY@83(`P&olyIZ|;o6ms^~4)ZTZlVB2*9=R4vhE0`Gp-pyb-m&$R*8( z{!tBkwzVl^Qkc6C-3#<@2Z-~)#D3G(ADu!75YA&vtGX!N;$Q>;6usxby+&`0>88QNhE_^(7!dfjqsAbGj?m< zZ#_7hkM(9@$$kEcmk#mr`UG?5%kGB=FQG36M-|LJz1u(fA+NQkUhs?OoBjRuc}$Un zS1RH;OnfY=qh_Jm(9B{>cwS^F{Gxy1mQDiudbN2KbG#$$ZqU<)z=95TrRBk19-hAs zgfITkx~?S$c@{Cd>zNEdLdQJmC$XDm+LiS8-f`a5n#;i68|`SzmYoVy95wJx82L@C zTD2HCByaWRTbI~=RQY1=>N>oK?Q@L7k!3m2b@+~j5P_fOICNw<;wPs~x|Cw_GLNyl z)VzrtTuJx5HTtv*y%SWOw}ymJ*-l5=TvB}*6p?~RC~96bfI-dtNi%eXd3koEGK_hm zUO#xr-!?QFw6wdSv-_C*tMl&3oEKxR(ptf$?npJxj|f8T-|$b9#`D6KsAwyS{6~v- z+57t}{IXy444Eu_Xl^`gQPDOyWHN6VS1`;T3?6rqTNlz36>$N9sCUNY_s@?1-GG2- zz#gLRoszMZE%!{sUuz`}IiVoyX7<=E@Z|>9VeZaal?ZP>J=*EPw{|ELZTa4EIBz}n zmWj*s>G?9_DQD`#-i4s@`LNzQy_~j_3goAK(k)bejfiw7U>R$JwrDLWqKQQYhc3)U z?iyM^^3t}jbV1Gu>9bBBw%X)9zdS?#9YO2^-J!B|y=G4oJ6KfaKO5eDfJ?)7N-JB| zHCR@$z}i%W3{#v!e&w1J8qeOkvKh2R?_a~*8^(|@T>}xi1~v4w%yv~BTTdv=LXo|q z#^SupgOmQEi~a-Zh4p{a>i5I?Aa2;q31nm^LJdqE#w*;J3WT7qI7rE@mxu4;iRygz?G*VXVO0!%dUCjo zsI~lIRFj`~_q27S4`)gEk#@&C#Xrs-3hlr^9Ffn)uIOiK*YBm***s{p(n~;1fK5 zd<0fUmx@jtrCo{p77g&3cc_b6ZPd>%57gp>5;K&mlXGgn2Sa)=7cCoT;z&QIBTsjC z=F6}*RQt4DCqH+dy7v{o%_o9EiJv z*&W|l*(s~Ji*lb2s;hp^Oo8=mK(=wT%{k{0f;_1GK9k{s8?p)$~jt>>&ZcmPucCpFV_qW<~4+XA3flGDO^*F-E4 z9S^@sC&}$6Ty98odlTqblh;bHD9+h3`vm|yR^gy{B&hpM+c`_4PRECscQujN}gHwlR3$llTF*c)x9v?3zs3B#*J@fVeBC? zEB2eLrEyjm83^lbPScloC%H01r(_7`a+Xq7Vx?foboYJ!SFWMuJUkscA` z`qawD`d$7A)}arlc16hS$L>$21ydyIz{T*xrUF{B*tsP0>6TSyluxHHXuHD;D#1B% zLowwYC=_*(Y*!oPwn{6rgR4~1_+R43SxTT0Oms{KPqHU`A~;b`K>LMZ^Xwb}xts;qFMb0Y5E6p-Yd0g4x;m(BMs}Y%MOF0Lr7|g;(z3znG(Z_?zOVW3y1C2nD8t}uf`5S~fcz9Y4 zKV8J6d-s$l^pE<|FZQHr$d5=oJ~4Ks%mU{x>@#0TGqhI5`eLV^XSRh%B!?fEAAv{G zq3$`mHoH8ikkRGX&;Gt|!0{Y~Ic;^_x#F47B{Zd_>XJWlinZeF_zubFTw1d%mr$xw zxHbW?6Dzng$(BsTT87^o9b^6&}@!Q({3ZD8&mMH6SVpGgz^scb_ZUX{(A(rTl z@3>7fXz1(}+45J=ZGyU`%lhr;gY7)Yz%*l(c)b(qm-(OdYcYDRe>L7md!#R(&Wlj; z?CVKAc=rBpmfx|)p8YtUy;}8r#0GYH+N%FG^1}plIB|tYNypnt+&!Bkc>BpC#hk4{ z4p(8Q$x{st*I%`JX-e;(^6vQ6HJpGMKN)Rx!%1^#4zY51OrkR}!6iMq&gJB|9CzI)?Z8p2{x)clZ=v zS;zASC*Ej8;Ob2b!>NJLyVvZmIr@0vL|6rlgX+U{?e)@P1itVSn(K^C&JKvU`eX2S zAGJfk&!2Q$!IQ1eIU>B}318!`=PS*ZZv{+4=1UN;XJ*UW`O`1Qzi+$=y;UIGu(fWA z)qs8KjSG;!?&VJ)y;?2wVYvLuj(s3Oya03R8O-^;k53ODst3!*=Wr}GU!)KgvM@4> zBz5p5&T3q^(gJ3GBUw=tgUG_ESbnp5G2uhOd2P&m*dH8yT!t|Zal1#?ss*u<)Ko1$ z`=f88N(SlqT%pZzi*9Lu-7sMfylEY& zFN%1;vbL{y)#o&@(h>1sps6F+PK0ItFJhg9cQ)h6bCh!6`c={;m?6~v&LQN}l3@x$1@=KgM6=*6*+&sd*R#I$aQIjI zs2p#_JFTxh2M9$WPiEGc)dxR={I(+$->yifs|N~b)rZpvS0dV;$FV9psp2Du5VhIJ z&8^(PjRy@Q7(VxX!B>0PIjZ|&k%BY%&$^_?_TLcX+993(JKhnu;6svTTn`2_D%$FJ z6O2Ys*~3sN2Qt@3t|HfnqHEq(Eg7V@=#?EZ`QoOC_dOL{5;ShI)3DFqY}xd-mv)&3 zoWv1K5}q#!`e9=DrZKULB$!a*tn631R1{I>n84Gh20!e&B+lho_Wh;BhzIjU)M>~- zuy<*|KycwtNuyKutP8l17RqSA9#PO8-6O+Q51Wx+DG7tjb81>34Ug4RJM)fIDF=3` z@&TpNi}6yXsiZoLlJ-^8N^y+(@pvtD*e7F{_Sav1mcLzvU3SFJ1PrTTEI8V_y97^X zak^nUgU|cjnn=4xgA9yxfs^3lfp*K9H5{}RR9p1+qvHg?Bfv3bdn;`yRa9qnXX62I zGROB6&S`r`&BIp422arBP_kB+goY7i<;>{^p9wxoZ4`aUF!fj!8vp0x#m9ImyRub? zPus3!uIxKbjRL~X!AQ+bv~7g++nr$%oM(CiVR`+|b~jFBCSuVL=LA}KJz-Hpt#^E_5X zsrF2!uQubYuBVT4Xfqu{`lc9O#uYa5mXr}L++&d(v2oY56YIp-FgrlJEMAb}FutN! z)#_(4JX{+s9edYg%C9`vxI8Yb+ENT#^c(2lme@O732lGWoW5~S-<{(Aslqg1r9_4} zb)C1)>*wq(u0I=?$kX_0Yf#ZZG1E_jbEaUU{XMSq=tQ8AhQwYAlf~SPdH7e$aPb3o zUzx8C-)_@jx)b^EShyfcxX|aQSK<}Rfs(&f8V0o*7P5*Cd-7>w&faTM`}4GO*t;_# z_g*TiJc-|tmk@Eo`&A!oTGzLM7{s!*5bH%<s2UfVfR*rK~ zn3k@`CiZ8~E%wICw#S^h%-aN@4hrvKdyLbwE>F+jQMa5-spt6(#aXFbl;?sGTxcjZ z{9-j1lQ?MLvLr4NxYqj`iAvC=J}K{MVoyLFuC;K{$f()x6SkYWV~LLTSylU-?@Dw0 zq&Zdl?g^(OZrqUzu=IBf0@w_f164_(6yFoXWR>wxA^C*My?HrX2~=0L*;}gqivK?Q zVcnAkxF0Zcby)9~2+qn7FYl;ZCO*)Fh`UTRWYC2Z@YiSxWsv0Y2rgPOIoq&v5f;w{ z=guHe{`66LK}u3hMb$g{zNp#E{Y2T_UsZ_p-Rk5`sCOz7%Z5h^+z>lwa?a|ubkD?O zfqusbyE3CH^D-}7z}_+eM_U#fnesdOPa;o!Gx{dE~Y6jDy&{*9^+>>@VVQ|VcF2|d`j5eLx{43TXNDU`$uM9n=TLE z_6~~hGP__WJ}GQ=)(+)yRDV!$cmNY&18joDh3JgSW8kjf!Pk$=|ocbG8y$Z>nwW70`};&}NSs`69Q$h-)dv>;!5c ztjvL^x4vHPq}pKaw4&id8)RAVOH#Ahu6fYHLA>1ruWJ2CknnT zS+X?T2W&RsP8a{dTP3f6q}MQ1P@T7bve z_%QxK0_Dy0Xc03gZ7qA4r8c^vr!9YOc|9%AzoA}Nyubq6f7wr9o z$ZkUmv_}U>rr-)fW%8YdB($}=cl!;@&CQcUHLt4JK=VeQB^px-8Yg7Pb=z}2*jo}? z?4;0VKk{lmt-*iBS4Z}D4GYRCHd2*qNTcGeb=Ibd@k;SkCM@PY3DcwSICBK*>VV>=bVtq!w^$4Od*)`Kx=St6Bc<#MC z_fds!3NYjq8e)kQ=`%|J4K%JW(WEy(xrucF@J+}r95@3=c1PmH&P4b!VOn`Mx8KN7Vq9=@@eDyn2iA0J=Eh;NHlJPfhRtY~giyHdC`jt_W`o!(QfI+&l4< ze?ejp&6VO@L+H&}lXFqUTdSL7@m4Ve0XK!iUQvk{Rs!K|$%(QIQh2cT%%`m8Z{C|D z1F5C~GZL&RJ+8CKVWr6N^*u-aXaEtHSTCn7Zz|Y}%@ZLOm>*<9$YPRevPl)MBE5g9 z-F>}es0uwdy+qjpFjF*FdyD8A?m^5_^=G;WO7tcd!{(L>jW+26pL@)NmbvCt9$9=h z=)uva4C?Us0KS6=z^|IsJx0G+?VHGe{Z}zC~$DxgX zd{u%Y!}4UpDp=T(XO8L5S%2cLV6IrZWQ&hp83bbMn|vjq(`BfJgHWsjcQh%XT4XWe zzh^VcgLYRedeCxyWbuH49@oLMaFcNfqBCn{=7T1~s#?Z(XO)i43bGUvB5yI)(_aN| zua$cfF~8R1aS91i!kIbfFTUw_q1}DP!zg`^bD+&|+bqB_^mYegIb)GZo9A}JNsNQtUWhUEhcA71t?j?2SG;}7Db%4XF zqu}c@J90qF<&E<7y7k0jUH2u3#LnF-MOBSIG+lQd&8|-)DTVsjvjTE<4@sYtik=NO z!5pzlCPZzy^;i#i!!~s~zx`nlf&;3+=>+IR1hr$6UGE;A3eDtD-kGEVSh z5HX0KA|U-RFm5nJ;AYXY;sIv9$ZBuT$V$mXK|-`oMKB%erZTgt{d#V)s!npRsf@p0 z^5596y;7$%P43$^-c}|5K@!RdjvWuXyk5=*$P72Y$d~wo+=e7pO1g%cceYoVw;n$m&V}C{rrpDLf)=*n z_5@K52W^2Zhcol{M9TZ@lOoQSZP%XmZ1ntC!7ymacf;_84PUkl-&F>`(>l|?`wMKBm5;G*+B2RY%Zp#=Kpj18V!;E{jdZR(~ zH0q-V;Ms^#R|>vk22DCQNUHIx#1_FDiF68(QvPS$EM_qlCokDKysN9>6XUy zZ?TaHbrPyCDIdT7i>lcOgN?k%V$BCl*XqmOrb|#{zxWlD`^+#&(=W0Rw8HfTkZWiq6HEsCmTCw-1fCvp|L73i8k6QJtvRb7XmE}1%cti1)UIA_n8|5+Zi!rK2Z=<=F$uTG zMiRTmk(_^F?MbB!YM~97ptg=O?Z_9MAq+2CRQlH}#46IKa9gc|j#V|}QiTKxDffYM zrei#ydFjK(_isvkJ;&MOArKkNW{scQ-xvMx+lb8`(+)3e)rskhBIT=?`TC7kKDbzD z)hxuR+rQ6RASKl?4fxp3ZGcmdWPWu==Y(322PqTK`GENN=P*JR=WL0HX&y!#e<1Y7 z93Qsef(bWW227Oo4uy0YhgilnH|b7@Dy@1z;kev=as8?4Aww3_>ZSmr$`emTCPe2I ze4=s!iK3no>~w_B%i@xNr9*k{J|@XtngWVHBO^T`w+6dUPGH{c@OC*IDjwUM3_fMramv3?pT7G5oKa+Lmif@|Jvj&#eSX>axuFUNc!py#q8 zD?r5&f|GkT$>&>KB&}K{Uoc|WqCsaRC&JBkQ$Sr^e@XvQTK)VP{ zjnV|1aF}M7b#}mt$n@&IeYA}%<`>frfojzC>H=HGYRmCUnvIYs(NueJC(a|kC;$YA%RgmppNEA@M#}d= z@FmLgaNMlZmO&4-OEt6Y6&de5-idn~Vw4JVhF>=eA_=9z1FN( zgY$5D^7De~1fW@ePp#OT=jQJKL_6CZeC7hc+q5jkV^ZHxS!LBtHYSeEiz<$wCE11{ zKPWQ^4Kno+a~X)`?D2%b70~xFrLN2Ok3Z}3eTB+-eH?xegNj!8Si}{JsWGDe6hVgrpXGC9^RF@_iZ#nI!)b7NY&S{ zyXM_=sso_&-)XSX=&h@g5q6PNc@#zpaZriUtUE(3w(Dax96XbXxnQ!pF_eY4JrNon zWANPj{CMcyzSjWLW=MEm;UPqf;G2@E1iqfv?4u7@Z)gTldj@LD!{0$2f-7FzbqD3J z;@kuNER#`XZcFF~(vzFQl-{w~1csGM=_n)zWy@@@^qHPRIoLpVDU`M}@79^tL*|r! z1x8}is4EjoaT(K%R1SURoq+E-x6HCT>tl!o?(UkWQ+wb6et^y+1qBjk_ja-G|3yBli= zq^iw(cNgZ65fwi3q##4=)Eh#HnAjlu_?K-9B0CecwKf$&nOo$6`}XHuwc^c6?TkKf z)Hoy|-cXb`wAD(n%!5X<*|5=i#IQSnmT!#oBiZkpv)^30(r?QibyIfn89P4TIaJ1n zlL*Sxm|7{2NW{+eeyJK|{mEKP(&CDNxyDidQdBx16wniukQ-btULeeyD6?vO}Zfls6h7`gQPJ#RUh+jvjP0`9ve4Jadz9pP@{rpIZGsrkMooH(k zKuL00L(va^oDuBuar7AhHMYdeGBub)``qt{~3*CG#4O_I+8{{ zoyG|608X#^Z1u-!`XMpzLlRY)1^TQmACJy6VVZSweTtw#)PzqY3NoM(hWsv}=sp8 zmN*NuzfHk(+XgK|9-mFh%8;q}kZUmnNMF-S- zSCR5M@*_T@X5#JQ(b*ZM+U~T*bKn??o+rpB7HpQgS={Z~d7RaWk|KPpA1W;V1BGRn za0k*FTeIWXU|DOaGOFW<4JMh4IGX(=oJS6y=(isYeIP~zUYmP-+a9tiMPcYRtLFdw zihRKDN;)pmp`VJm=7GQb-VZ5xjt`gyM2T6ErBCcQQ`uqH`*vwm1wK)u>0CpdeQ`Nl}_82b)d|1pbeKnN{=o7YV;po&M4q6 z+)LxDRI#Obs@)R3*-uB(zmS_Gk9|mOPBxv|z|^FC*T&6@{uxX+m!~gvWN6~*v)|X=2&>q4hIk@N1dgYr zxeY9aA@kQuI>+XXQ>6_xO7a^*5(ag3wXa$o58AG^<(gw_(S$kC7+%m1UZs!MK3APR zla|8i&%$gv?_*sUZ%jI)1AXHAdT#2E^a+jUX1bZx`<_cX)U%N7E15>R^_dy;ISj-i zdQA_=x~t}&FNLxLK&@|sVjo%(&I63zNo3kTjWn{IMxkZ#quK%~3&VO3q@c~$<&hO7 z_Myuepr6*dBBdu5(8X=!bMuao_lzQV$$utxqn4YbdT`7&PD4)!sH52U$+{2_;z;y! z%cT0mosnqI&grZ-#|kS!e>JJGUplyT9a?Jtmm~uG?Lc`gH|?%%jCY81#FUyO8#~4y zC3?#NI+3M7Cr0ErWtG1=KFnd$qtLx=v~HVJjoB~JgTgaq`ud4i^JdeW1l#~?Iu>O_*1?_UtlRx)vo&0aS_y4s@ zum33Dd$gvl_zltqXr)QoZ8cwKn4OObgNQXaH*AdQ_{>E(l{2$IUJ>m>L2l#Cv%T#6 zl#rcb<-V6Gx9Ri6KO+<#K_=!Yuf<1FKayY3Baa*c%QFh%(;)T$NR-TQbXNo_h#|zlIG$S2?n~NuymCF`JuSc~mLY1#Y@nqG zh#`Yf()2wdMHMgn{P`6CwwT`E?ZHU|xg{ltn?(VF`<;Yw^}W^>e-n8|@=g|L2JdXx z)-3Ck6V+vOUh!5-x6oe3k<{b~A)Om$VnOSz4|aPxRz?mm0#5iQZn!l8IRn+1*OLH} z=Y){Q@I3J4Z+yb~zRly`_Y-x4=KW@P`LBLR*Y+$fuorHlo^wN5uf#(|n+M;tvH4>W)DZu5CD@i-lBm$&he#tVE6rL6Xis9@4Gd#7xwgRMxba;@qpX{nzW`on{>S! zqw;Y}w=UZ=f5LQ_rN5$$r$;y&(CZePjAiLLk03zwyru3SX=&Dpu*xzEKXd>KPkcZu zpLc9rqYrOKxJ7PCNPJ_>>JIL0h$LSbkjuYKyQvd3hK`#}>zBkqU%;o9jBQo>M%4t8 zNe%w?8=b4EVL@ltBBlMs3asDwqttYU0S0yny}=6QcXKE&2xidP@SXke#V$g2Ik8pS zT31r!AAo(9b$%bh1yU@d9OI=+tFSRnuXI8*Y4bOvY`F#GzE0_ zARkrS$Pe*U4|>)3bm+|H%U(wZ@yU!~M_487Xv4Oz|Id_<49|cmQ6wc|*0YXe_0e^S z*J0(ch8miKSOxE*w|fSfp!Afg!KN`bOb4#+LEJP7?n|5XS%b(0U(?0@HFF&~zsTKC z`L{JZBSWst^c2C&$pPIMQ~4@;g(mE_vMIje-#6g&cHlT_TRCi_V;jLlFs5iEdb%pr z9AgFiWLH&wx@jBy>IG@paS#vsk~j;aXN|fH&V_#3(oRj>eh0^Wtmx)V3 zNKwzOMKt`y|9Vip%$5Cmjl&S%Tir@Cu4c&fBifbmID|BWE+HyC4{yb;f(QGgx2cu? z8V-{_GcO25?Zk1abdULS^OH)bulRz2Hrgo?cyU#oSFPiHS&G#PYsOz3g%6hCE6P0_ zfZLPU?Aq@)l}X>v57y?_mLe$}&|Ni+lI?M69zX`m(lnw65db2y?++}^^j?v^)5h87 zl(*!5+w<|o$5n#)p8XyZ8KcXa9U#x6j4l{<>_o-g$G5$Po5pTnz!%rTVe{~dPtt8%)8w$ z;F9%ok-?URiVIYsO4lF>PdC2t_O3h^|FF7av95p6_CAr_ATA^-unr!9kY@&1%pEkj zViWV1kpdw+l3Zh$$+>@Fm*d#Q@}8gr_ef}^&b5y_Gvw}fCHqt#J;g751E4(}D>dyf zUp%|;eBYBd)-QzTb(`KtI5&7X#*BL!`QE||Jg|Jb-hfLoOvFPz&`@PD&tcZ{&9*VV zH`}@NL7%K;HAl;uExn3>mUE*nJ!K^-~FR3QuzYT)G(CILrPI=J~+$GaY*iI&G zG?eb_Rl_o5?x5=<9#jK%Z_w<^MU?%QhdPMJ? z@6A)b(49V0p@AIvl#i=;ZD~s{&z&koIsVroomKo@WaunRuc&-X@TKtcXXQ`jXe?B@ zOM2!n9ll*ikG9hyI&=A*74O(OMxer7XywOia{n3I^vIhVEboqi>OU@X`EBk2sqDps zE=YQDnca=!E7`Hnk|AyL!duoPCajBU?!f!bLM9*$bMyyi>-Z+Xv9>TJ^Gno{JcV6e z>VNoMxobt7X`f^1VKdp=Yo)I1&25M9+?ctLx7DK@-Dp9NxwhpJmjuZzcB}8t$>b5^ z!q80#|7s1@<9hZSJHfU`o_Z@D-dJJFT2}2ruj-NM@G&z_#KNNYq>=ki$~mZQ7VkE? z&0oOV`N}hu$Pi{YWx7g0w;-+{{Q~<3yLq}$aJ(eK>ANK)uVd54BDOb0)hhN#f2_1T ziFKMZ?@UfbuU^bzXJEWn3cr>|*D(epPg}$aI<2x~_V~i$I>2my5>Fy!#I^c6_Ih93 zW5=^1xz;^^oC=AXs^(`9axQ0y7GZ#%Z`r*E*pcp}0Z1D)!+rRpCF8l(^(5KMhw%XG z;0f0gLtURc^q@}b#V4OR7Y7`@%P1`D-pY3hSJ=$0j6R09r-$#%iqUN%??bHYh4!}qwZe7wJ?UN zT&tC&o~gvqFNxcJLJbwZ_37((EG4t_0(?=y#SM;|5sRH`m|9OW3~MEk(#ac*>U@Uo zU!1o>rDD{*>gdB4Is5*8lR~e$+&AO0`<`5}M}qIa{gQ{-=1h*RPC?9l+gb7@aq!eA z;?b!PtJqMgC^Mv2Eu1xncz?Ew75h?Y^+v6N&5~{;5bN^P2jx`&0tL?K{UCi-E1~9F zgGwF@mgA)zq3BztUi9w`c{PURm#ea&fn~KzDGBGsK7Z@CE)UOK#cb(jj(>)mX=^=w zLg@O{lapTHw>zI%{-(Pk5WTEzk%2i0Bdwb`Io*FpYLg<5PH6tS@<<>x!E`P_#IsFM zKg3BW@MuuCQzD5+DQBtiEC;cjt-03gf^^(Gk9JDL-m>nE&%u~f;Oe*Yu_r&4&p8|G zX~H}7Hg62+?BQA>Suh|i8^JHBS_$4M%rz$I)vpUkYGU*Dm* zi`@(zwQXhh%qf|)xhMcXWowgZ8!h*tv3t!_J`@)h535K$DPncy4$;y?*r-Hiida8^ zPyJYTl*BbU7Z{dpCsc7i)>|iBfJf*`{0@fTfPs>*s7!|ECCf_5bsTMUE15DKaFcFZSNQ*9n#$h?npFD=!k;d`R+uNJhX_a|`ll+;)39-= z{Yjpy{(DRxRd{-Of8{j?hFfPT_Ox}zs^6dL*$eHwHm8Jj#H{nTzHMxy^TPfd!faXP zx|k@z;!VYQ{rS#Eak+v{7{fn+^QAFV7-KqGa@*OrrbF0P)Y<*NoJ21Pj)7Rvn!BPZ zVN|&fvr2YbT^zgTLEAM+{RkOy9D9;;-U%5VZdB=;p6<#Vi|hQRYSDNV@{50^f#qv6 zc1>0rV%@XB?04&&5NIdHB8_P+Q$F?W~uROk$MgpUSj8kr>^FxvrxnO%B~+ZmfdlJJU_ARelE{ z$U2_hm1MKAlxk*{=F$LS4GG8jnKow9F_9DNjR_MaJ3eAt`P@*7n!IW~+p9wC^TA-cgm?Fe%KY$OIPayg z5-yZ-d^MOT5wa@{^pHqY$9`+;EDE&l0jmL}90WQiu)TyDljR1tQos(kQ@@Y?Erj?%QiS3(vFi;QV#;C4SHOi6DU1YdD@9MEH8>-~vKh9zFSm z!3QIjZ zlL(H}J41>q(Vp#b09k2^SbENVmSU^f@A#?C52| zrlP|d7PqqkaOSqw?O9nWVcnIMTNBHOTGcNT$~pmkYgzTTAuEkRZUZ%?9iG9!Dqnq1 zdv!|6C*AVZM$jlS&}8z!Oip zVVc1?I~2sF)zj0fJ3Sj<%PY@x^^kkn8_vUz4k83}w|_4sD+D?nSS97dt6OtgVh)Tv5HVu)Vx}SdAC>9V)+Ug(BGjJ%a2-(LPD7cI3^9u+?je#>LNo_$nsZBz7h<7;Y&qks%C1kSnVwj#<99q%CG4S1&P`v z5=3AanHS796wtAPzMQ{Jn}1gT_HJ31=`MA>ClR}sGIPl^D2k2UWn+U55bqp)21C-C zE9JiOS_xj1uiW1_>QYK_N%5S}k$RA-dlKtpGv=RD3tm=TklW-i5%e#ckDBNEveNxB zS#-3y(RCRMWcgg4xMnkL8|LR${$}FKJq3RsKuVJv;SUHH-Q&Z4a~=QZRQ#nMwFeQr zx8*;7;0Ec0zBlg7WM#kyUwwm5XiCw#R7?Hf?(HfBCanOh9|omA?5+rAr8Pj~uuMF+YGyCPuk6zWJi-OY`zoU;Q;-g1;R3$kE_ThTm*gA9xJD=3Gjf$3Y z%C_4Lii_0!E!$h}XSNdDk38kS`wGcD&F2yDlPk~f*xLwIVjPxH5hVGE)AKv@iOtT8 z8mfxl?9Lgtfs`=3I60Y-P?+IXIvU2tTxKf6miPlH@H$HMzB8mooCDnAc+<8ipyO&- zK$sDyw}J+d@YbxW6qmaR7nX+<95kLiEuwKU7O z2gP4{aMXWL3*LR2n;88nXRcp+`E%Q=$HQTVNk{1UBEw1YqU?TiSG(5>8IUstIx8O#ODiY|IJY|u`r5|Y@w+_4^K4^+ z;vu6Pn7+{J1T7H!V12oe``RX`35N1AfTTfUj); zr@JM8=5#abefVJ0e*o$yze#qth$p!JchD5?7a{A8CwmYuH*Ue_B?#*RE_kByiJi#| z^vBDYoSRB1y3^ku+;8s3O>Y!v6E)kP5mF>mE|H1W9qc#tm7;?w5KnH1AeYf*NSX6o zP4;8PyM_4ns{X~%Sdv}AfMp7)Lzgh8t#$I~Htamm&wL8wPsVLjC-+R2Wk>cIw@iaD z&B60X4(QYux-I;OG4 z&led+GO}w-qLOprX@0>8RH+#%q_bUEa@*b>ykY<%(g>ZxK66uEfTrDo;AD!)uD3my zIb;Kk;VW@-9XO@mnI9Iu-L5RskrXFOJ&W`+!fw1k{MyiV?K(t>XrnYLOc8hE;AzpS`T1vN|jx~V_|V9-edaz<;JQGg(fs!A-B>N2 zRFUiL?M3^!$RBg!s_A_REsYfwvcd|ExmAO2T8XZE!hq+J>8YWTUya4ZR{-~t&!<=M zHrtYtgCg}4b zy8qIySnC<6+gl)>&|)r`|1}UoT$k)Wu{W|O2T${#b+MR~*Zp4=|HFHO{%_wfH1KDC ze4lJaB0tvEDUA~dloCO!_&R1{ zs4>QJDW)`H`Xl@wBe0>l7%G@#iz9Q!&y*6=ftCNP=P!JJJDsl}ajMh-YZa+lPh*Z5P={yl#rm5AT0tyfDobyy@k*M1d_W6&dfQ#bM8Iw@AKaGkNbIV z{?d@W_jiBmv!1oqv+mzTbjQ-{$bu!ox8rPnO^FvJL`kg4!n z0n85Jtm%2?0$C~w%p~)ztpPF;#YOkDt}IJH;T{5dXxGWN3GSSsDSAurEPqf9BWSEy z=bu&)P5($f^#hi%FJio*@g0y;CR5*aPWiXroTppX7h;nHwC+6#c@V`$&$rw++9sgQ z)v7_>l`Ft=iwDd$l)ijXevK-v$~&<~r7CuIRyfgDDc=H$Ce=h~>C>@@0S;dD?+d~s6RY6vH@_l?I2;Uat zWdHsZiLNpt%m8ZK)vGeMw5Y@mm!{!K7L(4)gYLBpI;?=^<|f~vAo(tKa~f+ou5`)r&VYJP{*(H`S#?1CuY?gWwsM7U_F1PaU3SgaFs z9AO&d_9gwK|Fy~^v*c@tmN?L;a9Qh@LHF{ommEBtSHwSd$Scee$nqIdQo*UgL(1;N zX~;=6T@4rcuLF%#oymEsAYnSTmcX5^nHzi`Yadj%)aq4n+A|ZX?^E4yev}qxPwRew<6Lp4-WxtY~ttTjuL%|GxPN0aTlA%69calnUfa$vYpxH?E0U7D2mL z>?y4TPRXCE9^K2Suh&r5(4ao$w~b_P&8tJZZEZGolPk?`O4t%kWQQ)BC7fk!(MP8C6FuyBszts=I7_n$rlb=p0&NZn}hVe{Z=+l0Y19VwRO6} z(SB?v|M~@s$50>mc&NRWUf4<(zqix;N2aEmv8thF8QO|++Byex4;(yxL~&aFU9V1C zuxI7Po%4&VJzRX2lhI($`$GGqVfN7id}N<%%e11S_qUI2-?!sSM|}MK^*|udOSqro z=*LJ4M0^}q_JgPwr*|(+d=~z@;m&zSa_U<0vr0eBA6~ZW@dv_)ZW|dHRlhmyPp7mD zsmn@^$gX`qM@BHPh@z5}!jige+!y5)ZFz)rTN!Yg{4jr-s9A5rk2(!~Qec(Y=%PggkwQtp@+wYL>A8+pJ$y-FK|+5X zt)OvHya{qz7cuOuC+&>j->tWp=-l7k5KPGCtqfLE#PTjs`#SzJaBA)1nY0}gRp0&> zq|pj2LjF%6%|JWz5Q8kNc#CItAuuF_R*;M<7_Ifhsk8-S_h84F1v2EA-l~A zGk><5-j;-icw!VT7=(msE)fC&6~R1jZQuZH;a zRIJvImQ7yXUpqZ`ij{wSy+K@6hPI#6s3EXe*>AU`^yORqT`QZX4hoOy>u*hh<#mH+ zuoErqWesV$d5jv2b5(VF>FfOJgAJi2vWa_Y3Z1R($Zv~_6tsf%tv6!UBInnlP@XRt zM}O1in#YiVprEW29mVcnLnS&pi|ivF-X?!;Yq~7E9lhV;GBNe?@Gr55ssZUzu{v28<9;58LN|wXoY(;yKsu~UeaPmpLayFT z+N)0qOZI;39(u!dU0lof8qWsu!|DzEi-M2f5P%1c18MS=ePYoERK`MU_Y*RNm<`NG zRj`?4D{XN!V0Ly{RQkh!I7SnRo>{6Hdn>z~<(5~oJmY?Lyi7wR#6?*iqP|u^dpjrk zR(7-!A51kU4Z0+!scbrLX1bSiOmyTaw;443Opuzu141u5h)Q-Yey!5BL?Yis)R~kR z=)v^iw}2o=Givb7li?fih)VKe6QJQ$qA=e8iAlb6c>Y%P>8#MpC8$^%mUGAJt`1^Z z+wbi=``P=)rd+idpgW!6;mS~yO+X_k4q9T56orFh5G1+C#BEGio zhP5tNcQbYxxkuih;WU74zX0x#4rHxb_Xag4(QO23EU3HDs6>hAQ<0I+b!_^AeJ?F{ zYu0vkvbo{yPhkxK zx(@jK=lB0&X9@{C$_gO;enHd5xGvYd=Oo<$d)nU`?e?+e-5%7bOuVLORaI_-nVp7i zY1a9ehM-&c8@L?!jgG-p$ExaN2E<@StFKOM-7sY35BHoEq$2g>IaH?x7o7=dffaPc z#*Nam>9x5Rj)Dz`LA_gcIR5x;-I0~LbJQ1jqd0n?%1%>12lTprbfsO^X^j;;SyEEc zGg1uW4o~MmDxA^f#S;L`9~=(!EZR5nM%I!!Uuxk7q|g+CuT|5=k9kEPPcb@E1QD&( z&^DI-L9YY@TmJf&AOwq2K@am6Kjmtzi0vhNE!|7iS&yqJJk?V-6#hNRFJM2AWuIhW zg`PeMWbl@%%lcVK(=1<9jq>TiH#5sREECT>7q%s)c+`x`i&TS0cY!K8<4D1greCQ? z3pAIG1gbjkyuzac_JHIq3;4s%|A1He`cF>EbDeIwCbphgyJ1nEe*&0}k2^FAx}|(+ zj&s2y-P3@l!v$LsOz9H#Et0Z1Fl~|Nn)LmOM(L8myHdZ&+NVq{EW`thM*yG&M$v)S z8)j61Kp4(m^~kg*icr<;O5VB~E2gFXujB^jIY3L#0%9%sKsEgn(2 z9nU7Epe{KK=6z}O({DiN^loQ;z6vCcyVUG*s{dIV`rmRq|Mts2Esf5V zmAkNznBAa;qHw_Yfw|kS&u{`@fe|>8_qo~}ShK;z?=6?CG0^w+_J&xc9BxY9NfS8x zetu>qx+R9+b++=&CDb5C8@jR0>u$iY*&5?*gW%f zY?gp`yChG9n2>_=tt%y%AlNBR>&{si9SZTps8M?LbGM5ta-3&NDo&#WYy|~ufnH?& zye~X8=Y)#s*Ze)G2egL$yIK=P&sI{sHa%2Bbu+Z3ky#J9IW%DGU3^6P(bt;JxBi^l z-7h7FcI-4NW!cf*X~zaMIZ~K0(P$dR8LIa)?b_$$63g+i`+*7ew|2&kIkQwCcNeNQtiSCfHWrY5i}#a@zZjB_vL{VMll?w?jFpxX@yGdDVK1pK2> zo%@6T#y?ou|BY~P^pRWKBmq0^>GhONmLqj6)o8LIZX!$-8v+mBBGTzSr6e9BpYOz8 zW5+vSqgWjSzxv<{*s!jyu9YYh&XP;?ltHph5^cKAd+|e{`&+}<0b#ZhAcg0qg$;1` z0bF$EAEBxB_?TXte2j7Os6ba~i56=3GqP_fFI%r;&2hOqEQsX;x&l^|Bn#bNB-oV) z;eGC_Q<2N@2r6Vq(@=|6Gw2;Mnz=<~(8qJ-W2H5u(-YY9E2_aW!-;Xc?-VDjgMvbq z_zycya%b`t(8|ULDc(J0^q$$X$J95_>x;rBMu(tSk!084bGFO{b~FU*n!BssaR0`% z;x|`$tmeNz9*&bX>dg8yJY%cnSD$`-BAVSa*9dx48Z-fV)V*NxFq(E?Op|ic+24S!UT^ck^WM4M-(zEun(Q6iF#5O3mF~fh( zezLZm+>(Ko$f{E?Gz`tgD3m@HZC6Nq{hZMjUnH|SL6X&4Nmpe9xww1TN%0$u^|3er z+`m-M{R`ZGY8A%$f~=ocMF@@Y?e$dmUzkTt0$eSCu)h$#oG1Z=Z5x#v@;6J-%5ek2 zkl1Qi2j2aiZ-m2s8`rrv0!m-i$x+4|3&~9(46@SA(QRMfW*e*l`*~GR zY^Z78EUyA1di`@DIi`cg4AxBO>Z(_Du6$yyc%j(Dwu>3s2}AdCx=se`d~gSr0h{yz z)7Y*0%8dsJyh>d2(Y1!ankq>|&c0sn?>D;Pu@%3bT(X22QB-8x%|WN=(5<*kg>Ttw zaquA-a@mR788BOG_VzL*8eYUWo2d{yQM~S6tF%F4Kkw>DkKZ1)O>Ed#)%vE8+4=^g zb;^!~xLajqx}Sp5Y*~Kd8W{O@??F4$9|iFg^Zer=9rCz zL~xHR2zL{Yh~8c!D-Gb8LimpX6NQzdGWm0uq0bZJ+j`87wIe%+n!Ty9=ooB~Do*1c z%U{Eacs<&~-v+S4o5waCu0UQ0aqAIWE3$0&O_q!D7Rlp8Dy1jXS0|dmQPm-|_SGBK zD%7w@C?xIy8yz%CaQ*m&9XTtnrP57u_t9LAkUlGFN#3WR5|_2Kl?xqb+wxRMXDWq1 z?6er098KyQqX>-R6O zBSrGa+h@DsKRZyg>s$Grn4+qS#S;8RFeBz7^2Y?I8&zfVI(e%n>Ej9Uaa!@L?DZva ze%Ij5BjYJtlr2WVJp>|dA7=aa0YxUUz?m2vve_DNVIVS-ks$!?;Yns=sTHhH!v+}_ z%>+?Py0tXdH0 zV_1%c0pL`U?RR4i_2I3D``mho!{%?|kx$A?KK>qWQCC)f8zGMlu1NWuR;}C8tRgOw z9I{d}#PK|Q9S8kbo1R4Y!TOaMaIjfU8*{yP*x@SwX`eU6n_BgFFP59VS_5Qsy3Jog zOofTVeAJ*KFD@OqzFwiy2M?m}fFxPkuPBu{4;x94gWG|e82le)e z;(g@Ad`1UgIJqY~e0D9U857x7+GDW_@dd_DR^kFMIO$5_gqo^o1opP^3hkhITIM;JU+B*Im7`{Dd%qE zUrPSVcL3_poohh7>vewiPmaf@O1qL>S84!v@e}}H_-zBuv|=Zk(RJa@&GbUy7ijic$+bQ_Rz8VBh0;hchQI~UGh-n+GFpYwF@ z&{j0e7TtF)0wCd^uOPfEflp2_bN(EF=*XPcYm}OtNUz`!@hy|M#x}rUxp!gvrs*bE zEwypqIk|=_LC6NPo189gl=?aJLWZ`m;h)s~#K))4^LC+$y}*tUgG3@PvgdU1PqY8cXLmO%ecRNco|WQ(u+Awa$SR2G0Ozx?ZM(763yPwY0Q`UOXQ8j(ENP zM!ZLotz!pMcJVIYWM2e=EqHQ%dIi8-7AjK((5kJXZ$vco@E3t)CEuu~sOcGWEG z`|tcw{n1K*^|#UX#x~MD+=7hc6BC?i5Nu_U*U{{xvwD^e->M?}xxK zdG+=6sP8RLeoU;qqN2j6e)`?#fAI$*(1YgR%^&Z-%%7XTr+*|SB_(-q3?RO-kDPuu z{j^H5QkFf}YNwtREuEcyl7U_{_wkeOMsVKH{%3cv7%xPq;ocmowRtdP)i(z)1r9$n zsX2T^2k_fZ+(`rD86#ehpn{<8(ZakFslUYz!qbxPk* zxO5rF0Zow%zia6I_1$+5iErMYo*Y10QRZ)F{Enry_29sflNS3uchN8pf^|s_*7R*7 zizT;Bob$NDyi%(Lq~2J{9@Tg_<$huEJN$3rVc4ADhpdbWD7xJK*JZU+cZWg1kIFax zS6kiSf4c>sKG_`&5o10Npkc*$Ty3`RjuP*)PLbuvDE>IV`MYhD<^`8IFYC6j)M!tqI_rfjr=JFVZ9Pos6yH*!nLpNp39?s9^_nBF8&K7+syLn&PFX-9%Qap20(}yrO728urE3}K2hQV&l)!Jelp9X2Vz=Qod zVSZ3d!(1!P`<6AdpFqVHlvu#@{ag3JKl$&xK;xlBV!CIPC@RoI^D^Y8n{P3oPXq}^zr%gfqs5lmk%Qu2(1cv7p?l{F`I!-V#mEzFr_g@E>;>A z;&9tS@{AYK*#}MUVrOtN(i)>H=od=62AJ6G%#KrI`Hm**>DRtK;SPn59xj&pqo(n5 z6K*XKb zn7}!Io8zZ6WAj7}ddhX@-4lcL_(O}7y5--yy5dX~Z6gO^Znp)mbQVt*ruc60KpW}U zSRK~86pgh=)wz_z4r|nnGtMm;B@G>6;t003tC{Ao?GU?>&=D$Le-Re4c91>_*OD?^ zpU8v~RPNM=l$bzfit!f|^vk=Gx;FCI5rojY&He%WU9Oflkzrg8H!# z=GPCaFJx*alj&UuK$qJB6Y7tt03xRS3sX%PpDdte18_s@MBmQ#a9^YdljL!Kd;^s6 z0?a1xnsQgny@tTvjKJ@POcM?-X9-O+IncrE*(nNZEScam|N1~JAoSGTKs90jwX=3C zp(8_sN(Fbje$zN#Eo{0l7joGXUcMzRUXmF0oZnZQzock9%02(Qu9l8GE5o$c>}Z%K zo4tftf;XdqT0sfWd7_Sx1X5AmGJFVrcPePS&d zdX*XhdkzjSge(lM>AB#NVP2D8mnZ#XWbBsf>Eg*-lC+D#QxoeSWQ~&X)3FiAEz1mF zU$=tW+cPOz@=6P_5ZIJH{YfyN?s?{X?EYmJT%ZK3tlPT6z16aCX7#lO6{#nswa;fn zumWi-P`3Sn9v>BGS2f8xUICFTB?y?RdX_%Lw0u{hWP zmRIzUEa_#(1eejQ+@=1IC>AW-6S&p|k6c6E;@??Q#XtS+p22prV<00-x$6%$4es2w zC*GYT-163!DxNRhU_g6i3vlwA=K~(ZlN>2?iE17T(F3cKHPbkRo=3USoY_ei7v4%H z>}M7el&JuV*mgw8E{Xbj)O7GbS*H9rUb|t5!zVPv?LG^8x_DRT*Sal_M@&xOG*<%p zGpceO$$eNcJ8h@=hxGuY^ft_Z-%cx7n+{k?joiR){iZBWGvmrg0qnr8y-fMsbGOEU zwNp5ED0G+-$6OGHSa0L$U5=YlRz+3h%S9m#0|88|A@U${d4|FWl|*jhrcxeGWeqi~ zF(%hrRA^D%=8B^*iUqyNM`t6LiJD)&9=#C=hZ&00`;MA|8?>k|J=jrYkbyGSEhAVQ zuuuK!kytm7Cc-q7#^M4&I0J?&*G*=LiZlM+(ivK0ms>>jsMAA{#iT0gkX@+cF(M;U zb#`WWlEYDTl>QfIQ`;uq*UHwj_AIPg*F6buOLsW`P=sif%8$xkRgNPRyd%M+n$E*F zkd&a7k=mk`3HQ5QnZ&Qd@a=^458fs8H3p4ub|SQ6VU>>LPQ)9%cGyUbE%jLoT;hiI zyK0NFVfM~7Um0R>U(J`anF{^eqxXDbMbo=Sf4)GgG^{lBbIJ-jQj1leWPZsS)<6v?)dYXKxGF&Z9fW7{HMliSKB>HAC?>e zTy0Uu`334=-jt+d%|?SXv7q7;ACcM$uu5m&pXx!@?|WJml$D6$G4d{*9@%@#LjAivVLJT%lc zQUk88C^i)k8Zsq3oq{e`A_Ovv*XiCo3FHPVk1MAi*+{HuqC&d4wZ)i7`n8d*t|i|k zt%iZo)5`ioG_+kS-ZMl~9n|)@buGAOaWon2B4%Ft5R4w>lkm4YUFRKQ6(7piWKtUjrrwE2Uif}}ev6xg4i%w*bOdQTv=jnYtnaGlN*oJdTFu<8;2T&kNI{zf+MqK0(^DRPJ}|!eaeZ8^ zpgGvY*$bva#?(K&F|tiU)0$P~g%54up`$D93RO)aDCd?&|JF$|$hshCeNxG>otfWS zmp26MF4T$QYG*XiY@hs5AsSOr>n(v@&35R#Rdj5}aquYY7vvuPx96Mpn>|YsSZ%vm zHo47Cep<0zNfr%eE#<5)O<|mhrwhef>bXRih#DqKzV$bwe#2M9NWRv&Y|zI}hJk+A z*sb!-V{{}{0%zu4>5}d^FnnQcdtJNCwYuua08!CUb24&}Vc-2fB8+r>ib@hB_=+>esY4lPEUnH++)R?Uq7!th~nP zJ3rPwkOioi9n15cqL*ax%s)5{BlX|{{Mc`cAx7Ef7V3Y7l&EUSV~*!ds^|G#n5i3gy}YE~x_m7i;9B#juuvLEmpn8#cIF61H_> z;W{uEp9TM08SK}D$;>Cen&uUBM;|Q+)$G=G5x5(u9cU6Vof1Qx=sFe!$*gzn7il=` zxb{Gzd6E_q8nRU{(fYD#Y2g>m#np2ZtV^*VGmE7|hiDuT@!TBmRiovvPdwnq6;EEk z!Qt$w%`={a!}LZJKAK%ep${@TW2oe6JacCjzxt4e|3iLsszJe}Gv!~S)WY)IEWtj? zka<9N_f4&mWzl4pfj*$CDCjk3zZYy$SzPvJTOI{K#z|~E&LKU39ma7++6gCg6yaP# zfPK~ft5;(j6mq!2e~mL@LTgV>Y6}G;lQ|%EPos1*5V{tNzSAUGdMjLWH{kv1 zKA^PX5jY^D4)h}Mx$pJ2`2{!|c_vI{o18}b4~+dI4bquT7}SK66>ILo`&T@GN%x1^ zic$g<><<3-VTL>6ss{+W(VFy+hvl2UA+}C)EV)194E09*f3q&9GaXi@dj64R+R>BQ z`uR_i28fG1qG(`XFl2Y9N*NIi_wfbFD(!rV-TtyN|HTKoV;yg;)na%30ej5*-+Z?> z|Mo~FuyUlfpP&J$AZmmWOAfX@w=MOM!~B??0bCd>LtcNzCo1y;HtL^Lz*T>Le;;4p zn;WhwtX}$E>y43&n#rfQoQhy5jH6Bss26jpNaXMFUj|YbtE-g(f1cx?2?*h-Sy@>g zzx}d6X^E-uwY*bfHOKJ>+mA_x>&xkS-0pa5oLgQ6RGU~o0Z>xL!1Dg>8@PuvR`z4k zKM+q%@PYU4ItcGYe>K|;EPd}LdClsZ>=F3iL%EaT(6sBR1ZoQYhvbR>9DDkw3+%5n zi~NFuC8||1r^C#Zt|%$3TJ38B>FMc>&H#Bu_bxuIZs`R)#>DR}*Z%;vOiND>CVt$d zbAC7#1_oj_Wo*%^Rt4vu*0#VnW2&2V_N~D;Fc2(S9V?_HWp()BZa)CxBBzFv;C|HC z-D@@ZOqzl#ec5=X@H+z(>j5_CQhyLW{9Dh7L;mEn$hrA$D0kEvv;|W(1Tg5(5>}1i00SR7O;5?x}v8O zVUc~2OxB2xL}aey2HZCu<&bb!uLFDQKD2wL4W&TXps-@@xcDc8WQfzY16dBbIfz!Q zxEbQxxMA9H021pzuD536_!aY}CYy$=Fdj{?a*t@I&qAL2qhH*jKAr&1@_&U(p?96N*ue)@TXSn3+K zrG~XkVVn{}*oDlnTNpG8f%!oElKEl>JL-Ce9gbbIh^ZqhW^$8-$ZXn4YK#uN5Ptl# zAcC}9p}G;n#x~T4mA^xCYi&(BUQk~Ti+a2MRG;tZ&3BU5a_%Sm+JE=U{vOjb+h~<5 zx(-lJ=BW(CmTbAxy(oRZh`1 zEu25O^)cHms!m5u+EDGyAgF9}+I&O=I%tuN&=9{LTT~!orui(bOu-xKIHCawiY-N$ zGnz{s9O=J;yXZ0SdX228bB;4(-Dg7QPj=+yt+>0igD|2DIn0G_Rdm2zMy{2WiWz0$?#in}o%T~I3gNw2S64*5>8E&PTyhfU!O?8)`E$YW!*Nxh;@og=S z4m@0dp~<@AL8A8bMzjc`UUt)v9ggj5Tt5Zf|@dtBptuc6i$Imyo zhP<`m^z(FxzcOF&Bi6O%{dJY&adxd^i40zpU28(%rFV#?XdaYFgs6~3HEC%;c;h1G z%xc8lxK}o!+2GKHWx4}~7PtP3GkHehY`Ex22`Bg=F!8v*k9zf)3w|Pj>F=vzXn04U z+QYj27ha~ix^pj=W7{i=Vd+~$PlabxJs(@&8oFlt2gUJ1vm}n6sIk16Tc*lQ=%aKx zMu%o*@SQZ8Kdx?a_&$6UB_dj z7G$oN zvMoZD30QvosbEUtd1z=gt^9n;#lZ!UK4qnc<7Vz8Qj*>FMNIIxGrh2INCD1kXLCpM zb7E4`eK}=!i(ndwZhob?(!1^$p^BF_O-sfp`gg}+F|R_jv+K}7U?A=oIdThu&k$x5 zU(A=6(|!WM*J~g@Wx+p;1O&9as8Jwh1zC(NFSn->RnunCkD;F&-Wak+$yx{=mV9aS80|A zS$3y%Ul7}Lgmr(_2x6icV(K@N2gT1gfHb;#(70TnNb8ob8=L=H(rI^8xt5#lWE ze=Pp_eE!|h)NSgs_GLIb>+EsY8HdFQJ;x<)_Z%2@4Su6aC%bpP@l4A(8WJR4Coksd z895E`p+4%lU@IzrhnOVzO7mWu*x?YpVis(RG)arRsY5<4yj)E?s4fBEnq6q0rcrQLpIjV2@eTU_uOb_P|AQz+UqjrTTau0JXi}a z@Rq@99oitBQpWU*Fa2WazV__(^P^W`a}sP(tGYvJ^4cd3gDRWvO&Y~;`)4TEkM&20 z$0g>K9_6aEI$h^MtbpR@q$!(#(qdIZwV_vNhF5ng)O?yG8~SETaO~FPws_GkZ2g7K z$WOpRdU}Q?YPRV=?b_hrzN_$|<>`M7`RK3{FaXT*2MADU^vx${^B4TDipikRtM$Fx zVP$V0c*jX5`sbVD{652=9yrPHSs@4Pz98QdLs=E`L+hVN@;5~o^z~mOQc@A`G$Cfz z6>rXm8>aAyPoq6N5Q5vatu_8o$F1c#OY$2vGdXLK*;`iB0=tBr*~eVj8jOEwilrUv0SO{DOs7Qq*>&SZA{+?mvS3h1XU@4MN zicgl_+Xo%ODq*t&ptG<>5OBmZi0et&L2YmaYnG5_|j?+AM#jf##EOw+!%bjP|`tMaUqyULV}g~$i|!E zZB%Ws1f$WIr*_npl)#?Bt&o{xNT<$^)g@(qpXQ-}m@PfZqwednT%54DtXR>D60P9D zz1Q1wLycJWu}D@`WuPNEts!bcf|?Ygov1f(*hRKYuYKU|=IUVY%Wcy?&9gd`h3n??3d;aa{Ss1I&5(L^OC>HsL`-5~%m|S?Tdz3g zV*~7y_S*DUGxi!%tOvhd7klC=*7MC*JHTM=obEyYP4QPWl%QrU6x43O?wgOvuBI8D=m?xnn2A^2aNm?p8U$#OI zsR%DATN-Vl-|l-0DP(+4rptgFAuaoks`oLnK(!d@u#-}Y`tfKqfE7%&Fxl+rMhoo%BgO<^k7DO+OmKVLo>VUvwt__N=N~oyR;-F6JAs zILC(r^B7(R8PI^8VupM6G~}4I@p^^D->|kv*;v{gOUl%3Ww~6}&U^SpR3LdmZ?3b^ zyplEEmTcYi7(8o<(z_98N>ZV4VGWsZGfS}sc?{FKdFnv|WgV%DI_4I6(vbQ4gWU6J z8YLA$*0HJ2LPI4zvoj5T3Gp4lyrWtclGG-q*FBZnD}9(>O7IiGW}}<_KX3w}b-%{wv;-hq{0jAB2*L%hmL z!=JD&UdXcEtcxgF>Qd?GlPb-C--KbZQ?eRpAs~k6747cSJLNXUa}(2He1~bpT42AbCPOVH!%pSuZEdU_cuEf+^=UQF?w}D#G})+B zJ$uXbrDT3i_nJ-B&*YQb-Lmnsm-2j}Fn3yA-Ky`f0bBF_-P^2{!N|!4ggn`LGcd86 znE|cRV^?2szQ?ZY#TPBx-Pq~zSN=XnYJZUX{5drm(7vk_kTG{!B+daGRcd+-yD~`gI_#D5j?XewjsYAD%@nd@<>8xW|W- z*VHi_#10Y;$7d}Kr36wwj6cs^J*u!dRtTMb$+O`|0*U9kcEzdn=^W4H9v z7ch}!lpfm1MWt*c<2n=cnvH`uhK>Ry8Lgq4&s*>n)o0)#X19@$sH6rhj_)w&=J_!( zMT+@e{wb%c-rmdc4#K~Vtj!a10ZD^ukD(LU4>n9kls!V|zozRe&yC)wubK;R_uhh; zcpuSRZ!pH%;jptkCm`5z$jhY?^6f4{PHm86@Ak1+#@&2Rx#^`4%j#AuEKx{d?CW4@#A8SazB0d`jKE?%pp_YL z1MQ~^h9#S}+T}}cz2yP>B-i|KsZ1tAW0!84c;7vH zU(A6;cb`#LNat%@%hZ!w_&~Q`Lh@HCkZNFW`3_2;a>LS7kZinb8X`8Pw3yc` zrZ8RS`Tmh!l7e1%-frZ6?-|MubJd%w-(uJ&7;>Yl_rHvsDZmw%8pN9%3oLM47HiL! z*WON`ccohVQSz`;jlS9vS1%T5EwCh!+?uhBTUh<_f%bCgZa-Yu)#q)hZ-K3lf8r>E z*LB|M=-239avf#}+JXrP_eg(6fert4M7lsStEno_Thg!pF27!;s@jCLjTVKIj{C?z zefs5V?!bb4lLdU8RwhRiFAJaVyMfID~Idbv*;=Od1M5g zJ9yv(DwMf)|G|T(5-U{e`7V4jxT%$YH_Yd=xJ~&z=Mgg-FKkXiiqM5<}gT8kaG9tp(@H;8q{xIV9+1< zVT2Q#r`z+%fuqq3ZtY8A%xy@F9_Kdy@Z0fCh4+x-(AS7hEM3zz@v-Ft7giQJ4x zQxLP5!{g!V9$h5 z3sL0A3DIjD!s{yhnZfIfxW=v@7U;g$b1)d&wx`;~g@uKKZs#c1#48+e@monxM^I## z20M*ZUSky~!guY_Sm=~@Z#4G8=yYP>*Vv4kJ>pW9#&ZK0pi`9H<@EfeNc|6 zO$6`d-<0FwUsFi*lHRSpvm&2(UwZT!`R}oOW7b^t@lT5M+KpYA6Hb?MZnbC6L7qR$ zdY(A@4>RC90rqR;pNS{Wj`MIl+w^|0J<`0%NL7X{Lf@Ri*J*|#cki#HxCAc2O*K06!=09WR-eyrum>)hHG z<5fe<%Q(yR5o>H5q}<$UknY$i9xJo9C)Btk(%oR^{*o^%cy_7a6(i1SP&r-K~V3XmhR`$-9p!_W$V|S&=TH3|Le+n9a_o1uTwJUVFL+$60}R>vyN}l)_oL z6=92zhN=~s+pOa^5aZ{uT}uD670^=>13F%C9xq(WT;Q_9C|XTnHFE2@dCli%mYmBU z-32xevIx{;Y+gAWS38O5Ksk`~%P?ruDb@LhI36_EjAZ6J0?tIZF#>SY>2|P7$U-!1 z)(?s$QB9feD&h0J^F`d%aPj%9Y*MT`$0rapu#DFc&t|O@I07OI8_HLW1peGYo{b|) zW1}Px@(aFA@2nin`p;HVUGOnOH=Do`hqLW$2G7j6l=Gk~^w~%yS?~03CKJsW%i+n@ z1Gp!44Hx(ZBJ)eg^&K?Rhs}!utfkF0gs6hjgtfn?Q)$-z5i3xVKS~ki*IEB&g<^wQ zTTBTeWvHU8%Q?H|n)&&!taY4DHw_`6a5hQKCJi21Ft=9aa9R!ULA96(pM$=}3aDtf zfVTZZ`b%1-z8uSS1dE$f zMmENIN;fJy2)wVah~FdT&!*B?(L` z6}=4NgB1@xbsC;I(?S2JQSLI=LBCT^^S&W6^dN|8$&@NDOpCcRGVaqk+3G5l>#b<2 zQ0r#)fU|^2ccj0X{ZxC^2v|3E_hYgMcMYO67hbfVYU0&vF0%>m(|TEAY;}WLO|(V+ zW|jJ`_Gc?QmEf*{>6b-EbV@Zvyju$v)#Ehx-;pX#Z>PesIfM!m-)Oh0Ypo-X5RvZMr>O3s?yT3PFCf zvoo8%Er-Pvl(e(p>8tc+BO=zJfTrZ>XVo@;B~x+dX^q{cTq7C_HMuU0C2iLhdh_&` z!N3zw0#7_i%{LqPXv2$gfhyLUPVjohy*9;}8tI@f6BRV`4Z*@)b^26o+t?)=@x#)& zk79h?iwM1>lT8SzaC&tXRY}yrNBIzg`aB!l&%7Usr5Z`_{gs_-NDUl@kECN@XH(8mDR1-d~A^*-rc~p_=g38w3h%5w8 zZY>#6qco@DV}_JQX^WEH4x{ITcdE$)wmker3z2lNhBxt9@CXz)?mqQ{58=_o#Dr*z z^5+N{c!=|D&A<>S_s(x0vD&H}rkH@xNOXy^?*HLu+2Kkj-C! z^6%4NHCAObAa`))K~XL}C*8pUD(~Rbx!!83F#Vb0+2Y>eumI-ax6_gg=dBO2^YfH; z__!sgaG^duvnesI>;k;F`gtEDvZ#BoOL1;})DmmN#5*)y_olAZ1fXo;zSNsg6Ji8$ z^o@M$mf(hlyF_qzbixEKwyfpYPOp6xg?rfQ;yymL>tbmuI zdk($5wrsA7;yE$hT63SDUWs!)Q`J|y`q&eLk|~Bg_=Ot|sEtL(Ano{sqw9@_E&a9) zbL2V0v4}hgZMZd=;Qn4W1!)Y}V+2kWT&bv>3JXR<@@_0J}YOSy-7I?k=c z;<_V+^AVjY1kJUMUU#S59PFt$_hp;1xpYyx+z>G^jhb^mq%PnszvfcgIR)qTmpl3K z(YtZ{S9P2B2lc=IhD%b3ew3>Bp-i#;+|By>wfSM^vf`f*3Jw9&YE}6^cIV$m#>bP? z@*|vRB`4gxhZsXQ?dQYy8P=a(8fowg+$xv)9TM;`P)*w??RQ(8zeISby~CIws>$7F zKzq^5>9q=?yWw<9&CtAeHZ$WHXUXp|1y+uKTqcj5%z;st_FNr()H~zSrtX?|;2AR2 zwfX3>hLMHl^x>9M9~4_}Xl_4w=phqdlBFIn6x#B(-$pdy=@_K*B3F0&UHp(cN{Wj- zV_Z0HHLpqxf+aF|IviU1NWqYesj;F-6wL5k0r~f!5|6ZT1)yvp>Ozu^#lb>hN;1Ov zpubb6YB1;^YV7kjW2coD3JSTt>a*=?__phdGp+5zjfoFRiK889`%wguaWo20WR9*` zYL|YxYrRZe1-g%vBDh@i_`$s)gUo`13+;48iV=>Fc)lq6qHY6UZt!x=u(~t7ZXG1X=3OlKK9b)|W|Da%q{#S9ls$xU5(`tVCv+;-o< zY7Fu0L;Q)|NSRlPJp2K!BI=SzDcykT_)Z(5fX)l067rk{b>u7RTD=LK8$82LFcaOgD2kI<$%^WH&GMJ60^Q91be_u-h20@jvP zseXFg;}TntZ)a?^WGJKkjr>4l@z9m#7HaB(NJ8a|WMVS!ITyXwW^NzpZ@TC@IRu6z zTw8x(puy5(Lb-W!GN#McOw<#hRSo{(K4-a2A%Jn_uZkP9uK3CYcK>8HP*jp9Y$6KE z7l?OeR3rQU$96qjxbvyz?+gx=z721g1z4z%zk}~|Nk}q@s`Ve-LBnY zqL7~Xg8xFm{BHW}&8eszrynir%f4I|@p{`Di**}KRm;M*hGjpV`tR9O7^#NN&GFQ0fR{{7a8R7OZo)e2bT+?%?-_4m=v9ZB-@iRW($sGG zoee(@2WvgI)Kn|sx*scT`M2%c{NisrV}dxhg?^eJ{Pz6oRZ@&Q)bCV0?q!11O;-#S z?A%%DzLEEf;%WJKNnwAv_&cv9^Y?so+vu7VW*#SEp30oO`G@V|?uk2U&nWlXOme@I zU;8@xD0sEljqkD*4;qh#oqy4ree{6!YVc@5vWlL=CbJ`(UY`z@e$HqPOlzCJ_cqKv z>GpsNQVw32*}*+wO`>6q%f?8fm)zlBZ{6AgP67^ApaGsK&;g!ba+fukWoJS*2?G1@ zg+rkae<2Gv3UX8o>>b;)(0V_#wzhU7czD9WznE9-1#ko;!!+Zx({=hR=+OPd^?(*5>`4n0@rZcSuLN=g8n6?`XBl0uBUh1U9Q+9`G&e zwb&iT^QIa!4$#JDYhkwM+it9qeU@1jHsAkrfBd8^-2*wy_a!VK71opShiN; z#&>w*?aVaY=*LG(Unf64=DRVu{XX~oZC!9svGyMf(~Xu7tQVQ z&T@?bCNXgMGXRGW2Y-N$x{!f^P?Np`Qpk)B6GD^uXu<|(@X=%g4u;Y3Z%A=Z+4%S9 uqy#7wN5c@DmPQL$a4-zZ0(O$%$N!8y6Bb>r3t(#odDGL?&t;ucLK6VUP1))I literal 0 HcmV?d00001 diff --git a/tasks/kazakov-ev/lab_3/pic/2.png b/tasks/kazakov-ev/lab_3/pic/2.png new file mode 100644 index 0000000000000000000000000000000000000000..2270e6800aebd0f541e4e86fd542ffa5d0205d9e GIT binary patch literal 49537 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%0As%|*hcfOrbvi!Q$s;%Xp>T z{cRo#P4W#1@^W&9Znb=%x14SF5G=dFO@!QN;-1gT%>9bu_IgYHl4LW_1_;)*+3mRc zt^%vP-BcQFs`KeyCeM9I8}42v4GNnR2;!Po?8nj|Uv`jGveD4vA#2r<@{f3%vhWn+ z2P?Vvfo+_k4s@>{&Wdob8Nwx2S~wh>GcvIeY0A)vcL+Gyz`a8pH*E{IWSpJcYyCIj z#{Wvu3mHx7x$Hlo2MU0!Z*h<7*}!*$`iDH$;0xRQ$J>QpKY1b@JzaYHc6=1DI+$-& z-2{jGNDddLwt{4&kL$66t9(6m*FCiFd_DV|?FLgCKxT@hd3WG*Dvek*Pvr5A`A5YM zNsHNi8Jalop%hRUm>w!}SZ#$d9$2_O`znW30esZ-i$6;vK#d<;bg25g;8s~#!F~I3 z8JNTZI>AzPl!t4&RHUQLyEc(q|TUiDiwBU9zyfxMZ9 zpaQ&0KoMvGxp$>RNzcYrMfO;m2&f5fhSw#WubQ#V-vQx2*T<(Hu-knGIYzD4(!MoF z<;3yb>ytw_xNZ}61=BH!PTav|O(luFH7wK!UBF*Lzzm9d2-mLN!@fM}dgYTVUb%-9$ z)A+py4i9qUVImtg89qeH0v^CwC42IhKb~LR@=bd}JI*iod+R^dI9|~|HgnE@F;_q4 z`gzg5gYtSb%N+zXdxuu_z*cPJ!_y2nWaHK%!*rS#DP0J!!TPX$IUtMa-R6X-WHtj<$}gn*vy z*dt0cbSD}q2_ZUXVrG`V=AK0isSt|fB7pl&T(bGMy8Dv(Y$-*oL@uak_WNAweQo(# zf~;PkfEVEK-+a0)Q#KNmq3b6PT0s5O3SZ)ljBiP26O{6Q;S^TN`!joBZuyR5>X-qn)7`*%Yh&A7TYUr9 zSH0&lADO)iM+TL+#u*75904fh6sY@?O{26WlM1?yXT8?rfB8(5BdIYNXM!7aL>Sw{& zFPiJ^Uxn`FYbhhtN%VJvUfrjifbAVx9B^FHKH{i^e^U|&$JqU)Bp6Q60ybz5 zmEUrAqPKzqPkGVv_xox+UCAkK)0eVcs{WW;Obng_d&`hYZK(3OS2k{CjgyYw*nt-s zT(dr^8p@93pDz<4^Sl-KB1^ur6^P8=ew|S~?d;x}88!#7&5*tUScso~_?4g#78&d6 zu?v@DV)SwSI#`HifoCAi@6uq>tYa??i!z*G%-$NH4DI}~{yk%qGsqe#v((QF=gjnt z)9bP%LMCXa=kV}_E3=p0qE4pm-nP)>VlJk*^filg0`5YTvpe~mz)YRIn6P6EPi2Z zaEMb<;Sh!loAO^Wc&~avP{{GR0UAYFAWbCF(bIDR;H(-%j=C;E!k<{lD99cMP59kn zEJE6a#0r{(#P~;RRLi?;aaxCwH1-Dro}$b9Vd8R^FGV_1WE z@MZE9@&gJcuFamQ;>PQ)v{Oszip6TgI6TrYL(v)qSH8AC)-9^b?%ws*(caaL(n$=V zyCC4P)#GPBgx0rqCA5;a+=vHPFUfCKTaMtaJV}z-nqaM^$4;bligD)yvY*4$z#J)4 zmIJCmD~*$>Zy~5`dXDqZ>gQu_QOHie*T@`N0rd!5GyY9b7#vY-a6^!X6b?KeT|>H zTid2x{D|BP?&lGwf%1XX*-}ffi5?1wD6)N+5%9a-_o=aSx_5odld(EJ-?t>A>QBDR z=P|sg*)&5m#hdZN?6k;*EvArRD`UTBwKKC*l7efv|LrD_ez8Wg*px@xhe80ir zB3SUsb#ay{DfkJt(W(e5OI>}ZBZZ1NmEV>}TfK7s#J1(1dHX-yZ{0pMzjjb|m8Kwd T1T-G;@7Uv}NRuKX=ZJp+Ec+d) literal 0 HcmV?d00001 diff --git a/tasks/kazakov-ev/lab_3/pic/4.png b/tasks/kazakov-ev/lab_3/pic/4.png new file mode 100644 index 0000000000000000000000000000000000000000..78d3e278ee286943262463d634d9c3ffc69196cf GIT binary patch literal 8609 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 literal 0 HcmV?d00001 diff --git a/tasks/kazakov-ev/lab_3/pic/5.png b/tasks/kazakov-ev/lab_3/pic/5.png new file mode 100644 index 0000000000000000000000000000000000000000..ee82b01ef0ca73b03e2483b11c89b00f462e720e GIT binary patch literal 15545 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 + + + + + Тестовое приложение для л/р 3 + + +

Казаков Е.В. ИСЭбд-41.

+
+

Отправить запрос к worker-2

+ + \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/worker-1/Dockerfile b/tasks/kazakov-ev/lab_3/worker-1/Dockerfile new file mode 100644 index 0000000..7a8ce23 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/Dockerfile @@ -0,0 +1,11 @@ +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env +WORKDIR /app + +COPY . ./ +RUN dotnet restore +RUN dotnet publish -c Release -o out + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 +WORKDIR /app +COPY --from=build-env /app/out . +ENTRYPOINT ["dotnet", "worker-1.dll"] \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/worker-1/Program.cs b/tasks/kazakov-ev/lab_3/worker-1/Program.cs new file mode 100644 index 0000000..49e54df --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/Program.cs @@ -0,0 +1,111 @@ +List streets = new() +{ + new Streets() { Uuid= Guid.Parse("6a1b4a72-5669-41fe-8d5b-106dc86f58bd"), Name = "Ленина", City = "Москва"}, + new Streets() { Uuid= Guid.Parse("464bbdb8-39c0-4644-b9c0-3df1c484ea7e"), Name = "Транспортная", City = "Ульяновск"}, + new Streets() { Uuid= Guid.Parse("f8692bea-b7e6-4164-b564-a921f16c35c9"), Name = "Невская", City = "Санкт-Петербург"}, +}; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.MapGet("/", () => +{ + return streets.Select(r => new StreetEntityDto() + { + Uuid = r.Uuid, + Name = r.Name, + City = r.City, + }); +}) +.WithName("GetStreets") +.WithOpenApi(); + +app.MapGet("/{uuid}", (Guid uuid) => +{ + var street = streets.FirstOrDefault(r => r.Uuid == uuid); + if (street == null) + return Results.NotFound(); + return Results.Json(new StreetEntityDto() + { + Uuid = street.Uuid, + Name = street.Name, + City = street.City, + }); +}) +.WithName("GetStreetByGUID") +.WithOpenApi(); + +app.MapPost("/{name}/{city}", (string Name, string City) => +{ + Guid NewGuid = Guid.NewGuid(); + streets.Add(new Streets() { Uuid = NewGuid, Name = (string)Name, City = (string)City}); + + var street = streets.FirstOrDefault(r => r.Uuid == NewGuid); + if (street == null) + return Results.NotFound(); + return Results.Json(new StreetEntityDto() + { + Uuid = street.Uuid, + Name = street.Name, + City = street.City, + }); +}) +.WithName("PostStreet") +.WithOpenApi(); + +app.MapPatch("/{uuid}/{name}/{city}", (Guid uuid, string ?name, string ?city) => +{ + var street = streets.FirstOrDefault(r => r.Uuid == uuid); + if (street == null) + return Results.NotFound(); + if (name != null) street.Name = name; + if (city != null) street.City = city; + + return Results.Json(new StreetEntityDto() + { + Uuid = street.Uuid, + Name = street.Name, + City = street.City, + }); +}) +.WithName("UpdateStreet") +.WithOpenApi(); + +app.MapDelete("/{uuid}", (Guid uuid) => +{ + var street = streets.FirstOrDefault(r => r.Uuid == uuid); + if (street == null) + return Results.NotFound(); + streets.Remove(street); + return Results.Json(new StreetEntityDto() + { + Uuid = street.Uuid, + Name = street.Name, + City = street.City, + }); +}) +.WithName("DeleteStreetByGUID") +.WithOpenApi(); + +app.Run(); + +public class Streets +{ + public Guid Uuid { get; set; } + public string Name { get; set; } = string.Empty; + public string City { get; set; } = string.Empty; +} + +public class StreetEntityDto : Streets { } \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/worker-1/Properties/launchSettings.json b/tasks/kazakov-ev/lab_3/worker-1/Properties/launchSettings.json new file mode 100644 index 0000000..bab6706 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:51956", + "sslPort": 44303 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5197", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7027;http://localhost:5197", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/tasks/kazakov-ev/lab_3/worker-1/appsettings.Development.json b/tasks/kazakov-ev/lab_3/worker-1/appsettings.Development.json new file mode 100644 index 0000000..3b823ef --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/tasks/kazakov-ev/lab_3/worker-1/appsettings.json b/tasks/kazakov-ev/lab_3/worker-1/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/tasks/kazakov-ev/lab_3/worker-1/worker-1.csproj b/tasks/kazakov-ev/lab_3/worker-1/worker-1.csproj new file mode 100644 index 0000000..795c30e --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/worker-1.csproj @@ -0,0 +1,15 @@ + + + + net8.0 + enable + enable + worker_1 + + + + + + + + diff --git a/tasks/kazakov-ev/lab_3/worker-1/worker-1.sln b/tasks/kazakov-ev/lab_3/worker-1/worker-1.sln new file mode 100644 index 0000000..fc4131f --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-1/worker-1.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "worker-1", "worker-1.csproj", "{90F6C7BD-78E2-47C8-A702-DD47E74D3865}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {90F6C7BD-78E2-47C8-A702-DD47E74D3865}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90F6C7BD-78E2-47C8-A702-DD47E74D3865}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90F6C7BD-78E2-47C8-A702-DD47E74D3865}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90F6C7BD-78E2-47C8-A702-DD47E74D3865}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/tasks/kazakov-ev/lab_3/worker-2/Dockerfile b/tasks/kazakov-ev/lab_3/worker-2/Dockerfile new file mode 100644 index 0000000..7f6b963 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/Dockerfile @@ -0,0 +1,11 @@ +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env +WORKDIR /app + +COPY . ./ +RUN dotnet restore +RUN dotnet publish -c Release -o out + +FROM mcr.microsoft.com/dotnet/aspnet:8.0 +WORKDIR /app +COPY --from=build-env /app/out . +ENTRYPOINT ["dotnet", "worker-2.dll"] \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/worker-2/Program.cs b/tasks/kazakov-ev/lab_3/worker-2/Program.cs new file mode 100644 index 0000000..923f404 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/Program.cs @@ -0,0 +1,139 @@ + +List houses = new() +{ + new Houses() { Uuid= Guid.NewGuid(), Number = "1", IsSingleHouse = true, IdStreet = Guid.Parse("6a1b4a72-5669-41fe-8d5b-106dc86f58bd") }, + new Houses() { Uuid= Guid.NewGuid(), Number = "2", IsSingleHouse = false, IdStreet = Guid.Parse("f8692bea-b7e6-4164-b564-a921f16c35c9") }, + new Houses() { Uuid= Guid.NewGuid(), Number = "3", IsSingleHouse = false, IdStreet = Guid.Parse("464bbdb8-39c0-4644-b9c0-3df1c484ea7e") }, + new Houses() { Uuid= Guid.NewGuid(), Number = "3А", IsSingleHouse = true, IdStreet = Guid.Parse("464bbdb8-39c0-4644-b9c0-3df1c484ea7e") }, +}; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.MapGet("/", () => +{ + return houses.Select(r => new HouseEntityDto() + { + Uuid = r.Uuid, + Number = r.Number, + IsSingleHouse = r.IsSingleHouse, + IdStreet = r.IdStreet, + }); +}) +.WithName("GetHouses") +.WithOpenApi(); + +app.MapGet("/{uuid}", (Guid uuid) => +{ + var house = houses.FirstOrDefault(r => r.Uuid == uuid); + if (house == null) + return Results.NotFound(); + return Results.Json(new HouseEntityDto() + { + Uuid = house.Uuid, + Number = house.Number, + IsSingleHouse = house.IsSingleHouse, + IdStreet = house.IdStreet, + }); +}) +.WithName("GetHouseByGUID") +.WithOpenApi(); + +app.MapPost("/{number}/{isSingleHouse}/{idStreet}", (string? Number, bool IsSingleHouse, Guid IdStreet) => +{ + Guid NewGuid = Guid.NewGuid(); + houses.Add(new Houses() { Uuid = NewGuid, Number = (string)Number, IsSingleHouse = (bool)IsSingleHouse, IdStreet = (Guid)IdStreet }); + + var house = houses.FirstOrDefault(r => r.Uuid == NewGuid); + if (house == null) + return Results.NotFound(); + return Results.Json(new HouseEntityDto() + { + Uuid = house.Uuid, + Number = house.Number, + IsSingleHouse = house.IsSingleHouse, + IdStreet = house.IdStreet, + }); +}) +.WithName("PostHouse") +.WithOpenApi(); + +app.MapPatch("/{uuid}/{number}/{isSingleHouse}/{idStreet}", (Guid uuid, string ?number, bool isSingleHouse, Guid idStreet) => +{ + var house = houses.FirstOrDefault(r => r.Uuid == uuid); + if (house == null) + return Results.NotFound(); + if (number != ",") house.Number = number; + if (isSingleHouse != house.IsSingleHouse) house.IsSingleHouse = isSingleHouse; + if (idStreet != house.IdStreet) house.IdStreet = idStreet; + + return Results.Json(new HouseEntityDto() + { + Uuid = house.Uuid, + Number = house.Number, + IsSingleHouse = house.IsSingleHouse, + IdStreet = house.IdStreet, + }); +}) +.WithName("UpdateHouse") +.WithOpenApi(); + +app.MapDelete("/{uuid}", (Guid uuid) => +{ + var house = houses.FirstOrDefault(r => r.Uuid == uuid); + if (house == null) + return Results.NotFound(); + houses.Remove(house); + return Results.Json(new HouseEntityDto() + { + Uuid = house.Uuid, + Number = house.Number, + IsSingleHouse = house.IsSingleHouse, + IdStreet = house.IdStreet, + }); +}) +.WithName("DeleteHouse") +.WithOpenApi(); + +app.MapGet("/Houses/", async () => +{ + var httpClient = new HttpClient(); + var secondWorkerResponse = await httpClient.GetStringAsync("http://worker-1:8080/"); + + return secondWorkerResponse.ToArray(); +}) +.WithName("GetStreets") +.WithOpenApi(); + +app.Run(); + +public class Houses +{ + public Guid Uuid { get; set; } + public string Number { get; set; } = string.Empty; + public bool IsSingleHouse { get; set; } + public Guid IdStreet { get; set; } +} + +public class HouseEntityDto : Houses { } + +public class Streets +{ + public Guid Uuid { get; set; } + public string Name { get; set; } = string.Empty; + public string City { get; set; } = string.Empty; +} + +public class StreetEntityDto : Streets { } \ No newline at end of file diff --git a/tasks/kazakov-ev/lab_3/worker-2/Properties/launchSettings.json b/tasks/kazakov-ev/lab_3/worker-2/Properties/launchSettings.json new file mode 100644 index 0000000..c0a3346 --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:36404", + "sslPort": 44384 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5101", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7125;http://localhost:5101", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/tasks/kazakov-ev/lab_3/worker-2/appsettings.Development.json b/tasks/kazakov-ev/lab_3/worker-2/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/tasks/kazakov-ev/lab_3/worker-2/appsettings.json b/tasks/kazakov-ev/lab_3/worker-2/appsettings.json new file mode 100644 index 0000000..b41ccef --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/tasks/kazakov-ev/lab_3/worker-2/worker-2.csproj b/tasks/kazakov-ev/lab_3/worker-2/worker-2.csproj new file mode 100644 index 0000000..9e8d22f --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/worker-2.csproj @@ -0,0 +1,15 @@ + + + + net8.0 + enable + enable + worker_2 + + + + + + + + diff --git a/tasks/kazakov-ev/lab_3/worker-2/worker-2.sln b/tasks/kazakov-ev/lab_3/worker-2/worker-2.sln new file mode 100644 index 0000000..8f8c96d --- /dev/null +++ b/tasks/kazakov-ev/lab_3/worker-2/worker-2.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "worker-2", "worker-2.csproj", "{C9D63524-2C63-4E86-91B6-D86955CFA5F8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C9D63524-2C63-4E86-91B6-D86955CFA5F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9D63524-2C63-4E86-91B6-D86955CFA5F8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9D63524-2C63-4E86-91B6-D86955CFA5F8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9D63524-2C63-4E86-91B6-D86955CFA5F8}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal

Отправить запрос к worker-1