From b8a0c224cfc24f41366a07d94cfff6c10425e988 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Sat, 4 Apr 2026 22:06:09 +0200 Subject: [PATCH 1/3] Fix: Replace markdown native image embed with html tag --- documents/docs/networking/commands/README.md | 2 +- .../networking/commands/commands-deep-dive.md | 16 ++++++++-------- documents/docs/networking/server-architecture.md | 3 +-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/documents/docs/networking/commands/README.md b/documents/docs/networking/commands/README.md index 2784975..8058c4b 100644 --- a/documents/docs/networking/commands/README.md +++ b/documents/docs/networking/commands/README.md @@ -6,7 +6,7 @@ Each command consists of four classes: a **Parser**, a **Request**, a **Handler* The infrastructure for routing and dispatching commands lives in the `network/` layer and is intentionally kept generic. The concrete implementations for each command live in `app/commands/` and are wired together at startup in `ServerApp`. -![Overview of all components directly related to executing requests](/documents/images/docs/networking/commands/overview.svg) +Overview of all components directly related to executing requests ## Contents ### Guides diff --git a/documents/docs/networking/commands/commands-deep-dive.md b/documents/docs/networking/commands/commands-deep-dive.md index 3999384..e68f44d 100644 --- a/documents/docs/networking/commands/commands-deep-dive.md +++ b/documents/docs/networking/commands/commands-deep-dive.md @@ -10,11 +10,11 @@ An incoming request travels through two sequential pipelines: **parsing** and ** The parsing pipeline converts a stringly-typed `PrimitiveRequest` into a strongly-typed `Request` subclass. The execution pipeline routes that typed request to the correct handler, which produces a `Response`. -![Sequence diagram of all involved components to process and respond to an incoming request](/documents/images/docs/networking/commands/sequence_diagram.svg) +Sequence diagram of all involved components to process and respond to an incoming request ## Parsing Pipeline ### `CommandParser` -![Class diagram of the CommandParser](/documents/images/docs/networking/commands/command_parser.svg) +Class diagram of the CommandParser The `CommandParser` is a single-method interface responsible for converting a `PrimitiveRequest` into a concrete, typed `Request` subclass. Implementations live in `app/commands//` and are registered by name in `CommandParserDispatcher`. @@ -25,7 +25,7 @@ If a required parameter is absent, `RequestParameterAccessor.require(...)` throw Parsers **do not** perform any domain logic. Their only job is extraction and type conversion. ### `CommandParserDispatcher` -![Class diagram of CommandParserDispatcher](/documents/images/docs/networking/commands/command_parser_dispatcher.svg) +Class diagram of CommandParserDispatcher The `CommandParserDispatcher` holds a map from command name strings (e.g. `"PING"`) to their corresponding `CommandParser`. When the `SessionReader` receives a `PrimitiveRequest`, it calls `dispatcher.parse(...)`, which looks up the parser by the request's command string and delegates parsing. @@ -33,7 +33,7 @@ When the `SessionReader` receives a `PrimitiveRequest`, it calls `dispatcher.par If no parser is registered for the command name, `parse(...)` throws an `UnknownCommandException`, which `SessionReader` catches and converts into an `UNKNOWN_COMMAND` error response for the client. ### `RequestParameterAccessor` -![Class diagram of RequestParameterAccessor](/documents/images/docs/networking/commands/request_parameter_accessor.svg) +Class diagram of RequestParameterAccessor The `RequestParameterAccessor` is a helper provided to parsers for reading typed parameter values from a `PrimitiveRequest`. It indexes the parameter list by key on construction for O(1) lookups. @@ -54,7 +54,7 @@ The `RequestParameterAccessor` wraps it in a `ParameterParseException`. ## Execution Pipeline ### `Request` -![Class diagram of Request](/documents/images/docs/networking/commands/request.svg) +Class diagram of the Request The `Request` is the abstract base class for all typed command requests. It carries a `RequestContext`, an immutable record containing the originating `SessionId` and the numeric `requestId`. Both of which are later used by the handler to direct the response to the correct session. @@ -62,7 +62,7 @@ Both of which are later used by the handler to direct the response to the correc Concrete subclasses add command-specific fields, all set via constructor. Requests are immutable value objects. They carry data, not behaviour. ### `CommandHandler` -![Class diagram of CommandHandler](/documents/images/docs/networking/commands/command_handler.svg) +Class diagram of the CommandHandler The `CommandHandler` is a single-method interface responsible for executing a typed request. The handler contains the domain logic: reading from registries and managers, modifying state, and dispatching a response via the `ResponseDispatcher`. @@ -71,7 +71,7 @@ Handlers receive their dependencies (the `ResponseDispatcher`, registries and ma This keeps them fully testable without the network layer. ### `CommandRouter` -![Class diagram of CommandRouter](/documents/images/docs/networking/commands/command_router.svg) +Class diagram of the CommandRouter The `CommandRouter` maps `Request` subclasses to their handlers using the request's runtime class as the key. The type safety of `register(...)` ensures that a handler can only be registered for the exact type it is parameterised on. @@ -81,7 +81,7 @@ If no handler is registered for the given request type, `execute(...)` throws `U Unlike `UnknownCommandException` (which covers unknown command strings), this exception indicates a programming error i.e. a parser was registered without a corresponding handler. ## Response Types -![Class diagram of the response interface and built-in implementations](/documents/images/docs/networking/commands/response_types.svg) +Class diagram of the response interface and built-in implementations The `Response` is the abstract base for all server responses. Its two concrete branches are `SuccessResponse` (prefix `+OK`) and `ErrorResponse` (prefix `-ERR`). Command-specific responses extend `SuccessResponse` and populate the body using the `ResponseBodyBuilder`. diff --git a/documents/docs/networking/server-architecture.md b/documents/docs/networking/server-architecture.md index 8537382..b99964b 100644 --- a/documents/docs/networking/server-architecture.md +++ b/documents/docs/networking/server-architecture.md @@ -26,8 +26,7 @@ Responses start with `+OK` on success or `-ERR` when something goes wrong. Comma We don't use HTTP, there's no JSON body, no headers. Just a raw socket, a text stream, and a clearly defined set of commands. ## Core Components & Their Roles - -![PlantUML diagramm of all components outlined in this document](/documents/images/docs/networking/server-architecure/networking_components.svg) +PlantUML diagram of all components outlined in this document Here's a quick rundown of the main building blocks: -- 2.52.0 From a0319af3b3c3c45e78384483b15914ff35bf112c Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Sat, 4 Apr 2026 22:09:20 +0200 Subject: [PATCH 2/3] Fix: Revert and use relative path instead --- documents/docs/networking/commands/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documents/docs/networking/commands/README.md b/documents/docs/networking/commands/README.md index 8058c4b..7759c75 100644 --- a/documents/docs/networking/commands/README.md +++ b/documents/docs/networking/commands/README.md @@ -6,7 +6,7 @@ Each command consists of four classes: a **Parser**, a **Request**, a **Handler* The infrastructure for routing and dispatching commands lives in the `network/` layer and is intentionally kept generic. The concrete implementations for each command live in `app/commands/` and are wired together at startup in `ServerApp`. -Overview of all components directly related to executing requests +![Overview of all components directly related to executing requests](../../../images/docs/networking/commands/overview.svg) ## Contents ### Guides -- 2.52.0 From d3009a422c6db77360b83e0a6fd95c35fa3dddac Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Sun, 5 Apr 2026 12:43:59 +0200 Subject: [PATCH 3/3] Docs: Replace SVG with PNG graphic --- documents/docs/networking/commands/README.md | 2 +- .../networking/commands/commands-deep-dive.md | 16 ++++++++-------- .../docs/networking/server-architecture.md | 2 +- .../networking/commands/command_handler.png | Bin 0 -> 5159 bytes .../networking/commands/command_handler.svg | 1 - .../docs/networking/commands/command_parser.png | Bin 0 -> 5626 bytes .../docs/networking/commands/command_parser.svg | 1 - .../commands/command_parser_dispatcher.png | Bin 0 -> 9088 bytes .../commands/command_parser_dispatcher.svg | 1 - .../docs/networking/commands/command_router.png | Bin 0 -> 10334 bytes .../docs/networking/commands/command_router.svg | 1 - .../docs/networking/commands/overview.png | Bin 0 -> 62579 bytes .../docs/networking/commands/overview.svg | 1 - .../images/docs/networking/commands/request.png | Bin 0 -> 5600 bytes .../images/docs/networking/commands/request.svg | 1 - .../commands/request_parameter_accessor.png | Bin 0 -> 15855 bytes .../commands/request_parameter_accessor.svg | 1 - .../docs/networking/commands/response_types.png | Bin 0 -> 20185 bytes .../docs/networking/commands/response_types.svg | 1 - .../networking/commands/sequence_diagram.png | Bin 0 -> 23283 bytes .../networking/commands/sequence_diagram.svg | 1 - .../networking_components.png | Bin 0 -> 82098 bytes .../networking_components.svg | 1 - 23 files changed, 10 insertions(+), 20 deletions(-) create mode 100644 documents/images/docs/networking/commands/command_handler.png delete mode 100644 documents/images/docs/networking/commands/command_handler.svg create mode 100644 documents/images/docs/networking/commands/command_parser.png delete mode 100644 documents/images/docs/networking/commands/command_parser.svg create mode 100644 documents/images/docs/networking/commands/command_parser_dispatcher.png delete mode 100644 documents/images/docs/networking/commands/command_parser_dispatcher.svg create mode 100644 documents/images/docs/networking/commands/command_router.png delete mode 100644 documents/images/docs/networking/commands/command_router.svg create mode 100644 documents/images/docs/networking/commands/overview.png delete mode 100644 documents/images/docs/networking/commands/overview.svg create mode 100644 documents/images/docs/networking/commands/request.png delete mode 100644 documents/images/docs/networking/commands/request.svg create mode 100644 documents/images/docs/networking/commands/request_parameter_accessor.png delete mode 100644 documents/images/docs/networking/commands/request_parameter_accessor.svg create mode 100644 documents/images/docs/networking/commands/response_types.png delete mode 100644 documents/images/docs/networking/commands/response_types.svg create mode 100644 documents/images/docs/networking/commands/sequence_diagram.png delete mode 100644 documents/images/docs/networking/commands/sequence_diagram.svg create mode 100644 documents/images/docs/networking/server-architecure/networking_components.png delete mode 100644 documents/images/docs/networking/server-architecure/networking_components.svg diff --git a/documents/docs/networking/commands/README.md b/documents/docs/networking/commands/README.md index 7759c75..391ec9d 100644 --- a/documents/docs/networking/commands/README.md +++ b/documents/docs/networking/commands/README.md @@ -6,7 +6,7 @@ Each command consists of four classes: a **Parser**, a **Request**, a **Handler* The infrastructure for routing and dispatching commands lives in the `network/` layer and is intentionally kept generic. The concrete implementations for each command live in `app/commands/` and are wired together at startup in `ServerApp`. -![Overview of all components directly related to executing requests](../../../images/docs/networking/commands/overview.svg) +![Overview of all components directly related to executing requests](../../../images/docs/networking/commands/overview.png) ## Contents ### Guides diff --git a/documents/docs/networking/commands/commands-deep-dive.md b/documents/docs/networking/commands/commands-deep-dive.md index e68f44d..5a0178c 100644 --- a/documents/docs/networking/commands/commands-deep-dive.md +++ b/documents/docs/networking/commands/commands-deep-dive.md @@ -10,11 +10,11 @@ An incoming request travels through two sequential pipelines: **parsing** and ** The parsing pipeline converts a stringly-typed `PrimitiveRequest` into a strongly-typed `Request` subclass. The execution pipeline routes that typed request to the correct handler, which produces a `Response`. -Sequence diagram of all involved components to process and respond to an incoming request +Sequence diagram of all involved components to process and respond to an incoming request ## Parsing Pipeline ### `CommandParser` -Class diagram of the CommandParser +Class diagram of the CommandParser The `CommandParser` is a single-method interface responsible for converting a `PrimitiveRequest` into a concrete, typed `Request` subclass. Implementations live in `app/commands//` and are registered by name in `CommandParserDispatcher`. @@ -25,7 +25,7 @@ If a required parameter is absent, `RequestParameterAccessor.require(...)` throw Parsers **do not** perform any domain logic. Their only job is extraction and type conversion. ### `CommandParserDispatcher` -Class diagram of CommandParserDispatcher +Class diagram of CommandParserDispatcher The `CommandParserDispatcher` holds a map from command name strings (e.g. `"PING"`) to their corresponding `CommandParser`. When the `SessionReader` receives a `PrimitiveRequest`, it calls `dispatcher.parse(...)`, which looks up the parser by the request's command string and delegates parsing. @@ -33,7 +33,7 @@ When the `SessionReader` receives a `PrimitiveRequest`, it calls `dispatcher.par If no parser is registered for the command name, `parse(...)` throws an `UnknownCommandException`, which `SessionReader` catches and converts into an `UNKNOWN_COMMAND` error response for the client. ### `RequestParameterAccessor` -Class diagram of RequestParameterAccessor +Class diagram of RequestParameterAccessor The `RequestParameterAccessor` is a helper provided to parsers for reading typed parameter values from a `PrimitiveRequest`. It indexes the parameter list by key on construction for O(1) lookups. @@ -54,7 +54,7 @@ The `RequestParameterAccessor` wraps it in a `ParameterParseException`. ## Execution Pipeline ### `Request` -Class diagram of the Request +Class diagram of the Request The `Request` is the abstract base class for all typed command requests. It carries a `RequestContext`, an immutable record containing the originating `SessionId` and the numeric `requestId`. Both of which are later used by the handler to direct the response to the correct session. @@ -62,7 +62,7 @@ Both of which are later used by the handler to direct the response to the correc Concrete subclasses add command-specific fields, all set via constructor. Requests are immutable value objects. They carry data, not behaviour. ### `CommandHandler` -Class diagram of the CommandHandler +Class diagram of the CommandHandler The `CommandHandler` is a single-method interface responsible for executing a typed request. The handler contains the domain logic: reading from registries and managers, modifying state, and dispatching a response via the `ResponseDispatcher`. @@ -71,7 +71,7 @@ Handlers receive their dependencies (the `ResponseDispatcher`, registries and ma This keeps them fully testable without the network layer. ### `CommandRouter` -Class diagram of the CommandRouter +Class diagram of the CommandRouter The `CommandRouter` maps `Request` subclasses to their handlers using the request's runtime class as the key. The type safety of `register(...)` ensures that a handler can only be registered for the exact type it is parameterised on. @@ -81,7 +81,7 @@ If no handler is registered for the given request type, `execute(...)` throws `U Unlike `UnknownCommandException` (which covers unknown command strings), this exception indicates a programming error i.e. a parser was registered without a corresponding handler. ## Response Types -Class diagram of the response interface and built-in implementations +Class diagram of the response interface and built-in implementations The `Response` is the abstract base for all server responses. Its two concrete branches are `SuccessResponse` (prefix `+OK`) and `ErrorResponse` (prefix `-ERR`). Command-specific responses extend `SuccessResponse` and populate the body using the `ResponseBodyBuilder`. diff --git a/documents/docs/networking/server-architecture.md b/documents/docs/networking/server-architecture.md index b99964b..48238fa 100644 --- a/documents/docs/networking/server-architecture.md +++ b/documents/docs/networking/server-architecture.md @@ -26,7 +26,7 @@ Responses start with `+OK` on success or `-ERR` when something goes wrong. Comma We don't use HTTP, there's no JSON body, no headers. Just a raw socket, a text stream, and a clearly defined set of commands. ## Core Components & Their Roles -PlantUML diagram of all components outlined in this document +PlantUML diagram of all components outlined in this document Here's a quick rundown of the main building blocks: diff --git a/documents/images/docs/networking/commands/command_handler.png b/documents/images/docs/networking/commands/command_handler.png new file mode 100644 index 0000000000000000000000000000000000000000..ed94bcb71e3ee6e8b4c82afd1752aa588dc64018 GIT binary patch literal 5159 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 Vg|mz=fEPO=jVC%P70Onj{{ve~GNb?i literal 0 HcmV?d00001 diff --git a/documents/images/docs/networking/commands/command_handler.svg b/documents/images/docs/networking/commands/command_handler.svg deleted file mode 100644 index 750344e..0000000 --- a/documents/images/docs/networking/commands/command_handler.svg +++ /dev/null @@ -1 +0,0 @@ -CommandHandlerT extends Requestexecute(request: T): void \ No newline at end of file diff --git a/documents/images/docs/networking/commands/command_parser.png b/documents/images/docs/networking/commands/command_parser.png new file mode 100644 index 0000000000000000000000000000000000000000..f0acee25f8be3634d10072c69bdca80885f98bf5 GIT binary patch literal 5626 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 literal 0 HcmV?d00001 diff --git a/documents/images/docs/networking/commands/command_parser.svg b/documents/images/docs/networking/commands/command_parser.svg deleted file mode 100644 index 357abf4..0000000 --- a/documents/images/docs/networking/commands/command_parser.svg +++ /dev/null @@ -1 +0,0 @@ -CommandParserT extends Requestparse(primitiveRequest: PrimitiveRequest): T \ No newline at end of file diff --git a/documents/images/docs/networking/commands/command_parser_dispatcher.png b/documents/images/docs/networking/commands/command_parser_dispatcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2097f6d328249a18ab4de92a47db7fd30a343625 GIT binary patch literal 9088 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 literal 0 HcmV?d00001 diff --git a/documents/images/docs/networking/commands/command_parser_dispatcher.svg b/documents/images/docs/networking/commands/command_parser_dispatcher.svg deleted file mode 100644 index 7f61e6e..0000000 --- a/documents/images/docs/networking/commands/command_parser_dispatcher.svg +++ /dev/null @@ -1 +0,0 @@ -CommandParserDispatcherparsers: Map<String, CommandParser>register(command: String, parser: CommandParser): voidparse(primitiveRequest: PrimitiveRequest): Request \ No newline at end of file diff --git a/documents/images/docs/networking/commands/command_router.png b/documents/images/docs/networking/commands/command_router.png new file mode 100644 index 0000000000000000000000000000000000000000..b165b23c6d5f98aed4ae5b7a98a7b1bd15efda8d GIT binary patch literal 10334 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 zz|MXNyazHDoCYR&CommandRouterhandlers: Map<Class<? extends Request>, CommandHandler<?>>register(requestClass: Class<T>, handler: CommandHandler<T>): voidexecute(request: Request): void \ No newline at end of file diff --git a/documents/images/docs/networking/commands/overview.png b/documents/images/docs/networking/commands/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..b10311fa1156eff6961c2d7f12fce43f51c2d357 GIT binary patch literal 62579 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≥)ZN6O`nUFS^EYjL_<~vJ&%aiR}w)o1~gGY|Yg@+5?8zW=2hhKXwsGiWf6E zFx)CYi3yA->rjdVt>`)1n;Q2?9_7QY)h(5d7VAS!3NSj~Y3Qm9s0D&kzXf9L4hB{0nUI3G*i zZ`vc8^!ljQHKoMj_7GMph@0$r$AdfFxZ@JLqJ#M)n!kndi()I%Rg)@J|@- zK8b$k#j;upq1UR6?HI zGn8P-le^5Rw@L8HjFst@WqVGNv)~J+xwH3)v8f!qJV%@=gKB)DUjk1cYoAUtE>&93 zV~57E7SuIe`b|5sBLjUWI(DW=H{HtJ&+2Wx9%k_N`MeMyJ;SVFP5jj2`DV!PCK>#b zO3nt6xbvrfr{aFQp?~Zyt)C&}cy|9&pQ7Nr0p?kBp%;sr4mIAMs7Puxz2MWcUAlZ> z0tQZyLk|9G9O9&>QVF0nnBP0qFq;fW2E`uYEWA-OPw)6;gv%gRBZ1xP+~$14cR3!O7rs)cEH^RR1-o+w(pyH-7F1 zInzquwEfUDzSR*|O1E%JRk+(dV&?tz;ZgP@!J|Dfmct<-5 zr!`&G1^cWPenU1B!<_BjR#Q)Uw!a;yF2EJc-t`y~1UG+KF+P5h4BLQ$O|7) zBz@Hl^l#pxRWeH73;>c0$snb~sZ0cjH^z_NZM+|21T4lJR%Dhn`kJLDuYujek?qp@ zdt>ypn;1yFbRpwUYR%PMhH>Xy?k=O-VW{G7Bw_@w{czTe$GDY2vxs)nISe4?K)VBp zL%Ka^8Z?;$4c6BxthbedQ}jq*9AzOzzJ(N-YLiFB;tR5nenWbBWeG%^TSx@rHS34+ za1W3e=2F_+2hLRtSx=D?i#-8&JW5!IEe$8-A%k@Q4%+SV>wsf8AAEV-t{Cm9Vh8Z{ zQj;{g$Khrj9Ml#_yx_fSq<>|iEi&CRaWI=RiCsM`tM~=1THi{(`WtF1Yi|ok7|O1V z?d2W(72R%IH7gBwH@EAc&I-9b4HbiZ6K)JnD1<{O{GY4hq^)@WiBV?9*IaIRgnXcYrPi>Q`>UzgELOmfzgXe^H=StRbVn*H*hp z_^fR$W7#U_1EIq8VTKDEV>1)OpbHYkqwGs{)423=evlhUC+&C=!x%4)D^i4%? zABnRKR}X6juV1h%iIkYTry+y9hyVyOh%*_G*ov;6|0c-2>q>q$p=^Qs#Ic^s%sn%( z_o$jk7Bd7i%*d{1((q>Z+I020M?7|7$I}=Z=c9eDnlg5%LnaTpMWP71k+R_WmRvD% z(6(QKBhF#I;=ZX_hk#WVTV}7i;+<;;m&9n=b|pk!{Ti*~3w_@Yk@c~nj!qg$ zBhOnk*_$ov6UPU}kx3RXSKCAL)3qQ#biJCJbW=YH66~B?3a^N80DlTQ`3nfSlXCqCmyrvj8EqOW znNB8ig&^ap9#+Q!sLTq0T-+Ti(MQ1gl0}=q^Cq0K6JqC&ci=4(UQUXykgE)50rTdp z*H0*7eRhTrGyX|?mk^d2dhD+|_*6pHNh2i9qC`YQ{6DGz5TqOIx|bZ(pg4A9nZr_& z9&ZQ|J~Kamh97NBi^2}(^G^^hSB(W4C2k;XR-PPNe@8brik}(TlleIBGZGbAwHcP! z>yRRbZ1%GRN|Vm?cK7f&*8`_oeb8LTZMiI~G-(|b9T~@70L$%2R{&n>^Y|IVqC%>(3}`tn&L)1AcDG?&6QS8HbnXD0+=T^< zK%k(FW%6_rRM<6JE}4+sd^v51=euEPBky#DPJN)MgmW#tLl1f-kbFC;gC%cPYZD!RM7e})KdHXXh-gIrvj(Mv6 zfT4{2W#P6vZTY*kk^3d8tS(Ws;=6>1GKW<)1mHGse55b%a5sV%zc&iW@1_t%dof*2 zkWpvm;zW5a!Hh)Ph7sdcx>2R@idjVLPt*~-hkyIPm}+H0TjaR0zdBqNHv;fdZXk{L zhP^__dTLvHMI}W{m`?Em(6SwiQ}m~Zf0;!9dLtxq?%e8q9+;g=iTM=YT6+emGk~9K zwjIovI0LZHCV;GUmZqd9wVeXkw8rn>0any@U^X&^cq7VU5b-o4fgBJa$tx%BbaBr!?r~%{DCbpiakZ*+9p92P|&&7PJM<|C)AXR+c z3`zwDeL!VyGg%G_dqou$G03R_E?+B5D+ViAw0h5fjCO3d9i^x-cOX36@=(xnh4X1m z-j(%OY8lNetQm{Hfpi@1!|;f_*dC0fvqz9^jQr02$)3p--&Jp~_ zq#!6}9v7#hvjlOc0LpZFcd^YM0|>EsbUP_x?{fDC_oeenV4Df<#bZ$$wff8xC^-g; zDq!S8S?ro;4EEfqPj~J(-v>*qLd;CT{skmpU9KtJZ4h%^t`c{wyd8xkb)I3-ijw>g ze?$C#`sy3J_bLDv9}7X!{w<7P@$A@^md!8H6~^=A7#(}d{TDqJT0E6bBYN9n{a?(? zgba=esu`_Yw->r_ys2(}|B;N-5wk7Hb~Ly6BOWJGjsT5~H^|h0-%Wg*!uz%tngba-&;i~x9}b{^i|F(*g9$k%pLJ=T8*8DeHC@v+_1B~2{88< zu^7XA!+Hp)1mf2sQL`!-PjS-DDaPrmluF;ayVTp%3$9bS>%uHiZwtuMFDuJb#>3to zQxB7BJ;A~dn<9csx@gNoo9ZlV_?oBzg$1T3TB4991KmK zF>SJu?6}F+QaZuZU_S_t%7br#aZ_a2i_Y)n!VTF^^mn(nfMd(t5Map`O|;QLdS8I3 z-#(9c8tx9t_wGU|(>+X-;nN<1%T{!=eY;s*z35<$2>Rz&K81v?$sxJ^T6&ig4tup8 z1Cld|4Xd#~jC*?c#t{4kl%A=>h;)Iz1vlyeH9amK%DBap6xtS58Y1X}jQWY0bvYWU?d1`@p>!NBI*W z`2dw@5_jb~rhYV(E!;3#INuE0ll_zt1h0;YDibp^w3mj=o%oyPe$_+U;o<98PIy`V z={EimLUQ}m?aY|uVBo7&7*vf)d-R!RR_WOp2Bf+qf`bdnK%jZXfDop?r!*x~wJdW( zK+Auj)g}wCCcn!uaaIAH?&b~O!Ffbak>_n^q@Vh;f84LGgX&Hwh7vI3uG1rCOoGkJ=7nA`0j@0uZdrGhCf zc?d4vKb(A>WLb>6eyx2;weuJrpMHp;^<{LC@U^9lQgT+3CmNl773>*Mi{M>b;`7tL zO^DMWqf72*BpUIG!;A*wW7Ol9g~hiHArN2WxW3M}{YnVZecnLyoo>m}!9b>79YQ4|FwwQ|x&T;pn9z)(rpai8ZaRR@Qy9&UH(#hhR}4=v3&m9?vk z4`)z(oSThHpsP9_(7!J%*#O#w^Ax_rn%eLj&gQa5Q|8e{w+?^M^@1? z(uhrq@8+6ew}^Be)(BPDw(bQ@#F)S0Zs&+IdtO!TKFyk^M?7xpQ-3?aL45Y8c7INS zUa%~2uR6dsAw>l6mAaR2Xg2NT(Ee)2rj3{w{8=I)?_ZsOQmz7(>eKIyJLx*yh}O=dx)x7D2n(WCg`+>%0wWxz$` zHBdjloR@bW|Ao0%EaV&@YOg-oc{{iXKY{&stowDM3z zD&;7bbhXW>;y643YTgIC(++L~=mcD>hEMgQpP0~{>gEpudOq^*O!N$$C7Dgbof6RN zb(z|<=NoN)adoWl@pn%TB?bHXP5( zd;LeI?{PZcNCl{Ai}Djao-(SN*DN_Lximx}FecO(tFxI9IGu~FHL z%B`RXtX<|F8e9tLY%(0dv~w8==wtKTIR=HyDNKZaD4jKCh*haobU}Klos`bEDu{%U z^iQW^JSq&10**^OS~xZ88>)qN3)7~q1uS1kx49<5fnS*fg)^;xi0g(Tlbpx_Mmq+gsI}b zu)=+MZqqVyHTbEmlYc{y-weaXCDoIvW4Y|T%kFrCGsds{mJD}IKu;OOE<;D|4M9i# zfL7QtuLMmCP0u?qNlD36EI@VlE5&WFwRPcCWvc#JliM>s$0VjR^@5nrJSqV-Zka{u z*=K2KHwiMM-->fW@QXX%u07K=q~4aBuG?uw&dm6Djja;xRDS2mlJsu3TmYT0DMRoc zNx@ybqp;WH=iA^=Qjl~E`MymJ_0LEvjY@tk+3k8MQu(Lp=@wEgNqHdp_iTUwuWLA8`7_ zeNE0YtT`Csmx^Gjz%xn!YpkrM1s&xTewFSi95tnl=hjL-X zT#a6!-(twP_Sd#ao*;_i`N8pr=s~SOs+6t>ln~)_@w;4>!M`s-D@V_sw9PFqIu9~J zEusx9#nH$|Z?yUGKX)iX!)2>zgWCr27I%$9)SGH#1$4a~7|Xj+ihOgkFt9bW2Dkl^ zLXYqW9NVi|Ee76EsjK=m;sv_j;@P+XOBgxPnPyPV9;6XagT)rkL-p;9 zkd57G5e;@%5)N^}dlRGkDBlsc@(?cYQ?|m`d<1BWul5mhGlBZA4e|<8>Y)w0_s@kw zpL0Lf>Naz1%GI0B{or8Dl41BA?to zq6pa~o{zln(y|_Ej0&sg+2^$m%kN~N^Shhuc)fO|?3mw{?@$uZC_R*uj(X{UTlYbb z5@Unx4YgknhL*rHSKQY}Nxx*{R6ledww?RBb-$+^LJ=^hUg*S{Z;&o*t8UwS#gG3* z$<3Y`SjyVJelp)lslj?gv5B>>bA^A+Y#z@4JZcRaZtGHgP{2k5`W6RY^D%L6SVW^vcjVBRNakw$aF7$cNa$!1o|x zrxpw1sUB0l@r)?bN`O*UbH$4AM*fXq3c#JR;b3 zHrYYbj;#_2wZ-H|Lyt?*>XzyvSo~m>sLIfBS#8(4vuUW{D~%N{n*>2k{}}QBo21`h z_kOtS$h(YWOF$b;BQkLMA}*3fw=rKW>Do^Xi6|GW%h|2TM~s9mD1|F$rjSY~|FI4N z+Vh17Tn+t_-rGhik(I8YeOrOi&pbhZMHfh5BrEowk+l#Q z(eE(7yB@pqOx=NmNoiI0&Fb(c$&#V*ll6R6{r8t zit9)|bH0m!^Bf%q)mWa4pF!p>@p4L%4i0nETN{J5j_k-&$)g&hP}wp~@oGqLcOE`r ze#Z>Q+rzy4n+6T?7pO$RrL}Lbin|ctiei_sX)%17Anut+Y z?+PK+B9VIo<;_#p2(r!6}x}Cj{FVQJ4RZ@_*<^;Z&bYyYzvEEJ+P{G4x+OPuFm;h`{XtZ;7Sg!oGC`8?m8fQP~>9{k1G z{3_>2TDlUiYD&F?`04K7LDfj5V#E31W^g~vj+>i1 zX)I%xfZVi`*Up2&`m1j%iqpHDFRTgJ#c=N@j1wwIOH>Cx;m9}kX@O*3zr zv4cNku73HMD5Z5~6^gPvy**(1WKB+%N**K**HXI=*5nJx9AAn(0`Y_~HT_S=1peWf zX)3z4$n~&0hhHWeGuN2(Lo=pAuO~0f&gX69PnR#%$}e@LS0^*qXO4upT;dV>MfGUw zW1HH1FH-p3G)y(}-%<~~%%Q?qIWB|GEPY>ElZ*NCwJB4f+@ALN<_ir93`o%?%<0ol z+1QR^X3Lg0dk$tgNfsix34RL!f0&tW+aG*ViBJIDk! zrttjEo)qUCQYQ_UbuB+C{^+Wx#_ebJi#NGwFTuQ|z6XLv_I-ZBINR{a=#tpOh-q18 z+K>0R@k7^i{sfBx_|mTLR=zRVbZiHG6DD{j;(1aiB=+FvE)zzNpB-i&9NcRWAB2p& z+7DOE=3JE~)dRz{7JbSwfNWOvLZu-v=X)aHwqEvm3k!W%QQ182D#PnyY^ z&nE|u77lmtwZq)sjt`#sV64y>@|0+%b(j z+uI9NPQXaPgU_Lo%XG4$6HI}T(ydOp?D;mr-=bUYnfmD;n>V1=NgY=g95sWs9UMt7 z%KkqLAr$JHk^A#K(qz-^((2Xu@zrVN;8M@j-#$cYYXG9E%SMU876rs&W#hYkJs3F` zNd#(~!kaOOZIe-GPrM6Vu#yoID%5uoD~^dSd7TH|x|i@6-q>GgXS-R;8v6Lp9&#(( ze|;~p=c`CBr1nxG*W>;F!@Ge>iQ_1)O%x0{9*EJC`M``il2-f_dO)TCR3!rX!eQ0% ztyyv8tG004)BRQNYpn&^vn;OXv4N6I^Wy1Q+HQJYULKX%(ngT;dn0fqj*x`M@!a{3 zOjb7W`9zTAKkNO^Gv-=-^)*veAMM`mOO7qc$p=?(Y|R0Dw`AR=o>ux1V%8m0H|%IJ zsx%?p`#P{MZ~LrWf?3_%++OB4Gz;?a?ZLna87DNOUb}Y8t`|OO?5JVgB{#6WF3`U4`!I2xh$mcXw-~l}Gi%gM4k$XdeV4kBZ)9vV)_<$9xi11@b4)@F?tV0x?UV&>q9*9RB z=INcZUuml&OdmH;GVU#X%ws>^~-EQe}1wi&F7v(qGU`x=1clqRr zA^rZr+u-)-J}6ijkEkdyWFGk6rVK8YwcoZLZA3nOVDC*+VgNh&Qc#PFWlM2C%}a4x z8WuB<{iRl%8~|L$6kucyG+J$EFZZ_H$L*r~Sopo?iQTB%VJmwpfyWsoMJl_rOwYln z>CI%}Qi^ZE;u?rc%NU2j8YUg7v-aL6w)iaPTa}btW!2A#SbxO+`_ar^><_v#W3UC5 zxYgxqsGfQ1RGGg};Iw)&8FZTx`e+PUw38nNJ6ng_B>lQL-o8uJIi@z29*mnH&RN<2=-31ZS zA>mxJUnR?3+WS%?llZbRJP)yC<8-=})Vlswo}B#-oz}CdIT8G!S1Yb|(3VGYp_DM4 z)-2QUvX3LYz_$zqL4Bit8U#SoEe3Two;nU7^)Rrvz!0AOa9`1I;zeQ4ixLe#2j;(3 z!I>ClqOJkvQ3U7etu@^Xm5e?Dr8KBuF`P*m>9YRovG+;CWHobU!E=o@GnPB#MiFk- zg>9s>?EL;x;`C27rRc5A%?qd_eJ7_mroo-9T(7pylQ~!K z&to+S{L{0uEjm};IS-2A%zb~qvS85Tyx=9aP+g=yMISVfWmEm(6W`wLp=7~!% zWiYH5PM;i=!h#M~&GO&#Ich4Q=TGGdUJY;te@~zrKZ`dPX_zPYae#x^-})54G#42L zA6Q|;q(y-Xia6|PFu!yBukR$rsN^?0(_om9&)bythIvhmJoR3t+n>KPz7wrv{FgxE@EZ9m&O&u38qK#PF|#j%b-HEhZ~nDr z-}x>rjt9yZA}zyl1yM&rH2dOtu`z=#Sf2l7^mS5uyGbwkkAN*#;$J)s27sh!uxd4s zo7#UA$knP!DuAz{(=Cm;YWkOYzM&_^D~v!ILB9_}R_0#G2})RIPO)p9uFULVZR}qhIMjGS2D@auy?}qM zZw|Om*16<;mL-~e1vM_*<{f>>^u$lQXw~``<6Vy+uFlD@n3QN#==eq?Fw@FCMz}>?DQwV_0%owH)Ix#+7%YiaJ;Efgbm{ z=e-NfGAnAhYEihz=GE-FO#^gR5T~ON^HJ#aieP}-PP<{{f}2T)<$iUG9ONZwPsLwaSBT1|9kILMZ~ipqFisWXrB2eOBVP2WMAV-Yj1vDH%Bb z7%wH%P_<{747VeI!;(Sd-cGpe4Q%Y6o>J_p19u$hnI{fevOU7*@n;2M>5QeeDAxq`5IJe!&RwF0AqLK)tj}J%w@D|BpIB3`9LHcJT!% zNT;TEWwr4~zE46El&*)^l*&a!m~(Wh568H}~VFWS>y;Gh#~ z#rw?=5-Yc8cYEE(>At%25gD5N#uvb6=U2HhF)*MvJzt4mIS)xO{N3I=wx#(3)77E2 zuNkFQbdPV{QN0uAQZV&mIXdP8!U|3phx7nSy;tAI=asHqK)_1w1Gc$BepmeUqv>UW zry^7PQ3{Ige;lGw?j0?wQzkbx3he0Y%c~VD%~wZwJ)Eke)g5~UL>pxH*z_tDi$d!p z8D1fsCYSVj4V#C5mDWiG?ZIJ0PwJCwFXf1yuF)AB`P>iL<#tI1UCriih(V98@^P}d z>RxH{gfZdAo7anEBmpjkxypf*?W0V(t(^UV<(|Ttxq;I_m|dqMeLz;g_4@u~*ZR9M z?`@~SdDKmd|-h`{_aXs4KTUprBn%SuCxZUem z=H?x@lCOr9CmpwkZvVZ(YM)cZcskK2khXbJjPOj2wKUcctlk4U`p+5Qn?PcTWd2w! zhYX6F4h1m(f6t3p(-^mNU^|@#7k+d( zf<2Fk`G0+<7U8qB;k`ebU2MF{^C^SnR>8eIc^wQ{#m9dO;LdN-!bTd_Q4C)JNbmNV z(`2!ZbAp*yUw-5Mt&XUrje>j%@Yb8=q)w~OJ8}Z+BBV0Zf5!=1gGruJj=hf5#m|OI z^;?3+0R;D(BS!$F{qK3oBw4~sthutK3AWgG*Yp*p10r-XT$|ayM-{>k%n9_FKVk{A$`e@~|0HNBhYSDzzbFqQ+O{>H2+ zuE;*XzOif@|60BD;%YqiQoh80UGs~aWVhbc3@$RLR18K2o|QxnNBNiKz5Z6zU@EL7 z4J!hJqx*n~%UTaMdPoZxh^J_5La%Bq9)t(1lWT8Nl+5@2I(5CJ3m$L_8B$F~-22Uv zm~h3-L*Q#S(4wGzwYDx<7x{tkP6#+Gg4IzsYjZpi*6l^G%REZ@+YWcrj>foR#e^Jz zK+Tb-yNC=5L}&}OtF)O zebK>CzP3974ag zob-@0(SiZj{K;jJdoqeo!D1oI&dD*!mQ=sLVt3r@sB|zu9wAw{X7tHT0dv*hdND~Y z95&R==1TB>AR5|1K1Cw2#yMZ&6guy>?qaT5k6M{X-B~~3$P?gj8!3O{F}r=MSkgNh z0K?`&+6+2r<#t5J!#xEHanKDR^wqt%zC%=sXy_eyyaNV6a{dVCU3Lan6*t6G0buS~ z;?JvTfSm9gFB`ej{KO-t*jqz}8W@Hl$~TAANQaRhFr zb#9~;cl#|Cjb+qk_w!rD{r&++3zwMnI@{aM2k3)V?auimf$(B)eHm(SK1^>1 za9X*S)wxV@a^lWhbrRmFAU{*GE#~AdF(+i}Nz2rU93BM)#mV47;6PEk^ZMx#^R+Wz zLxPJ<#)U(AzV1)eZJwUv{Q`hh@$p%OnZViB1J`Ke<~?EJ;1CNmBT^(x;z}#hXrV+92Sr zb1UsT$=zS?%SL!Fo zS3HBF!0~v+%(fN_@|&;&o0~)Je7GcCDF^qq^Z6}T^_080hak~OU^S)7#M(&}ca=t( zb5<(!)9qn*wfpJ7j*z^sHhW=gugR-No*H){?-m8n)IL{gI{`jE_;jsZCg+ZGJ(v4$OeLnlHlijZ0hZ>JQN z0y86{o5K8uhsWUnSs#`n>9%jWTG8x%)m*g0rCt3~)Z^H8;kd$*S|_O+(A07lZMz(- zy;xpmi;%Shv-LU^z->Ff_AT&4~l{O>}Zs2hZJ8RdO^QxMY~Bc!zhtpLO?6F4K6Bw_V`vYcVDec z0gaaAKsi_)is)eCNI*ff?r`Ay#JAAlW@8MtxT0RsY7Q4X<4zm#7Mi+QUpNM1_j`>3 zb?0(Z>T*MBTUz7qqhl%EeAyz>BQ};tY{_D-s+btrx2&yP;?VZu;H>*C}ecUd(p{&wxIMCcriLB1JX>i{+~p z0_Ea-uRj~UZ~$s*pWMg|JV2KI*(omA53-M357t0kfq@?%2a^ip_XnIBF8P;9f>x=8 zzenkoxV!X{Z*_-JE_*GVN>-X;BkL>gMcZ-ipz-`sB zCYx}2I-@r%zh^*#-W{}$WS^g|4zsAcJ&BP17S(cjx}M<~9R|82U_*kx4gnMP2NIjk z!1GXJM*L38qXd2H!Fa0h6J#rY7{`vw^}CFy{n7| zft#R7;|M+O_3!?)JCQw1)zV#9LGwtgn;~cm-E4rv_E{@4QVAr{-te5lYaJKJ-> znC_W3B_(k=A4~@rtw4!F?Xv-ntQOO2pnuv%Zlf+|aKDwW8Z$u&Ox8qIzLk}Jw!gR6 z6|he)J}3*a%O&&P_H2DWCsgN*(7P8dd)5bU`?d$+!8gV1G){7sX4FrzM}v~ax#2nk zbluC1y}`?AJLNV5+*8>qI&n8}Yh6`esupkO2`+HR!iMmHnzsOueDEb7YKZv$Jnmts z=aTAo4m5ir`5McRDU5E}E(zd5XBz7q4Cz0VXx9`wa1iS_G1EDxbvglz*F(h-X#y;^ zt+qo&dPOGbE?Sv&is~{N@tI-kX9WkeghmBpo79zJa!kTtYcfG@O-NJkJYka+7%N=o zUL09W{6YDOfUY~Nr|O&Toy3GtC}CsJRESP+kMe+&ANJEK!#g}Qzh-Cd<#M2lW0SuN zwE~w>YkluMo{hviE7WVMA2KE8*Fkq3FLr5h-TO*R)^n?22cxcO%%t*#Rj%6c-kj$% z{PbXoD8saEupV;QNnSQu$MYVCR|TV2pk zRLg(`OLl^`idCv+sb2~%l{9P`)loY8kvQ9?a@S+M z7Z&73ZF_s(s4LLdxb-`%WVXq@W?yWf9UTW`KJ!O10>_vdod7X&&taRKIk$iCL;p|d zbG$)ZhF=U;8?_L(H~0huUQFJyn=Hb~CMCPDyl1osYO856C`A~B@a_N-6zG%oQ!dl(6v+tTkodp&D*Yv1Q{DpRYJAnlF?;VGna1A zt7I+&=xLuhRyM<3SlLxS_zg%^0{S8J)Z2JsxxZjC++_jbvPJzwkvJU>JI!73d!i7{ zXV%giAXG^@w&)F6c@2*~{Qubd%CM@ouU{0AP+AaS10pFQpd0B%N=Yec#Gn!BR=QC_ z5b16N>6BJbx>Gtf-L?0=b8*h`_Py0ue~`&hoBNqsO)b5U*6?P^#!a?P^G)iC^3wj*jFh_35pvdzsd(`R9r zR;%R`oVr^T6-7nqhFzF@$b_0+TiB0Teu9G*6Cr65v7It%Q4-hB_;+f>DEb3Fc+|eQ z{$}~0*|t%jN8CI@*cs1Qww01b9U;8-0gHjS#ec{rnd-)7X#0Va8n^}_n>oAZ8^C?7 zn`8dW5R3uU3F(Ly15>=b4!8JaEbfkbEHt*r?Z3;jBr}OyxOQscj#lV@mv(l z+}pNb{w_&b`mKbfHeTCYslF;bC$4f>7bT_8E})lreYN_7Ye#QP+3FfcKN; zV8Jb~w@J8(sp@FUt{NUej4^S}7$jx6eQO`@y>FYD=&mR@zG_ebBvInD?d-GpT=_4= zj_(MRLZk`BRz@^7#S96QKl>g|mpp&C!t+QAFR}R@v(WWNCK9|%G--|(!)?NGbU#xB zQ!NQMNmzSpyr6ogEbE3&b1cj_Vv!m z(6i|RosqTAq*NS><(uz8CE})%u|)A?9u-Z}G~V1B3gr~S2AbL|;duDQO8`pvivqTi zh9nl=zS7y+k!f=+N$PWNHWz*ce*BQsKB$5Hg;~b<8)3cU)%U@>)Z-1e7sp2q53?Ob zQZ*GN(r&%F^9#97j14sCGKyJ`%aqu&Q2>e*qFxo=+?6K7Cim;C?(~YwEsY~#VoBmt zg79!x&?`aLZpWWlTC!2d-|%^A@@)8wWOjNQ_5}`MlNG{87fJZ=yuZqhO!|T1Q`OPj zeq^MV7zd~g5W-smOb13(ErB*cl|9}x*da2l^|749kM4ue0p#fN$5T198R4tvE}4b@ zjpEwhEZ#t_u)VAk)+TOt+BQQ>hli*)gkx$y=uI`ff`2;}Cur*OyfD1!5?kXXXMPiy zczr@rQqd!~a<(qHP|VlDuUU75KMb|Z8E!l|ip~B^ci4pU>xkm+vx<{;9)f)lrT8FP z7j~|C)Y|BmjMrGx1p^;pdYq_yN`Hs=_B5U@<8i)U@vXH)SFcMr>un0QEnkd%nx7mn zO^qKQUZuC`=A)d_z8U6%MM>`+xPL(1j5xnEZ4-ehyrfoRySHL)8+`TaWlx$Wyt-GP z+4GQN?*y!B%Po$Buy$dumX<@+H(;SbB8z+@-6>=^?c$x9uX>I6@18Ecl7%_Z$YEj; zC$=By>MrvoPVV~$lfIBTpq=-(I>#-FxvbbBgvcUa>SUx*RSH%kXaNqyhd*+FANL9drt;q=Kbm`z} zn96mWj@R*Q2Y0vjyJT=8V|teiU8xvl^Y!eFk?{7CetoVp zeWgni${Tcapf-O}l`ip+;*r?V#*a#tUV%3a0B4CgT1OdLFY}6fypvR#TC`UF;_u^j z1ABff<-O5nTfffx=)&fuFel+U;VY~<5cf-BMwx!PX_*j>PPp)IrEpVM%J2JOXjL? z+i}ER7h>>fz$v6NJx&e5^f8js8L%{_P$lVqgZy!@KDAbCtibq2`r4zA`r(UdeR#e9 zT2H_*UbOsVUMOI@-fO>kN_D-q^RVcSezof1c&UA#;On*Q-T0URKIPH-1VoDrkM29u zD6KlX4fHz4XY9Ujd&`#*XY(eqEq37Ncvf9iOat#o|CZ}_xW#zYy<&Q$TOs#awwO;9 z!~ZpB2SX%HBjyVeGUPSO$j8l^4!H391+yOiEGr0T} zVr`#&JF4WpZ&X{O5T>+7{+n1FbDz0}6`j)N(lQutbN(>cD@5JZtiSyM)oLshJ{ZYG zT%BM`ncbzL5#sGmGk4aqDr?g<_hJb?uK*dfK+@f04|h0g!R>zZm%C!qD%+D8q=SdS zL}{wrv=e`u{5B!YUb=bwWW2*o3C{1$x3BZIHn~&An(t=h-@rZ!kls2lAwVZ;Yne+*C}lF-Zb$u5(8bP;})1 zn5hGh(FQM6^7Qvu06_#{w8|m2Qm(3VSl3>$>QqC(d3j|3nC9FA!bR|-Of8}$y*~ti z!77$8p&?vhV}QbcX(NW=n9*tpFJQW!w9b&*=Knap$saEz+ayN-S%^gI|as&8A0 zJ6JhC6cNP&&@F&8V*#l7mfN-AlBYx3ng9GW)&5pq`-2_iuvt5B14@aa5qRJ?P1eBN za{B>d3%H{GuL$`+U1$`r)6l<8ZY^u9IJ!>lZ$1o=g!JRs`1slt0cMrafe#!yR+W$^ zE;G~Q4YfJIYVH1Z=7G%rDOZr@KCNqjGs)zZ1;7n4i0K$2e@F@XY&BVpX=`gstGC3& zs#EQOJYg1gJg5dkUA}zz1w50pupy=vZ@Lb3`BXOv8yEN#d#It9%`PZiut_aox7@n6 zW|1oZ8n&<*|7b6r<_!alm-O#f6V^*2?`+Nq+9PX7W+}k_T%n+%8ZQUtu1uk=jz;=% z=?rW_p{dHtwr$^;O1g7x#r^a^*lKtQWZAkkyEtvYgI25tppNUvP;7PH zy+c&$Nj@6=3n0PB0mnABuS zI89&)fRJbgZicLEx?bPM7_@0n{5s{g0R@9iFDp_Rk-*g zLmYshAZe+?Hs(^-zLTc5)d$V8wAGzD}>5V>CL+`px8Gq=SGr||3tbik2uKKdaIlbd_04#4TDNa^y?XY~Tiu2e1x)R(x&FXS z!KT+PDeDh~{@{V0qW+$-#)3(}_vmRk^k=Fs zEA*yI_lBYj+8C5C;oVmD)Yv)UD2+6V#Po*Yw|wJYD(Ez!b*G0gbzq{jx^ST=10D1i z4h-IzXA5@)lZh2Nn|Lb;WfIm$#@}&*i4*ORdH%GS*ni!C(85{4fR;j@%uiM@!U;fP zvvb|{PMOs~fqm-bM%I$`(6=eECVx)WGF43X?P%MJ3mk=w_@uvqVl$Ln411hYZ|>ZDQIFUU7izk7Ym6)qafwXmc(gOB1j>p_(&lcsyxLl3=LZXTZ{ruo&QmzAt zL$MXhARpDh_KIBCb7Fr zJg)}0%txy1c3A)DuqpQ-7|k~nxbt^;6rI|cipH`sw?0_*`V{! zUg9M~tgmx`1EwZ}KULWv`zhGq2jo6_^N!oTnaX^DYky*L|(A3WGBhw83;4U~Ig^v}hFF*`~fAmm?5a6=Hmk$;D#Uh}IwixCh zFiL!w=H>ukiWp*j2>K#R)pK_AI7K-Yu)vg9)%+*F+r!209zib*q-wE0#p#kkItC)N zN_@xz#?R(!`|a6%;84W7@ABv5OB?=kU_#>kV%iXkt6pI`oL@dH7bo3w9W;d`6||mo z{Jn!z1+#sFCg~hCoJZat9_j#!-VHr}!Se?y1O)Sgm{z?=_Lox*JGvN><6ANn(5^9)D?am6`GN+*WPE@1OE$Aqb3>Ibr@&I zq}SeSc_hpq3wQ4TbQ%EAN=#FFil!V&M+%AX+`J9unNNO7%e^+#S5^cd;SwQ&3cA&h zW3_j9Xxj&0QG-5y-|I4KJ6kt()DHg$nU*jJ7O{zEp?E1;k7B-Z8+4`TIwoSxxo@ zi%vB6!}0RW*0%wit_hC?o#m2MVw|uO9*BIEwQXP6@VJlUd~7d3&i?RBgAUhi{-Gbe0zJVKq2vm-_YmUBpPvlI+w(XgU+G{uEs zLH>|8#gg);JLehl^A`5&!G}*wU}g(#87P!zZdmTn>E;(H*n(`_<%qk0<~S>`Gr9im zSIvAAe0LVDST1eqgmd#=7+w)aRNX*V{kl_7h9^TrlUv$5jrK8n)PcoMW4&b{b7jmH zag;6yaq!qx4RwjBE5f0*4wEh+(c!NOEeI|9WjCk}(9_m+G&H$tY`mA9x7=FVWrbxf zXNvO-<{FczVuQV6xT<|8sP&eA9A9ct5n*Jeb#CISwMszo6};|;LvsnL^@{6MKOtn> z7A>zC%*(i59cgvDk`@c^=P>F%g-8$L#Fc^LoGI^BhGT9ly*U-oQu5!W)IROSv?*-6 zzyI1m`D4XWB+pZr*PM*{z~i6qPuxTM;D22uMsQ+b6@Vj|r*1e!)w%fN+uz5(o~T7i zJ-kALsB%ZyQX$(}VCxr;{MhdkIG7vs#5p7@va`f;4;={(Pt%&7i*LMN1bwYfxhFmu zE|rPjPGY;qQ=SuZ>Sa8_`%8!c0Qbr!DCWga?Q!dd4q!RYB@8Lc;kyZ>5g1_gEo}z3 z1{UzHw@7#fQ*#f^6I@TEnDx=%eAFU&C=!Al@|EgXAdoN;nRryB_io4DlFA=}IuO5N z$W?xw5m@${Y`AVVgw05~X6Oc1gi01n1PBEa#k@@1HsM7Up&B+&Vo0xmX#=tC z)46aSB*4(jv!VEg2w6b+Hep`D1|223A|pi%CbBu$u@3pcwM*mh zxKjtY(KnZxgSt9F@Sl^nP+j;-7$GUq)!XYa_ZMY(@Qv$DM<$l*eM)g4%1M*<<0{BQ zm?ZMP@o}A&dGSG58zyf_o|$^|@P{EM4h)WG4<))&h(cKRTzv9w+fzZ(MS#8c>>$hj z-jA=>Zla|YQd|Z)+`px?Ql7Sb4=oFu-hn*r#*8}^!$`ytow0}lqoi6Ds^vdVKfCQNf7eH|!Df{|$y32xgBNCaE-%r?uLzD#TA zy)h_={0QM`Ceent?<>I3!U@0vp13nG|Skf$Y_Wgw(ZOw*$GsO#y;o z!#m#AluXc*=Ne_nLy*GJ@3r8&8W+X9N8Bg>*VDQVl59UuKZ&Y3H0H{2;l~oK1A9aQ znhC@BQDmm4hVT&Dx&6i8kE`^*60>gxaH_8f$w;GYs&j-WutuTG6LR0?Kz{cCMe?}6MEh)$}P^V)KTYQpFjx@$3a z1p(OUGq{>^psPuu`ih-RTC1Xci#l0Pa$N7O>a{UbFnA(mbvXvyg_V;}+C;bPv;V+kR{e7R2gSlKXnRRLV zt~L3<+Io}sq-IJ*col)rSrDL!kb@``)jOd+P`m#CO62(9keXy8y{|92sSQ>_0!7`W zo}_+9h-RBq6M#MdXXVp*Q=cCMGeC-w&6~x1QTR*zs<5=sq)i<1FXv!)pd&$c4$&hC z$<{uAf_GoutQj_#weADUJ5O~X=yBUmgTU`&pxSD#{+x&qq*sYU?-V@R=wrAKwzf~d z^d05lW=Gs7IsbH1=qK!>ysMKy*P#-*{^6%b#)4HNxTw#k(aUg<03i!yPsJAD2nArur8T8jdgBUm4v4Hb!2redFO;VjNP z%OLKs4IGy|JNB{g;zfqPKvS|Fy-jOxJhM#aK!(iw^P!ddKa&Zk70#J>Wl*9y2E9QW z=mp69Imb*fOn-$RvE8A51z4RATC|KIOU7cRXUPbCy~Fz0bCkQ?#xGAu%Q`=_5?s2t z%^$enV$~*hZ<#`gO)Yel{5fVI_aOAm6xQC|OzTEk7)*-8H-aA; zzo&)%=6}TdS@-j5(sbN3LZF=Gtd*I@Sl^pVGhzb*dD68!&1pEn{$Q~lK87LriSIin z?>SL>-M&27XW5&O`ziilxY&1_${_KUKb`{SisJcqngFQr3CEep>U43y@MZOvdhN2R z(A6bJ41aVjxRtEYxB&}ITM)&0Xkg&o-e*K+JK=co&}7Tsm87o#eBc|e>{s3Ow^Auf zZ7&9|57L}EKT;c5Lg{~b@$(IWLT>#0I9rIN)84Q^zUZbqQ|X>p~Zv2&5YGLTuS z5Nyjsd^ne>ZWFAk#5?gG^IrUMvcLu!nPfI*ubXc97yB*=o-KUxN1sS|x88`cF=8R} zd$=;~Uf4h{p$dUvJbKd)Np&8|rY-Y-ndF3fUqpVf8^L2ve}2BbD!W{3RF^rw@!sj= z2z`kod~>yC>J@Zy?c%+ME2s z!tNmAxhdKf%Umexndf7h_u%;LJRzWsj~zLvaHv-fQXMrx3({>AX#f6W8PxC7A9}i> zG2_@{yX+YMP$4l4EJYQoVHCLM47Rj`h9K16{Qcpin!)1>OIlZUFu&76i(O%FYisK& z?h`9ZeGPiPPpxfngOB9g6%ulb8y1b0_V`-0c;d!D)8BUGT$NSW4}RXBWD@48}?AV_8n zmkyD9g;bK(MYk)#miCnfLDsMwFzx)^Qn7wK9|ZQ|x2J!B_~=($jpvM~egsNR`5p&P z4H_)gCK*g|AY13W+h5j(&QaCj-cuQyvZs5H!Aa@AM%>P)R)`Md-h?1T2sB0!Q15}7 zbDr@-%7b5_CJ1~w`Lw>p$e?LEz|?USrHl7D9ERr8Ac9OeA36@)2R_8iy878ER#cC3Wz$nyG# zaK@Fa#@E(Isv@KPVS#OQuHYeqB6NX*E?UqD`Irp&z%M~EjM)s9nCEvstDk(y8N``J zsMdryG9OxxdbJznhF4A%tUm39(FiWqeogHIY1Ib+x`_Un zQ)=dnWs36A5VU0gbY~pJEtI4EaISZ^y;h?5jro_CD_zcHu}tShzR}0-97iB*34)JbQZTZ zF)?Yh`EW;XwLq_C$XPt*1K`0$Y7w`}J#=iPpZbuIRHg*{?Ei!Crf07Uhvfpb#`zWpP7soEZ*G~;O1|$T60VXXXNK2S8x9=75 z`+2|f=%A(#36H0WuQ1oHAO&kPIzLEjz>?n=_kPQu1i;N<)r{j$*7e(W4C-}PE#JK7 zb3I_+xVu`LY-lMBihB#~8-s@Z1DatI=n37*|Z=A!(_Js8sJnB+5FJ=A$ z1!u3+Te~T`=?k^JY<<~+a-y-BbG}MC+TiJVTg0tP(w~6CReVg+fG91Pan9m3R z%9b3<%xkI;p4+c7%-Uuurajn%!)-a82$mL(jw&60Xj{;2?8h>2CO<{5S4@8>Z!D)3 z^~g7and#lLDO_?HhPf~UShq$H)_A;teQt^q)%TRa*O~rqjeg=ia z!U5?rVtnf!-b;({8TAA1VnV!bsBjvdwuLca zKb{C7-Wcfa-N&G2LHZn~JlbyDVj6xLwwsVV>r0dHYa5VNeq0ySOWQjF_`~QL^izt~ zvop7qV~{r=#fou`H;eE!A`?B^YWC_5C?4Yy=E8Tdh9n4pV#Sl1>Y^K~!a6pdK@Z$-*0<{`{2CF*+BJ+S>5jaLjE<(Id6I4 z!a-2Undh4I1WcRFaWE)F{|vYSq0HgGIK6GIOY_F-&oA^mbGV)qVj0jQs^^^e3Xvk& zM8C8&3w3kMD3wPa(D_KPJ8d9O4>OQGsWf-?ygoEz6Vj-aAA`cvY#dt-SLF_hedP(t zW$4UkNwN02MbWx0A@X5bi#TN1we_GVM~8@0(Uvk}i!bin(HhG)?~cdx({jRdL~bIk z*{ZKB)cV%uk~4U9RT_1pwj2S^2seSMUIo7XggA$IxeIB~U zcQwq4<@(mc^u?168*NyxdYExabguSujDk^>@#GToqUvi_7o;i#4kUv;wqRB-d^M_G z9Ehg`%3sxY;YkVBd8Y5XpvEDEJ^yk1f1hR zpvCpFC(eD&S^cZL*7L2tgieJ}8;|3i=PP_Hm3cS(0i0S!kwFTfSI}W07=o$I(i`L_ zkD)!>L&k|u>Hn48*Y!!RLKvtVJw84cIOoAE7t##$nTO-aGMCy3ua#cx=d+_#v4!%|NYNnnc$^4R@4Z}5jEl&+rzCKz1tBj4XP=oqV zS6_YMo0r5TEK*kdWg5?ewI|P7FK~o8afbZFPi&?zSxfU(&IPxr>$U*Xvss&-Xj&Sy zLEhGbH7;BSMx28DGA0>gCk%Z;Kb;n&;;XB!m14@KKrGkn5V(QdoYhEcGa{p)Fn$W%X#X41UNBQqEgCRCJbzwo2Wux-3~R~K_^ z_}i&VS9ya-q1|~7OMPm>-~k*h=PI^$n>fhH7Ak~tvadHjm})l?IuRkT4Yzjc{NSnA zPK~HYs((E+o<@cj;#ycAb}BnBupw?vfyZCkl=jX$P%M}XPt?NuBJP}5aZoov2D3%p zTo>fXGJF3iZPY?B3>#0>zLDoC#Gj{UPYP;3FjJhF8~R7| zTy6C-mEhzMVPb+X8+ghDTCcl&qvP{1*dwbG-~XodcSF7T#nS z#pbYNiK4rf-ssNa)!}p$D?St4B;-Uu3g_-6>P~w~80iz_V+rHxnn1Z}As?{Y5-$mg zV_h(g1zh5p+7qK3%&w8#=o(nYeuouPixDeH<*deOoFj6kTXyc9W$FgZ@_yOL32ojO zC9OT|>Vo)#0UCX8Jl-zbi9r69eTpT@c6*F_#?wD($Shqq9voGc6@KI!wyiS?~`+=0VlSGq3f}Xulc!Vyi7bGXI_+3cE&sU;FPWz4q>!Pg-u2mSRP3N{7Ggelyf) z_&g>(Xg6UbuV7$|sa6|L+qt(opuuJi(3?i3EoE>RJ?ZKwc;Zq@M&ozwhj~C61CTIC z8~3q?y-a}>qcCj_zsjVfzmyS4lt~X?zKXCiGHErztOk8{d5|_YZK%9Pol^}Y;9m*K z)yd_|^;9oX?>rm!Q2(htP6H+2i*8z@!yCF2DK>qFX-gdOos{7|z_iZ5S z-hvAiRkE#BG`6@&k8*gKf5^|a5L9!t=`D{G9t_AOqVKwn5{dN4AGsf9^Yx{-^9Tq@ zJa66!MOSTm7B#F>dX5(q9JvFHsE?siPjFDkqHt_SOJRg2+HYMjGvSa(8BTDUM${Hq z5S3QkDB4i$??veKk2NTx*d|BU&1cVV>;EGX(m*3f<+)ePZJAUVXRb-gp>kChL))qH zEjQ$=hJRI|J>%WIhr2YLr-AqZWzYs)ij2@`GTsdv4p^yn5>f4 z>2CBDd^S%hh?#VMr^{au##_$$s(X3wmEmi9L!!Sk=NDq80&J4AwL#q~8VE23RqHyp z&1I=iGIZY)`q3Nt(mi^X`0n+?(--DC`K&&2&CT`)Se5rcmOGDH(-oBY$l@2YkPEzL z$C?UzkE<3Kgq|UXUOC62#{%&ywJrAuVu_Hg(+Ad1M$9jC$x{_#Q)1_;L*E0SGVtAV zV^HjAiE0F4drldr_O9jwp@!0q-TSeRi4))HuGjTkQL*4!TtIE7O<^0x_91+x<v_)9I%b%cp?JNG9wSbW+>V8K`^5N60oxXx%Te^B|x$8H=_X|U~zI#gsBYV#Ep9Y z=?DSo^qCh@qzK`(Gc(1EO{d_HB4-lLFGF)PGlQtP_p}U(C0Ng~fp9V|%r@XM523V=7$~$UfDInobFr1FFi9da*Z{zO~ zRN2W7_3B*qqY=CQt5!3xep|~J#BKs8{0zL08OkgnIZ*B}aD+%oN|THU3v?(w=E^%YYn{N_U>(E-h$SNpvys2NfZfGsO#A6A_Y zWcL#gVzSNPH;^cQ?o+Mr?U)eeAs7eSTzy@*{m!gVzh?|^{lY^a4+ak1b6`NtQMQDBc=2IQO^_1e%um3#88bqrNBM*~Vf>H$@`>SoL zdFE-zKl%*3P%){|U-==wr0f!CvpU>tlIu)i5B8o-dMs(zChaTwcvDj4+5`JSeOXWy z>FbeToV3HOQ8Bi+HKli*+CgmV3&;k4lC$*Pd{6{Xt=yO)AwE3O-^OM-RT{kaAddz2 zYZxfM)&W7oO79-=w&z7s8p@6f4?X}BRpV-kSHhuVpp(`Lu;T%k&q&mhRltWIvyF}v z_k&S2P(Y9@glmaZ0teVYkxKE60~RTB7;ML;DR125VC$4h}3W)w7eT_Cc@*N9^)0+`E(!iY{n)=Ihg)yIc> zilZ*QDzs)8LnNNL#qAd#~5p3U?<(VyQ-iSD3= zss})fim9R4gePwXYtwC)5Fq$>Z8&s#%@D9M*YrqIq4@$BF0AEGs#biKQfSuuVQfQ< zv!eCqKGQ;VIzWcsbRISJ%V)de zxerm?EuQPat3eH$OoJV)#TtSRbxv|Ze=fY8mL83Jhyg;Vf&Qo$r#7IjSHlg~*~5bN zSkX5KRPz2r2znv_UHQQVV`fH*3W-$8=GwFLNAtxxzSZ|z8rn7|7IBFG&q1Z+3x+k- zL5(%<0c=~20^{wm>C1Ht zWg4Ej4r|)m5l(+_c|hNIFn@VoLpCT<voxBrkLM6?AViE8T*{xTEdb(BcA zT07+gj|J?5T-8gA$Y|_zp?I9=eO{C~25CwX1h;ve_&K!M-t&|O&CN7yOmoqN?EYzc zV?9@DXNCm}SK|#~e2Q|rD(Tu8kO@c$J$w4bLZdkh<>NNxTiwGCj|FHi z0NwZ{y38L1>Wqs$M7s`ps-Gg4PBJX`yo^x`wAi~`Q^(y%1g*7ws8ia1Wff4BC!EqR zEq4hhb)7nHCVLq9xjSQhltoy{*Xe3Yh(jczxR>9r=G|@;b|`R?bN^%KeeB>shN>zw z%lxngyZ>G2&x0iJ0m!Q|6rTJXz#8bi{r3#`ybA-TlD9IiV%2b0h8`rE{XQN(Y8M`s zf?!ZW;oLX2lgVj~{#RAU^u!>T{jaFZO>RpG5R^B^au~2@cb058yvLfaTnhd_J@1cw zc}EGVV`h?#Q~;-+*)twk-=!0GrMxMGqX87@7x-fl=>!ya((FeNKWPI8Bpa5*CmL(O zL9Pm0K#$kZ%5rw2!{@B;$=#KC{p0=jXN$6+%gVL`Oz!pkxA)&+{1MNX+TTBVb~p0T z-N=vgvP_Y35g#8x|H?)D`0?yT{fifiD7~Unw~gJ?J^rMI;bU7zk>TCO@fDQY#;M5g z(qp~h{rVzAwY421@2VSy7y~aQacS~PY&G(g`o|7Ws-GMsYMRz!xezot`aQ%hBg6szpAVhvP)FF?vLHJpYa(hoFviY~Ye;dUd}A{}VF( znW0FP$`U5Vt*YJtj0`;7W~~4j03c@%zv6dYwjmK|W1qQX}yy(qZ(uILSoz z?gfnZ6DCq`RF^NfHg?lFkLWo(d3W{qHw=40vl^=>vXmP>=`&8?71iIbaABv+304A4 zKl*u$aSpCr^L4s<_8ORM*zZLw-n8=&#kaY4wmn$VS)%6i3?X~ewQ;z=U%*ns{^xVj z-L#eDvl63NPw<)!=jlA~i_6zaZpv8=9AmtZwSwP@rPt#pq@JObaMN;lqW?mkoK?;{ zMvt7KGgN>UgXnvx^rhXK420DWdgh4cp2sXa9~d9cn_u+^pno2NCHH&jjY7BybG-Hs zgwG~=o>ed;g}~}#*tCiC9QfY}{a)~oGyosr`8h=>*E&?vS*Z*vGO8bb@2+0RwW`b2 z`TRjonxXsmSA$vXk`MisJF*!3yUQB7%xm`E@d~dMtnFNoP9VgH#RQwpo(fLMKAi|> z4eSaX1CD{FHCTTgwf-rG+Z4z182s#4|LjcTEf5_XCXGZ7o5}a9_V@SiY9HyM2P{PK zxHTL`-?09shSnwXq5Ks#l+71;*c4Ke?2*?i0Q2ymMW-`S%R3JaT-} zH~9gSLb|VBUgWp#Sz}uK>PUz%xP|WQjHQKR&UDP_xbh#SF(meRW>guwN$ZiQ#w>Vt ztTwt3M_BzSf`raJlPHZY(T~AYeRSdC>K}8)rCv>tr;&)ywktuifXUD?;2O_-Inz9T zq@*L%evu{eH#d;0EUOXvb?tvlO`|TC>A2Ic>)XBU&S+|K&C|czxn9RwGMKUT_r!NC z_E!hl_8(zRCaO77n)T**s5v+mIitVaoQ$J%56Cbba!Y; z=e6A%U~f?Fh=K}_DNq)uV*j95R;uC%G%qdTtUtPSdc2g>d8flG&xJ{*!scNzIK}K& zEACiJNi10&11s?hXgB)O6LrkIP107>fQl1#KPlaNZAZzv3%Vo3ZR~5Y;0Qkl zC0Q&efRmH6rf8y1Nfeo0earRe^B3_b5RYisdIE}##ClqD-jjx5V8s3`=%jiN{@Z21 zmwK`d=CVkw!YBjcEP6El1k@cLI1Lh+Nn6dK;tsX;E>P8n*81J4kBM<{9iU*z`*0z< z*@2wL+UWOCH5BJt`>T0HFKFGi8f#;$3(e|zhxjlsl$)V%fVec`xg$-WT^fZ=Ht0Ud~6OqPjFRM$fL0fY7fxaVbN#iGdfhxjZ;KGQ)JZ93D9+}wnwHL0KI6^ptaSfEbA zs0B+v+*NS%S6=gYe}AMqAmFiUb#Bo*2wb1>Dd3vf(eyeG0YMC$E zAi=z@=rBq*Kww<{mY=`>?k+VbR57#UG#ARdGhJX@TGX`*V#1k8#e z94~$v1?3z*C03|FlLkSqFKrhv-cVZUO$FFR@GW-~2;BDemK^olr`k~r_At{aLLf^7 zQ(O9i#)z>MX@Hl3i_E<`AECJDv?%Kl+wxVZ%Ej*?g2cwU? z3iF|!po?WMmX4>;mKR`-&TL1HR)sfw&+MA+EHpqdqH`?k>UnBKxqcm^o;%70W)Khd zd(4CW$lnAD3&pF>m7gF1`r;?)=cjlP5iWH_ zo3(?Enne?3(>iUG*cccuY!Exr=}%^p^P(anBS$k8bV>-r4LV4DHMVEAb1eGXIF4-u z>es?+Ml^L={Q|*nz*=Oo^AxnVSLHNG2MWAc8&>jGbg!4 zDADIS<}aRVDrK3Ka-9Gm(T~m);wqOQ-`>>sR|k1p)sZiro9~~NRaOh&_HG(fSm|}{ z-e+}OKWq!Y#K8DcW$#Si$6}+LW#FhhT4l^o^Lj=_M^2J>%yX$n_P#)M`21TF$})4< zm>xwz-lDdYZa!Ae05v1ks#~6S9^1UUJiKo4dnEI{cK5wrnPa=;Tim9Aaj(&E=-x4* z+wSR6M!hV!pv-SCbC)AogSp1VsFYmoIy!vsG^h-#%7|M$S}eS%pn zom6G?1l96WT}>wTv8Sh}y9C7oKda*ka~^1a%}Yw%C!yq4mZ?fUjM6d@ew#TtAgI*K zKLmCZ=h}b@XW>_Kv-d+3ECbt`RlzGF+E-F)2u*X}NsB~X<*81K5ZKbT(Csk^>_}xp zfr+ji21|3mFQ&A}6(L+%BHlr540v*>CZ3bu>~$Qt6D7`{rv`?~#~EjtVS0wt9cX5SS#^WBfezk0QN zFmS+2OHXc)S|83Mp{d8SkiOQn{?w;X$b8DVxS%z^8tcWn$B9VkmipnC!H*r2xZpz7 z?!(QTLm0Ll(?Q^%ZR2mwQ2oT0-JDy)%oFEj_xd%f;L*l+i|)ehk3L3-Me1YoO=_XX zhp`1Zm*b{#)ptMha7gsufj^M2E#q;QSQ@$(Tq3xCg*wi-ushe3yA`zA&8t})*r)-m zsol1>Bnqi>G-;5+Ci+M>bfHVPjo3>#Uh=b&erAnsEc4%2&sdANZDn|f=g4dPX67ub z9}EO@bfzYtMICs{>6M;YyZ){=ugAoD$#8>01td%s&W#GGRV<8(1kCF9> zi+L)+vsMDyT)ANtg>6&y?t%^UVTD5m4Ib`_?IuQ0nWWuAHFEpxy_*GNwyTNg>VzfG zlXo{qbJgwo>2e*w>nu1ftE6U5=WHhPg^PSDFHq$Hl3CdX!^ZxS1W0idiI;lCV?C`mkoyO4U$0`Hy#*C?rhjiO%S z$@MIOUb+uf?|@p+6R#7)d#fzaTi~66fy@1(K<}=s-601lJH~14M{j!*45Dog%gU-+R+)4JIg|Y<_de)Y@&-thT^U< z>JOfp*U7IB+O4Ksv(HteyzL}rH-|DbFJ2~rd z#0zc+X9cBkb!O)~?JQAhZriQbj|Uy{CTtr{;sSm5pb+L5dUYtbQ-N7qWWew8i9UIFe3*6KWllgsch@s$5>;yo_xaItw5DgxPbDS!Dc*b-Vla~i+XSI za8mGLds|!Tb!lEUrMwc8nuMK!#4OqSa2J)$&Ah2i#%g+5ATUh2AUzUDk{;XZl#Ca$ zL@FbwZ-^$WQ;Xb<Z}&F>Yq9& zm_^QD{`Qr9mTrP4BhG{NI!IAqQuEYoy_T|S`rv0re=hs_hpYpk)@IIWX%y!0<89e(e{^gbp{T3QEywO=)KMDPFn{^ucdzd0XmKi@^s}T zt;a#RS;H*fv-N9rtb0oYhO}vw*)N9iOKYx`#cHSIoob6&sQ14%>&{tTS@|xweDXzL z6gYg2x#eT+@>DG~Ii)m~^l-)357izaa`h=D^MwjJ`mCJIy3&#bV1rBJtP zh&!uD{Zv7(7N9FG{(b3~;Prqztc2}4%}@DD@M=SR5`T4`K<}{WN~6vnQK>Id*aoV- z^iD(G-h$gpYtD3f(7fq*lK)nDAna->UNjo?d*40a?_dqj=Ki=&LHWH<@1$zM#or}m&hN5JNtz7v!_6(COX9OVOci&EfS=+@JG9l( zf!>8;;Tw}N>o^H$7ka{<5~pmYBZ4JGd&C#LZpy+0{*-?}$zh4W4iz$~R!QR_+#iCQ zc!t8?!HJ{}|J{N1}v&e;zagy0R0BN zS_;+~ibMZD8|ob&(WPF+e+BLTa3)(YY_FTzSltjAcpx%R*xbZPP575AvM?Mk6XxIN zl9&WMKZg5TPWZIEy&2%}FK^NPm)Ai7P4}`j0$gz-PS2}^ga)^3>a{Of>FEQX7I_$S zF@XBX{&)1M_iEP^p@*!2C=w>LZ`B&zAH4Mnu>-t8pI=Rom`M5g`AGw;f4v}Z;|Y7+ z3|Lj3OcqF8b1{2g$*2sC<_COiBzwR@dHFo%0?XUq{sI!I**8+ZooF}383<&f{{N5v z?+}5Jfk21#Le%%)ekNR2I-5$;*{7pPRNsGl3dOy0N&M@H4E&sEW|N4*CD`+79XVQZ zh+-tq$evmT@JdWv-F6JfqB~GaIPfMCRqL`9ZBbs>?~fivY4W2{9f+S@j5QJyg|O3y z0Tmsnsn7F&uvB!*%plRB#2L-3NkE0{BPL4>9a~6T*~&0k!ogU_l)X+-mULn;Nn{&MmQxI39N7k8$~Md->sZ1d zGiKh$b)7R>-s`>2b*}f%*PlPn@0sT}zx#fkXFlKizMstj44ZfUx^pIRCNh-hm9ojw zM%~*{;}sJSUQzRuhtk+f$;*CmwB}h9TA4&}84dfe@=BDDvPN?LeCUcd>o25nm$5Hj zU7KVM<@G5q*+i5aBh#9fVjjLvb_#Rpk`;;WdulwLelA-C-sex;)GEYhUUGSf(A#~B zH9Y$rXiJ7qv3un^o>5$^waWQmo_SoR9_K=Dt}UZu^3tObh6NICl4fVWv>YS9fke0E zAMl0tI92qK@$axzlxo40Wr$U|f+w1BqG$Al`_+@W9!Iqm*`f7`W9y7GZp1(~;yddi z-wv2y(XoyQWRcc8uP)0wkJWt-Q}t0|PO&D(A5psx9s7k^=ZdrRkSp(BJQ&Nqs z6tJ1F###&Inm1NE7&;g=7No!lrM-c=Z?@Jcd1agnxm|h0nac;O(mL{|1t38OKD+S$ znI-POPOn)lEC9;w*>)r{o)&&4)%Pz>u9LdmsIF5~P>q08>lf@JFo~PDxAOhjURmzD z0zHle?zEKx1RR_(8#O)lb(?Kln_ex;sH{{XByRx@9tJ1F>1*vR%CaR}`Rc~q>mXv> z(}F0lH!CBJU`4gTK%YzVcR&YQrG=kQS@9=Hkb+Y{4efUM0~OZ> z6-gp0_}NRKDi)-f8+cuQV-A%#c;LXPn&hOI9Ld!gR-pM(jo{G@@n*aOWCpT`n(a?x zzr9l!NA*AkrduWekbe&<4RVD46u@BJMvOTC-CO~pZP^kVLuCD+KGJU1VdgazKypMY zgdN#(Q}7UfTFug%mV;Oj+_pOw&RvlO>4~lCUbIAv5B+k+;nG|09WT9BzeY=!%6;E5lYBf{+7}3T zf5~|Md4NorV#hmNH4O}izb;Far<@eSuf;CicFCp(B?|2pI=cVM#_Jd>RZ8n=nz%@O z{N#|GB*wcqja40QIe%go#S-1fLGIiw1Vp+&r8=G1NqLA}cGiT^zF9a5n%`0B+V(Re zYlX?y3^0(C9O=3buoC0?zvvq;uIHS1m`};X!x+Dz!El+Y=Hl85M)hht?M@69zAvm) z0a0LT3F~+~bbiEW0v8O1xQTCg=iBt_e#9&4dps?p{x)V@a4 zuT^+Tp+X9%z_OV=HjZtwaPO5*0JEpi@Cv@Q=O}z1l*l&`UpyTXsbH#Z0`doFxWKu$ zUIP!NwNGU5f_tV28UwsqAq8TS4=n^Y3QA-jfjf98X27u-gH^$*AV=!#65z|p|Ebq7 z)M2c$UOk!qv5Q$|T`*7K7C#g0WoL$~tJ+U6H7X`0vln)VK&aCv9jn7m!7spneG8l> z70e`UoqIP&EbZRnOJVHHVpr^`_m9mms&%O zzxOZJ7z$JE2RVh*p`lD~P=XudDs^nY;l(dVt{4;evZo2Mb2;Z+sw>WIZI$)ug@09f zd-|y^qR4dEmM@JC0EK|`oW9W7hLcc(@KzIl$VX;VK8qJ*%|m{ zaBe6d{h>g+n)jQy73SOEU{*-gZr}omr3EnZ)6a{plzaA`UmgfuVm2j39NN~QD(_zy zp2_7*5o$)Kl#)foYRtNF7HvTyKC3Qxv5!pFuP*A`?4@LcvW`J(3x4UOxOk}NLGkne z!<<7GmKI$cwZq?Z0uD3tvd{5S0~UxAuC(=}J8oZ$4|8tLM-oH^H0QF#*m;rODHc&c z10(s&XwZUW;ZIh}@OV6D6034P>k5dN%NHEnd-cM%19(n_ zMnSx?)gU2x{qreG3-Kl4#SYJZOt{<@$#_p7l#%|x1JqrvhC_4(-MV`2AfSlFJEU?&8ggac!oq|p;0E%B_{^K14ilm#p0P@vj zuqKvwAEw|3+kulKK66u2rQ)4f(_ctrdbf>D0aca5!=)x46$2U6=&Bj}lz3`zg#UCM z%H&9My9A8hM-371ni9qqXzrOXuCbPv36YE{XL-h5&SY>J@@i2ZCf=H5YU6qhD{l07 zH0VuD;tbh`jXFx7xFS)@Um0s|!I9s4ZHc6*AHcG!d23h?Up zJ=u!W#=wRQJrrkXq_j-Et_Qk?;Z%UZM|3R{)vpb_BZ~B7@42&X52Ll8%`(d)D6I)w zv#??l0d*^?OkvP;8K=CkXVy!kah!x~v8gJd=#2H!hMPL=3;`nRAz+qz7pLt5avUsw zg-B_0>LTf-cWntCLttGUl?Wg$FZFx7jZtu+&N|O2MVP`wChFFCR?)?tV4K+LAV;If z@6Xr-P8u2*%!AI5puR=ZKEDb@Jr%9|UN>pqT5g10K&F|@8c{Q$S>B$QPQ8vd2_ zgB}~mBQENtZgQD1Vo4{*e}APFO3dDqF@*`TrXzD41IEaP#D=7fYP;d$qOy<= zfHr@=y^;GLT>&%XYCbdGZ&C$RJ;-5Vg)Sz3_H~28EP9rfmhCMwr*jXk&eRXRy4cHu zl*sY-S<(@e3AgXu!32U8G?dJUu3i8$={+Kk`^<&kM&OJhze@q>z5K@#xGT(mjRJ^h z{@N(;xQ=hN0_XX=nau)E`Ee$ju3Pb)>z{UiHO)lhP$Y8ScLF8D=w5$ZO%XFfK;V7` zO_Ue?fH=}|Dxc*network/ (infrastructure)app/commands/<name>/ (per command)«record»PrimitiveRequestCommandParserT extends RequestCommandHandlerT extends RequestCommandParserDispatcherCommandRouterRequestResponseExampleParserCommandParserExampleRequestRequestExampleHandlerCommandHandlerExampleResponseResponseroutesparsed byroutes toparses toroutesroutes toexecuted bycreatesparses toexecuted byproduces \ No newline at end of file diff --git a/documents/images/docs/networking/commands/request.png b/documents/images/docs/networking/commands/request.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc2d9c08e5f30f6f610b50d90797f6678611950 GIT binary patch literal 5600 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 Mbd0nsG@pk34@HX?umAu6 literal 0 HcmV?d00001 diff --git a/documents/images/docs/networking/commands/request.svg b/documents/images/docs/networking/commands/request.svg deleted file mode 100644 index c4d8826..0000000 --- a/documents/images/docs/networking/commands/request.svg +++ /dev/null @@ -1 +0,0 @@ -Requestcontext: RequestContextgetContext(): RequestContextgetSessionId(): SessionIdgetRequestId(): int \ No newline at end of file diff --git a/documents/images/docs/networking/commands/request_parameter_accessor.png b/documents/images/docs/networking/commands/request_parameter_accessor.png new file mode 100644 index 0000000000000000000000000000000000000000..9134ce205ec3eef069a4e8d85957ab1cb2eae592 GIT binary patch literal 15855 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 zuTDGAgn6|ORequestParameterAccessorindex: Map<String, String>RequestParameterAccessor(parameters: List<RequestParameters>)require(key: String): Stringrequire(key: String, parser: ThrowingParser<T>): Toptional(key: String, defaultValue: String): Stringoptional(key: String, defaultValue: T, parser: ThrowingParser<T>): T \ No newline at end of file diff --git a/documents/images/docs/networking/commands/response_types.png b/documents/images/docs/networking/commands/response_types.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7e618945ccb835e7a5a6ce3b09a3abd7767840 GIT binary patch literal 20185 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 literal 0 HcmV?d00001 diff --git a/documents/images/docs/networking/commands/response_types.svg b/documents/images/docs/networking/commands/response_types.svg deleted file mode 100644 index 142696c..0000000 --- a/documents/images/docs/networking/commands/response_types.svg +++ /dev/null @@ -1 +0,0 @@ -Responsecontext: RequestContextbody: ResponseBodyprefix(): StringgetSessionId(): SessionIdgetRequestId(): intgetBody(): ResponseBodySuccessResponseprefix(): String (+OK)OkResponseErrorResponseprefix(): String (-ERR) \ No newline at end of file diff --git a/documents/images/docs/networking/commands/sequence_diagram.png b/documents/images/docs/networking/commands/sequence_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..374596cedc6bc032fcde99bb2376d86b35e5e006 GIT binary patch literal 23283 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 z>nX-RPDZ0c_%xKarA=hSessionReaderCommandParserDispatcherCommandParser.T.CommandRouterCommandHandler.T.ResponseDispatcherSessionReaderSessionReaderCommandParserDispatcherCommandParserDispatcherCommandParser<T>CommandParser<T>CommandRouterCommandRouterCommandHandler<T>CommandHandler<T>ResponseDispatcherResponseDispatcherparse(primitiveRequest)parse(primitiveRequest)ExampleRequestRequestexecute(request)execute(ExampleRequest)dispatch(ExampleRequest) \ No newline at end of file diff --git a/documents/images/docs/networking/server-architecure/networking_components.png b/documents/images/docs/networking/server-architecure/networking_components.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9839941a76cbc212e98afca372186b1a501138 GIT binary patch literal 82098 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

yT`^9|a?_UHc8Z8qxPQg>fA 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�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

)x(&)`_liQ(hKH^oE+xgVrFx4NI5By?u~ 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 z5YNetworkManager+start(port: int)Session-id: SessionId+Session(id: SessionId)+getId(): SessionId+run()+send(response: String)SessionId-value: UUID+SessionId()+SessionId(value: UUID)SessionManager-sessions: Map<UUID, Session>+add(session: Session)+getById(id: UUID): Session+remove(id: UUID)RawRequest-session: Session-rawMessage: StringResponse+encode(): StringTokenizer+tokenize(input: String): List<String>ProtocolParser+parse(raw: RawRequest): PrimitiveRequestPrimitiveRequest-command: String-arguments: Map<String, String>«per command»CommandParser+parse(primitive: PrimitiveRequest): Request«per command»Request-session: SessionCommandRouter+route(request: Request)«per command»CommandHandler+handle(request: Request)SuccessResponseErrorResponsecreatesadds session toidentified bycreatessendsmanagespassed tousesproducespassed toproducesdispatches toreceives \ No newline at end of file -- 2.52.0