From dc7238fc7dfcfc50f5473c0cb3825de3dd9ced72 Mon Sep 17 00:00:00 2001 From: codecholeric Date: Thu, 11 Apr 2024 13:31:33 +0000 Subject: [PATCH] prepare release 1.3.0 Signed-off-by: codecholeric --- README.md | 4 +- docs/_data/navigation.yml | 2 +- docs/_pages/getting-started.md | 4 +- docs/_pages/use-cases.md | 14 +- .../_posts/2024-04-11-release-v1.3.0.markdown | 8 + docs/userguide/html/000_Index.html | 261 ++++++++++-------- docs/userguide/html/class-naming-deps.png | Bin 6463 -> 0 bytes docs/userguide/html/class-naming-deps.svg | 1 + docs/userguide/html/class-package-contain.png | Bin 8541 -> 0 bytes docs/userguide/html/class-package-contain.svg | 1 + docs/userguide/html/cycle-check.png | Bin 26281 -> 0 bytes docs/userguide/html/cycle-check.svg | 1 + docs/userguide/html/diamond-example.png | Bin 14319 -> 0 bytes docs/userguide/html/diamond-example.svg | 1 + docs/userguide/html/domain-overview.png | Bin 39475 -> 0 bytes docs/userguide/html/domain-overview.svg | 1 + docs/userguide/html/dowalil-example.png | Bin 18505 -> 0 bytes docs/userguide/html/dowalil-example.svg | 1 + docs/userguide/html/import-vs-lang.png | Bin 8127 -> 0 bytes docs/userguide/html/import-vs-lang.svg | 1 + .../html/inheritance-access-check.png | Bin 14470 -> 0 bytes .../html/inheritance-access-check.svg | 1 + .../html/inheritance-annotation-check.png | Bin 12837 -> 0 bytes .../html/inheritance-annotation-check.svg | 1 + .../html/inheritance-naming-check.png | Bin 13294 -> 0 bytes .../html/inheritance-naming-check.svg | 1 + docs/userguide/html/lakos-example.png | Bin 22090 -> 0 bytes docs/userguide/html/lakos-example.svg | 1 + docs/userguide/html/layer-check.png | Bin 33512 -> 0 bytes docs/userguide/html/layer-check.svg | 1 + docs/userguide/html/martin-example.png | Bin 24771 -> 0 bytes docs/userguide/html/martin-example.svg | 1 + .../html/onion-architecture-check.png | Bin 96464 -> 0 bytes .../html/onion-architecture-check.svg | 1 + .../userguide/html/package-deps-no-access.png | Bin 4321 -> 0 bytes .../userguide/html/package-deps-no-access.svg | 1 + .../html/package-deps-only-access.png | Bin 13085 -> 0 bytes .../html/package-deps-only-access.svg | 1 + docs/userguide/html/resolution-example.png | Bin 10221 -> 0 bytes docs/userguide/html/resolution-example.svg | 1 + docs/userguide/html/resolution-overview.png | Bin 16404 -> 0 bytes docs/userguide/html/resolution-overview.svg | 1 + .../html/simple-plantuml-archrule-example.png | Bin 5602 -> 0 bytes .../html/simple-plantuml-archrule-example.svg | 1 + gradle.properties | 2 +- 45 files changed, 184 insertions(+), 130 deletions(-) create mode 100644 docs/_posts/2024-04-11-release-v1.3.0.markdown delete mode 100644 docs/userguide/html/class-naming-deps.png create mode 100644 docs/userguide/html/class-naming-deps.svg delete mode 100644 docs/userguide/html/class-package-contain.png create mode 100644 docs/userguide/html/class-package-contain.svg delete mode 100644 docs/userguide/html/cycle-check.png create mode 100644 docs/userguide/html/cycle-check.svg delete mode 100644 docs/userguide/html/diamond-example.png create mode 100644 docs/userguide/html/diamond-example.svg delete mode 100644 docs/userguide/html/domain-overview.png create mode 100644 docs/userguide/html/domain-overview.svg delete mode 100644 docs/userguide/html/dowalil-example.png create mode 100644 docs/userguide/html/dowalil-example.svg delete mode 100644 docs/userguide/html/import-vs-lang.png create mode 100644 docs/userguide/html/import-vs-lang.svg delete mode 100644 docs/userguide/html/inheritance-access-check.png create mode 100644 docs/userguide/html/inheritance-access-check.svg delete mode 100644 docs/userguide/html/inheritance-annotation-check.png create mode 100644 docs/userguide/html/inheritance-annotation-check.svg delete mode 100644 docs/userguide/html/inheritance-naming-check.png create mode 100644 docs/userguide/html/inheritance-naming-check.svg delete mode 100644 docs/userguide/html/lakos-example.png create mode 100644 docs/userguide/html/lakos-example.svg delete mode 100644 docs/userguide/html/layer-check.png create mode 100644 docs/userguide/html/layer-check.svg delete mode 100644 docs/userguide/html/martin-example.png create mode 100644 docs/userguide/html/martin-example.svg delete mode 100644 docs/userguide/html/onion-architecture-check.png create mode 100644 docs/userguide/html/onion-architecture-check.svg delete mode 100644 docs/userguide/html/package-deps-no-access.png create mode 100644 docs/userguide/html/package-deps-no-access.svg delete mode 100644 docs/userguide/html/package-deps-only-access.png create mode 100644 docs/userguide/html/package-deps-only-access.svg delete mode 100644 docs/userguide/html/resolution-example.png create mode 100644 docs/userguide/html/resolution-example.svg delete mode 100644 docs/userguide/html/resolution-overview.png create mode 100644 docs/userguide/html/resolution-overview.svg delete mode 100644 docs/userguide/html/simple-plantuml-archrule-example.png create mode 100644 docs/userguide/html/simple-plantuml-archrule-example.svg diff --git a/README.md b/README.md index 28a3baf531..cb90295897 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ framework. ###### Gradle ``` -testImplementation 'com.tngtech.archunit:archunit:1.2.1' +testImplementation 'com.tngtech.archunit:archunit:1.3.0' ``` ###### Maven @@ -26,7 +26,7 @@ testImplementation 'com.tngtech.archunit:archunit:1.2.1' com.tngtech.archunit archunit - 1.2.1 + 1.3.0 test ``` diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml index 131d75b016..1075141dfe 100644 --- a/docs/_data/navigation.yml +++ b/docs/_data/navigation.yml @@ -10,6 +10,6 @@ main: - title: "User Guide" url: /userguide/html/000_Index.html - title: "API" - url: https://javadoc.io/doc/com.tngtech.archunit/archunit/1.2.1 + url: https://javadoc.io/doc/com.tngtech.archunit/archunit/1.3.0 - title: "About" url: /about diff --git a/docs/_pages/getting-started.md b/docs/_pages/getting-started.md index c0920c3b10..2107f8219a 100644 --- a/docs/_pages/getting-started.md +++ b/docs/_pages/getting-started.md @@ -15,7 +15,7 @@ ArchUnit can be obtained from Maven Central. com.tngtech.archunit archunit - 1.2.1 + 1.3.0 test ``` @@ -23,7 +23,7 @@ ArchUnit can be obtained from Maven Central. #### Gradle ```groovy dependencies { - testImplementation 'com.tngtech.archunit:archunit:1.2.1' + testImplementation 'com.tngtech.archunit:archunit:1.3.0' } ``` diff --git a/docs/_pages/use-cases.md b/docs/_pages/use-cases.md index d27ef4fe26..8529bcb595 100644 --- a/docs/_pages/use-cases.md +++ b/docs/_pages/use-cases.md @@ -23,7 +23,7 @@ classes().that().resideInAPackage("..foo..") ## Class Dependency Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c617373204f746865720a636c61737320466f6f4261720a0a4f74686572202d3e20466f6f4261720a6e6f746520746f70206f6e206c696e6b20236372696d736f6e3a20666f7262696464656e0a0a426172202d2d3e20466f6f4261722023677265656e0a6e6f7465206c656674206f6e206c696e6b2023677265656e3a20616c6c6f776564) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c617373204f746865720a636c61737320466f6f4261720a0a4f74686572202d3e20466f6f4261720a6e6f746520746f70206f6e206c696e6b20236372696d736f6e3a20666f7262696464656e0a0a426172202d2d3e20466f6f4261722023677265656e0a6e6f7465206c656674206f6e206c696e6b2023677265656e3a20616c6c6f7765640a40656e64756d6c) ``` classes().that().haveNameMatching(".*Bar") @@ -33,7 +33,7 @@ classes().that().haveNameMatching(".*Bar") ## Class and Package Containment Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e666f6f207b0a20202020636c61737320466f6f536572766963650a7d0a0a7061636b61676520636f6d2e77726f6e67207b0a20202020636c61737320466f6f436f6e74726f6c6c65720a7d0a0a6e6f746520227265736964657320696e2077726f6e67207061636b616765222061732057726f6e675061636b61676520236372696d736f6e0a466f6f436f6e74726f6c6c6572202e2e2057726f6e675061636b616765) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a73657420736570617261746f72206e6f6e650a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e666f6f207b0a20202020636c61737320466f6f536572766963650a7d0a0a7061636b61676520636f6d2e77726f6e67207b0a20202020636c61737320466f6f436f6e74726f6c6c65720a7d0a0a6e6f746520227265736964657320696e2077726f6e67207061636b616765222061732057726f6e675061636b61676520236372696d736f6e0a466f6f436f6e74726f6c6c6572202e2e2057726f6e675061636b6167650a40656e64756d6c) ``` classes().that().haveSimpleNameStartingWith("Foo") @@ -43,14 +43,14 @@ classes().that().haveSimpleNameStartingWith("Foo") ## Inheritance Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c61737320436f6e6e656374696f6e203c3c696e746572666163653e3e0a636c6173732048746d6c436f6e6e656374696f6e203c3c636f6e63726574653e3e0a636c61737320467470436f6e6e656374696f6e203c3c636f6e63726574653e3e0a636c617373205373685468696e67203c3c636f6e63726574653e3e0a0a48746d6c436f6e6e656374696f6e202d2d7c3e20436f6e6e656374696f6e2023677265656e0a467470436f6e6e656374696f6e202d2d7c3e20436f6e6e656374696f6e2023677265656e0a5373685468696e67202d2d7c3e20436f6e6e656374696f6e20236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204861732077726f6e67206e616d65) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c61737320436f6e6e656374696f6e203c3c696e746572666163653e3e0a636c6173732048746d6c436f6e6e656374696f6e203c3c636f6e63726574653e3e0a636c61737320467470436f6e6e656374696f6e203c3c636f6e63726574653e3e0a636c617373205373685468696e67203c3c636f6e63726574653e3e0a0a48746d6c436f6e6e656374696f6e202d2d7c3e20436f6e6e656374696f6e2023677265656e0a467470436f6e6e656374696f6e202d2d7c3e20436f6e6e656374696f6e2023677265656e0a5373685468696e67202d2d7c3e20436f6e6e656374696f6e20236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204861732077726f6e67206e616d650a40656e64756d6c) ``` classes().that().implement(Connection.class) .should().haveSimpleNameEndingWith("Connection") ``` -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e70657273697374656e6365207b0a20202020636c6173732056616c696450657273697374656e6365557365720a7d0a0a7061636b61676520636f6d2e6d796170702e736f6d657768657265656c7365207b0a20202020636c61737320496c6c6567616c50657273697374656e6365557365720a7d0a0a636c61737320456e746974794d616e616765720a0a56616c696450657273697374656e636555736572202d2d3e20456e746974794d616e616765722023677265656e0a496c6c6567616c50657273697374656e636555736572202d2d3e20456e746974794d616e6167657220236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204163636573736f72207265736964657320696e2077726f6e67207061636b616765) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a73657420736570617261746f72206e6f6e650a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e70657273697374656e6365207b0a20202020636c6173732056616c696450657273697374656e6365557365720a7d0a0a7061636b61676520636f6d2e6d796170702e736f6d657768657265656c7365207b0a20202020636c61737320496c6c6567616c50657273697374656e6365557365720a7d0a0a636c61737320456e746974794d616e616765720a0a56616c696450657273697374656e636555736572202d2d3e20456e746974794d616e616765722023677265656e0a496c6c6567616c50657273697374656e636555736572202d2d3e20456e746974794d616e6167657220236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204163636573736f72207265736964657320696e2077726f6e67207061636b6167650a40656e64756d6c) ``` classes().that().areAssignableTo(EntityManager.class) @@ -60,7 +60,7 @@ classes().that().areAssignableTo(EntityManager.class) ## Annotation Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c6173732056616c696450657273697374656e636555736572203c3c405472616e73616374696f6e616c3e3e0a636c61737320496c6c6567616c50657273697374656e636555736572203c3c6e6f74207472616e73616374696f6e616c3e3e0a0a636c61737320456e746974794d616e616765720a0a56616c696450657273697374656e636555736572202d2d3e20456e746974794d616e616765722023677265656e0a496c6c6567616c50657273697374656e636555736572202d2d3e20456e746974794d616e6167657220236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204163636573736f72206973206e6f7420616e6e6f7461746564207769746820405472616e73616374696f6e616c) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a636c6173732056616c696450657273697374656e636555736572203c3c405472616e73616374696f6e616c3e3e0a636c61737320496c6c6567616c50657273697374656e636555736572203c3c6e6f74207472616e73616374696f6e616c3e3e0a0a636c61737320456e746974794d616e616765720a0a56616c696450657273697374656e636555736572202d2d3e20456e746974794d616e616765722023677265656e0a496c6c6567616c50657273697374656e636555736572202d2d3e20456e746974794d616e6167657220236372696d736f6e0a0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a204163636573736f72206973206e6f7420616e6e6f7461746564207769746820405472616e73616374696f6e616c0a40656e64756d6c) ``` classes().that().areAssignableTo(EntityManager.class) @@ -70,7 +70,7 @@ classes().that().areAssignableTo(EntityManager.class) ## Layer Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e636f6e74726f6c6c6572207b0a20202020636c61737320536f6d65436f6e74726f6c6c65724f6e650a20202020636c61737320536f6d65436f6e74726f6c6c657254776f0a7d0a7061636b61676520636f6d2e6d796170702e73657276696365207b0a20202020636c61737320536f6d65536572766963654f6e650a20202020636c61737320536f6d655365727669636554776f0a7d0a7061636b61676520636f6d2e6d796170702e70657273697374656e6365207b0a20202020636c61737320536f6d6550657273697374656e63654d616e616765720a7d0a0a536f6d65436f6e74726f6c6c65724f6e65202d2d3e20536f6d65536572766963654f6e652023677265656e0a536f6d655365727669636554776f202d646f776e2d3e20536f6d6550657273697374656e63654d616e616765722023677265656e0a0a536f6d65436f6e74726f6c6c65724f6e65202d646f776e2d3e20536f6d6550657273697374656e63654d616e6167657220236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a20416363657373206279706173736573206c61796572730a0a536f6d655365727669636554776f202d75702d2d3e20536f6d65436f6e74726f6c6c657254776f20236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a2041636365737320676f657320616761696e7374206c61796572730a0a536f6d6550657273697374656e63654d616e61676572202d75702d2d3e20536f6d65536572766963654f6e6520236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a2041636365737320676f657320616761696e7374206c6179657273) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a73657420736570617261746f72206e6f6e650a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e636f6e74726f6c6c6572207b0a20202020636c61737320536f6d65436f6e74726f6c6c65724f6e650a20202020636c61737320536f6d65436f6e74726f6c6c657254776f0a7d0a7061636b61676520636f6d2e6d796170702e73657276696365207b0a20202020636c61737320536f6d65536572766963654f6e650a20202020636c61737320536f6d655365727669636554776f0a7d0a7061636b61676520636f6d2e6d796170702e70657273697374656e6365207b0a20202020636c61737320536f6d6550657273697374656e63654d616e616765720a7d0a0a536f6d65436f6e74726f6c6c65724f6e65202d2d3e20536f6d65536572766963654f6e652023677265656e0a536f6d655365727669636554776f202d646f776e2d3e20536f6d6550657273697374656e63654d616e616765722023677265656e0a0a536f6d65436f6e74726f6c6c65724f6e65202d646f776e2d3e20536f6d6550657273697374656e63654d616e6167657220236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a20416363657373206279706173736573206c61796572730a0a536f6d655365727669636554776f202d75702d2d3e20536f6d65436f6e74726f6c6c657254776f20236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a2041636365737320676f657320616761696e7374206c61796572730a0a536f6d6550657273697374656e63654d616e61676572202d75702d2d3e20536f6d65536572766963654f6e6520236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a2041636365737320676f657320616761696e7374206c61796572730a40656e64756d6c) ``` layeredArchitecture() @@ -87,7 +87,7 @@ layeredArchitecture() ## Cycle Checks -![diagram](http://www.plantuml.com/plantuml/svg/~h736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e6d6f64756c656f6e65207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c654f6e650a20202020636c61737320436c61737354776f496e4d6f64756c654f6e650a7d0a7061636b61676520636f6d2e6d796170702e6d6f64756c6574776f207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c6554776f0a20202020636c61737320436c61737354776f496e4d6f64756c6554776f0a7d0a7061636b61676520636f6d2e6d796170702e6d6f64756c657468726565207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c6554687265650a20202020636c61737320436c61737354776f496e4d6f64756c6554687265650a7d0a0a436c6173734f6e65496e4d6f64756c654f6e65202d2d3e20436c61737354776f496e4d6f64756c6554776f20236372696d736f6e0a436c6173734f6e65496e4d6f64756c6554776f202d2d3e20436c6173734f6e65496e4d6f64756c65546872656520236372696d736f6e0a436c61737354776f496e4d6f64756c655468726565202d2d3e20436c6173734f6e65496e4d6f64756c654f6e6520236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a20436f6d62696e6174696f6e206f6620616363657373657320666f726d73206379636c65) +![diagram](http://www.plantuml.com/plantuml/svg/~h407374617274756d6c0a6869646520656d707479206d656d626572730a73657420736570617261746f72206e6f6e650a736b696e706172616d20636f6d706f6e656e745374796c6520756d6c320a0a736b696e706172616d20636f6d706f6e656e74207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a736b696e706172616d20636c617373207b0a2020426f72646572436f6c6f722023677265790a20204261636b67726f756e64436f6c6f72202377686974650a7d0a0a7061636b61676520636f6d2e6d796170702e6d6f64756c656f6e65207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c654f6e650a20202020636c61737320436c61737354776f496e4d6f64756c654f6e650a7d0a7061636b61676520636f6d2e6d796170702e6d6f64756c6574776f207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c6554776f0a20202020636c61737320436c61737354776f496e4d6f64756c6554776f0a7d0a7061636b61676520636f6d2e6d796170702e6d6f64756c657468726565207b0a20202020636c61737320436c6173734f6e65496e4d6f64756c6554687265650a20202020636c61737320436c61737354776f496e4d6f64756c6554687265650a7d0a0a436c6173734f6e65496e4d6f64756c654f6e65202d2d3e20436c61737354776f496e4d6f64756c6554776f20236372696d736f6e0a436c6173734f6e65496e4d6f64756c6554776f202d2d3e20436c6173734f6e65496e4d6f64756c65546872656520236372696d736f6e0a436c61737354776f496e4d6f64756c655468726565202d2d3e20436c6173734f6e65496e4d6f64756c654f6e6520236372696d736f6e0a6e6f7465207269676874206f6e206c696e6b20236372696d736f6e3a20436f6d62696e6174696f6e206f6620616363657373657320666f726d73206379636c650a40656e64756d6c) ``` slices().matching("com.myapp.(*)..").should().beFreeOfCycles() diff --git a/docs/_posts/2024-04-11-release-v1.3.0.markdown b/docs/_posts/2024-04-11-release-v1.3.0.markdown new file mode 100644 index 0000000000..788aa00203 --- /dev/null +++ b/docs/_posts/2024-04-11-release-v1.3.0.markdown @@ -0,0 +1,8 @@ +--- +layout: splash +title: "New release of ArchUnit (v1.3.0)" +date: 2024-04-11 12:00:00 +categories: news release +--- + +A new release of ArchUnit (v1.3.0) is out. For details see [the release on GitHub](https://github.com/TNG/ArchUnit/releases/tag/v1.3.0 "ArchUnit v1.3.0 on GitHub"). diff --git a/docs/userguide/html/000_Index.html b/docs/userguide/html/000_Index.html index 9d98130b2e..0002281ee1 100644 --- a/docs/userguide/html/000_Index.html +++ b/docs/userguide/html/000_Index.html @@ -4,7 +4,7 @@ - + ArchUnit User Guide @@ -444,12 +444,13 @@ } + @@ -713,7 +714,7 @@

3.1
-
JavaClasses classes = new ClassFileImporter().importPackages("com.mycompany.myapp");
+
JavaClasses classes = new ClassFileImporter().importPackages("com.mycompany.myapp");
@@ -723,7 +724,7 @@

3.1

-
JavaClasses classes = new ClassFileImporter().importPath("/some/path");
+
JavaClasses classes = new ClassFileImporter().importPath("/some/path");
@@ -733,7 +734,7 @@

3.1

-
JavaClass clazz = classes.get(Object.class);
+
JavaClass clazz = classes.get(Object.class);
 System.out.print(clazz.getSimpleName()); // returns 'Object'
@@ -747,7 +748,7 @@

@@ -770,7 +771,7 @@

