From 005cbd91dc644b4f8a7a1a6c735f88063f29d887 Mon Sep 17 00:00:00 2001 From: Oh-Jisong Date: Sat, 23 May 2026 23:34:34 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=ED=8A=B8=EB=9E=9C=EC=9E=AD=EC=85=98=20=EC=9D=BD=EA=B8=B0=20?= =?UTF-8?q?=EC=A0=84=EC=9A=A9=20=EC=84=A4=EC=A0=95=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ceos23/spring_boot/cgv/service/auth/AuthService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ceos23/spring_boot/cgv/service/auth/AuthService.java b/src/main/java/com/ceos23/spring_boot/cgv/service/auth/AuthService.java index a2a04dfc..e29088f3 100644 --- a/src/main/java/com/ceos23/spring_boot/cgv/service/auth/AuthService.java +++ b/src/main/java/com/ceos23/spring_boot/cgv/service/auth/AuthService.java @@ -78,7 +78,7 @@ public void signup(SignupRequest request) { } } - @Transactional(readOnly = true) + @Transactional public LoginResponse login(LoginRequest request) { long startTime = System.currentTimeMillis(); From b4af522152432dde3608605592a3d71c7d6b9580 Mon Sep 17 00:00:00 2001 From: Oh-Jisong Date: Sat, 23 May 2026 23:35:05 +0900 Subject: [PATCH 2/2] =?UTF-8?q?docs:=20=ED=8A=B8=EB=9E=9C=EC=9E=AD?= =?UTF-8?q?=EC=85=98=C2=B7=EC=9D=B8=EB=8D=B1=EC=8A=A4=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=EC=99=80=20=EC=84=B1=EB=8A=A5=20=EC=8B=A4=ED=97=98=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 924 +++++++++++++++--- docs/performance-logs/case1_where_index.txt | 24 + .../case2_selective_index.txt | 47 + docs/performance-logs/case3_orderby_index.txt | 26 + .../performance-logs/case4_covering_index.txt | 50 + docs/performance-sql/case1_where_index.sql | 14 + .../performance-sql/case2_selective_index.sql | 30 + docs/performance-sql/case3_orderby_index.sql | 16 + docs/performance-sql/case4_covering_index.sql | 33 + docs/sql/cgv_index_lab_setup.sql | 172 ++++ .../performance-real/case1_real_console.png | Bin 0 -> 64782 bytes .../performance-real/case2_real_console.png | Bin 0 -> 92386 bytes .../performance-real/case3_real_console.png | Bin 0 -> 75137 bytes .../performance-real/case4_real_console.png | Bin 0 -> 98828 bytes scripts/capture_mysql_console_screenshot.ps1 | 113 +++ 15 files changed, 1301 insertions(+), 148 deletions(-) create mode 100644 docs/performance-logs/case1_where_index.txt create mode 100644 docs/performance-logs/case2_selective_index.txt create mode 100644 docs/performance-logs/case3_orderby_index.txt create mode 100644 docs/performance-logs/case4_covering_index.txt create mode 100644 docs/performance-sql/case1_where_index.sql create mode 100644 docs/performance-sql/case2_selective_index.sql create mode 100644 docs/performance-sql/case3_orderby_index.sql create mode 100644 docs/performance-sql/case4_covering_index.sql create mode 100644 docs/sql/cgv_index_lab_setup.sql create mode 100644 images/performance-real/case1_real_console.png create mode 100644 images/performance-real/case2_real_console.png create mode 100644 images/performance-real/case3_real_console.png create mode 100644 images/performance-real/case4_real_console.png create mode 100644 scripts/capture_mysql_console_screenshot.ps1 diff --git a/README.md b/README.md index c562809b..7595835b 100644 --- a/README.md +++ b/README.md @@ -1,192 +1,820 @@ # spring-cgv-23rd -## 1️⃣ 캐시 도입하기 +## 1️⃣ 트랜잭션 전파 속성 더 찾아보기 -### 캐시란? +`REQUIRED`, `REQUIRES_NEW` 말고도 Spring에는 전파 속성이 더 있음. +공식 문서 기준으로 전파 옵션은 총 7개고, 수업에서 안 다룬 나머지 5개는 아래처럼 보면 됨. -- 자주 조회되지만 자주 바뀌지 않는 데이터를 잠깐 저장해두고 다음 요청에서는 원본 저장소(DB)까지 다시 가지 않도록 도와주는 장치 -- 목적: `응답 시간 단축`, `DB 부하 감소`, `같은 조회 반복 방지` -- 모든 데이터를 캐시하면 좋은 건 아님 -- 자주 바뀌는 데이터까지 무리하게 캐시하면 오래된 값을 내려주는 문제가 생길 수 있음 +### `SUPPORTS` -### CGV 클론 코딩에 캐시를 넣은 이유 +: 이미 트랜잭션이 있으면 거기에 같이 참여하고, 없으면 그냥 트랜잭션 없이 실행 -- 현재 CGV 프로젝트는 조회 API와 인증 요청이 반복적으로 많이 들어올 수 있는 구조였음 -- `GET /api/screenings`, `GET /api/screenings/{screeningId}/seats`, `GET /api/store/menus` 같은 read 경로는 계속 호출될 가능성이 높다고 봤음 -- 좌석 조회 쪽은 예약 상태뿐 아니라 좌석 배치 정보까지 같이 읽고 있어서 정적인 데이터와 동적인 데이터를 나눠서 보는 게 필요했음 -- JWT 인증이 필요한 API에서는 요청마다 사용자 정보를 다시 조회하는 비용이 있었고, 이 부분도 캐시 후보라고 판단했음 +- 조회성 로직에서 "있으면 같이 타고 가고, 없어도 굳이 새로 만들진 않음" 정도로 쓰기 좋음 +- 대신 호출 위치에 따라 동작이 달라져서, 핵심 쓰기 로직에 쓰면 오히려 헷갈릴 수 있음 -### 어떤 캐시를 선택했는지 +### `MANDATORY` -- `Spring Cache + Caffeine` -- 이유 - - 현재 프로젝트는 단일 Spring Boot 애플리케이션 중심 구조였음 - - Redis 같은 외부 캐시를 따로 붙이기보다 애플리케이션 내부 메모리 캐시가 더 단순했음 - - Caffeine은 Spring Cache와 붙이기 쉬웠고, TTL이나 최대 크기 설정도 비교적 간단했음 +: 반드시 기존 트랜잭션이 있어야 함. 없으면 바로 예외 발생 -### 어떤 캐싱 전략을 썼는지 +- 상위 서비스가 연 트랜잭션 안에서만 돌아야 하는 내부 메서드에 사용 +- "이 메서드는 단독 실행하면 안 됨"을 코드로 강하게 표현하는 느낌에 가까움 -- 기본 전략은 `Cache-Aside`로 잡았음 - - 조회 시 캐시에 값이 있으면 캐시를 그대로 사용 - - 없으면 DB를 조회한 뒤 캐시에 저장하는 방식으로 구현했음 -- 쓰기 요청이 발생해서 데이터가 바뀌는 경우에는 `cache update`보다 `cache evict`가 안전하다고 봤음 -- 매점 메뉴처럼 구매 이후 재고가 달라지는 데이터는 write 시점에 캐시를 비우고, 다음 조회 때 다시 채우도록 했음 +### `NOT_SUPPORTED` -### 어디에 캐시를 적용했는지 +: 트랜잭션 없이 실행. 바깥에 트랜잭션이 있으면 잠깐 멈춰두고 이 메서드만 비트랜잭션으로 동작 -| 대상 | 캐시 이름 | 전략 | TTL | 이유 | -| --- | --- | --- | --- | --- | -| `GET /api/screenings` | `screenings` | Cache-Aside | 3분 | 상영 목록은 조회가 자주 일어나고 매 요청마다 DB를 다시 읽지 않아도 될 가능성이 높다고 봤음 | -| 좌석 배치 정적 정보 (`SeatTemplate`) | `seatTemplates` | Cache-Aside | 30분 | 좌석 배치는 거의 바뀌지 않지만 좌석 조회 API에서 반복적으로 사용되기 때문이었음 | -| `GET /api/store/menus?cinemaId=...` | `storeMenus` | Cache-Aside + Evict on Write | 60초 | 메뉴 조회는 반복되지만 구매가 발생하면 재고가 바뀌기 때문에 eviction이 필요했음 | -| JWT 인증 시 `UserDetails` 조회 | `authUserDetails` | Cache-Aside | 10분 | 보호 API 요청마다 같은 사용자 정보를 반복 조회하는 비용을 줄이기 위해 넣었음 | +- 오래 걸리는 외부 API 호출, 파일 처리, 단순 조회처럼 굳이 트랜잭션으로 묶을 필요 없는 작업에 고려할 수 있음 +- 대신 여기서 실패한 내용을 바깥 트랜잭션 롤백으로 같이 되돌리는 건 기대하면 안 됨 -### 왜 좌석 상태 전체는 캐시하지 않았는지 +### `NEVER` -- 처음에는 `GET /api/screenings/{screeningId}/seats` 전체 응답을 캐시하는 것도 고려했음 -- 그런데 이 응답에는 `reserved` 여부가 포함되어 있었음 - - 예매 생성, 결제 완료, 취소, 만료에 따라 값이 자주 바뀜 - - 이 상태까지 통째로 캐시하면 실제로는 이미 예약된 좌석이 비어 있는 것처럼 보이거나, 반대로 이미 풀린 좌석이 계속 예약된 것처럼 보일 위험이 있었음 -- 그래서 `SeatTemplate` 같은 정적 데이터만 캐시하고, 실제 예약 상태는 매번 DB에서 계산하도록 했음 -- 정리하면 `정적 데이터는 캐시`, `동적 예약 상태는 실시간 조회`로 나눴음 +: 트랜잭션 없이만 실행. 그런데 이미 트랜잭션이 열려 있으면 예외 발생 -### 실제 구현 내용 +- `NOT_SUPPORTED`보다 더 강하게 제약을 거는 옵션 +- "이 작업은 트랜잭션 안에서 돌면 안 됨"을 분명하게 막고 싶을 때 사용 +- 실무에서 엄청 자주 보이진 않고, 의도를 강하게 드러낼 때 쓰는 편 -- `build.gradle`에 `spring-boot-starter-cache`, `caffeine` 의존성을 추가했음 -- `CacheConfig`에서 캐시별 TTL, 최대 크기, stats 기록 여부를 설정했음 -- `ScreeningQueryService.getScreenings()`에 상영 목록 캐시를 적용했음 -- `SeatTemplateCacheService`를 따로 두고 좌석 배치 정보를 스냅샷 형태로 캐시했음 -- `StoreQueryService.getStoreMenus()`는 DTO 응답 기준으로 캐시했음 -- `StorePurchaseService.purchase()`가 성공하면 해당 영화관 메뉴 캐시를 비우도록 했음 -- `CustomUserDetailsService.loadUserByUsername()`에도 캐시를 붙여서 JWT 인증 필터 경로에서 같은 사용자 조회가 반복되지 않게 했음 +### `NESTED` -### 기대한 효과 +: 기존 트랜잭션 안에서 `savepoint`를 잡고, 안쪽 작업만 부분 롤백할 수 있음. 바깥 트랜잭션이 없으면 `REQUIRED`처럼 동작 -- `GET /api/screenings` - - 반복 조회 시 DB 접근 횟수를 줄일 수 있게 되었음 -- `GET /api/store/menus` - - 자주 열리는 화면에서 응답 속도와 DB 부하 측면에서 이점이 생기도록 했음 -- `GET /api/screenings/{screeningId}/seats` - - 좌석 상태 전체를 캐시하지 않으면서도 정적인 좌석 배치 조회 비용은 줄일 수 있게 했음 +- `REQUIRES_NEW`처럼 물리 트랜잭션을 아예 분리하는 방식은 아님 +- 안쪽 작업이 실패하면 그 지점까지만 되돌리고, 바깥 작업은 계속 진행할 수 있음 +- 하지만 바깥 트랜잭션이 마지막에 롤백되면 안쪽에서 성공했던 작업도 결국 같이 롤백됨 +- `savepoint` 지원이 필요해서 환경 따라 바로 못 쓰는 경우도 있음 -### 검증 +### 헷갈리기 쉬운 차이 -- `./gradlew test` 통과 -- `ScreeningQueryServiceTest` - - 상영 목록 캐시와 좌석 배치 캐시가 채워지는지 확인했음 -- `StoreQueryServiceTest` - - 메뉴 캐시가 채워지고, 구매 후에는 eviction 되는지 확인했음 -- `CustomUserDetailsServiceTest` - - 인증용 사용자 조회가 첫 조회 이후 캐시에서 재사용되는지 확인했음 +#### `REQUIRES_NEW` vs `NESTED` -## 2️⃣ 로그 리팩토링 하기 +- `REQUIRES_NEW` + - 아예 새 물리 트랜잭션을 만듦 + - 안쪽 커밋/롤백이 바깥 트랜잭션과 분리됨 +- `NESTED` + - 같은 물리 트랜잭션 안에서 `savepoint`만 나눔 + - 부분 롤백은 되지만, 최종 결과는 바깥 트랜잭션에 영향을 받음 -- 운영 관점에서 요청 흐름을 한 번에 따라가기 위해서 -- 예매 / 결제 / 매점 구매처럼 장애가 나면 바로 확인해야 하는 구간은 있음 - - 하지만 어떤 요청이 왜 실패했는지 맥락이 충분하지 않음 +### 한 번에 정리 -### 이번에 잡은 방향 +| 속성 | 기존 트랜잭션이 있으면 | 없으면 | +| --- | --- | --- | +| `SUPPORTS` | 기존 트랜잭션 참여 | 그냥 실행 (트랜잭션 없음) | +| `MANDATORY` | 기존 트랜잭션 참여 | 예외 발생 | +| `NOT_SUPPORTED` | 기존 트랜잭션 일시 중단 | 그냥 실행 (트랜잭션 없음) | +| `NEVER` | 예외 발생 | 그냥 실행 (트랜잭션 없음) | +| `NESTED` | `savepoint` 기반 중첩 처리 | `REQUIRED`처럼 새 트랜잭션 시작 | + +### 정리 + +- 왜 `REQUIRED`가 기본값인지 좀 이해됐음. 대부분 서비스 로직은 "있으면 합류, 없으면 시작"이 제일 자연스러움 +- 나머지 전파 옵션들은 편한 기능이라기보다, "이 메서드는 어떤 경계 안에서 돌아야 하냐"를 코드로 드러내는 용도에 더 가까웠음 +- 특히 `NESTED`는 이름만 보면 `REQUIRES_NEW`랑 비슷해 보이는데, 실제 동작은 꽤 다름 + +## 2️⃣ 현재 CGV 서비스의 트랜잭션 분석 + +이번에는 "어디에 `@Transactional`이 붙어 있는지"만 본 게 아니라, +그 경계가 지금 서비스 흐름이랑 잘 맞는지도 같이 봤음. + +### 지금 구조는 어떻게 되어 있나 + +#### 조회 전용 서비스 + +- `MovieService` +- `CinemaService` +- `ScreeningQueryService` +- `SeatTemplateCacheService` +- `StoreQueryService` + +위 서비스들은 클래스 레벨에서 `@Transactional(readOnly = true)`를 사용하고 있었음. +조회가 목적이 분명해서 방향 자체는 괜찮았음. + +#### 쓰기 중심 서비스 + +- `AuthService` +- `ReservationService` +- `PaymentService` +- `StorePurchaseService` +- `MovieLikeService` +- `CinemaLikeService` + +여기는 생성, 수정, 삭제가 들어가니까 트랜잭션을 여는 방향이 자연스러웠음. + +### 괜찮았던 점 + +#### 1. 조회 서비스에 `readOnly = true`를 붙여둔 건 적절했음 + +- 상영 조회, 좌석 조회, 매점 메뉴 조회처럼 read 비중이 큰 서비스는 `readOnly = true`가 잘 맞음 +- 의미도 분명하고, JPA 입장에서도 "여긴 수정 의도 없음"을 알려주는 셈이라 관리가 깔끔했음 + +#### 2. 예매 / 결제 / 좌석 처리 흐름을 한 트랜잭션으로 묶은 건 맞는 방향이었음 + +예를 들면 `ReservationService.createReservation()`에서는 + +1. 예매 생성 +2. 좌석 점유 저장 +3. 결제 로그 생성 + +이 세 단계가 같이 묶여 있음. + +- 이건 한 단계라도 실패하면 전부 롤백되어야 하는 흐름이라서 트랜잭션 경계가 적절했음 +- `cancelReservation()`, `confirmPayment()`도 비슷하게 예매 상태와 결제 상태를 같이 바꾸고 있어서 분리하는 것보다 지금처럼 한 번에 묶는 쪽이 더 안전했음 + +#### 3. 동시성 이슈가 있는 곳은 락이 같이 들어가 있었음 + +- 예매 생성에서는 `Screening` 조회 시 `PESSIMISTIC_WRITE` 락 사용 +- 매점 구매에서는 `CinemaMenuStock` 조회 시 `PESSIMISTIC_WRITE` 락 사용 +- 좌석은 `reservation_seat` 유니크 제약까지 같이 걸려 있음 + +그래서 "트랜잭션만 열어둔 상태"가 아니라, 실제 충돌 가능성이 있는 자원에 대해서는 방어가 들어가 있었음. +이건 꽤 괜찮았음. + +### 아쉬웠던 점 + +#### 1. `AuthService.login()`이 `readOnly = true`인데 실제로는 쓰기를 하고 있었음 + +`login()`은 이름만 보면 조회처럼 보일 수 있는데, 실제로는 아래 작업을 같이 함. + +- 사용자 조회 +- 비밀번호 검증 +- access token 발급 +- refresh token 생성 +- refresh token 저장 또는 갱신 + +즉, 마지막 단계에서 DB write가 발생함. +그런데 메서드에는 `@Transactional(readOnly = true)`가 붙어 있었음. + +이건 두 가지 면에서 애매했음. + +- 의미상 read 메서드가 아님 +- `readOnly`는 "쓰기 금지"가 아니라 최적화 힌트에 가까워서, 이런 식으로 써두면 나중에 보면 더 헷갈림 + +그래서 이 부분은 `@Transactional`로 바꾸는 게 맞다고 판단했고, 이번에 실제로 그렇게 수정했음. + +#### 2. 조회 API까지 write 트랜잭션으로 열리고 있었음 + +`ReservationService`는 클래스에 `@Transactional(readOnly = true)`가 붙어 있는데, + +- `getReservations()` +- `getReservation()` + +이 두 메서드는 다시 `@Transactional`로 열고 있었음. + +이유를 따라가 보니, 조회 전에 `expireOverdueReservations()`를 호출하고 있었기 때문이었음. + +즉 지금 구조는 + +1. 조회 요청이 들어옴 +2. 만료 예매 일괄 정리 실행 +3. 결제 만료 처리 +4. 좌석 점유 삭제 +5. 그 다음에야 조회 + +이렇게 되어 있었음. + +문제는 조회 하나 하려고 들어왔는데, 그 안에서 전혀 관계없는 만료 배치 작업까지 같이 태우고 있다는 점이었음. +이러면 read API도 write transaction이 되고, 트랜잭션 범위도 필요 이상으로 커짐. + +#### 3. 만료 처리 범위가 너무 넓었음 + +`expireOverdueReservations()`는 이름 그대로 "만료된 예약 전체"를 한 번에 훑는 메서드임. + +그런데 이 메서드가 + +- `createReservation()` +- `getReservations()` +- `getReservation()` +- `cancelReservation()` +- `confirmPayment()` + +이런 여러 요청의 시작점마다 호출되고 있었음. + +이 방식의 아쉬운 점은, + +- 어떤 사용자가 좌석 2개 예약하려고 들어와도 +- 그 요청이 자기 예매만 처리하는 게 아니라 +- 시스템 전체의 만료 예약 정리까지 같이 하게 된다는 점임 + +정합성 자체는 맞출 수 있어도, 요청 하나가 불필요하게 무거워짐. + +#### 4. 만료 로직을 같은 서비스 안에 둔 것도 나중에 확장할 때 아쉬움 + +지금은 `ReservationService` 안에서 `expireOverdueReservations()`를 직접 호출하고 있음. + +이 구조에서는 나중에 + +- 만료 처리는 별도 트랜잭션으로 돌리고 싶다거나 +- `REQUIRES_NEW`를 써서 분리하고 싶다거나 +- 배치성 정리 로직만 따로 관리하고 싶다거나 + +해도 바로 적용하기가 애매함. + +같은 클래스 내부 호출은 스프링 프록시를 타지 않아서, 전파 옵션을 바꿔도 기대한 대로 안 먹을 수 있기 때문임. + +### 왜 이런 구조가 들어갔을까? + +조금 이해가 가는 부분도 있었음. + +현재 예매 좌석은 `reservation_seat(screening_id, seat_template_id)` 유니크 제약으로 막고 있음. +그래서 만료된 예약의 좌석 점유 레코드가 남아 있으면, 시간이 지났더라도 새 예매 insert가 막힐 수 있음. + +즉 "만료됐으면 좌석 점유를 실제로 지워야 한다"는 요구가 있어서, 예매 전에 만료 정리를 넣어둔 것 같았음. + +의도는 맞는데, 문제는 그걸 "전체 만료 예약 일괄 정리"로 풀어버렸다는 점이었음. + +### 개선 방향 + +#### 1. 로그인은 readOnly를 빼는 게 맞음 + +- `AuthService.login()` + - `@Transactional(readOnly = true)` -> `@Transactional` +- 이번에 이 부분은 실제로 수정했음 + +#### 2. 만료 처리는 조회 로직과 분리하는 게 좋겠음 + +내가 보기엔 방향은 아래 쪽이 더 나았음. + +- 스케줄러는 전체 만료 예약 정리 전용으로 사용 +- 사용자 요청에서는 "지금 요청에 필요한 범위만" 정리 +- 조회 메서드는 다시 `readOnly = true` 성격으로 돌려놓기 + +예를 들면 -1. 모든 요청에 `requestId`를 붙여서 요청 단위 추적이 가능하게 했음 -2. 운영 로그와 감사성 로그를 분리했음 -3. 중요한 도메인 이벤트는 JSON 형태로 남기게 했음 -4. 로그 리팩토링과 함께 Prometheus + Grafana로 볼 수 있는 지표도 같이 추가했음 +- 예매 생성 전에는 "해당 상영관 / 해당 좌석 관련 만료 예약만" 정리 +- 상세 조회 전에는 전체 배치를 돌리지 말고, 상태 계산만 하거나 필요한 예약만 확인 -### 어떻게 적용했는지 +이런 식이 더 가벼움. -#### 1. Request 단위 추적 +#### 3. 만료 로직은 별도 서비스로 빼는 편이 낫겠음 -- `RequestLoggingFilter`에서 요청마다 `X-Request-Id`를 생성하거나 기존 헤더를 그대로 사용하게 했음 -- `MDC`에 `requestId`, `method`, `path`를 넣어서 같은 요청에서 발생한 로그를 묶어 볼 수 있게 했음 -- 요청 종료 시점에는 `status`, `latencyMs`, `userId`, `clientIp`까지 같이 남기도록 했음 +예를 들면 + +- `ReservationService` + - 사용자 요청 처리 전용 +- `ReservationExpirationService` + - 만료 정리 전용 + +이렇게 나누면 역할이 분명해지고, 필요하면 나중에 `REQUIRES_NEW` 같은 전파 옵션도 붙이기 쉬워짐. + +### 정리 + +- 전체적으로 봤을 때 "트랜잭션을 아예 엉뚱하게 걸어둔 프로젝트"는 아니었음 +- 조회 서비스는 조회답게, 쓰기 서비스는 쓰기답게 나눠둔 편이었고 +- 예매 / 결제 / 좌석 / 재고처럼 중요한 변경 로직은 트랜잭션으로 잘 묶여 있었음 + +다만 아쉬웠던 건 두 군데였음. + +- `login()`이 readOnly였는데 실제로는 write를 하고 있던 점 +- 예약 관련 요청마다 전역 만료 정리 로직을 같이 태우면서 트랜잭션 범위를 너무 넓혀둔 점 + +정리하면, 지금 구조는 "큰 방향은 맞는데, 경계가 조금 넓은 부분이 있다" 정도로 보는 게 제일 맞아 보였음. + +## 3️⃣ 인덱스 종류 더 찾아보기 + +수업에서는 보통 "PK 인덱스", "일반 인덱스", "WHERE 빨라진다" 정도부터 시작하는데, +실제로는 인덱스도 꽤 여러 종류가 있고, 각각 잘 맞는 상황이 다름. + +특히 `커버링 인덱스`는 별도 문법이 있는 인덱스 종류라기보다, +"이 쿼리에 필요한 데이터를 테이블까지 다시 안 가고 인덱스만 보고 끝낼 수 있는 상태"에 가까움. + +### 먼저 큰 그림 + +MySQL 기준으로 보면 + +- 우리가 평소 가장 많이 쓰는 `PRIMARY KEY`, `UNIQUE`, `INDEX`는 대부분 `B-Tree` 기반 +- `SPATIAL`은 공간 데이터용이라 `R-Tree` 계열 +- `FULLTEXT`는 글 검색용 +- `HASH` 인덱스는 보통 `MEMORY` 엔진에서나 이야기하고, 일반적인 InnoDB 서비스에서는 거의 `B-Tree`를 기본으로 생각하면 됨 + +즉 실무에서 제일 많이 보는 건 사실상 `B-Tree 인덱스들`이고, +그 위에서 `단일`, `복합`, `유니크`, `커버링` 같은 식으로 나눠서 이해하는 편이 편했음. + +### `클러스터드 인덱스` + +: InnoDB에서 테이블 데이터 자체가 이 인덱스 순서에 맞춰 저장되는 인덱스 + +- 보통 `PRIMARY KEY`가 클러스터드 인덱스가 됨 +- 그래서 PK 조회가 빠른 편이고, PK 설계가 테이블 구조에 미치는 영향도 큼 +- PK가 너무 길거나 무거우면 세컨더리 인덱스도 같이 비대해질 수 있음 + +쉽게 말하면 + +- 클러스터드 인덱스 = 책 본문 자체가 목차 순서대로 정리된 느낌 + +### `세컨더리 인덱스` + +: PK 말고 추가로 만드는 일반 인덱스 + +- `member_id`, `reserved_at`, `status` 같은 컬럼에 거는 인덱스가 여기에 해당 +- InnoDB에서는 세컨더리 인덱스에 PK 값도 같이 들어감 +- 그래서 조건은 세컨더리 인덱스로 빨리 찾고, 최종 row 데이터는 PK 기준으로 다시 찾아가는 경우가 많음 + +즉 + +- 인덱스만 보고 끝나면 빠름 +- 인덱스로 후보 찾고 테이블 본문까지 다시 가면 그만큼 비용이 더 듦 + +### `유니크 인덱스` + +: 중복을 허용하지 않는 인덱스 + +- 속도용이기도 하지만, 사실 "중복 금지 규칙"을 DB 차원에서 보장하는 역할이 더 큼 +- 예를 들면 `email`, `payment_id`, `(screening_id, seat_template_id)` 같은 곳에 잘 어울림 +- 애플리케이션에서 중복 검사만 믿는 것보다 DB에서 한 번 더 막아주는 게 안전함 + +주의할 점은 + +- 조회는 편해질 수 있어도 +- `INSERT`, `UPDATE` 때 중복 체크 비용이 같이 들어감 + +그래도 정합성이 더 중요한 컬럼에는 거의 필수에 가까움. + +### `단일 컬럼 인덱스` + +: 컬럼 하나만 기준으로 만든 가장 기본적인 인덱스 + +예시 + +```sql +CREATE INDEX idx_reservations_member_id +ON reservations(member_id); +``` + +- `WHERE member_id = ?` 같이 한 컬럼 조건이 자주 나올 때 단순하고 효과적임 +- 대신 실무 쿼리는 조건이 하나로 끝나지 않는 경우가 많아서, 이것만으로 부족한 경우도 많음 + +### `복합 인덱스` / `다중 컬럼 인덱스` + +: 여러 컬럼을 묶어서 만든 인덱스 예시 -```text -2026-05-16 21:40:12.123 INFO [c4d5a40f-1e0f-4c73-9d28-0f7d7c5f3a2b] [http-nio-8080-exec-1] ... - event=request_complete method=POST path=/api/reservations status=200 latencyMs=41 userId=1 clientIp=127.0.0.1 +```sql +CREATE INDEX idx_reservations_member_reserved_at +ON reservations(member_id, reserved_at); ``` -#### 2. 운영 로그 / 감사 로그 분리 +- `WHERE + ORDER BY`가 같이 나오는 쿼리에서 특히 강력함 +- 예를 들면 "내 예매 내역 최신순 10건" 같은 조회에 잘 맞음 +- 각각 따로 인덱스 두 개를 거는 것보다, 자주 같이 쓰는 컬럼을 한 번에 묶는 쪽이 더 좋을 때가 많음 + +여기서 중요한 건 `컬럼 순서`임. + +- `(member_id, reserved_at)` 인덱스가 있으면 + - `member_id` + - `(member_id, reserved_at)` + 순서로는 잘 탐 +- 반대로 `reserved_at`만 조건에 쓰면 기대만큼 못 쓰는 경우가 있음 + +이게 흔히 말하는 `leftmost prefix` 규칙임. -- 일반 운영 로그는 `logs/application.log`에 남기도록 했음 -- 감사성 이벤트 로그는 `logs/audit/audit.log`에 따로 남기도록 했음 -- 운영 로그는 사람이 빨리 읽기 좋은 형식으로 두고, 감사 로그는 JSON 한 줄 구조로 남기게 했음 -- 이렇게 나누면 장애 대응용 로그와 이벤트 추적용 로그를 따로 보기 쉬웠음 +그래서 복합 인덱스는 + +- "무슨 컬럼을 묶을까?"도 중요하고 +- "그 컬럼을 어떤 순서로 둘까?"가 더 중요했음 + +### `커버링 인덱스` + +: 쿼리에 필요한 컬럼이 인덱스 안에 다 들어 있어서, 테이블 본문을 다시 읽지 않아도 되는 경우 + +이건 진짜 많이 헷갈리는데, + +- `CREATE COVERING INDEX ...` 같은 문법이 따로 있는 건 아님 +- 같은 인덱스라도 어떤 쿼리에서는 covering이고, 어떤 쿼리에서는 아닐 수 있음 + +예를 들면 아래 인덱스가 있다고 해보자. + +```sql +CREATE INDEX idx_reservations_member_reserved_at_price +ON reservations(member_id, reserved_at, total_price); +``` + +그리고 쿼리가 + +```sql +SELECT member_id, reserved_at, total_price +FROM reservations +WHERE member_id = 1 +ORDER BY reserved_at DESC +LIMIT 10; +``` + +처럼 필요한 컬럼만 읽는다면, 이 쿼리는 인덱스만 보고 끝날 가능성이 있음. + +왜 좋냐면 + +- 테이블 row까지 다시 안 가도 돼서 I/O가 줄고 +- 대량 조회에서 꽤 체감될 수 있음 + +대신 + +- `SELECT *`를 쓰면 커버링 인덱스 장점을 못 살리는 경우가 많음 +- 그래서 커버링 인덱스는 보통 "인덱스를 잘 만들자"와 "필요한 컬럼만 조회하자"가 같이 붙어 다님 + +### `접두사(prefix) 인덱스` + +: 문자열 컬럼 전체가 아니라 앞부분 일부만 인덱스로 만드는 방식 예시 -```json -{"timestamp":"2026-05-16T21:40:12.140","level":"INFO","event":"reservation_created","requestId":"c4d5a40f-1e0f-4c73-9d28-0f7d7c5f3a2b","method":"POST","path":"/api/reservations","userId":1,"screeningId":3,"reservationId":15,"paymentId":"pay-123","seatCount":2} +```sql +CREATE INDEX idx_movies_title_prefix +ON movies(title(20)); ``` -#### 3. 어떤 지점에 로그를 넣었는지 +- 긴 문자열 컬럼 전체를 인덱싱하면 공간을 많이 먹을 수 있어서 앞부분만 따는 방식 +- 인덱스 크기를 줄이는 데는 도움이 됨 +- 대신 앞 20글자가 같은 데이터가 많으면 구분력이 떨어질 수 있음 -| 위치 | 남긴 로그 | 이유 | -| --- | --- | --- | -| `RequestLoggingFilter` | 모든 요청의 성공/실패, 응답 시간, 상태 코드 | 요청 단위 흐름을 가장 바깥에서 공통으로 보기 위해 | -| `GlobalExceptionHandler` | `request_error`, `request_validation_error`, `request_unhandled_error` | 예외가 어디서 얼마나 발생하는지 바로 보기 위해 | -| `AuthService` | 회원가입 / 로그인 / 토큰 재발급 / 로그아웃 성공·실패 | 인증 실패율과 보안성 이벤트를 확인하기 위해 | -| `ReservationService` | 예매 생성 / 결제 확정 / 취소 / 만료 배치 | 핵심 도메인인 좌석 선점 흐름을 추적하기 위해 | -| `PaymentService` | 결제 시작 / 완료 / 취소 / 만료 | 결제 단계별 실패 지점을 분리해서 보기 위해 | -| `StorePurchaseService` | 매점 구매 성공·실패 | 재고 부족, 메뉴 없음 같은 실패 상황을 구분하기 위해 | +즉 + +- 저장 공간 절약에는 좋지만 +- 너무 짧게 잡으면 성능이 기대만큼 안 나올 수 있음 + +`TEXT`, `BLOB` 계열은 이런 prefix 길이를 지정해야 하는 경우도 있음. + +### `내림차순(Descending) 인덱스` + +: `DESC` 방향까지 고려해서 저장한 인덱스 + +- 최신순 조회가 많은 서비스에서 자주 생각해볼 수 있음 +- 예를 들면 `ORDER BY reserved_at DESC`, `ORDER BY created_at DESC` +- 예전에는 역순 스캔으로도 어느 정도 처리했지만, 내림차순 인덱스를 두면 더 효율적인 경우가 있음 -### 어떤 로그 전략을 썼는지 +특히 복합 인덱스에서 -- 모든 메서드에 무조건 상세 로그를 넣기보다 의미 있는 이벤트 위주로 남기려고 했음 -- Controller 진입/종료는 필터에서 공통 처리했음 -- Service에서는 실제로 운영에서 궁금한 도메인 이벤트만 남겼음 -- 성공 로그는 `INFO`, 처리 가능한 문제는 `WARN`, 예상하지 못한 예외는 `ERROR`로 나눴음 -- 로그 때문에 본 기능이 깨지면 안 된다고 생각 - - 로그 payload는 null-safe 하게 처리 +- 어떤 컬럼은 오름차순 +- 어떤 컬럼은 내림차순 -### 추가한 지표 +처럼 섞여 있을 때 의미가 더 커짐. -| 지표 | 의미 | 어디에 사용 | +### `FULLTEXT` 인덱스 + +: 문장이나 단어 검색을 위한 인덱스 + +- 일반 `B-Tree` 인덱스와 목적이 다름 +- `title LIKE '%avengers%'` 같은 검색을 B-Tree 하나로 예쁘게 해결하는 데는 한계가 있음 +- 이런 건 전문 검색용 인덱스가 더 잘 맞음 + +예를 들면 + +- 영화 제목 검색 +- 리뷰 검색 +- 줄거리 키워드 검색 + +같은 데서 떠올릴 수 있음. + +다만 + +- 정확히 같은 값 찾기 +- 범위 조회 +- 정렬 최적화 + +같은 데 쓰는 일반 인덱스와는 성격이 다름. + +### `SPATIAL` 인덱스 + +: 좌표, 위치, 영역 같은 공간 데이터용 인덱스 + +- 영화관 위치를 단순 주소 문자열로 저장하는 정도면 보통 안 씀 +- 대신 좌표 기반으로 "내 주변 영화관 찾기", "특정 영역 안 지점 찾기" 같은 기능이 있으면 얘기가 달라짐 +- 일반 서비스 CRUD에서는 자주 보이진 않지만, 지도 기능이 붙으면 갑자기 중요해질 수 있음 + +즉 지금 우리 CGV 프로젝트에서는 당장 우선순위가 높진 않지만, +"지오 기능이 들어오면 이런 인덱스가 따로 있구나" 정도는 알아두면 좋겠다고 느꼈음. + +### `함수 인덱스` / `생성 컬럼 인덱스` + +: 원본 컬럼 자체가 아니라, 계산된 값이나 표현식 기준으로 만드는 인덱스 + +이건 왜 필요하냐면, 우리가 흔히 + +```sql +WHERE DATE(reserved_at) = '2026-05-17' +``` + +같이 컬럼에 함수를 씌워버리면 일반 인덱스를 잘 못 타는 경우가 많기 때문임. + +이럴 때는 보통 + +- 쿼리를 범위 조건으로 바꾸거나 +- 생성 컬럼을 만들고 거기에 인덱스를 걸거나 +- 표현식 인덱스를 활용하는 식으로 접근함 + +특히 JSON 안쪽 값, 가공된 문자열, 계산된 날짜 키 같은 걸 자주 조회하면 생각해볼 만함. + +### `Invisible Index` + +: 실제로는 존재하지만, 옵티마이저가 사용하지 않게 숨겨둔 인덱스 + +- "이 인덱스 진짜 필요한가?" 확인할 때 유용함 +- 바로 drop 해버리면 위험할 수 있으니까, 잠깐 invisible로 바꿔서 영향도를 보는 식 +- 운영에서 인덱스 정리할 때 꽤 실용적인 기능임 + +즉 + +- 삭제 전 시험판 느낌 +- 인덱스 A/B 테스트 느낌 + +으로 이해하면 편함. + +### 한 번에 정리 + +| 종류 | 한 줄 설명 | 언제 떠올리면 좋은지 | | --- | --- | --- | -| `http.server.requests` | API 처리량, 상태 코드별 요청 수, 응답 시간 | 전체 트래픽 / 지연 / 에러율 확인 | -| `cgv.auth.events` | 로그인, 회원가입, refresh, logout 성공·실패 수 | 인증 실패율 확인 | -| `cgv.reservation.events` | 예매 생성 / 확정 / 취소 / 만료 이벤트 수 | 예매 흐름 이상 징후 확인 | -| `cgv.payment.events` | 결제 시작 / 완료 / 취소 / 만료 이벤트 수 | 결제 단계별 장애 확인 | -| `cgv.store.purchase.events` | 매점 구매 성공·실패 수 | 재고 관련 오류나 구매 실패 모니터링 | -| `cgv.reservation.expired.count` | 결제 대기 만료 건수 | 좌석 홀드 만료가 비정상적으로 늘어나는지 확인 | - -### Grafana 대시보드에 추가한 패널 - -- `API Throughput` - URI / Method 기준 요청 처리량을 봄 -- `API P95 Latency` - 어느 API가 느려지는지 빠르게 보기 위해 넣었음 -- `API Error Rate` - 4xx / 5xx 비율이 어디서 올라가는지 보기 위해 넣었음 -- `Auth Events` - 로그인 / refresh 실패가 갑자기 치솟는지 보기 위해 넣었음 -- `Reservation Events` - 예매 생성, 취소, 만료 흐름을 시간대별로 보기 위해 넣었음 -- `Store Purchase Events` - 매점 구매 성공/실패 추이를 보기 위해 넣었음 - -### 왜 이 지표들이 유용할까? - -- 예매 서비스는 `느려졌는지`, `실패가 늘었는지`, `어느 단계에서 터졌는지`를 빨리 알아야 함 -- 단순한 CPU / 메모리보다도 실제 사용자 요청에 가까운 지표를 먼저 보게 했음 -- `Reservation Events`, `Payment Events` - - 기능 장애를 서비스 흐름 기준으로 바로 파악할 수 있음 -- `requestId`: 로그에 같이 남음 - - Grafana에서 이상 징후를 보고 다시 로그 파일로 내려가서 원인 추적하기도 쉬움 - -### 실행 방법 - -```bash -docker compose -f docker-compose.observability.yml up -d -``` - -3. Prometheus: `http://localhost:9090` -4. Grafana: `http://localhost:3000` -5. 애플리케이션 메트릭은 `http://localhost:8080/actuator/prometheus` 에서 수집 -6. 대시보드는 provisioning 파일로 자동 등록되게 구성 - -### 해보면서 느낀 점 - -- 로그는 많이 찍는 것보다 맥락 있게 남기는 게 훨씬 중요 -- `requestId` 하나만 붙여도 장애 추적 난이도가 꽤 많이 내려갔음 -- 도메인 이벤트를 로그와 지표 둘 다로 남기니까 "무슨 일이 있었는지","얼마나 자주 있었는지"를 같이 볼 수 있음 +| 클러스터드 인덱스 | 테이블 본문 자체가 이 인덱스 기준으로 저장됨 | PK 설계할 때 | +| 세컨더리 인덱스 | PK 외에 추가로 만드는 일반 인덱스 | 대부분의 조회 튜닝 | +| 유니크 인덱스 | 중복 금지까지 같이 보장 | email, paymentId, 좌석 중복 방지 | +| 단일 컬럼 인덱스 | 컬럼 하나 기준 인덱스 | 조건이 단순할 때 | +| 복합 인덱스 | 여러 컬럼을 묶은 인덱스 | `WHERE + ORDER BY`, 다중 조건 | +| 커버링 인덱스 | 인덱스만 읽고 쿼리를 끝낼 수 있는 상태 | 필요한 컬럼만 조회하는 목록 API | +| 접두사 인덱스 | 문자열 앞부분만 인덱싱 | 긴 문자열 컬럼 | +| 내림차순 인덱스 | `DESC` 정렬까지 고려한 인덱스 | 최신순 조회가 많을 때 | +| FULLTEXT 인덱스 | 키워드/문장 검색용 | 제목, 리뷰, 줄거리 검색 | +| SPATIAL 인덱스 | 좌표/영역 검색용 | 지도, 위치 기반 기능 | +| 함수/생성 컬럼 인덱스 | 계산된 값 기준 인덱스 | 함수 조건, JSON 값 조회 | +| Invisible Index | 옵티마이저에서만 숨긴 인덱스 | 인덱스 제거 전 검증 | + +### 정리 + +- 인덱스는 그냥 "하나 걸면 빨라지는 것"보다, 쿼리 패턴에 맞춰 종류를 고르는 게 더 중요했음 +- 특히 실무에서는 `단일 인덱스`보다 `복합 인덱스`, 그리고 `커버링 인덱스` 개념이 훨씬 자주 체감될 것 같았음 +- 반대로 `FULLTEXT`, `SPATIAL`, `Invisible Index` 같은 건 당장 CRUD에서 많이 쓰이진 않아도, 상황이 바뀌면 갑자기 필요해지는 종류였음 +- 그리고 제일 중요한 건 "이론상 좋아 보이는 인덱스"보다, 실제로는 `EXPLAIN`, `EXPLAIN ANALYZE`로 확인해야 한다는 점이었음 + +## 4️⃣ 성능 최적화 해보기 + +이번에는 말로만 정리하지 않고, +실제로 `EXPLAIN ANALYZE`를 돌려서 전/후를 비교해봤음. + +현재 `cgv_db`는 데이터가 너무 적어서 성능 차이가 거의 안 보였고, +과제용으로는 [docs/sql/cgv_index_lab_setup.sql](C:\Users\jso25\OneDrive\Desktop\ceos\spring-cgv-23rd\docs\sql\cgv_index_lab_setup.sql)을 실행해서 별도 실습 스키마 `cgv_index_lab`을 만들었음. + +아래 이미지는 내가 실제로 실행한 `mysql` 콘솔 창 캡처이고, +원본 로그 텍스트는 [docs/performance-logs](C:\Users\jso25\OneDrive\Desktop\ceos\spring-cgv-23rd\docs\performance-logs)에 같이 남겨뒀음. + +실습 데이터 규모는 아래처럼 잡았음. + +| 테이블 | row 수 | +| --- | --- | +| `movies` | 200 | +| `screenings` | 50,000 | +| `reservations` | 100,000 | +| `store_orders` | 100,000 | + +이번에는 최소 3개 조건을 넘겨서, 총 4개 케이스를 확인했음. + +### 1. `WHERE` 조건 단일 인덱스 최적화 + +#### 상황 + +마이페이지에서 특정 회원의 예매 내역을 조회한다고 가정 + +```sql +SELECT * +FROM reservations +WHERE member_id = 1; +``` + +#### 전 + +- `Table scan on reservations` +- 100,000건 전체를 읽고 나서 `member_id = 1`인 150건만 필터링 +- 실제 실행 시간: `59.8ms` + +#### 적용 + +```sql +CREATE INDEX idx_reservations_member_id +ON reservations(member_id); +``` + +#### 후 + +- `Index lookup on reservations using idx_reservations_member_id` +- 조건에 맞는 150건만 바로 탐색 +- 실제 실행 시간: `0.66ms` + +#### 비교 + +- `59.8ms -> 0.66ms` +- 대략 `90배` 정도 빨라졌음 + +![Case 1](images/performance-real/case1_real_console.png) + +#### 느낀 점 + +- 이 케이스는 제일 정석적인 인덱스 효과였음 +- `WHERE` 조건이 명확하고, 결과 row 수도 적어서 단일 인덱스만으로도 충분히 큰 차이가 났음 + +--- + +### 2. `WHERE` 조건이 여러 개일 때, 아무 컬럼에나 인덱스 걸면 안 됨 + +#### 상황 + +관리자 페이지에서 최근 3일 이내 확정 예매를 조회한다고 가정 + +```sql +SELECT * +FROM reservations +WHERE status = 'CONFIRMED' + AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); +``` + +#### 전 + +- `Table scan on reservations` +- 100,000건 전체를 읽고 필터링 +- 실제 실행 시간: `70.5ms` + +#### 시도 1. `status` 인덱스 + +```sql +CREATE INDEX idx_reservations_status +ON reservations(status); +``` + +결과는 오히려 별로였음. + +- `status='CONFIRMED'`가 전체의 80%라서 너무 많이 걸림 +- 인덱스를 타긴 탔는데 80,000건을 읽어와야 했음 +- 실제 실행 시간: `197ms` + +즉 인덱스를 걸었는데도 더 느려질 수 있다는 걸 보여줬음. + +#### 시도 2. `reserved_at` 인덱스 + +```sql +CREATE INDEX idx_reservations_reserved_at +ON reservations(reserved_at); +``` + +이쪽이 훨씬 잘 맞았음. + +- 최근 3일 범위는 실제로 읽어야 할 row 수를 많이 줄여줌 +- 실제 실행 시간: `3.30ms` + +#### 비교 + +- 전체 스캔: `70.5ms` +- `status` 인덱스: `197ms` +- `reserved_at` 인덱스: `3.30ms` + +#### 왜 이렇게 됐을까? + +- `status`는 값 종류가 적어서 중복도가 높음 +- `reserved_at`은 최근 3일이라는 조건이 조회 범위를 훨씬 잘 줄여줌 + +즉 "조건이 여러 개면 많이 쓰는 컬럼에 무조건 인덱스"가 아니라, +"실제로 row 수를 많이 줄여주는 컬럼이 뭔지"를 봐야 했음. + +![Case 2](images/performance-real/case2_real_console.png) + +#### 느낀 점 + +- 이 케이스는 인덱스 자체보다 `선택도(selectivity)`가 중요하다는 걸 보여줬음 +- 낮은 카디널리티 컬럼 인덱스는 생각보다 별로일 수 있다는 걸 직접 확인했음 + +--- + +### 3. `ORDER BY` + `LIMIT` 정렬 최적화 + +#### 상황 + +관리자 페이지에서 매점 주문 내역을 결제 금액 높은 순으로 조회한다고 가정 + +```sql +SELECT * +FROM store_orders +ORDER BY total_price DESC +LIMIT 100; +``` + +#### 전 + +- `Table scan on store_orders` +- 100,000건을 다 읽고 정렬 +- `Sort: store_orders.total_price DESC` +- 실제 실행 시간: `63.8ms` + +#### 적용 + +```sql +CREATE INDEX idx_store_orders_total_price +ON store_orders(total_price); +``` + +#### 후 + +- `Index scan on store_orders using idx_store_orders_total_price (reverse)` +- 이미 정렬된 인덱스를 역순으로 읽으면서 100건만 가져옴 +- filesort가 사라짐 +- 실제 실행 시간: `0.728ms` + +#### 비교 + +- `63.8ms -> 0.728ms` +- 대략 `87배` 정도 빨라졌음 + +![Case 3](images/performance-real/case3_real_console.png) + +#### 느낀 점 + +- `ORDER BY`는 생각보다 비싼 작업이라는 걸 체감했음 +- 특히 `LIMIT`이 같이 있으면 정렬 컬럼 인덱스 효과가 엄청 크게 보였음 + +--- + +### 4. `WHERE + ORDER BY + 커버링 인덱스` 최적화 + +#### 상황 + +마이페이지에서 특정 회원의 예매 내역 10건을 최신순으로 조회한다고 가정 + +```sql +SELECT id, status, reserved_at, total_price +FROM reservations +WHERE member_id = 1 +ORDER BY reserved_at DESC +LIMIT 10; +``` + +#### 전 + +- `Table scan on reservations` +- 100,000건 전체를 읽고 +- `member_id = 1` 필터링 후 +- 다시 `reserved_at DESC` 정렬 +- 실제 실행 시간: `46.8ms` + +#### 시도 1. `member_id` 단일 인덱스 + +```sql +CREATE INDEX idx_reservations_member_id +ON reservations(member_id); +``` + +이것만으로도 많이 좋아졌음. + +- 150건만 찾은 뒤 정렬 +- 실제 실행 시간: `0.204ms` + +#### 시도 2. 복합 + 커버링 인덱스 + +```sql +CREATE INDEX idx_reservations_member_reserved_at_cover +ON reservations(member_id, reserved_at DESC, status, total_price); +``` + +이 쿼리는 `id`, `status`, `reserved_at`, `total_price`만 읽고 있음. +InnoDB 세컨더리 인덱스에는 PK 값도 같이 들어가니까, 이 경우 사실상 필요한 컬럼을 인덱스만으로 다 해결할 수 있었음. + +결과도 좋았음. + +- `Covering index lookup` +- 추가 정렬 없음 +- 테이블 본문 재조회도 없음 +- 실제 실행 시간: `0.0588ms` + +#### 비교 + +- 전체 스캔: `46.8ms` +- `member_id` 단일 인덱스: `0.204ms` +- 커버링 복합 인덱스: `0.0588ms` + +즉 + +- 단일 인덱스만으로도 엄청 좋아졌고 +- 복합 + 커버링으로 가면 거기서 한 번 더 줄어들었음 + +![Case 4](images/performance-real/case4_real_console.png) + +#### 느낀 점 + +- 이 케이스가 제일 "실서비스스럽다"는 느낌이었음 +- 목록 API에서 필요한 컬럼만 조회하고, 그 쿼리에 맞는 복합 인덱스를 설계하면 성능이 정말 잘 나옴 +- `커버링 인덱스`가 왜 실무에서 자주 언급되는지 감이 왔음 + +--- + +### 전체 정리 + +| 케이스 | 전 | 후 | 핵심 포인트 | +| --- | --- | --- | --- | +| `WHERE member_id = 1` | `59.8ms` | `0.66ms` | 단일 조건 인덱스 | +| `status + reserved_at` | `70.5ms` | `3.30ms` | 선택도 높은 컬럼 인덱스 | +| `ORDER BY total_price DESC LIMIT 100` | `63.8ms` | `0.728ms` | 정렬 컬럼 인덱스 | +| `WHERE member_id + ORDER BY reserved_at DESC LIMIT 10` | `46.8ms` | `0.0588ms` | 복합 + 커버링 인덱스 | + +### 최종 느낀 점 + +- 인덱스는 "있으면 좋다"가 아니라, 쿼리 패턴에 맞게 설계해야 효과가 컸음 +- 특히 `WHERE`, `ORDER BY`, `WHERE + ORDER BY`는 인덱스 전략이 꽤 다르게 먹혔음 +- 그리고 인덱스를 걸었다고 무조건 빨라지는 것도 아니었음 + - `status`처럼 중복도가 높은 컬럼은 오히려 별로일 수 있었음 +- 결국 제일 중요한 건 감으로 만드는 게 아니라 + - `EXPLAIN` + - `EXPLAIN ANALYZE` + - 전후 실제 시간 비교 + +이 세 가지를 같이 보는 거였음. diff --git a/docs/performance-logs/case1_where_index.txt b/docs/performance-logs/case1_where_index.txt new file mode 100644 index 00000000..8a7aa8e4 --- /dev/null +++ b/docs/performance-logs/case1_where_index.txt @@ -0,0 +1,24 @@ +Case 1. WHERE condition index + +-- Before +mysql> EXPLAIN ANALYZE SELECT * FROM reservations WHERE member_id = 1; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Filter: (reservations.member_id = 1) (cost=10104 rows=9967) (actual time=0.328..50.8 rows=150 loops=1) + -> Table scan on reservations (cost=10104 rows=99673) (actual time=0.327..45.8 rows=100000 loops=1) + | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Apply +mysql> CREATE INDEX idx_reservations_member_id ON reservations(member_id); + + +-- After +mysql> EXPLAIN ANALYZE SELECT * FROM reservations WHERE member_id = 1; ++---------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++---------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Index lookup on reservations using idx_reservations_member_id (member_id=1) (cost=52.5 rows=150) (actual time=0.118..0.542 rows=150 loops=1) + | ++---------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/performance-logs/case2_selective_index.txt b/docs/performance-logs/case2_selective_index.txt new file mode 100644 index 00000000..a264f3aa --- /dev/null +++ b/docs/performance-logs/case2_selective_index.txt @@ -0,0 +1,47 @@ +Case 2. Selective index choice + +-- Reset +mysql> DROP INDEX idx_reservations_member_id ON reservations; + + +-- Before +mysql> EXPLAIN ANALYZE SELECT * FROM reservations WHERE status = 'CONFIRMED' AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Filter: ((reservations.`status` = 'CONFIRMED') and (reservations.reserved_at >= ((now() - interval 3 day)))) (cost=9439 rows=3322) (actual time=0.353..75.3 rows=1427 loops=1) + -> Table scan on reservations (cost=9439 rows=99673) (actual time=0.342..51.8 rows=100000 loops=1) + | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Apply bad index +mysql> CREATE INDEX idx_reservations_status ON reservations(status); + + +-- Status only result +mysql> EXPLAIN ANALYZE SELECT * FROM reservations WHERE status = 'CONFIRMED' AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Filter: (reservations.reserved_at >= ((now() - interval 3 day))) (cost=2070 rows=16610) (actual time=1.5..187 rows=1427 loops=1) + -> Index lookup on reservations using idx_reservations_status (status='CONFIRMED') (cost=2070 rows=49836) (actual time=1.49..181 rows=80000 loops=1) + | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Switch index +mysql> DROP INDEX idx_reservations_status ON reservations; + + +-- Apply good index +mysql> CREATE INDEX idx_reservations_reserved_at ON reservations(reserved_at); + + +-- Reserved_at result +mysql> EXPLAIN ANALYZE SELECT * FROM reservations WHERE status = 'CONFIRMED' AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Filter: (reservations.`status` = 'CONFIRMED') (cost=788 rows=175) (actual time=0.443..3.54 rows=1427 loops=1) + -> Index range scan on reservations using idx_reservations_reserved_at over ('2026-05-20 22:13:40' <= reserved_at), with index condition: (reservations.reserved_at >= ((now() - interval 3 day))) (cost=788 rows=1750) (actual time=0.434..3.26 rows=1750 loops=1) + | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/performance-logs/case3_orderby_index.txt b/docs/performance-logs/case3_orderby_index.txt new file mode 100644 index 00000000..4c44495f --- /dev/null +++ b/docs/performance-logs/case3_orderby_index.txt @@ -0,0 +1,26 @@ +Case 3. ORDER BY optimization + +-- Before +mysql> EXPLAIN ANALYZE SELECT * FROM store_orders ORDER BY total_price DESC LIMIT 100; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Limit: 100 row(s) (cost=10087 rows=100) (actual time=60..60 rows=100 loops=1) + -> Sort: store_orders.total_price DESC, limit input to 100 row(s) per chunk (cost=10087 rows=99828) (actual time=60..60 rows=100 loops=1) + -> Table scan on store_orders (cost=10087 rows=99828) (actual time=0.303..44.1 rows=100000 loops=1) + | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Apply +mysql> CREATE INDEX idx_store_orders_total_price ON store_orders(total_price); + + +-- After +mysql> EXPLAIN ANALYZE SELECT * FROM store_orders ORDER BY total_price DESC LIMIT 100; ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Limit: 100 row(s) (cost=0.114 rows=100) (actual time=1.16..1.51 rows=100 loops=1) + -> Index scan on store_orders using idx_store_orders_total_price (reverse) (cost=0.114 rows=100) (actual time=1.16..1.5 rows=100 loops=1) + | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/performance-logs/case4_covering_index.txt b/docs/performance-logs/case4_covering_index.txt new file mode 100644 index 00000000..b65c74ce --- /dev/null +++ b/docs/performance-logs/case4_covering_index.txt @@ -0,0 +1,50 @@ +Case 4. WHERE + ORDER BY + covering index + +-- Reset +mysql> DROP INDEX idx_reservations_reserved_at ON reservations; + + +-- Before +mysql> EXPLAIN ANALYZE SELECT id, status, reserved_at, total_price FROM reservations WHERE member_id = 1 ORDER BY reserved_at DESC LIMIT 10; ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Limit: 10 row(s) (cost=10104 rows=10) (actual time=44..44 rows=10 loops=1) + -> Sort: reservations.reserved_at DESC, limit input to 10 row(s) per chunk (cost=10104 rows=99673) (actual time=44..44 rows=10 loops=1) + -> Filter: (reservations.member_id = 1) (cost=10104 rows=99673) (actual time=0.255..43.9 rows=150 loops=1) + -> Table scan on reservations (cost=10104 rows=99673) (actual time=0.254..39.4 rows=100000 loops=1) + | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Apply single index +mysql> CREATE INDEX idx_reservations_member_id ON reservations(member_id); + + +-- Single index result +mysql> EXPLAIN ANALYZE SELECT id, status, reserved_at, total_price FROM reservations WHERE member_id = 1 ORDER BY reserved_at DESC LIMIT 10; ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Limit: 10 row(s) (cost=52.5 rows=10) (actual time=0.314..0.315 rows=10 loops=1) + -> Sort: reservations.reserved_at DESC, limit input to 10 row(s) per chunk (cost=52.5 rows=150) (actual time=0.313..0.313 rows=10 loops=1) + -> Index lookup on reservations using idx_reservations_member_id (member_id=1) (cost=52.5 rows=150) (actual time=0.0815..0.272 rows=150 loops=1) + | ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-- Switch to covering index +mysql> DROP INDEX idx_reservations_member_id ON reservations; + + +-- Apply covering index +mysql> CREATE INDEX idx_reservations_member_reserved_at_cover ON reservations(member_id, reserved_at DESC, status, total_price); + + +-- Covering result +mysql> EXPLAIN ANALYZE SELECT id, status, reserved_at, total_price FROM reservations WHERE member_id = 1 ORDER BY reserved_at DESC LIMIT 10; ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EXPLAIN | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| -> Limit: 10 row(s) (cost=17.9 rows=10) (actual time=0.0457..0.0502 rows=10 loops=1) + -> Covering index lookup on reservations using idx_reservations_member_reserved_at_cover (member_id=1) (cost=17.9 rows=150) (actual time=0.0447..0.0485 rows=10 loops=1) + | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/performance-sql/case1_where_index.sql b/docs/performance-sql/case1_where_index.sql new file mode 100644 index 00000000..00a64ce5 --- /dev/null +++ b/docs/performance-sql/case1_where_index.sql @@ -0,0 +1,14 @@ +SELECT 'Before' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM reservations +WHERE member_id = 1; + +CREATE INDEX idx_reservations_member_id +ON reservations(member_id); + +SELECT 'After' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM reservations +WHERE member_id = 1; diff --git a/docs/performance-sql/case2_selective_index.sql b/docs/performance-sql/case2_selective_index.sql new file mode 100644 index 00000000..f9e29224 --- /dev/null +++ b/docs/performance-sql/case2_selective_index.sql @@ -0,0 +1,30 @@ +DROP INDEX idx_reservations_member_id ON reservations; + +SELECT 'Before' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM reservations +WHERE status = 'CONFIRMED' + AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); + +CREATE INDEX idx_reservations_status +ON reservations(status); + +SELECT 'Status only result' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM reservations +WHERE status = 'CONFIRMED' + AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); + +DROP INDEX idx_reservations_status ON reservations; + +CREATE INDEX idx_reservations_reserved_at +ON reservations(reserved_at); + +SELECT 'Reserved_at result' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM reservations +WHERE status = 'CONFIRMED' + AND reserved_at >= DATE_SUB(NOW(), INTERVAL 3 DAY); diff --git a/docs/performance-sql/case3_orderby_index.sql b/docs/performance-sql/case3_orderby_index.sql new file mode 100644 index 00000000..e6fe4e23 --- /dev/null +++ b/docs/performance-sql/case3_orderby_index.sql @@ -0,0 +1,16 @@ +SELECT 'Before' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM store_orders +ORDER BY total_price DESC +LIMIT 100; + +CREATE INDEX idx_store_orders_total_price +ON store_orders(total_price); + +SELECT 'After' AS stage; +EXPLAIN ANALYZE +SELECT * +FROM store_orders +ORDER BY total_price DESC +LIMIT 100; diff --git a/docs/performance-sql/case4_covering_index.sql b/docs/performance-sql/case4_covering_index.sql new file mode 100644 index 00000000..be4c4e45 --- /dev/null +++ b/docs/performance-sql/case4_covering_index.sql @@ -0,0 +1,33 @@ +DROP INDEX idx_reservations_reserved_at ON reservations; + +SELECT 'Before' AS stage; +EXPLAIN ANALYZE +SELECT id, status, reserved_at, total_price +FROM reservations +WHERE member_id = 1 +ORDER BY reserved_at DESC +LIMIT 10; + +CREATE INDEX idx_reservations_member_id +ON reservations(member_id); + +SELECT 'Single index result' AS stage; +EXPLAIN ANALYZE +SELECT id, status, reserved_at, total_price +FROM reservations +WHERE member_id = 1 +ORDER BY reserved_at DESC +LIMIT 10; + +DROP INDEX idx_reservations_member_id ON reservations; + +CREATE INDEX idx_reservations_member_reserved_at_cover +ON reservations(member_id, reserved_at DESC, status, total_price); + +SELECT 'Covering result' AS stage; +EXPLAIN ANALYZE +SELECT id, status, reserved_at, total_price +FROM reservations +WHERE member_id = 1 +ORDER BY reserved_at DESC +LIMIT 10; diff --git a/docs/sql/cgv_index_lab_setup.sql b/docs/sql/cgv_index_lab_setup.sql new file mode 100644 index 00000000..c2337673 --- /dev/null +++ b/docs/sql/cgv_index_lab_setup.sql @@ -0,0 +1,172 @@ +DROP DATABASE IF EXISTS cgv_index_lab; +CREATE DATABASE cgv_index_lab; +USE cgv_index_lab; + +CREATE TABLE digits ( + n INT PRIMARY KEY +); + +INSERT INTO digits (n) +VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9); + +CREATE TABLE seq_100k ( + n INT PRIMARY KEY +); + +INSERT INTO seq_100k (n) +SELECT + ones.n + + tens.n * 10 + + hundreds.n * 100 + + thousands.n * 1000 + + ten_thousands.n * 10000 + + 1 AS n +FROM digits ones +CROSS JOIN digits tens +CROSS JOIN digits hundreds +CROSS JOIN digits thousands +CROSS JOIN digits ten_thousands +WHERE + ones.n + + tens.n * 10 + + hundreds.n * 100 + + thousands.n * 1000 + + ten_thousands.n * 10000 + + 1 <= 100000; + +CREATE TABLE movies ( + id BIGINT PRIMARY KEY, + title VARCHAR(100) NOT NULL, + genre VARCHAR(30) NOT NULL, + running_time INT NOT NULL, + created_at DATETIME NOT NULL +); + +INSERT INTO movies (id, title, genre, running_time, created_at) +SELECT + n AS id, + CONCAT('Movie ', n) AS title, + CASE + WHEN MOD(n, 5) = 0 THEN 'ACTION' + WHEN MOD(n, 5) = 1 THEN 'DRAMA' + WHEN MOD(n, 5) = 2 THEN 'COMEDY' + WHEN MOD(n, 5) = 3 THEN 'THRILLER' + ELSE 'ANIMATION' + END AS genre, + 90 + MOD(n, 60) AS running_time, + NOW() - INTERVAL MOD(n, 365) DAY AS created_at +FROM seq_100k +WHERE n <= 200; + +CREATE TABLE screenings ( + id BIGINT PRIMARY KEY, + movie_id BIGINT NOT NULL, + theater_id BIGINT NOT NULL, + screen_name VARCHAR(50) NOT NULL, + start_time DATETIME NOT NULL, + remaining_seats INT NOT NULL, + created_at DATETIME NOT NULL +); + +INSERT INTO screenings ( + id, + movie_id, + theater_id, + screen_name, + start_time, + remaining_seats, + created_at +) +SELECT + n AS id, + 1 + MOD(n, 200) AS movie_id, + 1 + MOD(n, 30) AS theater_id, + CONCAT(1 + MOD(n, 10), '관') AS screen_name, + DATE_ADD( + DATE_ADD(CURDATE(), INTERVAL (MOD(n, 90) - 30) DAY), + INTERVAL (8 + MOD(n, 14)) HOUR + ) AS start_time, + MOD(n * 7, 180) AS remaining_seats, + NOW() - INTERVAL MOD(n, 180) DAY AS created_at +FROM seq_100k +WHERE n <= 50000; + +CREATE TABLE reservations ( + id BIGINT PRIMARY KEY, + member_id BIGINT NOT NULL, + screening_id BIGINT NOT NULL, + movie_id BIGINT NOT NULL, + status VARCHAR(20) NOT NULL, + reserved_at DATETIME NOT NULL, + total_price INT NOT NULL, + created_at DATETIME NOT NULL +); + +INSERT INTO reservations ( + id, + member_id, + screening_id, + movie_id, + status, + reserved_at, + total_price, + created_at +) +SELECT + n AS id, + CASE + WHEN n <= 150 THEN 1 + ELSE 2 + MOD(n, 4999) + END AS member_id, + 1 + MOD(n, 50000) AS screening_id, + 1 + MOD(1 + MOD(n, 50000), 200) AS movie_id, + CASE + WHEN MOD(n, 100) < 80 THEN 'CONFIRMED' + WHEN MOD(n, 100) < 95 THEN 'CANCELLED' + ELSE 'PENDING' + END AS status, + DATE_SUB(NOW(), INTERVAL MOD(n * 37, 180 * 24 * 60) MINUTE) AS reserved_at, + 12000 + MOD(n * 137, 60000) AS total_price, + DATE_SUB(NOW(), INTERVAL MOD(n * 37, 180 * 24 * 60) MINUTE) AS created_at +FROM seq_100k +WHERE n <= 100000; + +CREATE TABLE store_orders ( + id BIGINT PRIMARY KEY, + member_id BIGINT NOT NULL, + status VARCHAR(20) NOT NULL, + ordered_at DATETIME NOT NULL, + total_price INT NOT NULL, + created_at DATETIME NOT NULL +); + +INSERT INTO store_orders ( + id, + member_id, + status, + ordered_at, + total_price, + created_at +) +SELECT + n AS id, + CASE + WHEN n <= 200 THEN 1 + ELSE 2 + MOD(n, 4999) + END AS member_id, + CASE + WHEN MOD(n, 100) < 70 THEN 'PAID' + WHEN MOD(n, 100) < 85 THEN 'COMPLETED' + WHEN MOD(n, 100) < 95 THEN 'READY' + ELSE 'CANCELLED' + END AS status, + DATE_SUB(NOW(), INTERVAL MOD(n * 53, 180 * 24 * 60) MINUTE) AS ordered_at, + 3000 + MOD(n * 97, 50000) AS total_price, + DATE_SUB(NOW(), INTERVAL MOD(n * 53, 180 * 24 * 60) MINUTE) AS created_at +FROM seq_100k +WHERE n <= 100000; + +ANALYZE TABLE movies; +ANALYZE TABLE screenings; +ANALYZE TABLE reservations; +ANALYZE TABLE store_orders; diff --git a/images/performance-real/case1_real_console.png b/images/performance-real/case1_real_console.png new file mode 100644 index 0000000000000000000000000000000000000000..dbdf81ae37939f696a64352af45617f3a10bc59d GIT binary patch literal 64782 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
b<3Qz7G1RO&8}%uAH9aLO!{KfxBox@ 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 L_^@Q-zT^J^YG=sB literal 0 HcmV?d00001 diff --git a/images/performance-real/case2_real_console.png b/images/performance-real/case2_real_console.png new file mode 100644 index 0000000000000000000000000000000000000000..02ee3b9653287d2bfd9c88f5a969f9969ab2acb1 GIT binary patch literal 92386 zcmce-hg*|(`v;2EmQn>Qw4$uk%BUjZUvO;T2Ds9ar%nU@tV=j~^sq*4ukj3UvLXDC*C7p!`s|I0(651W ztys5!1Pu)x%G$qm)R-4%H8j-E+$7*Y#cwuDT!JA8;L5b{Qcx^IES) z|9WHz?u*M)_r|z>Eq|8)Ay5;<6$gDdl3+d^MGhAz=eTnTm9wophAX$vQk|SU*#m(& zt*$TEp`jKMu;DHf+XB=pWy)o)C3@VFnbn-kXef0pPEk?Q+d=3vQ>-J|cw>~Xo?EMF zs?3suoMI=g`Lcn~ghkS=H?eU)xVl?~r`j z+&0tO-aOsyoV89v{876Z^mW~@mNzCvgl6My=vj=k2;n|`A1=@27>_N9le8hLerh%> z;C3!V$i03eac6{y9;2|4apUvW!V${(3)i%Z>hsUOIscp9o>xJ(J?r0lu!@T-2%+VodjXN-`iqnV?r1{xajsr()OE!QVS&ST3e!r6qkG0NT~ z98&^O4aU+aaHC$ev>XdpDX@Z|F5B`n=^d_T0ldSPDIYW-y_|(K)^mpU)%cx>n$vYX zVr)dk(p+Nf_S6_j&1gR|NB0xwg9RqNtDh~IdcT^NDHH{M_yDpx-9Z;GQ!?>H^oC(v2yKJ2ie6iI0LNHWbdiQU%I4YrMB! zdi~8SRV%QvbsE@_&yxi6+7GB~*VcIXsO}~~sz5WHEW(jXykK~9ygpp_u{%P2Z$%D1 z+rxLL(WCOxR`d})ukYCerB3a7#I~wPRZ$@gUswezR16#BcW%;xS`X(p*hrQ zvmCIn$IE)zwzYguhfKyL#3a8vbnV1Y5*=X_mhpQHKQ}M`^x%d9^RBeV?;Fg@EZ$#3 zM3Yc?j)V5E3-+`})_7^(M)VxaH1Pk*dw6S2d3BaWY9xyjT@QI7@8GDfzc|pV{0u9q zifN0IQj$uEz7BQ!qr9K|AkiDb1 zJ}&Dvl?w`s1R5H16~M$Mzjp3QQ3@SMqxnSisuiiA1-)WqB>^vq^6+D^?}WGfI?gBe z-3}q<*M&esFm-^^lV;zP7B+Q?_+yv)J(4RMI`t}IFf@6axzBvY$=hp!4=eN^G4le8 z&qB|@`uj_9gD-#8zmm{k_E>o}!<3^b?tE(D>23S^`ItzhTZ>D}ztec*nMp(ELvzL9 zm%X?YQf3}@f0Y3{pd)AR;0Czcw7W)k6j;)qn2U|xwM%N#~TorA5J160`n0r#BkmYBd4B1IW z8Jz%WSw}`u*83_C@28g<(w|lWrgI4H+WZ^$KKU9+FxSI8`O-fZ znNa1vH~N|d>-ozKCFYveDa?roH@Qll^NSC7-)uH^!*f%I{EM5kj)9nZIPjwxfF~E| zFLVA*n{bbTW*yjtn_SvmaiPaietn<(h@*A$hO@gDBYMEjs=En${1FH8y6$9l-RP{y zqUvSl$F5KhU*jdfThAmEe1deO7G*zlDHHq|B$_NGP!UH$uwvP~R7F3M`|N&_uBE8)A_Mnz9D z9qb@R3DHrhAI+e5I!sjyRd8pbEHP#)>C&nXV#3!v)LM7N-#FkM&hND7BiwPE=kT4j(P?kXSR_wXg?)7Eh% zo-izasIL6E^*UuMK8PfXyy~FjIy3a1>`Lppf`U|7_}I1jTe)PgWquzE&RDlH|8(2i zU79|UKhdr4{>?&V5=pYY>ITA%)VpeX)@?BI&7iD#qT)A%n}Y3k`vT6o3x}@1an^Cn zdBy-&k^gCM|MHYoZAjj*WLiG4eS46{Uy-7#7vA88UGmFQPga^MRG`S^Pl( zX_iohFYG&;>jXG~puDonj1EqcrbAewQ2{|)YjRLhV_5WpUQd>RNR_W3SB-E*;tf@VrDb@4r|PEJxjowtT0~rMhkCh%#M4Dx zH$MAUoeeY7nh9vls<6+f)@rKQy)&|ha-diK85Z#NN9I^#o#MJDjs;;^r!ZFhF zb5|`69Elh2;Gr*B_x-?PI(CfvkRfT)o&}~!?^Ut=sy@G(vZd+fj)WhNW?LEErh8`g z$Q0Kd${KH#pW7KqEPx{?;;8ff(Z}q=t(wKKCaq_LU+SAe(Ph$+0-fHgfTKnQ=zEDB zUWP0p@c}4J)j8%!o$Sat`H(c#_dI^y*XEvjEJ^)w=*)#6{aILRJ?8y^Mgn^G`M;v@ z%NXJFX46j5)V?h=na*N$P1oOqp)Fobr`14IW&9O$Y{Tgzd&tv&XuSIBjz@^PoTECv z1k-13kBEYLmnCqiSd7$4E&Y_i2dOj4j8z4gReU-|MpLZ{uNjbH6X!}S%U+gN=a*ND z8tz0b@dq{pGi{dNVXL|P|)EWIcag}H}$-cR39hd%nkX27h{T}hDQ zPMxuHL-|~Rn5t%xck&|M<4%>8Lg$8Z3$_PrTds#<(AL}hBg1++bNr8K)xXIts^~no zYt=AoSige1^W=nntNrD9hq}dV)U0j3EhDAtLVx}5Zf9iW?$(b2JRYYXBtRdqb07Mu ztz(ePI4bH5W9&p}Jo`bF<%K{4ub|_+$N{?| zweTl1)CKsK^EK7!1UrMY@dKJjCw^FgAp;YWEDr9$u+Sg+sN(_)YMHPWCg%h zz$ul&bfA;ZNeP22tb5sSAIyEMvs_z5=RBob{yy)_@r1^vmmjkpDt8B; z%Xlpud}^`z$WkA!PSxW<%gRpqxxe&Pqd0YB8Jd(H7J6*w_WBC<`kjXl*W5D}&7rrc z{`B%{$@4ejL$i_FQ!Z$E$cI#nOtsVW3g9Z~^=i2z1MYQ_Zn?u-Dcw+j%A^a3OY|x= z-ke<9o+66bL0rg;*#^X1!_2q78B9Nt%u(DN4^CQ~LL|=L&r@^TkB3+-A2xO+X)y#= z@MTQ|6|tIFCu$@#OxPy{k_*%eRahp8YfUvToQsKOEpkvF_`Y-DUVn5f)^H*a>Sktl ztm1Y-FhO?Yu+;(5dlu*Ncjv@1WwG+uEpUo)?zTHsORY~0v~&TIK4tf;)=qUJ0Sd!*uKkA}`xfdJ_%mCk4SmQ?DvG>zikxkme~SLw zvzIq-nS<>fML@5zX<|%fXvVvoV)}k~trpYppw5q_sq{tcjmL|aC`kVO#^0*)ry3P` z(wrZ>MBl%S+HJ@wjir-o%f_kRx%XC1LNBII7T~vT^6|ZcrkuyAy=WB}G@0}Y{X>s>L zk6TsPvKIAlf3KWXPOg*59&JA08(!V8r{%(r19~?Kf)YnzDaYJCZSy2Xys0uX`&!gu zfWvOzUIC%rIQvuyf9J9L!8W~;eE-3v`#Y64JF8x%%oe7%`99CE5KNKfl|QbrHYOs? zDRd45<`W4oZ{vy64@c0TtYIed=7bm-70#)NJ}0LCNh%4)&pgV4s7jRLN;>my#AE7$ zIazs&6S(>j$SLxMK|giBokLLOq~+w~MOe{^XuMUbqOSk!dT|;0#VhV<__J?~4gG@F zYxrNe4rEyZTlbRjT&9=+62BG*RHFs8<`v#(p(Z9)Dz}lha&H%evekHGLzN4|+Fp zcLpNI86aJ)-#yb{{e6%Jv+D2KZ@I2kWcXx0fp(-%w34Gi-SooKUZRXgsne~L81lGJl^PL{rQFW33K6k=0_7d~NO0@F9>7ehpHuz#d2nA;}Y!rI0OrTEqS@46Ei`Xpnf6$-S?fczOAK z_fygODm*F@r-`M&Ual|te)aTq<$1i5hCM}v+Na@v%V$Y;)sp0tHd(weJsiSwLS)Qt z^$ZCdXM-QA2h^*WZK`(l0y)t0M7jSso5j4v(kE2lzjcxx)roP6AMuM}<@Q$zEYWm? zZs`_r&q;M~Emt0_l-%vcRTlnrtgkct1xV%5VX@OyiKhL)IhqW!>$VK=USsxzu2z?m zDiRrWQ6Klj9PE2R-}Cu%V}mFAc0Ncwb0BeK68C%;9sgDoe%QrzA)6f>cK7Ms1#)(fPMNCT9Fcgf@N7BCHJh&G?ky)Pt9!s< zlDeFW8=(P_dJEDU#a+G3#odo0M0Oe5#($|XU^!YJicE~my(h+6<`*~G=U=&PJ|EeI zySd9umqHVys4EZ|uIJPbqbjn(6TXeJUKgqLM@_E2tU-+!@)rx7FW?4Lr|DTkkf0at zdj!pBUS8M1x9m<9x&C2d!kpb}_RJ#e5!}_3MXVlCZ8_|Co=p4T)L4(t>VN6)3K|9l zdd3E)%nJi;)T2MTM$g571BQxJ!V&~E(myz})$Z9+bm=j#o#wVmcqrbfHd60#rNw2pi_c3B z`=}}gKmL*X)Cv5@PHx3X_kqF1iQMOrt`Rf2FPzx5Pwi`8LZtQLe8n+k-s(>-=OUTU z^1l{0e^m`A&jY9;V1GX@hoIF}I2ksh_5R++Jq4SUB^OXP$6=I=6I2dN*Cg$?H3HJPITGIf!2PVzg_dbN{BCi*^~ zi>YBT=lqqr#b^dBMH}Jp4CUc=X12b7ykv(+Twl~cueba7a?j81duTG{2f&@qA{-mn zBCb@II=rZUX(ME{^?H~X>3seijMH52U?-QmrETK{Ses{7p{m= zr;4(zBhR#TTGoDmqZbnVK!ucChRV4n3>t_PL^N5}%va0^SL!jh7^KKode6n#`)+a& zhaK`yiF!V=;8nWN%vtzMv!xeBznnWWFbMz9EZ{aS*#ybx6IqBi33r0Nq63dL$9sO1 zP1s=wqore;+>cqmtH?0%?;n_j!D0D&r9lL|cHhe%Af{e>firFd)T?kBSHZ=X1O{3g zy&EU|_2Fo4)>~Z3_5fJwSN;AbRRaBjx3xq5O9QgHiTsCj`+cDo1!y&v@%GxO$BEXh zmUDdn-4E`2G-bKlcb9&?7%KS@5#t`{ITo4nKAe;`v@0S~2lwXgjo^*)qcgkR!zBl; z4}jDo1-?^Ngw=(8?SjwyMDgT!* z;t7{EP{=X|b+i;|qa5N6(a^oHGi|@=GrLQdNRw4eld_gxm#BF%h>hExe?^B=Gpqkn z?D|5idoJBjUm#R>HWSc|Y439@xe+HkWs&jq>6uf_7>N(% z3pl;IixfVLdu)InZ$O+23;2q0rj}u`e~bLOs}*FKm~EOg(jBe!tLKJD9Bttyq32LL z1{N%@MOq_5=aHR@yZb6Lp!(C{csq7?NZOIF7^+`=-XT9uhTQ4!RZ-V?s>T30c6A=l z-}wpkI+Hx5>o*0U=QID)VU`~}uUmhXh48F|c*Q zD(`Mnz%H--q3RlQSlza}x<0HJabn&piy_W_O^r0_u9T<@L;@!aT03%y=Sm4M2(nek zFp3&(nHsMi7V4sBK-x5nN*8bb3~`~K?ZR`SZ9ASyZD;B+>&t7Dl9Sl-Y9(aD^9*** z344Ll)F5GrrT;qr{U+!b+xw*$_3ZL{RZP$DiRT$CmUlB(4xO+1I_)q^uln-tmG9pk zjvv(fsY0;Mx?apZ(qtZb7CJYa`&3-6AQxuBSN3A{~$*{ zT(R5mXrwz5Rjv1i<8_e@w`;b9c|#krzE>Hxn@VgKw|br=Ek13==S}%Pwsk>8LUHLE zc&%bhDcehcq8NkGUdULtqjWc|chPW`rypeLF{LW~&Q=T0K12AYA%ndDlmDH3zE$} zd_R&~4sN~$%HnTL?c3n@{`borWJMk&Mlt=)PYqeUUS6Zh{1(m|$wtQ~f{?@QW5|&> zM40XQ)9Mp1^8%5ecUb`s7!GB!@vbUS^TErsM&uvAG}N=DhsogRN{Efa*kH?HjQ#V0 z-h(lAU`}@k{$f;G5n%%}RL@;}njG=?+`!6_522x$4+L z_c1LkPD)izKuk(k-vg@oMf4P(vsHO(C648_T9So6Q{~RT{#2Bt&lEouy_V<$Q7Qu3 zmyX}NH-C_RBVt#DAt~$EfN_RiYrTC%c{FA5BSZ3i=_l8p)WTc~2;wH* zA^NYl&aU(L2`m|hpWEpt=c@}ftSeSYC)CQvjHAhq?SGfoojp;T3GOp0y%yY~u*00A z`oW7fueMz+#BZ2k--v(+yr^6$~@ zyKy<&<6i9E{vxCE#Q6+L>~1p)&$OcZId_iHH@Y92$bHDpzV(5^0zFoA$EYsftGTV* zJ`MXSmNJ*9a^_t?-6>UWFO4zCLJ&VC#-#FvAk_dSM0x1A+od4^kdsH~?XE+9v_cCc zexj3eRxcZat06Xx^a%@x+RYAK3rP0)BHNxs|IgSEjpaVwToy*G+WP7|Yki>xqh#|M zu1{#4s+Ido;TXSX)A1V27(2vs6f`M(nUx4TC|Ukv9qax45%g^bc;sz64XintMc8Nhl@I>Z~Ds$I)t-(QfHfV>v&9k201=q{V2>JJq z^)+>u9@mEE8LnZusTO(P`c#ykoo{jde%tKOK)r0Gsyw6X2jrW9()}XnQ#S2#5Z}-< zo(;NqQ`U{Un*Wms8W|an@2m~?`sw)%d$EZSmLK1Hv&^3l)UHaneDB?Vv_RQ$HAZW& zZiu-w?Qp;9?(ivGAMWO5Or0F*cpif2-~0TYTjNrYD}SInLh>gDFm_?$iMmwFj^)XT z?uxmdUy$YxSZm z*A;2(RH6eOe2M(|cbgE;Q&we-O_;ewfqL#;x&$R`r2Ad%)MLsz82OEiPLaW$)-%%1 zaPrthSS~ zIzhK)px1@>Q6}6L9=7qg^6!9G)5U0ux<5e&=Qmw^tqD=wJ;GmKUaF(osTrkAA46h=P!9=kr#&l1+Og2I0wB@wu zxFh76Cf1>--mgJ{=2g0S42~B};t_<1U#w$Y2B7GoqNf>Ml;3iZtUClV12NpJ@5XAx zT5zVd2OygCEAaz#&es~JnH}mQpg(TvA09sl1X#Ju{1%-agl7+!S z9-^tQb05%B8L)oYO~}#?idw~2$BFz3Vu%y0L*s4J8Ne&Uxr{Q^8^81hn)>shewh+< zFe-V}Xv|i@#z-@{Aa$-fF1g1uWWS;ls@MSZqOAQ+>!K`El%x3XcDg1;W$<@MP}C9$ znCRh1mJ#qE^lXeu?F&5<*e~-_^{8!&(Y>n_pj*S)EeIqTOxzQPn)jkS^9zQgt>l(D zxdo9|pEm14w&ew%aW*6oKzrqQt$NI78i{t$tQJ6bRTTD>b^nYg7yOhGyqvgQ+z6D( zfC?n5lYk}@T;ojim_S9;8C#~liK(;q|L5sf+}Oj56?_3W3J8bFh~PbO^El?SFRz%_ z&O6u6R~?><0Eox`>A&M+-|b2o{QWHZig` zffEN%+!IdeXoL{4;c{W65UHelxMI?eo&MJr=c7pzux5U~H%8oFAvo zBM1%@eX1}I`%2qXLj@fdqhkMg?FuC#kEp{*m@jK%taT}fG7w%NJUwPrd98Vza>xeW zDzZ`WjuXYp>1riYO<}+K z=S2-HQ%jb&y+Y7h>jj`XvKIVztqaox%UbIc<;HMjIOL0> z!pOWfpt4umqLaZFx-!9WQ9wt}%*(3u1HDcd>EA;8bF>22&1k^>>~Is`^zs3m!N5}DUQaps_wgwxH$#NRdPxu|c| zeIR8YR}&-D#Hy#st1%34<9dxNf>n}0PV)I#j#uQ7Uy2LYdfhZ$S(L=mcECXk=t+bX z)f9ckQ8tSI-YH(agHj@Kbs32hP$=_aGqJ0#c5_W>r>d9v*GL+m)?RCBOCXrP#23$)D9 zK2;so(72z`(GBJY&|n?Yv;6-kOvn81OKj4f$)o7WqYUs_fXt*dD#wUK+r{iEJoPWR zGlnOq{v5Y9>#t+ImUs&Drs9>Z;uTx-qK3xDGNqR#a-PmS+j*C`Cf--#E`w8);|Anp z(K;B!9~f_yg}`@w!{_g3{PzhR9H1g7=KAdCxy+*ixMvU?Bk$v~1GB63n9Q*>UhD(_ z&^d6>ms+N>+S3CCjt581tI5j0-+DEVfP<1IYAAFj$F>-$I*M)Rb;U%Tu%4qVCzQ!Y z2)cB@ae!&av1RE3-@^>QM#|I0dwTdryAPoNuHOxl=u#I@ryWyi%C!@nq>)5Pto&{m zWj@K&)h&dR#y6p4I&kbqVh3s{H$iggnsUI5PSptWwy!A`1AOYsmY9i)^zDgmA!~-< zm18cB*=*dJ)WRRbrprO8ms%uOvDkJ2GWJOiV4EM$U0*JfCt#xIj{w&BK23sAOYkAr z=XG%+(KhOi6m4J(jfp$QLpX_o>y+!+E?^g-Ff7nB1S@D)tuf=DZHYChV#AA=oN7GH z(XTw(8k}w~V#`{AF96licLR7cW zEd;P#|Jn1|Tqe~t?V^;O%QW^TWirt}$uOR$)k6?@ zIJ5gJjaU75iM2=8=GD;X?yKGd> z5c$q?Ed=LO$!JxoZ!}fl7=Nin+1s8zyik|evV6rHujZ>|WQ(iX8Z4*w9H0lond20M zoF^ct4jKP!EB9CkMEaSD#Y0x-kK_?mpRnNliV2J&+YdeEhdw8rf~%&uAQc7Us2I0V zjSDxDg&Qd}N(QQZWiD)_^SSqGYQ+XY1IcaW`T?vPU4pwX{?RvuLC0;*x=|uZnv^|G49?03GV8 zE^l8$ROHY8Z@v0nAt0o1k!u81{+YNWE96HTj!CZSYU9!KpiN}SEK|n-r5JE7B!WwT z9iH|T^B1WgxO2!-rC&!RU5xYG6JRyG1;_lKg!fH~c0kh_4yK^SzBbT?tSAh0Ff%hW zMHWbr1@tedM`N+(wMoCED6i_4{sAm%ua##|vqjyJaW;BLKu8Px7t^cP#BhZroODpP z0AM`#_p+^M;RBkfs(%1TY>4)1IYtU~&Le`Su7g4VC4g5<5|nJhB*B$nfU{H;m^8dR zdFJV}4y7?VqIfHuY@20h9p<%2Zrp9o#ES!#J%^vlzFqEbtBEJaqom6PGN0VKWpd*& z!ot4OS};A9r&o~CzjlV`;bToPl>jIOH&}WMl2=i50W(B190UB3j>Bj?HFnyGrwajY z!Oihy;_I}nV9}7x+{Gm}`lcm*-p?&$7$1Br1aYPhEk3;enf<;8kul`M*PhwU^y5DE zRG1(lYbzX|IZ0R9Hi#JNVKVoAj6V8i=jCISx@9*cVI^&7@bRtJ%Z^m)!fO-UJ{%>~ zw&L;UUg78?0);4~ZA;VD$wU(zb4}d$_QIBA8J6T=KmwP#3h+Rgf}@(ngCx54Xu$pI z;+S}ql4%088}Z7OS5jneIjR|Q!{h6fbZ3Au-r4G2gxp8Q&JkLf;W2Ym^hGHkvs`Wp zU@wIuJaAHSZ$jw-m-z^&5lJm4W27k*nEkbS#xblHu!2(&**{FU|Pb@DZ%AQOEQk4 z2y;Lo$EXF&tO9={L>2XmeXhvzTr(QX^m3BO(x-=?jhSuG1gt^vig*IYEC@~!9a@t4 zVdfpg`%{$7Dh3DU8md(AAnKo5g>Y4YdMYks#<0jOL_Rroe}fxM46}b8(mPn63XYr9 zuY}q7lJCWex*L16$Y*-$V9)lg!d2421XkPh`N*UI%dU+YL4e1-)gSWK8-E_ znc>xAG}VYuqEfv}C(BPRH&8Ov%Mj3UMYuXG>IA_ah!EiUbxoF)^92@82v@#Hp!3T`l90FRa$INz7iLPVn7P}yeOdVBy zH(X_@9*CWt3E!lifsoH6%MO$!}%?tJBpIwGxAskR%<5sjKEd{|8{PVKuL3%F9T;U$PR<%Rmhwqntq&94sKJ z=6GZm#j69PTq0O_owJM}FBSnwMv{4oQl)FG*0om+LY0GTNF8fkKdqlMGE)@&KEZhd{d<8iLSm`!e zTCXrht;B0LkD-}B0)SERFlgyjkn}3yw`Jq$3^+z#iM^x7Jb(Zs`pYJ<-=!X`MH~7sonsZWVJfa{M;Rjm|3Oqe?Qu6x%f6UPma1#J8jLPbC$ZkO6 zhlU0#(F||mX@-bTi7xU8$@W4wHtCX2X0ZHI=2%;~e)Im`@o{O7E6x#B6&Iok4u(*& zE$zqZ&xBPzkh6Y^m;P9Eq=HkA`f51eGf2}DdODX_+mJCy0CK)H&6PiY$4o!w9#V$t zO#$@m_ocRrk!SD(l=Mf>{oUg;H1Czarosjl{bDEZ)%k3|FWPx7E}qQ5*Pjeq;_LGh z-aFlIn+}t0XsWS@GuiF*g@(^@%;{z{zd7BHw3LVVkG(bUQfV3itw;C{?ld+_%HjttIVynws_BaPUOutfBqg?mXo!u$o9B7nu5>YM=N>%Hgl)qmdMrO zu1n$v>WbFI+%Zjp%lQQadN)8Vz`T7)0#NZ^^pVt2KPe(h3)HF7VTdv*y+E-d)lC3w z?W7*Y4#vj9>z|f00MFg)ZylDYMfT8oEVOcf=6Sqq>h>^yjRdA*Vj{DgxJ;HEXuz`0 zi(3!^G3TnDGhf;ND+qJ~B=R$pOt?EKdJtaX>@u%eN&@;WOUhQ;|3k)7wU5XB&bNqR zEWCB{7Sx`NKiU5>Pn~B}wK&!KwAzFI;e)ei@~kuu5vX5Y-hcm%jmZ(j&rXD_eHCpr z0JqK~n;JRZ&l^kD_wWz?H>vo?8zd~rcxY}xdV%tdjgF0c6>f}XC`KS#RVteDjZgv? zZv;x1;$?~_2DmJIS*Csld}#ypcEy;Q;o)*kJlyD%HI5mj@a_@6!~GPpPyzPLmx{%5 z|6!rk77Dep#@Y9xOZ}pZ6o`9+)&ZwO&Lnnw^|NvaLh1>{OiL7>Bmj}h;y%sL(!_vog#(x(GKUDB z-w|H@MG7wGcMhDbRKA=Hb#p@$mCmm(3u3$sfpr&p+?kfbx%Ub5&Q@i=>SWwWa$0=z zRDsyXO5u??#9R!!U6VBD=k^OgX!IEr8_xjSZMiZ7#HSq_{zbQ=pwzTvg%PK4XNs~I zAcqxPR0#Yr8e5qr9HRdWBnPj=|Jp-3PcvJMWpyLv-%xSj}BVZVuI9t$%xny&6c-;9? zNqnQV#^k^DnPCA0#zGdb5`GNvT+62?2HN3e31jSsk$~w2)ao3dI640$*^hewL=>{$ zMff+<9!CVL-(=UUaSpH}P1yg77mx2xLGe(!y4fy^W^4C012zS~aMz5@R?8wHSoZ44 z8e4w-;a_sCzdJ5!cN}WvHFYg4TZ2zVbzSX&_@Nv)mv@R#y5N@{Yxo$eLw8fsD2lTy z4n+-4!hgZ#MB*I)AZA`0LtJg*wi!j6)^@0#1ASA(jo>!>7qGR-Sf>99zPlzx^AZ6qcv>veRdRREpb`~0CWIS=Lo*lC~lHt zg{kiczN9Bt#(>x$3X}z3d2CPv{spr9fEFbG3D~4P59rzu&)N-z6uF=N0-dI^0k?Gitsv-r1c=k{1$jz-y)h(KD7%QKo7I1T!d!O)F)~=lkglPEbng%ucN_5i z57xYnB7yV#aYoqeg)f7?An5n-4M@V96kX*<-5OQgAEXIGjVtG5%K-j~52>2B8xCm~ ziGp$q9gQ!6)+q98&F^M-5yfWh82EjP{RfNzj{S@E*C5gBPJ(M2u?aMCtRs)OF+HKz z83Pb}8Ni*KVjTH%3E2NZq6d0ikkY>&{J$X4#_UbyrI%&GN4jO;G~uAGE=c+ji}eNz zA8}FTX|c&1Ib<(UqAcHJNtP%n$T2yIJ8DUeNoFDe`?b1|ivn~pA!FfGe06vc$PU=j^U zrNs^hC+RkuI@yn;^6I(y&RIGD(8i1%00h@)P2^PhYqHmt*dp!@Oh-hwq_oVo6{X`t zkQ1?8c1+y@c;bBQkRN{Ao{pti?)W?M!L+HDcpcyyw6}oR1cB2Q$KR#XP&4D)2DsvF zEPGqHPI)Q1oBi;g#c5!NcLAv+vtkk`k#LgvB^>u4P8x6xC^%FB;oVPhs4hCQ=8G|z zyjA79R&c_s_FJXfq)qj6m*J$dK<@kAfaH=U-4PBDSA3Un=!=j5T zgsLWQ>3ji*fg7e8t*%u~R?$$rMYwn5ul0(ph^N zf9Cicem-=5-Q2DP_;7;&0R`Mt)7;bC5g*%e%c-8+ge3?NpasdR+D|HitDGbT%<1WOb001xKiWrZ9rG%3$!0Ubq(ehn zf`^@GJDMouR?bwy`;e|;7JQh(mNeK%kf;4()$CFf9EoFM?~!tQtu6uN#fq9nL40YBUJ;#moG-?T@FfRF7em2Zsl zmxIqp_SLL!{Je-^+b?puN;8N4O zr_{6LXs_NhPvRb}JNF%#_k zlc=zKacY%-;61UNXdkDpG+~C;%@8<0;FykknMSFnGa@;AlM~3_&fc!gXGUfmT52PQ z@ans3%NiK`x|MH^F-c|;Sb2RT@pryU(mZii>KV@`?QH69Z|dFI0W6>#2Q0uhp@TWf zn@q$jZ(goOf#jFS)XR;e>~|eHjote_+2mBXN2V7)A|-|mj|{?It-YBq*tNERDeVq| z>wAZ9=ki%a-=K0sGqY57o_al^qydR zy(EnkJ%@TEZuUCJ9CY!D>M(_MCvKgafaMUoukMWbtn8|PT4eQbg_0D3$2x3IP1|!2 zY>n^hFP#**q!v>tKN0)h2Zzbd+e!=%OeOAqPEA>vPYCPR-PL}{l~H}Slp0(#(JvaS zf^C_TrOctSzZJWtjD}%CjTxpa(wM-{`uHB-7YC?(`l*Ao5#$xGG4k5{7vtw0&c)!E zs!5jM$QySDyeYHj?R_s!+rDaaOX%w5Fd2O-8XPu$Q&!{PW`f!3=|wIYM9iaha~SB_ z2>5VWZFxR_>^40!^S~A>iy#{|xbyGK;I8g{7QLrP0tPCC!U^l{mV_BM*poW)cVdo5 z$_nL%`=7b)laK^+0nr%njTasp4 zj`2x<)iCcnR`?ST_~&yzcmlfTUYv*x2WRnyJA1qC-w%llsc;O<3MI?@Yvhk@%NTLu zL4IoSe(I^BA6z*wk~Vt5F5&NtdCIAj$axRm4s&L2ZxN)H_a|Y{dd8{t6p_I{_&HJg z!QNW`>iks#!>_{i#l*`pggCF8;b_t9i!35$S>K4hfEl6ocMXv439K%MWzem9y0i?^ zoBEnm_j~tQ5S$R7x1RD+C%mmG*!97ckZt=%bT277s)H4>!rSfZ;2`LCNr(zVJsYep z=&3nk(-xAjQo;9ym2K@Pi%7{3z~9{i#YDSa3UPYYVV4N~oU-Zpf;`AM@3y`X@BZ?I zNM_}Em*+fVM7M970b^;Rw`S@dv;N*rUSD?md6%~4gsIRd6v}5HeCHoI&e^2W{E87{ z!tVR=QRQb+TU)!%TxhLy6}U3SieCD8y)#BIpYn_oc<^V8VElG#Nt#PAbRK_GJVCGa zn;}&u?C#oKb7XgI?a?ZBLcnafZSzmfA=dRC2+&}!P3NGvlF62A^}{QlNpemPOOTld z&Sf2nLSm}V7k5lD*ze{$OcMr|%Td2T7W$o7KR}+3q|$#0mb8Vy9Fju3`92Azgsjq| zK7~iM=e-G8p8W0`_u2Lq&5V!;6(R1}tZ}M06F}BJ-aE6Qp1^rGndtB6nt!m?@}$8j z`N>xQL+}2uZPf?eK1Wr=l^mIyv>Gjjg`7csX794XZ}WuKi{AEp2xby~8`dNpk9JM# zV2!svCtbUaMfmxu^9;P}3~H|Ee7#2@_o zLjccL&uG9{4)(RNbf69fg(>r;t(A<$3q`n~VI>Sf}D+U%d2z5$>2bf(J* zzWnt2;9Bv6+f45dBg8?`3(+yYaiApSLyNr^uWE{L$-2>Hu+PrkyLNkxJ_3F)+ki4<{B4G#FFfp*5=5le$#}UNrgmFFR{3w#_U0ab?1)Vc+|BiS zL!0IccK;7=Zywj=nf(phc3P)(Yu!NBE+T`1G-^PWK&@5ECQ1ZifY2sIAz>+mpacSK zT@ezd0s&cq76JxHVw3;@0|h}LXmCVB2wOj)X5Cc=>OI?f*ArY%ViwCBL+oacNlz+6+OxRO zlkLQnRR82NqMi`x=?L~(Waim58$C*2bjTz2X_9T^pa`bScgeETJwkF-_oQK`A}N@a zpyrl>#D*Y3CTDq)CpG4!dMiCKd&u8}lO7MoU=d)9I)^Gt(24xQ|)fcBV_u|SsI6JMo<06-9efX!yU3RsnDuvK8<=5>P0#@i4 z9$F(pBr~&3^CbPSk^@1=i__5W5>_P#q1VN8`8GH<#;>iL@HN>_6=^$ID#)7+pO?q} zwPizUoWBM$)^LwOfjKPtL z`<#IwU%uv#w}5Mene0RgR2MK<#ha5ZPEH=>HkBoY+$}k4Ztf8^ESB^+GYI$2>E#Ga zM3kMVrxq@N3fFt*=;J}jYvX94_J_*iQb}Jte20gsO~4>=doRf^#6;0m9EVe#`3W?n zMb1o*Nku?Z6f|YCT{~yaq&P@@G@+zoMHG6xnMtKj-7bJkEdhHd>l4fvdjHNfl)i(^ zOxV&-!EGip$DD}fbV01ws5Gv%%a394MAho~54!@TW8(B)ZfoW9(Xy4pm=#;*ld}%* z@i$~jRFNIdWfL;4>%GZ`XDzDoT!v5TeTyFtB(aJy>~uAL<`vYs{cU}7;wdK~q6uL> zs%mAutF8*D94?~js($PO%J90(W58a1p~vMY1s$C)kDFSpaV^)?*HEY%<+C{mD0Zdr zk&qRdT#D}?d#lEu!u5v(rCE6|2Ns7)9^B#F95T3*3<;+|Ov2iQSRRV789pxSWos+Otej_h5xDVE2u?^> zgARvJL!(y-Kbu~r1dQg>q?pe9rh;a|Rt6ChF)dqZ&5_*Iu8KR{cRxJq*u5N?H3NOkSb-6)Vhq9;_CJ^sx;y@COxYkjcsu%oT{*PA0I$@a(fPqiQxO!&7`L@26$7PSzoqO z`4R#?a)}vRKzzP(eWbP3G0s&%v#fHU zP(0fMSXpnZX!Pae+Yy8JCC%eybaa2_GhMD}GO*(IjNHPi-2O~P9s?JP?7GNc%^t4X z%EcTec5$0dMh@6vB`)WI9bw8koArhxNQ*xIVYX+Cy|(!p@&#He)42t98skSj_uwtO zR}r|`XRvWuyg64K;C#xi1U=mx3Cn7ZnOUifhAUdS{6>vKhmo9xiFU4S`A*St@AuIAK&-7LR0I;XZJU0E=mzWB{@BLkzoeCj`U#boU z6SE-?K3-6or4m*^Y6i=f3AUY#+%Bk5unL>>Bt!`*r$^7mai{hEgZ|4q9TH1*pT_!> z&^2e|E!3)z)z`CflhIG8zcAIfGKX^7_sr6`Bj*nWcH}rsk`gX&m0FktFHTy zut>6i=#BT=A9)+&-2!H6ktU^F@F8aIvcIX?12_U*r7Q;ZK$v@NEq5*3&t=Sdn=p6|VLYOWIH~(SjVx*6u3AbOE3?wgtf~fJkT_%%Fzrk!uns z-%0OwJXR9n6AE{(;Eu8;>l^~f)T7NYQIsFMj0FKSl&T6W<348*6|&sG zS*T|?5upp3(aJp+ZBKTHMeoYl)QYLLm0o9_Q$(nph;c5~Prtuk)Pq0{{o+8CWH3og z2^S7mRES&q2{&H50cTr)3n=I!I~u#hkVE&2G`Fi1$Jy)SMVRWCcAPpS!Ga^bg+k*# zEL9$B_pTwa?2FS_F+Sd5b_AS&PN;DWuup7}I&;>ExN}+g60IFx+`t@zevJwm_&#Ou zLkz|ALg)GUF_|as7sSoTE=+V-!+RVqySS8Aim(N4d9Y_^zE7vwJLV-+zq=g#=#4q$ zCq=KQ1o1jfo(WB4W6$kBk6m+c5`Ll2B)69|it|%4dy%aplG?e1X$GDS{IHY4TLl$@ z_I~fkXJO7BI8zr7D4J7q%8r~{;L$0U_PPnHkGIREm3yRSdT)LI>l5vim-6129fy=O z<2t#1vu(;#=r%?y!cpL1xa5a(Q)c64*R}L98qLp+{am4Q&4SqJ*tF4Jf>&D~0%?%} z9W$wPx(%NokUU+~2C3#y{=ZvQzQB^U&w# znH4pm({FEH=&t27c=zDcWJ#Y!Ixk-TTd@ZYgbFFW3l#ujM%|s2tvurl)FUx%6wxtZ zj%l9xwi?@$qF~!`V>@M#O2G0nzkp>I(4?nlVR!NU^GJZ?`fyExEbEKwKhf}FB9Ro4 zgiS$;$^=2b;7l`i6_!dEcLC|TAt+oeS2^=1Q+%TzCYeRD7GUhv)|H1h|<}+my2bDPHY#WHa%2%mu9gk zVbw6r1trLf%!)ZQ!7E`1$?^w|t+xzMOo^(N&E2Wljie!y`*3V(<~hB^s28(Q(ud$U zA5(=OBc{cxu;Nl`U8@9q(h$fX@+W0JGbUce$H_Zz?&m3~Bqo2>8cOA5?nyf}L(B}# z;3ZRf`1i)3@+iJ4asC7Cx2Z@!;jXIe z45LDPl-<`TBZu$qSnu6^_=Mxv0!iXZ{=)ML(=ZJ}9A|-OTlnTu~xy)w~%@hZd{G%R>49yhSE@iD-#6j*TaON z@@*Uk8`$`5)5am|gf33p_(*O<7?K5I9uayDCmy5XYVG2%Be_dQ`Qt$*ARM)8N+6H8 zT}z%!YLPl&!+vB{3DWy}AWJ3Qobfwr)QIH6N;ByB7&CnDIg^A1pu8Y&FT(mM4S>8XWqG4ErQ`MpF7`06s5ne8Yv zBUnJ_z*onOjR!xR_3bpnC#)k`SU~{N9+ri)n2^OoFmZ5y6-yKE4?&JbDDve=ZJFmD zLX!9Iw%%74W7S{@)`lA%DL4!~WA){Mq?ep{O+sg;bK_l}PjKTHhXg*(13g!n({T0(o4tSXUc2yOJv?_^<=?lTd`s2jgy`@NnP%xt_rjA7nLmw@nNB@e623yGN=+F$l@KTby6M; zPm63s(q%kStboOv=itzwTx3CZPc3przsIFk?B*Goby6je_jmXy#v>HQq3qpsXdl!8 ziqE|LK+DCBm#+x~_sLG$rnF_)&r|k+QgN#zL*=@7Zc5rJ&$?a8!Ehk`f~x1Ez~e1= zV0~7EXgGD3)QQv#RB=v~=MHHn=5LkGqPEAEJOlV`yhfJ<~cOd+}t6{O<^dF4LT5M1)h~@vMajh5fQ7 zqC|5v>(_nvgSKTw7pbBb(`RLi^4Nx!$0MIttG>p8_`#yF-?UHe=T9BUraFj@XwU>a-2YFS@-{%DhZNY635+wnp(MiqFwpu&&J&P zbOe0K5@=Jd8cCQ=8|qhDq>V}oL9odN52!~NjJEyp`p zP5a*3;BY+5rN%7(r?vi*?%8?MBNw!fKlk|kbEM&d+*iN15H}CxEKnS_`eyA66qE zCruVtrF)qhH+*rwW?P}mewyvDay!LxSZWUXcfF@~MrUBsym@8(p_2f=-9P$&@8d(K zoF~hk|B`XgkerVHy>*9QNYzHe6(=$bjD#OQ0b`ksY}nV1A78-pKd5Q2o#8rhF)a44V;@_(JErY0HvsT zc^oi_088QM*Ql`Xe|r~qdFqK7PFe=>n7X6-_!e`E7*&*Z?Ks zdsREMVvqm%GjQJu&u%1_Qo}uYf zzd!7!ULrmrSMB=qVy`a?uK1R$n(v2FTrc_l@`J)$YTd{Ga!26a&S9&E9@S@(;q4c% zGOJ25Saqa3eGfj?eJd(y+=(kex(u_~rK7&wXN#$myrA@d=_=?n)nwDJ=hXr8@|Z6K zF<#FRGw+4FE8@tXwTt_I#-1ol?5o9GvWiq?TDo?E5sXA`yoT_Ym zMijgyIyPl^eL!WLQh4@JW1Ybut^Tc_Qa|0z*~zIj+Vrayw2yQjkac>-p4Q^4EjTym znj0r^|zes*?WdFxC&$EyykJAGl8($N`_6utnPdgMWle=8TUB!$QB?MU4^b~m(geSkO%b=8siT~cXn$e) zuGnnnQ`MIW#c}91MHwa5SyDtjLPbScaJaG0McJf}#q-n#XX?wh4p(2Sw%vu>+F%VA z;--dBRloT|#=KGJBKwf;>!c8!5{}_G4-4+BJ3%3h;Gs413 z$DoVsVQf+*$~H-@lF6d{mh#sHnx$ro+E z`v#TV}YPdxhOzTfciahSN2PhA6P8HSVKo4Pj}KVZ+}9wAEn zX@wLQ55;)v_V%aawBQQF=Fk#-{F4q(>jnVaE)ZjqC_l<3e%WZ0&X;6V*7DVnqND5jv zy#Ae9_eSMu_OONn8VJD1#w%q%I{a^v7q5gemEu`$0Wcrw)(?FoPZ!i16-^=aPeVoK^^m?K~@T2##>jvH5{Mr2@$;C~zSMFHZYE;HeGU?|L z#k)-od`&8u%Sp5Syh9{hctS{P+LvmJx^b=#wVamndEQYPJbE4}^6N}VX60pNn_eJ; znjgyE{3AckD6=!v?Ra$baec4sP5a+3fdaf~^VVq(s7>qRjx9V;svr2SSq7^3@0TCH zv(5Fs7iu_pmJhhx9E{MwBlJ2qVsIraWB3|Lz&xnlz&1FjavVFsD-R1pv zdh7P9$cn3i4~{sQ>@fBAu?f5}nl*OoGW`-1f?jkL?{i8vDQuF=hYaRWHB&%^uqWtX zdZ-slwJfeTVTXt8gC2a-L$g!Kc}-nbGBn!L(Pcbx&5XROZ2RT?MxS*%q=r1dptjF7 zuJ*O1jffGEUFS+KBZj${tHa2 zV90;ln=W5(M_IFzt$s`C1-CqX_ef%K2{pN(hTPU}Ws%EvQJO54t3KRu>k$X))mHET zB~RN#rjz#AZA*CdV!Vm~U+83dvV6uQoBn96543jt)9QVY+lPbZoih()c4oOa49WL~ z-w3@aJ;V<6Jvdd6TSkj<;7h#qQFl2BA@sd*Hi38a)2I@EpU;+E(ZtQktj@; z=FQsqb=@H4=d=dRj|A`xDuhv=2E58oM+d-go$;s?nQdYpdNj z22$dqQp}Q`6{(=%S=<^Xvr6yLj_cr|-k3#}2G(037;T>= zX0E&oXS4(b#WrwjPEwp#l<#&NPpSKgW%>GEo)*1n;Rm2=-g*RL<8QHuIDH(pT{Wm-d6h5W`{zJQ_G}*Tu7mTZxXM4M?d>65w#yTF8f;s1tZK^85N{1(i6Zzbxo$R)p7hKALew6MCm^9d=E#w|N z|4m2kzXDS{I^D&)pzRj-Zj)8|1+-^9VpR+ob_lfIi&(2iYf=V7V8vnJAf>&JyGOvQ zOiD*1A{E}z^UmC@Tn!qJJIA(pf{V7yxI4zTbNJ$$K2KKw=do_z{@`2RQ_ZS9AGO_zg{HT?6f-OwnR8J^NDs_C zIX45eDXpSM+jAG@vDy>S19B%nUz90K3HdfQBDj=*uZi}Y{hygt^@8C0)3c`)d;d|L zb@tPPy0h5oVu_!XB{c9LD!)+BtA%`W9=nCmWR<$vPEG8EK8+kSg-P3m5qpmNM0G*& zeGX3Y+LNMxZ4lb*u_OPVBeuc&~2OI@cEu9QO({`X_|+#yC`Jl!-~xl`R#os}>kjy9%>cM?;zv(Z=B0iCc_82R=T$xCi9+!{wmKcR z{m<|10^i#K3hw^m{JWm{$2X_nc_WQBjBMM#xCmzd_dee9=ixgv{1*@;89~Af=K3P+ zHK6{=_FLaKz}Ddn_{F40`UV2(tl>MKx4Z^)-pRzLK5KV8|3sg!aVUVGm~$;|XQKVS zQC#{O^;q?P0Bry($M~#22F#5A1caRFcgUJ(%$)FX{boyIH=e!yUqCFtm9{{B)%j`C z;17So*4F?QU{~U%(L;?zO6GV1UB5{6pqzW7a-+XZnH*D-NKhe*vnvMvlWLne9uESrgMnD-zT*+Wk6o zt2+)5W!93a?yAYNijrjW%dy#Bmvjnrg%QAK8V?!MUP>PATI5G803vd^KV;CI63kN%6x=O`ri~;WA%2ZWQx(Y9XU5q}B znY?b==rp2@EN}L)@TGA2RjL|4N9k4G&>;y~t&eJYji6Ie7>T^=XZJAV%-G62W-jiL z=&oyxcYjGRh|~Omj}617$awb~7p+55^z`{M$G>45?U}(}R%=$AT9NFMHa1(jKK@;c z)IAc%^ZY0JelvwS!y`v0e;a?Uq>n*Yc@G!L$Lt6M+ixweG;kiAt>!I)0Kgy67(@WL zd@zg{``4}c3vn_2@_mFN#N2;dZcT255d^9y#m@Iq%x!zz6p%J?7bCAEJ^&aXeiicK;%EmXg6+2@{a{xqJX760e5WbwUG8#&v)YOWp||LWg+nD_Fn z3gLA#{fFW43qyY?yk3$=m3A95oSvn4lgcP0k`KQ~Oj62GN5JN2{}l#e|vkS`N@8lLB~^KKd(g>Q6k z0Bj1n=0x;%q$1jR*@U*THNln!5-NKyojMp}OYyrRe2Skl?DNwOulM_|0pM8}tKd)Z zeR0YNMG*ph?%4odwKL`>*9qXgf&WjS_ZxQcrIGXl z#FR`LXTvn>GY^W{(aExG$_T;jS zzVw3aH>U; zuT3RQn~^E-_JGcT_=IW<=IYuMrcLr*QY{76B}B;GOI*6!LuOl6Q`P1!pnT!QWz#D| zUwBzRj=d?{bW&9x?`UgzKqB4Ah{N*p&nj-oT)C%W*1Tg^@55f-#-bG4srhi|MN;!{ zfw2vqfAr2N_JYi1_wSvAk_f)hFP1G@m}t`Y-|r!)n)FIJnanE+SuHpkXl-;{rR-{% zwcibD{#_NAntG2KGvT*_-(li_kV}SP<2gibjh}%-3Gw3+Xs&+I4o@k( zbAC-o!AqaXZR2L}GyOCo`Qdo#k4a0(Z8>;g;XCzy-<$#oc5ic|+Sus}@0OMnqV??~ zc|*$O`O`u`GR{1o;L3r#OBVqKpdU0*jgtemguxD)UalixZ}Cvg_I7=+T$76wRu<3# zKrkwDeKf0h_Tp6YyW(d4t51`P&oulzxhbzUtN#GmJM0dgL`8F7#;J9wGZ@DPRtdFY z$$_q=JEmU$F|3rM#BRl_`-g~R{4mNa@r0UGe^P|_Vzci3j!1?cXRs%Et@;jIO4r3o z{3=gH7xi8^LJlYhnmp{o)>YVGq|LQtK~|_9&|^#~%a>mFFf|0Zdt&vGF&C9t+dt1q z>5vgWJ0n-NtEAmVZ`=9J zMX#n1?0hE4VLq4MQ6z7vYh&ky)yXya-n0Bl`RxNBmO{Ng6^F3f1}Hm~x87`W=i z>=}-Xmz-4T2+k9W51(P{cs#ePLKVb>}s`M5PZNGR^77{$MEJ?cR z%t*>>1-HS(?flQX(0$t-za>%uLU!F8p*YjGP12AM3aXWS=mN1LamD@Xi|7boTiqVY za&vs)-%i+nVd!u(MIh4IFkr=2hEbD%m2$J+7wZs~!+#}%wK|Na5X z_;{7e#=%&mMJc}M(0GCLZ9lyv-aKfD6y?6sjKO#7E2)0a^J-u3!d|l@flK`6ZQasb zM74jIT|$Tx9rh6z8Sn9%!N>I!hLb(f!aL3zf|KKlWtyWK)3)6h{LCw1HnMs^6%sR; z0Q1L6Y#iUqHHBxzX+rElD9gq&81pW4!JE6KCKXJqi4crG&I0ZtLipU0?n?Mkoxfhx z=gb-)S3?8IXMNH_gl9ghje*vXEw9I*TLO{Pkx^CA#oSJQ0){g$hfaOMWeXl~g3bJt zN6)8XgttvIs5YQgD13V%JIvZVyDLCdhTb2YUD!9UdQ>n_K@=2V)XCH7A4@KrnrYG+ z2Z=PjbFC{2DT89(!9n=t0q3h6;rN|!FU-5J*{cmPR&uv)?oG1im;li?)XtRpYw|HM zmJzpm5kJz}b3!(&y%l2-wxbHAmdws;V38?|y-=1_B`nQ`rzyTXbh*a$WSC`5)79Zk zJlKvLK~;Eabwh1)tX*F%T)78c;O+Is$oDL}PW%nj&%A`;c#*i>abpwCf-ZWm1JaEu zVD9m@=jv#^yq=>_ooc|98*_spO^t4%rIbK*mf@pf-j(G^%^koA6vNJL&-kcyrQ?a3 zY%w~;LpjqBX*71Bv$SCwJYKa^U{QG4V4fvHMjMpAtVhTlJQQFazwo>DiiBNAVvas- zizNqq)?X5HFgoZ^Ex&dyE&;YG!`YkgArT#+7gTrf;$;b|ex$d?<$-)V2w_Q_EOsaqq8)e)=*xqSxqv*Jp~(s)A&*4I`-K%>{NY936Fcv zypU})RX$Qqu@9I=MsX&Wr%1=zF{`P)dY=Qs7h^*J$gld`nicf7rgQ;j9l+Lzv$-_>|r4i=sMb&A57ynV?^~q(i#=EU*GDwy0 z%M2E|X;$v@DCZnQw=qj0nS#I84CP4WfPu7vksb&dpQK6Viy+d!D;52O z3+Tdt;ss$#Xr>wL*h$ArH!Xu0WNoSGU8_L57S9@6N9y+C3~EKIyp^)YT}z$2YI?Ta zVuDU6sgx%n`Tk+@@(L$yWiKqS(E-JdJ4K4SSL_|lM}(FVI`W~0?V+D_f=uHOtNDVj z$&7NEqfJI?!a}tPCJilfNe!;PL=j*2`K_P|LA&U#Qq?{$FwWlK2A!_D3uAnkE zL#fAw+7I4A(zfG9h0mpf>>%~B%wf=jDd^~vx32UPVQnkzk%M6;b+UZ!B*E906c@3_ zLrq|)vTrJSb-g~YSNOImj+S>QK)%D7X0xDjVtpaZyIH6T#*~dus9p%pmX^E6PLV#P zC(h8qyh{O9Rw(G5M-(H{8e>>aUEG$lDp>`ks@6TszF!oA%j#q}iMWF4t0AUgyD7{1 zQg+zN=2Bh%EeW?9cdQ+bmA4951b@zI!&1`n+>|PF06LuS^|NK+{o>5Vx&pco$-Qwg+9lnYN+iIf9CW;ZgvA_0JM#hC}` zzc(o=R1KYVx#-6}Y{yRbop;`DePUEvv^TnjG#9(rGmUjv#nJ=W998r=G0ZM9bQ6Dfjq3?L^JkOb z>a^mE2vheV8ID?ez>{nPWfd`W^|VzPMvu)FG$l?XiQ_F@jMxsRd_g2*8m|2Oyk+e) zrllD~QD~<{v)7R@;jW3Lcmm#QjXV7~AM6Cu2Z?qGYe?bt#_P#$wU)Y}eQfVdhpvUS zQr!~zBwx49z=Q=`)Ixf=Qv-wRYSk|g!9qSZxQU@Lvl^MZ6R#QLuebLAlMB|ZDyZa9 z<5TpzdCdu=niR{WWwO(o$;H=wHCa$IUy!7;$eZM#pmE5dqkBy8>XcyV!8!|O!Vq6L zf)P$l4fW37Nh~t)>!0bjD#TC#!|_6-zS%Idq#`pgvwHCKF*~d-FxoV1JWCHVlIOTR z&e1Zkz(|(3q?_8{Tc$zPuf+AMb23$37#oq4fq3NvpN)epbA;OdA|fzRvvmFoUAh4G zY#SYcpL|vUSo}CK%_Ud9Ks*?r#sTHVZ3|Vvj_V@x;l4w=EfrF$q);1fI`-7r$wvV^ zj*eD38`KWOg5#zW<&ycFv!<5zQRp;KT&q^(8Ge1ZSm4~Hw0r4=8E5+3_8C1C65n;B(1h~2d`S{E3<96sVbhSx7y4IL z&EjiZBlcX#;x{Dll?Z1)AQ~JU>-yGqJU^~qt5oH#0P3u)h@pQ{H5d%EhPT~kW=Y?6 zq*|B=m-LlDNXS@Btsb*!_VtWHF%Zb|)k_!^NYfw%bWO#~6OfW>sVLA#cFKtSl8Apb zM-A=q$92l&CW)jb>q*-*2lZoCsgjfET27$JgM36%Z$BwphwvwOqJp}O+9la^$LGcw z!OrO>xGA8wr(*@i6V6~^vB=bAa;Wn*{lSZms|LehfLmh&>@xi$YSd@&JKVDNc}hRf zj{nm#gpvb+S=I0+SqgiJ!+uOdg-D(Bh+5K%<_@sZWi9PYw{X z=x2kZU$$R{j21lzx_E-^MD2n<@i#0erYfAsT=Rc1e&(~fX79Ur@%(PLQ=Lf?pg^e0 zSyp{oJCjNa3~H~~-)Th`3-ae}g>P@~}slSrE$rw9<8w7@9s>F4?7O_DAM%R;ql$!XcCX0d0%#H&q%DfCiGl5H6c zAZ_2en@wj^8?0cM$rJwGqh+rrO^B&wU+S##G`?rLbRcQ7BP{yi`!F5$<_rgtd`Ef| zqf6fnR|qFoB9`4Icrh@H2BD{o+IaHsW`@G?nN>n!E}9#nqC+E?Mjf2Qlga^SDphlX z9IOKxPK*#L=Nnj$qWk25ojA<$N43mmpF~xJs7*cH&k#DbTcHpCqKb z*@5W15mfiUyIMJ*U>*!GbYQruc2Qll|IvPz4>P$`|fw(4!J(q($bQ3tl3G zcfYgHMvr@l z5ZBBR;xX*>T}yKUv^IoIjqC3s?C{d#x7w*@r2A`?P*lts;T5*YKZzv@8KfEdb9bSC z-UKFudkf8j^-e(Ji%qJMnXQ8I0sJB9-yJn;K{r`pod~R`RI)I-51?{qn}+*xx4_t` zdSY8IFOoOECW%>)AHpTiYSTiPJcX$4Hygy*C4bz#RyM{h7xeHJ z5r@f)F}UrRNv{*-**k?dKv4V0$t>8JUq}MU7pg_$Jb`#VkRz>@&q;E&brrIYOtXnQ^iMq~x4>#^F_eajpl{zge< z=*2-jgWF3)T8O7Pa*a%qRDJun9r<-%XHvBP*4NbGYy3c$p&==FcoH>>4hC~~baul& z4RI0F|2YgEXAEkc{6HI>+EoSZ$|tjdFADdHJ`w|#k}>~dtimq0^Flg4Vi1FwKp8*W zYVuhv&A|v(jvcu|B-(bXI?7gRF`QAPP}n=qp(bvbY``UDpg2S(Nd)^yPM<>XXu-@; zmDVKa9=tEs&Qdh~LRd&-Qn*kK=lZ2oK3bC_u)vqx=&9$bH7P221bCWl_u8GYW9p;H zGXZq9KdB>{;xx5VJ8d6rTJ?}gV(Smo`Vp8l6oCqC)vjr&t4UeKK`s`pPg62w>*BS) zHyBa1nW#-aYA>wT`>*-l#q`YQ$Q_zd*i|kk(=yf;CDJ@4w+rqjmwS}JC-ZAk4mM=P zC-cU+rHK}HYvWTB+~P_{qv6>cSefcBkPLPDOf_SLXd$UO1juxO=l=l#yTTkBeO3f^ zf3^#wcAtZmiu;?9i*{xA)Fj7@9IQZz>VU0PP(v&$u;F)uHUWF8D2r}=Czn!n)v|Ed zxFHe^RQzsH86-Nq28)HBKz0wx8-KQ3Xt zxtSWNKsr-wIK*zfU#FAbZJ;y=l15C+an(gK+ULY=>@y}xaol7<#4rFS-H^W^?N2I} zAj=pI!Hyh+DQlHf>-e8Ltmh0gEjIMbpG|`ccfJsmm)EGnyPO2tFMXoYBHyI`TaLJq zf8Gv`e)nChEihJc^*-wU&MgYac!&uZgHE>g&;^{HvhEMEMa}AZE^SNKXnL%WdYRyXVFYBwdA%Y1GOWnc|Maa9mkcU zO5+HH898@Ha;F1>E3zTur|J`YYi2pBT@%J{GeOCy)%;bCtbr=1g7~9xwKay&c8j-> zG_UPcnbHpx^>g0K@yAO}E2DA`ulJlB3vwAom@%^fxo*-7Gb%e$9Nd}Yx5v}~<`uVWl7FF-PCpzD9uWZHU%VkDA;T&I z@P7B58AKC5j0(DQNAN>g5tgov!)`@Q`9@$vkhG}-yWyBzF|F?lsatIqz7S7=Yx8I& z`O(vWruAs0bwnlaZ zTVgl}j4}dD6Iyn|h3H!|p~a#BbTYEP+2EBn`;*GYt2Jk3-cZi?FPKVon4#a>VcTpN zYhenv8=-v=ZX5{NIU6VsQBmB5{c1Qod5aCMRCgm^R?s$n_5e2vj(_RT<^n^u+f&?m zP}5U>KO9`#K9sT)M>fxjttd>Mu1{cQ0=4>C{@H5dv}WXZmIFq2u0ysKj?|v0wlr<* zft6(692<=^-GwegMfu0opeVIWZY%EV*~jJDfhrEC#ut15N%Xr?%Sdb{wY%v!!c1=! z=&A{4L3XG`MyST8YtFa~Ay&`2AFE6y_gYZeSc5y{f$i^vvSs<>167|igTioypX}^YRgSxcK~O0Q}SntF^`)oohllHNZpm#(r^ZG zU!uL3&lEfdl*eVkf@%3h3by~J{qxE zZN1A|bXU?}Puz;bbRJXsySx`|m?>8XeX!jV%K+*pHm~KcIVXl7LFrP-jbb5nnXZjg zL36feluTKF-OoNFf6S55VH}WC29Gw+B_7*me}!(;!$ZHdVO&Vs^K0`a&ql<^L2AmQ znBVamPaB>PaNp5CcHKv1+5&PxfV^R|xEAsEWaLMUKZ?x1Fg)Gj*P-;afHF?(DoDbB zF9=@Fp72g)&{u9|w8mQs=@F@on9eS#6o8konoTQ}R}2MnEu#p7AqJH%fUD zlu~h6>&DSYle=X4Ap7Udm7~Z7;@OVv#wxf5rWaPjIBtyhGY8cLbLD@|rvgJn~S>kp9+- z&6Zy`ShTQJo|3WRbkMRRTJa@t$;JrwE$Pa8?C+*G?y$rZS{_=w z{LHQSu11+Ky)1usJtPM2mxO2W)%~OaHXJ-9Ex9B+N20HM#>Fd~g}ri68{U^0)V_Ym zn`iW`1yp}GJQnL}2kLYrhi0u>)VIlx#Oct@xhkV$;OAkW6cmh@jX#0)31~9 z6_yb-T{6d9lM6nX775LOUN`P@=irm=?)4T_ZrFCd`!bM-&wo?x!UX`nI~~Nw`CXBv~FWv4_D`X$(|Hn z?~5KtjhVz*{h1Ou;RiQ7@JJrj^mQK5AO!TB(a@E{Gl6Z-!PuQBenFqUr zs~l52xB~lsn0xcErmnW_+qQS>ZB?kHPK<4>BO)ROWNxcM1rY@q3=otQfrLQ_K}blb zwG|Np4orf8iVOjg7|Fntq!mai^O!)GM1%k#%t?R{cvrCP-Fx_+=Q+OjeZS-5kH8U< zwfA0o?KNEMynd%8GgIm6!W(0qY7jlAp`KyQ7$H=#F_Wz6(<^Mr7YhX-{Y&hQ9XP37 zLV-I-s{-M?3uPa{;k=aPhHS$w=j&=#3cadnctNdw)4?5vk*nb{sb>AGIFP0dI*{CZ z)gdu8+Ch6}UrRG?wnf*{@OSHR88fPtf$F3ia6im|Wx~g!9)=H=?=sJrC#yD0)IE(V z=ARn*>ODKT#menYHX_g22r-(L7lymkpxb$(_o?VigZ!H&91~QjB?46GwcJ@}!Fdm6 zHyvh-_wL<=%&m-!;jojEOuP1>2T=1Ds7rxsBlP1s{K8Z-g9WO$*K^fxS4;w@ez}7woZlHkS1pEc6_5iOp;NwUd1>8Ta?wflHUK zL`?DrKsNH2M`CEMg-!+$@xiz&G|6S zUaAqohZJ*GCs~#cb`P{oiRhK8`su;WN&)%j%EcoJIefmJp_cGfeU!qKeX%oL0$TblzZ ze0yzqYY!Qvv=2$$P&~=vkX@8Zgl=Hs#H#>lxD=X-+spA|wy<(u?(w>0%B8roMc` zTw96*;R4lME=!DC^&VZM};-(pq`iL z7+T`8a55l};EWs|UYyOJ5CFb~%W)WfXXJSoa#V{msb()Dh; zAh={HRI$4ZhENTBXT23EeDP7biFJ~mPcgprn4wcN)8$fO1GN=V$W3Gy?FYSP{I#bli zsE3uZgUesgXtqT9Y}m@8v-GAARfr+qu*dx-pmLLVqve~v2z(4T%|}%tp?pvI^`OCk zZ0APD4pi|7sujQ>H4WsY?Pl%o($N&x2JGe9Bn^!>h^pWj06uYPs6Y~QI>N2e#>`sh z9Em+A4_e7_AX{6c;u%p{Pi8xh_?)DVu6G9!aUd3A|Gp!&$@Cs;nU6krM%p!Zqp+^C z90C_$D)1Omdgk1(=p!xy>(d%K`4Ia*o){3T^w490HRMB?m7wC`Q~z%R&qQzlyazZJ zH9H7?-8bG%i&3*$4yrg}4|IM*>`y1S_0H7yv+|}2GrSTVXW+!1^nC18O1HhhsljtG z%!vSTZO|-khlLP54}}tYE7|N2MCha#auG=`2g9(#^#fqyVaw!cv32!mg=4e(yajc5 zlN~K309f#6Ejvg%P^^?t!Se6tOv!H7%;$4?v%?Nu>MPa0BE!=>qNp-8Sx~u;9nyj_ zJ}uUcyaAifHyh7s4TlIICaF0N2DvAbtv&f=7lC-NIk@`+AW%H)XOuX#({RUrcaCk~ z+DD{d69}0vrk?WIOpAH2qRB|gr=@#Nq}6*)Ot4$SN5pB(61MkA2&Qij5L`!gf!qrz z0oG!AZ}}sS29eux>-oG$Z^XoSoV|e_a>5b`9v5e2Vti_e$Z_elIUr-@J{9==;~C$` z8qJsg;ATGU^$Vn38EY?5JbXr6iL5;N)au^QcamAhfjWLI{ zJQpuD;4Up*f`cT_ZsjR>-2|;Q>L4k2LCSF@s`qO_f)R^RRIBG_T&6xmNfbnC1P4)p zAeKZbHH$$SOE{Q5;}}dZ!F=G3(HH=Xo>lD#JQUVG_suK$1B?cF_)HgaL|`TxDtdPH z?DDTC_)gPOXMj3y3x#bl8g|4Zg$Yq$MN0DOrQ$R%uiA=KNr~ zSMVIVHn}9iirJjEk!2VVO%R45S>2dLa}&ljGOaItWV!SS^0DAkNvoGW zK~15v1H23dY3*XSa}qBaEO1bs)D@lsQWnUtlMs_7Ri+5Yrb@5otKUblUd_+KLxmzY z%uSfH;+r#rV};9YvmT8X`*#31RQe(VP%ssH-6(R*!QjG?-lKwy2ucdL0GV}?jX!aj z8c8(oeJsv~rXPeem-jJvh3(?+8c>)dWKgLtMW>SKEIR7O^s9!C7AYJWSO<|u)5vk_ zYD;O`eCY_6;(l8!`0}0Bvg2D`Zm$h06Saj-#d;;1Sx2^%!|7hR_VT6_+@Nt<^Fd}a zt2r*ohRGW}&f68!*clD3q}yGUWn|i6HFzAee9NoBv@ZFHv{q&zG%gFXN_$ z7g1@&xp&4v>X9#qUx^;W=aj<52nr(+Y2W+Ygla+!%ja9!_HvhtASP)HWMBzE>iN{k za=B;PsEEnWSW~{iaFMgP@ib3`&RN0O0GI*nF-&WUPwvIy) zAmi~Db}z`0h=mKjl-iorF&$ZfgMY&r_bz{QN$^FZ-QbEiuDGw79vsg|CK7gABvYv+ z-5YiD#Ke)S6PVODAQCKkhH{7}=$9fB8G>+*44i`@woWN&jll;b3=th9R{1%6W_CZVyi(V{(b#4Ie{Oa9E*9zMm2W(l=L@ zl2Qxb)J>#4^OYVS6`B|bn8opV%C0-!$wua(27^1Yoz5bX46vm%CI~g7`GTvgQPeDy zd+|=!gJ!B5V!AL0qe@3|I5}rNf8}%A!5}94J&B{J{a8+>`Uh?RRxVc%YvLirAFw|ooA8FR}R|NcbgRm3ln?bBwCAhaF$EiYCcOd;R(|F zkUEt7MOi%Elr;QtxY*5E!%k6>3XL71+;AkJ3Eep^6|;PX6A3%*QOU74Ld_m`I}?(P zLFl;O&Gb(kDDxD8nc3v#`+`)xsL7_M>>H(lrp)fR8)>EtH+NuNV5!tv^U$+}*S(p@ z%wI0rriBc)3`U}rO9=o6?lfGxtXl@FSY#&$ODa0cedpDkrN~9AQc+X#L2bGCesS(G z9xVG1eZV9s4Q!Y*N)tle%dFw@(eALiL_$8Q*fkS{=x4BC6-rg!SNp0;FWd=u(y-o% z%7ExYWO{-Gz&j`QGOQsHI?&GAwpBzIc`(By%em47$<0FebhtUj=LbtXg7A=8wPDC- zS@Q)Vu+)G48F&zV1cN+F`X%)k&RE1=zKC0IOMRv{3WodN$4v zj&1ThXcD?=u>vegE^B-T^Y>`Kp02^Evc`i_CxID^Bx(>W6+f|C&!YL-bY1w|y7^r= zrGMR_;cLTpYUqe}I1AQ)Z`;re9IYL^Y^0qoD&xvz%W&X?_xi?0;9#R?5gAktQaOMi zqBoSI{5%@h;b;o{CImjQ%4-t3K+W9;Ck2)^BdP9c=|1=+@F)M0KWXc~dP$g@fl!Y7 z!if#9XEsqbRV`OOZ-8(7UEdw_>zV!8w3l%&`~5|20~@iA+<~jE$>dA1H6^h7!|G&f zuXP!9PzL_!TY@~~#e9L@j9KA^AHMd{dLOIz7|kRIj!%9(V5evO73GG(jA`$>GPyc! zfYz1L4XkIzl$dxu-+TTPDn?i05%uYJ;tw{c<<4Z@#Wc05!aRDEz=nwK`3>eiva!`Y z(F9h$Da{SFI<5mMwR`JojaQ2)7sHv_tu^0K*b$W5xWvAa-h|%jxc&Z_%;%e4Wx_-q zJaYU)O?MAY=B|7XmgshW8_H=RaXZ|Imh92kE_(850?7!-$hDg?%%C_zsyNm~ri3(6 zmhQvi3JypVdnfgc1wwHQmOHSYst{yg-9v{4CU~xz8n2L(2COIaL*AAyi#xLp8Xg|n zdRHVmy4PgGWwvSm>di0Z6a6*FU{(eB35WjN$jQH~2q~4F(OI0{ei!TID8W~~c;Ai?9B6~jdi7ODMTK?jNY*CC^a;y(#!NBT8 zsNcWw3=AGRUe{V2F?+U6KU&AwKWM{=pixXm@FetUwibEuXqCb!nNi{=oIb3lWG~K=X(mp ztzKyv8#7RnXg!_6X~%F3h#X}ar8e(alJ9w=!~kmP1W{g34O;@P?4$=!2T~!(P23ad(_+~cApK4yn9Ntg@z2)6Xq=sCVHTbgv z+W-Vac?q3$)Kd=S#1^w#X7CSwxl)rA618mW*+30BBe-jGy+Z!o@)!Ej8^u>cAYtE@ z_GNsV-M)xz*;YkS-2na8Q}*8>0$3^h7Hc3L-i+~1-itqMfSMY4UR}`DS0evLOn<)V zkBAcMdWSsc?r{Nt*J|Faw%v*ESW0+Idyjdg-qCyT_R>`JuT~eq(H+>s3HfkM z3v$lOa$opn1aBwbYDdY{oU8#287jEZ48#p28EGf%Z1%Nqo^wYh-{pn#&18LYI1h+n z?MLi^xU*vz)5!q(+Q;x@;_j?FB(y|2%8i*5`s)&=lFAHfr($(uU*gE^B-pLU4u}s7gm}{i)feUeEYr@4; zlQ;VuD~N@#fa=T)^IOh+nHj`xC@k-I&gBjfME2udXJffAs$wT8lU}?#A&05@fK@7Y zm`4h}xwrX(Px;Mj%_!_wrtJ2Lsb@gx z*CNda(0PC~8})4tvl?yY6vs19;gc!^x1e;S+eAsk>e)aiTGByaPM}JbFRq9TUx|UF z$?_4+XvgZ#DDDjEHX$&{O!j!V-5P~G!r=W#R1C;HtK1R%!=`%MvvOsF#gRvhDwd>) z+eJrHE1G+%m1qIxSStF%v#gNe%UG5g>XR*R_>?ap4XZ|SGpno zHe&iSwDU01n*wYDfS@)cSNa!0tr>-PRMxFcI~!Q~3&ry=`C!u^ubpA`FM`_pOJ>hx zS4ez_gH(WYO5E)-X*nvZ1S-{h1ub>343i9G&wAKWHn}QoBXO2iJWi2oV?k_v2##QB zuQPa-+l>}Y*oRGy1bcq!DbJr$>9FM$ zvhk$}Z0cLui}uk+4%1ncO?&#zqm!Vfw@HqrY;NhLGU9xPHQEc~a$FOx23YRu`AHki zc{5**^oq?8ml|N$Zxx;NmOAl4)8w@1Bhg7*xsI$hV>Xq4626PDEr6Ayz}J`4R=cJ3 zsnM0!X_o$t(y^sTdN5*4n9}TXH_NWU5-1VHOY_J1DXhxx@kuVDPecd3PCn`L6`Qrs zKe&@077ly{HUoUXSsiy^vEY5v4WC$*iv!Mo)` zX7e6KXt<&>a!`Sms$fJ+03)JV);47uT3ua;VP+x+<%xbEQroS;ru3Qf4-pE}a&n2o z6T3^g9^pKzg~+y!xYKtnvfF#>`BuHjfIeTZKSHdTGq@LPJ-|()gl_ zsDc4A6#9g)5Q`oakdMJueu@fN-wK#_E-IfN^VLqFVA4fL;XJx)%*zGPER6{FDos=p zRPc{h53rV+sGHCv!NbL_Sh8}p{df7SK+8hMA%x@->^$7FAoZ{y<6es{p_+lLec&g$ zV;9j|k!f{7tE3B9LFi}uOs$NwlS#3XYJ}qAj*c;<;m$m{HduQdhw|RSERNeEln&sz zAA&E!WwD&3iYWT9@GG5;6fl0J#Y=(*_w5t-$0v7SLbzVZbWBrdqN9`~a%-^iF=T`u zze+xL9?LmL{72BULNUq!LAcMnf$GWVkEjz|60Q{R#otU<4Mk1RuaQw5PyK?wgXuX} zQaw{m+!E>W(h}*YTje%K*Rpe!YS5|itxl>sq|>Bm5xZwx^BJFR+aQ!X8_R@YKefIC;rv5#^Fu z1M+h1MR!4y%h#%M4TRTu&tAWjMVwLm|n?4 zezLqEh9Naf$IawFkxw6j85)T5MRpD8=76qCXnOKY1bH^RNeVo5JbYk*UN@2q-AxNS zeI#rEJh#FaAO+tFDColumAdqEW59>ZyRseH8DN&Y*MPdP60qbY3L_%}61%nGL67po z6w9i>XjxLek+3{G%wBRc)2#U$o@v1#OfisL$J=BRH`jW^)n-SF+)S#OdB}teaPy#n zQS>GdR^k?3d>66pg@1K>jDrBaRWB4#>V}f($Z)qkI|SYH7oCL(dsQ()k}~mc1YeJ{4r>1q1^%O| z4)iCIN@->yP+22yM?ZUz32)f7z%3mq-pfE_`y3THc9+qMcEdv~Sw3GQxx-zPs@j^0 zyI2i_@i!By?&C=q1m-7QE=3?lfyYJ$(?& zsQjE#CqNxlzRT%;EQfSDfGPJLw+86h9#aT>cisr5aTcD1Ne<{Lna)(gI^4%GI!Huc zCKbu@vH{?kC6=|HlkB)^k0a;&U+P9|mMCq@BFCo%4x+NNcHpb?QBlBmozG;WL7uMI zXKfk8@Kx!$su(`78lJ8YHva$o)yo0Ts#$sQYiJfCS~EnaEouKTWv<6rPyWi6iKw8?q8WNUpwxk*KVWfS5P; zLGDQhJu3?DqL&SW7!k5AHAX%e`86Z#Tu%vj$kg&dAH3Ji!Mj6j$&iUhmdO{&eBcW? z#F1W2L5A2U|2VG#SQu2>Hsl;q(dbZGd=s~{JNcjktyqR|rxHL*+?S?@3eu@Qs3^F4 z7(SN4Ev@3V&Q;JK-TaKhzCs|>%_I255v(K#Bn0$$u;Sbtaehoy4iMEIRRp#jgMmrmx1ld#w6N+Py4>b?0u^(uV$;#Gwbdf0Mz;3K=VdAzqM-rRniv3WcP%k-Ysi2Uq=`Bc{Yul! zYR4+Ttl6=`W+NSW-ot4UT}z*ekIR?KgkyWH{aDZOC9%ZcctN;BbJfa%S=)ATFHsB;-OHnxeS zqZh}QyAt!kx{K9aPG8p?KWsPVGdjthN!*MVYMKrWE>d6YQ#Wz+qwuZc<({crkcmlD z#LGI0(OyJ0ua=k%swmcg@Z6Jl0k9cU7LTwG3;efwgE*o2l$$2y6wlbtiB>x& z^%ZeDzAzW<1b2e?p+`IkpOR+BD(yY&r7NH_L*1=R?-yv&YYE)>$iP zxgkI~(YWo)6_sq*6dJaK;!Bp)$S5Ow*})T* zxVaT`& zz-7udam?wd>t*lC2>{M5N$)&+hy<;C# z=}IlJ06FO1fP&`?TTbXssDfgASCPhorc-cZpAcZrERugM814R6eiIzkjLHe* zqic+O47cmoI%MAPlC%~eNf)0jF~3X8CB*63qLm*l#-*U~ zWXlx<>)S~$E7J7O^H0zMwx(>K4?->qi*{=cJZ<6Ezk`Yo9^s@XB1|nzU zg7Z$vBLRKR*jP2VJZind4;3VD(@M}u(8;}-^h&N(1*}NGhDS!4$5)iFvCh8Rz6<+4 z5%P|__F#4HiUHD&TG&cB4R`j)RfM)t#R*m|pLR;%MQ>~iz~-U9TaIoW}38xgmrk783mJg z!3F0-!N`g|2S>b_$SDRwG7~G_r!3}D7(mQB2KG=Y%Bd&tdfa*!u%Y7MOvQAdlZpKr zSxF=G(sY=+%3TT3*({isc#d{uH8asiDtBD5#)QBHc8CEX<5VxNlbgs=tK*ViDy*!? z|F)r0B2WZyT9oF?XqmEbqNMwTv+sP?$)M?HZ%20+Ggt%uh$Yo*FYcU#@LgBm-%8IF z!w_4{Fdd{+&6`|)Buui)G)#l6<8VH+H=~?7f4;04F8@iEI$>-=HVfbYl6+;Y*@QMw z*2XuR?nQ6yVyI)L72V~ub3iY;P0LeK9Whwj2}`aQc2=7aNSA`n(Vek2kd1&tlLtC} zt3rnY)E$xoA&uT31qS2w3R}8i|)EX^Z9s6^@q_X}HHL?3u8Y6(weA)kO+N z@OEVldW{MpqRQ(ZM*34nsiI2ttwOKO|n1t~8UK2il@eA9) zQX!cMQunBxjb|LQ;X&DS$EKXtT|%crX`CmaKPDMBGOtSLq_mA$kMf%Lf}O047o4>6 zX}U^v`$RNAYorLI8UK)=DyZFb?6z7CTCpdZ35jShtY-mM9cqh4mVzEb(Ix9 zi__~BqKIL2qk7LK1T$EVmMlG&6H|h{t~P#2EOS=`D_9$BvT=hhrGIXcq=^SoPOy*i zgDp`#ZRqAuxB5qbR=4d_DD|0}!<>Ieb%7&K^S$|Zkh8?Q%g;j>KiRyYRdDOFrxRy% zCiA1q#CLQSjoMZ7uk;q)+pvnhlI7FW`lH~uYEMqZ>>R7Lem(z%-iFJOO2`!fPyMpZ zf4`UV|K2eB(dBq?Xsn_akm5K1Gp`NOS7TRZ0Wj{Qx>W?2!~)Q_x{CO19sc&WL(#b2 zU?$jzF&&JVzcx%TRr_N{2H4(Hs^{v5<{Aw3j<6Qmhf2$ufuA(E8r6@-{~g5ndfES% z@ag|$*{GK)Qa=zQhvvrN_BYo%3K3@H^Gn{1%y(=iN^m1 zMf(0xMEjYV(>uM711A34U*h-Yl)J4HP+NDd*Y-9Cj|VCU)dm%i547Ib9=^~AU3XMa zYkvGTv4Z-wwd`BtvH^xeT(6ApsbbcHpb@#%3k zB9^m@0lM8y`%nBE(Gei{w*Umc+t979;evm`wC%JxqD4uY{t^J%1Q~P&>TOGU8n%MH z;t}&`26aGP;w%;Y2OMJ(3lLDNb_0ZBcawuS?Gq#muSVsIMgRWCVF+J4?L+}FNEZ)- z!fJAv?QvfZx|foZ_9nJW+#2+ZbsM$0eG8t|4&ZYCRVe_7+1m>$-mGU@>Li4Q{ApqE z4%dgeB#gp5{~aMXHCY`P?clBB(7o|Vhzc}+x*JrbJ?xy#%u4y60q93*&!`K& z^S4R3&9OO?A3RB8c7iB~dd3wN+>hviYPEW34lA<(`IY|}hriCTe@79_O8W3J7T|KT zt2Xsa;~sLN>wuBNA9#MiyKFLmG&*tUgtd<-X<5yMNF(*pT1%@lW<sNv38?gH<;XgC6-ww$?C%KBs~;r|ba{QraeTh;jVe~_)~ z8QFej|5lLebf$9bX#!t(nL`B$PT=SBXz#lFfBWLfwAXKYE^LB`a$Z}j?%{^+?fX66EPD75wWJtig~IQ@+sd5VtOIFy~_ls&*$LRm|IqQSLBIlMXQ7@@`57IiVsGVU?yeX&l z%Iqjszv6(z3dpMT0b~C)IDr?n5ht$ilb=F==PRDg_`PJz-a}LyjAYZ4hU&9FcvA%c z&I@3$?Q3h2{@%*t%&>tlpRcBGi>Sk2olAOf^#0zq&(26rOZ+Z8I}q{}f^+@I+Xfen zVbrYmhmTvmtvZawu`}4;AR9jZ84=O4g;xHSQ&ci`)J0L+>Os&2Mw3}1yGM*V_@d#Z zn}1)!?85_)cVnXas%fTNn>IP5j!k6v1N?D7X@RfPSod~Khhf5~T=^o-$8(yOcUm!k zZ+`o!&c2DzIZAC-T~3=->cg@L-G^<_nw;3DNNOeL>Ec84Q`DzXj)qqYl4YKk;93v* zHEdBnPgFUA8#a^|#93DB>YOMV+wk?fQ#y3|sn?ff9tKIV!4bEQC8Wo1YZKqKdQ5zV z?2sKM)qPCp3JAH^lheAY5At=iyh8^=BfZgjiH&^EgPv;_bQX?=?LhhAG(CHL;tSH84S(IHo6HhkVu9b*MB1ouWue#_>mtFyERIV?^r(-!NRpTfqtC&KJyLF z1(p(IC|4w6bb{jI|(sU7-)vb>P6vwJLoSh)tu%UzrvcQGB zQ|JzQ^C_dufaZGxkXOwjg`b#=ZkOq@x8l=_b=Y|T_2R{vn>tlOb zbdP=Cy(0PA4#j6X7EokHEIPu6uv14ZFj3d4yQ5q16iLg)N`Eu&$eEFij)=6o4rFCb z3zlVXWH6hTMQnYkz$#?n7pLhbu)`y8WaDm|!6I@dhoM&|sO4Xc9@8{NXL;`@7(w%7 zy_N2`#2}ldD*qNxmi4-z&J7z%F=I7iSzRAY zPv^@z1e z`{|qjHv|xN0*$eORp$`Bt>&vPwXY)jzU$hF(-Ol8r_9LOUSn6zerA}JAauD|_8hao z*Xy#+_H!x%wJn-g+Rkf(1Jj-NG`aSoal(P`r|jtA9J{L(5&|cVf3ny3g`9AQoY#gS zPQs*cTP1|Suq!6_)UVUfRR`@GqVLu@8)9~}Xz^+8D_(+{m7Cg;g=+`yFf(1s=pXri zkB(O((Q?fj{ORoF(g{Dep5YW@5TuTI@$|r``y{))5@omxG&a?6Q(tEFs0y1ht7Z2BHBLE zp;1?P{UIjWzefWR3hP;l;Y?b(%7;VAqBTz;f@k zP^_?B^4(3T@%e{jKRuMZOYLob^F*EEI(^hP;+M-Zd|OL1L|h0G!3yI}UZ`e?F~`}k zGR!2Ye^OW~Lx$WFq(wLK6=8-}3!RanjB`ysy;+UQqC;wj&;#||*o8SL^*V*((Nj_; zEAlZ}D;7sK3D+;|Ij_vTI%MJX_o}1BwE36?WsK17Gj(aFaP(w`jj6sMI-gS9r-5*S z?K94usxg>Pd?Ott-S3wR4WWgyHrdq%O?TO=?~YFo;9jJ!-#0qtS+t!XjIUew3U;&D zDoiY1UzmQqBTjJhgIiZyzBnU${*7pC8Rqb>qzt<4=tvB=a;8n?1O*dd zhQWHo0gXH(q4fjejVTh0bGSe5A$sb`ymU^0MpV7xdx{!MjkK^_ULaD6>{t~%mbS{a z5R59*i^m?dp%)}QtS)h3Qnv>7jjD}qxJHY!sAd?BL_YpR=MXK@>O`xxz53yxn9n%! zOg$}W;KohXl%m{ei-|(9Seo$Wq1#D`MKSW!yvJ_O{E^GZ36gj~UVA`h53`lu)GfYb zNlKNqMdjhj@@3m2&UxQt^tJ$N6BdotCT=g`1)PmAz+y3<@z(l01#QRo2e-5@XTcn8 z70>H5rLU%3n+^&+HSH7&0sY0YQ=b(|JKlK?fZ+!8TZV6U_ta=v1&zh4eL-`|a);Y4 zA@LV-55PY2oQHa6#q$MuaI}Ho`3pvuWf?UuGceZ#*h!G(hiwRL8YA1A3ZI^|%)=hm zaA@MY`R!$1IEOh;l(3d)ZdRENUsWa@s)Y4WU4^SjvI@p{_cj8g-ID^#O@!q<^ytAJ zcnbfLg~qh4+&jB&!n7f2?tGj8bN6_MMa=E)C*O`X;1^EYpfaxDFiN-KOF2SdG!Z0u zDwPJX+_-LSEB;exr+`UPbW=D|8vh0Zfg~?!%|dieOFacdqFvz^a_H zHaD}}3;ZY(R9`h@0}wyQvKl|%Wa_h$yf$lNuTC-c;R38mdRSK8_0}s?Y}`j}CnSRw zDXkuPQNh8Q4m>+(BWx>VaCdG^eL3PG+UjM_`3oxpmi9aZ;VBeRjqFR_{#4U%zMU!@ z7(>%?=}yV8&AD(BCk=wY+OB=cE+WWw)Own>ZsE5 zH-M3&a|p6}Q`a`Y;yJH=NWZy8FN3Uo?WwN(ll8hlX~S#|#C}&7+WcPY;3_|I{mmcB zhGv%E8~W`4>2_3aR9V82D zhSmdApv>11C)VRvs^TB1trz|Q1;7vz1Td^*?qOjxkj&>Stk+xT8`bf?KDCkm?qI*5 z!&Ife?*5gg>!$y%^w&{_>XbDZlf$yCUhT+TT>uS2Wy~-#v#eTIHPnccZB`dS+iJnf z%0Szy0=bOfBO7fNe;t_-s*wkyMcLqOQ($14zEJ?A{IV`JiliZ5DNE^5oPOYeyiLFL z=gVj*mGL54`3+t95n}{gQguD>0D#m&PyYFW;(Kf$i-*)Hl3(9)Vi1ateMw*NHUE6c zEaM96*{$7uX$i5c5x>RuoBz3lgc|XOe=Qaqz@Oks8u6Q2nh^@R%LF*Rl2{7vD@~+L z3xZ!V9pJPW{bI>=_Xz#YpC`M1+Te^gcnNCsV7=+NvL9Z=r7|d=|K)tZnVBI=5eA0v zXoQ0GymFZyz>;jvWkO9x9*(t#KUzqG6ibrqt|LsX8h1u1E z2w9ty1`19Ok3r^ePm#Ooo(rBv>WGokK7y#!r`n9Et|E01hroe#zeMF&spspxf5#8K z*o+$F+UHO|^&`F`+mKtS{7>G!G_h(ccjVq2p-AKhD%FHMk0#G5T$@(in75wt$07+{ zO|OP?b!~yJS6A{>?D>TLIe*um-vy=gIUL>~ngQLc>~Wi+?H;}<=EOFA+dn-CCN!z! zI+5=ZQepK19YCNbQ!C}mizaz+EGlp-t|~WA**7|i{oHsOmI}-U(fs@5V+24(|4~lGuD(TBx+UEv2pfoth)l`-0!Gx~CQ+jD1^5 zO}fT?Bzu8gLMDVBzos$)5{zh$@1A>f-&MqYEn2O=1{l!N+r#z#>b*6M96M;M+GV#O9?^@ zHAz+aKfDvc$2atGPwK)HaSz5>Inm#ZXAFpI@9-92``s)H*5&D{BG^i1NbLrND}b!Z|%ech5x3#XPUo_^r3*AR}h zK~{xU@ufxo6zD=%d29#~52;aO4cukTUK{1kW`4-p!tC+pdl)e?SRZ@ypW5B#UxFHku=}lG^=bKw0<2z3WC*wb;?>^zPQ_>5YS7O$e;e9siJ-Bx4(aJBee4?E<)Q0izzI7&nD_>DHEpi#`1Cd%i%)e9>w7AS z&Ry6-YAIDQV15~Xtr|3bFa`BMVcvp(&t+}vYT-Y$`kqgPx(By#Rj8k9v40td zn!#`}xGEWh>B82QT4M2FN>VkboO(4R1(uNEV5%`wqi)EN_{IrTVIVN5=qbnS(rd)i zxM?gHe?abhD1LNiS*5B2`#zywYLvBc;CFS#85~IU^Mi=+zd1&(m-0UyfTIFbTb)0% zK|9#fjmpu-x*NIX1_cqK}y5eD^M5%TVDP0ykIsZs@ zIfb)>ZBCi_aUYCwOrt53ZO-v$X@+su(|3^^k|g#GMeun%_iraY|@d6 zyyBH==x(uDw+n?|xbvi9_#mmbbTn$qa;bZdLi9w9;(vPgte(B}#yr#W1Ra#~`YX!t<7@c37< zU8LT7d+hpqmsg01TQBS3oGJwJ2YER@Uw^3dB1@9L%Qe7SQ{1>1wL@aR;f2P47Wr?Y zmx6}AIb6J)CvNj+)el&J`Kra*>-LSkLB8FHLGRs&lMGKgOV`# z_qH!o{m8I+THjKVO3k^sXCi-a@3fTl2HL#PlMaqgG`|TZgM;HYZQy~ioVQwIk&gxbl4Im!)1d!{9<7Q+p^ z-(uLDjds?YA6N_XSqvLZ@97+oy3J^axB}ydZ+)=WP@TjIN0oFba#z7=snwG zT0;4F)5BK{A(yQzla{ag29FFcM>DLw7H)DF@qD?>g#S<#$@GhEGY3%OXK|e zyqT6eR)SA%Ukm-9B^iIqYFJd7Xl%u4UXGUXb5PzZ{@3y(%23v)t@X zASiAn^$$#c>HW<*?gpuxc?0-Y)eMOJ8^IA{tU|LJNIiJ-4thmu8UB`qFU5^aKgLI0 zBVcr>{?`uY{K}+{Y`Ik!aaA7+qMk~7O)deiRvhD_!t5k+bB*w)Z6J$*GY7>k~3DLNn<+g;Ec zp&rb_w=Ke~WS#n&z1(Cn{8`Hkm{sXY8TFJQz5<0%$fOsre|(?()Kch`2Pr;quE9NbuYMS_ z-7L$~hEqHiv#*M5w@p&vwoy_doUbs&yYcQQxA#17kCVGQ18e=0D zCf>?XpIHc}%Odkp$SSi5)}BhTajZOcZF)_$u1n{vjDWfKbnKd{wJdu=h!MWm9`3tdN7qdDp=7{IqiDDR*l4n}~4I#Yvw~`ky zO$U*)HG_*dCKeNdX=~u-j6wIXGVNZ7wd*?l2M>>yhFpzMy6zj$Wo3r;lnj)fYbug8 z9oPt|Cw@t(2N`kM4t`U?W!DKkC)$)p6E1xtN=%%9s|s>;6uINSYidBZqls@nyU4M|64vd?1>=!^o}@JGaxNd#pcb^j)loD4iA0;UaPu zxC@AT<7Me&@7~-!tdM&Hu(3LDgXn|c5}W1%F-S?*_~BfR>g;ve#Kn?rY7~uyAA69? z^S>crc^fAYrHQb!Yn7w-wsjetrrNMmmH=Pj_<1j|4NxMno0oKW+7Glv3?1XEWP8NtQx6zAK zm6+*tJXfTUk)@Mn-H8*O;mQ2R!S--SYKtMMH!&%c=62y6A_ac6+O*jH=X%xz9KpGF zz*eKl>{zk;X;`YXJ?80>7npOSWQnqGJ>$rQ1d!Nd_uRah zZ>Fd=*RnCbpjRQtIT{%6V2*@O2TSku9ZASY006M0UYhy!Mn$k$bx`GSZqQt zsCi8nQR3KYeWKZ&7I=eHUOeF%twSFiTa~Z|E{^6anS5j?FjeS~ZEN_okw54X7HUT` zDH974`P3KZNW@Dld=6Jw=3e4D>1td;;vUt^Yr})P^e|mE2&G)eDpZ{B%_@d8zd40# zoYd5=8}+WBbX{nne9Sn)TCL<3P30NwzR+kd!M8;_R^>*VP3E@EUf3#y>GV``Xlwjx zn$vOSK(Elc-a&yloM-f98zv&BhdrnC$N3-fJuPlSK9ja%FnL0Mc}B}Crq}~4n<}{p z%RwY}E`7AZzq0Tcx_F?(u}+aUVr@J6 zBA?A1^v`u%@v^=Z+q60^u)MQV+5@E|BAYtK=$Ft0?bNB%vuc&iAO_v5Sk3TuVEA-0 znQ9z2k{v_sVT;f1%rb^Nk>6S~g#M(^ZaCQl7TP!YvedHEpZdaf78CmAZco$j<6O}Y zV3?({beRQ;fUY#OFe3maaX*+D`aL>!cR$<{@xR!6^RT9_eSg><&#Aqq6>1$2WN6E+ za6qLDkwFsL0!iyoN(I80v?2r&Fe0FkkYJB(Q6Nx`f-(q7iVPu15fWrbuth+T5F#Wo zVN#JXgfJz6gurhF(R$9g_x$dApL?I@ectEIKN~Wvz4qE`ui^U{zQ+@N{4x(FC@r51e+OB4>V+z9+!)4ql6W1z<`Nau07RM;0UpS=huq<|M z{1G)E7%-tC!-p|fj>98ikYG>4H1VfJ<`i`Dx7FD#-w~E0PSCFne$H{ud505M$0>K- z+u17KM}(d_rWRD~mt}%<4&>Ybv9Y{G-)OkrcIHeRUa{v%=aPifA4P(b6v82y!oQC; z?}mlZOE}y{QD?IW58rq0gVXQh5>Z@LnQ)}YSdMmSf9FOWPEVtpmAW9c(pm$ zTa9cgXQ4%%3uM}UEzQA>o)6F}ZCnH(>TeIC5fk&)z@h*lB(tqj_R%>d4?Chg>Qx6B zVl;1_d4`^B!U4LW9BSvZRhg_$MXx~?8|UQCNibQAZ}oLYvu{E3FyS8Bz}iM3qiBE)jYFolqX>rcrahobmWfd|Jb*mJW?;;^K zVJX}(>T>2-al@{iGo#D?u?Zes3}Mhj@!V~7?YVm_+GBKX@?@e|1;_0f%?rC49Cl%B znxd*w7>%}+ewfGb>@O5b`BRhO-Xuu*!PKU->EV#;wfx1PReuJA4}Cao<==qh4NrAzadQ(@IzZGt_gBCimYCc0+nF6D#j`ussBD90X# zYMRs~20f7H@XQa0&QgN?6~c=%HTz{%oeMd`oA_N!JeVD9rV{%SyY88_-OtRQ2PEx+K%)5CgCh}VV(Pw> z4mp}oV^<>!!qO1VgkMgok!776DU}%W(7d9vc7E$GVa!ZH0ShKweQQO-?i&On(>5UU zfwgP2?v4BR!t8M&*V-Gn?G^NcH8MP@J&`NuIV93PZYqzZ zQ$uZ-*F`D()vB%|<9({V@g4zCD}ud$B$Gg%?!5E4cQqC3@em_I#$%J&$y7F~+Ip;F z*gV)Owqvb4F^DF-^Gx0fdqLvt%b%7%3A z55E9WN!!SH`Xa6Ch^$oKVL;ZiMmRo#sXB4W7;Pr2kn)SiVF6c~vLoVIC9J`E<@_Ui zj;rlS+44Yy>T;*(EJQU#syUb9CB7lI1wacFIV1Lk*6Nyb-AxRbR&c|SY455onnNBx zwJnN{Qv8^oPl=9YuTB?=EPG|)RpvK{eltRIFchmk@h>J0-@T3RvaQqi5gS>6FS9e{ zwv%E4=JKK4b!0!%8#k-YRjC7JMxu&yIO?<6BD>2+RBqT7YrLGQ?;J#%aC%QN3u+m{ zJX~l$t;q8-H+3p*eX$lEPYBcQAFhu2S*lgZ;?xed=JqkJ-Im;wbM3^3Iyu_BJ@CuCzb{TO|w5a;`dkX*X7_2!LIc zkW@wbwm`KA9}|ZyYLn?bpl?)Fn1{?1N{X|_@`El7pH70_C`8zKoox*m^WS+yd`sTR zFXS{J$D<;{>t-mZl5Mo>4;Z6eQVpM7T*YxKCB{S;IyIKmL2-D~up{0)r(0}ATpsar z@tp|6#SWjAKFnWX@c7WTa^Y4I*3F470jyU%MVDeG7hIGgQynAe2EKZ-v^+)oJ8E(J=tLdnbr^d>gOUkIjib{q#LVu(Gp zOI-hC7A!xxHpM;UGQVEEYC?hd&g?H{BKv%zr}wMRdW}SO$dn>!6j4zOvN_0)9pra% zsuDu+S>^zV#zgbFM8t~QsN9WGnuWxs%3x~yB~A1oQCAhkp*D1@R-~oQ>UfNpea>Qn z455-N+62&dDPe=?oyp#Db%Pz(=pUpzKeQzbnzE226h}Q)&8evi04xn0lYfjeCLMYx z85fSJNc}i2+Ai;EK9Lr)KWEqn#pcp#Sg8tbHVWtDTsxXSqCF`p7#*RLS09Cz4umvM z6FaQQeyQ})R&x|H{m-NQi41rKBhE=QlvXyz`fYs7`EksMNmw}>&$F!(M-{_|HxX+- zbUUShd|FKy4$1sH0m|tD$s2OINbikqH*V`}pJ)>(wX4!w;k8cL&>EYG1*>@89{ME) z4##m4eV$-Oft_=VOrGH#!Ij42=}4-plhm#>Jmt$(Rt2Lr1p@c+tDPE0UPyaqhI$cAU}_?FE={I*;hZ>9S)+3GqKfnp z&#JR>bepm_sknV&Qut1NE{9CXa+Y>X52D@9!aMeG_<$SG3|EgFMu~?O8ixdKk*fAb zbL$PNgA<5VMjhz#3epayK&cYdv|$hMKOM!OIcMFFRHEmIS82+JRE+mQxLp=w7-Zox zE4=yYG9Yx4tbFcD)}^I_xFnq-AzsUlx}3cF%-iU}_)ZqHBAA*QHa;=gCcS*MU65Qy zzjW#+>i{o2TcT_`h#62r1>~>uA^NNhfVcLL;hat-!4qQg81|hb(uCN2nK{@s*EkXx zBb`foYZ1t2@Z{(ceViPuX}}Vm4damY2^+ZCUXTpY6=8n|2a=SB$ERGm%2to1pTJh< zPeWqsRKC}9yIo7eF}G#%(R{Pvld@dOp3yS>nc!DK&W6>xgu@P#{B^4GwJaGr*K|$tT%@V6ntG?B~1H~cJ$-Hmbc{$LUI=FPG zx(}s=N0uBb-A%Y2DTlh9x`N1qh1i~e{b3MoTlXV~(qI!5QAHP(0^II=xjnDO>c!=P zN~jjDikwaWUV~Hd6lEcWp^xFVH0a*!4h`JjIAjfD9&OG^2kP&R?A|?i94gp$q@P6> zGmUJYF~yylnn)QeBW4gC8G#0zkr}vp<#W5d?DBBG3<1$o-X)`2Bb zmFZ{P&M?_auq-wrVRgL}b8I+qWMyf;Qd)3T1#XpbV|G`bk`)*t+TGR@2eTU9CD&p( zMJvIjZYGqSm!7G|eqEj(R11`1`w*45xY@}fRvo`Y1}k|V6yg!Ks{hv%HG7@uu`0ZPNBC(BcuIAF=0YiPe|)1nu;E?}1YM|X5?3DPzkx`j9; zG}udReK7IWd!OvrgFS{+_07Ia*iV1h^i$hY$a$!Z$9l+}Ejpq-Xxq~E=Whb18IQbvy(;OB+Nr z0J?$9L$gwHf59+!L%VfeI~!xbqvzoo&cI#&)orZjO^5vk;@=9teZlDy9x*!BSw1i_2_K9 z8LCA)(*&Tlb;Rw$I^y<%1T^N{k_<|ain(X?cT;AUy8O@%m8w%3tu6YjB?wz_zmrai zEWmc%;zd0+-HnY)G6TBC7q0<8U;D3p1f>D;QMD>fEY;&``j<-@CNW6|v~g!%v0lzS z2?AACNpW_D4EZqYwTqvcm9B|cx?ODc%RAfsRAP!+u=0FS*rq3B_rg|O>Sbt}juPz`NFi}}%U(0@lq{?10a=H}&GnSv08dNKL3OtO~N#CGg^$2)d zdADHr&Z|4P&;v*bg(B17mmNU|Ivq}XNW5a00q|8460P48M+A@GffgDo-p1Bc=wIxS@mjdMjcvJsPJH3FA zo1~TN!~6PFDC-2AHCd{T>GQXj^>u%N^RA!zzfCMU4cWjyt=A#u*+(=cm+%htF*oK9Ud#_{*cFO2^Htr@#dm}_`9F#fsjt@rud;VE4dleOmXnRat} zE6%-6@+*cP#C>P>qX_a=i_sgP2ZIpE)$^T(I!z`$lcK#>92kF+vlMy}(MB}s^Cg~O z){Z4cYK9^p%}T8}h&d9p;I`R-IoA`pr36|}zIIS^!{Z1_d=ke_yEBfPx8A}5mk}7( zmlm?dZLNLl$CvfVPFFisP*wL(7@n+aMJo!LX{|+dfU@5-MUC793yW*!b2rr6#D9F^ zf*{{vsZECPPim}0rv7#?qi4Qz#cw7)FMd2yoqRpFxT9zkTbJMoOnxd2gAt%6?w;{8UAl; zU%6?I-LhC=>5e)fxj(O@W+(M%FM>ujg$?|HZ&>p7Tt$-41vgo-3pnBPmSL0Fma zr+%Mmy<8~Iw5U?*K}fH(j9m{sz6tK{Y~0Uik2193LAE=mi%)=bXQ9-z(Zj=*Ug8t9 z3KUKJ%ZH-Qf)!I=w8vW1sbS{1t;A$+*>u~TAE%_qfqvprkvn=MiYLLnONkvpiXWfw zo-2syq9^-{a3V&+saR)CSB#Y87#u@wvBCq5KMLin7jsWN*at`BpmU8E9lgC?7h%rD8^f<{bfO>DC$DpCR6(e`Mr zw%JAo!6Du1*?R^LQAQm@{^2zI10}~tYkz5DNNKt3F^~Z;3=$&Sr^eQ%qzt*ST}Mom zs2FLY2`Os#sB=h&V-*tU8~zKJnfo)cX;^CRrTVKSc)z!Ynd;0_RiZ$aRTVS*Y;)@V z%i}12r9(ahTVl-~+o812#~^p|DkbxosycHh$0Uhr+Gky!4qBY(FSX z{h=M3K+i$(EG3CqCjva)=1pj5N1JVk3y<{e;7F^#bjH=eZWty##2seAHv26k^F$v5 zP)>>gzkH1L@s{!23lUN`&@GMo{c0)Ea%$m($>Il8Ikb`8b<91Ori!&!eo%6$99J;e zW=~$7cuJLtRJb0)ze-`X!FFb;Ue&pf@j;fLJsW^vDJPYNUxwjzxWSy1Gd{y<;vF*I^Wp2JU>ZD(J9bIzb@- zX!PQXmQ0S2_4SH=eF`!7c27**7xdT!N3$Ip_pSi-C3w z?&x%5-HKFdl1*@Y6#dzPF|RTiN9>bBdme~Rs<362^KNH+szW_l z&UPN-6}uz@DJ`OUqk6T*_crdj>j?^x8E&YRP09rEr@b@4Tdgez)63YnH1WkxW>ky-_+sXz%Ng7IAm zF5$XkgA6sn%cmemE2P(8gt>tJy0HGyMr_~O)0dIW92)5Nv_Uxw}zM_D*lU7h)pS-+orD=( z_7E&1zzTz}Cl9P?htXg`zfd^b3>Nflc4Yn1UC+@<6Q4b;Th%J`pUz({0Yt3SC9q63 zV76!n72qI$(rAWC9koR#&xu0toTd4zEqW&TqpRF|PnBCI_dKr>P;b9=ULEE`_#J z;*2t!Xiu%hT0N-_{0({FOy}Q5Pf(muQ9;d8ilGW0r{Vo4aQth~Wyw{TOa8X?L^|3t6af z02W|_f2I#(4}dOdmMhL7KFcFQ4wZO;}DnRqcybs#{y|)IpWU5-LCy89?*?Z##~EP z{;vk8*41F9E&!|)->oftEM>4BRVO=&%fV{b99Yn>xG=MZdx$epGKMzVo&0)|8vZrB=-is>TKJ zMohqzm&rz7W_;T3=s<)zNY{3%zluybxudoeMaiZTtqQY)!pggM=5w55%9MIgr+zA^ zg5)TEzjOR^A<$$bP7uO6*F(ib=p&kJ?-78cb6-2BUX~ z$JtjIbhoQPX!;Lq=aBhF zO|;{}oNmWC)N~DP8Ms(N%?ZS;3JJEi{wv1hr8iy@l57;U%&Wkwf zxQnn8bc*Y^09q!9;8n5!HXwN{amf!9-!AA7;1+er4)ad|KxB-7u6<~$?s-vOhPsab z3`!S?npHEGrb8uU-u`*1LpE4E+YoWNHHj2r{KM{Cxp?41=Kh6iF>)%*HrU;O>HC@U zH3?z6Deqtl|9C%f@m8-2mBLBJfYmXTD@F9zKQcVEI^LPgp2ZcDD*Pmb=$0rCoJFic zS=g2?`q{pe({oZY3Clbad>yI963eDTH*|Jz+`%gEj{wf(cpFy@1a?ZdSEv);Q?B5F z1aj_{M2`Vgl+K~yB$zZa=0z~+P|Snca)$tT0hzp%>N5tqShwL#^CG^qZ zZki4$PHN|$X#|g1k6V;>o0FnKg?L`JfYnw-ZEY?m1^feqRITxf z2O;$J5us-{0&PK!2ecd5&gAH$vFK4Xq8}qkaa6NZGU4IL-Lb=mWmg|~cMSCF0*!6M zkI)Ia+p6lghmSjD*XS2S`_dD)=0hqiMUR`_TxAL3C#{3Q1JJWu9GC{CaFo{Xd6_+n zv{Mni5SnmQQQW8X?LT%lOh2I(cLwGLEOd$voEhUxbwsKIm}n7JP79465;mwpLFdQN zMP#5l^8M}9dFsJv2&bWrW2Jpxu;d%&6wrsTu;Gw>-NTvQIyq}1ahMTDh^4w99=Vt5 z#33yL>D1n+F)SMjS&CkUggP{lG5653RgP%*`l#&mJ_b)|- zE=n)9^RmP;I!mC!4QA&OS?LV>s@$=kNlrsKxGs^j7lPFuj-l*S3Y1Dsm}lg%Dgve8 z!mx)_lo7W>KZw*t#$Fc?rolB>fDP-YIl#k|54s9RN9Kw}<>C+=RnA|A@=SBCicUrV zaef7#uBw{36orqb*JZcU7^IKrxonJSO*>TV+W{v%MgvMiyJv5qvu&d*B#-T^xeK^A zC2)(qZkQc3L0bF$i8n?^yzn2p@vX}(Ckuc~Q8i_8347XWUn(7;b5Qc1@8Af$<`N9C z#lD%otGN!cuIE4F`cy+H!L-A4wl9TstRpL`IwxIQof7F4SBU4>E;{fDxpR^eAda*v`Un1sD~Q}miMKA|IS*i!|d zVqZsaZsYnIu|;s11J|s`G!G7W(t_jtu zDri&}Rk}ii%N`MdJYzx5t27=B7`@+IDl@vI`d$^ifbFtg3j%6$t4`YjpTTF2cYPPl zdmvq=4eb@}ITLQ!b?xVT$!NJfp|rVlxsNkrrw{%tew$zBd}_y${ym%r)IeVk;i;9Q zAPO;k$vgpWae}j)QetWGm1V7lcjjT1LU_Y1ujMQ)8CL?p6{h%5L5RA~`qUneU<@k= zmS2&2|=0G?Vb-Y%J=%v2V~3|QOA9ZSOY8-y zF8W_+^=cw+mXYkS4g%3{EF+S=!~yZup(EIRJ~C!a0s}6)5l7JZ^&|6LX%i+$z=~h- zZ#rA+(ugmGnPBSdY$k%?3DZYaZeILfbLWn+10;8RQBsUoN2FIngc#Ca-mY2HM7vYy zTIctK`+|=LD9k76zm7oVkDFD~|3;5~z6;Qj`suLEre7>vRGs7J;0EH&5aM6HO%(#Q zf?=%kM_lQaDzJKnTkP`PH;f#S9#dF&NdiqA3GcI(1Q)y)W}xpNwdQ}RDnW><5TXxGcVuBBv~j zII@r-3y<_5kSCK96ogh3&*3hO-5=Z2rr`B1YA{_Y@{U7IRteQ?=U^u2-)iiiIHwAZ zTxmi*?1W(D$S55ouUmMMK~>P=bW*3hEat6->Ir&08}67+h3pPf=W>aY8ok7n7NS5+ zK)3Wi9&+&@A0dJ0j~-b15k;)M%^iX%|L&|4q@PP4OQ1KySsVeu+tsWAslEe8g{Zvn zMJln>8F05j^{5HeBI~Nk_9nR8)(euQN_uXB>%-lwVa-tEq#nUdg1{VWGTyu_oCWti z1{s22TmA}SmPxl9EKC-+9`AnxND17ja~4T0Rb|T1w$(p%Um|K@?!niIX?Nta3jz`G ztU3^{kG_U!-avw{yKG+T|5VfO8Cb4Zqs`1^*w31t#*YLLwmhD;J*gLsPCPQa0|M)J z>61p!a5}5%>}uWkZz0j{o5t^QC?UOytEMPRy}IO+tK>U9Kq1TEai5zIvv0TVScA1a z1$mX!H#sFT*?GNYvmPc-g{@$rrAKf)+a%)9=%gG{gkC^hiuWSTC?@a z)lZCo2=#nOI#65*ay(k&D#Gq3EBK7>0i1yue zee3#J{y|SG!*s9uoHluh0i6#4>W}>1HT79-YRvdc1n4du#BaMMpRzpeiMZ>f0FY%r zkP^qA{X7=>NxAzu)$l7!or8n>u4s_>F2290Q3EzapB@ISR zbLKWm`etXE_*}ce-;}=u`DRbTQ;}?G|w#gioed7ABz76L3e6Q;-xVdIFxSu0= zTE{L_VLa;;#+jnq9lmiJt?|us&`b0Z2yoCV+<}~oNmkN~z&mzmfSFj?!88+8y)fdW z^r@1l;G6@Y2yv=T48lQ%GEKZa}X~ z{1^dGz_hn_%UbXcO1LkFtzvBH6!z{2Kc0%#<>>UA@_9cMi z3)+E@aFIr0L64*!3L5WA4v20p28FDY9H~haztFR9+}Lb`P?|v`CQU3p<7EJgT(t7t zsK^s*LsHVN-@5kOe0m_sK;7eLON zc6-epp)n^gH-QpF+aeXCUf!N0P$2ZsdA6ry=q97Rph5J80*g9^zrGFn9Bup(HQfp7 zE=AQ|K#~RxFvL`wpKIa>7ikW0Rg=ND9k%oc3YeUiUHD_e)Feuc>RgkuM;a=tf3R_z zKUseaze{Yzhi){;osSHdC9Y^@$cpifjjOwO8a%6#;fC%N=u5Qq&feEXncuO>zZ1xJ zgNJ6L&`su>{}U;Gs#-rVf!_5REC>3I9eFMTpmXanGXTW3tgU7MeSEnc83e|fmw<=D z3P4`Fuw;0f*K~!2tIPN(H4Dac98*v2m%JKKT95f34})U-ti+VZi@n;j1%x zY!Y0%PpYOD9Dt{UZuE&ppAQ-Qr)LoW*c0SK2Eju;fdKFbhDqwdbv4u4Y??>PoDQg) zzyl7r2U>8T;8RAxLGSejzL_*a(KlhsQrr3u;$OkUU;U302mY758U8y>tv6ICSz8$g z2aDC&w3(;M4&c}ehOrH37|=GDdPINa$rf->q>LW|hu;l6mH-C>5H$2I9v(pC2lTkB zXHM&~*Os#Xt1$7$vjCIlCV@PRsFc}Xx7cy!J8gY5>wOrzZXxl0>1N!Ep8TY7T?Tx5 z`kP=w8kq9**L%7-4Gf3@_iy@R{p&xuL{zbwGe;}s>fffO#HC8MU4m4U$(>%tiNi;Ttc3*)tN@SiVyTY+gNA?f zkJz_Kto#a43N|^YzQQso=3l95IgB_UF{kKV7GBt?%GfoGo1+ma-Rkx;^`2^9DE?$dcx-QvsHY>2X!0_PSD?iOsMsMGh>pdpO4K-<(VK=77D=dJE zgHG?_@WKq@x|Il0^g$YyI~0JSHRx)^NVzc>e`>%Wg{G@WfNE z>fNurFe`C-hlvcm!^C~jO^68AJ~bp80h%~DuMDy%Cuiy9DT?p9nu&Tjf7|b({V>a2 zfM0X16(=+g+-dmH@8%Hq8pEooOU?Vxu`NL4)56%#V&k4Oud<2MhLi)aFSQM<`Z&%i zg7(jj10&xWGAYo^#Wy0RpO%p@|7`v6x_g7$Z^rS`hoYzAGP&_;Baiz>O+zWS;K)P1 zhMii!T+K_}7RwAi#yj zPRV@bH?mpTBh@>p^6AEC?O`;pOnyP+jFq*y9sXyhkUfUUdPj*{YQoqDWx(TMyRG@Z zbZ;Qb0}*b=5BSHJ`O1+?vXkhySfnywWx@T1O+dtQ0uen>2@zWB0pdh2Oe6k9flM>d zOWg;6Kimf=*Jk=xT5UgjW%ZFBSf7zthbmSd#Z`m$GLg36n#RY|4S<8{L%Ob7&Xos? zsb`q)y=J*8Kk>#LI$(3D3_l$o9du`c>v}+E05&|m=|c7-q1k5 z9sutGJ{7=XOC zn4(%1y4UCIl#x9pV5SB>`+Db$1&_4_&|56l<}6&B-#mR-Pr@2a7C+`ox43kI30ae` zD_`H2hU=STQ<4)9%0B+!(?cKsviVQ39m$j5`DBM74XmC*JD)=MOl`vRrx4=$KJBy} z&_zATSk*n+Tw=_y0}_w8BkbX6X)@VkgL#)^u$tfzP-% zcz8S}pm@96S&$9&XYn1$?UoM(j}O9**INhdU{1DmEegoCxR`JUe#L)oXL?NWRcFST zOI;^eE+7K_LFYcyUbq+2Q+58<-%8N^eyVSPh#;7nhm8RLEyzP_wF zeGC}jaLz1!Q@VK*kq1V76WXNNK!tB6ykn_Z%6CI6-u;L;>zJ`!P?OK{Us%8ucACE9 zFFK+Y9kna3YMzD+B4SZ=ib`;8LoIGF?=;pG^`#t_5GEm3{HBy5Uh!=KUPf_V1t~TuW4#Zdy+A`U z)=TCDif_q!RrevqXj+09hXtgj?Gs@oM?K`VuekqZ&( z1ffaof-(Kqsl>|Lnxe04Sxvj>^1S8%5k$Hjz7FwcOJr2wUwV)E>S@+{Z@~@A{SN)q z6KCmp|g zMVxqx2%yNRW&ba50G^eYRHC+4%^*A?`_SQlwGy$GRTTHauK8U(e>Qx}oB06@r(<|9TAc@l+mNeYf6;w(6A4##qc8HjD#-m$GB}-P2Gx<3<(K?~} zJhWJ-C!||ZH@{gsp0V2bZR@`B+-BvCkEUp(I^DLDqH%2|L$H4;w_)rRkh#izv|5Fw zG%_lRDc!D9O~}#s&*aHuGjAr4Oid^SD$A%LUmZs7TQr>*B(bu@46IvRZ}M_!HaGp) ziD>Y}?X<0K2s^7`Ov1zyLo32uodI=)efwJE6@SrB#dw zf7A6ln58-mHcMp#20KbUe-JUYY>^@+zx#ob{Y;Ho2&cm2@Bcc!Q@KDw=n_bJM6nlJ zK|&-_qRef>X-msMn}SbxDb>N3XyVl_Ct%X1{E#GD=i3{7QdO0Q<}1=%}P9|3ti z5HkB(AOx%eK;E4WJ^xCtq(}l*Sg2+|&bM1tqSurl=mAt1v*2(Y?C8M(SYqi-TZACw z2@Ye0c$5JHt*7Usmwqz>YmO4_z<8%2Q~7ps`^1e$y{$hMPrUn?wk{bGd8K8{2>6V8 z*Fcy;R(=!->J}hAvz1JaU8rLq#7D*-UK8T+s93{E6gHj+u$TBKAW|8Fyhj%-Vwp0L z=Y2tO#f@bzSC)Gz*@WM_8_Fs0?}7fjj2}ds;C`;>R@`#rxI5OAUO0VO67IJ5QAoKF z&*H(o^`!=gLIS_Rv}2B(*0hUeHYd5$2=t<3nlZpW@sQ%tN|Mu$03r@XXNzzVF}b-W zOWaycO+897$Ji;Re>d)w4hQSkrW$MigD(L5xP(t5hcNW88~ zIPYq}w79ZHhmqqADmpgoKJV55;@Bq|%%1{Qx1ZVMD)%`SQ?>yx%mx9ZV$&fnnT~@r zc(8u8KCA9_DPlOyeBoKjT07LZLV77w$UgsK zB?o@_-!mfBpYmS^Ezf_4M3am zL7t`7*;x$&KttfEA_8a#9Q1-0aM;*b$?J#7b6`id44#lOu(JXOeYk7>qaFjs+Ea_w zr|S-K^*hW0H$sPEJ+igweE61LLLeaJttSE+fv!Adks9iTiyeq9QSZHGVF}_!MG#TI zL8eCqo4@b>yU{9s)c<0%ivKO)^H`61lX~F&i|EZ?^_0Z%P>ckr^X<((w-a;YU zo78Xxt(X4Zc{Fi9%;+In?=R|!t0rX%IpU6bW3&FkBe;ovovD2MVD|9l{A4w-E4Y{b zdw!NixZVl%W3YgL{$gW(__d@i!0Qq*mmI{ElCxvX$YCMaSn++dU91`&zZ{xUq>9Jk zM+my?fPao-v;&#(o}Bb~-TpJ1($^wR;;h7< z9Y?=z6KxZce`xtq^}|>FNDcOY{Ow5Exjs=w;vWYubHt8X&wuTEx?Z483OZ4Ds~IZW z{4l9Y&4l)*RF4`o4O`8k<6I5E9tmBAmvME`WcDP|Dewkz!G@v-P^8k z`Rdc1AiDZ`ATRjg$U6;wbHE3w_~zO&ovqe*r-`}QqwCpzS}qMr;qd|bKJ#JT%Lw2r z6V$?qw{!3z$u2LO4tzxf997Fmzg8~&ExhDHSJa?*BSr|^g)Y<29lT0WLfEMqyP_8s z07aHckysj_dh=D(^)Dx0ncjkt^ziDFM81(3^xoihoLwRD?2V$ExJP#BQghv#S8C$8 z2c-3!F|Bev+s~cUbYc0g5jv0w5zI0AbV1EYAQue`ASL{@6}}xz-N0YRIKG^m z0BXWdh#A8sqGmmZ#LpuHqxvbR0~^MI?$KkUcXj`70F7Rml|D&c1}aw+K`BI*)Qv2E z>$AxvSZmse@r7O9{5T6t?dN#h7!%lAzXGFM!;jt}{t?rhToGHwxyma@BY=?>lcsH0q!lQE);lzBtfQMcw`^UUPTjU^G!biKRwjkp=+3?6 zb7E|tp}0N~$U=^oIrlSbi&O*0$#&iIpFnkTgC=tc>5rMFiFnyUxx>NsltH|%$OW4! zPZTw0ow)^#JF5x8`f&E;krfUSg?GCqFqLxIj2WNZ-o-r^6&n!MOs{du62PGO1(Um} zq*Af~Gfl@i6_m4ST~fG{m|i0#D{D%n1CAk71|G*T9}F78C8jb>9J! z^9wHtM#3qoeObP*3{F2YLu)&6jcvXF*#UyXD~|F@wY~gv5`IiEdDX~Q<<^{TacQ23IYTLnha5b$!zw)&lHsq5>>_R|%IQ~eWtu8+2M#Q#i;<&!t{<)~Fd<3=;XIa*wH?br|fy$Trc-O_UH--B9# z%mwzDDo3eRfn$1k3F1|28*{WMt?_lo#)B`K+pV0<_gc;bO8gw?a#1eoIOofy>e^=U zRAPvrze$RZtV7l*x~zB2h{5x%S3QGA8NknIy zR_tB)c#cE>W-Pb&937sZa`OX2mhX^@>CS5+=VXst5BgGZ#p-Tsd^^jc0cq<$nxBk% zvU@eCX58ct+h$@-C#$ux>g1;?Hks?J3A2)-ccrQ%M-79e=Zq{o$J3wf*861SlN8rR zIbx9%(;hWFr1zvHM9Yu)Wp@&m8|sd!{p=Lm=-F)iO&~fN-qTXd5ih#BJS57efJbkL z!kJ<`cv(7rF;H*xY}hsQ)#6@YGT0J?(nNX`#P7oWkd0fL5t~DQa(LEfxk5ON{bKe>D8UR>sM{O-r;#61W%*{T~3b%#SQQ7Cl;RsO@VN#%p~d=m3fU~M9g zd(Mw^YZ{Qgr*~5<2DMW2HemLe^Z7zceFmG)xj~*?=n%+aP+g9C<2PgohCHb5w2QJT_&}3#ovvgL$MR&USMo{3mVVv8K0aE)^Y{r zy(-_(mhn>6L_=_8sY-fl#e@o33WSve7}B3w2duMVP2j{2OGoNRwu5{r*~f;72~Si& z6}1ZdF`{DDetJB2H^|qO>>H{NkoyNWoXzKQ4}ioa@o4|{s#10A6?EM&NPUuGRw$uy zTNH;HBPANPONffJ6PS~hX4E){52LU9IQL+y_jzE5JU%O8`zg}-4OiDaR)y4|7~cWn zGx2*5L}kHBlyZ*nuWelehE7`|gg8awBHXn?AM*xLXJB*D*&zx%7D?jNP*fl-m`ND! zXXL`?XRlMQX{HO?iiEsOMoZ_tLsZTSEv;kI*}a{Bz?-6tve1xgF-t?z692K~j~%KM z+Y(x$iC*G6R^wg7@5+G*?wD{DD$OR(L~YfC3RN6--%xdCKK;{hR;rl)hKBoITLF*t z*@8*F{L+1qlyACIy=z6cZP0^uo4+Cn4IcTtpXnA55s$S`Y*q!`tVyt7&db6Yj2y)h zU=Cytq?R1FfLxSZ=?a1fNb$SIa(@rJLQ^nw4Mjr8dRsUE(0<@agdt1CXo&%JV zd!ir#aJxv=r-JPpHm`8`;0;R{m$8hJNHKBzHqv8q6=gz^nLj zzdCBG-YE9?^2(z|-oz3dw{!GoxNBrPkxIDk-v-j;eA0iV9lIE;S0KOCme%1@T82om z>)KMx6%H9n)tG-;@~PBZpxy$arRv|J_)fJcEZ%q(OBs(V%o=R!z8|w6Y8xJj>j|W% zf}k*utXhWG0B^CLW_VqefaT`~2hxl?`JvsNOv`wDRyAyaxDZXkB&-w{l|t!?5@{;H z6S(K92QpwkvLV6eV(}?k2@3)3RVQ4PjGLmbwbv$K;>7OtJ)ipfu_ql%Y->BSL)(R1 zEO33e{)1DVW3Mi=hogKAatE#UmS8bSr`g3OQ19k#n4qQ zCzv+Cbxh=+i&4OWZ{iJ15MrDYoY~UGPHKcxD&ye^sS)j_ZR0hg8lu0l3MlmO32Q18 z{*~A?fgi2CIQmVbOi_8K-ZHpQqQt>vfkEY>zG{?*PdGp=Fp2j}vIo$%+E3-YhkVy6 z?}N_6Or^X{&LIZ~ICq{&Wy0~lvJorfN8?>K9%|601x(Qq@iQ$hrNw{}zQP)4>b}VE z?k5JccQJC?=Utam#cch<@5D47_Grw*;^dA2@vgM0#0hPluDT>~u|d-B0Ur8HX|6uq zn@Bx2Or;yCq0r>nknVmM)WsfZ}+ld7kxbajI#7aB1L`do!> zG!7#Kc_d3Xxn|qxAAxEnMwvPiT4=wNsrDX%k08W0 z>7(Ll@yv*~vPXS2-`axrYgEX;@2M9^qqOF*Q+3Q4Z=qXCQPi-LykJo?0g;7`cVTYD zRQu=h+i`*P??lHW8ppV*aR2oAM}R=Ndc&R|y9S1VwCtzo+Ek4;9^_^dvrZ?O-J29F zNz&${s8zXJT{Cha>Efn091?1Ap!NPswywI_n!h1b+&<0XGe#HbAd%UE^aXao1z`vt zhOe<%z&f?OFh;G1Zy2NE6`aA#VNK(>=sMCzDp8=+TzP4%>D+o-l?B8P7b4HXhMCTM zUsi|mBqLsw$NAV~q+g0#U7pbLx#uS06C+u>2zKE9MjpM=q?&A-PXtca%TwA^e0Pp7 zC&eQ+W17_NKi`1RPNDp&J=Nd;pWeI|VmWU8)ro zGmwt4LL((&SrRTr4V#!QO{)3&Khd{~Mp27b05XFt8^>iQH#beaF&Fd+4i`4OIqFayPVP6Qs zw7b4AaH%3%<=fzC5$_NI1S2CIB6Ho7 z@&Q;Ha3pIP9(!dC3mQ9@5|=QvH^CNOt$vT!4s2j-S(A4yjlz(1 zqOPdkOG{i3+b0Z{GFG|O%rrdyA@G*<^FOAQCTu#!J|!aZc~Jvps3Nl;f%-(h*-bQ9 zQRjG3aZz=nA(kzU;YX?%2tZftYO0(&meF@1SE%hEzYTW7!7sK-Jy&qaSk3NrXV$y> zpuDqjSP^)87_L00pk~9XP(4f4*u6MOT9-nNoD=j{k)j}(me$$vWS9*^ZfS>BA_-xC zYP)%AFpPMb8sGlZZ@DSUA}+B9`sU3lA`DeV#)K&vB$Qq$BF8|{x*M5Nc)u(D5>UXK zw}bq|<)R1ye-2mk2akbVZA~$z};Y?IYZ{^Z{2fGv_Eq4V#BqfYlLAfGS zHrNxlZk`?GKRzXUP>ejD>a(f&6uYP;d|Nx(aNUUH@7DR*-dHHfb={%0N8CCkvOJ$1 zb0yHl?x(XxdVH>0@Z_!k*2lS;`zGx@aHoQ%hQXY`HA2tb9>H#^(Vf8oT7Z`$^U?5Jv?)7-@gfEg>+3a$mX#( zN)nrv(<14Plc<+=l|71jbT80@>&{jm8c2!lSnR44Jj&5&lU1 zU;}%!`vCx!^tMEa&w`_^fcU$uZsvjFsEA!L#S)KTYWk&+$p0Te)&)mC1eVy|0G|xY z)CF20si%9=xlZ%usZr)kyG2+u-A8N{sC2_k>0w&)5S{ItC-HA;FI&iLmN>~7>pd7@ zC(9Yf1{mIPzNhP@$$}jT@X1ZuruCfC zjO9pppNhgpQ8BkZwWui9jf~@4_k$<-8e7?gtOHxXq*ObNVzh*TXm-JaXBbVQBjB-m z`&YIefR02KMMVfydkC(ArVC<-0rBgbdL^jPZot!URzzvjVh_e zzQK5OB{mdZd>0JEB1U?Q(Y!6mw7blH%T{XLRbq64HaTBaJZ+(yjHQiWb8|X(M$;AS z(gkMP*#fikNPNaP_tup(FZufeGuZu1@!L17C1g!xEOj1`I>gMcOlxQM(Zeu`T6I`# zb0OAFe|E($RP#m*iG6gd;br<7V7syAsqq60hDuX5GHR1(Y86B77JDSfSc49FeIe^@ zbRHBqW8&C;=r5k*Sg+_eul*H{mHMAV!TG!a#*sIw^wy2;e~1b5s`K(i|0#_ZvJip> z6k>X6x?S1|qD6Pf??92X#$IOC591{L{rwk2nL zGw)KCXQg3REQl~w2^JSNj12kUFYEn*^OQ;rmGAHuladSEHJgo}AEOlFIg_-`?CHj}TZhKEu1+zZ73?WGOFUhzWEhq6^dv@DJhU?| zqUI^L$2if?EuiH+MyEd0U(hjT%cMR~^ai*fy7-|vrEc}-L${S}f%jHB4Qs|@H34*b zjpa#sYPxF*rOf3o*&CFryQdb97yC@xxa8nl-Oju6rbQjeig=Ann-T@8mxnZ)M^aM& zONy2+V~_V2AvLM-nU}PDk5qn3y#nwx&!6fNdZf7#V5{!U8rl%1jI*E8IcXf$I|p?& z_=9AP0Y=*X-3awz3&#&{tLVY(J;i2NfKsZ%(_-J%5XsviRZn;5hW#Q%xALfEc7B55 zo9-YbG4J>y%{X|j3gHY7)R6_L(mC?@Leu^liBJhb4w%=i-A&sDo13_d8)kizq`^;P95fO^mu8Es=ekd?djrzi4B<`nqWO z>X1W~|E-g63?3#u{o}An$H{lQ>5}=s0jk>G>C556u2!|v%$v;Di@U{|-798WTJj1C zwE&ukquxJc0|S^l9w-!eHCfX=m0Pr#{HIU`hq#=pb6v5P1w6M$(@UQ)Zc4 zQd+;@Yx+kY7#_!2)voNmCHhvE=e$&GU?gR|DttJGZ@D9t_?J-zED@ueNms()I##a4 zyjV1jt6;W=8C{fWkexAw}Ho!;~)yzb} z>97E$nvL3J^N(N-uX1>_Q4#NuFWh=(|GB?5?D@}@RiFb>;rE<$H2ZisA6DW5e@$>} z(8mC_2>leT1gFsfm*5$F2CTn<>5OeF8K~czVG|-K2pdGLOOIa#`WsMuUVg?~hPkKb zvYwvXv^)`Pzq$SW7aVTypSf52{b$~wJ0yhrB$~yPHp2Hl0iPU%dta`h^E|@ryH4PL zHBW+bh^FA0;8)>$13*BB?@G0+PoVw;dSBn^o^DxmtN4#kepD!ckN*_)3jgt6D=gqo z{BPtNesI6Y3*a#ewx^us_OGKlRl-m1$hDdBSxL0P=3vEpTRiTf~;2G72AClvL~?X zv+o*%uQ@nW`~dK(P^MS)GjAc!ZD-st3g#u^yik~7n3ot7oIl5vm=}Of!_^tK6Mbk{ zJ>s;CN=YN{<+@qE<+vN##>hcC^?jd=jbZhD5)|lK$o2uKhJ!=0{aVRKGxC<;dtiwT zs3d0Q$@q_vYtFJxD?a?>xtkh>WDNM!n&sSAfk~_b)#E3>`GQrraL_AzH!j_Aafu z(l+NGOCjJI+EkkX>E)PDD*vqKD7mEvLH|#|{9u;`@+Z}gVnaDuak~>}b0=%I=Vl>S zz>5hoxAKtTjJW*DKJej%JB8uYXh#PvN1v1eWiIR0IwL`IMXm1ffM1HdmF`r z;g9lR*>jSw^}sg&4XQxK^3#&anf6Yo2?L4-UUi$~dPJo00$&(c-;kLSX?j#uNp!Aj zKr;);$tiBeV&IiGPd*vjQq9-~64EH_1dDzjcGuS6E)YTWJf2Jm^+luV#E9Qq#x^w< z5P^D?F!jF&gc4T=xIe_ZTq%mdcN#nqF^R~d<+ zM;PY~_XZ6kg|{N8$zBcP^jo;@sk6)Y8Rz)N@yEA(lrDcLNbs0NyM=p;JD>aw+Fl7T zA{mDM(OgOp;4p#sIkY+H-z$=19_8~5BJWwtoQa+Ey^YPa-bi|mBTQ(wX}mM0BO<&m z;rNyd$0?y$w@VqPBa|f^PX#&5pzN#q^tbtHMa+x1SZXrg4ihys&J(JjFJs1bB$(?S ztkmEK_)#WLhN@U~%Sk158o7oJhs?6CdQgl8u@?sRIlk&(Yg%vr+N^ZnZ9{82lIL9{Z5EfMrwfEMz|CX{CQQK%^ zK~Vfo%?bsR4?vU5V^`DGiw;IWxp@P1=-_QldeFm-s>%csa2@qe*~*Z#ybuHsNBm&#_y3;osA8NS6&TkBTe*~LKNYl(*;w79 zv=r1$EYqhkHjW+GzGDn6Qg97dF7WMO1V1_iuHL*-XP+$pb)7xl!oL4#fD`6r zJsdowFAf6|o0wwYMsQzwbp;=#4-0jt`2BF$*qM4y|0~KzK(msio}MVd4q_b1Beovb z^@|VGJn=GuY@}xh9$qI!p5bdS11@p~(4_1Jsf789fz~M#*Qx%)s}!p6+$X=Zs-Pr2N(}obl>zc$F$4QC^G6Noy~Q^C4pV^u4bSs zZa&u)T!C?J)Te6Vz;7KDxu-fiy2oa@ep#=Rd1NV}_gT7|A0G+?j7Y|TpF+Guo6h() zfHY>Mbz;PqgJG*H0w(&2CDrls(-d=eR>>13Uu@XeT*LD*$ccyKgyDFAPAq}}(Hur`p9a|_O0|6Y zQ59kOLXwBM*T6TDV&eEKkj9pCzQC3N5dK$=>JkDe|07?gA*H`UsS++XQ1!rTsXeey>6kFaXX2v1%Xr_nw!EC8D;WTPTxUe z5LmYMKyN}?mq%;oZ-DsLm~$|qY|Yegw>mf{{+Yb>Ez`9J3w6VJWeXs3ihz-v#tss4 z52H8@vgVt}n#=0LI7a<8vH1w~$zevB?jV#R7Ym{)zPqSlqxECLBlwh%E6Q3uC zp{&}p9NLOQ`KuWUFuDB8(zjCdYq2B5N8(f9w$H>Cd#&V)H({VF?& z3gRHIUcOZkwJp@57vlM%1u}}?ND}Vw+hIQu8g zs*FF`u02TAv5w#!Qxy1WT=*H&G3&R)!nAGeSQKGsp6(4a5raom+zQFxM7W=R{y18& zFBalVGFy-Th*;F@{Ry#XG*mw?RlBAJM^32@YFnaCfupL2_++J!pMP{V5k0V zzL{^-TnG7Qx!uJ4TuW9P@+&7dr#1md)fyhx-ye;O)Z9wjpD?qAkZ7+=D*|iK#-yQc z#QC{^FIO;+hU{E59xH;KGzoxd=!UU|`td3e#9?GgzKWJ`ii2ED2RP?j%2A1=K%TK4 zngH#bNqPO^3nM=>8XHFt4>N&()>>iTqDleFhaJvxL2&caEJ*DAQ6D@;p-V5(F5cJ# z%s0Oof#D8DMbc2zNCYUuJ5H-b3elmOU#H&!No3H#E8c!~a*6Kfjhs<~zc13wk$ZLih* z&7?jH|8kCYAXEQD$WgylC&S4TKm&cg@0l37f2{rB;tPicki4k+tez$r8U{2{^!o@_ zW(1&Aa@yt$1Z@`fpN51b0nT9^K0aKKdZ?Nf3X<1*04cVqP!*I%un7 z_fBfhYp%oRmJ@EfoMWlq;cVod3Xw%=shPA4e54%$@@eSubGv zk{(9c$Tn^KWGN+g@k9wNEW8U~waUisfG->cNhvU(v_n|)B?vPE0cYTEu^X!Iwq}vD zM2oC>3F`x{axwnYeImxVX{4H24{5(7g~bbUyN_{>hF5KH7Wq?8boEyn_E6m90h5gD z1tn27k#Kfxu+6#pGl|=~ro5!A5F&uUin7&TGjyc*-=ZDWudE;;&6U4FLU!l}z()IL zvy;Z@`9W`}-^1mHjq@**8j*{)A6SUb##dR4eEP(>(H(_7{){^(=GAzlVrNX1L~+9H zo2I3TX>4!`)puqGml{0Gy|Yao+$^gY>MpW^jhd*TJv}S2Il$oT0^fnJj7$v&YCQTc z)+fHPE?KIw4gc-RgHK8{3+`=;l0JOPPv! zX<0Ykn7$qq^-1JhieTSZZjy+(bFTM_PMU44&wvxd!Y1t%#%;}SU-h{J599`zk4w%~ zqCnE`FEmK;nBI>An#1||ea%_9;GJx&Dw%~3+Xwr<=t+L)^I$b7*q)$zv)xqtK?LLc z_YV!5+I%edheMzmY&AOH)c9qm{SI&rN$HtiWmT1nvK}g|S4Zl+XJC+FNO|EtDvF|^ zCAkfqiD$FCY#Nfe1uTCzXev60<@&6%NJECFMK4Xl*>BivoY+WtIM%^*gM>_PQ^LYo z$u^#7I-tBUq)`M;Nd1t)Q%P}m_TNhsHK@@8B3f|dv}z|v)Q#j^vMA4Dgu4lpFinNg zqXq#8k{XTS49u>aL?pe=S|$^`WY}~TxE4oDLmO%|Wg4ac%PU}1c#G8AeW-=`?F>9` zr9vG%X01m9&?ye@Q)hOq6hy@ntHToXyWFT|J>cvA#uY{hUa2?qt$w#qzXJ}On@`9E zKt|cgV_7Cc30AO;e$AZg+JOq4zx&>p(@1!!DumKEXG%{Fp?p6)-c-gy6%yU9Rw<*g z^7?$enS#x+hMs*ijX)pak&!deOODgb+n`a66Ze-SDG>4cX;Z&%=rTMvl~&ii~mD;dXDA0LWZ0`RvDoM z%jm=0Q&rc*4;ztyz+ZzdvwxUZq0zV0Zws`l=?Km~P^$D5fq1JMQH+=dy_-@h0(;0` zEN9XLIACL94R-_bWnaL(q?^z+Wvt4fu5(o_e*)pCl6M!f@5%eAx$_xG-v1c;{&E39I_xqY4YYuLDd}#8v-ZOHp1*&mHv7 z{Ko0hsi!ySLzrKZye>}{AF!~({m?^WZ(-$ShVtUn_Sp%V)9_?#fk(ark0 zFvF^RyKap<0KsRzmPxqa6;wa2ZdV#b}k z#p&_|Fp6B_ATuVN4WiukjZL&U$FvhqR?D0ZwPPe;LtEtkm%(KmL(^Yna{@j$Uxh?} z*hm9xM$Iw4Fdn$%rnIpjIc>!-H!k+~FjO_UG0J`_F6;AuTU@Tbra1!Os~QTf5nXM6 zrMeX~SvcLac_u;_TMQ!LRKAxtK(rn;8J$|cif@qip7DxV2Bm&7%`o^XH1?s(fXi4r z^_Bv}XAgmYen6o{sx<>QS-&o6zXs)p{}v!Q85szF6A+*#UP&1%q^HPNO5(2#ViLL* z@d8f@(9`YVU83e#m||im%M-hmEz1s>Wtd>d;+YV)X&ADYmd^G{&HsmDow%M`)!+Jc zKq_^Z7_>+n0cFVP^UJYmq-BGrgTr6pPq^A2IGh#UX-M^QWv&Droq2EhQc3kP4j5_A zN}mQ{6-m0Kbz`2suAiiRrerFjZ1Ofc%3m<+BN;yNH){fm+ zF3WJFz5@!)mZw3$);{e73auZ%xJdZGhqSDqgYvO?HUqdh;VjS>zWZHmte9Yzt2DSzO#$P{aM~ zFa%s3!47{79Z53_YNof+9Bu=ql;gKcL-*EDUj}y+Y;l5rIO4GC_U{d7&m&DA*FQpJ={0c+K5jgERf zY58JjwBjz8E=EC{b#7sag9(WCxCbQY@sf604-(l>Q3_`RabC^I$okzUfE^e$>h`3- z@gy^?B6rP)JjSy30}xsM;?D6;zmNpK#gz0To6HM;b20=}2rjexycYB6*Rc0BU61CN z7p(0DB?$`bg8E+f0Iwp(34`hJfyHBc(y4oH6 zs}$dKM&AkELX6d79d|5m+f6^~a0g|7tl^&13c*NljX4; z(`M)~zGq&08C)~*T$X;VbvRP_{RxG3dKR zgywM3POn-){l;VO+zavkJN-RAM&-}Nf7da#>GoyT4{8gBZx}QkyOnF+0*d@@m%Z$1 zq=l(2+i=PPW3JG8#PV_5-g`?at|O+(If|}1xX0PBD=#xEGlY~e^S~e}Yd9kw>L!cG zLq*tKkH9PzP3>~r;h-_?h+Wk)|EzXlMx2MC_t2D%dL7FH6SJ;Wt>1J`06(CMX8Kpw zoUzfvGx-W74)|Y5S&jp(6rPXqGKRSnE;I;gdcF~j6bU=uN5Ovb!x`Li+FbqT3hjZk63Jr>lW2ne*o(-F{Z>}a&49eeA!sqTt#`LJ)tyyccv&KeBM%;T;ZRW+64OqY>O#s=(?b8LG82o0aHgVspq}N`+eL8^em6HBZKnXs!Xciriq2z~wLsmp9@OwW$i}4!c0xL8hRB@0=Ax2l zHd%zC3HF5QOug%d>aej`m3j_1P3fhKP4%-(#-_gzo{YbUP>)XBS<6=S>*__LzJ%8N z@;FR-CSRO=>TmolKEn_e+WC}YXj#0iL2bhul8k&fF{z`1xZ)KsT^KcG4(Xxl-6V8c zQY_!lYl{Q4x8DG1w%(oGL%1o61$TJYZ;|)dCBj$ zPqn$lw04e#fMoRa5_oo&Qw*vBmui~W5=cy&GxR=sws}b1rN|$|i=1Mzye^M@n{;i) zM~c=4Mi^Dtw_!m&U&Gwi*`;|uZH|(^NIopz&QX|{4C@!_RuJfPUU+0c5n`wW#ZBi1 z`~vfu=H?l>I94%^7pU)AjYiR0aK4k|!eb6;I&!#S?$AQL)F+S?7OGsb&isdS7!c)m z>dzrrqUxZ1%-2#V_0u~2Q|I~7>fDI7Q?0Al}w?bL^(TpULg%Uy{(d|BHDpX z5xl_%z`Og`45=S!X%Hf1d-Hf1eavtm!5O?mbr!|@${Tc2gE$FTu{b|Gk`9pKNXpM8r@69|q{lG2Bh z@*q&S#|`N@bdg(|h>yGmTp^JJ_D8;GzTE;eWIwkQN+tdgl#;d!i&wOWJ=yZ+Q?XS5 z;zX^^PMN5z*<@sNR;I1_; zCO#M6cimMC&P|wiE5)wHwke{S@lAsvI?HG`fagwlq}NYCL~)ecMeDe8f!^pgr?zm3Mrp5SOEbs)#5b6FRe7C5;;TTi&8 zW}U9?dCw%#k%ZWMS)axIgaw@Xwb4b4hRJ}7;-)AjkC;-o^EmJ)=ml!2W_xydqwRFo zngK0zOd@=qoqc!-iP1zP^>>Hh@wfOpM=D2S<%#8|NgoEF-9D}#a++95vesL=@ELllI6f-^L^t%ofiuD>voh^13Qg2A z7mHnMsL&|@KCxVEOFM=EW-9QpC#K`WT*DMfU6IS9MZ^rPIf~)*EH(Rw8m? zaetS(zI`rvisVL#w93ZbY0474ZxHFy4zx!Q8c`h6K^8&8pV?&eGV)VAY6Ic{lfyGY z5I5rU^>byuqZwp=JmU@>AJJw}Jj}jWdFE@?c}mwa5Ajy{NZM?wPEif94d(pE z3jx+?TQ!LE#lI>rdbr%{Z<`q0yff_uFl-Y|RcW&|e5uwEtqnqOll<9v&8z;6P5~o> z72z`ISVy64Y$CNx*{8Oq8h64|iarQZ1axSS%TOMvxfa0SLzA}s3-GJU0K$XBmOA=k zG&WX#OFlIHrp+2THs!-C%qoD_I&a(i09#6pA42EBGpZg*+1NgYYC6Now!U5fWl`JI zAEhr>3sS2JbmL;zkx1HB@ix8%x8$QOSy|+Es%xycCPbkE(nMJ+lX#x#k2-#q=>Hj( z=r^~DhqwUK*(gTF#k+MUl>(@PZfV|pKPWc8-%79t=f0BkcV?+08kQ8jzdtlY_}+(q F|34Ez*G2#U literal 0 HcmV?d00001 diff --git a/images/performance-real/case3_real_console.png b/images/performance-real/case3_real_console.png new file mode 100644 index 0000000000000000000000000000000000000000..722bfd704c33a7c084129d18c5fbdafbdd5c1955 GIT binary patch literal 75137 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 source $sqlFile +cmd /c ""$mysqlExe" -E -uroot $DatabaseName < "$sqlFile"" +echo. +echo Press any key to close... +pause >nul +"@ + +Set-Content -LiteralPath $batchFile -Value $batchContent -Encoding ASCII + +$process = Start-Process cmd.exe -ArgumentList "/k", $batchFile -PassThru -WindowStyle Normal + +try { + Start-Sleep -Seconds $WaitSeconds + + $windowProcess = $null + for ($i = 0; $i -lt 15; $i++) { + $windowProcess = Get-Process | Where-Object { $_.MainWindowTitle -eq $Title } | Select-Object -First 1 + if ($null -ne $windowProcess) { + break + } + Start-Sleep -Milliseconds 500 + } + + if ($null -eq $windowProcess) { + throw "Could not find console window with title '$Title'." + } + + [Win32]::ShowWindow($windowProcess.MainWindowHandle, 5) | Out-Null + [Win32]::MoveWindow($windowProcess.MainWindowHandle, 20, 20, 1850, 980, $true) | Out-Null + [Win32]::SetForegroundWindow($windowProcess.MainWindowHandle) | Out-Null + + Start-Sleep -Milliseconds 700 + + $rect = New-Object Win32+RECT + [Win32]::GetWindowRect($windowProcess.MainWindowHandle, [ref]$rect) | Out-Null + + $width = $rect.Right - $rect.Left + $height = $rect.Bottom - $rect.Top + + $bitmap = New-Object System.Drawing.Bitmap $width, $height + $graphics = [System.Drawing.Graphics]::FromImage($bitmap) + $graphics.CopyFromScreen($rect.Left, $rect.Top, 0, 0, $bitmap.Size) + $bitmap.Save($outputFile, [System.Drawing.Imaging.ImageFormat]::Png) + $graphics.Dispose() + $bitmap.Dispose() +} +finally { + if ($null -ne $windowProcess) { + Stop-Process -Id $windowProcess.Id -Force -ErrorAction SilentlyContinue + } + elseif ($null -ne $process) { + Stop-Process -Id $process.Id -Force -ErrorAction SilentlyContinue + } + + Remove-Item -LiteralPath $batchFile -Force -ErrorAction SilentlyContinue +}