-
@Test
+
@Test
 public void Services_should_only_be_accessed_by_Controllers() {
     JavaClasses importedClasses = new ClassFileImporter().importPackages("com.mycompany.myapp");
 
@@ -796,7 +797,7 @@ 

-
@RunWith(ArchUnitRunner.class) // Remove this line for JUnit 5!!
+
@RunWith(ArchUnitRunner.class) // Remove this line for JUnit 5!!
 @AnalyzeClasses(packages = "com.mycompany.myapp")
 public class MyArchitectureTest {
 
@@ -823,7 +824,7 @@ 

-
@RunWith(ArchUnitRunner::class) // Remove this line for JUnit 5!!
+
@RunWith(ArchUnitRunner::class) // Remove this line for JUnit 5!!
 @AnalyzeClasses(packagesOf = [MyArchitectureTest::class])
 class MyArchitectureTest {
     @ArchTest
@@ -850,23 +851,23 @@ 

4. What to

4.1. Package Dependency Checks

-package deps no access +package deps no access
-
noClasses().that().resideInAPackage("..source..")
+
noClasses().that().resideInAPackage("..source..")
     .should().dependOnClassesThat().resideInAPackage("..foo..")
-package deps only access +package deps only access
-
classes().that().resideInAPackage("..foo..")
+
classes().that().resideInAPackage("..foo..")
     .should().onlyHaveDependentClassesThat().resideInAnyPackage("..source.one..", "..foo..")
@@ -875,12 +876,12 @@

4.2. Class Dependency Checks

-class naming deps +class naming deps
-
classes().that().haveNameMatching(".*Bar")
+
classes().that().haveNameMatching(".*Bar")
     .should().onlyHaveDependentClassesThat().haveSimpleName("Bar")
@@ -889,12 +890,12 @@

4.3. Class and Package Containment Checks

-class package contain +class package contain
-
classes().that().haveSimpleNameStartingWith("Foo")
+
classes().that().haveSimpleNameStartingWith("Foo")
     .should().resideInAPackage("com.foo")
@@ -903,23 +904,23 @@

4.4. Inheritance Checks

-inheritance naming check +inheritance naming check
-
classes().that().implement(Connection.class)
+
classes().that().implement(Connection.class)
     .should().haveSimpleNameEndingWith("Connection")
-inheritance access check +inheritance access check
-
classes().that().areAssignableTo(EntityManager.class)
+
classes().that().areAssignableTo(EntityManager.class)
     .should().onlyHaveDependentClassesThat().resideInAnyPackage("..persistence..")
@@ -928,12 +929,12 @@

4

4.5. Annotation Checks

-inheritance annotation check +inheritance annotation check
-
classes().that().areAssignableTo(EntityManager.class)
+
classes().that().areAssignableTo(EntityManager.class)
     .should().onlyHaveDependentClassesThat().areAnnotatedWith(Transactional.class)
@@ -942,12 +943,12 @@

4.5

4.6. Layer Checks

-layer check +layer check
-
layeredArchitecture()
+
layeredArchitecture()
     .consideringAllDependencies()
     .layer("Controller").definedBy("..controller..")
     .layer("Service").definedBy("..service..")
@@ -963,12 +964,12 @@ 

4.6. Layer Ch

4.7. Cycle Checks

-cycle check +cycle check
-
slices().matching("com.myapp.(*)..").should().beFreeOfCycles()
+
slices().matching("com.myapp.(*)..").should().beFreeOfCycles()
@@ -1003,7 +1004,7 @@

5.1. Core

-
JavaClasses classes = new ClassFileImporter().importPackages("com.mycompany.myapp");
+
JavaClasses classes = new ClassFileImporter().importPackages("com.mycompany.myapp");
@@ -1027,7 +1028,7 @@

5.2. Lang

-
ArchRule rule =
+
ArchRule rule =
     classes().that().resideInAPackage("..service..")
         .should().onlyBeAccessed().byAnyPackage("..controller..", "..service..");
@@ -1037,7 +1038,7 @@

5.2. Lang

-
JavaClasses importedClasses = new ClassFileImporter().importPackage("com.myapp");
+
JavaClasses importedClasses = new ClassFileImporter().importPackage("com.myapp");
 ArchRule rule = // define the rule
 rule.check(importedClasses);
@@ -1074,7 +1075,7 @@

6.1. Import

-
JavaClasses classes = new ClassFileImporter().importClasspath();
+
JavaClasses classes = new ClassFileImporter().importClasspath();
@@ -1083,7 +1084,7 @@

6.1. Import

-
JavaClasses classes = new ClassFileImporter().importPath("/some/path/to/classes");
+
JavaClasses classes = new ClassFileImporter().importPath("/some/path/to/classes");
@@ -1097,7 +1098,7 @@

6.1. Import

-
ImportOption ignoreTests = new ImportOption() {
+
ImportOption ignoreTests = new ImportOption() {
     @Override
     public boolean includes(Location location) {
         return !location.contains("/test/"); // ignore any URI to sources that contains '/test/'
@@ -1127,7 +1128,7 @@ 

6.1. Import

-
new ClassFileImporter()
+
new ClassFileImporter()
     .withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_JARS)
     .withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_TESTS)
     .importClasspath();
@@ -1171,7 +1172,7 @@

6.2. Domain

-domain overview +domain overview
@@ -1200,7 +1201,7 @@

6.2. Domain

-resolution example +resolution example
@@ -1215,7 +1216,7 @@

6.2. Domain

-resolution overview +resolution overview
@@ -1235,7 +1236,7 @@

6.2. Domain

-diamond example +diamond example
@@ -1259,7 +1260,7 @@

@@ -1329,7 +1330,7 @@

-
Set<JavaClass> services = new HashSet<>();
+
Set<JavaClass> services = new HashSet<>();
 for (JavaClass clazz : classes) {
     // choose those classes with FQN with infix '.service.'
     if (clazz.getName().contains(".service.")) {
@@ -1365,7 +1366,7 @@ 

-
ArchRule rule = ArchRuleDefinition.noClasses()
+
ArchRule rule = ArchRuleDefinition.noClasses()
     .that().resideInAPackage("..service..")
     .should().accessClassesThat().resideInAPackage("..controller..");
 
@@ -1380,7 +1381,7 @@ 

-
java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] -
+
java.lang.AssertionError: Architecture Violation [Priority: MEDIUM] -
 Rule 'no classes that reside in a package '..service..'
 should access classes that reside in a package '..controller..'' was violated (1 times):
 Method <some.pkg.service.SomeService.callController()>
@@ -1395,7 +1396,7 @@ 

-
noClasses()
+
noClasses()
     .that().resideInAPackage("..service..")
     .or().resideInAPackage("..persistence..")
     .should().accessClassesThat().resideInAPackage("..controller..")
@@ -1415,7 +1416,7 @@ 

-
ArchRule rule = ArchRuleDefinition.methods()
+
ArchRule rule = ArchRuleDefinition.methods()
     .that().arePublic()
     .and().areDeclaredInClassesThat().resideInAPackage("..controller..")
     .should().beAnnotatedWith(Secured.class);
@@ -1446,7 +1447,7 @@ 

-
DescribedPredicate<JavaClass> resideInAPackageService = // define the predicate
+
DescribedPredicate<JavaClass> resideInAPackageService = // define the predicate
 ArchCondition<JavaClass> accessClassesThatResideInAPackageController = // define the condition
 
 noClasses().that(resideInAPackageService)
@@ -1460,7 +1461,7 @@ 

@@ -1515,7 +1516,7 @@

@@ -1541,7 +1542,7 @@

-
// Does not compile, because type(..) targets a subtype of HasName
+
// Does not compile, because type(..) targets a subtype of HasName
 HasName.Predicates.name("").and(JavaClass.Predicates.type(Serializable.class))
 
 // Does compile, because name(..) targets a supertype of JavaClass
@@ -1563,7 +1564,7 @@ 

@@ -1603,7 +1604,7 @@

@@ -1697,7 +1698,7 @@

archunit_ignore_patterns.txt
-
# There are many known violations where LegacyService is involved; we'll ignore them all
+
# There are many known violations where LegacyService is involved; we'll ignore them all
 .*some\.pkg\.LegacyService.*

@@ -1719,7 +1720,7 @@

8.1. Archit

-
com.tngtech.archunit.library.Architectures
+
com.tngtech.archunit.library.Architectures
@@ -1742,7 +1743,7 @@

8

-
onionArchitecture()
+
onionArchitecture()
         .domainModels("com.myapp.domain.model..")
         .domainServices("com.myapp.domain.service..")
         .applicationServices("com.myapp.application..")
@@ -1785,7 +1786,7 @@ 

8

-onion architecture check +onion architecture check
@@ -1798,7 +1799,7 @@

8.2. Slices

-
com.tngtech.archunit.library.dependencies.SlicesRuleDefinition
+
com.tngtech.archunit.library.dependencies.SlicesRuleDefinition
@@ -1807,7 +1808,7 @@

8.2. Slices

-
// sort classes by the first package after 'myapp'
+
// sort classes by the first package after 'myapp'
 // then check those slices for cyclic dependencies
 SlicesRuleDefinition.slices().matching("..myapp.(*)..").should().beFreeOfCycles()
 
@@ -1827,7 +1828,7 @@ 

8.2. Slices

-
SliceAssignment legacyPackageStructure = new SliceAssignment() {
+
SliceAssignment legacyPackageStructure = new SliceAssignment() {
     // this will specify which classes belong together in the same slice
     @Override
     public SliceIdentifier getIdentifierOf(JavaClass javaClass) {
@@ -1885,7 +1886,7 @@ 

-
com.tngtech.archunit.library.cycle_detection.CycleDetector
+
com.tngtech.archunit.library.cycle_detection.CycleDetector

-
ModuleRuleDefinition.modules().definedByPackages("..example.(*)..").should().beFreeOfCycles();
+
ModuleRuleDefinition.modules().definedByPackages("..example.(*)..").should().beFreeOfCycles();
@@ -1948,7 +1949,7 @@

<
com/myapp/example/module_one/package-info.java
-
modules()
+
modules()
   .definedByAnnotation(AppModule.class)
   .should().respectTheirAllowedDependenciesDeclaredIn("allowedDependencies",
       consideringOnlyDependenciesInAnyPackage("..example.."))
@@ -1991,7 +1992,7 @@ 

-
com.tngtech.archunit.library
+
com.tngtech.archunit.library
-
// considers all dependencies possible (including java.lang, java.util, ...)
+
// considers all dependencies possible (including java.lang, java.util, ...)
 classes().should(adhereToPlantUmlDiagram(
         mydiagram, consideringAllDependencies())
 
@@ -2140,7 +2141,7 @@ 

8.5.1

-
// there are further ignore flavors available
+
// there are further ignore flavors available
 classes().should(adhereToPlantUmlDiagram(mydiagram).ignoreDependencies(predicate))
@@ -2202,7 +2203,7 @@

8.6.1. Usage

-
ArchRule rule = FreezingArchRule.freeze(classes().should()./*complete ArchRule*/);
+
ArchRule rule = FreezingArchRule.freeze(classes().should()./*complete ArchRule*/);
@@ -2282,7 +2283,7 @@
Violati
-
FreezingArchRule.freeze(rule).persistIn(customViolationStore);
+
FreezingArchRule.freeze(rule).persistIn(customViolationStore);
@@ -2397,7 +2398,7 @@

Example

-lakos example +lakos example
@@ -2413,7 +2414,7 @@
H
-
import com.tngtech.archunit.library.metrics.ArchitectureMetrics;
+
import com.tngtech.archunit.library.metrics.ArchitectureMetrics;
 // ...
 
 JavaClasses classes = // ...
@@ -2482,7 +2483,7 @@ 
Example
-martin example +martin example
@@ -2493,7 +2494,7 @@
<
-
@Test
+
@Test
 public void rule1() {
     JavaClasses importedClasses = new ClassFileImporter().importClasspath();
 
@@ -2624,7 +2625,7 @@ 

9.1.1. Writ

-
@RunWith(ArchUnitRunner.class) // Remove this line for JUnit 5!!
+
@RunWith(ArchUnitRunner.class) // Remove this line for JUnit 5!!
 @AnalyzeClasses(packages = "com.myapp")
 public class ArchitectureTest {
 
@@ -2662,7 +2663,7 @@ 

-
@AnalyzeClasses(packages = {"com.myapp.subone", "com.myapp.subtwo"})
+
@AnalyzeClasses(packages = {"com.myapp.subone", "com.myapp.subtwo"})

@@ -2679,7 +2680,7 @@

@@ -2722,7 +2723,7 @@

-
@AnalyzeClasses(packages = "com.myapp.special", cacheMode = CacheMode.PER_CLASS)
+
@AnalyzeClasses(packages = "com.myapp.special", cacheMode = CacheMode.PER_CLASS)
-
public class ArchitectureTest {
+
public class ArchitectureTest {
 
     // will run
     @ArchTest
@@ -2765,7 +2766,7 @@ 

9.1.5. Gr

-
public class ServiceRules {
+
public class ServiceRules {
     @ArchTest
     public static final ArchRule ruleOne = ...
 
@@ -2799,7 +2800,29 @@ 

9.1.5. Gr

-

9.1.6. Generating Display Names

+

9.1.6. Executing Single Rules

+
+

It is possible to filter specific rules (e.g. @ArchTest fields) via archunit.properties (compare Advanced Configuration).

+
+
+
archunit.properties
+
+
# Specify the field or method name here. Multiple names can be joined by ','
+junit.testFilter=my_custom_rule_field
+
+
+
+

As always with archunit.properties, this can also be passed dynamically using a system property, +E.g. passing

+
+
+
+
-Darchunit.junit.testFilter=my_custom_rule_field
+
+
+
+
+

9.1.7. Generating Display Names

ArchUnit offers the possibility to generate more readable names in the test report by replacing underscores in the original rule names by spaces. For example, if a method or field is named

@@ -2908,7 +2931,7 @@

-
com.tngtech.archunit.core.importer.resolvers.ClassResolver
+
com.tngtech.archunit.core.importer.resolvers.ClassResolver

@@ -3018,7 +3041,7 @@

-
javaClass.getSource().get().getMd5sum()
+
javaClass.getSource().get().getMd5sum()

@@ -3031,7 +3054,7 @@

-
classes().that().resideInAPackage("com.myapp.old").should()...
+
classes().that().resideInAPackage("com.myapp.old").should()...

@@ -3080,7 +3103,7 @@

-
com.tngtech.archunit.lang.FailureDisplayFormat
+
com.tngtech.archunit.lang.FailureDisplayFormat
@@ -3097,7 +3120,7 @@

- - - + + \ No newline at end of file diff --git a/docs/userguide/html/class-naming-deps.png b/docs/userguide/html/class-naming-deps.png deleted file mode 100644 index dcb3c74b4757d4ca90f4e3f5dd64218536163e4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6463 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 diff --git a/docs/userguide/html/class-naming-deps.svg b/docs/userguide/html/class-naming-deps.svg new file mode 100644 index 0000000000..c5c7c6f9af --- /dev/null +++ b/docs/userguide/html/class-naming-deps.svg @@ -0,0 +1 @@ +OtherFooBarBarforbiddenallowed \ No newline at end of file diff --git a/docs/userguide/html/class-package-contain.png b/docs/userguide/html/class-package-contain.png deleted file mode 100644 index ee3cc8b7ac3b6024e7a00dd3c79fc562eaf40a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8541 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.foocom.wrongFooServiceFooControllerresides in wrong package \ No newline at end of file diff --git a/docs/userguide/html/cycle-check.png b/docs/userguide/html/cycle-check.png deleted file mode 100644 index 5bfb665b1656017d8b638bef309c1726c67a12d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26281 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 MDXJjAM-C8y#N3J diff --git a/docs/userguide/html/cycle-check.svg b/docs/userguide/html/cycle-check.svg new file mode 100644 index 0000000000..a7b706f108 --- /dev/null +++ b/docs/userguide/html/cycle-check.svg @@ -0,0 +1 @@ +com.myapp.moduleonecom.myapp.moduletwocom.myapp.modulethreeClassOneInModuleOneClassTwoInModuleOneClassOneInModuleTwoClassTwoInModuleTwoClassOneInModuleThreeClassTwoInModuleThreeCombination of accesses forms cycle \ No newline at end of file diff --git a/docs/userguide/html/diamond-example.png b/docs/userguide/html/diamond-example.png deleted file mode 100644 index 9b245ba81a33a22d1b2d99df0ba21b57d727c8ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14319 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

u8-x$w)~<7$9wv$x>u7B; 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 T{com.myapp.domainmodelservicecom.myapp.applicationcom.myapp.adapterclipersistencerestDomainModelDomainServiceDomainRepositoryApplicationConfigurationCliNoSqlRepositoryRestControllerthe domain modelmust be independentthe domain must not knowabout any driving adaptersthe domain must not know aboutspecific technical infrastructureapplication services must notknow about any adaptersone adapter must not knowabout any other adapter \ No newline at end of file diff --git a/docs/userguide/html/package-deps-no-access.png b/docs/userguide/html/package-deps-no-access.png deleted file mode 100644 index 5b8455ee2aa322e17c1a9649b57cbefb5bdaef05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4321 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 diff --git a/docs/userguide/html/package-deps-no-access.svg b/docs/userguide/html/package-deps-no-access.svg new file mode 100644 index 0000000000..7d83da96be --- /dev/null +++ b/docs/userguide/html/package-deps-no-access.svg @@ -0,0 +1 @@ +sourcetargetfooallowedforbidden \ No newline at end of file diff --git a/docs/userguide/html/package-deps-only-access.png b/docs/userguide/html/package-deps-only-access.png deleted file mode 100644 index 44ce2f1e024f2fe5c73a038461ea5d0ec66cf282..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13085 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

b95{IFi0VPq`Jh{R*W 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 b=lJt}`dtO#h!OCQDtItCRoQ%Lsource.onesource.twofoosource.anyallowedallowedforbiddenforbidden \ No newline at end of file diff --git a/docs/userguide/html/resolution-example.png b/docs/userguide/html/resolution-example.png deleted file mode 100644 index 69346515252718216e3692c568887fbe3397a098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10221 zcmbVybzIcz)-N5>jY^kD4Irg-!=_U}VgN}&q(P9*0YpMU8bm@mh8#MiTRLP!K)O5b zMsjf(H=iVI@6chqwB{^*r6x2lUcRdao z_%{G)S_J-k=q7LAX6f|G+ri4(4MoxFrIm}ho7Hm$3vUKnH@8<$AdpuM<}cmc9UXWq zog7JcAJc$Y4D56b-2U-73M!b!D=j@v#i^Z_IAr(30loePCLu#SQ%DY70LmA399=q3 zODCPA&bL=ep|dxqDJWk$e~d*Di9X7-fs0!f*6<9YS$N1$>W&3<06!7+_N za~Vf5Lq(-#AJlrlp>vN;JLb|}X@=)ppRymR#8PNiz?E?pzx{we-`7_zUYF6?d@^~8 z`h^(SMuXjGk4%fq6tUK~ztS93Rk~r?d$7_M9&Tgv`yiRhdLHaF&5wJ2az1Q~n%sEH z%^;qLctULWTzB@^;SQ@kb7DyOU3gBx-I^Di;k3%t+hIeGEopnM}q0pd;xJMWK@1sCS+|RaK};QZ|2q8V65h zqM5+K`gw%Ygw^DOWTapCG!?aQ!}C9^Hf%R$*p-nGyJHEg13Xm8p{YWP3O5uKw)@I* z(z;%z+v&Kv`rj^Y)jDv)u^fN7WGU%H8omqBR3dk!%;!|LpCoE5^oL8kD)pC_n$-8Y z<38j_w0Kw`!jKpJur7@_MpcWy1VLEH9?WoXlR4ee=s(vqJcB@rrX3#mPBt#Wy))jN zygG4hw%I+T8?u8+5o3%p5_q8pF+|Ww?aL6$C1rUr;^e4kBESPyc2k_7by9K&hO}E` zrPo4}k1!`EC)p^=-Me??<>jxEKN8?$bv6`WA}YPCY;2N}k`DFd9+8uir-?WR)uv#B zha2oz;9=nGKAW6n?&r_@Y=;4D0k)`o-?b1&u&(YN3kt>v3_ikteYeSEN^#0jk@R@--PgOT1q2p_C18b?e>+=MZe!4gYKUko)GN~YtGQ{G1^-`cbVX5he~lpQil^U zntJxBuxa>re9qr&*Q1w>{_>`EbLZ#H@|Cxqo}MpB#4k-6X4fnO5-fBJ^G*=~eFTF+ zup;4>uz;=Qj;BSm3w_VH|8&3zZkc&c3Xya4K**m%y}{5w5YRxBd_$Z`ZtuCSb=@ne zq3_FOJO*_E+}M1KNP`qyd@MP<2vny;FGnTy0L=CK*7pFi@N@y<8-c>WsuOpH62D!e;g@ne1T6A_JwRFi&o z;KQ)6&;>@~y|-`QKC&J-I~ma_~tloNUeaaf{typ0Uu`8TL`{;Na)a(uj+T3-t`K`mC(1oE#*wE2_7*_vYrN z^F=%=nX{{FR7{M!r{@~&YlYt@Z-(OF;oTR0Iji`=67z@5k?>(Au;iSLX|Gi zA#h}HJYS>bc=8zoQkC*i&SsBrpx5eCuP-#7 zmYOuKcrZX9!{DX)=-qsaV&Kb@tr@bR@P!8VxjN@hd>#?#BJbPIU3=qMPj?oWJ>aw7 zwyIO#O;=cA*JY&+iyaPx;F6V^wWu4nJ~exDyj3+kJ2T_HJuAq_m_1n`K(>k(W<8j) zfbdSZ>1Bf9G>$_xjZI9av*Cc1HIjH;{&26pLuw)j$XXsi+xv!+RsJ=#~@iayPN$o zaRU|S#Awl+bC2KHrL{&or!pYePCaAU>U-Ugxvp79EGH&)gj{y!?YEDm2 zS5wiiLg!Tpr$vn{C@27y(-z&*G^pO0udk}BJ6q{ZATD$fEw;_l+cPmTx?}kW+8PiM zfrHd8G8r7|X5~s58yf>-4=;CH!o$Me(o1I4W!)uCd8 zj7>BqX;?Q@NvYJj$l$}q%>2o9ZOG?zhn1(7x=lYYFtFw3g7aL*F;NW!fg*GjGeyLG zL-)yHyl^tx1|`eAXkTTm!otF8$a8}i1YQzyI1bG_L*kQp{)6(_CYGY4W%pf$qxky# zkdK5atMrN8*GaDvWbqAAJXq6sl^d-3KP2&(ydHs6J=NE5K0`*8ON0tc%oXZ9C?}>$ zBd&3nIgol;NQ<`96UTg{QBbOq#KTge-Ev_*PG(f9z6+duarCQ$fO8v98s954n_n!s%rgINYOG_CE8^wg94^xz zDvz`gJjQjzq@-x$>e?!w6k;OY0K*gSEH5wb@9+Cx?PD)!4mJZ%dmpZjN-ihD-&}gc zhslQ{-E{;-6PF6Y!U*oSkNwax>gxV^eR*1#?k;}5lCTwj$HS<^(vEF_3Lm970J_#X zfi?7vmqgTUow&j^-HQ9&_Y-`s9VKvzcWjFM(vFFC+<7pm8s?FJpr9Z|*)YV-#bzhd zKOF>0{Ov-97(IiC1TD2Je5`l!?0vf@cKmcgNnC$-Kmf}6ty9Z2mWoBPL)AjS;aa6t zzd|e>0W;OzyANxL?h8d%C&-l5wGC<0a0rU_@QC8mz~DtQcAnFI&XhbnjDuE`e}$9? zGzL8ZGk*06o+6}ie4R3AtcnW~P~&n}8EV0bCF32QvN{iB!X1k%2`R z@iYP&ANHQ4IJRIDB#kZgACpw&NCvxJYG)q}5a#y-v9e83-kLV-Jj!dcz=dN)S~Htz zCmMc;sahSN^oJTDUgJhiS)U9pnn`%d4%OPXyoDGwBwq*Os#`#sj>Zxn>OgPsqh1*t zu|0S&{{7S7@!lQ^oQIoR{PmG-ES-1(?aA)WLZdl8L%Dv55hx(66|%TwY^n@**|W2= zS89@?qoWCFpS0@pcIT_72kBt+W?3(__)DgxAdyJuXY{tX_;^xkY9(VBTxF}flNE!B z>r-V_mC7G~fWi#_tHzw2o%tRP3a<@kwt%ZVQ)Odr_sAJ3hYS*kCZ|~&xjs5_d+^|a zN51n@kJGIgS>t#<v{eWt{1aa9*1`4(Xsmb1u75>P^r!01A62o2*#K zk@97h=Z1A+qJHy-eVk?GwI?W6R#s6|ke$UQp9D6wS@?^5uY`^LA791A#X&m5e-i6bwFX-G+BG95~6JzZVVMSG=YYMtm!>RDK?;jln!DYy6~s}+xF?((wb zG<>pQz_`{7tf8xzl)o124d5Sk#Awmq#fN|5}F_4_M;fw;LxvLqDTTwzG|aR;_Y zDQyPKu(8om68%rrsaVYSxN6ei?0>nQocR8Im6w+R&B?3!ksBNKx2+OLwQtJ)+ytw2 zM=o$DyQN&a1S;dk!Dr_rN#<%YT-8MM8%OIaD=Pu>Rg}(LgCUba(qhRZLDVcYA)tmk zxBl$!8E`vwp}I|1yP0tpgM02S&faQ^1wc$-khk$(|(rI@N_xZCHZsWRloY;IBb#)>(HfyVcsU5!r`1#{6 zn~Z6gA2I4bUw}&OTf|{Uax->kyU;|OfBEu7<^h6I>`Kp)Zn;`?w+u>vhu5Jf^6_8s zmOcVskg*ZE9F)<7ka&Bp8?ALPv;QMQ5VxXSDqx%otH@C6pP`&D&OXy~D=Sb%hb6Oy zw_+D#7HghJSXv$wCOY{~AE@TUVs#40FT)cJ&+G@G?^fgL+ybe?`>sh28I3wDEOYfoOPgZmkz;}wx(m=-h~rw_=Swnv3vwN1&m zU9dk?R2Jsv*)%eI0YZYo?wtAkh!GYO69d3j3F{Fphc$;jo>-z%A>)kx-(Oc82)88w zN3xKo2c_wITkvCMgAZJWGGheEQ_n@7JOQvN!`d=7XJzI2K{s{}`rKlpXRQ12)=ZV% zcpkWK!8tu)Tmlc42R=RmrSA1cVZKrAOL3PKrGpemkb!QAN0&YYCFNUczMOwUbjn(- z4epz*IERw};8pIX5;rRFTDMeqPxMVa{C%$f+St(0kmS`Ky3N4Q5HJR#oro?C4GsTC zVZ-f(#-s)%WNRRL*2_JDLlKc1YE-0&-UloNq_rhDw z2z4Y4hSgJrVwz1=OV|Y)bM-PZGWwGsEzUo>x94iJtBz4m172YA-UsJlR$;VId(WcU$QpNm(2FtYXsO z#%Pz^;xJPg+Q6C#2{ zqoGO3`CV?;f=cl|DXA*F!a@sJr6}O)>I%TK7&`Hb-UpeWC?(FZ%1a9gI&1yAp~?uA zJU(=O#*4OVVIkUtMMPvhZ3f8u+pxrCbi+#W^XO>l3MNaQY1e*AgC0#P<+Jm1c}2x> zF|I7R$jC^lUu{?~7dKh2$-{MUwP$4uamFd79BQCOG~SxqeHQzjsx#V%&)FK0yGX3_^iM8edmbq zz^u`O;0fIR8wUgesRxe9{l-&JB>(nbgKW5Z-AYp84^h@R?WrjM=c;IE!ii(OXh=+#h%yHV z*h&^i2312Ymo_EPRZp`JeY#_ojRY!au2DQ10Qm~VcpNz5yN16r9aL*(FPvC2>bO!M%KvW#LfpD1k{^kj6TY%R?*`(XeAMhe)XXgp4f_ms}ZOe5G zydYadVYT&d4e33RIv@RVD3xh|A+E1Z|76KCQO}*UxH#!Dg(#}67{pJx;L~61HRG+* ztnPQm-xz!*yvrYwiwmfvwLf)SmXHG5*MFI5TtgCGRTblAFqCbOm2EvmgKdU4W-V=z( zWz0_UCz2t?WA0{zC7D)CQyUgDVZ<@~x9@s;dcLczq6VXmqFJ+4)}{HK=)dok-Yds zxz~rpOcV3wC)0W$C5@_~-r zWtNvXDTC?J@m&mgdD&_yclTp}Ot1)Prt>v2foL_3?ScNII|dLAivy-7C|#Rz0m_uB zaFI_1wh`{A>1c4YLA0M}*Ju=$O`s;by1SPY7e9}QIFa6e%>u3G^Vl*NDgZ1*RHUNjVts|mXBDBHW_Ws0A_e7Q48>(vqBQRlHe3yO4lT3Vh) zrh4Z4JOy9hD?rk`ICHQy5vm%7hIfl~I&ZC|xLW;h4(XGX3Fsw^_uVy_P*G6^ONef;>b99sC`R_~J_NX4rg8(+@+&low^*9zA)bx%*vlfm7HE_N=i zkY1+}$<)>$k`FNmicws4Q)?C=Ks_xp_2Qf6XnnamSGya}s^az4KM=pXwNoYG0<)_h zA*ZN#d3nj%Y(~l_EbO#M^TcgE`tGCYORb0CN}LB_;(<-mYa#}QY%ZaD`1 zO|~Z(jL|dM8A-O}cj-vXzZjkz2;#A|{heMxax!&tC_sQ9wF1KaLu#Ft9MX^4-#z+C zvE}yW5`oSqNX28kcXUKfPacT^t9}NO)eY^ z3FLfQdbG13%ER;4lOa|CWV;r>>zngo{{zBKO6mPdLMn(UfC%|~xBlVO%64|Y02l@z z4Tuuo2ad2Or=)DCuiu`j3io6nB0A?=X*yl}K^w6hgtSsqPk$osBqy_>3V5%9!SvGY zjVIzV+cXeqWkpCYv9-133xMHbAT>6QzL(cou5!X2*7pl6Skf^g(d`AuecssG_rHDn z1_Jt?@JnNPdCXl|2Vf_)ck%JaogKfMEAPcXCBt%P8=!&p{tXHnAb5<-4_60GO-&Uf z5Y(tlOiV$+!BJ6BU?xea{V`%tQ%{eNn_Pb0*_FazVrE81N8eXCzrcqj)fiM*VA3RP zbvz>m_NLbKMrbu>1S3B`h6)~S6qO-6@V-UF#(oWd!Hh)?apbodqVe_0W&(~a$hv^C9=|t*DEE z6F!;{0XC#;WOT2X9`DW_ukeg| z=N}4CDD?SrmR%`gR!ziF-%z@!o4?4SbRFei}twl_C@fR4SGP2a;wwe;rHcgHY6t%2^pBRikyO?zOiw479Qnk5G?L6KuG_yFUVZz@U|>(bCqvg$n3Vs5u{(>JGy*QQuPq;~tCW_HDgvhsnQ)!Yv6jpcH2=2_ zS!<0Zn$C%tlhN_ex3IKaSXclHf=kE6CZXhjE2O~tmKa(l0Sv;q0JRif{_sI2+*$&AhR z)>ebZcFMbVt@@yYytcMxQxI1U(wAmqcHS6(aP6w)&uU+SGAhtrI;{jZEt&yT4{QYe zlZ6@Z4<`LMPH4FyIh^^cVgzC^kFvQ8Sia>|K6&P zy{U5`HT92Hm;+|i&va2wN-C;MF>g`uMuNuExY*NDWABS!`O5e78?yu_Fv$cO^sKCY zMnRgDOhfUmwtEHYS9==+XUhb!uya7F56P@0yuliXBt{r^ScZ6aoe+>?OXgMFCOLnF5r)hbL!*^9=(T zj0q?^0%KWYFMuS+9!Y%v_lop!zhf`!Mj9yydEIt%YzQ|l4|mMQ$a9dDlMCUa+S=aU z240mNGc+{Z3Y2@u!C}A9An5dFgy$uWBE;nM{7+3ua{bn9JZCS6f8tRdRH3iCSXeN*YXMzOp^~~vm_>fMQcH1(4}A)+QCB1(oN ze)vEq{<>N*mTrPj@eDM1q%oyt|8DZsRw*)=2#xjM{??ez)&J6%q@A_3wb9UTPuDOl zJMktq>en**hlY3_J`8kHBBQGIZ4bdEao`SPBXUT=2{%eYX!3enLm@zfc6N4d zvOLn}+<=4vvZm<*dbvO?z$Oryn7@y@ecnP~KMmSDP0O4QA4blXp)?FMTWAlKPW~hJ z0GVl}hG-pckt5scEJBX`&*IQwzSsMdB!{=@vWq6kwDg2~J5|8(Am~M{H>V_$zg54y z#4Eh11T@ppVFS+`(ExD%U2UlfL0~LOEFy1(`Xt}c*91Av+#CTBPO5)s$%YPsF~Q<&t04l9GCL)UvtpU$qX$D*RYiPx$zs4w$s6hgtE zbW(skA|E{gx+dl2Qn5sxU;e{yu5e*g fK@1Hmx9D@OnC)U(v1#CkcPPs8>T;zr(4hYXClassAccessingvoid accessField()ClassBeingAccessedSuperclassBeingAccessedObject accessedField \ No newline at end of file diff --git a/docs/userguide/html/resolution-overview.png b/docs/userguide/html/resolution-overview.png deleted file mode 100644 index 912f69f193a493a731af323f7ea65958a72bb77c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16404 zcmc(mby(F+xAy^2KtQ@hT2PP<>F!2E8mUc#(jcLLG)TiHB_tG(k`6(T?(UH8l!kXU z;QidsiR*pN^`3Lyzqr_Y|K>NdW@gP=pY@#pB?U?JyTo_l;NZ}urNmU=;1I;%;NZEC z5x^&n6Rnrv&m((rb$dgbS1y*u5PLXDV{2nueS2dgaswA~Q+xYYJWNclEcLDJ9jq)F z4Q;Hjn7QwR7NX5m)$RX$4hIjKaZXHnCU4Oogj>yYME2mf!R@9D%7{qfXoF~(^KzTW z;qvm)=<@=p70)e+1Y#UTewvPs1eZOjJ7Y@5mTeYdThOOU;?MkzT*DCFYd~=%U*+mi zIo;lVP6bDmW1yNkuTn3XwrzjMtVA)Ygz|z$z^UV9h+Ay#)4`KE&e&NZ{=P?|4=~b^ zzje(blw>{@e%4Fy?sj}quxOi0sBZY`(R+HzRNOH-5~7^IhcxA@s+dM0GCChO2UADQ zlTxBZFu#XZ);_0#h^V(ia8zFtVD+ zr%5e$!&2ek1a3=<39CBmZX}_;!V|A-PWOMC&Crcbb2LMgChhD;?Mp+5$Pk-#_?Thh zO^qwTw*fru+rq(K1!WVc3u!dS3^Y|fvDIE-#yV2Sm5rJU6r&S^MKRBn4|lig+4w{j zJ&a0L?7QtDU5UvZiN}|#13BFM{FD6W=L()|w6xL@um$0hNL>j2z#)@JLBJmoj0hq) zxVJstMt9)g$oI*i;5W$p*Iy|zw64$8dw=@$iC38X5j{Qco8P&F#WTX*8L5HkNa%<) z=_~F}?mP;6c^-hkl53bBsUa>dZfyKX{Vsy&^XG&4I#rE**T4SsarWck!NvJ$Q{UTn z2eg!p1)&uRkSMk$N=#-EtaK$bR`d0dLQ#ghggp;=%0oCJG!U=@3EvxpDN`K@qg)^h zSHB{$pe{zF#$~zNM4m3O?Tvkg<>frfIrLfq!ok7e$>4t4t0xeX6x;u+^g(ND>%QE$ zs>njg3qCkgA=31>A0NzDpe}LN=hDX@sk$aaz@^17@>IbEFH6YKNgp%WJ3 z7s(Y2@ZlL^-I0T6O*1|SOBm#;n)ZH1+o^S$Fukc>d-0?5rsddGf4_Im>Hf;E3P_9` zI-Bss=}#x8rWGZH}5H<6WkYXqWQ54HUb}q8x^OrAVo~r~a?tLb; zzY$Q34nNkY`kAY^7ouPaG8p2rGa$JXtqz=jI5&yE74G_b2o)R^>( z_6&`(35%OfSo8tthnRTixA>>j#jT2p6oOL|WzuTRyTag6Qks%mbMIkKqZL&yQcgxz z;F&GA%yxIV#n>P@QyeX}P&J-JX15fo{o;Ub&^?jfiYzoJbC%y9s5Uc$5)JEmT17(S zt3Ek-E=EJobU!Of_7=K5s|}A*z0{yzrE|QEScc7x+(7;UH&1RY@`1OM`^n)Gdiq}p zcUgBLnhkl^U!^9^Bt*ikVT2Xp_T`1-Ph-0wfoZMqwq5AXk-RuvrbbD+Z(FSpLfP{&~tEnGwaXX7%!_^%de7=m1TPI z&5M*VnD%JV$Ml@V;I6!7qx-xraqw)ehLc;JwUs@;L9O@h?(RjINnlWWA9p5y=T{4X zUxQ0(=f;x*u_o*_nK?=!59}GfegC#$cE`B7B=f1-NOX93q5VoKm|Q@n)mg)W5{bEOEEdN?Aqvt)DPj? z(|bmX5;%|6$zdFS)aY5zKc);&^ zv^_hNrhr7l7OaY*o_IJt1sr)7f9pIRhgJ4Bzt>R-7+V}-o@hzDA>p!~ z_+~L2P5)xI>i5QYY-FV2KqmX_)|hg;`^kQ)MdapW6#+gz&!e*Yt+Xj_tmXsRrB>s* zZ#KSZXlQ7aS}MnqY|@xw9tmH#?NT#Q%0D_X78ZuLc(RGF+~bEq)^(4<7oDWkeDJfY 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 zWbe_i`ozZYWjTm_7kl-;o*DhWbS6w@WJJavaFieldAccessFieldAccessTargetJavaFieldJavaMethodCallMethodCallTargetJavaMethodJavaConstructorCallConstructorCallTargetJavaConstructorhas11resolves to10..1has11resolves to10..*has11resolves to10..1 \ No newline at end of file diff --git a/docs/userguide/html/simple-plantuml-archrule-example.png b/docs/userguide/html/simple-plantuml-archrule-example.png deleted file mode 100644 index f44c687da0e1078df2ede84ef71fff8b51071630..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 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«..some.source..»Some Source«..some.target..»Some Target \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 293f75b55a..4c0310fa8d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ org.gradle.parallel=true archunit.group=com.tngtech.archunit -archunit.version=1.3.0-SNAPSHOT +archunit.version=1.3.0 org.gradle.jvmargs=--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED

FFZtae;>i>t5%NahV@!4mlA^I~&c*DIG0L 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 i;6+YM{Kwa>PRQ0}x~CL>m«interface»Avoid targetMethod()«interface»Bvoid targetMethod()«abstract»CDvoid callTargetMethod()implementsimplementscalls targetMethod() \ No newline at end of file diff --git a/docs/userguide/html/domain-overview.png b/docs/userguide/html/domain-overview.png deleted file mode 100644 index e37b985d8481c8323f85b25cf0f03c4bafb349d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39475 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 T)4leGc(d9OE#;?*X4n1?XW~uk diff --git a/docs/userguide/html/domain-overview.svg b/docs/userguide/html/domain-overview.svg new file mode 100644 index 0000000000..ba367a1c99 --- /dev/null +++ b/docs/userguide/html/domain-overview.svg @@ -0,0 +1 @@ +JavaType JavaParameterizedType JavaGenericArrayType JavaWildcardType JavaTypeVariable «Collection<JavaClass>»JavaClasses JavaPackage JavaClass JavaMember JavaField JavaCodeUnit JavaParameter JavaMethod JavaConstructor JavaStaticInitializer JavaAnnotation<OWNER>«List<ThrowsDeclaration<LOCATION>»ThrowsClause<LOCATION>ThrowsDeclaration ReferencedClassObject InstanceofCheck TryCatchBlock JavaAccess<TARGET extendsAccessTarget>JavaFieldAccess JavaCodeUnitAccess<T extendsCodeUnitAccessTarget>JavaCodeUnitReference<T extendsCodeUnitReferenceTarget>JavaMethodReference JavaConstructorReference JavaCall<T extendsCodeUnitCallTarget>JavaMethodCall JavaConstructorCall containshas1..*has0..*has0..*has0..*has0..*has0..*has0..*has0..*has0..*has1has0..*has0..*has0..*T =FieldAccessTargetT =MethodCallTargetT=ConstructorCallTargetT=MethodReferenceTargetT=ConstructorReferenceTarget \ No newline at end of file diff --git a/docs/userguide/html/dowalil-example.png b/docs/userguide/html/dowalil-example.png deleted file mode 100644 index b9838013ab36f12fe079fd48d529d95034d2a0a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18505 zcmeIaby$_%wl=;H6_ixz5ELnCX^`#~P^3dT7a-jVf^yNw&yuy~Gh>W<-eb%$=6HPH$cmvoBzOn{fzTwxg%v=cJLMn{ zf++GG;2W&nIQR#(jfk?1F4)r1Oy9r;B&KhnZ>?jauSfd9k<`e>#*&MH!O~2}!p7Fz zj9wRP{)my22s)=ZC%uoz8L6)!T z0X`YTJ>EOClNSEMS9=yHqT~cM+Y7GW8`5wDOKg-&vC0=?J20~yGLXAoM+XWQ z=U>vGfzc7G6}W_F-zgY#1hQB>3_QGQ=*CNiSB&EEB?U?Yd4FCApI+jfu};Q ztL2RRvP9cwvJoe33alpu zy`Cu)zN9Zd4@HkaL3x@(oc;EO4yMvdF){kHUdsek*zRpG(!SF-ROWQ|u${S99W|rg z>4dI)TQ+bjj>%{yQt|B4`24=;C$-_M;`=V5GKF)8<9X%__L&X#f#iLuzDPit5>tsd`{}%9d(5DW2 zsM!AU0e{k~6zr8Rla_4Pj~#luBRZp!%?Y9dRWP(1UIyCUeTjv2&eoJ{-7FfPI?@<~ zA)apvNgE_2nLv6jc&V0HxkC*CiPA|33%qsE+(|%k!P39z7!HRemVZ0KeGh?W_9omlO6Q=j zuIKx9-Cm!8`+R?}i^1G!f}yu-(mZ#6q#l_%fCUhU>-pJz_@@^;6*~O$4H^~_{4@K$ zA0qtot&lpA%YHlV^e2+-xrWQ-uJEhYhx{C$^o1WPOY^_M#6psaq7MuT3Ibh+CMNQ_ zUtcYC1Rn-7fOJ5Sk9@V65H=V5JzIS+!ZSL8N&2ITnjR9eTM#iDpz?(2>+8>uq4EbJ z^?VgBj`m1y!bPgH+esC)-5M)U=Pqv6u%8vdSY7RnJ4XkZuqcbBd$!-D@@7EKev^Tf zo&;}E1i6k)NZ_%U;b=tkAV7W0=VW;Eq%#`EC(>Z4w zO)hQ?&#|*1DTcvlq^A!2rU=PUU3F21>G;JXCIo)>=g0mJ_F<>$!EuO|K5@7^Vzix+*b_-LTaus=FFnh;#S&u1}KpoU9KEED)C8zVa0cqy3gn#1x( zQ@TXBQIy5R$UzkZ7Ffwp|5I=`lG)(9$HGzOqO9Y&|Vlp*~^+*WDYV{M5$056|74W3(nlPpRw{` z)7~7(xwshwL}YA#akMc70uO8$y%;@KMX@&*wSd6v2>8d7!SU>1O?CD7>sW;BNnj;t zDZa5R#)5%h2&}Tl6(wJz&Mtw=*2vRt-f4?&^X1EzL-+YkXFkr>*&7ypu-h67w5y;; z-&Oa+4R80yRb-%Zb@3sbZ=k28Af5P0&stjxU_BPh8m&8BZro}Y^T0UD8+J4-w;fok z+2B;7>4)>=iI8n;R+5{faj(gt^KOlpf2PluAv?(BF85T1iRVrbA$yP=4Gm2N03sXhwfWPw^0@~q*#i9Kn%y*b$1 zbQ7bshut4q&`Dl9{9FK-j+jfBu-thmkUe(8R)-0p+1oy6aFo~2Gd=x9rJ8>8SL7Ws zWId6w7CU3S>Cq>|#Jx_OXI76M9T6qCv^Y_}8r>MF{Mw`WqoCh>Qf%6nf_4lu@%P3^rQdh=m4g-i9Pby-8h7?qd9a(p6Rcau@==y_h^ zhEGf=Z^D+t%-U`KU;kNG~>W;dAiuA$ZVNR56ubnZOV3qpW?%!m-$`_Ii%yR?Sj9!;ZeisOH zKLm+iJA|MLp$}?yr$quRd3NUT3ImqDBjkf_yySyHBI`5nxR#*W^Nm_DTYtLJ-0bvx zEh%f(csR2}W7noFp7Z1L83ybjao4)gaZTqyQ8v>tY15jeAnxa=NzXoft6fk-$o7Rx zK5YpvA|hg>Z;rM4a<`7%Yyxw^O)AlC&SqF^=)a2+>+4KVL=h-O}lvxC0Lb^J;A zKNOJU}P_W8jIu)kz2g$QRz z1QykG%p76I#6?h##I()#sMj87Bk{>8nrfqs);TK5^MoKt_wQ{ z)5MsWnQI_w2Pf0u@Zqr8kWoOP#0CD`2{=l@V^ZzCUJstEUu+0yLoD-e$X?oraxo-m zoKb#9C*t789!(YTKLdOXq85FxW=BbkOAXM==1Gez*@Wk)B;)o87w@3L>;U7to=h6n zAP_)5=BP`5wV!uAtv~EbbNXz8T)T>^>Cmjl05F}6L)3+(Z8l~;#6i+9{g7Ux_S+tZ zND{B>QIh7}&(aS`wo zI_yDj%9>t1HUfMVe$PdIYR~&z$+vGO2Df zoAZmUqMFerHf7NfkM_G~!R$+i?Fg5euR#2GLzU*!fEcVyKcf`~fG`D-1N(82-g=2v zL!dTD$f!VX89un}yp{y)^DZ9+1Q2+h!1~>L+Q>bt%v(7AXtuzaE+}WbsE^N|C0jU2jlL)OPeorgYWAOfxOJ zoksVD_I}AGj)R`iBin4LVNX4@t@E zXoM#PqLCDD;ra*~JE5UCOk&@shLuEywUWFc>I~aI^lr@HQ|h*nDuMJU5z!J{)4Yg8 zkuGQ(Wp_{E(qSCzW|tt{z=q<7%02@&IC!q{?R2kmH>lZ$J(e*I`yy>@p z{1%|4cf&=K^YD!pwbjfReEVn&1k88uZIBong&ac z#4o~$uC)&g?kC9q%c){P)|N3MEsR6nY~Mqafg*^eaCoqM8L-wlIA~G#qr8@NRdISDPsATj%j4awN>8hy7u_?YyVCz_86Wi19N%$|Ndk>C)CiV^w)GJY zhe&9C>ouw&1Pvee?tHFYe!vwIqP=FPPk`d8+GtS4t6N26my~`Zx^9}yNKO|2n_8PA zz5$IXR0C;c0ANy~o8;4y`|u@mSbk3b8w%AWx=5I{Q%5_8Zl{tA?N+cpL-a$W{J*0k zLi%AYUcTr)T@@^V_`Rj9 zv_)ySSsUs_$aL%W=sVyN^juuj9!M47$vR=Fyd3lRf_TxlX=-*li!B)TYF1%;uN0dS z3m1)~=W{TFV)3?9{E%k+9T3z6-ezr`p;RTzNM%~KV)$`t z+U5(W#@lbsdM;WpeGV}=6JX&Y5sTRosWVky9UN>!Czt%Hk)~k&O7Z0RCT5AMn!|;1I%GkDtkpw`upT0W>}M%ryKIbdIkfx&=|7oiZ!0Z)`L5aYtqF0 zC1kd?oQ>1oiM}N7j_vE6hz`BSN%qhhSijS70uQs_VV|k8bANJ~+qvTTxUQ4NP=0fW zsBJ}Fsx%j835oetjf`%sU;z&meEVQlFM8~D>qkWlLJ#_*P8&uJmm4)DcydABbBs3o zKK|n_Wd@sMio;u3Wra-c#KUez&Qt4F62UFIUkMnOTd25^{ zAdgMdZ7oMrF>q{ailw#?3UXZMf*jw{kI?0ETeY_N$-T^#z4$p2a36ol)-GVj?VVRO_liE3Mea#aW%3DtN)lw)!J_xZ=gQ)B`L+Y)7GvOjT|fJMT+H z%8>{>V%J4ESmO40p}XfcpH0WLi;knUG|P16$syqw#h`e%ciCpTV$r@$w;o_|p7FOg z=Vuw{v-dqMacaxxSC5TIVom>m%sLdv$;IY0)DT{-Lj%#2u(znx;HtG*o(he6Z7BhZ zJRWzeQX&-UKiHt+8WS6DKh;oI*R0>Yv{fDVD^hABZy&s$5cKdXr2Z0jL1H5$tV~Kg z52GM+krblKOPn3}mf|;v?$jD-w{xVyC6X@3Lh+vJ7DnsXNJsoty^^r;kixg8tdbHg zj{KBkZc8e?IYDV?u>sy)4~o#Zq`1AjU0LccJ?f`8efQta@QfBUxQVLlaSPREcC^1i z$gUu%%Z`63HkDi$c7!#x9v6oXgpr8x@mG}egt2LLqt{1PYE)<+8AdD*R*q$8!gtag zd7=T0O1Hd=Bd_atn*J`cXvfLb9_7mj?xJ)JSZB@j>S|@D{`AQ4+W7TM`TJpN44J{; z6fV!e{lRx5WnU>+Uvh1ZY%9rt6`UU1q7~xJII0`Mdp@;ssy4o(e2D_%J}G>E zT=+Pn9iWRThaH~ud5T1s4dkSU3uh(cg%Ja$al`3}iLF4|uvlni{BX*5o`ezBOo>qx znTij(<--p|awM9IEHr-Z4itVX{Z#067B)+s&lJ0~dp4sE=X><*{HhPG=@G$creQa^QyJWW7! za=SFoUPFcz?HwDG^i$;ja*;_4w0jDau5NL6VxtcU#>O-!I2kkTXWKY(k2lHNAw1Q2 zY?{s(5>Eot9ao&zD!WOd->VS{F>TNWADQ>mPHag{KCrrZI;KG)Sp;mFemM!3{rVxb z+DNQ1$tkzQHR2-eE`Y;@Nc}vqwF){JdKn<~@fH*0Fv)VMeX|D z6Mw$^{ZXEn9(!Nn@d&N%-Ftu91WW(>N~p|mehlFT_By!q*1%|5{jhewT8^!J_im!g z7naEi&aTJ;&>D%#zyS-zjJo7Wf0qz@oD)@3;7+aoIHN_Mjv$cX`=}FmM@f(nwrMEu zH#1wdGU(sUM=~0IKfq+0nli`qkds(_7bDsxH{oO|CphVil_dEZZkkhx&PUbNGP#8B zrYn=kg>aAIZYoE%jXOcf{7i1v4^#A_4Ym?OQ?s!;{L@DM@IskPKHi3d5hQe@wBx2R z^ZS)5R||^~NJ>L8JO!GnW`eYYOKJYHq2s*ZzDmyR;jhez(Ss+SE4M%1uc5Opa@mlC zNubo>mZpg}7#%%PSmopbk+IgwuSxMfeMUMDV66I}h8- z16a!JQDC6LV?MmGok|NjF1>L{Ki^D~AcL(5kwo_J32y0fc}k|;6@-Lt>$1hPH0$ui zC|lZ#`Sh|$yv@{_tiUDr&C@75nb=HnN>QaWJeWAba&)8R-|twcd%fJ z?g}4N7sDE)Udp-t@L zy89l!`e-B8TNnUZxOMY97MmXY1`LwFs3kezj(GSgk-=Gz*3XmR);pp?k0<@jm;Y%U zaW!y!{dqnc8-f8BS%@-`u)}$a{(8Xg*-?JS4NTT516C^(Emtlzs;?Fc959IGiG;rn z)CMfQ>ps1AWhgj_O-BeYQJbj9P(LT#;f=Enrd!54D!7lQ2>T~8M0x3dOo*(Qzfz=RE4bPJ`jnFLBrPdCb_^W#PU;4?#`AV$Ha|q& zCH%UP&hPi4@zXSapTfMlQWw%_s^J?HIovn#$90_qz$37;q>CMr(Zi$$HT%K@10o!b z+YyCwI2=l~>MB)o_6Owy6`w@eP+gg)t`#W^L<3w?{#{%mAjl#j^rE||4`ASTZ)tq( zoR{^s2`7i8y|OMU0EXkCqtBH6Fmoo@KW;7d)~BvgWCx`m>~JAx_DUW_LQ^>JP#PdM>5+~t?MW>PnCC8GR8rL%`OJl*h z?)BMLQBah5O(TjH@>8uat=ObDG|w{ZBs)ThX?P2?cbuwChuds5Zsv}2DikYb(aE@q z18wJvq`G8lu3=k~yPXweWhkX-x@jA0+1>K$(l_M44lA*Uo5 zisOm*rt1t%RFWJ!QcWy7uOUw|lI`-Vih1cpBY&}3bc4Q~g}?em%|TPQ>3nr1;ODPt zIXAL-`+3~EsnTwLPt$D>MV?8{wlO6!qHWZ_C$!i?Tz^IH>L28 zaDNCvnQZ+xH5;}zB~PPR-!QbN?{H494ya6cNSw+__RAD;Ek)6+Q<^KvS7i@6p#lY988W*dwI9pj93`~e^&!uC&(3jEDkc1CS>D{H2n9bIwP zSyi%mOCnS@n9aYkh%&jy{AhJ2I?I-BwvL69Sq12=p^GDPyj;_h=KlLy$PDMJm)1uz zX~uOoSJw@hrymd>a$!qfcj%eF9({N(0i~MMP4d^NES^z?C0C=65cUkP$J0gE8w@8I zWqhhi$NGG{^nYR`i3%K*fXSXpx&|$ag}f>*I~k8U7L(V1!$Oq`xq$=?zdt1r zsE*4sFqqZ&I?nYYo4Kj(kyfYq4C|8x``P7<-~%gj13yHtj;neAEu5-~r#cB&GOZ_H1#jNIQ z_TQ5(I^VL9QuFve#5I2n^53JCTmmjrPPnydx|8(ieb9!K8T7 zyKy~Npr)6O7pywc$Vl){16#l+hteB=js2|Q zy9;UP7VAf*(%aJlX1jpE+UG~6qIgK_9cOc_Bm(n~v7c0&aQCm_G;}#|9Hkw8y-8SC*&&g0Pme_)-r)Uj_+70&tE?eJaw@+OQKFoDA;j?vDjd(z`N9V9#R$ z2Ut^Qws=1!Mx>JK0X!_Ax|i-usn60GeLRv6c$mpa<$)M4tO4Vq^SXOtj)l(Ad~H=` zmi$h5a8C&NFZ0${F?>CkH)=@coOq@<3a$w@R@h5TRfjE%yrX0aG7*TnMD#rlTRetv zEkOR<6-F9U#l&k-Ltf+^!io>ZirmI3uM-*i$Ab48OkaI&Tq!B7yqDuUxO&0+UfMUp`EVnYOTMSr)ZudHOHfYJDn`ZF&; zutjf>u@Y}O%8ts9wSHuK=arrWJP;yH;dJWJM}}g(NlE@fR19}iQgtA6zrr5GBnCMF9^^p=?hoW2y#u(;f3`-^9)_%I3xJwH^52V68n1)}Y%OPLM^&LoJscnWW|A zc0XrKhNf!Xy}!}*@=WCc9?Ps;{aKqgF5ArcRYJ&z!Pe`Eu?{_%KV$Ml_jGHTgpuA< z0@3pc4etQKp#A0KB4tBkfSpuB&4DK4!W3;@`Lu~0yVIPy^+QWMnp)s z?P;7n*FZ1j1+-bo*0$Cgl3(xcPMDemE{($Yb=-QHd%Y z_h)R2q=tgxN{0_Qh*EUOv5jTF2qB@@R&3|dNIm@&3>aK# zSaN?Xp=0?5J?we=pM#3#L$#bb6e@LywBHtAnH?M?GfVFOT9EYh9x1g#{O|R)>1_<6 zM<&r}ynrXeUc+K+2v2Z7kOgJjki8IzeEQM-;8uk4L|y^Pfkj;$P1(R|mRAG}zb*b+ zO7zvdfI>RQpX(66;fQnj?zv(Z9)*-3??*Z74f`_jRrkOhNg{Od59MJYJtI?E@@bp) z`j^X){`bo6tM9vuRUmm9lT>pk=+@0q0Ay0fervG0#~Z6NniKw&!f!b;hP~n=BabKh ztvZ1|uSnVzY)cM!0u`Bz`jA?WTfOj7EdWiHgny z)2^mXEeNiL$N%m@|Em&NMCAHzN=c795rDw#FO3~@>SC34*8ftex3U$#=F7VL0Jcc? z#`?XC#ISlGg>0-6;%nIYJ)#4f%-%%WIm$_dpD> z9p(KpOTSLy(d?+J^=X(J`AGHVk6aNF+D&Vns4+xU#mjo)!_H+O<{&%6Sh5)ImmALe znl(+p+b&_2!cOg@1Dg3!+;DKAiYZ3nw{y;9>Q6+)FMeb1fl(jc7uo~GUm^$MQ@{a) zHg{bt|EbjmbCkh~AzBWeV4z;s`ouaAz8LZ@xN;&t4>XSoq9?AgTPDX)SAgilD&`AD zp>ND(#Rf}wYv~*J78ef|fymHst&&T{b9(9^wsjl5%YVq?P)Gr%<}AdDP=Rl+_>kzy zLlBkpjek+?rye+lu6zE#y;&y~(sJNM!KNak0ofXCnVaW%Sojjb(*Go%5)<j}_jH1YX|BiXQt>qIM0b9IVs9*gVYw@J6 z1ZvO_XH~Syx-q49u{2C0*B~QKSb$V%!Cc(Ch=HqUET<%$7ljjt*#jsgRS^hr#Fd$& zU!o2MP#TmsB-1(DGggW0MlfjP@EPlz3ff`ioCeHorwIW&9<9G0^WMLN2NgDwV8)2- zAnta0TX`FB1K@3h>Hq+!N$h4T6uE@q}=Ov1amHVgVpGv4hU(SAD2 zwfh#H@x9+q@ebz?p-759EJqrLVSpfxN?69N?U)E*Kqoy^ST#)d`l$CCter6fzkUWT z*XX>^cN3Ka(&@jR_l$o)_X{{8R+ysyDUTXrBR$e=#2Q_A7}2BjZ_RCj6btFm^K$wn zhlm3^gsYX!pH|<70jw{CJkIxT<)B#qO<(bhT`{9RN*KxL1jdES%y5%niUX z=0vM5zc+!bmA2Vy-6(>X8qgA+u0Jy%IGwP^ytRL`Y7fHWsfpiBS%}x&bH>T%D&MTN zFO0LC_7Wu~!1v+Q`b9ViYDDTT^X>&w(6;&L*l(+yqHT;O z$Nv0dRInOf5bRSZRD*!Q#W^JgIcmmT0@wzEC)SnqUhf8Ji7FuLH(wf+_?R33>elq(+k+kSaT z^u2K*ao-wnD9mtM(L{0)}tBtj8 zM4BSkrKwfd*d+Iz^C>**z0Wsl#fy2^`ei+jhabn;n5XVka%6ppLFVkWHn517@S(jp zO+|0zE+3;v7>AHHM9LygOeH18fUW!t!&Bbz@G#Cb-D&WaZ(7#B{lW zGq>ijzipC?Uu~UQ5~br8K$cOrpd$Od>O$VuM7M~S5>3Nc4eSUjfk4Z2k%s)g7Xdr z$)#>3DZgVqTYU0a_Fni6lM10|g`mLN9q?dz1Z67q!hsb>%X2 zbLjh#FH8U2s5)WH>3(uF(Aigo9ppR&<;EeSR9k+yh1xrFeH9l2CY!0w?iqD=lFcJ2 z=b&XMKkfb$+E_}vfSJoSz+{AfMl3&Uzv||IilL0JEake`bOAn{kA$Sd)?+Lr{KZ8N zB}-io zf6vc-_sGTq7|{pdVL9H;@1_-O*P;rW_*aSTpj&tIU*__Un` zz$!l4D+3-@Qy^;sw;ZpoUL#_Uo?2mbjZxx(u0Ms7WRymT zOh0LjmVUZzz0F%=ASezn%2m+$TNdP-tjB+PBmj2Gk`iVuEbGdhjDftFO%?+r)djf9 zpjuS*F|-e|dIcwxoZwaS`u%z+4&N{Lmkk++LjuVBzsjQrj&lER9YONF7PWiJ4j^7n z!wRR}>Sbb*LjTRP_NjRtc=lQIX|O=h&=WA<{+#pPzdoE(%Emh^wo|gz7cca!?RgPV z#m072@>YW9dEHj;+*f$MUdsOGNld&`^Y#!2Ob95%WByON$NXOz{5fCz0k4r00Ir0u zOd)_+6MN&>!(m#k$L|_jpDT-kke_)$*Ze*E`EKIx&pK@ZWq+V#D6{o)XIonvypE6< z=l8X6Eh5aFsS4AX>itZaxJpD&izl60WdH%I-|jk4{k8J`u9`MJLeu#fV`DPMM1!-v zs;cT;5NW))xOnotMWF8O#~&?7U;H$15wPOFx;pIVw%=VgMFsJrt&G0cI=-2`i%v@h z;vgb{;^N+xKq9NX0WP0|K*aJ?M(m-`7&7w~VCAGl8r0(qDu1GmsYAb!^W z_~WF=M6b_QQbi7(kJifxhna|bhjAVbRsW}D!*T=^X0wG~GvjeroP@qr(==zn- zdW~36y?MQ@5&$&YUbYW@1C)dJ#Lv%ibC zI#s^0+vw_ih=Btl%@+QN2J&bMi5mau&!EXPN8G9o6pk3o*4mySp@1;o!mCpGwZHoM zp3mR#4qNzLfzQ6+Pc8kt+`CLoOFO@91Bf>n8Acq6jRegaG{I_9WcGdf5ai+ML5c9j zYdxrQo^_P!YnH)d9xPzp2y%Clkq3!GA*NxCu#dxrS*eNxy0i zzMHG&tMg$(_C6``uX_V2qv3LM7Oz8mxd$3hK$e(4Ux55DXCIx{Q5d)TosUGs#!BnjtUH(U@+|S*|T^7E$D>yqk+E3BbY>7^*Rn2Ab3A>Nj&o_wF#l&ow+0Rrr zm*+t`iq!0hD*{M>-yY)lm>N$M&rv3A57-%VGcZIEww7Bh?Z7Ti4aog@W%HDJHx>hz zzWo2zw)%5nP5x3hcy`m;9oeH&EPzAH9hqD5rn2Q|V@YN2WCvr&!pbUzEwM63zaz+} zx(rW_n2_+}(K@6;V=Bnse+3%Scy;jZ<(+IQCa8q?SIEtE+K;<8LTa-idTP`$=dMUZ};lRyCh%kq77}XC)3iH-f%EMP-ydJ2I*E7+%uXS`HNE zU;uTCmWDc3)i}CVm?R{IuZ!Oo^V5jce@|_Lfrzg$%5BJf*^h>T5QFKdgUR2miJ0q1-J}Lk zNGZs`UKTl8{?vi*XMfgP?mDCc7LQYSqVfxbzF`#=q2cYLf_~# z^FG>et}lVb819 z`csL**M&Kv0lOBUCt+dFUE|+tI=YNxBcKtCNJ&ZpMX}n=pYdnj3v9M) zcsTz>!b)}e*VmW4C+xv%-)qhe`|U~i8c)-LHR~^TM*)I55-UMGo^KEqlkb_ou8al> z&Mon9?OME2M%)g2rH%xunQTn^`}$_eH!Nz?hUIpHNv*i77IkZ1a0!!SnU13qvgN0w zesVh9n`bqjs%~_xBM8?2J5n#1qC1RKi&R*OX7a4I+oghi0*snW9X`HsIczC-4-m?W z7j1vzvO@Q#;Mc6DYvDjm^ZHUhWq+*gpda?3Mk+__L_6Mej4;MMP?JDYIEYHnMl9d1 zXL}$8oArABhNr9Iqu2(<)oxvt5j!(;0=)P-+O7sHkqp#b`&bGb)zJ@Y)h}D$$Up(= zHJv}!CW6~5fKWzz=;JtC&K#kd6ubPV^ncfTde+p4cz?~YF3S;J;U<_yI*B*&*kb;g zbO#3)*W{5=oT}ZngSh*1x>$;(_iP>Q?bf>DHsj#YT+Vkd<`#>4{4L#UT2JR8x&frG z|IXy(&Ati`dz=Fl0P`+RP3|Z`3bK-uQ|z>|{8EY;lL+j0U83!PHwoxWW#Z`a7q%-C zwRLn@>54Zv*=9yh6*8f3jBD|^?lr7k9B(lJ)=0PL=RZz;dn8B3YkeH;`HbZ>rL4=< zYFz)fNG0M@H`gz04wI#M+4^v1@8z9yXhnNZh-ghm0hGKNt}&v2tbx4dVr8A2C~Rli z{(E+-+f@|_oZ`N?2%XY~m)K(ftZY8Rv3ELuYD~w(#B@}D10X9ssoZsaU~9%VAZwL3 zq}pQEmX|jqy9-Zj_!?FRyn`TMr{y0vr)(Ts&{RKfT}Kcx1~JdY9$+$eC(GouFxRVM zyiqxQRG+%qG>pBn)OPf`)NsGxG#c1|geG@6Y|hq^^Z@9rcWiaPx#Wc{yG0Cg%uN6< zgn)g)y*{6{2g9xok&5aM9Dw&i0PjJtc-{8*76R}?B>G=}#GM`78tcuZgmraE)YRB+ zh)Rig+F{xMfCg4607&v9gn(tQY-aEbUsrow;@lV+0>+aVp4aLCE4ki?XLI{6#N-_!V?T<*O z`rP?t0vQ{!GY|ZmSgLKLN94({_y2){k7+$~#B^ diff --git a/docs/userguide/html/dowalil-example.svg b/docs/userguide/html/dowalil-example.svg new file mode 100644 index 0000000000..4fd483b1cc --- /dev/null +++ b/docs/userguide/html/dowalil-example.svg @@ -0,0 +1 @@ +One RV(0.25)Two RV(0.66)«visible»Element One«hidden»Element Two«hidden»Element Three«hidden»Element Four«visible»Element Five«visible»Element Six«hidden»Element Seven ARV 0.46 GRV 0.43 \ No newline at end of file diff --git a/docs/userguide/html/import-vs-lang.png b/docs/userguide/html/import-vs-lang.png deleted file mode 100644 index 62a5558b617d4292a15972bf11403c5dbe92e97f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8127 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 of DescribedPredicate<CustomObject>and ArchCondition<CustomObject>transformpassed to \ No newline at end of file diff --git a/docs/userguide/html/inheritance-access-check.png b/docs/userguide/html/inheritance-access-check.png deleted file mode 100644 index 2faf247fd8c3daeea46f35b33eb996cb7907bacd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14470 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 diff --git a/docs/userguide/html/inheritance-access-check.svg b/docs/userguide/html/inheritance-access-check.svg new file mode 100644 index 0000000000..2859092dad --- /dev/null +++ b/docs/userguide/html/inheritance-access-check.svg @@ -0,0 +1 @@ +com.myapp.persistencecom.myapp.somewhereelseValidPersistenceUserIllegalPersistenceUserEntityManagerAccessor resides in wrong package \ No newline at end of file diff --git a/docs/userguide/html/inheritance-annotation-check.png b/docs/userguide/html/inheritance-annotation-check.png deleted file mode 100644 index 40f0cb110576c03489ad5b1039a357afbc11468d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12837 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 diff --git a/docs/userguide/html/inheritance-annotation-check.svg b/docs/userguide/html/inheritance-annotation-check.svg new file mode 100644 index 0000000000..c73c3f332d --- /dev/null +++ b/docs/userguide/html/inheritance-annotation-check.svg @@ -0,0 +1 @@ +«@Transactional»ValidPersistenceUser«not transactional»IllegalPersistenceUserEntityManagerAccessor is not annotated with @Transactional \ No newline at end of file diff --git a/docs/userguide/html/inheritance-naming-check.png b/docs/userguide/html/inheritance-naming-check.png deleted file mode 100644 index ffe3ae304f0277513885edc93e7757e069cd166b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13294 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«interface»Connection«concrete»HtmlConnection«concrete»FtpConnection«concrete»SshThingHas wrong name \ No newline at end of file diff --git a/docs/userguide/html/lakos-example.png b/docs/userguide/html/lakos-example.png deleted file mode 100644 index 2c2f7064e8779d05e93fdbd42908d854c2360096..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22090 zcmb@u1yoku);0_xAT5#tf{Lh!gru~fBHf)LB}jK80wN$O-AIFUH-d02W`(KFSv)V9{sz52}I>T_#rb1p_kb7O5&Ya0_| z1|2gKd?ro`7^TusUfKGu?~#yU82eb05DBSSri-uF!#AmfX3lws-y}SbpLHAK`9P}L zd9SuL%5hy`dWtH`*w?;mZU!^1o*x{2*w%TrI_+m-8Z33%)Ez(AlNf!(>AKc)AV?>_ zJCb|joSuh=;r=#heGWTqw6K`T*V`=Rme-{wS(3%VObG_mmA8lM)`c#y$S)7hpPi#E ztk6gbt+dpmJi79oT#E2i<{m>vb!5iH&a-ojFD>bfRF{bd>_T&_W1`7<=Ja3GJf2+X zEq*ZNZg!)Lv%r`fjXYqEc<(MB?l93zaxML}?qzKD*-DjKuQ1z>X*QFGs=YoE_MlCX-BZa+N3)=b0iKOnH>ai$RBUrS6} zxp^V;_6Pi;-jHSt@(mjAbXk>PoeKo23%5@z2);_vd-dE&w<+pbDMw~Fj8hY+L&A|j z$kB!N-;%p(5vIEfGT9Q!sAbRR1SBMRVv$Dz z^7fkFCor5P3{Lrf+|Eq(lO?1HR?Z40qVc~u_(j<$n>keGtD)BfY)7 z!)Uf-+Z1BKs~W;3WH)GN<`)(UWz3~oT3Yx|_o>NkaJMP4@%I=~RB@K}h{(^`g-1qy zc^!+w+x#kW(n~%Y8SSn2y$=F7+!rI!`<7scr}g%vjb#1#DDDnd2e@!iK6@Ios~yDP zf4fkorx@1^-`86Id>7LYZuonx8L@R+PkbDSsWk1bN$tKEKUHCUO7C}BzzZ)I%D3e4tP!^Y34 z-F@u9bU#oV{anq`Bw|2mho+Ch(PV#p>tbkhe;zS)_p}w<&a@+~zF5SpG_BVW63D2Y zd5W!Vm0?Ua|M4r&>nj(w-#e`fW(_=;CqmZ=oiJHC7-Ic7Uy=zY64@NIJ9+m>MgGew zNXI3-9otJA6n-tRbZ@xPm`?q1*1*dO+plZbFQj2@3-0nO_pwRwbd){FY_BrmrKmP* z|5JjEq=ShtlXjHMK?_nQ%Fp>|Y^x8RQVN#@G``$mdd-#rYu$Q~Wkd1TUIY=@J5)Rw z6wI=TMM1gA!C^P}K?NBZna!yGd4Gn?`ecm>JGoj*2d&+STA69n=g)`x`}R&weO;My z>H7Nmg<P~u?t(0dv zQb?22YcD1yHk<9T(M0m`<43~1y*;ghXQ*}FvQ2SjW2N7h(-U$vs%$;baD?8H2FJ&D zM)U^Z;^5?H)^L6Q5ob3^d-tyVq;K8C*B?jI?XjFiQVD$GLD!27OjS(FC@S9d`29W4 z$Cli4zTtOOdQ(K+-BHLg$FC@oW#~oyDGActyrQ0}nVFdksT((M>g(zCNU5gbej<_y zOmeq4++H3lGn0y8{~r8=(#O|#M(Jqxdz;eM&Q5C4`};MODG`fRcI%2oR*ov70;Au0 zQ^gv+@u=91NtLX>)+3X-ZogX-l9Q8j+Fj*z+BL3H^Fc=m{CvzY<=lAwT}a4Mt9ct{ zmBRhYHP20?y$yLUI^s&HKXLGeRrA`dQIutwD`Gx&6!#w{Nl89Z6~g#|!na z>O?iF<Hrt%pv1c?9x6kqFHbs1Sz$UI# z?EQ}y5PUlZR8Q5#@=I%mu9w);Yz^MPekgC(Y#kDtBK=}YMX z>4ASA2opa|c=`jO@AfOO#vBy=-PI9HGt+Lmk{q?N&Ft+giG5N3KspGlnrK3gA6vA2 zvtxKG9p{BbqImaidcH!5(SWb7?;YZBxvf&=CP9T;$s{>A-1mzj00~J+hTFHx&8G#Ooq49xXJ=-dot=%@$DFy~c`wK2fTU%Rm z^BY`0^zX}lEiD;!Pe*8FFbB3^ zGGF`Qg2&RfQ;EaY!giI$aVD9oiuQomkKil({B?S5;TYMOBq2RL zJw84@GhE`jTMHf5+gS?PzAG0UleqL+LvKn%cSo_BjIy$`EABI5&q(ygzSX37F5P_J z98@NtT=?2`h7fML`Rf`GGdkUoXXR%CP@{jkJz<({3Y1@wb6hk5l?NM*F4@d$V32|#>w=w9M!b7$Df?zwYPWkr%!Y9^9mo9$ZVam-s#7bIH@=O zWt;&ws+!q|5RdRYwfFM!0x4N7v`Sva+A=G_^nOQOdpGy@CeDa?#>?HYQEA79$Ph-wGzWh2 zSeFhHhHmM)omGt(8le$q&o}UyqO8) z-5oyJn_6F7&b3?U=zYXP0P1ZP>O;qk2t=Hvg)>K-| zezwkTQe^i0pLd9t)+US_iNmJ2kEUPANsClmbT6>cz6JK{Ea@jk%;fiE*Z#iisSy>zL8o=!YE zlj&(_S%_bMrrZJin6)Xk_aVO)>I1V2i2Oa6m3=)SA)$J;y+vP|ME{T%)rd?aYoC~_kj#8e zIVvSpl98pEsr7QNUUR^ep**eh_Ye?^&8Fi0l=Mqg^i?t-a&Pype;ddyGoA1a3`}QH zDb&SKYq_XO-mk5S=NV6ZyP}!rmmok{?{7EwS3U-H8q85^cE0G6(4G>d>C57K$C&2B z=SSfT8lpO%$HrpTP(7(elJJLC2tRUH1@McA4{OJ<@+jXdtw6=dCu5(Xe|x&!40HKh2@kWo2beO&Q2h_d;W1 zoj2!1*uPOMaVk=;A(BHd^6yi1Zd4hiPJ5>8y148y68CY!iYk=4?wMp)V6{M2iPahM z?%h_uoKzf_jW0bCLGtc<#pF^QtVGKoqmMo_v$NdROF_ZGABkVm%81E0MIBV(Pmsvc z-ye$Qv_iw9RF{|kMEtTvnjCSl05uUkMb$hP(hL$!`{|sr$!A#gx*7f%sgaC@s5Msy zUiIne>kB=4WIUYjPLI@=IGDtK$@Lb_5>_Vh+n|t;OQfXxjd=X|s87%JGxT%y3mGFX zp=T0fhXe(6gEs&tUx@luw*NZfB3#0Rr&!!hk6lj=i3kbvQNLdACq`U^OE_>zPF9xL zaeIkl(%yp}i6p5skyyKSmm(G!2DE|vrZbK^PopZF9;s1=PFhXc51v0ST=KLSa=i1X zs8={GJ?W89dUnzk6HA|B)pLS0P%jY>Jbd^tPragn_~o^w);_ohmki+&8{f%xAD_$N z+~Q&p>Q`Osj%B!NfK?v_*YrMv)3x~~&yFc6G!&c5LymguVHRox6fDc5B`dx}bi?P& z$tp*!JMLLTY{30tu1DX?5)%_4$AYoWTgNRM^|8TN2XL)v_xl(L8JXk3rd}zM^<$;T z+$}!mod7=&?aIl~)Y;lVHp%35E6U1JYp-RlBGjjZDXL6f5n8Sen{zG3gw}#X;kiuY zs3_M4UeS(MSfxAdt+j>I!*2I3W%ZV%(zO%6bcfg6?M&dOqM$hbUN%*TDve>yy9`(L zudEU950!jCfgfa{?mfs0 zNKQ`P_@?|e7enLnv47JXOx{HNZle%AUPKc;%zEsr=@j4Du~lh(!;;Zg{VBwE+|#GG zeYzH{%Fj0I6Y?j{$2F3T81LIdD_IiM4hO3~M~brq+Rc zYHDo|Zu%|}#jJO{zhT@z+ijI%&?@v%0x`k1uCDcg>>+~$m(RrZ7aeW4DVC#P<8Hze z1nL!*G_0)s`b7n(lnMR_x-r|B!B_~6O+qn_paL4g{8|qTkj2;iC?P0 zY`Y2^cfK)bRO%WS6rq~>#bfbOJ8HsXJ?1J_VoBb{CGe~OYgcqHQz%=;%)V%%l9nIpTL$F=4#fAf>W5N zvfILMRdjWA)jyR|F2oNW$7M?*_XOS8;Qmr5`l&Y!lM za#1P>_vx`Y>wK{d0QodzsMLK2d$$a@}_M!p17kC3GaED9M2FNzq5 zEs7g-4kB@Q!??3xhAI&Jd+|ejAO2%eH zXy-ka^boyt7=|e4R^gJmp&|t#CHw)c@!Xf-+S*$EqbF!wR9tji95+B4{d7urT{+du@qJWJ%NUZV8Hq&!ys521L{-1BPdaApyu+SOJ zMtAjUqL4qCKN;J%iK?;=eI2?APDaM%f(4quoNw20S#Q6IO6B~h^ZZJbgM$M;K0f$E zfI>REy7=8rp`>%x)xDwC)sZO@XY`F!>V?Ov8!YVfg(&H*Uad4mp|#)8(9pSrv3CFZ{rizK zQ1sC$e)zg4omIYNGFHk9ffJP4v^(+R8+_{CzP(z3~${E#R zKQsr#_!5{OZ>ud9G*iwhY1vPsnkJ>Bq(JZ|VNn07I3NE?vzYz1aEOTwQZp<}JzO{0 zuBoYs&9L{zy?giQ==@xJndg~v-&`U{?e9yMnyPhi8Z9;q{^?s8d&AIdiCY2;(=7Lh}U>je8$5}xl8r#D52%c1|TmZBcrZ(UW2Z9 z6FWLD>^6cSu)-ZF{*y;o023w2j^3iDf-EASK|$Ic6M;8e^)XR>DcZ}${GvZ27*Z;s zb>BB{hJT_QQK>&sj#Ns~55G{3_BJH~eX3El#m=}2z4drLjD zOFhZX_!AnX&wE~}DGrOq3N?MQxhWOT0~@HCn6L+K0bm+K2ksSyG{@#vfF~o@> z#R1~;{8!(|VIbX@V>K(R3-1#k?8$HEHVM#U!E9#|t=4cZe8>=oY zZ9d)L1%M+T`RAslgZ=$sWA;-C`e|;Zz1{0|qF7Ll6V%dwt~*q$v(lbh$*W7_ZVsbU zN=r}IsVt>*_Gczj>Qi2hRH z=c+GT&7bP_woPAV(JzMi!p7r}v+JIExtm^#;V_f5^P1_>*=U3HzQS`lI5+@16IYg) z?~J;@`$RNv`+dA-UEhiRvuE$iaS2AM9ayf^7!732aPhRfr*b>)Sy|(Da`tj_HWHWllvX|SX}W%NHI zxfDBXjCJSFpU>dLxrH#97QOH2@uDkV=H6Z4Q27p-bYo+q&a-Emo11qOt#PV2835S5 zaYJ`|sRvNHZNjBRz>pdm8uriPa=Rv;U^yI3Lrh2MSBh?7IfPa1AN7{|VPf;Iz8QLH+jPvV>WjF@tERA`CD1f5@vo zNz=WQbS%t~1#>vgw}cg#(QsrNgEK37c)CsLxODB*56{!6KLgMU1oU}&OoZDUw%I1Q z*p-m3>vD2vW2%rFjg0V_mMTZ?>EM@W-d#u?RV^{HXlvbSY?TNCzdQb+u$Z&xVeNA; z^x`hSTJuy(MDP2&kCvyiyN|lft#fvIa-0<{5&H;Xoe?Ee_IGlq<(Pdac=@St=QA1Kc(6&*N1PI{K~=ux{E=1(vH#Fw^F?*ZbQ z!Ip)^5D;vg9<5ttBWBd`IJ-Jb{n0eu1wjZY5H%LU2de263#6|Gh@eh#VICi|+!KyWs7W5}mF-H|(6&)QNud{|k z=ld3!H^K&D1^y*d>L+Pf1VJ{WBZ-vQyhPUeb6*~1vAqn&`S!6}PQXAYKs-ei<*$pc zgO|0t6DxluCXS@684SPjj{le`{omXQVBFtLw_8&2y2*)GAZNMD$Y=)IaJ0P(8GFIC z;W9I*?2Lu^5uk(nWqC9x_cUZ=@HzNDFlg=NM7+i!FTB<`KR3s-(=T^SSo2gL%0wgn zlWjRLOuz-Z;<%f`D?%^Jni!7kU|?arJF3M%w40b{E4|}5t@HsePLqfkW+q?~$)bTk zvNlH^l`PLbU8vmaYHfYi zR!;%Bth(uV`8|u7PY}-5SoRFwiia7AwVl2{S%@*ST^m0*KG-t89Ek+e{{sHUTg8R4_JoNs}VyzzB+vGchNarHswmrtSbze!Nj~=?1Fd+BK=@uV!Cz>Add*a zEL0M@yLXR=>Q0F+Ud(^qbKQ}soj4}UP>!C{V&;*s@E4E^6t-6YM@a=xGYKkms7I`- z>X@QA2SNaxK!|I5%nu+9sI!K?bauL~0^Bq*s4d&L+ZKY9e_ z8$@qKXBv!(J%TJ7GX6XcM_1yvRi@?w~nm`g)r zUq5=#elOJfi9Iwxu{R2izt-g_p3fzk-b%_e)JVj_V&g?#jgZ7kWvgm7K zOwe&D-Wb2&0g3sxx3>>zx$)k;YYc(cIO>Ucv%K1!FQp4-Lk4&r@>qvsr6y|6pD%4M z_wm}lr{$0UeHgL*)}INvi(o0+CD7t!Xy;Ks30Un-ZG*Pq2y@p=ZDwilszxD{LAq+x zASOO&oe(o>Qe3?FW22dh1dyjD%H|w76GN5KIA*<8XnA|DkF$chFMS2@)@{F$>iM|p zqT1Ow??8CC-WZgBwfi%E`&!JyQ?1?jx@LFu z#V;(2qRecn7SvNRlIa>RZyf!Wb^Onrv5L?PZja-RphwbxiBaD!lYPy0Hq?7RusH?9 z$9Ng?OJykE)sPNBS2_msw5SLPw>!Dll@Cr{NQsurfoek_gx;S4)`MG6fqaZ&F+js1 zLv*wtA1%-$p4CPyzDD8@=i3@fZWOUBeTJ;GG-BQ8=g;3&DLikc9O3vZizd{7cI@V@ zTSchShM*o(!PHN{6JB?Ng~bYT@T8<9 z)^j7wFSh#S#Sl0er1UD&XVPyy<*^D&&88$pcKtaf6Fu9)RpQapRhhw3>yGCcjS25S zsdhuX(%KMu#PA1bgmzovTZ8mb==uT{_d%uTH9gXkYXgF)kjRQfFyLIcu)mZX_~VkS zJKWS;Xy(2$TtMwQ^bIwWc#RVfI>7p2_0|jRmrJqlZ0^g8fyf7QHMqNC1}A8OjHcZz zt*k%^C!ox+Ss5(QyV``A8U8`J;Fasq%$O}59t{oyPDOca+l>_56IGA<}e+PF{^D65&+kN#c8{$414k9EvW?p)52yge45qK z-flcqTcc-iJNHJ4s@Rv-*25L8Gcx$2qUs8Fe|R_2s0G~nSjh`-w|-kB*_=iAs00?J z<#uB8_Tm*4mVuCEsH~!xz5HMC3YWwq>Su^~t_x8HxKw=Y;R5r@>;nsPbDrMbZaV`? z#>lq?vv$N`Z=fE0-j~+Fe|8`xuJ;u?T%u%d%&ZOv3#$!$G}Z%3*&K8(mqTlC=g{>^ zh>mUzcbEJSYt#ZhWOuLbEYANG7=K_$Lc-ak(|S+GDhNNbV~Ac0 zWYIi)jjd8?O-qhSD_mmA2wqmRwdP2!?@F{GH+Mlf?9@)=S;jToodXXeCpRvr@$q_)ZXD zdGgg)@-K`MTy{r5jw8&y*(s?=h$G0U@_p(%5 z09-zYf^u&;0s#L7Xo^=rD&fOV^t;L0|33eqL(9>I(&yrO}e?y1KJ>QhXwp z!=e6uJS;j`1d#}G@hemy?Sq$nf?UU@VZon?My+wBL8(Y4!23vk^(I z%?}MVK{};e3SLK6axZ4skIfN-1PrYNW=gl?4Op}*fPD64LnWu6EOJ&)jp&4+bu&Q& zWe9kx6jeD+yS3Q7JTrvbu%GdPTG|~29m;f@jhQAbmz{w?{!@EE{%ujrgAsa=+Vn)= z6W{TVMnsFl|CM@HM_U`B$l_xf1n^=cNb)zP)-I{zb-D$6U39H$MmZr#i{Co=WuD@t zcakN5gD@0du;SW zY?EF9OW2JZgiDB@DHj0?$ebNLx-cW-HY+QkS-`y@Bl=JI`oQ@4Y8=2e4~hgv$;)nJ z0_O8szbLHEBq_jLO@F`voBLvhwsQg}ST=|f*c2n@upVaFutY}-MQG0=0oTarxe;#7 zp}4qsJNTWE46kbgl{gENp7i1Ghw^(`fdj=%vKs}ReMq2v{8dS1bH*;R`?jL>z8HS4 zH|+i(3hSsHD)DpY&i&vx4^Cw4b`|4DndQ8wsrw&84DCh%Pz_SVGw#m{GMadsmeyl2 z{QMaVfFse7q?2&a%zwH85wA!l8(2W(498V5iok9Pttjp4?t%2AUML4MbI{}h`C~nl z<@?602y$3^i3`w}%3y8~x%IK`V!#cd6A|UB>!#5_1e0FaBoK_{R=~nYBV;mJ6ZM zUlmU_$BT6E1FS7JXH%lWc!b$`Oqo_TC-v_y4**x%S?=@x=gkh#Py_6UgovmBmDuC2 z*=*WtYW7n1GgY$cJ$m#=R1}lEgmn3}_1DAyj#7HLuG2IOG9jZ!58T70xNzeAv6)Vh zH5x^Nmfdph3xNGaGJe6P!Z|}6jEsS<7XFmHT%4So{9uR&TN@i20IM1Ea-?^!6Zy73 zd{Ok1c;iOst1k9JPBfa`WE9bD%V-kj$RAwcHt3|7r*#Hr+z(}#nVH#Ph5g1eK1p6< zs0H2K-Pv9YVncHSb_w7wzyn0GS%H1nyKkiByz$uFoT=&L^u(93(l z@x1%#r#JY^%gfHRI1Am~h$s7SryLgJpeUKo*&oBft)p_KyV)RjpI0CU6JJ#sybc(9 zmVBmcfoSS;6Ga3)>M-zrLlVOJs9d&txb4<{2&m?&m90U(EjlmtkWn>8w)a+oGcz!) z*p2S>;(XXSw5*BspClq7d7?u7FQ{|paqb((OE^Bipw1ZA9p23^)Q}||-#Ihclo}=tRy`wYRVJZNNLPzFPN}lP>==$Yh}PC#s;%`T zH$z^2@E)3V#lNvnm{T~>z4G$S?ksWGH8#(k#BH+07zzl8DLhb8sYT&^jkJ_r86X-=6pk?0s~p_Rljs~<^3^- zV7i$ZsFJK7wWg%%9fXEgtRiH0ZJFe#lttVzMc>iboIccZ6@bFW;zE@3ZR$Rry*i%y9?|clym1iyY?m-wv$U# ze$vPI;kE|*Y{i^~t^_ImgEtL^fEUTNCTST0Sg)O|czvQCSA7c14M?ELkllm*nGNS( z+rqa#oEQTKahSt!%7at)A^#iAettkg0<_NBJO||0Vtt^I>UvO*g4ZqfWoc>Y)2Bxk zS8hT|sn6v&kflKM?M+J@B~BnzL{NU!LGBa!{JAGq0;8716I|A89q20`;t@<=m|d?u z%0+Zj2t(WAUjx-lRK(i!C$@r^nWKhQ%@>(|&01@J^>O&(- zugPzT{X(%3R~MUZj|yJ+`R(P-(+l}6B74_zhK5#hAxk4tpI3uAoe97lD~aPFYF^=y_Ar<1JWZI#Z1G^9g{Qd z3?8r(>I3@Yt8u75-xRU#H?EsZ&S9EzELd}ckumSte z_U5P@p-Mc%n%bFKWo2d3D_1&BhS;B&K9gW|coJjETCV5i!&afS?;LE-0CcZ8eN=y6-)FX85+)zw@qX%f)SMxcj5fi> zB;flOY#pv!_UgB6g*Oiq&o1Cx;R-#7P=_~*a_;9xSd)WS2yyXxEt;cR@^ko_xm)FO z2!vdEG5ve7y4&6IBM!fG;^(~0 zPY=4>goK2887WKaFCyLnWt3+g(Ou!n8jz1g-Md|k7LD;My`Kt zJ5gEvEVaDEnu$N8uF!g$J=|H5M>Jr86kxTny1EL*&^?{cDQRiFa)}90^bol!Kbbaf zFT7Dj^fu`)kN7GC7~3O#(7>OjFWo?BI&dy_fxuwgFPbu@yt1=X>8DvJGqeiaxk{Ur z$iT$)cTviHVipWCUOAovkzWuU#$q7imp$(h+}FNB=EUo`ZNES5y)uvusnFHawrmWW zC0e;OR>R&DXe&s>u>1S_6SXIB6W#hGEGSiz{lQfWOgH(-U<1lS7iQ6T@`Bei?N>wJqkP;0x5%6&#yUidxX>PGL1b&D3w9FcudG9%c zzEoNuNFA2do%s8!V*j02!|2CQP80y{3nBlH0!ky=5_(wNwyRJ7IgZoz5+Gg}|Ga(E z=T`ieFJJ!s_H1W4I1jPOQm7VXoh2bE+S<{fm;4pM@Pp29i%=ZONi)k*uK|>lO;Q>9 zdcB$KzcKrIIp}Imv&whAKBX=-=%QrTHFeyHf~IGL^HAQ1aJni|H~z$|x0jbjg{2pL z{!4%eT!D`Ivz9=9%LE~GNYe?HS`Te$`cnlCiWF5OYF&MO*d$eR$JIA)E@1J!xCdW) z+*K`JY9i6nO{S#h;27%a>Y8C00IDG}Ho!MfkvoaGGz~%zy&vE#b|Vqt5~R;yfTvrl zMO}q5T_xZkF$iwvBWfm8CP@nm3*gi2uW#?z12BHP-6u7YL33^39H|i;8G%yZ@#DwF z?zhP9n}7XTKmNS*9qM3c%+izZ+}~bF0qR%-qhT2{%q%(XzQuJ`R@Pg$yy<`3O_z)V znD<$-BG6gBo|kWvq8d)p!&`QV;l0yuT{B zEd9$B@X*$9Aj!Djq$Bd)ERb&WlLvva^VJb#fr)|9(%GqxH4e?0;?%Tx1?aET69PcP zYPY7&{_VBtWc3KpoL{{A z0A+L3IM{(!h?E9cXE*fl0Mjc(HGKx?7ozQv3_QQ5?9gC7X{0)pmX&QFF86@c3_+-r zfwmYExoBaHaQp$Z z^6HK^#n_E-U5<9ywj|0#5E|?b8(Isrotww#?jUNQ`Z)9sop52mB%DYAVus4JK}f>{ zhn2|XJigu}B|RN_49B};X2$M*pFV$PP|gRS3izx@cAGs5Th{3X6&o04iG< z$^$kh;<-4WwccW7-EO9G)5XHx16T8wk~iA_6*fG`fxsR=dY~7{H1Zy;7D4pWPQHrJ z&cQ7g-B~A+~b^XtA#AHGAj1 zo}$AQwf95ou(Y}GcWCGB7jF% zS3Y{T!{u~fbyQm~hvdInTe=95o`L?zG)5*_=w2$6p5o^{5l=OOqVXNAvWVIqC+Gq8 z&;-`pBM2$zge4`fV{rqTW3oJ=gj8J`DZ0g9haJ}rVfo&~TY!U+)^wqFh%m!XJ_L2Z zHwg_51!6HktI)QDM#MEfzWAIRI#I-_Aegz!emob2L zn*m<>(1-E*_4jc8Y`X|LR-vcm-0F)-)Q1NLfK03fx*h90eR?&*0fDCuq5xKov~~+x zRhn&bg~>O@^09MjPj<(Qc{ME1uLEN3dc4t0Tfu#l*BE~u3C`%==i#zC5C)fok)aGz$yT6goTA6iCX#` zPTxl~uOhkvM|*&bj0(G7rlhWpXh~&)03}Zt(JB-C{rq&26LI0uD^Q(7Z(+*7@x@TC zgs||_mieS)sw8WV^9 zC<_bt7AU?3zenb`z|O5QO_!tU-84o77jE(UraATcMHo}-g<|FOMMh{KAlpduaaH%U zwg7OlyKn<9xfOpKu^7TEoNiK-#Y@CVr8T}W(4YBODy98gb^UVdx09w zzzwq>W0@}BG2U0Be@PT&KJLgqjjH6Z5e&K$kI|fCFl(y6QKpLY;@)(5$vKILD@dA&!S z_q5+#-Y7;Mk4Bkg|L+GnZ*)Mf4gp;BKy`#ElK{d)q^*vms%dbuAUm_dJ zKka${7}&3SySr%#V08<#q1D89l`oQ#Dub&A1A#ya4z&`{+hWluE_!cuc=J`B*9OM0c>c<{jK1iZP_IQ<#3^Xw_P}{W)#B$L>FJD9gN&9bpxWI7F0>moNw(F}Gcw*V z&Xm39Ioh8MlygnzaRQD-?JI_2_9$dsMq(uM;sCXId9`%OE84X5a-M2wtnv`(Nqm$J zP^a6hMjuX8+8~INBqStTkJUZZ5{s2f+M#u;lqyQ(+sCZ+#FWlUUJU4_P+kH>GzCE1 zUWqk8kSfZ}vteGn)9j|>U!DL+*n*vCU4WD*e^jn;it_3{`KC{Zh^A$Bv~13Jrx*U= zggH>ge7)ugOD~bM0KHoS^1E`qX+=m#KPcvmR;|~z{T^la8M1QtpanNn7hYveOKhhQ zc@GpEbLgG@yPAm^ zzf@~wW5&3dUEB@ll&8m@IcLfK3uT)E@6wxn3Jy@_(&}glot$^`ljD;Uf=ibo`5Dc* zY*)*nO$W<@Lq(}6DcI1fhQ7NxeiKPqn+bwFN+MRDN`891FfGjCxockrnjm8p+zTmhcMn2Qa=4j}@D1<%19+6Z6XM~E13ej5tdO<%FoTVYQaO4zD(;7(vEf)4J_B0lGJZ{jUE&Y;d;V48# zSy#9LPS9j4_pq(%SH{N1LVpwx@AQ_dV0l^9$7M<**8-i)|G%_Gz=s6q4NaI)?w@d? zlym3IDl&&jyQYvU0K)F7Tv72ntSlr(fgMgSj$Ctd#N*w*_}!CnW*|cbRG%CUz#kvb zQ3TM)ab=PRues47akpl!23-_%c9oag?8M7_kdmY z@ihlh)fo-knZDs`1SUM)4}j0Te++<*M~RJrF&!QTltHl)IMVqTU`px;qZZ(A@Bw=f zJf$3)>nRDF+k*_{+xRkxnT0z4*aXNXp%nwkGGAF15C4a8^ zdTA#d|HXp+eY|pHaBK`wIKmJzYlyB39L!S(f{cI%8pf@~TA)mX(#k2CAND?K;8M&8>5;2HjDN|?p@o_9nCR$BW2TZqSYmDH&P zN&d$(l&9K|#s&xD>ontbbV(5zQ1GxD?|%^RK+xWF7%5)zY8oTmH6AS<7VvO*MOTF_^0GAgjU3?HvLXMQ}>x+4IxWf3!5EXAj=lf{a;of?erT~%yy!Att zfX5R!Zn-yvvP&TKb-qa}c54xj!(=qH<`ohYM@j0?EAjK|^UPFq<}e8H7VDI-?|%QD z1-{kEyZVv`F}0>S#)uS_FuaJ^nEoAPX{-s=Ti5(;-&xD*2F%lBynXX396D z#pKnhvOMpmBI9svAFCQgkn0zRwnq${GCq7&Sg1W(%T~xv%UhpCLE9d$b*b3DXhb<< zB_^&;LP>cu0KlQ+)QHy{hP@e%J4eflM=9^AT!%TG?cG$b@Vnl(B4oqcr~q8WC7*)F~;Y^v?tuiyJ_AAldmbSZHh=(KNB67}Uc&(kA zPmyh@QK*XQH$`O_!JuAV=9l)=ob{ulZ)dRF(D{Om(7dg!pC| z3)gI1kopDf+%07@=O(iz>}pmOf83#d3(Ytg_^ATCzov{s#&bu!goMHQXjo_G6M2?{ zum%-UNw-E~to)tKpck4hHpN2|U6vLJalU>>>iZ+K^O%}?qHTPuHplw`Ne_=4m-n<8 zEA|1SdVq1Vm{8Z*aYDoCAQed21pwiNe{90Ab&=Cvv^$Cp9F&s=FA2!u{yrl&`#%;p6GFm3`PN;ZMG3WU7a0sK!G>*{haiByDG2ekM7MH`}Ws<#$@>dNH|C-Ft zkrq1RBsbu97GAmnW~>z@tJI-Hj^ATC-|7GWQ=LaVuhUmxIbQ61-^PENdMI1T4*C_L zZ(#jYeANo-5^H~KZi-+oEiLER`^QCa7Rh+5G!#K9+m}T@y{EKyU{ulE5yL<5LFFL@ z6?4jZGgVzjUT4DDAl2Fahw|w0KPDyOr4B`+D(3FehPdHK8F}|6u!cWIL~GZM&dd~V zE!F|qs>cI;k2nH2Be&UXs6fy7`23p&=Ki#@J9A{MT7*F2moXfn;x#-tSUmcXiYxv; zW8JxA{8VIRu*0xx26J+9!1LWe@8-##lV5fVZ=^@~A2u>D<;E|R`E8?_oS67jG<*A9 zIIZQ*w>@=K`1ydftpQ@fW5><8wWTHDmORyq>7(BU)=8A!IsKuv6=jE$PJQL-E%s+8 zhU%y+?MiLD3|f4f-48EmU46}e^(EFXrzl&iE^7(!R61xK;QL=aip7H$I$SC^nknqn z#1XPXj~h-79K>&qDrcR`w3>im%_B=NvAFbTh5!c&52Zd25|Y)Ydn*-uA*XLet>q-h@+2ePPEVS zgRMoMmD@a#hkqNXtag}RXlQJW^>Woco!8ypeoUWu*20JYJ(y@qpa9B;Ul6e9wXJpM1Q&TJ0CEqhw`Y>2P$o- zrm2NG_1pU8IRmjxcEFRZ)lH3c<(LI$kFMm{G zvSe3FOS89q)Z+7eIo@%7at93f_+(EfTdB)ze7|6SpJv9$^4}Z|tVLk&weu?$d&Hyn z2eP8xuwT=*dGJ8YLVfKcMe&~#v<$AU4qdOCI_;M`i;1(HZWvL|{8%)?%%*UP?Czke zM)H zfnUDhZfuCe$(-NnfoYnI)MXK=F@7fVc}Z#+DJthMO%dm z{|dhO-xS#Euuo!nj~E+Z5IZ5&Dk4v(SxQT}LFR$g&rN}6r*?UDb$E56nY%MhjmLNB zj}G}djT=_~%|zf>N>LnFNuEqHSIzFChdOFi-;L3ntK;N*K{18lnfe?IuGm*bfwiTz zsB}w;vM;%rrKQEm(#kCwsaTvKJ(6{ zebCDq@n;DP(uQ{1^IWJ^G-!An|0UX|AJx;e*WZr!LffNEDWCQ{eDW_^tt?*bEm@? zp$(%YhgKOleV-k=DkQP#6gY{!Kl^UV)w|{>8<(HS^1^<;dSJ*efW1NUg6tuF%*Icb~$CEp-R_Qw6 zHrAs@GY;CVbBkAL1>+P!Gb>AE{7CrO!B=@@-_In(%mA#n9Ka2Rm~aMqFf h-BHwT?)U$Ue>ymKP0O8b3_R79!PC{xWt~$(696F-uDk#M diff --git a/docs/userguide/html/lakos-example.svg b/docs/userguide/html/lakos-example.svg new file mode 100644 index 0000000000..50e89e82b9 --- /dev/null +++ b/docs/userguide/html/lakos-example.svg @@ -0,0 +1 @@ +Component OneDependsOn: 5Component TwoDependsOn: 4Component ThreeDependsOn: 5Component FourDependsOn: 1Component FiveDependsOn: 2Component SixDependsOn: 1 CCD  18 ACD  3.0 RACD 0.5 NCCD 1.29 \ No newline at end of file diff --git a/docs/userguide/html/layer-check.png b/docs/userguide/html/layer-check.png deleted file mode 100644 index 16582914d97852ab9f3914a944be87bf0d352722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33512 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 diff --git a/docs/userguide/html/layer-check.svg b/docs/userguide/html/layer-check.svg new file mode 100644 index 0000000000..bfadb5c28b --- /dev/null +++ b/docs/userguide/html/layer-check.svg @@ -0,0 +1 @@ +com.myapp.controllercom.myapp.servicecom.myapp.persistenceSomeControllerOneSomeControllerTwoSomeServiceOneSomeServiceTwoSomePersistenceManagerAccess bypasses layersAccess goes against layersAccess goes against layers \ No newline at end of file diff --git a/docs/userguide/html/martin-example.png b/docs/userguide/html/martin-example.png deleted file mode 100644 index 41818dd0450d6b686d714ed9e176b3eeac6eb79e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24771 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 rA%-AsgSl6jeAKrxT=vvGP~uComponent OneCe: 1Ca: 0I: 1.0A: 0.33D: 0.33Component TwoCe: 3Ca: 2I: 0.6A: 0.5D: 0.1Component ThreeCe: 1Ca: 0I: 1.0A: 0.0D: 0.0Component FourCe: 0Ca: 1I: 0.0A: 0.0D: 1.0Component FiveCe: 1Ca: 1I: 0.5A: 0.66D: 0.16Component SixCe: 0Ca: 2I: 0.0A: 0.0D: 1.0 \ No newline at end of file diff --git a/docs/userguide/html/onion-architecture-check.png b/docs/userguide/html/onion-architecture-check.png deleted file mode 100644 index f9732eca052ec49b330df8e3fb81fa07eafb9d41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96464 zcmeGEby$_#_67_ubz=aENGb>l(o)im3ew$O0@B@SlG2@mgtQultP7hw$+FEkb(_5PAnA_T!nbPT5 zm|-$-5W)&>M)JzG|NJ@P5-j5wm#QEpHNt*^T4IL z_qzYBEBS&yyEzW-UiU;3W9)7=7Tb9EP(8xyNesnH8?3z7k|0*mQl z(fX%@X|mC+#QY!ASzl-n<4WP|7CZ_>`}#(4#Nd`u63M8cqt*}FFaAO?qQzgXJ4C6Z zSETAsyZ41NpBMV3C>6I<_}YwLCN)W;Zpk?L)+P0rsZ+b;NI0v6%)f9co8!54s}r+^ zoyWI*K3gG$*jv}*JxrXM($(KkWU+Lo5xyRj#d5Bcip7(&zZ}E%Shl5|t(P_Z1F^T; zl9hMk*F7b*{Kp$5uY`Wye;swQoH#g^YTdS$@+AZgeaCJqyomxo~vCc}V+A>be?!=bs zRwk;4cGedjh8Y)97j_);t~&V)jPLnbsE}kDy=I@rrL4X-r6@K{+{E^kvLDTbc*jeq zPRGO2bt7oItp0j{q_*X~TY+^ygdAP*pS~vceY-uf{VS5jl9i&WGD-<6W4?m&Tw1;D z{k!r}$8g>26Q$F+^ws^>EcJ1Hvqeg8H0<_#CyOK8rwj8+CS@N<&;MSZ(OzWe*W5VD z{g7g#)PdSOMZ|jC=;0?!(zB~hsvjO`Udq-Mt?KBBAV45I5h4OlY-H!>js^A(jjWB&ueta6o5f^=&SnBf4rOVl4&0s3zDyTT3*^18k3i1y% zd)M`lzXzfH&)=JW9&XQ8`w-z5B-?@2@xw)^e4}~F1IbYZ9XvfFT zFO=f;ljr!bs%Jo!Ql9Ul{!}r%!_T+*^$xdYl2GvDpl9uF^a zW5co(5f#N@lNLp5(w`lS#^A?*JmP(|VpGgElg&JJg!m(J@(4DxCbXwHs~y?I(%gqdVyR~{>Wt!Zi!QeT*#FLB;odiwTi zIIWsu9DOdQ^^CW3LBxB!{#*^UxMIgm-QC(ElL6m|rM@g0uOB~tOfguDSLn_VyKekA zJ>D-m?TThfH|U5-t`iNX?uccRTCI2O3!^0x%!pY_k9MQA6-rjmmF?_ZOIO(-p@XBz ze16g3hqu48W7?C}5zS=Si}g;k(z&#>bgarvZR9%BA93s4YqVbzMaAX^**jVG`8#<^dE=!v^PP!&^!D{hWnoJFo2$b`<#1!kf_`Cjd#fW8Wp*@= z9to`YZTAWND%hx1`DWnbwrcnUWRFK%=Y^qk>v(sWLRU>)eboOhlfW@WqHFT1*4@4L zXm|oAx4mN7EQ(W%TX6%E0h?m^ zoq7g==|ZEP!jBAZ|7b&+PWHuFj&Jyj`rPKSUy;5QJ~GAj>L)*keE()sz-vn`=b9UZGWQs=sp?@8<&ot@{p61CnH7VfOK@od&(kqE0-IBrgyrjk)m_z|^+ z)1(tp-_NYW<(m3x)RPt=-_hJCB$JtTY@mroI~M#(>SwX?7RlOhkr)T|4Qax%@^Tul zOlpNp?x5MuZk(MSPf0UVd$n?E)>EwN=;|i# zNe@LTyX)j>R@R@Th=g``^Re7HUYdBo>#}DGFCZ34M>`d5?KAjm@4?NHwzjsA%=#Dq zlvZ?rfJ;GfLkJ$@!-r2fuzdy!*^)fY&vJ8fBk43khLgnHk3eTV3;pW`!PL$;79Sej z&vP{;=~TLvs!)FToOavL7(*(NH=aU@XjU)IqWV;^uq%c|jEco{P?|7+fQ^oqSMx89 zRfX0n<`sY45c%-I1sU;UnLW6vKYNpj(I=bxSx(j8_=QhM__*kK)S{ga)WP>Us z>o@q~oX711?c8LWEw}Gx8|@A4AdI2XcOERWGYM|$OyF5wUZ$~r?|kn6>^-Va4-vQH zgT4LriM&eDA+~dzr`rnpe6&JDg5?%-MGQ=LHc!4Bqnfc?Y?>^|S&HLqo4^a()iC>m zUS{#XzC7C&IZ@$cBQEZ*yx_3#^C=b8zWePga93S44oM7^`)`K>qn|USieo6{sFK~9 za9QWsv`CkX@7=4Z;g8%=d!kwGUa8*}F`O0Vw)(X}$IwRMFD%@_}rXo}Ka$}oUAOh{FhJ6AKt&uSS4}s-t@i{Nuy*wRqq2QI34b8MeRq=e&s59kjY&J;&<&zw1!p0+X`GPX2Z;z&jkeqTTo77KUZ$R4$ZiGIE`V|si=o)buv`6K5D%951HJr4xNHvm+M@c6=dk?N{ywXJ};pYc|KXHrpq!WMTCphMY zilRu2razwZDgIlYf;=a&Kem3X+It!GIHu$sBb<2QYn~wOr?3CtKmNZhgk{_!!_GL& zNK=%8=K=x(uC5i_E$s#7<8!zdaK%zELvsH~83zlC-Eto0`DvNq+q9cmM+!6=Wwr_vnNKB_9L}ev6()6Bs9LsA z_zgl^!*I4)@&0IVov&a{wB2?ZZR`@8xpcXE{Jx6^v+<@B6KlueY>nt<-XI=r(c7h7 zvyIWIKC#)h-#hK%)EbKIBkF&Y_ZAIqQQ7j`%*;&Q`F@cH?Rgc}u^%Gh7kQ?8QKrYw z?Ye{dze>^A8OKEQKm6yei)AX0@&_gyE1hB^&`9v2uQC{6%`;o{Of~G$lRY96J*_c{ zmZaX!jw&hj{$o^%kBub;I?j*xVk68FwF)dsjdr@n>Z3^l-3GTwGl_HXruXAKCYw;pU9cU~j=r4}3@EAL%pdn<5|!DP7SpKR=8G@f z_AbauG{wGm?`S4eiuy`h_$1HK+dD{m|7{BwU_8)~k&)36!^U*VlOI`LIi>rIQ%D_W z@JqtN)1Li_H*epLjg2+=-zCK>=$s9%i?U7XJN+^>HFXsoUmC#NWfasfD!I7^JgxTb zZHr9Z245ts*dumxjA-7Qe|Pbw>3R*xisj}3{{Gn$U#h|ij--gQQ}Uh(qPlUN9S4nx zxda{-^Z&TqZKRu}QQg^?GZ|BLKDWNk2Z-3y6Hyvu7np!WRCz7u;NalXr%w*!PV>#d zq&IHdz@t+K+$>o4;pXgi0SVy0vgm&Mf_)AVQl!$=+)&B?(w7_SaWLs6Rkip~F#Cv} zS-w_zAi*N*qgKGdFtfkg&*RTTT5f5J$Mna0t65sr?yAm@Myfrkhv_)g0gUV}_3?0X zQ!8e(oAf_M6YCCmuq6fWjEYUUvGT3U7cIPTx+$>wXelcpAwkd&*KIaj$$a#Cl6orH zE|b&N3_#CW08J-cc1!X_8gbvOXIlZ(`sBjT`%=Xs0nAaSK79V6&}2Z8r$=7#n3<`9 zN-m9iw^uGXD?QQOd9wDsv4~4RFNr-wo;|p|xt350+Vq4_<_l|!3&QbJT`fC2#M8tt zTA-lP4X2coRY?m}<7i>_G-9(ddz-f9^(@hCFIxDPuHnjHK99?u{D`0z#C*I!qWkx0 zud3&&m+mePsL6)d*VfjyhEaVp?#p!9U%SukDE;ncs>aJwfX;l58^71a$`jp>7LV7f z=`|?t)2S7Uzl)HFWgV;b&^n>n6C9N8%23RSd4)Y)YP;A?U{Ud_)W$G%20*;cyrlj_ zn4O!k(3ew2!8>vZSeto{?&684;l;fGO_4ami(@-3<-&S@zx$()XJ=F)(h+F1&E0g-@U6oLmgTjDS?zj&`;J{tLY%bOpzUUP2c0N`%CI9z0+sj1oO{`xXX zeOGG4qyF8D`$=UJUv-{iviI3#J|@06SsHuC|hcY+&xdU`@a3a2M0t(N;~ z^|h8qOKsrr^eS8HfxGG&8sYZ4&lbNrZcYs=lkExmIZKL)`l`yRhTY%RX)og~BJI5; zgZ?aq|6*wlrZ(vC7v?YKex{R{~}H+>J-G^M^-3mHcpNozKtQie>>4BnwtryxY;J zfAR4i)$try&vkr&=L&m8s5sQv_wVPd2nh&$nV)Zqr03vJ;gK-IKt+}1D-sj)kX}{V z>b1|%-}wE*!2Gw4M&fWt8NHi?%t{s+J$;_ZKyF6rgvYr?NmgN;vt;*0(6D?4-n3|W zj@bPmY2Wi)1T$-*_ch%jH>#5>OJ>(eJfESh$uWkrNALUyudxN>ix5m?FmRBm+t#%v z0k5U|RK+P1sd@m5TRD(tWuNq+NKmeHE)sV0x^;i)XVTkl&Cf4xGI|aU4pzGCE9R&w z@Kl4hTkg-1tJX~~rU#qg4qA|KlV0th4!a*ddy#?3CibM<`P z_xJASEX%3M?h77eN+;C#3+S}No1>zk?aEiE=S*88?zQ-DGj9)%yT2B;yf8DA*5M5cU(Y?bSwxW#nt zT5K`5t2&e;4XDN+=6T&PrY=jJ({T@Fs%^MiEnU4 z0H7bM7Jd=_V6e6ttk-qpkKr_37*1SF%rN8yj5dwYS99ovcJ{K=Dy4&;t)Yx2W}L0C zO;<-sE^y_0gc?XZJ~wGd%W?{jzJtx>u!g-UWzK^B$M*$*?=u=B#KgqJ$N&Cv-@1p} zz#z8TMy7+4rJ-mzx1A~UdwW=%3M6*7?sH-j5R}820Fq)5^Q!aKG5paP&OZ^@4SfG# z#&p4zEb-@&YsD`owiH)YJqGrwcDi&4N96z-Klqp8P{ zo#PxPWr7+$!`AkGYsJ5RzZp6dJ^{P_ ztN8gPZzd7lpBH!xU*1$V8{0y1lvC%PDK3#Jy{v^Z zPme1}aqV-|*g33x9^NUdp3nwGH(9%$&hVU`5XrQ+GR5=*9!8vwcCkb(W6aeVBL#YG z;)%qo#k-@5v(e}(1XHr@f+r?14;$=x_R3ClqcqsS<{|e;Hu{z}adU}_#&o>a%ukRZ zw%l%VX11sLWHRf8#62J52zM!T$=ddm?xOcd1QGY+ZOXObzQZIFuR@cf4W>z1bo^4A z6jmnJl0z;ky_1RB^PaTeBc>&>U#Y#`va-!BY!4ERYK^$F^07@dHFh$0l-F||2bdet zM|j(rD<5-KG&AR$a#eRQCwi|+j@~~sDo}&_>&T0hlanJQB}GC8u<*VwGM^!yO=;!R zs|u9Q?n}OtW8}*a{}+I5vLfC45Q7>p#-4T)V;iGWsi#4z+`XGTXkW1+U4m*Dy~onv zxmhz6S7tWr_1V=#B{etal^)r@mT-q9Mr`tKR<=_le#O#}oeNIxOx!;U^Dr3n{~tiv zlhB%Lt@s|bd-X|q3|j=DN^%iT6j!oB=^dYV!DZ(=NsB{MSS61P6Lne@m6KNReh zeb0zfSo)=I>Xxwuan6x2fp6nFQJ#c=iBxW1V-i-0}Y^@RW#VHM7J)b z{0qkypzYI9{+MpwB{e3$!GWFpGMvgK{R`tmYx!2*OG$c^{hCE^|e__TOf2!%eprW2C}swwIEX!m)cD74^n?<&6cXQuDV4 zTa8~DSAVIz7u{RIY&=i7`Dj?;I~_^-M$v3+(-K^gy+g;;+) zy42fmqbB%a$kre<#5nDYSHXwVt@fC5a=t@rT>iOCLn1Y`NQ+*O*N%@|Y9e(;x}8eD zV5#CM4;c$PEq9^xY1raH$8-uge} z3=72oC5KQYQ@x=HpIpIDF*HrtZkfJKh4AJX)}InLWKxCBPWS!Z82m*wZ>!O-aQv&s z)BDoWyd+WrQ$6_vO<`VD1RhF6xSlHjo>{Y&4Iap;#LNFPQK7H{dunDfT#J*r)0sJ) z71qwQGmv!3yicff&b!j1mx!B@(cb(-G{D((L2sC_&)QsU_T)VKEHLEri#5UwTYTro z@=o4YlrShCQj;^jAi9Z|&i`+bdAe~q?8kYtxzMlU7#W^s?24YrxQi|M?P_`3?kFy( ziNJFP{kRp>{i5rrZSL?E%b<42muTn|QA`^n5^U}h{&r`4IM#~=r zLP@#cf9&*d)UVoMZ<6?f?793Jh=K(B)M3@5sG3Q|4R`8Qf-z0AR=mlRo({vTV1BU#q%>3$;@IDd!hKdeBs4+CV59sFl z3}V?q8g?`>QyD7Axl~@7cPApI%P6-oljOOtx443%uulH@%6CISm!2Vs@Sdu%ot*E~ z>`#<;81`$_XR$I#2Lio2^BUE|iE$7G;s3)PxlSE?mh} z9C7iJYv3;m~w%%Uybo(C?x4hkw(PBt^)-f^b@feTM=pbN{gub$R%Wd`+ z?(3c_f}ges=csBG@`?R?PVa@9c<(9URc4MC>DI2@n5r$J81R)m`+n%P!0?dcsrw^@ znU$(BQ7P|g9D9wMl%bApH7I#^gJsp*-Z?7gk!+q1{7@8daO%d|Qq=XopSo@#`5 z%TzM{o?qt0J2c)JZ<(UDa+*mDCQ%;?D5vFvvO(Z~OPPO7SVRKz*FsI-6%ukV zO3S5nxnrIarXL;i%pT^$HYB<@_tb?2vcVV9loY)p=vI`k9^MFNw|UX)e|T-)&tzYH znDod;(mMhQejBg;M+Kr_0_<3T|Bi@J12Ik5@wffqpJFqBQ+e`IvfsQ#n zeUDBpP+hLMl<(M3aa6pV%?}q8I~H6OyeenWN#sthe)zyotNt=#`rCh-%t55sKK=a) zd&}*i4ic`9gN(^ij>N%fU>Y(eqB-e}+~Fl2nt3{!;qIA_-Y9xC+~-w3e0^ONYhN6l z1G`{$B|?uaKqH{)@&0whS1F{;*gny|0oba^if8X=a@kAJ@{Wqh;GRxv$u+@(t=I)6 zdwG>ece>dZky#w625qIZg5|=xB!N^D1fw2y=ZEFhp&qiyXOQUs>A z8l|BZHlj^fZY4g$T*`&;#6pT7F0R6$;~qu39@L(!u?p&-64e>UL0S^?4@0jx^Zt%= zX!vp=|0m#?)33AFFtd;W^8C?xlMweBc;0upFTUNYES@O>@uPd=Gq{|u*roRa{5skm zPqY?-VrzSuU{14MaBwijxp>yBMz)d~T&?dniBE5B{G3)ZZ$AeH)zM2?{NOpS2)Q z(9B#!T-W8QS9@J$6@bgC(q z_BM;;3AAlZM~8;;)8aiWifoQjgY&*q*U;ODAiWh6nOHTb$!zS6ShVFd^X#!$+|cth zBTIb*HD%F5f3f<^eWfaTl8COq5}Q8oD(X7=fLRx+49-n|4ZLPSz`b8HN^4jWS87Af z%b~f3g773X)bblv&o>(>zQ;{|1{ zn2g_P^vnip**Z|;iY10n}&safO1bSUzSv~FIsiJPcYB7k+Hn-F<0@* zep~f~cjZGZ3C zd}r7@u#VT9qa@YgtHZA(K@*7#GV1|{*y>mh%d=d+a&zAAR9b+fSIlH$^{!$NjpnGa zmEwHR(b|q+xO&ZsZ}M!s%>|E0^`Ilog7fj3w43ZM;QnLr4X4?8rK<6R-E6mS_GhJ` zeBGcKvq)uQf+EM=+qW&Z$O>)Fk4kI@rS7FvZWz)Z^RRk%eQzoA+H-Q00V9o0R9|H$Z;0ENK0{bosv z3&peUh(g*ja477ah2j+)w_5t zQcmaTh3?N{$L4DzYxDNuO^SPjb3-rfL%aIjS*^P2SMiD`oGrzwAbWdRqUCX_@YuKx za_Bd5ss%5hP$DrkJw1CF9h%52y5lciyl6#vPU8P?zu{4%z}a1ny^{R(JlE>}Fx3Y4 z$G8j}pV|uONF4&y-E?=u7ihLnkfealcrFUuqEHH{2(-@m+V^NxRaHU(gm8HY1DY-! zb#P_nkf^trisgcBp1Ssc~j%>JIc4rSw0;aVbWnzE>Zv%wcl9 zs3=?LgQ$qSk>ZDDAQS@U$2+5AHd{k*R($)FL1+re;LR(3x73l6k^<$B|HOYOxL#In zb&k&b9pj+DGwa#}F_%U#(VU+puH*-fx3*o4eu$B{*t4&2rK%?)2m)?rDz4 zhJ`#z1oD!$Qq{>;TLOf{9MvrgAU8{T?@DF<{&1+tXRL$s=OEf2m79$O z(Atkwd%f}kzpnaG>LWAW^24l~S_+BsV_bvB@w4lXxeGU(SL_bC;ZWCDz{2sgTp6i+ zv^>2!FdH`_N32Tb??(+d8O?(&F(>x8g1JNZZlQoOH+vZ<*wMj39Iu-y9fFk~-^O@; zErB3kPXG!9M8um1YDpHfoD~c1wQh%xVEOr=sHj1xzChKc4W)+lx?ZPni*}cUOYX_S zRwe7su)B_nsIjl>9q7x3-hJ{?xWs%6x;;QQk(?3T2@mEHx+;kw|6~w+$_x`M7uN@E za9pGxn3E_)45I6_Z#Gag(Q_2cq@vJ=-&L8bHaQo&3VfEJQ3##pV`T(v=3!`_w3v;A zLsc}#yeg+6i@~WQr=xT`%CB@qlU>0{A-cPHk5|6sRiCMvqnP?L%z1{$hTsybjA|Ra zHEiTz;~00Dyn4>3aO&*7cLs8p?fuHQ0A=90VYwAC+Cifo=@K`R8db+)wps*bS!OQ(Ge z36U;GdFw!)xbaZ{9%<`{Vw_Hm)D)GJj6mZLc;G*jA5|Z<&g!8A`RV3*$FZ2AGSV?)M&DNSGh~T=Oz4m_Un7&YWe1U^6#2y5{VzyQ_F9QPuIr$4ZMCoe=1KW{K z3mS06gFXzU@PKFbcdO|S)z#(W0%~K$*`EkG>V9260_) zE{@N`UF?=>nY+;tahrS9Z<|ujm9J1QefRFKLl#if0I`$wYM{G7tuq+Slks-r6XsVx zA1Em)MG{U=PHhq6MP9XLDv-(7Z8+Ll#KOa)s2+q{$J||?I6vK=h*Y~&_rQO#+<7-s zSQqNi!F-zeA6X_%G6OP)on9EiUf-a)3PHp#vIt4~TE2-u5K6v$`I4W%26_jxm$mWV zF}jVESU6Z&0W^(7W4)b7IN>U}9jNH`2v7S8lVK-z-bxIM$qdjtEgyiBvs>=(h%O@3 zW~q&;qE##QCM!QsqI+2~(>oLSTyw3W&;~4D{q4a}Zrb%5r5gFQBWTmw$dz#boT(?R^cw`deHnJvb-i?Fs8r?n#^T-@B;oSdB0)Jq@P#-&9`RJ|Rgfky)S#q)V+u6RFZ zv7j9K1l4Iai*a?R!D?N@Q6H_gJKwF(d-(9-lyF=guWv->dpbJMt!lgFh`oQ1)8@JV zlbp6C{=dj+FYf#yr%?}mxBC3W*QPUFPSV~fDxl!xWZ^Ulb(_!6eqv(6W1`B9BsQ7x^ABx8rZw;fB=6whA*3x7IND56D?;Y$aYir+%(UbJ8wJ!sO7M z1^0osNJe|gU81%H+PLpB8C~W4=7+jJZquD=#lA9Anr(to)_9T{I#}z z!C`Ar`9BWZ%bjUZ+;Y+ge$Y64HuE@j1iC*%S{JiF&SPci!UgwyzXWrNDm>1s z*s(t%k1vpW`*?mm!QrsBAvM$QXt7jQVUKJWt?&65n#=AI*&c;NOjyL(jf6p^^W05f zHbGlmxy;rGvnx!jKA`xT(I7M~Bjm|QZpI|6Y*{)+@bN7rtp!Feb|sHV2@6Z#YEb)D zoVhenU7eM+3?`6b55Xc3@M1sw3d25AyuIR6@$5axX9jyv5D!UbVN`-vA;u}!S!s#O z`%~+O5<50GPLvpacHBVCcsaMRv)BV2Z5dvZBSkAX`SCJT-ChDmV!0F(u5e`%(! zh}Csc`im&|U^j+^_FXI3IBeNr=t*p_<@<~~S?`0D%m}R$V+h>#^Sv2zyu7@IT?yf6 zp7|{_@|5Cr%HIq+1loLYXpqFaMH9!?$eonDNl0Le;zkOZVu)lJeiHp36|UYTC@(MX zI^R+}EwmFKNxA?A7({00d(`@TpXo_dL7eZw<7RUBQ+FUDXbh&ot zD$aV2V_rusYfFa5X<8^N{ws`*uqQm~MaJRmuIrWi_0_<3l^wZq<^1T8`Hwd!19@5& zLj|dDE-fxoD|{j%b0>u%DKU?$y`fBHue}cEg;rbJb<+6!7TsUaqRx){Q%J@ILDZ~q z_dfsR08K%2l$F<=s5rn86lb^m&5vX`0PBSZ0M<3+u5yxY9T$Z{nYOtZ{6M9 zm2%Y~2J-w=Ng|6^!%aJN2ew09sSavu@C5XNgCB5t=cufpVP;d!Jf;y^%(*u z^b~{DE+IU5goTA)jeg$*Tsm`En}X1z$Si&ZRj-_GjhZF77ur5E&+H)~KoTtKqpm@! zKk!7G*E~9p(;pV`A!eec7Da}fy5))L^J~Pe4@xfY)om(`^tVJX?9Es5CF1W24ElIf zF~1^ho#3ZYDVPC#tuxuAYZTo;yRG15b-ZT=J_889NVK7CT79~w#?SA$mU#d2%KPcO z;+*XTot3BEZ)4<)0|ptN(bZ@V7n?1wuExj2Py>MRlxe81|Lf{i^TDrA=@9ns8Pe7< z>y(XEjhh6^uC&r>&rv3xeK_D4vzWZ&%@O@r_c-lvYJ)ANt^^f=2aLXQB?$*GBQqcG-U<;&B%1-&GsU+X+m4&i1Yq1z!O=@4mRS z_i%B^@enTdn^S^^IX4k26X3gn5MBy2aX{w};p3QfVO+{DRjBYH^VHQv+d2?I+m|n2 zR?Y)1ccSZ7i^GH)1suzVA&vg=WASXgM*q9tSZHc%>k{zy>K**5;AM(|ZN90x-GWcp z{_X}A@G+$!n!ssW*R2rRi4Z>TV`F0j*ug^_3*h&ZkS$j;MTEp`b-#&p&RwR$Lp+G| zR`7GAnXY3*1Wba70^I{RC*TOiz~_G>@pr49J%)nFqg3T1!zx5gf3_pd6-1pg6nT(p z1cw9XN}oj&1;rLhwz5&kJORF0ODRsYB5J-y&}j^Va{`hGye|{roX0uZ0TbMs#sV1= zbY~!&2TJ;jIp_%VW#BABLhgk@3^*g66n1t+!Ac|~X5i3Aj?3eLRQKncUt0G-r)LcaoV93nkn%GHx!=~ z4^e}7?23GcGRw&~fq`8YR{0TE?y?5;d%~*DfyhhvVPqEi2yJCZLm&z# zG8=`cBM4D+#I@3BqEf}Su3!64yRQI(f1!JZ6bTI( zSt_u4m<-y3&^+}3>M?zLQ%dMoI=WzeEtd#X>6DI37{XxQ{@m{9N(`!B7D7sN;i!lf(H$>r0mGAildf+E)e89ieO>ONzjkdvWo$ zA|fKds*2(BsDih})DcfyLp2yVG?Ti@=LBsofClJd`*1#g)AlGvh{_Ram#zuo_ZXJF zDaCR~hr>bTVHlxc*^^|q9#D_A5qY{j^uP3#^z)04OTd#JMP+A(2UbyE9KM-a z6Dyw$wZ53>!0!SKa_7#Snf%KP{!k7EU$`+@*O#SK4UisQ{l(tZ0( zg6FhjOabD^?qUxG)PIPW5mz3-UT9Eo1h8{H8>t1Cv;ddXi_;FBJ?QL4M}<%(2FvAY zR#Jy3gYyl;_>8Xqk8zMXEQ?QD-!I|UASs$I46X+oK#vnLM~Oqg-UV+|O0D#v6&#?> zM-plC6Vl%XVW98MzR_uqWgwmGvC4O_D%P~~Fy@qjge5_U7nRx3B6BweLB14yy zv-?Kz4{KV(yB@URQBlgt0zSZRlA}X3n>Bh|x%7Lco;n#EFfe!`(L8M+mpL{;+4gVi zAx)GN6$vrnprII$ZOwb#lH;7h1P(&;yXEBIpmGNl!dgqR>NUa>2btQQ9j~|Lc=mjK zHM{yw(Oi9TtF*0GL2mY0KwC>uSf9>g5|U?xAKtxtC3z|6*m~>cUx)%@K#|}y0LMZl z;m-#X5_c-Z(4J>&TU*oW+u{FTaxjODD5a;E;72?VgPVe4S)ui;DBL)fpW=9@0Td(0 z>nb$1?&_lGl|{(D`3V#cS6A23v9Uji0MDzRpCBgT!dwbmo>0JvO;hj%%jwtJM=K*{ph$Z=2d73=4;+U0Na~(9dx{%WfCr69fv%GM-yiA7NkY)0`F0O`^k751w!?5=ashGEZFqmiQ@%x1&##(xF*i6bv(prNVB zuTNN6IZ7Q77g&*CZ{1{0NW+!6(s7OL#IA$Ii|Ub57;}T$MCOFIbsEW@}PG9ufevPj;t@$#Qv)>K|) zA{eVddKL!cn~fG&OjH5)>Q9a8V#{|xJ(4lEEp^%4@5O~({h98d!L&pnFk`K0JV&)1 zEFK^T6`nnNHr@CU7;%7u=3n3+i!C4K7z%X!EXD_U#04wA0`1kU0X>GT0=|{A-9`i$ zFZ@heuR6|!%jKz6R)vnuu$)PHO4=&|q!x7wKeqiR)H^%uqyUw;*s1&Vm1~g1C;Xy~ zxnwxEa)I?w^{7|AZ|t95RcKWCfp7RI!UReUB_$5VOIrJ>ptdWUH~;c{i|pbJ7cO4l zRz&R}hMK$Mb|l-ZA}ABQ6HGb2^Je@5`#9Q&K+)Nwh&@g=S4$=!h^5#pG1#-r8T(9< zA*m5~{)HDO#3LY314jwPlr|K^KRy+L^v;KeaJ>?A2;uo&ooq;mD%tiT)Ox@=fwfD` z81n10kVQTX((k~42hxx{8)2etc7UK+Q4M`t@oLQtGIDZOll~Q;0tTZYh^)sM?Dsl{ zo{+YUeypa!>xP9$b)(P-m7u%?kz!WqelvNa6U~+1?>=ANT1c(ZD>MZoBIfgYka{g}dkJhz;*z{J9)-&u<*A2VWBtCm=uq zyt+woQ_m}pI2UU9&#d35JHl%C)Bb-Ie|6q9-aOix#5a8h7g|cf$e0hsuZs#B;;ciY zPPsgB1WCp*?_=mhZDc2XO}lYan--;wuxi*9Y48p5xx~#H*QD2Rt@%KSjgjR4Lg<=~D z)*mJMilV7Ch>eBLFZmBl22(mSmp#$hmGIT9UyA(R;V)GPv{GbfynDm+^#C4g!(Uf| z^nj`h=?0fxBRZI{o+NgoY>%uP`9U^cktW>&8rpVLD+uo!9F~}NRM>icgaRvm3HdM5cu0yieHXMb2_OVX(Y4RTQiX+vS z4B~M7tzKMK`@Q>Kg7F7pa2QJSu5NDU2h$jEh|7|gjR4orpgOFFr8oPm@juUjP+JCH z4%PWl)S4&oD6jgi4x~;qir@bBT&yb8N+5&B!omVwYh!oEFTdl~U=ua}agf0J$KUj! z#y(f8dTo9l2H+mT8FT}P8^I-Zq?_=Dt1;>Q?Yx~X>y>P_3(|1MitLW~5V7evDrTa& z3}>Dh{Ou3~Dn-T$fFY3(@v>*OJw1Uq(TajlnQ7K} zOhuLf*tS~hOoL9j<{!pUvy2w2`{vTu_g%cl+2B>dS!UbJFchy07JOhLXw8ZEn>rMX z!TcOR1_FZE_tp4+Js=GrY}8cWm>RueGppG4w=)dUkdvoL#&ePcLKduOHOOFpw&ny3 z5{wX{W|aSWc)5JNYI*2eI^2ZnErP})v(*7T35?P{-M?u%>+m;2DR3!}h{8>na2Vi= zNlMT`-u61{+RU4V{}h?$N(e+juw&$K8sax5y8*r$bX0A65<=C!)&8dtn(3hao-yLz=%G zK`0U|9+uUi+b zV?==utjy-&WOK5%`HyGEgps@#x*^{<9AH2b6Vq4Y8>s9bUB(6FaKwhG3JVCyFhZb? z2$CSA_J_Ix-g*8(UzF+hKBRk5^q+zJ4cUuU({cH~Ij*T)l*dhfUC}Or$#ck{07i%d z)aSj0)2MiopS-w|W}T$~0?5~Wq*h`c9vdWAa5ST~d2~5K4^(oPYrTTW^}rJBqS*Qi zL%+UCY6TH06LBS8Grm*2izcaALVbp1P&L>Ai{ri40>?)1e}} z&0Oa*eq48rW~2Xe#$act+j9ZvrtE&+88RLxl3v+ zUqnvVv|KBwxgT?oL4RFE=d6WI|6iMFLF1!j!kwmslM=I0GW=CdV}yoUpsYe!xO@K= z_Z+*<3N*qSPgy0+iy|(hS}#sCSg0>|+IZ7=AaC1!J@5tXnNedJM>U}`)fvula;m*_ zeA&$ewF>79*Sn7m=2`~+x!Hp(WCK1+F=t`nRq5|f*Y!+?%H8BLhtEQuM$9u_yPAu z5`P~L+Ah6YcN!HFmB)arT)K;ibP5f^;@h6Wx_Q-`&fBcCcmi}!ZfbXvcN&eSHTbP+ zi3(2**nex^X<_U7*V^d!Id|$X_`=lg-_!A@bzvj(k1t>k5PNBT+hpwj1~ z1D<)UgZ$bxB9sIeD>!f5?Ne+xgfTv^T#ejSY6qYBr{)DbVnp&Tw{*}y)Pmk8L0SX; zl3w{MKOH+~><7lpTc*R!bAz$0@HP(u^{aj|R{`~rHEM|8+>IHWj56aLGa_LL3A6r+ z=*4xP%F$IEJgjbxsmz)ey8;+6#fD0R3SB1XJ5>WO0lF;R9IR8iDs-sm=wWI--3cyh z9Ab2A`YqrwuIn*ilj9@Mp#HK7bdHYb^G^h#o$na!=4Faa7axtV=><^Zu~GTQw?6)J z5F~+Zgjf9E4&wc9^L23v>FTIBR6DB&>(A}!S9#_}E~B6cr~BmCpK=nEd@wmWqi}rm z=n;I~gAVkYNKPt%ShTshIoxCIhp!nReV+0$N&H z@C5;UeASTlLU(k3F+CC2>m~s!x6Pct_3-9&la|}Af|OJj3??Hdv)Rl?rRkL%6m!*8 zAZfOGmLZ!8DA5}D3PpvMleKW+G+w^I_6Mx~N+{vi_4iOGQ_NPD39GLWP#VsHKVsg# z{d;YVP7-qUPX|B3?N>S8G2)|Qp?i|mdx#)MBTG21)kbZb4js70EQ+$h9kBakw0_DE|A}X05b@0LS^p^`2MtmNxp@J1)xmf(I{ra_f{-To}W&fQ>829 zX}SUAfp2j54)s(RAVii{vLds%fF*$y?}tXOQMS`aU||a_1=`e<6z?U-dcq>$+cKa; z=lx>Wnu$~$$R2W1JY)&{zrHzkw!xP=Xcj@`n2}-A!qjvHh7S`x&JKUPy+%W}YV!>L zZ4$!|#7kUz(sjB(0iakf(^g=&}-m~{KPUX0_ zQ|VAz329{bdhCtn9es`xad+rq2P$7`vRU~=dmWo3?FIF=$mD%0;c4|H5}oNlevgK8 zZ8J%iygltgFogww6^V)Ofc$XL$Y^p^-xdyC5QPQVz?&a}2@3b5!d`7S{n(N!!=;R& z(DJ$*NW7JqZqJ@#Ios_tw*CD(c314VLmq!oVx{J5%|+Tdk3xUv{`(*7ZA3go6Rl_| zJDrA$es>9GVbGlH$mJ5PE%FT?O%?U_q+~r=(%QCNn)%|Nz&Vya?5afKuV3h6bhxFInB@d7DyRq}4m^9UD?)sN$z12VE!O9wq!g~m$s!AOT^h*CTk$gy+>zY_WJi17*EDU#1W=RIJ2HJOw^#XC zIJ;ejNzibHw7WZDd%KG-Yjb6HKufFeRj{fk6W24$TYcIQ5oZ$=yP3GOsw+d^glJEp z@(TD`ajytDfpy{J#=&apWuG2vDHwhxXw00UVXpo%p_BK?P4l$|T9{J~zfr12#pnJm zEmJQ;jeMW@F4Ty&LXF|WWbMQGExa-H3i}kpF*dZYmYvD4`-{>qi8d)mc$U3s89aUw z#dw)4&J`6ongu(ZseM(?ISDkPS1Oiu8f(PMu&$>Oo{45%BMWb|KvlTjswJ*YS=-mP zmO8%c_-ys-``7`=t}@;8kC#)csdvJLrShIhRZhz&atImyI{o!zNyPzwSi*Lsx5LKf zsB26A$JYC;@2n2nqgxwa&CimTjJg#Jjv^%^=z86j+PVAE;*|?-9)9&=zG8>lzn8k* z-N}?}(3}(4egO!QJFd*OhO3>peCg8>S3geKpHLB=40(!Aqx|(#fmVg1Rd9B12n>q1 zR()4I=DQ+}5grd+^dh*Gmo3$NRW^2Z;gXgj=Lcd#Y_zGV6L&;U(r3jv^FMR@ItN5! zIy*c2oyZi0L#Mi^^$=v+sMKwNuWC8Fck^ThplJ~pMD`Eo%wuA81EWB<< z5H1+0sHmXKZN@ex6CHs|uX&PqelkBD$fsHG(ntOY(=(Y?N`D+m>E93|jYY(`h-&fC z-viL|hZb3p{pv7uV6A^dFMP=Vse5U63y&s-VnQp63=dB!l3TQVkZ)^)>$Pr^2G)%y z#*y{{B0O?q?c8yD%wv+a#FG2cLyFjFuNLPN9!piFtMeFe&wXb0T}k3DB*`-vq+l6f zwWm3g3#QgJ6c08WiE$lGIsUBQ`)!S(Fm^cSu+D$j?l@AizfzjBa3iDG)uxc4c)hjC zu!)DJ#NgT=D8q_@44YUH62T-9&Q}6Uc)Mn<5`D%!?ftGY?NQc`_6(*0r)1nuHic#x zC@EhZZh4$>s=RvjWzWRdxIDTJzQIKhDwxNB;El@{16m8iVq#R;;*Ta{RY5RJT5{O) z;xWu3v_?iv&;Q|UAJNf48^C#T^1RHj0IU0^-mE&BKjl`tW?s!S*^-F|t>{X&#{ox6 znTLmDh)j7QX~FBoCZW4L>Ivv~-n=Is5cV3D5Xd$PRG^6-kl@H(Sjq=u?deG&GQiu- z3C{EWe+c^uudKsnTSX~RK@<>aY3UaMk&^E2ZjhF4P(VOBr9rw;K)OZgkd_u{>2A1# z-#O>rb=O_%{sZuPpP1RRXU~3qp?9bn8JFHzC7dQ<$V`oue&X-MdR3km@RW$i?eWK_ zJZloU;un(rxlY}AS0Sn9ko0E>8A4$C;Li|ST37LS%fAcubXvOf|2KsT=m?z{njT<4 zqE+jVFGf3|ISE6wMOrm>2F-tYn7?vt%Q^LsjONLczjy(fBJf>mfRaIZQrcO`MB-V6 zk%=D=?wu_#ApfSv!503a&XO@=(AMGtT!0`Z>#_U__7QI3!gi)UHw z1;ht;CKT$O=#H=%F;!;_a?>?!7oA(5EHLF<+{*}=$WCDz@-8*+Zt^aDmKm_ulcd}0 zG9h!Bc_N(Sb`tEV@Kf_8KO8TOYS#~hju6+fViYhHyPV%Y3%dWq@Pl4?k=iSJj{Xog z7f2{atJH=6JJrDoBV`>*D%TE~c+zT#Bm(exMoelEO`IB!-Mwb^ zy04Cx$-^v-{wtxp`+txAKKH!B;eLdC=Mk2AHfZ%R@EBvPF<7B2y>=hyj_U^_oy2kk zcgX)t{H}NdfcSUdq{OosjGqhWgE;MJI5-tF0hK#gyz%299g-T5$w7EbGeB&@V$yC5 za{g_kEOPO@*$te{%FBO5UfOB9VRC}?HeI%5By|sSUIp{b?Vxc@LvAmpXq*apgXSsLWu7!(q+)a6DgDx3Dw|1&ywRpI97Y@2rUAhdtXOpMD29Uj{ zTXwWf&>mK`V!8V78+?)`%%i1PZvuFMc-2{&P<;WvLc7X)^<;QM?q$zPKKoGYNpJc$ zH7$iHLqU={Ja1V>qyM?pf$al-Z~>*b|#nx*N#y^Y*`1$HZXdcUKlyQTNy6Ra-#gxS`HAB~yU3FIK|7>e2u zdcx3$PHTN->e(3je-}tnphV4tL~`D*f(%6$HAlc5!&%GIB^WvDE*}5>pV~JO^%Th5 zQpI*-RFwpO#%Zh0#>L`^ip!EMX9d2FnAPZ}xqW|_iK*GQwAwrbS9W%GfJ(TW+&1EP>^2e8VA$Zc z6B~C;#g;^!^5+aw^YLI8GVoHJ@H-EUcD~%H(ftp_K!R; zjrv|hp6bEE&@{DeoKE(B3blrgBoODKG%xD=aSF=Do8DyQ{jF+sc_#p+d2<58WR{t4cFIua4+|YI#>}F8%%9VZSEGSeJ8nu4lK6EjaVD zCAs2MqBR?;{xo=Lp3zRiz;I%NcV(FsXPxkPMu|{LgT0C+2)Lt3a5~=N{A+_qNl8Jo z#d-Y~8D27hKK(KW>g51pnvgoAmxuZ2Ap0|HcKd%en<@n0h%O5Pu?yAKYk>XG_>%xf zv}^7``0L(UeYhC+iK<~qW5c;s)jR8_ZXX^maZZ&te?l^7w|YC-AK;B^W)8f$`S;VM zWg9Idt<&=hkQLOkbvdu2s$H zAUZT@M6m2sVBQjVAUBxqfWh7xwzK~nv7P{yUooc(y4B8PdUmf;y{`IaJl_i2dfdFh zCrqny+nv5tq*Q-PJF`t}_;pCb_roe7Lvg8$587DYb+Blk1-;LCBwri&^ciUoawL^l zCKJx9j{qWk189d<-^0JrNh#?a<=%Q{LwHCEiKlM@zEU%O6lV1 zQXd^zcXRghCS;mYq!5R#6(sTdmghA)QhlQ*uT80fhkhN5)x>PSHkks-zl!iaYX~Qo zzq(O&w?q#1kb90)MITd2!dQ@0xL=(ALbMix&^=^=#{y!;e(&EOtdFzu@TAb^9Wvu9 zUJ7n1N4fL65f?;<+xvX}si;;$T;KLp z(W~0J=YnDVapZ&b_Z!tCUb~98BJ#&Rpi;*hty3SR!H4d?@01c5n|p&QHbWY0IHMPR zAsz1!MtgDkXRPO3le?<@z&oa67MwE8Ut~bnrDGL`_GyEu)-xIB(8@l zAQ(g-uQWxmP+MK(u#HrWTJ_%sC#KCj6;T-3ztA|CesZ9{0@CUw;#>kvPS3i%-U-SKF+m!XRiPv_%s8P2qVrmDt?uqIZP zC3zd029&cW!xQQjQ{%P~$>(!>0k&^hvM4trH`_~y9-0MDao0S-Q%X?SRUoYi>IyUn zOVajsP3deTz2|GRuG+7gFlG7e1U;hQfNwgjb4stgnaU@$O)Bi`6ZC9FCh7N_aXPxs z+!HC4XnOx_f2)y*%DlyomY+J5E88E>;v15I`An=$hU4c@zWSMxZ^__q7f0<`kqf3%43=Gn*GI36E{+BZoj4G^UABNk273~D^__a{@s`arydsHeB=`W z1?vNnxRm^HOZ(}5I(4!l?meA&$B!inu6uDuGart2HK&~f%`IBpcn690Lq&!tHPXaQ z335x^RZVZOqKnU$o@#${44ASUb`BDGIQ}H&N-ol9eQq*SWa@ zmbV=~8I){V;_Nv~>%P*fjK-9i@Ed=Hvio9{#fWqvI6tE38~xHN{OFFBN}u(${mh}V zTy-zc9Sbwuu_ZkMssZDYM8iq~`-Ull+#fv(xGlJHoxL4Na{4Y3FO*W%}ARSmc9Vd z8Ncr9vMSp+lv?qZMf4*#!GV>E;zeh>uU(o)hYF2*GS=uxbfHqhkqrGWe(5!p%*LL* zS1Iq(I_Woahjd?R1}8r89=6(IdN{X}{%EF)uAZx-+ns_SNNrOYhVzu&-(dW>W< z%QHyCj=Z2Jg+NhH*hkcqwAX%fviS1(odbcu?LTtQcy3pn9a^g;cY59WgY;>_Z~gY} zfuBg&{o7<&2Eb=HZ2#s*1o1v&!uL%!%~qj%dfX`v>8+J7hjLqJUhpq=4p;SJz|`+x z4aZ)Bm4lNvZ_uCWlgMUA^Ac7ZppK1Nt7U#%xy2@b&+NjukYQ^v{=~R2RtDR4Tojq< zqO(ATZDm47dd+w~UGaJ1`Oe&MuY`(NQTf+zyGwYndov$!eCZ?ABjgpA7@DFIHWDi@ z;qGlbso+%|DtrA?x)NoPPl*EG*OR_Hz{DsHJd8f0W@SX{Qf3BZoJD2|bmW!nW0!wkKGa?TY zW(vzM`1*zgTM7ZoJ%`C}ypVdzzqum!^e0>VJ)U~-*EMlBrVs2*Q2enJSb!dV%i&Tt1*@xu4i9DFKkIv>alBTB_Em8XaBNs9w&tp7%b-_g-?>-k?UOB zACs7@BxGauiy(zw%>KsY5zw+mH>2cr5GdYTfA7AXzK|x_E8SIyQAXg|-YY3?sFksx zYOL8@?lmu96^*DIv6`*VY3ny;Eb~FlLXF7fx1Jx$n-vOeD?{&mb0E^=sMu<5A^G_p z-PYpisP&f;nI!63Uot-Y!V>ag(OeTNGXuqwxQ{8)PP=a|7@2E6>*SVID9g>auWAx<%6!OUua&oR*|u@N!WYemD42Ju&eFTtYYj6qoOyY7G0?uFps*^wCtlU; zb5_D+C+>xoe%SF?g z(n{njt!VF#98td62X>4$bN4-8L7~-UkPrPx!e|vGE#@@5_VaIRppQM9rdYU8?2(;y z=;_K>!RG`0o>$SQDcJ|-DplIPn9Da+R{U1Hj5c(_HGvBRuZ;G2kBzeZf~H^H->I9%=O;k{a?VrA8G5$Ohv1Is6e z5ey2Kf;ds7+cDcrVP5QO5O%Ng6{wtMA-D4MaHTVL~Shr&c(ep^cMa(x+NedRLA(NEJK)X$aO z^p4E$1@@CC6VM9|3AtN#<6@FJn#CjL=y7I=eZ<+o9ACoAf;RYmmVo8^D3vHiF;@Qx zddj`1SiuFgJB!C2v`PvZPl<%*Emy`fkHQ5izkn;=k<%<|?sf&j3K{=>WjebN9(j=n za~0{?$ljRe&uW7(eZy=gKqx&tx>HR z%5H()!V7rIt!?NbnDqyzxRyH6byVKR=PWzJLIX!nF9c5^p4ikkm9GD0Wc}Q8J~x3m z_>f$GkJs&t=7~*fXoLhaD{B&)1unjDnop-1CCQh%K?&(0d6OdVP2%_vd8^W)KdddL z9W;|Ger3(@E9h>7n|`{ zzkl}kn`%U#)y`Dem^YKrBdAR-49-9KhahpYE;AVu#5=r+>y~9o;zO9qglMf)W3k(8 zDK_XA7Hr5Fid+SBRK+!EZ`KnovADlBIqJFp(Z?!@q3?1T8B1Va-oVV1tE$BOoHrAgp5DZC6Np;XXL!~l2mRq_$vfAX+ z3sXjjF7}f{y=v0-L?t$oSM&vc+v4W;gk$ld@gII9M8Wrwj+a)(EaOkiMN%!Z9c~6t zA5T!hvMh+mO$y`Ts$A|&Wx)LESFB+wOSJTB!dbORbH38QhV2A!BiRQs34&3Q^uL|m z-4@q|(xvhAuNIsCtqK}1zI)tJNu)kGqU&bZq29v(^#SV!_sdRx9LG9GgjPpcm0W0< z+&u+2tAkc|1HChPfqM8pUZ?7<;Qp|H`tJD()N*l-sVU}JeO}83Kvamh61ZC^k)LUQOqrmjg}Zn zNUuying6*0-!aDN#^YI5R9}3Kx8fkc4uM2m!EUAPRNXOK@5Negh&CQLNyo8L=Tb8f z)Q6&S+W7pmm1k3nTq~i4EKXY&g`oJey6#f5Mv|`;N+M>mo7uC42CfUIZ|r{cn`T`@ zU(cVHG5ST^6%=fRK2?;w5}8!nc6v|1?`W3eah;Xwh!DHCsXUK4N3#k}ZWzcbb2LH* z%J}F|-C@C0!hiXt+h%M@Gl`5Y>5Z4qeySx~nr~$Y=&ww=XSO}p-0IZ7 zu4iAGH2YMj7#~!1oUJEshS12I(CP7$+{_9tSdFJzBK|Gi0$>t#b#O_Dqu`Uj{E&%e`@OGkvzw_YMvTJfra+)Il4P4+6#$9A|JmWJtna?PBFl+vv&CXB}{&Nm+jSkL6u@Vifrs99W-`*cHlTl-srG&nkZDwPygL09_#ob|2ewh zuI0Va>SC7r%#G*!c6uJaCzGp;aM0xMdhNgvCJr{X04}Lt9`zTa_3~S34V`X+BAl=K z8OuB@kWQ{$Krb85a0;jDr&K13E~k#|d$ki~h-HjyvrlSfgI@Es^bZBoW6^^W0cxz> z=wqf`&qg%mLEU>rjVncK>S>tHuDlm3&nXNe9O>U^-B`t^AWI`Tt%piBBDy)63|BCI z?wgJ}%g9g;4uP(hKRxv9qn9e2M>k!v=Htr^ zKWb@~b=%+>*@8*W?^v@ynQQ6EM+VIf8UZmhznBnl3Ch29!@(3?FOmiN84;8gQ4D>& zxDG`S&MKUSv90i0W+u4%@(bIC|=i4eG zxNDHVN->OZ%&BVOsoz%lzE2YbYRK)VkPoD>c$yRd_d%2j&ZGPe>Mz zFFYc<3`^g!%nt-my%+fFxVcjU7z80WC>cPkFOogRHfZHt%_Eeflh}2a$L{y$O%u!0 zPky9%>0h!UiZtZz1YvwS@+~@0`&kOhEYrkIWfqF8>RuQ-YKuFOY>If^pnBc zQim+ZJ$iNt&mzS#>ZEAHBq`=cFqzVr3V35?o3jM3BT&_yQXfAn06iUDZOKGKV?|rb z0lc3Z$}5+wrCkus9?i%0^XX^`PnJv!WSElmTJl0@$Yx~eGfBx`usoir=+urLDJi5L zm-_3FrPxcv#znZvJa_J=TvA9%`<~$@IV8v3;RoHa^ ze*mIt9lq;ByDt|v&k~Y8NY}hD&KeQx7y>3Cz0k~RqIPn}x`*M1N^KE@{RQ7>yfiI8 zzk3Q#7Pa__J`Emae;(9n2_Gx{bWQvi=~;Yo){-@hYcoaV^*yRsKSi{1`9ri5z!rR? zB}x$hrWs%-@gD*P4Ltx>yBn+fhfHuM4ads3Z@RwpxxqQ(Uy$UITca7t{!=-7ZqVDY+YMn7B|Z%_6xGP%!pc~js1+9uxpCT z8-s?k(@s1p=a+-%Dmq)$GsBXK9J3SP&eJo^;XHQ{6`cOJYi!IJ%nRPXe|}kalT67K zHX33cr`r_`oKHw$=OyBL9;8MFGXpa{6cmOBhr^27e7!$*ItO$;E_9xfVH8k$@#$vm zetFjr$4NH`G>#o}CYMN)>jjEBJ_R@Ar0y`B@jat{`O(ZJuAYE2f{wKwk_25ZH+)0` zUOp4Hy-RhQver|t#N9``QfkYvRj4WWSr%D^hFP~{^)AR(_P?QzhHBkazGYAfz1o(U z8Skr?XycJl}O!tp6p^>UXW@lReey%b6+0 zTc7UPr{23*W48vDU+$JV6RN_V;#Omg#RJRIlhGwwyj+JDQ~dT-IhV8-TN{nD%T4_| zHS>GU{X6F(v8LwcwML!Th#)L%QZh}dR2o3F>gOdz%B!b6vz>j%Go(de^pD5H;?YECdT~!Z%$ODKL16{M# z^By1H{>hu}IbGdzx5%N4*#@s!k}o9K^+}N&x8`q=>31{rQLiaW>B#H6G58`K-`h{j z=WTd)FDv*--E+5;^@Hh=EvMO;jqNEiZb~hMAZqfwufqbIAkUb)Cw$>VNxzM*o-g>Gn zr-c>u*x>BDQ}FV~{J0z^xN15N27kcPa@=Qj`tasmQIr-6dOHaB?vwCJi98VaMv-My z1U2eEw0_U+P%oy5sz$iRv-k9Jb&pzo`?A4@!wtn%=N-DDO7wua)Cn8_l`roG(4#0j zs*&bz*)%jFb3UdJ8*I4{RSS){zc~wJZ^tJQ_3*@HW}Aw&zZ;E{vV1Rlwb~952gVB4 z*y=VXK&=Tz3-t5xVt$wfYGT{Hz#@xlX+8d6bB#feo}|Ik&zbMxwX72+V4>WJL`Eai z$5ue7ILm5xJnZ-vgXDJ;#Uv=9Dh?vKN!MSei)l>wQdXpph0?n*ueJq+>NNn-2!8&* zj_muEu5qPo9A=k42AD{9VY@!9`MZW86ZvLge7qxhKe#u9lI~(fd!`O{TzV^k@r~9e zZwX!dDic64COQdbF6}>0vdc-W=T+|E;Nsqg_r%7=;^<$Yp?}niViCh0cFLpO$S{J1 z1AlORX>OiahsY5~UTvvFniO+?b*)QpHRADk3d6T?aBv)ZY)#jR;*x$xajQjqkF4Uf zNo#VypFftJ8`nde$d9P(avae*tBFYEw;SpDibG);dY6F3*%097->134*M%2nyklO4 zYRp(>Rd@z#hNOh#@0*=T8xJRYtJq~5nQPvQV-S(2pf6LOukVykv(}BRe(uB*@qiJ? zW~kCS0ikrs->{RgTql@>Q?#y zekv5<>+n@>Rb4X|V8M6Yuj910gO*;BwN>pCuLI>Lm$IR#@QMzIx!|D*0IdJMtfAL+ z@>>=%{^DI_cV@tU*0YTbg@uKfara*k{~Ry0pKC)dd&`6AHFI=a=VdbQ6!uK^gHSKbb`;jaZN={g=V4dJs%u@IqY_{F`Y)}EYvP0Iwn@NIa9k`zmZ zm-IlzP@xRzr}CPJ9>!plX)5#QRGB03IXP5D2HDvXFHdll1(h6)#a4EM_p+<{c~7<% z?3NdM_{(3q{~ex?m$V4~cq-#qL1b=qzY?ex=k@W@h;CS=clb2BaM!(9yuP@Y=u@dP z75G7A1ftu!?HjMe4$!FZF=Xy;dKPfN+E}?Wb8>P*o5Un6?@QlwcSELlyCYsTkIABY zH+jZ^8lS2&#FAR)E#lOa!0IJIbya^QWeu-HNx$wiUT>MQgyA>3txf@x(q9v*f7+5! z7*5t#b>4q8uBYq!WYVJf;f3NUfPVggT7tF8GiyLfb}pO0A8tI1eSlmM$t2fseGv#> zU^(6DK=O;&MyJBx3qK&S=1dN;%hA|qX||aIcnfsZ2`~Rnv}&ZhA68s}va0{egGgLk zvh{BoRTT}g2mVu*Uk_FoQZ4xVx zgXK;E6Kn{}?;-26dq%Q>*H~V;g&SH(hyCmN`EbS+_Y^x-m9^X2+5jC;12l*wh3;%y zA;Ci{swnwBr8J&+MNHX)7X##U(LzLTkXy1;%Y=HltcVuVtCkH9jzgwdxzwH^cy_gCxXKi627UN2Ff`Yg!{~JQb3J0p7lUPbl zKu&Q!rwbpC&idE+w}@pxiQlu$2V==@x*l$huZrg4y9kd@cLDw%au|lni_fH)QypctG8(16Ay55Ys1Vg6vYr4g z*hn2``H)bVUiq%L14@1sE-Zy^HR>Lp{s1UrwB(!su~9EKy#^Ro#UJz2kuG#;;+wI)21#+|<+fGp{Cpm10E z5i%JWAAh{1`U)-o3E-vflvs|E!aG|nkSVtdzwqhtsW&IUDYI?Gi-0?Mq*P5OIPwz` z38^E#8CzLPBg(@**|(O|PZ@lYKUh;{Q%2bGh`IdUnYd-gJbz;zP_}Q;dLf4HJzmzw zyU&ZKH5?Cz-%%5ZIIq-wWqM?FFk@~vcH86-`e!nC{eN^yJP;7L-hb!>$A^^uk^4<{ zOz9gFLjPOpw8cJOGyH#lgL>GDc0hf1mT|6QqC?gYQG_jv_;$l{H9&LdCC*1F;TDLG;WPmEh)uy_=lHuKQ1Y{dGQGpNGsPN{JJDMB}?yDqyoQZWIW#= z%HjT+>gO#X7?_Xe^XA1bu3eZ~fKq_;pv=?2{Z9+J7>rWswuP+Df-VI@8gw$eyjJ$S za?e_p3>fvUdBw?XlZ9TW$i;q1NJw_Tc3D1z07Z3tm&)*t4{;^1ij+siuEfp{b1uaI zDN3YAY2ypvbklW}dz&;h+wzmQiU>0JC(f{XMj!Yme^3D}E-VTRiyPhKFhCf>F|N<3 z*TZaCDCykNX=26ua_=Q8+V1mE?I-sR+1^q|G)dPzmv-Y__(6?F*6u5XiLF;A;wOiL zPK)oW^A=X*;7~8hF8aC(+O&bQZryR!6ioy8B9Uz)7BNNTrA9 zSNzQj=aUT|&S{+*mU+Q~o(c~%TOsDoc;PR|RE9xs8F%r*bvtN|{)jL>bIHr9b9(BB zRxk!91hoSds`;BuzJSp}D~YY}4H6jos7y1O!HE>6LsF8GByoQ-uu!vbQ%+G&v{Usg zbzG1~d||nDidjy0c#__~ww|x(ZR6>J7&On?-=2UXIWASlNBHUB)4|=LjwcTaWB{u1 zkJT(pU?aNlaVC9hNW8D$Oer5YMF-Kj#u1O$4xV8zhE4@yMP(bn-rT{C3nWV80xm^+ zQtr&XZcF>ARuJWn1u5=GF^Y%OGGD8zs4@IL1Nr%q{3R)4^U0#_yx`{cG#O8Qjt%z>HW{+^G*jbl}2Y=V=+>_AaHhLmp z?j+_UxJsRHgUv9PrsnMFA)}rUMV_kYW53#Ye`ET#bw<*7kBsz$e@VpehA;17W^o)FI*@3Z?Ar z@rmnxn&64%do|7`hsL8NVk3)vLL}ip02n>1?}vbCj*#!m>mim3d$A0gGacR}i%TOc zwS_PIfCch-7X34T%-?B$DK;JcNqkrQ4i2l^(E)IG3xtI5y5A&Nk95)$1l4D7i`81U z&p5ek>RomaMwR09(Z#2qlW7)KRi#3FYbPhtx2v392QJw8cvCN|7(z2v^oO%&fgF%_ zxHGxiQ;8%+I5QFM%sd@*Ny0&eAI|sFgA{);#C*La3onafX7(qt-e|6ea@VZ3~TodYn9>VL@jItV`&Tw3`9^2qi8Z9%^%6= zuKSk*d>)r-3twMH^=3ins^I+PUn6?>iPg8U^ulEPz&N5i1)X>Pe2|ldjE0@{V-ZHW z1jI00pfEOEIN;KZ{PI2NU8`E`>+Z}edqwrpv*kTNfEY2hT7=&*HWnW9!Qe0?YW@DC zOha<;fCOVBM#eU}#M`8BZ=cidLvwsIeYDPIOJ}X}5PA(Px%}oEqvra98Bp@*Y9E_} zZsez)4ByLp`4f;xSDNaG{>14;l|ue!N1ePr7|p~|5;{R8k=9x&gzBH@S*CMwe;A