From 0d10e7659edbde8324be94c7f0b0920d53feebfb Mon Sep 17 00:00:00 2001 From: SriPaari Date: Mon, 15 Sep 2025 13:14:08 +0530 Subject: [PATCH] new commit --- .mvn/wrapper/maven-wrapper.properties | 19 - pom.xml | 12 +- .../Service/ComplaintService.java | 45 +- .../publicgrievance/config/AppConfigur.java | 47 + .../configuration/AppConfig.java | 28 +- .../configuration/DataSourceConfig.java | 73 + .../configuration/SecurityConfig.java | 24 + .../configuration/UserSessionInterceptor.java | 33 + .../controller/APIController.java | 123 + .../controller/ComplaintController.java | 887 +++++-- .../controller/UserController.java | 18 +- src/main/resources/application-dev.properties | 20 + .../resources/application-prod.properties | 24 + src/main/resources/application.properties | 9 +- src/main/resources/static/images/message.png | Bin 0 -> 16823 bytes src/main/resources/static/images/otp.png | Bin 0 -> 239937 bytes .../static/images/output-onlinepngtools.png | Bin 0 -> 4723 bytes src/main/resources/static/js/screenreader.js | 65 +- src/main/resources/templates/User/home.html | 82 +- src/main/resources/templates/User/kin.html | 0 .../templates/User/registercomplaints.html | 2120 ++++++++++++----- .../checklistofficer/checklistofficer.html | 320 ++- .../templates/fragments/accessibility.html | 4 +- .../resources/templates/fragments/footer.html | 5 +- .../resources/templates/fragments/header.html | 113 +- .../templates/officer/checkofficerhome.html | 258 ++ .../templates/officer/checkofficerstatus.html | 528 ++++ .../templates/staff/staffcheckstatus.html | 614 +++++ .../templates/staff/staffcomplaint.html | 1538 ++++++++++++ .../resources/templates/staff/staffhome.html | 543 +++++ .../PublicgrievanceApplicationTests.java | 13 - 31 files changed, 6448 insertions(+), 1117 deletions(-) delete mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 src/main/java/com/gcc/publicgrievance/config/AppConfigur.java create mode 100644 src/main/java/com/gcc/publicgrievance/configuration/DataSourceConfig.java create mode 100644 src/main/java/com/gcc/publicgrievance/configuration/SecurityConfig.java create mode 100644 src/main/java/com/gcc/publicgrievance/configuration/UserSessionInterceptor.java create mode 100644 src/main/java/com/gcc/publicgrievance/controller/APIController.java create mode 100644 src/main/resources/application-dev.properties create mode 100644 src/main/resources/application-prod.properties create mode 100644 src/main/resources/static/images/message.png create mode 100644 src/main/resources/static/images/otp.png create mode 100644 src/main/resources/static/images/output-onlinepngtools.png create mode 100644 src/main/resources/templates/User/kin.html create mode 100644 src/main/resources/templates/officer/checkofficerhome.html create mode 100644 src/main/resources/templates/officer/checkofficerstatus.html create mode 100644 src/main/resources/templates/staff/staffcheckstatus.html create mode 100644 src/main/resources/templates/staff/staffcomplaint.html create mode 100644 src/main/resources/templates/staff/staffhome.html delete mode 100644 src/test/java/com/gcc/publicgrievance/PublicgrievanceApplicationTests.java diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 8f96f52..0000000 --- a/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,19 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -wrapperVersion=3.3.2 -distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.7/apache-maven-3.9.7-bin.zip diff --git a/pom.xml b/pom.xml index d8d2664..28fdeeb 100644 --- a/pom.xml +++ b/pom.xml @@ -51,8 +51,18 @@ spring-boot-starter-test test - + + + com.example + erp + 0.0.1-SNAPSHOT + + + in.gov.chennaicorporation + gccoffice + 0.0.1 + diff --git a/src/main/java/com/gcc/publicgrievance/Service/ComplaintService.java b/src/main/java/com/gcc/publicgrievance/Service/ComplaintService.java index 6d9791c..3ce0e43 100644 --- a/src/main/java/com/gcc/publicgrievance/Service/ComplaintService.java +++ b/src/main/java/com/gcc/publicgrievance/Service/ComplaintService.java @@ -10,11 +10,19 @@ import java.util.Random; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; + +import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @Service public class ComplaintService { + + private final JdbcTemplate jdbcTemplate; + + public ComplaintService(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } private final String baseUrl = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; @@ -45,12 +53,15 @@ public class ComplaintService { } } - public List> fetchComplaintDetailsByMobile(String mobileNo) { + public List> fetchComplaintDetailsByMobile(String mobileNo, String fromDate, String toDate, String year) { RestTemplate restTemplate = new RestTemplate(); String url = baseUrl - + "?serviceId=getComplaintListWithImg&From_date=01/01/2024&To_date=20/08/2024&jsonResp=Yes&UserType=Public&MobileNo=" - + mobileNo + "&PageIndex=null&Status=null&repYear=2024"; - String response = restTemplate.getForObject(url, String.class); + + "?serviceId=getComplaintListWithImg&From_date=" + fromDate + + "&To_date=" + toDate + + "&jsonResp=Yes&UserType=Public&MobileNo=" + mobileNo + + "&PageIndex=null&Status=null&repYear=" + year; + + String response = restTemplate.getForObject(url, String.class); try { ObjectMapper objectMapper = new ObjectMapper(); @@ -63,5 +74,31 @@ public class ComplaintService { } + private final ObjectMapper objectMapper = new ObjectMapper(); + + public String getComplaintCategories() { + String sql = "SELECT category_id, category_name, label_name " + + "FROM category WHERE is_active = 1 and is_delete = 0"; + try { + List> result = jdbcTemplate.queryForList(sql); + return objectMapper.writeValueAsString(result); + } catch (Exception e) { + e.printStackTrace(); + return "[]"; + } + } + + public String getComplaintSubTypes(String categoryId) { + String sql = "SELECT subcategory_id, subcategory_name, category_id " + + "FROM subcategory WHERE is_active = 1 and is_delete = 0 " + + "AND category_id = ?"; + try { + List> result = jdbcTemplate.queryForList(sql, categoryId); + return objectMapper.writeValueAsString(result); + } catch (Exception e) { + e.printStackTrace(); + return "[]"; + } + } } diff --git a/src/main/java/com/gcc/publicgrievance/config/AppConfigur.java b/src/main/java/com/gcc/publicgrievance/config/AppConfigur.java new file mode 100644 index 0000000..1ac6ae0 --- /dev/null +++ b/src/main/java/com/gcc/publicgrievance/config/AppConfigur.java @@ -0,0 +1,47 @@ +package com.gcc.publicgrievance.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Component +@ConfigurationProperties(prefix = "app") +public class AppConfigur { + + private String title; + private String baseUrl; + private String getOtpUrl; + private String erpUrl; + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getBaseUrl() { + return baseUrl; + } + + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + public String getGetOtpUrl() { + return getOtpUrl; + } + + public void setGetOtpUrl(String getOtpUrl) { + this.getOtpUrl = getOtpUrl; + } + + public String getErpUrl() { + return erpUrl; + } + + public void setErpUrl(String erpUrl) { + this.erpUrl = erpUrl; + } + +} \ No newline at end of file diff --git a/src/main/java/com/gcc/publicgrievance/configuration/AppConfig.java b/src/main/java/com/gcc/publicgrievance/configuration/AppConfig.java index 91ab2d8..d4f7bf1 100644 --- a/src/main/java/com/gcc/publicgrievance/configuration/AppConfig.java +++ b/src/main/java/com/gcc/publicgrievance/configuration/AppConfig.java @@ -1,15 +1,15 @@ -package com.gcc.publicgrievance.configuration; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.client.RestTemplate; - -@Configuration -public class AppConfig { - - @Bean - public RestTemplate restTemplate() { - return new RestTemplate(); - } - -} + package com.gcc.publicgrievance.configuration; + + import org.springframework.context.annotation.Bean; + import org.springframework.context.annotation.Configuration; + import org.springframework.web.client.RestTemplate; + + @Configuration public class AppConfig { + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } + + } diff --git a/src/main/java/com/gcc/publicgrievance/configuration/DataSourceConfig.java b/src/main/java/com/gcc/publicgrievance/configuration/DataSourceConfig.java new file mode 100644 index 0000000..1568d7a --- /dev/null +++ b/src/main/java/com/gcc/publicgrievance/configuration/DataSourceConfig.java @@ -0,0 +1,73 @@ +package com.gcc.publicgrievance.configuration; + +import java.util.Properties; + +import org.hibernate.jpa.HibernatePersistenceProvider; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.jdbc.datasource.DriverManagerDataSource; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.annotation.EnableTransactionManagement; +import org.springframework.web.client.RestTemplate; + +import javax.sql.DataSource; + +@Configuration +@EnableTransactionManagement +public class DataSourceConfig { + + private static String host = "localhost"; + //private static String dbpassword = "gccroot"; + private static String dbpassword = "password"; + + @Configuration + @EnableTransactionManagement + @EnableJpaRepositories( + entityManagerFactoryRef = "appEntityManagerFactory", + transactionManagerRef = "appTransactionManager", + basePackages = {"com.gcc.publicgrievance"} + ) + + public static class MysqlAppDataSourceConfig { + @Primary + @Bean(name = "mysqlAppDataSource") + public DataSource mysqlAppDataSource() { + DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + dataSource.setUrl("jdbc:mysql://"+host+"/gcc_rest_services"); + dataSource.setUsername("root"); + dataSource.setPassword(dbpassword); + return dataSource; + } + + @Primary + @Bean(name="appEntityManagerFactory") + public LocalContainerEntityManagerFactoryBean entityManagerFactory( + @Qualifier("mysqlAppDataSource") DataSource dataSource) { + LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean(); + entityManagerFactoryBean.setDataSource(dataSource); + entityManagerFactoryBean.setPackagesToScan("com.gcc.publicgrievance"); + entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class); + Properties properties = new Properties(); + properties.setProperty("hibernate.hbm2ddl.auto", "update"); + entityManagerFactoryBean.setJpaProperties(properties); + + return entityManagerFactoryBean; + } + + @Primary + @Bean(name = "appTransactionManager") + public PlatformTransactionManager transactionManager(@Qualifier("appEntityManagerFactory") jakarta.persistence.EntityManagerFactory entityManagerFactory) { + return new JpaTransactionManager(entityManagerFactory); + } + } + + + + +} diff --git a/src/main/java/com/gcc/publicgrievance/configuration/SecurityConfig.java b/src/main/java/com/gcc/publicgrievance/configuration/SecurityConfig.java new file mode 100644 index 0000000..b0693f1 --- /dev/null +++ b/src/main/java/com/gcc/publicgrievance/configuration/SecurityConfig.java @@ -0,0 +1,24 @@ +package com.gcc.publicgrievance.configuration; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.web.SecurityFilterChain; + +@Configuration +public class SecurityConfig { + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + http + .csrf(csrf -> csrf.disable()) + .authorizeHttpRequests(auth -> auth + .requestMatchers("/pgr/api/**").permitAll() + .anyRequest().permitAll() + ) + .formLogin(form -> form.disable()) + .httpBasic(httpBasic -> httpBasic.disable()); + + return http.build(); + } +} diff --git a/src/main/java/com/gcc/publicgrievance/configuration/UserSessionInterceptor.java b/src/main/java/com/gcc/publicgrievance/configuration/UserSessionInterceptor.java new file mode 100644 index 0000000..a4c857e --- /dev/null +++ b/src/main/java/com/gcc/publicgrievance/configuration/UserSessionInterceptor.java @@ -0,0 +1,33 @@ +package com.gcc.publicgrievance.configuration; + +import java.util.Arrays; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; + +import com.gcc.publicgrievance.config.AppConfigur; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + +@Component +public class UserSessionInterceptor implements HandlerInterceptor { + + + + @Autowired + private AppConfigur appConfig; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + // Get the current request URL + String requestUrl = request.getRequestURI(); + request.setAttribute("baseURL", appConfig.getBaseUrl()); + + return true; // Allow the request to proceed + } + + +} diff --git a/src/main/java/com/gcc/publicgrievance/controller/APIController.java b/src/main/java/com/gcc/publicgrievance/controller/APIController.java new file mode 100644 index 0000000..22f9ec4 --- /dev/null +++ b/src/main/java/com/gcc/publicgrievance/controller/APIController.java @@ -0,0 +1,123 @@ +package com.gcc.publicgrievance.controller; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Random; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; // Import Jackson's ObjectMapper +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.gcc.publicgrievance.config.AppConfigur; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; + +@RequestMapping("/pgr/api") +@RestController +public class APIController { + + @Autowired + private AppConfigur appConfig; + + @GetMapping(value = "/sendOTP") + public String sendOtp(HttpServletRequest request, + @RequestParam String mobileNo, + @RequestParam(defaultValue = "5") int otpLength, + @RequestParam(defaultValue = "false") boolean mobilenocheck) { + + String bodyMessage = ""; + + try { + // Validate Mobile Number + if (mobileNo.length() != 10) { + throw new IllegalArgumentException("Invalid Mobile Number. It must be 10 digits."); + } + + // New SMS API URL + String urlString = "https://gccservices.in/gccofficialapp/api/sendOTP?mobileNo=" + mobileNo + + "&otpLength=" + otpLength + "&mobilenocheck=" + mobilenocheck; + + System.out.println("\nurlString---: " + urlString); + + // Send the OTP using the new SMS API + RestTemplate restTemplate = new RestTemplate(); + ResponseEntity response = restTemplate.exchange(urlString, HttpMethod.GET, null, String.class); + + // Log full response and status code + System.out.println("\nResponse Status Code: " + response.getStatusCode()); + System.out.println("\nResponse Body: " + response.getBody()); + + // Parse the response to extract the OTP from the API response + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonResponse = objectMapper.readTree(response.getBody()); + String apiOtp = jsonResponse.get(0).get("OTP").asText(); // Extract OTP from the response + int statusCode = jsonResponse.get(0).get("status").asInt(); // Extract status code + String message = jsonResponse.get(0).get("message").asText(); // Extract message + + // Store the OTP in the session + HttpSession session = request.getSession(); + session.setAttribute("otp", apiOtp); // Use the OTP from the API response + + // Construct the bodyMessage with status, mobileNo, and OTP + bodyMessage = "[{\"Status\": " + statusCode + " , \"Mobile No\": " + mobileNo + " , \"OTP\": " + apiOtp + " , \"Message\": \"" + message + "\"}]"; + System.out.println("OTP sent successfully!"); + + } catch (IllegalArgumentException e) { + // Catch validation error for mobile number + System.out.println("ERROR---: " + e.getMessage()); + bodyMessage = "Error: " + e.getMessage(); + } catch (Exception e) { + // Catch general errors + System.out.println("ERROR---: " + e); + bodyMessage = "There was a problem sending OTP. Try again."; + } + + return bodyMessage; + } + + @GetMapping(value = "/verifyOTP") + public String verifyOtp(HttpServletRequest request, @RequestParam String otp) { + HttpSession session = request.getSession(); + try { + String sessionOtp = (String) session.getAttribute("otp"); // Get OTP from session + System.out.println("sessionOtp---:" + sessionOtp); + String enteredOtp = otp.trim(); // OTP entered by user + + if (sessionOtp != null && sessionOtp.equals(enteredOtp)) { + System.out.println("Entered OTP Correct"); + session.setAttribute("verifiedotp", "success"); + return "Success"; // OTP is correct + } else { + System.out.println("Incorrect OTP. Please enter correct OTP."); + session.setAttribute("verifiedotp", "error"); + return "Error"; // OTP mismatch + } + } catch (Exception e) { + System.out.println("Error verifying OTP: " + e.getMessage()); + return "Error"; // Handle any exceptions + } + } + + +} diff --git a/src/main/java/com/gcc/publicgrievance/controller/ComplaintController.java b/src/main/java/com/gcc/publicgrievance/controller/ComplaintController.java index 4c8eb02..f2bdeec 100644 --- a/src/main/java/com/gcc/publicgrievance/controller/ComplaintController.java +++ b/src/main/java/com/gcc/publicgrievance/controller/ComplaintController.java @@ -1,8 +1,13 @@ package com.gcc.publicgrievance.controller; -import java.util.List; -import java.util.Map; - +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; @@ -13,6 +18,8 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.util.UriComponentsBuilder; +import org.springframework.web.util.UriUtils; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.util.LinkedMultiValueMap; @@ -26,21 +33,30 @@ import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + import org.springframework.http.*; -import java.util.Base64; -import java.util.HashMap; import com.gcc.publicgrievance.Service.ComplaintService; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + import org.springframework.web.multipart.MultipartFile; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.imageio.ImageIO; +import javax.management.modelmbean.RequiredModelMBean; + import java.util.Base64; +import java.util.stream.Collectors; -@CrossOrigin +//@CrossOrigin @RestController +@RequestMapping("/pgr/api") public class ComplaintController { private final RestTemplate restTemplate; @@ -52,77 +68,181 @@ public class ComplaintController { @Autowired private ComplaintService complaintService; - @GetMapping("/api/getComplaintCategories") + @GetMapping("/getComplaintCategories") public @ResponseBody String getComplaintCategories() { return complaintService.fetchComplaintCategories(); } + - @GetMapping("/api/getComplaintSubTypes") + @GetMapping("/getComplaintSubTypes") public @ResponseBody String getComplaintSubTypes(@RequestParam String groupId) { return complaintService.fetchComplaintSubTypes(groupId); } - - @GetMapping("/api/getComplaintDetailsbyId") + + @GetMapping("/ComplaintCategories") + public @ResponseBody String ComplaintCategories() { + return complaintService.getComplaintCategories(); + } + + @GetMapping("/ComplaintSubTypes") + public @ResponseBody String ComplaintSubTypes(@RequestParam String categoryId) { + return complaintService.getComplaintSubTypes(categoryId); + } + + @GetMapping("/getComplaintDetailsbyId") public List> getComplaintDetailsById(@RequestParam String complaintid) { return complaintService.fetchComplaintDetailsById(complaintid); } - @GetMapping("/api/getComplaintDetailsByMobile") - public List> getComplaintDetailsByMobile(@RequestParam String mobileNo) { - return complaintService.fetchComplaintDetailsByMobile(mobileNo); + @GetMapping("/getComplaintDetailsByMobile") + public List> getComplaintDetailsByMobile(@RequestParam String mobileNo, + @RequestParam String fromDate, + @RequestParam String toDate, + @RequestParam String year) { + List> result = complaintService.fetchComplaintDetailsByMobile(mobileNo, fromDate, toDate, year); + + // If the result is empty, return a response with "No data found" message + if (result == null || result.isEmpty()) { + // Create a response map to indicate no data found + Map noDataResponse = new HashMap<>(); + noDataResponse.put("message", "No data found"); + noDataResponse.put("status", "404"); + + // Return the no data response in a list + return Collections.singletonList(noDataResponse); + } + + return result; } - @PostMapping("/register") - public ResponseEntity registerComplaint( - @RequestParam(value = "ComplainantName", required = false) String complainantName, - @RequestParam(value = "ComplainantAddr", required = false) String complainantAddr, - @RequestParam(value = "MobileNo", required = false) String mobileNo, - @RequestParam(value = "Email", required = false) String email, - @RequestParam(value = "ComplaintType", required = false) String complaintType, - @RequestParam(value = "ComplaintTitle", required = false) String complaintTitle, - @RequestParam(value = "ComplaintDetails", required = false) String complaintDetails, - @RequestParam(value = "StreetId", required = false) String streetId, - @RequestParam(value = "Comp_Image", required = false) String compImage, - @RequestParam(value = "latitude", required = false) String latitude, - @RequestParam(value = "longtitude", required = false) String longtitude, - @RequestParam(value = "Landmark", required = false) String landmark, - @RequestParam(value = "gender", required = false) String gender) { - - String externalUrl = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; +@PostMapping("/register") +public ResponseEntity registerComplaint( + @RequestParam(value = "ComplainantName", required = false) String complainantName, + @RequestParam(value = "ComplainantAddr", required = false) String complainantAddr, + @RequestParam(value = "MobileNo", required = false) String mobileNo, + @RequestParam(value = "Email", required = false) String email, + @RequestParam(value = "ComplaintType", required = false) String complaintType, + @RequestParam(value = "ComplaintTitle", required = false) String complaintTitle, + @RequestParam(value = "ComplaintDetails", required = false) String complaintDetails, + @RequestParam(value = "StreetId", required = false) String streetId, + @RequestParam(value = "Comp_Image", required = false) MultipartFile compImage, + @RequestParam(value = "latitude", required = false) String latitude, + @RequestParam(value = "longtitude", required = false) String longtitude, + @RequestParam(value = "Landmark", required = false) String landmark, + @RequestParam(value = "gender", required = false) String gender) { + + String externalUrl = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; + + try { + URL url = new URL(externalUrl); + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + conn.setDoOutput(true); + + // 1) Convert MultipartFile to Base64 string + String compImageBase64 = ""; + if (compImage != null && !compImage.isEmpty()) { + byte[] bytes = compImage.getBytes(); + compImageBase64 = Base64.getEncoder().encodeToString(bytes); + } + System.out.println("compImage.."+compImage); + + String params = "serviceId=RegComplaint" + + "&ComplainantName=" + URLEncoder.encode(complainantName != null ? complainantName : "", "UTF-8") + + "&ComplainantAddr=" + URLEncoder.encode(complainantAddr != null ? complainantAddr : "", "UTF-8") + + "&MobileNo=" + URLEncoder.encode(mobileNo != null ? mobileNo : "", "UTF-8") + + "&Email=" + URLEncoder.encode(email != null ? email : "", "UTF-8") + + "&ComplaintType=" + URLEncoder.encode(complaintType != null ? complaintType : "", "UTF-8") + + "&ComplaintTitle=" + URLEncoder.encode(complaintTitle != null ? complaintTitle : "", "UTF-8") + + "&ComplaintDetails=" + URLEncoder.encode(complaintDetails != null ? complaintDetails : "", "UTF-8") + + "&StreetId=" + URLEncoder.encode(streetId != null ? streetId : "", "UTF-8") + + "&Comp_Image=" + URLEncoder.encode(compImageBase64 , "UTF-8")+ + "&latitude=" + URLEncoder.encode(latitude != null ? latitude : "", "UTF-8") + + "&longtitude=" + URLEncoder.encode(longtitude != null ? longtitude : "", "UTF-8") + + "&Landmark=" + URLEncoder.encode(landmark != null ? landmark : "", "UTF-8") + + "&gender=" + URLEncoder.encode(gender != null ? gender : "", "UTF-8") + + "&compmode=2"; + + try (OutputStream os = conn.getOutputStream()) { + byte[] input = params.getBytes("UTF-8"); + os.write(input, 0, input.length); + } + + int responseCode = conn.getResponseCode(); + BufferedReader reader; + if (responseCode == HttpURLConnection.HTTP_OK) { + reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); + } else { + reader = new BufferedReader(new InputStreamReader(conn.getErrorStream())); + } + + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } + reader.close(); + + // ✅ Parse and return only the complaint number + ObjectMapper mapper = new ObjectMapper(); + Map responseMap = mapper.readValue(response.toString(), Map.class); + + String complaintNo = responseMap.getOrDefault("Complaint Number", "N/A"); + System.out.println("complaintNo===="+complaintNo); + + return ResponseEntity.ok() + .contentType(MediaType.APPLICATION_JSON) + .body(Map.of("complaintNumber", complaintNo)); + + } catch (IOException e) { + e.printStackTrace(); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body(Map.of("error", "An error occurred while processing the request.")); + } +} + + @PostMapping("/updateComplaint") + public ResponseEntity updateComplaint(@RequestParam("ComplaintId") String complaintId, + @RequestParam(value = "Message", required = false) String message, + @RequestParam(value = "Status") String status, + @RequestPart(value = "Comp_Image", required = false) MultipartFile compImage) { + + String userType = "Public"; + + System.out.println("message:-" + message + "\n UserType:-" + userType + "\n Status:-" + status); + System.out.println(compImage == null); + String externalUrl = "https://erp.chennaicorporation.gov.in/pgr/newmobileservice"; try { - // Create the URL object - URL url = new URL(externalUrl); + String base64Image = null; + if (compImage != null && !compImage.isEmpty()) { + base64Image = compressAndEncodeToBase64(compImage); + System.out.println("imageee" + base64Image); + } - // Create the HttpURLConnection object + // Construct the POST body with parameters + String params = "serviceId=UpdateComplaint" + "&ComplaintId=" + + URLEncoder.encode(complaintId != null ? complaintId : "", "UTF-8") + "&Message=" + + URLEncoder.encode(message != null ? message : "", "UTF-8") + "&UserType=" + + URLEncoder.encode(userType, "UTF-8") + "&Status=" + + URLEncoder.encode(status != null ? status : "", "UTF-8") + "&Comp_Image=" + + URLEncoder.encode(compImage != null ? base64Image : "", "UTF-8") + + "&Token=718333469976265947044293"; + // Open connection and send POST request + URL url = new URL(externalUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); - conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setDoOutput(true); + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - // Create the parameters string, handling null values - String params = "serviceId=RegComplaint" + "&ComplainantName=" - + URLEncoder.encode(complainantName != null ? complainantName : "", "UTF-8") + "&ComplainantAddr=" - + URLEncoder.encode(complainantAddr != null ? complainantAddr : "", "UTF-8") + "&MobileNo=" - + URLEncoder.encode(mobileNo != null ? mobileNo : "", "UTF-8") + "&Email=" - + URLEncoder.encode(email != null ? email : "", "UTF-8") + "&ComplaintType=" - + URLEncoder.encode(complaintType != null ? complaintType : "", "UTF-8") + "&ComplaintTitle=" - + URLEncoder.encode(complaintTitle != null ? complaintTitle : "", "UTF-8") + "&ComplaintDetails=" - + URLEncoder.encode(complaintDetails != null ? complaintDetails : "", "UTF-8") + "&StreetId=" - + URLEncoder.encode(streetId != null ? streetId : "", "UTF-8") + "&Comp_Image=" - + URLEncoder.encode(compImage != null ? compImage : "", "UTF-8") + "&latitude=" - + URLEncoder.encode(latitude != null ? latitude : "", "UTF-8") + "&longtitude=" - + URLEncoder.encode(longtitude != null ? longtitude : "", "UTF-8") + "&Landmark=" - + URLEncoder.encode(landmark != null ? landmark : "", "UTF-8") + "&gender=" - + URLEncoder.encode(gender != null ? gender : "", "UTF-8"); - - // Write parameters to request body - try (OutputStream os = conn.getOutputStream()) { - byte[] input = params.getBytes("UTF-8"); - os.write(input, 0, input.length); - } + // Send parameters + OutputStream os = conn.getOutputStream(); + os.write(params.getBytes()); + os.flush(); + os.close(); - // Read the response + // Handle the response int responseCode = conn.getResponseCode(); BufferedReader reader; if (responseCode == HttpURLConnection.HTTP_OK) { @@ -138,7 +258,6 @@ public class ComplaintController { } reader.close(); - // Return the response from the external API return ResponseEntity.status(responseCode).body(response.toString()); } catch (IOException e) { @@ -148,179 +267,6 @@ public class ComplaintController { } } -// @PostMapping("/updateComplaint") -// public ResponseEntity updateComplaint(@RequestParam("ComplaintId") String complaintId, -// @RequestParam(value = "Message", required = false) String message, -// @RequestParam(value = "UserType", required = false) String userType, -// @RequestParam(value = "Status", required = false) String status, -// @RequestParam(value = "Comp_Image", required = false) String compImage) { -// -// // Print for debugging -// System.out.println("ComplaintId: " + complaintId); -// System.out.println("Message: " + message); -// System.out.println("Status: " + status); -// -// // External API URL -// String externalUrl = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; -// -// // Create the request body as MultiValueMap for form-encoded data -// MultiValueMap requestBody = new LinkedMultiValueMap<>(); -// requestBody.add("serviceId", "UpdateComplaint"); -// requestBody.add("ComplaintId", complaintId != null ? complaintId : ""); -// requestBody.add("Message", message != null ? message : ""); -// requestBody.add("UserType", userType != null ? userType : ""); -// requestBody.add("Status", status != null ? status : ""); -// requestBody.add("Comp_Image", compImage != null ? compImage : ""); -// requestBody.add("Token", "718333469976265947044293"); -//// MultiValueMap requestBody = new LinkedMultiValueMap<>(); -//// requestBody.add("serviceId", "UpdateComplaint"); -//// requestBody.add("ComplaintId", "2024-516FGB"); -//// requestBody.add("Message","test"); -//// requestBody.add("UserType", "Public"); -//// requestBody.add("Status","8"); -//// requestBody.add("Comp_Image","null"); -//// requestBody.add("Token", "718333469976265947044293"); -// System.out.println(requestBody); -// -// // Set headers to indicate form data -// HttpHeaders headers = new HttpHeaders(); -// headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); -// -// // Build the request entity with headers and body -// HttpEntity> entity = new HttpEntity<>(requestBody, headers); -// -// try { -// // Make the POST request using RestTemplate -// ResponseEntity response = restTemplate.exchange(externalUrl, // External API endpoint -// HttpMethod.GET, // HTTP Method -// entity, // The request entity containing body and headers -// String.class // Expected response type -// ); -// System.out.println(response.getBody()); -// -// // Return the response from the external API -// return new ResponseEntity<>(response.getBody(), response.getStatusCode()); -// -// } catch (Exception e) { -// e.printStackTrace(); -// return ResponseEntity.status(500).body("An error occurred while processing the request."); -// } -// } - - /* - * @PostMapping("/updateComplaint") public ResponseEntity - * updateComplaint(@RequestParam("ComplaintId") String complaintId, - * - * @RequestParam(value = "Message", required = false) String message, - * - * @RequestParam(value = "Status") String status, - * - * @RequestParam(value = "Comp_Image", required = false) String compImage) { - * String userType = "Public"; - * System.out.println("message:-"+message+"\n UserType:-"+userType+"\n Status:-" - * +status); String externalUrl = - * "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; - * - * try { // Create the URL object URL url = new URL(externalUrl); - * - * // Create the HttpURLConnection object HttpURLConnection conn = - * (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); - * conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - * conn.setDoOutput(true); - * - * // Create the parameters string, handling null values String params = - * "serviceId=UpdateComplaint" + "&ComplaintId=" + URLEncoder.encode(complaintId - * != null ? complaintId : "", "UTF-8") + "&Message=" + - * URLEncoder.encode(message != null ? message : "", "UTF-8") + "&UserType=" + - * URLEncoder.encode(userType , "UTF-8") + "&Status=" + URLEncoder.encode(status - * != null ? status : "", "UTF-8") + "&Comp_Image=" + - * URLEncoder.encode(compImage != null ? compImage : "", "UTF-8") + - * "&Token=718333469976265947044293"; System.out.println(params); // Write - * parameters to request body try (OutputStream os = conn.getOutputStream()) { - * byte[] input = params.getBytes("UTF-8"); os.write(input, 0, input.length); } - * - * // Read the response int responseCode = conn.getResponseCode(); - * BufferedReader reader; if (responseCode == HttpURLConnection.HTTP_OK) { - * reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); } - * else { reader = new BufferedReader(new - * InputStreamReader(conn.getErrorStream())); } - * - * StringBuilder response = new StringBuilder(); String line; while ((line = - * reader.readLine()) != null) { response.append(line); } reader.close(); - * System.out.println(response.toString()); // Return the response from the - * external API return - * ResponseEntity.status(responseCode).body(response.toString()); - * - * } catch (IOException e) { e.printStackTrace(); return - * ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - * .body("An error occurred while processing the request."); } } - */ - @PostMapping("/updateComplaint") - public ResponseEntity updateComplaint( - @RequestParam("ComplaintId") String complaintId, - @RequestParam(value = "Message", required = false) String message, - @RequestParam(value = "Status") String status, - @RequestPart(value = "Comp_Image", required = false) MultipartFile compImage) { - - String userType = "Public"; - System.out.println("message:-" + message + "\n UserType:-" + userType + "\n Status:-" + status); - - String externalUrl = "https://erp.chennaicorporation.gov.in/pgr/external/mobileservice"; - - try { - // Convert and compress the image to base64 if provided - String base64Image = null; - if (compImage != null && !compImage.isEmpty()) { - base64Image = compressAndEncodeToBase64(compImage); - } - - // Construct the POST body with parameters - String params = "serviceId=UpdateComplaint" + - "&ComplaintId=" + URLEncoder.encode(complaintId != null ? complaintId : "", "UTF-8") + - "&Message=" + URLEncoder.encode(message != null ? message : "", "UTF-8") + - "&UserType=" + URLEncoder.encode(userType, "UTF-8") + - "&Status=" + URLEncoder.encode(status != null ? status : "", "UTF-8") + - "&Token=718333469976265947044293"; - - // Open connection and send POST request - URL url = new URL(externalUrl); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - conn.setRequestMethod("POST"); - conn.setDoOutput(true); - conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - - // Send parameters - OutputStream os = conn.getOutputStream(); - os.write(params.getBytes()); - os.flush(); - os.close(); - - // Handle the response - int responseCode = conn.getResponseCode(); - BufferedReader reader; - if (responseCode == HttpURLConnection.HTTP_OK) { - reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); - } else { - reader = new BufferedReader(new InputStreamReader(conn.getErrorStream())); - } - - StringBuilder response = new StringBuilder(); - String line; - while ((line = reader.readLine()) != null) { - response.append(line); - } - reader.close(); - - return ResponseEntity.status(responseCode).body(response.toString()); - - } catch (IOException e) { - e.printStackTrace(); - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body("An error occurred while processing the request."); - } - } - - private String compressAndEncodeToBase64(MultipartFile file) throws IOException { // Convert MultipartFile to BufferedImage BufferedImage originalImage = ImageIO.read(file.getInputStream()); @@ -343,5 +289,486 @@ public class ComplaintController { // Convert the compressed image to base64 return Base64.getEncoder().encodeToString(compressedBytes); } + @GetMapping("/getdetails") + public ResponseEntity getComplaintMatch( + @RequestParam("mobileNo") String mobileNo, + @RequestParam("complaintId") String complaintId, + @RequestParam("streetName") String streetName + ) { + try { + // 1. Map complaintId to complaint title + Map complaintIdToTitle = new HashMap<>(); + complaintIdToTitle.put("97", "Removal of Garbage"); + complaintIdToTitle.put("98", "Overflowing of Garbage Bin"); + complaintIdToTitle.put("99", "Removal of Debris"); + complaintIdToTitle.put("100", "Absenteeism of Sweepers"); + complaintIdToTitle.put("101", "Absenteeism of Door to door garbage Collector"); + complaintIdToTitle.put("102", "Improper Sweeping"); + complaintIdToTitle.put("103", "Provison of Garbage Bin"); + complaintIdToTitle.put("104", "Broken Bin"); + complaintIdToTitle.put("105", "Shifting of Garbage Bin"); + complaintIdToTitle.put("106", "Cleaning of Water Table"); + complaintIdToTitle.put("107", "Nuisance by Garbage Tractor/Truck"); + complaintIdToTitle.put("108", "Burning of Garbage"); + complaintIdToTitle.put("109", "Garbage Lorry without Net"); + complaintIdToTitle.put("110", "Spilling of Garbage from Lorry"); + complaintIdToTitle.put("111", "Burning of Garbage at Dumping Ground"); + complaintIdToTitle.put("112", "Pot hole fill up / Repairs to the damaged surface"); + complaintIdToTitle.put("113", "Relaying of Road"); + complaintIdToTitle.put("114", "Formation of New Road"); + complaintIdToTitle.put("115", "Repairs to existing Footpath"); + complaintIdToTitle.put("116", "Request to provide Footpath"); + complaintIdToTitle.put("117", "Removal of Shops in the Footpath"); + complaintIdToTitle.put("118", "Mosquito Menace"); + complaintIdToTitle.put("119", "Street Dogs"); + complaintIdToTitle.put("120", "Stray Cattle"); + complaintIdToTitle.put("121", "Stray Pigs"); + complaintIdToTitle.put("122", "Death of Stray Animals"); + complaintIdToTitle.put("123", "Public Health / Dengue / Malaria / Gastro Enteritis"); + complaintIdToTitle.put("124", "Transfer Station Smell"); + complaintIdToTitle.put("125", "Flies Menace from Dumping Ground"); + complaintIdToTitle.put("126", "Open Defecation"); + complaintIdToTitle.put("127", "Illegal Draining of Sewage to SWD / Open Site"); + complaintIdToTitle.put("128", "Complaints regarding unhygenic Restaurants"); + complaintIdToTitle.put("129", "Complaints regarding quality of food in hotels"); + complaintIdToTitle.put("130", "Road Side Eateries"); + complaintIdToTitle.put("131", "Slaughter House related complaints"); + complaintIdToTitle.put("132", "Unauthorized Sale of Meat and Meat products"); + complaintIdToTitle.put("133", "Illegal Slaughtering"); + complaintIdToTitle.put("134", "Unhygenic and Improper Transport of Meat and Livestock"); + complaintIdToTitle.put("135", "Biomedical waste / Health hazard waste removal"); + complaintIdToTitle.put("136", "Complaints regarding Corporation Hospitals"); + complaintIdToTitle.put("137", "Complaints regarding CDH"); + complaintIdToTitle.put("138", "Stagnation of Water"); + complaintIdToTitle.put("139", "Obstruction of Water Flow"); + complaintIdToTitle.put("140", "Desilting of Drain"); + complaintIdToTitle.put("141", "Desilting of Canal"); + complaintIdToTitle.put("142", "Repairs to Storm Water Drain"); + complaintIdToTitle.put("143", "Covering Manholes of Storm Water Drain"); + complaintIdToTitle.put("144", "New Drain Construction"); + complaintIdToTitle.put("145", "Disposal of Removed Silt on the Road"); + complaintIdToTitle.put("146", "Non burning of Street lights"); + complaintIdToTitle.put("147", "Electric shock due to street light"); + complaintIdToTitle.put("148", "Damage to the Electric pole"); + complaintIdToTitle.put("149", "New Street lights"); + complaintIdToTitle.put("150", "Shifting of Street light pole"); + complaintIdToTitle.put("151", "Overhead cable wires running in a haphazard manner"); + complaintIdToTitle.put("152", "Removal of Fallen Trees"); + complaintIdToTitle.put("153", "Complaints regarding Park"); + complaintIdToTitle.put("154", "Complaints regarding Playground"); + complaintIdToTitle.put("155", "Complaints regarding Centre Median"); + complaintIdToTitle.put("156", "Complaints regarding Traffic Island"); + complaintIdToTitle.put("157", "Unauthorized Tree Cutting"); + complaintIdToTitle.put("158", "Obstruction of Trees"); + complaintIdToTitle.put("159", "Complaints regarding Public Toilets"); + complaintIdToTitle.put("160", "Complaints regarding Free Usage of Public Toilets"); + complaintIdToTitle.put("161", "Complaints regarding Cleanliness of Toilets in Theatre"); + complaintIdToTitle.put("162", "Complaints regarding Cleanliness of Toilets in Shopping Complex"); + complaintIdToTitle.put("163", "Building Plan Sanction"); + complaintIdToTitle.put("164", "Violation of DCR/Building By laws"); + complaintIdToTitle.put("165", "Unauthorized / Illegal Construction"); + complaintIdToTitle.put("166", "Complaints related to Property Tax"); + complaintIdToTitle.put("167", "Complaints related to Professional Tax"); + complaintIdToTitle.put("168", "Complaints related to Trade Licence"); + complaintIdToTitle.put("174", "Name Error (Spelling Related)"); + complaintIdToTitle.put("175", "Change of Address in Electoral Roll"); + complaintIdToTitle.put("176", "Issue of Voter ID"); + complaintIdToTitle.put("177", "Inclusion, Deletion, Correction in Voter List"); + complaintIdToTitle.put("178", "Complaints regarding Voter List"); + complaintIdToTitle.put("179", "Name not found in the Electoral Roll"); + complaintIdToTitle.put("180", "Issue of Birth and Death Certificate"); + complaintIdToTitle.put("181", "Encroachment on the Public Property"); + complaintIdToTitle.put("182", " Complaints related to Schools"); + complaintIdToTitle.put("183", "Sanction of Financial Assistance under Moovalaur Thirumana Thittam"); + complaintIdToTitle.put("184", "Complaints related to issue of all types of Registration Certificate"); + complaintIdToTitle.put("185", "Slow Progress of Work"); + complaintIdToTitle.put("186", "Poor Quality of Work"); + complaintIdToTitle.put("187", "Unauthorized Advertisement Boards"); + complaintIdToTitle.put("188", "Complaints regarding Bridges / Flyovers / Subways"); + complaintIdToTitle.put("189", "Complaints related Shopping Complex"); + complaintIdToTitle.put("190", "Complaints regarding Community Hall"); + complaintIdToTitle.put("191", "Complaints regarding Burial Ground"); + complaintIdToTitle.put("192", "Complaints regarding any other CoC building"); + complaintIdToTitle.put("193", "Parking Issue"); + complaintIdToTitle.put("195", "Complaints Regarding Plastics"); + complaintIdToTitle.put("196", "No electricity in public toilet"); + complaintIdToTitle.put("197", "No water supply in public toilet"); + complaintIdToTitle.put("198", "Public toilet blockage"); + complaintIdToTitle.put("199", "Public toilet cleaning"); + complaintIdToTitle.put("200", "Burning of street light in daytime"); + complaintIdToTitle.put("201", "Illegal Parking on foot path"); + complaintIdToTitle.put("202", "Complaints regarding non availability of Doctors"); + complaintIdToTitle.put("203", "Complaints regarding non availability of medicines"); + complaintIdToTitle.put("204", "Complaints regarding laboratory issues"); + complaintIdToTitle.put("205", "Issues regarding amma baby care kits (After Delivery)"); + complaintIdToTitle.put("206", "Issues regarding Amma nutrition kit for pregnant woman"); + complaintIdToTitle.put("207", "Issues regarding Muthulakshmi Reddy Maternity Benefit Scheme (MRMBS)"); + complaintIdToTitle.put("208", "Issues regarding janani suraksha yojana scheme (JSY)"); + complaintIdToTitle.put("209", "Travel pass related complaints"); + complaintIdToTitle.put("210", "Food related complaints"); + complaintIdToTitle.put("212", "Covid Health Related Queries"); + complaintIdToTitle.put("213", "Hospital and Covid care centre(CCC) Related Queries"); + complaintIdToTitle.put("214", "Medical Emergencies"); + complaintIdToTitle.put("215", "Essentials and Medicines"); + complaintIdToTitle.put("216", "PSYCHO-SOCIO support"); + complaintIdToTitle.put("218", "Quarantine and isolation Related Queries"); + complaintIdToTitle.put("219", "General Health Queries"); + complaintIdToTitle.put("220", "Disinfection request"); + complaintIdToTitle.put("221", "Non Covid Health Related Queries"); + complaintIdToTitle.put("222", "Milling/Scraping of Road before Relaying of Road"); + complaintIdToTitle.put("226", "Food Requirement"); + complaintIdToTitle.put("227", "Relief Center Requirement"); + complaintIdToTitle.put("228", "Covid19 Ambulance Service"); + complaintIdToTitle.put("229", "Air Quality"); + complaintIdToTitle.put("230", "Online Payment Issue"); + complaintIdToTitle.put("231", "General Revision Objection"); + complaintIdToTitle.put("232", "Water Mixed with Sewarage"); + complaintIdToTitle.put("233", "Sewerage Overflow"); + complaintIdToTitle.put("234", "Drinking water supply"); + complaintIdToTitle.put("235", "Electricity Shock"); + complaintIdToTitle.put("236", "Electricity Unavailability"); + complaintIdToTitle.put("237", "Insufficient Barricading"); + complaintIdToTitle.put("238", "Fallen poles/towers/hoardings/other infra"); + complaintIdToTitle.put("239", "Fallen EB cables"); + complaintIdToTitle.put("240", "Project information not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("241", "Project information not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("242", "Project information not provided (MC Road)"); + complaintIdToTitle.put("243", "Project information not provided (Washermenpet Metro)"); + complaintIdToTitle.put("244", "Project information not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("245", "Project information not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("246", "Advance information on consultation not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("247", "Advance information on consultation not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("248", "Advance information on consultation not provided (MC Road)"); + complaintIdToTitle.put("249", "Advance information on consultation not provided (Washermenpet Metro)"); + complaintIdToTitle.put("250", "Advance information on consultation not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("251", "Advance information on consultation not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("252", "Location and area of consultation not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("253", "Location and area of consultation not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("254", "Location and area of consultation not provided (MC Road)"); + complaintIdToTitle.put("255", "Location and area of consultation not provided (Washermenpet Metro)"); + complaintIdToTitle.put("256", "Location and area of consultation not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("257", "Location and area of consultation not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("258", "Information on detailed work plan not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("259", "Information on detailed work plan not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("260", "Information on detailed work plan not provided (MC Road)"); + complaintIdToTitle.put("261", "Information on detailed work plan not provided (Washermenpet Metro)"); + complaintIdToTitle.put("262", "Information on detailed work plan not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("263", "Information on detailed work plan not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("264", "Others (Thiruvotriyur High Road)"); + complaintIdToTitle.put("265", "Others (Arunachaleshwar Road)"); + complaintIdToTitle.put("266", "Others (MC Road)"); + complaintIdToTitle.put("267", "Others (Washermenpet Metro)"); + complaintIdToTitle.put("268", "Others (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("269", "Others (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("270", "No information in advance provided on the date and time of civil works (Thiruvotriyur High Road)"); + complaintIdToTitle.put("271", "No information in advance provided on the date and time of civil works (Arunachaleshwar Road)"); + complaintIdToTitle.put("272", "No information in advance provided on the date and time of civil works (MC Road)"); + complaintIdToTitle.put("273", "No information in advance provided on the date and time of civil works (Washermenpet Metro)"); + complaintIdToTitle.put("274", "No information in advance provided on the date and time of civil works (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("275", "No information in advance provided on the date and time of civil works (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("276", "No information provided on the nature and schedule of civil work (Thiruvotriyur High Road)"); + complaintIdToTitle.put("277", "No information provided on the nature and schedule of civil work (Arunachaleshwar Road)"); + complaintIdToTitle.put("278", "No information provided on the nature and schedule of civil work (MC Road)"); + complaintIdToTitle.put("279", "No information provided on the nature and schedule of civil work (Washermenpet Metro)"); + complaintIdToTitle.put("280", "No information provided on the nature and schedule of civil work (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("281", "No information provided on the nature and schedule of civil work (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("282", "No consultation carried out with the people affected by the civil works (Thiruvotriyur High Road)"); + complaintIdToTitle.put("283", "No consultation carried out with the people affected by the civil works (Arunachaleshwar Road)"); + complaintIdToTitle.put("284", "No consultation carried out with the people affected by the civil works (MC Road)"); + complaintIdToTitle.put("285", "No consultation carried out with the people affected by the civil works (Washermenpet Metro)"); + complaintIdToTitle.put("286", "No consultation carried out with the people affected by the civil works (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("287", "No consultation carried out with the people affected by the civil works (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("288", "No arrangement made for temporary displacement (Thiruvotriyur High Road)"); + complaintIdToTitle.put("289", "No arrangement made for temporary displacement (Arunachaleshwar Road)"); + complaintIdToTitle.put("290", "No arrangement made for temporary displacement (MC Road)"); + complaintIdToTitle.put("291", "No arrangement made for temporary displacement (Washermenpet Metro)"); + complaintIdToTitle.put("292", "No arrangement made for temporary displacement (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("293", "No arrangement made for temporary displacement (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("294", "No display board on the project installed at work site (Thiruvotriyur High Road)"); + complaintIdToTitle.put("295", "No display board on the project installed at work site (Arunachaleshwar Road)"); + complaintIdToTitle.put("296", "No display board on the project installed at work site (MC Road)"); + complaintIdToTitle.put("297", "No display board on the project installed at work site (Washermenpet Metro)"); + complaintIdToTitle.put("298", "No display board on the project installed at work site (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("299", "No display board on the project installed at work site (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("300", "Temporary access to structures not provided and or not adequate (Thiruvotriyur High Road)"); + complaintIdToTitle.put("301", "Temporary access to structures not provided and or not adequate (Arunachaleshwar Road)"); + complaintIdToTitle.put("302", "Temporary access to structures not provided and or not adequate (MC Road)"); + complaintIdToTitle.put("303", "Temporary access to structures not provided and or not adequate (Washermenpet Metro)"); + complaintIdToTitle.put("304", "Temporary access to structures not provided and or not adequate (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("305", "Temporary access to structures not provided and or not adequate (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("306", "No safety measures taken at worksite (Thiruvotriyur High Road)"); + complaintIdToTitle.put("307", "No safety measures taken at worksite (Arunachaleshwar Road)"); + complaintIdToTitle.put("308", "No safety measures taken at worksite (MC Road)"); + complaintIdToTitle.put("309", "No safety measures taken at worksite (Washermenpet Metro)"); + complaintIdToTitle.put("310", "No safety measures taken at worksite (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("311", "No safety measures taken at worksite (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("312", "Water supply disrupted and alternate arrangement not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("313", "Water supply disrupted and alternate arrangement not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("314", "Water supply disrupted and alternate arrangement not provided (MC Road)"); + complaintIdToTitle.put("315", "Water supply disrupted and alternate arrangement not provided (Washermenpet Metro)"); + complaintIdToTitle.put("316", "Water supply disrupted and alternate arrangement not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("317", "Water supply disrupted and alternate arrangement not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("318", "Electricity supply disrupted and alternate arrangement not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("319", "Electricity supply disrupted and alternate arrangement not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("320", "Electricity supply disrupted and alternate arrangement not provided (MC Road)"); + complaintIdToTitle.put("321", "Electricity supply disrupted and alternate arrangement not provided (Washermenpet Metro)"); + complaintIdToTitle.put("322", "Electricity supply disrupted and alternate arrangement not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("323", "Electricity supply disrupted and alternate arrangement not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("324", "Disposal of debris not appropriately managed (Thiruvotriyur High Road)"); + complaintIdToTitle.put("325", "Disposal of debris not appropriately managed (Arunachaleshwar Road)"); + complaintIdToTitle.put("326", "Disposal of debris not appropriately managed (MC Road)"); + complaintIdToTitle.put("327", "Disposal of debris not appropriately managed (Washermenpet Metro)"); + complaintIdToTitle.put("328", "Disposal of debris not appropriately managed (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("329", "Disposal of debris not appropriately managed (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("330", " Temporary arrangement for parking not provided (Thiruvotriyur High Road)"); + complaintIdToTitle.put("331", " Temporary arrangement for parking not provided (Arunachaleshwar Road)"); + complaintIdToTitle.put("332", " Temporary arrangement for parking not provided (MC Road)"); + complaintIdToTitle.put("333", " Temporary arrangement for parking not provided (Washermenpet Metro)"); + complaintIdToTitle.put("334", " Temporary arrangement for parking not provided (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("335", " Temporary arrangement for parking not provided (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("336", "GRM and helpline numbers not displayed at worksite (Thiruvotriyur High Road)"); + complaintIdToTitle.put("337", "GRM and helpline numbers not displayed at worksite (Arunachaleshwar Road)"); + complaintIdToTitle.put("338", "GRM and helpline numbers not displayed at worksite (MC Road)"); + complaintIdToTitle.put("339", "GRM and helpline numbers not displayed at worksite (Washermenpet Metro)"); + complaintIdToTitle.put("340", "GRM and helpline numbers not displayed at worksite (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("341", "GRM and helpline numbers not displayed at worksite (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("342", "Drinking water/ other basic needs for Labour not available at worksite (Thiruvotriyur High Road)"); + complaintIdToTitle.put("343", "Drinking water/ other basic needs for Labour not available at worksite (Arunachaleshwar Road)"); + complaintIdToTitle.put("344", "Drinking water/ other basic needs for Labour not available at worksite (MC Road)"); + complaintIdToTitle.put("345", "Drinking water/ other basic needs for Labour not available at worksite (Washermenpet Metro)"); + complaintIdToTitle.put("346", "Drinking water/ other basic needs for Labour not available at worksite (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("347", "Drinking water/ other basic needs for Labour not available at worksite (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("348", "Noise levels are very high (Thiruvotriyur High Road)"); + complaintIdToTitle.put("349", "Noise levels are very high (Arunachaleshwar Road)"); + complaintIdToTitle.put("350", "Noise levels are very high (MC Road)"); + complaintIdToTitle.put("351", "Noise levels are very high (Washermenpet Metro)"); + complaintIdToTitle.put("352", "Noise levels are very high (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("353", "Noise levels are very high (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("354", " Sprinkling of water at worksite not carried out (Thiruvotriyur High Road)"); + complaintIdToTitle.put("355", " Sprinkling of water at worksite not carried out (Arunachaleshwar Road)"); + complaintIdToTitle.put("356", " Sprinkling of water at worksite not carried out (MC Road)"); + complaintIdToTitle.put("357", " Sprinkling of water at worksite not carried out (Washermenpet Metro)"); + complaintIdToTitle.put("358", " Sprinkling of water at worksite not carried out (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("359", " Sprinkling of water at worksite not carried out (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("360", "The worksite is not barricaded; (Thiruvotriyur High Road)"); + complaintIdToTitle.put("361", "The worksite is not barricaded; (Arunachaleshwar Road)"); + complaintIdToTitle.put("362", "The worksite is not barricaded; (MC Road)"); + complaintIdToTitle.put("363", "The worksite is not barricaded; (Washermenpet Metro)"); + complaintIdToTitle.put("364", "The worksite is not barricaded; (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("365", "The worksite is not barricaded; (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("366", " No information on number of labour working at the site (Thiruvotriyur High Road)"); + complaintIdToTitle.put("367", " No information on number of labour working at the site (Arunachaleshwar Road)"); + complaintIdToTitle.put("368", " No information on number of labour working at the site (MC Road)"); + complaintIdToTitle.put("369", " No information on number of labour working at the site (Washermenpet Metro)"); + complaintIdToTitle.put("370", " No information on number of labour working at the site (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("371", " No information on number of labour working at the site (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("372", "Labourer not using the safety equipment (Thiruvotriyur High Road)"); + complaintIdToTitle.put("373", "Labourer not using the safety equipment (Arunachaleshwar Road)"); + complaintIdToTitle.put("374", "Labourer not using the safety equipment (MC Road)"); + complaintIdToTitle.put("375", "Labourer not using the safety equipment (Washermenpet Metro)"); + complaintIdToTitle.put("376", "Labourer not using the safety equipment (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("377", "Labourer not using the safety equipment (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("378", "Sewerage pipe is damaged (Thiruvotriyur High Road)"); + complaintIdToTitle.put("379", "Sewerage pipe is damaged (Arunachaleshwar Road)"); + complaintIdToTitle.put("380", "Sewerage pipe is damaged (MC Road)"); + complaintIdToTitle.put("381", "Sewerage pipe is damaged (Washermenpet Metro)"); + complaintIdToTitle.put("382", "Sewerage pipe is damaged (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("383", "Sewerage pipe is damaged (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("384", "Others (Thiruvotriyur High Road)"); + complaintIdToTitle.put("385", "Others (Arunachaleshwar Road)"); + complaintIdToTitle.put("386", "Others (MC Road)"); + complaintIdToTitle.put("387", "Others (Washermenpet Metro)"); + complaintIdToTitle.put("388", "Others (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("389", "Others (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("390", "Insufficient Barricading (Thiruvotriyur High Road)"); + complaintIdToTitle.put("391", "Insufficient Barricading (Arunachaleshwar Road)"); + complaintIdToTitle.put("392", "Insufficient Barricading (MC Road)"); + complaintIdToTitle.put("393", "Insufficient Barricading (Washermenpet Metro)"); + complaintIdToTitle.put("394", "Insufficient Barricading (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("395", "Insufficient Barricading (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("396", "Non Removal of Debris (Thiruvotriyur High Road)"); + complaintIdToTitle.put("397", "Non Removal of Debris (Arunachaleshwar Road)"); + complaintIdToTitle.put("398", "Non Removal of Debris (MC Road)"); + complaintIdToTitle.put("399", "Non Removal of Debris (Washermenpet Metro)"); + complaintIdToTitle.put("400", "Non Removal of Debris (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("401", "Non Removal of Debris (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("402", "Potholes fill up (Thiruvotriyur High Road)"); + complaintIdToTitle.put("403", "Potholes fill up (Arunachaleshwar Road)"); + complaintIdToTitle.put("404", "Potholes fill up (MC Road)"); + complaintIdToTitle.put("405", "Potholes fill up (Washermenpet Metro)"); + complaintIdToTitle.put("406", "Potholes fill up (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("407", "Potholes fill up (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("408", "Damage to utilities (TNEB, CMWSSB, BSNL) (Thiruvotriyur High Road)"); + complaintIdToTitle.put("409", "Damage to utilities (TNEB, CMWSSB, BSNL) (Arunachaleshwar Road)"); + complaintIdToTitle.put("410", "Damage to utilities (TNEB, CMWSSB, BSNL) (MC Road)"); + complaintIdToTitle.put("411", "Damage to utilities (TNEB, CMWSSB, BSNL) (Washermenpet Metro)"); + complaintIdToTitle.put("412", "Damage to utilities (TNEB, CMWSSB, BSNL) (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("413", "Damage to utilities (TNEB, CMWSSB, BSNL) (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("414", "Encroaching Public Space (Thiruvotriyur High Road)"); + complaintIdToTitle.put("415", "Encroaching Public Space (Arunachaleshwar Road)"); + complaintIdToTitle.put("416", "Encroaching Public Space (MC Road)"); + complaintIdToTitle.put("417", "Encroaching Public Space (Washermenpet Metro)"); + complaintIdToTitle.put("418", "Encroaching Public Space (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("419", "Encroaching Public Space (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("420", "Need Pathway ramp (Thiruvotriyur High Road)"); + complaintIdToTitle.put("421", "Need Pathway ramp (Arunachaleshwar Road)"); + complaintIdToTitle.put("422", "Need Pathway ramp (MC Road)"); + complaintIdToTitle.put("423", "Need Pathway ramp (Washermenpet Metro)"); + complaintIdToTitle.put("424", "Need Pathway ramp (Khadar Nawas Khan Road)"); + complaintIdToTitle.put("425", "Need Pathway ramp (Race Course road + Guindy MMI)"); + complaintIdToTitle.put("426", "Cleanliness in Parks"); + complaintIdToTitle.put("427", "Greenary in Parks"); + complaintIdToTitle.put("428", "Play Equipment"); + complaintIdToTitle.put("429", "Opening and closing hours"); + complaintIdToTitle.put("430", "Toilets in parks"); + complaintIdToTitle.put("431", "Non functional lights/ no lights in parks"); + complaintIdToTitle.put("432", "Safety in parks/playgrounds"); + complaintIdToTitle.put("433", "Women related safety issues in parks"); + complaintIdToTitle.put("434", "Availability or cleanliness of dustbins in public toilets"); + complaintIdToTitle.put("435", "Cleanliness/ water supply in toilets"); + complaintIdToTitle.put("436", "Broken sinks, toilets or urinals and doors"); + complaintIdToTitle.put("437", "Request for new toilet"); + complaintIdToTitle.put("438", "Illegal activities in toilet"); + complaintIdToTitle.put("439", "Toilets not in use/ closed"); + complaintIdToTitle.put("440", "Inadequate lighting in and around the toilet"); + complaintIdToTitle.put("441", "Safety in public toilets"); + complaintIdToTitle.put("442", "Cleanliness in footpath"); + complaintIdToTitle.put("443", "Electrical wires/obstruction on footpath"); + complaintIdToTitle.put("444", "Unsafe dark spots/ corners"); + complaintIdToTitle.put("445", "Public defecation/urination"); + complaintIdToTitle.put("446", "Women related safety issues "); + complaintIdToTitle.put("447", "Inadequate light in a particular location or spot/ dark spots"); + + String expectedType; + if (complaintIdToTitle.containsKey(complaintId)) { + expectedType = complaintIdToTitle.get(complaintId).trim().toLowerCase(); + } else { + // Fallback: Use sub-type text directly if not found in map (i.e. for "Others") + expectedType = complaintId.trim().toLowerCase(); + } + + // 2. Date range: last 7 days + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); + LocalDate today = LocalDate.now(); + String endDate = today.format(formatter); + String startDate = today.minusDays(7).format(formatter); + int repYear = today.getYear(); + + // 3. Construct external URL + String externalUrl = String.format( + "https://erp.chennaicorporation.gov.in/pgr/newmobileservice?serviceId=getComplaintListWithImg" + + "&From_date=%s&To_date=%s&jsonResp=Yes&UserType=Public&Token=&PageIndex=null&Status=null&repYear=%d&MobileNo=%s", + startDate, endDate, repYear, mobileNo + ); + + System.out.println("External API URL: " + externalUrl); + + // 4. Fetch and parse response + RestTemplate restTemplate = new RestTemplate(); + String json = restTemplate.getForObject(externalUrl, String.class); + ObjectMapper mapper = new ObjectMapper(); + JsonNode rootArray = mapper.readTree(json); + + boolean found = false; + + if (rootArray.isArray() && rootArray.size() > 0) { + JsonNode complaintList = rootArray.get(0).path("ComplaintListHistory"); + + if (complaintList.isArray()) { + for (JsonNode item : complaintList) { + String type = item.path("complainttype").asText("").trim().toLowerCase(); + String street = item.path("Street").asText("").trim().toLowerCase(); + + System.out.println("Complaint type in data: " + type); + System.out.println("Expected complaint type: " + expectedType); + System.out.println("Street in data: " + street); + System.out.println("Given street name: " + streetName.trim().toLowerCase()); + + if (type.equals(expectedType) && + street.equals(streetName.trim().toLowerCase())) { + found = true; + break; + } + } + } + } + + // 5. Return response + Map response = new HashMap<>(); + response.put("duplicate", found); + return ResponseEntity.ok(response); + + } catch (Exception e) { + e.printStackTrace(); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body(Collections.singletonMap("error", "Failed to process the request")); + } + } + + /* + * private static final Logger log = + * LoggerFactory.getLogger(ComplaintController.class); + * + * + * @GetMapping("/getStreets") public ResponseEntity getStreets( + * + * @RequestParam double lat, + * + * @RequestParam double lon ) throws Exception { // 1) raw ESRI geometry JSON + * String geomJson = String.format("{\"x\":%f,\"y\":%f}", lon, lat); + * + * // 2) build & encode the full query URL in one go String url = + * UriComponentsBuilder .fromHttpUrl("https://gisgcc.chennaicorporation.gov.in" + * + "/server/rest/services/GCCDepts/EDPMobile2025/FeatureServer/0/query") + * .queryParam("where", "") .queryParam("geometry", geomJson) // <<< raw JSON + * here .queryParam("geometryType", "esriGeometryPoint") .queryParam("inSR", + * "4326") .queryParam("spatialRel", "esriSpatialRelIntersects") + * .queryParam("distance", "25") .queryParam("units", "esriSRUnit_Meter") + * .queryParam("outFields", + * "region,new_zone,new_ward,road_id,road_name,gis_id,type") + * .queryParam("returnGeometry", "false") .queryParam("f", "geojson") .build() + * .encode() // <<< encode once .toUriString(); + * + * log.info("Calling ESRI: {}", url); + * + * // 3) fetch the raw JSON String rawJson = restTemplate.getForObject(url, + * String.class); log.info("ESRI raw response: {}", rawJson); + * + * // 4) detect ESRI-level errors JsonNode root = new + * ObjectMapper().readTree(rawJson); if (root.has("error")) { String msg = + * root.path("error").path("message").asText(); return ResponseEntity + * .status(HttpStatus.BAD_GATEWAY) .body(Map.of("message", + * "ESRI service error: " + msg)); } + * + * // 5) now safe to bind only the “features” array FeatureCollection fc = new + * ObjectMapper() .readerFor(FeatureCollection.class) .readValue(root); + * + * List feats = Optional.ofNullable(fc.getFeatures()) + * .orElse(List.of()); + * + * if (feats.isEmpty()) { return ResponseEntity.noContent().build(); } + * + * // 6) extract unique road names List streets = feats.stream() .map(f + * -> f.getProperties().getRoadName()) .filter(Objects::nonNull) .distinct() + * .toList(); + * + * return ResponseEntity.ok(Map.of("streets", streets)); } + * + * @JsonIgnoreProperties(ignoreUnknown = true) public static class + * FeatureCollection { private List features; public List + * getFeatures() { return features; } public void setFeatures(List + * features) { this.features = features; } } + * + * @JsonIgnoreProperties(ignoreUnknown = true) public static class Feature { + * private Properties properties; public Properties getProperties() { return + * properties; } public void setProperties(Properties properties) { + * this.properties = properties; } } + * + * @JsonIgnoreProperties(ignoreUnknown = true) public static class Properties { + * + * @JsonProperty("road_name") private String roadName; public String + * getRoadName() { return roadName; } public void setRoadName(String roadName) { + * this.roadName = roadName; } } + */ } diff --git a/src/main/java/com/gcc/publicgrievance/controller/UserController.java b/src/main/java/com/gcc/publicgrievance/controller/UserController.java index 3b3f5ac..ac99ec9 100644 --- a/src/main/java/com/gcc/publicgrievance/controller/UserController.java +++ b/src/main/java/com/gcc/publicgrievance/controller/UserController.java @@ -3,11 +3,13 @@ package com.gcc.publicgrievance.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; @Controller +@RequestMapping("/pgr") public class UserController { - @GetMapping({"/", "/home"}) + @GetMapping({"/","", "/home"}) public String home(Model model) { return "User/home"; } @@ -23,9 +25,17 @@ public class UserController { public String checklistofficer(Model model) { return "checklistofficer/checklistofficer"; } - @GetMapping("/checklistuser") - public String checklistuser(Model model) { - return "checklistuser/checklistuser"; + @GetMapping("/checkofficerhome") + public String checkofficerhome(Model model) { + return "officer/checkofficerhome"; + } + @GetMapping("/staffcomplaint") + public String staffcomplaint(Model model) { + return "staff/staffcomplaint"; + } + @GetMapping("/staffhome") + public String staffhome(Model model) { + return "staff/staffhome"; } } diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties new file mode 100644 index 0000000..e140473 --- /dev/null +++ b/src/main/resources/application-dev.properties @@ -0,0 +1,20 @@ +spring.application.name=publicgrievance +# Sets the session timeout to 60 seconds +#server.servlet.session.timeout=60s + +# Sets the async request timeout to 5000 milliseconds (5 seconds) +#spring.mvc.async.request-timeout=5000ms + +server.port=8072 +#server.port=8061 + +app.baseUrl=http://localhost:8072 + +#For development +#assets.baseUrl=/ + + +app.getOtpUrl=https://tmegov.onex-aura.com/api/sms? + +app.erpUrl=https://erp.chennaicorporation.gov.in/pgr/newmobileservice? +app.title=GREATER CHENNAI CORPORATION - PGR diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties new file mode 100644 index 0000000..076dfff --- /dev/null +++ b/src/main/resources/application-prod.properties @@ -0,0 +1,24 @@ +spring.application.name=publicgrievance +# Sets the session timeout to 60 seconds +#server.servlet.session.timeout=60s + +# Sets the async request timeout to 5000 milliseconds (5 seconds) +#spring.mvc.async.request-timeout=5000ms + +server.port=8072 +#server.port=8061 + +app.baseUrl=https://gccservices.chennaicorporation.gov.in/pgr/ + +#For Production +#assets.baseUrl=/pgr + + +app.getOtpUrl=https://tmegov.onex-aura.com/api/sms? + +app.erpUrl=https://erp.chennaicorporation.gov.in/pgr/newmobileservice? +app.title=GREATER CHENNAI CORPORATION - PGR + +# Disable DataSource auto-configuration since no database is being used +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration + diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 15cded8..09cb954 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,8 +1 @@ -spring.application.name=publicgrievance -# Sets the session timeout to 60 seconds -server.servlet.session.timeout=60s - -# Sets the async request timeout to 5000 milliseconds (5 seconds) -spring.mvc.async.request-timeout=5000ms - - +spring.profiles.active= prod \ No newline at end of file diff --git a/src/main/resources/static/images/message.png b/src/main/resources/static/images/message.png new file mode 100644 index 0000000000000000000000000000000000000000..8a51f0fa8c8bcbee01ade15d6212431aca63438d GIT binary patch literal 16823 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 ME18#==enQ&2L_6MzW@LL literal 0 HcmV?d00001 diff --git a/src/main/resources/static/images/otp.png b/src/main/resources/static/images/otp.png new file mode 100644 index 0000000000000000000000000000000000000000..f403650b554dc15dad0104901fa133187f5fc2a2 GIT binary patch literal 239937 zcmaI7byS-{w>KI}fnuda3lu5t?hqV`ySsbPV4+A`+})+PySqEZU5l0kD{cjD`hMq} z@BVSm&B|JN@~oLXd-nYHp4l>CDoUR*(TLCh005?}jHDU>@LCA~K>Yg#8U98m?ePoz zhY&2K16Fsk0(+XeS^~r@oXjlAWkIIamTH!!7TzwSmO}6z6t)^VU>!vT0dpr1i|M~M zEM6dIcy9neNW{z8)ZE?@Om1drZR-f6IBV~wAh)#uQfPB4vMD-CSlZaiKwK@=AxawN z5PNfe3knfoav?7PI029)*p%E0Zr+YyQ!i#mH_HE} zAZh7l?rQ4{wsmqO|3}f(%*h=Lq=0k!f2II({vWcAZvQ1FxWHJwOr2TTS=jzf>AxE) zD*pdB1%dvjwHsK?^8fPt|4GOQJ3WxQJXb}Yfv9M8AQcS~Z^|*5>g;6&C!200*JNoLb<|+om zg$0O}wRNzY)#Pb*p%?kRc-J}WK2DC;$VS@cwt}a-vOBa*uQ)jJ4R4#bBsl_AEb4nv z@h{zFEuyc!z9T&)bu>=Rs11Dw00ivsl0C=d2l2h#{!4=M=pRxA?Mh_l8QUdOn3~$_ z(<~15Zn9*AdJmw^OF_Kc*;))}0QTX_7!}=86 zp84}B%87@5UJ2;(v6~%g>#SuI#_i`{*c1PV3iRugdbzq*e0W}AX{6Y_vD~m1Rdx8= zgqUz@9$7!TdoGWgAaY>0GJVQ3XSF~UDj0kPbI}?oj4e?!GbW{VKSw7nDi>7nbo|iP zRlYB(VXw0)h`TC+F942sKApS8eEL}}@$jch@Fuo&rLDt7d4*L$c|+=<+d=XrMiRVJ zwZ`meu(WZmz1|8dte_QVrN~XG`m%cJ%)8O**v1-ZM0V?WoZQ5i-&6VWL-MMXv3c6} zUQzwfzWMOF`?Se>A?qcWAB6v4)ZG2M>TG-@sc=na^u&M8x2rPZ(RCPfmHfC-<>R0D z&Uc9dGP~#-{uq5&^!RL=2JI3gyyf=Y0w1;bHm%>bbsssl?ktwJp%)L|O=k7y3XY5?Z@k<(uA#`bP5Dr76yJ6GJFl&~b+~I_Tq8Uw|H%~Ztf^=xWd3~Sd9bX zSXI?_wqfE#5*lt5-9yO8T!EL5&G7#qCO8Cncw%B zzCnYYI+l}Zs?bb8I+)O`T-U~$!-JHq+DcNjxhq3 zr|X+Dt{%^-=Mt9mjRI89i#E|p4dgmZ^455Yj_%-tNU8P~>={)avFE6#5#f5}N)9Hr zpOXAl1jvLSLQ_R`P>2^-lZ0g7(84+D`KFFG*V`IS?1Uvz#vA3izeLZRu@JaP5@a;L zT%q&us}mpCf}`4KQHn<#P9afQ1r^M##ZAUxNL%)Qfpm*2Z#k&u<9Wrzr}$_>uIw_5 zjzM>&0>q9R)1da_J98^w%*JpwN za4h-jn1AvC7>tPqcKnuwDT+6!%H|x*rw2dZ^&|UU+w@nvooQv5-7cIqQMbn_t<89` z2M_ubg%UqCcZA4_);{V3Wi`0&e>*wC=R1QU)o3M?6n{+-Hd?f2vHJ;r3K>3K@=3Fq zdQ6wYolA}pQFqURCFj&goEj^vAlPqd2z?;}I2KA{zJniJ00Gp5El0S7Syt+A=YI1u zxR#*Err|gQ%XXyEz(0L96{$^UK%XgAzxT&sF30JpDIw zn^AJf)@=+Dqy>Mtrdl9o&&7#I!iC8m+Zjyd@fSor@rC%P@9IL-Q zO3Y-FS%;va;R66Hho0jWowu@4uO7n6PmOceGViA5yy)Jk^gNgexakXNvmsu@hZ!1w=A-V_W8y(Xp}faN2lFqO ztp5)^0w93h@!E(>)yQSVdU-}c(0|muZ3;B28XM&NYO&e-j+QUJ_(GqZJQDy2=e?eS zGF>y~yw&_}Q0Ag7`^6zxj$hF&y&4hlp?*VkwMovGln!P1Q>P%^{VjvAUAsC~;z^m| z%E&DMz{aTN5_mY$S)Pzv{_*iojiuao4}CNh8I!1Cik%^14{C`5F+KzU?$6SU(RWCa zB2Cc4zG7|7m;^pkxyO}-EMnB2b^Sbxlb@_m6lq8|3Y;P#%n-YrpyEhjt*U-unO642 zyh^MX9abBaFb)o*Db)@`uEjVk(aNLanU4-N>Y$%-+3=d7 zVyig-q$aPoGv104UIF3YXMbEgZrn4^ddEFF%}KACWY%_&tb$}mAwEx6lYIl&zY&E! zw25O=z_BVSCY`>Q7e)d7>{`URVEZbJSh2+B;v|6?^4um#>z*e)$6Oi9!yD9x-SJPa z05v~`Osynq>oK>~!n*cAW%8okdqf+BO#~VP{^&gqsjo-`d-f_V8vkK5)$va({YTvz z9iAbu@DaWehW>1H;)Z`^i-ON^#?{p|jqh!XWXNYnukEg_5^N9%Z`Xw)Q1{KhVNx;0 zc*bPRvtDbs@1{<*NNLJ_ACS(fx%?0naNXO|E1WTLX<$=mR{Brk3JN^bA&qVtGm`bk ziE`Aa{VH{(f@xlPeKG^irqWEr)xfjXnG=poWfDNKv`sd(5)Ck<+>{>jv9?(W5*Hqrj{1I(ora z<(}0BbkBNx`wfZ)Ioq&LaOl(2cqjqkydThoUj)zqJ1MQRX&w~w4Ria4Sh(|XkU)2vVc}z5>LAH z&RFaeLgKDM`6QAZ=Gc=}XLR=<8c$ZWe|c6wkbU;2`}2Kii`J3fRb<6;%@4XMGPMZTZ~3m5 z!oILglw0Zoky)C?k?CrKCHI*8=pWyT(M$}%2@}F5teG;O`E^*}#Hi!C4VO1n;m^+3Aco)1MV^+VgFw^QYlgvxXh=pm{6++)^X1-eYrQ8L zz5cLzceG{al-rMM*vA^rcR7+L3)OrTuEHO8j=km!8(})qZ+tkmU#X@T1T6mbh9_h(_>UQ0FnYNiBQ-Zm68{}0p zTKd7X*4&Qf<0d}>*qU8bZ}cvdodY#!ycO_V4T+MLAu);NX;sAU3`}~<>}iUPXj<2J z;WoHOFPz4kO($d0aAH(j2B=t(Yo$^6eN{RgNXzg@*kjvq--{Sb{)d#}tda6zzr6W| z)t>v|e$DsM`DI!-bXB-&G#bWyU-iWx(LpZeER#B-zNdI-nY`B`p6~sv6Ft5~B69}z zlzNW8HWeYEyTrN=bsH=Bl#F`Xt^4+0ox)VuVCVPyG&CBilZZ~Xc%)Do4n&qtKeI+k zS)1|jFYDolcJ<7j>7Zxt{K1&2lZ%`(yoV+7z3O$H6A}eD_d@LRC*Ed<)Jcc(D_7!U zQ!QeiUwU+oijM&`V+XG+cf!zU%QeUbm6a>U<~}{@89s0Sk@52|s3%t4P8NyB}edfRzDy9$X;to2qO&TDYkCkMFCX&TPON3=}tSTmUKGy2W%kE9d)R&2(s zRjD+8%ECP2iYVUB27Qkpc~ut(%vuV==sC@*!QJ#bh|7xdmR=*|C08g8@cs+BN_nCh z^%!~@6lxR97Vd!kY4dsD@B{8`#L; zVJqt;e}GHcLSWzFvvnT->hfFy6u<=f9JGszJ2lt5naf>)YSA}2_T+BsRZU;h_jb>< zc~SU&z8FE(+u|05lt79gDuvT5GbNDrwY=PpCd)%3kB^;1IpLH%<-tPtGoEmiv}DFl zo+qhx#TU0qmKWO>nJybH%V7`)Q%We$n1a|cHP;`ny#CkEnCj0p+BPFGoLJC4!@1DN zv@EZ9<&ZiLy7JQUn5_SQaSXgi(w3-ial zypy_!@W|lt{nHTJ@jJZA{+rRcsR6N99+?7tIvAZcY{6W4YAY4o7MGKqNS#=Vr02Au zp3=|(-jbyNx|kwIp9brU_XpyT7S9(xYDzcH5C6Gn{o{%$Z{8y$qWgnY{q5ymJBjA^ zSx7R({(QPcLZf(*+l~DJ18hJ5fIX_!h zoAdT(s58Ljg5VcZrJ1OC5Y+S?&jql5!bS%$+H+a?`W=2B((5j%4!cq?KsIsD5KT_@ zvMdw)=M+RqBL>wBS*W`S%(;H4p%o^%Setm~AWgk0vXa-i3$kk(*Zr|L|4B27&+v0p zhE@j8*6CU|uo(R(^yBIxNW@m zl3^c{dCVU8mSez|wtM)su*NW&B6IIr@hF|()Au=^RO7jZuyYwHUTvwuUFtbQ1fNS4 z8EsNlV94K(jX$~9#IK7CJc}Qf7Qzh{_~>ZeZ9is>beEunANfO8k3K4ok~xiEhxt@3 zRj8)dkz~^XDw@3VHmSMM4wusm#ZnyNA9wq1Usu>HoJBj;Veg>+6H{tgefAzHEsxvn zG`Vu?u7J&fd_K8a_;5!P#Eq?eYGvREI5_6Vr(lgmoFhZsaI&^;av z{MyR`5;oOE3autP94KNBHn*Y?jhZmBKIc^6Ua9$(0e98vYKnf^Oy=V45ul|T{|NVu*y=~j=RL3s-JWnn=4DKSq z?JD5S+xEq!EY9=5e7ZcoXu&F)Qr@sazEU-2mKj-}j8zxzaX<69;^TNC=e7n)dJ*5W zzk_7m(J#$sWVA0&y|rITqz(B^7*gt6$Xe65#M@R~#N$RHUnfLI_muV?goo-?&L8FP zFy;MZ@QIV0VvY_Y`f0HI&R8i|X^TFJ^!rZ7aJ*^WsqK)7JGl$)yrK5tJA?#w^(%B=wuf?MV z?O#qA8KHtRm*|x^@^t!*JF6Ml)`mzE_(3to%f>C*m&b(~RfgLKNucN78=$&X>C}iU z7T(Bs!ImC8SbO+%j)(b!TkNzEo!`5rpKzx{N6K|7zRl;B#OY4k>5FVsm5tg?c2kTC z58$0rkKB)1=AMW6V)D}qp>4g<7Ojkk1csD!s!Rhu^0S@S`5++E&Y6vlt= z`0mO4z2g6dES(+G5;>XJN0fYYAjoqrLx4a8VNHbN^+#U^;h?8bby>Go4c>p3tD+o_hgOaD9IA zb-G?#y!y6+KxOrWX;P&b=4Fc|5TWRisVu^giJY`KlGvx0H73G+G8Lm#a4%+Nlp--# zm3WV$Ej_#`F*y0GfWw;kj-=fULehS7=CKMst8Vq1>#=xcLOt5Pvi!6LW_}{nEXmv; z7T&=(+zl)fo_afr^L>Gf%qle$s}EJjAhP$e#=YyTSlxXEUIIzV^c_=6Arq0797V6XX zQR?&G&cY|kqvGX2gvV03-PaKlp4E>x-=ci{FWYi+{LK!xo+t`(d@T+iG$)0;Thxd8 z^M*!VyT(iJG1`F&0Eq#Smwi~XXk{q}{Y`mh3mvM`MGRVizB z{v9#cwVYBUVFMAW1=lgLFqEVFIvHVa?>%^rwT1JTUU0`gh8ItMBj^T`?H%90uf=^=hMNAy$HVC za3aSfIlKACN?cIKpNerB-=E*RVOPY=F}IFH4{KY2SIz$KXRXOzgU_1IYZb1%b|epb zeS#gg*uYQWLtnz6x5l!l$cOU2CH$Mh)D zM|LFwFbpPN%HGAgaugTZ6JGJvg?%g=wu-o6Mn z3t`D!CFvK^a1t%vFH1;EVV@7raaC2Da3KH|F`?M1TsL7ezaCv-mnaB$73ue){gho2 zdf@0(2^ zKp-JS2l_K_x=D2+a_Lk>x<}1wGhb#gQ&_*7wZd~JD9APzT-!U^y|H?@rE&o$*PqE5 zKg}1AXDBVb+Z2p%ce?rM?+JoORO-CTO;t+l+e|*~XM<=NTAymul|%5zKA6C4O?Y(2pst^rh zq-UG^9N+Y`Prhl9)8YxmCQF_rWFY$dbpbu^0ix{pJjeM+X53ldt;FQ?!1d#k=j`R% z)om$K8rSSGj$Iv^jmMc?Cu=d&>QfG2hyCIAM_ab#2o>|wZJ(hCCb-TWt}q@IKOQe@ zB#mNYXZeV4=(_%$r%QOQROiwN6vM)5LuT#rv*|>iuzh0gs*IfFqm8iSs0=V(Y?#1f z{b=Z2&+6Z(oAe}z`sD4C;HNgspMk4Q^Hp)GNfjH?nKgY0%GEyo5@VjH6$=?k3N&Rv zs0l`7?EKkWsnYMxr}sfm#oJ-&}9 za2F@=t?rf8=hLGwL) z-i%8fBNE;8%|@p?BmZxjsB)u+e zlBu>W>E`^xGkA9YC?_%CoK4)s=(HwdMO%FS=`J!h<`cnTrTm7w92$uA>Dn>z^^%&6 z{>Q>f1{jhycj3P$ zKLL>+nS{;#H||AXS6VzM99VgyH75br_9J=(%b8Z`wJRl=w4rXZ?{BuP zMzZu4lfQxW))u$fpN?B-rcO7xj5phQw-P1lYDqpeKyb%&qkj-2PGb$t?oO-arzd}{ z4Yhp*c-RvHy1=|I5Vh%NMK7z&9~9;07+0JL)v- zR9cUxWxbwr%1_NQRn4_(kfkY^z9~AV2p1k*07Nz-gE}Czo-uYe`Bo8*iLW>w3bb?X z!VR-t&9;9XdOx}=1J6k~ZP8wt;*)#m2$;IQ%~X?k%8rL&J4 zQfOEKjy#AfxpbHT{4h*+1DrBms_UzCa2NZWnh5d698b5;Ot472v@7)_h{F_$~HsiXV631 zqffu@rg#NTjU5_VbubC)_UlNU?HTv#HR|HI5DLRN_X__xB?jIy3j5jBfiZoyS0?OYyqLhr+e_i>LT2o z`512TVpD;WHCY4=%U~`gUDyNOJ~s(wGM=_C(cs6UV*Lb%$qRRdeH{k^O#ZOZy6^w& zg9-MlMae(0{y`twFoB+bf9rd2>;!+y(OYt#*B1oOw}{tb(*GJj zp<76;n^Y>1e!l@~I`qhw&5%{lC@WC+@>-u(K{q&Y-IgpKEct}bZ(crw3xP$>Z}}3& zxieLxU-vQ(`uKlftTVSd=mVb6)_9BQC0T08qnVy zinT@6P}{3vUw}-JPg6||GrU+_X!gHn$Q5}>o$ihEieUpqn6jDj8!dYf7}NYwN0zt| zGi%()p0~XGBkA~Y@i3XO?nx^m&jqNYz!P^K$h;sY9wQfaD}XvTJZ^ys06=`?e3jH( zI=>I`m#T`gw(dx4D`YqdX~JG74&4zmbz`Q5(f&&sG5R}A8B=?nHz$|k5n87bhbL&@ zvL6@2Qu+2Wu8Y1bJIs<;2WZR#*mcn~a(mhFEP_dC?uV=vjD0jmOPu47r$9|XUHA0o z2*x>`*bwIwTc7W9Op>Vg#m^$b@*OAv$iWLOYzwYLJ?hQ`Fe(B zJ|V8Ze`c>caY3cpnSChHY12|QT%Ue~7oy;4FA64;rkFueybnu1%@1|H226)2t*FjO zUTO))hu;d@rpF3%g4)Uu?l!jGhodspTE%ZZv_3w^R0se9lJFFf(^rY63RdI}TkzEx zU4wPVZF>d-zNyhQN84T1%={phJsw8N&lr-YlU_Ui%Vj^BY&B?GR7>SIUHTq{-SF{i zCvRvt0nzup7U>3mcx8qwVo`vtPednyD1%Iv(hTACtNUmnneUgd8-3=yVpir8lK5MP z(nK}hAL`a$Pr;lLT=ziiM@oxA%?aV^8!W3n(TX+5poOtqK#RqI8z_&~Xz z$p*lx(MrDDEIw@W{ci>Mo0Y>)WQEx@9hCE%wO2QG;vtsuinnP+WT#w<&Gos?1Em}e7Y=-ZJ-keVw0MjdCY6w!wqQmbFr@1g#&$? zA+y_tC!_14@w(-i(Vi}c#I}X-lHMeq5)Ho>@(S=TRiuW7Bwkz3lt*Vc zzczqQtC0CxBaCvjPK#l{Y&rCnEzWT+HiGySlU_}!(19%dk>SEFjl$i0ET;OoWc@Fj zG+jbBQ7Y@CP(KM3B*JS8)p(NtPpq73y9sH!?G=0ofz{zsK8ZxLv#N$7HzEwGI~?Oz zojEG?wSyGKRV7q}YE5A%OcvQH(_3HI<|6o4r?Hs5esd#+-%haWzr8iUh-qe{0 zPb7;cVd&#%&R^wR$;=f`zZ5y3@$A$14@CoV9z4p-KkG0Gm)c=tNyB}yZ+($B?lbIr zwL)#33TWLzQzI_PJvk0BQtdkk|#yPqOCk0<#OQNTzl*0v>Uyu zenICg+Lq67Wjhj<@N8cERga^7bcRw7p$^A+3JnH9lAHDpL$NRAKj-%?5P zdi#DOd0kwpDA*_aD>8N&B^(P3^M|Q^3evF~j~`QL!+^|PAGWUbo9vbHbEH|q%*Qbx z$3OE8w`QWD6G#l3v0dbd(~^CoNNb6u20&yi$H%OSKy;R3w@KwX{?8n0rXv=hxZ%x# z4=34HYC4(MrmIeaVTr`dr8LQMj{MquGqx^K2^xGeQ0K3ZSWrQ>CDZF12%NE9h7$q3 z)2!T{PNK6`t#lRxK0u0LYS@t4lzIb3x4g_%K4Wtfl8Gi(36ZS{jkMLZY z$8~wNdyE7l8=_^`O(0w0l71)v`&Ry4=Nw0;{i;-J>ev*tu(r3JDxsT|Kpq8BTYbl> zK&?uIO9U@lI8C6#lLLpX8;9VwP+x7*6{YGk0#f*?j3EDjQUrT@e@s#A2$%zE8RKIm zaC(Mt7Bic__42y#QQGRV>^VHnV;<8P=H2ZrFtGSLDO0Nc!(E+o_9U703$u^}RLA3MkBfJpUvF-}~)XajcM~o3+Du$0}n; z?CHk^I!K%Esxk+jf?<*pwAshj&+d)cpIwY~Crz!!Ee8F1hYs8{gHdVj-;YdW^u#yJ zb1Et-aefp?RgAlUko;%N8Q`Zs@5$Y{W2CRZn#JUfE% zXOV6GB+z*k@u0={c3iZ5m2QF8^gh%hBQ~s>d#V$Nr*8ka+c^@OB&n3aX1&r|k^7b1 z4e{2yQLdqN*NAs^t1Q$E6c>d7s5zyirT()?Tl(l26-l7d=Rl;Ko`V%INJcaFN5w@R zo_~QC5lyQYw)<8?q37acWLWP`wHEp%rK{NI6ygOr#}c^y*#DAN;N3KbocR{{kg;hp zNUCPg1tTE>=j_dO9!Z<+BJ{ETJz+7O+ z(0jt`yUXFN`WVx?3Q`(_L?nZejda#bBl09prMZS6F>ZHVKeowl5=mj zI>xV7s?#=oY)Ulbknk8);8;PriAuCuQZ;J##8jHYL8+=%J*NujM%8&M@YOU(d$*MA zKND(2Lm+!bmk%zkxwrN*=oks2c|vOHDh;yMn$Lt}mN@6FfaQ|7@+VK-^ID`V*5<5l zkpTgI^Er~m&=Qkba6~R9L%Z_o>4wkg7Ur!{@d>#Olg@9Ss}49)0I3PJ!wrd}LAt@i zYaiT+alBJU-UV&HLNL=~ba5PH2s*2yb3!D2H!5kR_G{OWfRyiJ9Q$YLjcjU;GZvGv zzTK}&Uy7h5)Ii5;7J6;?cB86{^M(cxpi7j|`a2Ab?ksck24(X?T#hbT*!c|1pd9H% zYr-!*kACCj!0`_^qT6z>vjK+S-v(*&or@@*-pGRnH~Hxr;uf#+jyzKxH)z}3Q+%bf zN|O9y=n&zAl&uoPV=(0wk$3DiAb=q6LTvn?Yx$pgHR8d{uD3=U$~Z;}w6mPs_+HpJ zAaSe&u~KuZ6Vtx_W(v+SGN21rQHQ16r&Zh-t)i4P-J-32NtzZl3G=*(bD<*pBSnD}=TaW69oZT`J&Q)yB-12vZj0$bg>`k02Wi%AFVDJ}Px~MJ_rOB&( zI;~$VyahmZQbtl!zW6PDxx(PjZ(cCnXPq;8Io&z^Ql#DYaB(|$sw7j#dKo{}S#)*T zrhjdyFmD$zRbrkG7R0lzZIIfN)pzt?OYHU>?{*rn*l=34ELxNmjf&l$MkA5x<8Iz4 zTC*}7V4g&t9Rxi{&I=BnP|To=Ne=ToDT#y>qXB;4d=TfDig(1qc~b%Sk7-|t7H9cA zOgHN;%%YKn9``E3JJosig!4c#h0_bk}<`;Q@MJHxWeSS}6>=tIp_kM*-AC6cj^nHJtD(=}FMf zStoG!%Ttv)we2&n^gAH!YhT639|e%t>qO8WuY_( z8E-k*H8{VV%I)U=DbBXtm8lwU={Z(^d6n34#WH(sgqc8&b&<|`Z!M5&ru1ru4xB@? zf}ig|6tku}`s6bR+Leo)ygAQ9IqJhj3JWKjMN1 zG5WZaa$Rg)1@ZX9Fk5mPYW3UYQ7BP^&zk_1q)i)Bzy}+hWH4Fjl?2LX)J`9qx$*d1 zPxo9LrB0Q3iNeZk22+}W!yV3Nm2_!B>++hp%5&=TE>2e@ zgztEO_L4=mc{IhDH2>61g$akWV<@sCayCx)>{1)rAe9EmS@*Q^jY!o{uDwUo0~`H_ zJ(eK#8*J}10vl$<;Gm|3-sxpP?SQ%PYboiDILz8Xt5r(P6+W0ujo7&m^*vFbI!x>D z6=~MR?&8KSm(^I8e)PKQ@w4!x5#>5FKu7o+)7WSi=l1i6{=BRIlbjuRt5bc6r+^yy zpKAwDusJbaMOG=W_cI`fz$h`7GI;b8%Wp0yCQxXr*6S{o+p-4MRpx9;qy@N&1)Vrh zj*Eior*`4twN+WzVBJbL=57)$nK|`X(Zfd+hQtpL_4=z|bI1lqsn?Dc(1A$6^@xP0 zB4;!ITwTwR7?c1hz8mxX1#~oqFopKt^UrHJ`ZhifY z3K&F$mz~!1AX6LL(7U}j4U5(%1J!>xm5T|y9 z*ruv00==Dmg_hbSS@`xXFW9!xGjz6%q-Uu!Yrs3nxXh`zi`mjTtTF9YOdy|C*$GZo;PEkIQSf7zF3)^f3tU-#U8+gpHRvW$fFBQo5P`||SsxGJrS$%#kGj~W#L zcfo|aR)HW{P8Jl~%w&u2&>FKt&5^62r-R1F6Gq-l-|eRBF+zjtZ(K!VMnBbnvnEXn zal~w8)^Y_azUyc4YBZZYlt=;h`njzsvTKb!)*9!~Fo`n|1z6GN>%^tS-+>#zM8zr# z@E@wx^}>X{5$Y?%cSMWz&Pg-;s7D|es$2Yg>6pfXKeBH*N^dr$Zmlp1W!{O zKW1negsm@EE4t>J9oqF=^(39vK0cj)jq7(+7$!y_>E;1aOb@7mWnVtbK_&Y^VB_si;>}V^2)j&qqw9I|6{nBYD;T+9{WC6 zFx!pjpv=GbdaeB}{Ow->oxFvf>b|-<CR#vP0wPULRTrd|Pel6{ifvHxVNTs}m z5rYe`S`vX*R)!JCWUCDNcO4PINN&T3yixb(JOF?>crpf1b62F>95PyvT>r;{_|U^i z=RH=!^D?#6No(pc_ir!P5vCj7O&82=gLIn zX!JFmRbcw4E(z(oz2tgPAWa-x-NUA(SEjQV=6o^fj$qM{?2n|JBxE$M7aVz%ieJ|o zuEw7BG}EANkI<|W->ko z`~pQe61zO}wky}-EdF0K|uw`w6!0k5dCf~c`yb(li$YYS-|vx=FEQfjBg z^fQ4eki0u;1>-r5pDhjm+}YDcW_Z#z%0q3^EX!GJt^k3~YoxV-7aolQ1VEWGOy#G3 zed!?fq&>Xhx_t}-DoEctrrrHHI040a|8#yoEL;+bu0iEBZBui^Nq_NrvQtRtj?GeF zG=P=b1Cziv4GmA>LXj9Yl?h(Onvmn!u4-G?tpnbEX%cS=;V))#=rmRXH1sIbJjr6ttmRFwWD%Z%#a@nrUx{1I^urj~rD*Spz{lxNn|Bem zu#fKDUjZShqD)IgcA@d3Uf*70<)Z*FZ0)#OBjHw@9Xk{7K(UlXIHYr}Hyyy5Oe-2#)-jWB^=0?*J-ZkmVfBZ{ zegr}o8ryg=DZQ%QQYlIC9OSQ)oPuW)6VQQhwS4&EhVCYtZYo`pH5waoP&I0Qduy~Z z-Oe!AwKill0*BKfg3T zD&0ro4;L|^V`Q=HR*7Ax zBT}%i%aSZv6rM>lOL!IcDc= zSPRbq5qxitYs5$xoqI>xn^{{v3xpS_0GQZ5AhVjkKc6)e!=SW8b|?35S|MZ1H>MGT zRy#IZJP3R>;5)x`qQYd!DB#3kNNk~gnu(g8mY}?v(a%#}$1)-vxEiZ`xTq|oJ-t;P z*HuW2wXIHs6n@lN*AkCtN7iwAwUt_7ucR=w-VVAwh2JTmX)I0m&K-~-vjniEm=4Wq ziTpE0^b>h*A6M!>Hv*MG!#qh3Za*%(LY6O^Cye}meR2`BazT1f<8gamMXWwt|7%;> z*YZMM_sX5$M}-4Q^BeLaa-ALvW%(0uM4pe~K6Fah;$+OB!k6}&`*&4SUiJN}YpWYd zOBlBL)y17HaK(L0jns2d*4ndb_AD_)e6fdEtt^$QIoZDf9$ zZ@4PyyP{BQk7XM~t6=r6z`>L8`&D+!S9|KKYw-OdeiWK00Kh+7{0~wO!20wb`X&#% z`q5p|Y)h-^{vVdEIxMQUiIUQ}G}7JO9g<5UA>Gp5l2S`Z!_wVd(%s!9-6u8#}L)h7MrdU<-$QEg@7MBVGwj@_J;1*(++4lRqR}2_HP~YrYi5_FDEp-z;3)0RJvCme83Zf z>_5j}`{B>+KGk55Qp{xHeA?c_UD_w56~47$l}UM@eVRUP`3e02^~Ze5*4pa<_LxoF z9^r$Nzt{cTNcVU$obf~u*cshcQ>H%GS zGz}iZJYNV}H@_b1E(IByxwU@9=o7Q#c*48zDS-Vb79(5VLVw|B_hR?e-m~|+dzM*q zp9C=H^4;wai;4$~59zyK=k(Xm7Tp+NLu-$0&UydE858LRRD$LAm8{m=sW6tke(A(CpZ6fDI6BXE7q#8G9p$w*ap)RpRV-eD3Ja0X$S6 zV8(y{;5AGcYB@%DzR8qYSe$vyd%Vzn0@KZoujNWB6br*Vlm8*QA#I>lmV1-qbPO5Kbi(`||m$tNhC-tSa~>}q6*vYL4jqrQ2iN2Bfv_4i-3p#F_of?+Tc zEreN6t5Tv?Eye_h`=y@-!Y$}izd@tt+!dXWd5bq1kpXCKq^*TeW?1wterjbyHH_W1 zV)-~@&eN%Ux-}c0E8v}tGEyQ6JCWvJ-68_JQ6azF2&!!dS$016{dwpGP*MU7~lS*LyNL! zJtvSmDy(!!++A3k?sMTDN4N+*RkD9;F`nRUcy!?|bITsz_3P9t$@~S`)kvQ-f^pnA zV}~29qF6wS4dy*ZW_)a5DmdkNVu1M%fJh3}#h zSKp)7)SmkCFEa;)xfoO;^jkO_>G6rr=GGnt;pof>8$)GxCt6f1V9IF0BpOU#w9t41 zaomNiQPNV1Y-Js0FJT|P+Dqlog^5-S+{(9p$dQrUA}qFY$l|-WbLyW7()*^Ed1?~@ z3!U=YuxIlaP#$-u>%RRFzUT2@mG$R3yulNg{5wZ-W}Yd;Gd|*RqYj}sw1E+?8{>~_ zjD2z!EK;J)c5MCqA?*bp?okmeOh*IL*mi`6V%j+VDBK!_?{+B814}!<=L*Y%&58*B_Ko7s z^1M`wV%cV?Ctl;HA5~8Udf9;AY3PtEq{SqrctYlBOmBXkx?nYRRHCRx+2Nv%IuW1$ zwfk4#1LwZ`>{$`2jcqh?7q4d~PS}E3%V;GgBe#YeGC7}b@R`4a|#2OzFmylw>@oj$kwfrEnzQ)eBYB6 zjlpj7z??5x47~p&84Jj}gxG___-U%@rAp5*&%8GQV@?&$ID3P=M)Kh6Tk&=c5a{Bs z9fS1_?A@eX9OX(Iz%N~BjR3&fZkd6**3^mExggqclp+?Ku5Tw(8PXS@Cz2BKUYMXo zHqD>z4Wx}kxZE81avd=MJ|&+NK_>$&RbLv8^Lp~{uO(=M$OLaL;Xig@>6|FYM7N>z z{QietceC_|>Z4Nz=R=-_ty-YgjF2a{C#aH-gw4|QkJBg;@i!05#~J#ziO>Bsq-V5A z%b6xbJw{KQQANc_=R`8KS;8#(Ob}^}LwrG_r;*d;<^m|JOgQa)4y}ixE5OQiL51Un zRIHc9|W65Qs$rWo3&2HQ3L`k!8C_}h7Dh)G^57Q-DlYUV& z)Bq7xe|J=qywn)?%_{v2>FWY-{&D=%$8M^E(YizICw6wMK>|MY`#5#OyB#8rrb6{S z6T*8&DQd7);{o>Ok@GNANT|j?d{!?bIHnu> zTm=N6kT2Z703)iOidMY^b-gPeBv);a{9KY|WO1dc%JZ6qg7B66ji}m&!@6QX*#yN> z%~`Z4A4(82(dR~)MdUz4hCmm#;l*o6q}F*0ZdGuda{<7sl*w>7{|h zx%wEe^FgFaEg^zArHlc^TeG2CvXh3q!Op{gF@3@~VDEdX$;CDmJk#OqnE=#>dsP8{ zqF8~f`&?3b5K%_TvGlRc#@tj;QI0*FTO;udpHSHAw$`6Hzn3O1#eh=GP9*S;HUb>B zmXI#~iQ>bKeC$PrtAMS%2!}Qm7Sk*!cAPg%NvNmDxu!#Vb1QgEV9&W&H$608Fg-4Q zST`M2gJSgg+Xy%#%PQ=Bwk`?dTz?3Hx%_F&ZwirFMe{HV8hkhSJ#K>&Bj-a>T6Vl1 zf@a=Rm%zCbp)`C2AkIKaaLSC*owPOk20e!#5rNOHVfQNQ>@sd~&KNKjrdXtq{avbB zK(ZDitWPZ9rEo!54t!moMz|^>W~q#&bTj^#@cfN*(NS#-oXHVa?0GGNV-0Oj zF?#rg6{O=?5AlFXnp=eCu~an0t+qwOcT-{Rw06;-5D#@dAxi)Tv8!riaUN;-P|+l2 zU~|ddOw>vgJw8M^&Al7S{rni5PW~AoH2GI;w7k00M3R6`_6C_}2zIvA!B8QY>bhTk zA_#IFHhuv%bOD7Xul)JT5zlPXz*v7|o{-;t4xG~=8m1PUui zJ*0=EQIj%-m~Xn&V&LRC)FCnNebGOVdF|pO{@1)5@C1p#!=AGs_2YT`Yt? z`#*jsf=>uY>5a9(mC8#S?cepjb-E_`$P_7{^#MHNSWE0p^0;sEeH85PYz6F@L{ z=qylHBq4u}Ft(11^c0s|LqFWx@MgE>`^2{3Rp9re3q{CUB6GRgEmuWlpXGQ73!a{K zbDhc*Q{}HJW|N$#FziBwHOfbZ^rsLxFVld7z_%0snEg-S8Am%1sW#e69`Fxa*ug{m z42DDU@&(;&ByA}yimI%8+c%;R#+1*wI+Kk6^Esr`_fREoC83fJ#XP41*+zkBz`*g3BHRb*riKciCVGip*>gNB~H&z7HOf7RXE&p^^GiYEh{k${+x zzZo=a*$ZkF67dfi>=kJc&4iM2$xlt1JQ5pk$D~54HQ3tCe`YukH<^u%!N1Ne40yzV z{fy`C0;U?W@J+u8IrzFl1BL3Kvf-@yg=o+1N%{D-WmmL20dvCx_KxIXu_`?oV;s2E zGTns&CT%|;QNY5HAU!LTf#z9vNi@yTF4_HC#H`8O<^=VxzBupmt6%^K?UD@h!{w*v zoe1sp#;CPydzV8|xHqu+_bY!d7|}hC>v^F|7_t3gkDpbn0~{0^u?K}CK^^h-lKVC# ze9!x?dc|6-5({Yih_=t>DfQ$)mmA==^@88L`S(c6FPzZP`1JXcHhz_ctETkq!T`&I zc54LcSEx$FwpiRltk{PRcH%d}` zQ!Q7my>;OYgmjGF&U?tsn0Zt6eZ0TW>H!6-KV-UCDBD&m(?rX~(L81f3j}QIt+xAc zbIZ-(VWhs@bjiBmzau?0z#iY4y2xLr*mhRomL>NWC!}xGbLi$$3kr-+YpV!)rmM5g zs-bBlL3yDyZ)-O>KH|+4)6LtWk^FmV7@(SguLJ`WL`CGfOz_mqXY(FcS>w2P{Tufw z>k>-G>fdWwB-ivBre1<&#^~CI2BLl6jTbcIRY#-m1^D!c8>`DzmAyK+X#jik&O+ZCrNHhButSdxZDo@~R1sPWDY^Xl?8k>^AGgzq z);8^$YXyp~>%7>S5T*P)%Khsse+u{$2%v(?GueG)>E9%vmV{ZDKH(LG)`)_Yj#-;y^f zY7n#xPu*r(yf?w{$vQeF4dgk^04@#vLZxTSUSLkPm3)9{ZVYv3o33s~GjKoa8U~7` z#Kigq-wqmAK532Z|0%ApuX!=bAaP7wTe#2J-$iaStyO*tKcJhHMc3yYyR@JUZgLiM z6@3oRMXy7WBy$FNS~@gKBAf-zfmj z?b$})>ow857}0Kxfrg+&S&;J(XX}ytu84}lE!}2*@$!-{0$Qa;CM0BdyCrwUjD7wa{fMZRBb4gF=97b0iPFS>;6t7Y!NEv&r^S z+R=HAQdWQ47EkfeP^0B$4!nPbF=~1Qh{P3R;1Qc^c&MiJ2)=c^;5I$TAP7X)HC`BpJ&GPx$X&4qh zN6boObh&0t_liD#evj0XPS8fHC|r~cT^A=1ebTQT-yvA<#)ieHmq(<4 z94$pP-qLIlk{(oHB$2{MOvI4%7PlcT6%$;VC@iG!mFT*@yvZQBEf z&V|u}$UW31uW^56hBDhg zslr!QXQS2ogNYJY1pNj%cZ}a_1WA#q4m6SBC3&d{17%`R=dhT3Ka!`P*;R5GvXoXp zP2@lDUDz+q%q9nJYOYss1p=aWp{bS&Zi9l9XBjjk$q=v%_PB-ZqIaQf-_{KF6s28f z0ZCSyA*U(f{qw{}PBrlfTu|rjT#S{rox~=EKDPHs&N+1D$b|Ak63-nnEs05RnJi2JWf*8SenKqU3V;|=JHR>FJI(Qs~cV%Wr43<#Lj6Y;87(DcelUNS#W8%^? zpql{l-7v;DyXOuqOdNi4N>2iO$5MdbC&uzd zDJ4%c{>>m5tk~T-A@bbT@rQrDkvJ^_vxmwL4hrlyT>8#ouyYM*;+b zng@Q!pc;W=HH^acK+^|do6^R=Ep;Z3!X_yKyED%zeV)jVj-Wwtmk@RD5dG}{w+1_b zq3tP>M~A@GyKP^e)$16Ft}5*0_Q#fCAh6DAi%A{K^_(zO!7MKF-s%ZVHh$mk z%MPT15?|WlkS~owrbC5Xp;BgOuYz+UB15@DsN{NkRFthSernl$PADFHwu9eGH(FzymGLJFPv_sO77wLFkJt-d);I3d*Z0O^& zlGObtarwnU4rO+2glGkx_MG#!0EM*U6knD+q9Bg;!sJrUw|~ck#I~p=f8DNAua`7Y z+xQzeJ0iI;IoxIbq5#>Xd;3sw!i}=ZiL-^=+DW4NzP&sC8$q*n;4yz%=OW%V{5E%2$}KSgJHO? zH@L87u6g>mFBp{(*GR=8_69I6T=TcPGP?INl$jiF+MX@6Y?zWVRUavqx#?)pS4p%6KHTi)PaNKBMmIy}=)J0Mlj_WUav~Z~_A&a+SuKE8nc81} zl6ft5>aX07Z)Y4_2PC~D7rR)DHGxq9)EX{D4i(Dj4{G;P8$l7kS1}244BK>Dqr$%z z?4MPKcmZ$*7gtOnOYH3jQAA;z3^IZ6KLoT<`lm+%F>cZT!!Srkq?6EJGH( zKI=jL8HdU2XFJRbwgTniG((ld)s)36JAs#B-^~Y+g9Sf9uFgN}txMzk)_o0Z1W;Pz zpP-FxqO|4OIA`+=gE%TM>rWw2q~^FwYp+MkwrBG)qSw#&(@=XoYDWK8L3l`~t9J2` zF;h;^S$5kQhL!;36gJ%=3qAASJgE-LcXMvT0=Y!(WGFea^>QQM3(S7!%WodwvHp%W z)`D|7Lt*E6cayjXNB>Zy56N@6ruw0QsnYdq+d4CO_8q2oXM8mpJMP&}*VQ}QtXM)Q zC@qV|)F|4LzrBe_(aMI}(Hx2aD&dfJkA6buU2sE=+MS@-x6uRd%qwm&X=Xs9F$7?! za?{)GrtlI*(&Xe*L9{=#5Gj?d(C%pcn-qk-bI0@BI0$Hr<-z$S+Q};0mO0TsIkSN) zX>_7yTzvy&ivl!&MT6B{nB$#K%7g=y=jPo`7l1@4L&HNb*8l+Yz|qw1D* zp%b#IRxrK8nq7xvG>;BWV~G}vEt~mYm}?MEo;hb9DdR|re%||rLubq+LPxU3-gha zMfsL9sgto3u55kwtw$O_#{H4ujY$UcSpU8ze|)wrn}{Kh^CoJlU%_GEod4ycRW2p< z2eMa}GH|MIhs){Re3P3m^j!dYPdyO}RPva6E{W9B*EqYFu&EI#hZECv)03%+2mE?=L=A zgdKgM=t`)vAp5`_k8%*`kCA9yh$2ux0~s;S-T1WC2*7i=4?@;Caescn-A+KfSJp6KQ0YQyDjwK2@iu)h@}lb>sCcs|oZM z1KDd?Em&#fP%zYTkiSh8x{&0Nk&%^))CYgQB`!5Nr#863G&NJ*F*qyoKpN$?!st{a ztHsef2Ny&*{7u}A$5q(~K#(~5yzbl+UgQmy= z1)gZu6BEv{RGKqb#>s|4<@aZ&BEX?0u;4-c{0w?vm_GKxcAn*$)sgeWv>r(~T%u-o z*r@7L=Db__z!J_nfok!1K{WA4A+=5aX#LWMKfruMXG(q)5}jRh-PCO&;XwFc?@&xS zn4s-bJ8(w*8P3FhTkMF|hOKiO^ow)hRmFhIdikiVO!xMZned&YU}75xr|Qs^9Hr4|lx|l` z{a2{PWrfi9o zZ??o3sB_i$;c0nF3p(M(Zc%q)jmZ5+?^IfWEl=CV7-Lu$LRsK?Af2 z8#pzQ(%SH*{#0jSe?pM;0ha>X_aEaeJp>C@qy3elqUnqVRuOHP?dcBC{4@a?3Ib2 zLJl?-RDS_X$6N?XW+K7`SFDZ5D>>Ms08dR^_C9rA77l<+lxr~9(`f6(ol*}U;hbgI)wxkjGUk7;xXxhT~*|p%@Anb4%Z^McZiIh zZ;6@U+PUh&x_V5-xesKcw$lGjEf}8`ZaFUpXzKI+#CgN6mPl~m>YR0X|HY+fl8<#` zs+2PIqf^%2*FmKbFF!`IF%||d3xw)ID!fdq_LLq8S++x^gY={U?eAHDb(!_ZwEqIY zOz7)eZWfdNPua;uY0p1`!0uMrMC=8W;XH4fK>0O!&I4eX=Zqce{^Ll`YCi{`;iRUd zvd>D_vabBksB8Bmf0~xQUT|PXL=qWx2bh|q&e(<8$7SziVlgqbpl}Zn?w_SH91HJ= zHMs4HX1*-@4c%qX2F+d??Pl^%8T-zED&=RVr26@T$780*Q{U? z45ZQ~#_}0XdQ5pQKgUM%M}L_H6vST>voH~!_3o@(230!UxdG|ok-q6gvkB=!0eR#iX4{D^i6KLajGW=hdSvq3M61Cx%pj3-CUAe{bRV?)N$G#kL zq4Z1%Do#-^f0$K`nA9DAh~O4#==#IQ!+m7lxkxAiRI1y{O8DfJo^m*&pC9)8l_)@G z&ptl}dDkEr!>o?8HK9~=&Ya%Rf%b?3Q}sJ5V*{xh;)R-|p-`|b=b0P|60P*SS0?5+ zeaW~}UzaUPEJD0YU-dQ;E6RUAJIM0AatXrmu9$!?UEB>DKY$>=;aAPcG6&%d`-u?g z)BTZTGg1xgcUr&= z*~|2q1%Ocd3t7d~iSI&Ow*1yldi@rko}_z4Rgk!R#F>ml4_;4o5a*_srrU4bp)C z*K%0;UIzTxRIMma@Ce=pU;3xz1F(UJ*+X9COsscBOv3){^ApFtx;+lMvnwtoTajv37g2oYV1?;f)-Je(>~@z~lkAA` z6GL!3x#H_!VSAON^`OS@bd-Y%!#R?mZB4gZ>Z4=OLEVMi;;jf4KAyhIxJQ9++?z8R z`&)hDVfA~b^qbF$CplIzzH;h?xYK4zu73cJCqK)&*pS7_AV*DsNW?0h%Zr=nd(>jG z{_XtpY7Bwdi#=DrSFs6N;tmyNaX{rOL8$zY#go>1SQ7-qClTcp9vayQ9iD3_&EHxy zOl`H1rkYDR_|V}gr+kX9sPL&ej_7;d825t zQYgd0^r8joAaSkf@A+_bWUpO_T&7xl-NT#wt@6vFzUS88 zN??rPgZn|5?;aJVXYjmLd@*OitZ=*P>pQ3u90Rm)C( z)8LP@0{?UBiTFHDzuD!pmYaZUvuw?<%+PT8`?EAi&39qtUt-TYbF6TUs7q|~+1q;+DalPD7eV0KM&r z`-=sB_{(tE0X0Jqc99`{9ffjWE{s%ht+v7hg@{1t3?@rRX_7x*s^!I~98Nv;H-$T` z%tjE6n{3>j(FIE0wP2ols;WZnuQ|@(sB<|u$VXWqz9OD-uD2Du_ZVWb=0aM(S33SD z-h4Do1LfjyDI-P&ee#4Caf3<{r-vN}R&bi3w~rdxH@cRd*?s;pZyG>7cZrahCflnb zqA=1-9Z8{~?lN$k%kHcW6pYo|;-7KiRm zjxfSalT-Nu=CK|D37I0VH0NmEfkIau4sb^jI{r=$1+E$4UzWG!1`b&$w|ae^a`%DK ze_iqWZOdB5BuVA3d-vy_t23ncoWHPI<;E;}eemR{w0aY&14K%jxR_SF6``F@W96ir z_QSe#uPcR~>9l-d`x$wd&}*e4WEAsWa_1^@gi3kE3<-5iIm0K9R~c#_Y+hCpkc0e4 z{p1NIH(|q}Rcfi_i=362rD0y{GZ6*WI&qkYiW0`+bRC*&+TGpEkS_PuwNzr#HV0Tw z&ebKNjgJn7xSMv(qP(`P)V;ebD$ zg;7l;2D`uF*z7PJ`M1+0~>%Qp3Cl8vK$`ftYzxkR+qnYo%*ca5Ia*W zo-BXCdpV;l;h4am0WYbQPv?DzDU)Ff=!xT7zKSi%W|BX(=p&_Nq|$t%g{2ZFUg;Z9 zxTg(2p)Pxe44}_SmuxOKa{a6V3boXT!MT@VsMAKi<5mYEVrxfekc2ZhOG$l_l}umP zL4EvIL?XCw@5n^^mtBUUBn}0U1d=PPDC9ti`jRqC!{6ru z=q%7tg7%0Ox{pbJL27k!5_)sI3@moTm&1S2sY~qR>EK3=G_fsu8;@VefKcP>CYF5*7d7`+Kbk{(qjnO2oBl z|Kl}=cNSBFedmjy7QkYtgu~tu*8TSv3A#IySP|d?5^VUp5Tg^KA15IWOiCX9{erZo z$f(U3#bz!ncO6`j&o;61_Wa+=Py9x%^!f+exV58+Gyt@A#UtLp$;`KK9Vyf7%Fd7JMM&u12hEM?kfagzg2of+RZ*B zWh#W?dU?|8j-1^R+m5GHLykc%ov??PH1%T`BW;no6}6)=X+#0DsjP4A>iSdJ08(F2 zEuVZ>HCi_8A|UBtVK}S&6luJkHS$`{gtN#F-qI}Dr|`;*NHocN^0q^D7i&E&de)mX zeWGCBosY2{Ih1;`kfn;6e_YP|lsY&HcE7eFXOW)Me5|T21fI{jT?pSy67p`W4in0% z^>G2dH)nrHeYL%14JLbvf);MIv3Pbl-v@|`%$cV!(k6O=>7y||60DL+t%g)nW19y5zb8f;|Nty^_S14i!C%W55`XfO+%M~MfF~QMm4xb49){#CO#g77zRg;I zjXeC|lp>jaEaXCu&`U#A@VMoOKxb!o2l@hicf#rnt(75u`h>jke#|{Zy|jVs%aMEL z6mZ@zS;D$#$;>=l0NTvobeb~67RH>|yZb+ut@e`5=dd(R z=!-ubo6PkruiL%`A-6QVsSp5KzV8y0SI?t-hfEZc0GU1RfTcB(iJ<0grDYU zhvit_eA}?9kM?TFq{(nQ%5dfbATw~91Ru|e^Qh%Gs=i)DGrev&CQ07&93HtnGg&&bz%-oE2q&TiNXv&XWbPqLvms;@r)F}K9@%^8!)jBWpoAKQF^mO; zgs<+2BqCUjA#rpn@zJd^9Gi)l6o;T<{B!>8sRZV){nJz%I%*t2q%l?i-Fs`Alo|-) zD}y^{r2KO3b_F`!rhoy!;N4T3!vAMxaVKSf1!PYFk-YST`i1)^7LI&_h2$HW;0&?C z!s>ZJ(yWUZQ$&pXpb3FAUSyQS7_`mYIJ()k>Sp>Sko8r%No~HM4ULZG zBV2Gh{6E_!8ym+8FGCErGKt}xGDEXQeRD=Ytq^u`P`Zjm+fPbsCPwx%n*GYBus>dK zFSgi!@+d%xPt5&&Td8&ei`A2}?#*I$|M`ITpC8tLz-jkaC++B<)8^XnKHG)5tBN&f zWa#i4dYpTle7?+0Firi~PtD?`V}=Gh2GE=Kxo7}HT0PRvQSL*1bSFJiEUH8kwEabKF(%tPgdYn+Ex1lS zr_un2NDjC$5^Y6X+d>Qqs%eXAw-fNacL^#^$j&U?Vxk5p40HF45J2K|!-5v8t{t!Q zbcyoAN+N2=1~1yO;?CL>%viyZxQX@+_+!X0!Oq9&K*1iW#4zx4q@)~mNXGWmKT^sGUWP~=R7b3JQierSl86nvicziBZ_b#M zn7)pPqd)(li}7exh%h*hl{f#;xdZiVt~i@AGYqWpz5)mct*m7RFfcP_*g}U=<#uFP z?&@j|-4rJKy>u%hk8r+PW zm3}8`T?t$D(SC&O_<<=TPDItkob!R;vVFuSx3o4^PL21AoYS@QNN_E5-XWvr>Y4d! zgNze7BzK{5?iQ90HrSR7i^2>f6}|>lj&F8l{k)Jc`4R-2C!~%d^OedxkoX~ zAq2*0(5Nq9iVcv`JFy@ogx!1+L`Si9!A`y55m8WLVR5?-4*=NY7@4z3%J7hDJ)xF;K#0sMo=a4_3{ z=3=d|kZl@Ic=kWKK&Zmg;2gBfqgvLmkb{Y|Cbys{!6DCh`UlF^oU;3ZB=3|I(kr24A1e72dJO5|C6kcn%QfS^9|d7c2&+!54K7^o zF3HC^(&&61(6Q&I9}cl3Prwc4K%5s%Qn>{eY8H%t&Xg;`T37n_T8AkS1nq>H8jb5X zmXi89dZwyyT6Y_f#Y~*yvKvL(Qs1WwHxc@G_!sDm3oJWg+88!zmOrVu-?K=3&^X_w zL)b&J@8@6$42OJi1-oc+o#JyaQZTKBgq4oQBVAL*7xn@z@_xbq4`hy?4&Ob-s8P-qA7{W;_s2EzibS2{*YE1JVcY^ z3tNj+vmLVO+%cx0ZG^3uXTr=BkNb8~e*ttheNMPa{(qsZHql9hO}&BA_LB~FjkK4i ziiooQMQamW`F<}V@tV*Y_eljf$=)cgv=Q9F*k|7L^lQTT+XmO<&#F;fwe|*6DTj!n z&A(a-*K(mqK9AaLAaEBkBD>nllf`b(%loD8}O_iPa{*lKm&_l;K zsYeuP!6pS4`Q|cWNF3+d`A;E62;ZuT9TjKeilYT-zK-dFn2w{nGeT35Vob;vGN0kC ze)<=|MdrujM=EoeFVYN6_5jik`MbaUe5fTK#a)n4+DvndE*T9`+ThwG!3$n|*WqaJ zcQxy+0v7;zvv<2B53(fhSag4xZ$ysrrZ&|LrFkKj(M3u9h|{oq)j}e7hAnxZ!TZT` z9`W6`0Iog${MjNTV7ZwadEwmnjuiyxq8*Q6KaxqWZ;8g&76sC;QR9W`5 zYzaqs<=&8)FJ;-7w@=g8)DT^-nMu0hDCIHs(O6AGaU!x>4A@LP0T{SNKMZSD zsqj1rMo)%uqwPw^P$(!ra}96qc#tT70PxF7NJ$ia`4!H*gt!T=gTAe6#nzl3z|q3q z3WLT~2$6s_X5mn(&^h#IbOjL_6{52-uUxo~FwTr-u~MERK%FpYEX51+<+BWV{(>nr z;KN-;MWzLB$~|^8afbEQYH*aGLL2|pEivw*1Uj!>ct|wfI@X-@Tl?!I#0Q$<_}W`2 zSIRfP5iwzggRyy_WrnJjZVV6vX1)i|4lBN!yb@O7%3fr+|1)w-;-0XOOIS!IoWb8p zsCc&+wqJO(A1$iFqogcuP^t9n?)sVBE!d9#gP@bXA9^-#l4}=)TDzoq$+h;$oiSJ) zHqgb-JfzMIqy0M2Toyq{3#*d*EVJyB(<1vvpJEGcOz8cX6u&9Vfnj-&IxXN8&~A>1 zUl9aT5R_j!ouPa#G=HnaIWX$8`caVwBfI9EBP$}@@!Hzeh9SV_FxVJj58{9Xqj9Fr*m5!Ix7Q^T>o8vsnlP%`A`C;#!(msi6o4$^%0^ljy zkt#9xE~?VJLdQjR{l`8cZlIXm5+i90UDdBb)e7c76hC(oPC=g7$-6$d@yTn<4lk=6zC>c=8pmb8a7G8!qn`WtB?u zY`XtvPFnJL6?T*_6L26J#g%^Qd5)dw@eiS!7+#b;+qJ$@eS z=(e$?N&td1y7kfw;NO@PnBK+*$N4VB^v$M29s92FjkzIRjZ5@2>CxvgOzMg#bgfjJ zrBo6-W>{h-bi4}jq9iOj^e-Y*ZH75@;AoC^WlTElwuh{Z*tr!xhq1JEW#Zq_;~WON z<`GG10BpLG2fNRiG%RZdtRV%owZ3vIKa^^#&^CU;a@IVYEdip331cO~^tNM0y$e0q zh)Uct1NAK)6u9y&b+8X0JE9lxk4v8BM}e)ro9s%7QB%~BYx8w^!dS$wqPl2FBR0AF z=}*q7BC3H;v`&SJSs%>tH7)`7#SmCozmMePLw{&bt5kn;XeUzz7iD08Ejb#&i(*X) zcFK}VG$E{~KG6^d%t=GwmpD1*1j}#JORa}KXBf#66jwSSg(M1~79N;hZAIVp>apvq zZ^alUL`VJ9@Zrq6kCYAwe(XvJH6jONuiQ{?V`lXvfDznjfjA!bLCwBMo9EPCzf)?P zRQM~`ob?9k_+m1!gY7O^ZrX}Q6{GVJow7;OMNI)QM*JULG3t>ZD6k@n^!zRAA%XTnW6gXOME>dj8Nt}WIGSL% zE%G}oZ(n2GqA8ZbnaD5WjozDKiqm5!d%Y<5tBSiNceZ`k0!5x{rZwK5R``{DDZp7RqzNKV=Vgii%S zk6}`D62Iw(K2h|UCgm>D$X8N~!WrJcEhH(fzNozvg^7-r2K4R^cNlu&q~Blezi`asJuE{*Nu) z<$N0!2*ganhCvS(!;g1lxT1drhaN6De@UNk*dgHn(o<(bBNF`$Xn4d!Fuz$S;S9-V z#tD8UNDI_&MarfU&0{7 z-uYZ(ey+yu-B|d;Ag~T?K>El9gYMOL{-6I z;31v~AQ+t-at(k`nR<1v+}Rk&C6LaG_w$qla3Ev#ZSd{Dw_B>-s*r!U3OhHC^Uvz< z0Q-IPuGr8WoZ@rqJ_^C}r)fjlzbE0WucyPL*}_gvj)M|)iUp?B9sHlkdW8tzvv89lX@wyNb}fy-2$O`Q}WgP zgBUQq$wBJvz4GvX_-&O7c;wRm{LJxwoEE#jI&mHT{HEg|wplsZY5!j8=3J+)F;e#( zM7)FFO=b6!hPJBil0jrD_9#?3x?f0}IlG5GM-QCiHba!{x(jg_? z-7VeH>{0^K&C=by)Y7~>pYQtz+`pXrikUfcoyo{;i}Wv>G^0XZi*$pfo$PBs3K&8f z+$Zcn<0g3_&HP$JgFN(jv_b1RbR8P5Flw7)Z%gFq@ZJw@o})ld)P4taF;=o4!y}Qk zMBV7b*b&di_%K(6|HlYxjiWste|MEVl}Qt+on~!}3n?szni_8P)1tnP=KI`tie6v# znvpBO2CsyU1K2d@Efs&poqNFUETg)6}mlQRi7;iNPh@$<$4QgRguRp3?+UoPlrD_A3qEwvY=UWOE zZi~sIWg(u^ld38%TZQpq$Rm(4_}KmGfw*j@j*T_qH!C9wUed|l7MeTJvBc0UnlGhDtp%%8dt2F;BFH8F^ z=&%30+BuD79*ql`%{E_-qxKf72mm7bRuN4mo-~`w z4wcRxqe{H4Igm{*=B%=^fjB-3ec43++TCqUOoF_&6#mh-*Yf=Z{PKHIq=eS58^BpF%oh|BX zTngho0s7Wef;R#se#!6ISg2f>uDaKL4c_e+nsxu(Zd;@SrXB?qt1>1;Vxi6=j@~th zRw=To#S=E@PSYdLm!utL#yWFr{q7zKqE=#nXV-*MFkOx+ekoKuzpPcLFeBfR?c^17 z4D&(fM+RBu^nJBm`dv1Cuk_=Q32*L@eNx>HJ-`~7=T^-67 z@(g{i>G_C!QTXFyQeS@HuJPMHZi;CmkU5Z2(P}KXL5nv#_Bu&Ii>A=>AE(Q-Vh0D1Wd z!_&_3=Tp87KaSWK zZ1QPO&aDid+>MzjtS@oYEL8eFPrjFu8cSn;hu4hhLgvQ3S1mqG__<|wvuCvny$U+< z^~c$|Jl{$Z%9fle<#cAx9@P_)F9%{c^Z&sFHgn$cS!9&dYl^7F71)1IBj(c&kZ=}K zM?Pr;)psY7g8FD&9@@VI+EbS+TSl>_ahqtItBS)t`vHU_;{1Ge$hazkrUfaQ+9g+} z`284N%_r_Xvm8}`!x%kZ1)+V>itvIGrNiC;acwa;ek4ppS9;sDx!6~Th*R2TxtKG-8}z<#?fe) z9usw_tKA<~gpj@U3_M2F)4=o^NUy__Zg^e}tM!exz9V+$@A>l*S--gXWrg0xKNzrd zPR1a_R0;395M>B%m7phwe0wKPKN<|?UVayeG9Lq|o$YPW&t(Xnq!DxILY3IBunY0S z=>|R`sr=L@?)_of7KzgDvLq1-lz0?COQver(Jqn}9gGv-^*Zzt(REbBBQtmrP$#9p zBK^Dmp2<~h_heGdagp-(Z=FD*NSsK^49U7IP{pT_-S#SN;x#UQnw;Tuz)KrE5M=5& z<3;e@Bezo~hf5WnQ7-)5g7yASoj>vwtZT|Ing^XB7rz=j$4Rt2n0=y~V{BU|A_PB= zbB7(o8wkzob=c~dy2Azwq6mMkW?>MTz5ZyI=LZ?-oe&|HGv;v0U5S(+(M#09mJUox zHZ+&MGbLo)lvhKY?XfY4YH6#+i#WdKBDkh3`Mt~yr%Qfxrf-jr`WAiD(psz!TWx-n zOh5A8bNGUDJcE*m_9>-^WyC~F6pl{1&>Mu_(y-`IwBS&P?U67WovQShP9K#2*Ez|& zhltAM212Zb2XFGY`0m1XlOo<7?ZBSCLALhg|I;Oul~?zJ)Il_y?;yl%@}I`SkFeRd zLm%1{?*TrVoFVp5<=@G!AjW}RglkEAHnIWj8H?g6;Z>U0JYZ(;Mr|C2cV+0q z?#;yBYgFHk???%qQ_FBd&05cKj@QH*08h*F4+~NXp|82)rKIz;Mji_b4Cy=;=L z0J=~k=~uojm!cS6*)gd=&P$;`&oIXi6oe0$%K;d<`s?U)vHBmwA0g$+;>Ft1Kz%U- zQPGi;3tuVX4ynH^SPZq}s3i!9WdX66<#fM@j!1Ng^=eY8H57HY+JQ-2v7Wp^vr!Fm zF%3HL4RTQ}w?AXE*t&}YBGqWXr@0!?Sj zh3=h%VRY50d`%6kfCGewGhy`*VS9H}=fH~(P*l{0xmvS^S#j#qB20kFmrwUDA9%lP zNq-bFSmg_SZ#AYI{jHp)sHKlJ6PC8WkbCD7!hiGP|BaGQQ!kVj|CpUDt|ddemO90$ zTC8N+HfaCVx+m4e%)ANkCJ-F>e41{H;AZnZ{^)OBVJwB58VYU2H`-XIsxdDf0yS0P zXpfk%;)r!YSIGB3k2!@WMqj(v9lDE zwCa`-LsQ>fi2eBv+cUyneX~NzgP>vajpOBN4BC|6Wv#FfVCxNON4bCGb=@19TqI0Q zyU7Gyo9wepxU4P`!PtttON!I%IqKbiF=^t~P@Er%wpYm$Ty;?Y;Jf~ zq&(Y8Uaa;X9(H%Se&d;RJ7fGZkA0-2ruC~N{xWN){L23wU~H`S-D@~qG7kNUT9}4e zJMEZxSgUhk`Y6;#`PbfIdaQr-JhSyq!viRY$K&=*x=iuH3csz+^>5M@PZ6z!n#9wqjXctGgqizN zxNPWACsls2(H{$sAaU2n2@4hQF7^nndU`ZONmLK{YA=d@^Y$cbFOSrp5)+Y2m_3Or z;}9>tn4Z?Nm~0)=q$!)&Z>4L`8@ik{88TRBz*KPAchEGAh#`;W1)uaJ;6EZi0E+u!fn8%uN#X6Wgv@;~~v z^RE>!+z*vp)f?Q$P3spkUKHWcMIf%W7aO173WqluawY=ZN_dJOHxE4{9$!TdA8BKa zi|<)JPs_VZoR9ycUS2r}+mxIdB3r#m$jDBvLJiGGE|g1!fm$}?@#rF8?s4T$b;jbB z_q>?6*qW$x)IXTSwo4}P=}kBm>>?-JdS~w5JzNlD^4jE211_Aqx8JeDlep$xT)V#i zGGOx5E2j=cxy7A)A%3;D`}owX;n#fi!Kik1h%EhLYjnW(UOfG5gd*Xf1{6;$36}9joCWa_whCBqP36%BFjEKhyE^KhJn%{sR4a&tx}__sR#8v+4Bd ze%J3(XV_+8{&tKD?mfCbiHP-#v~!n-xuCXNA!W9q;KN@h6Xs6u zCY0VEv5kQ08yDI^orFGLUiAb1WDR#}btpN6S;)6DqR!6l-qsr{-$|&K3`}Nf<^6f3 zlo0hf$&m|9g(W^h%8_y{N#9fgrGY8R4ZEm|tfILXziK>Gu0yv*n#pZkA&+uZ{et$I z#)f9ZE0Zm#uTT)wxRD6#{PxaujI)Rcb_}))j=a2%G*qTIYmjhwg5fqsGY)H$H(9n8 zn>)Il7L|$R@@IR}INlAnA56_6E@%$M*UXP}V1f!JzbdC0b03BC_eNBy9-wlkRWqqh38$3DVqVC~Ga>n=tAAN?%@JDUp5%W*%|!>4?xee?K75i% zrdgsaLy05KUYnXeDDCQ6PagQC%wE*&5}Nvm8r31R8W2VXe4%_5PiN&>@4s+=xLr2$ z13iDZ7#a03u^40z=bP%Do$k&%T$r}wIQq;t2M3@mS{9Sc_GLdmGPyP2l>W*&F`i3{ zVpDYb$}mMzL7I#>9XSJ)5>@=)^7?cMBt#u|x#e1QcJn$?A1BF(%L~02a!|kJ8iRCv zjJ~-&-$pn;4Hhn%x*YVk=G^#^e7M*-?1z_0R?7Ik#!NE2DVS;4hetwG)I9sZXi@)bYS6M*@P>oPK;60UzyV|Y zWlQ51Y~fc7y(HLiK0_a(?FYH?ymY^=ayr02Gx^4o)oLJtZwgnWgxk+EbnCz7eXb0( zD3dOhi%Rr3#JJx*iG9XY$JZ8@-dno8??ScEfV4$`%wGM8`i(R-yUn#`4g!B(2E8~t zqJkINkjmf)zm&FubGFs!7eqy{CiZ{Ar0~}CJh3I|0W|sz^%jAR@%gwQEQckp9Ysx& z2wES0aD$mYLk3A?nLNZfpVq^!KxCxPo0T?2EM)j?E{jX$lhdZXmc+8q+4)Ukoh~jq z0;r;@V$N&Hnu6Nph&;OXn*~M4?tH7bpIK<-0X6#qH1yby2FV_`^6Ko0TJ!rXTVXAv z8&~9b`$QGcf;ojo%76b*6z`;iO!+e+YCT4{I}WVjz3HkqXq0#FJ? zpZtSof2Qi7*2C>BSGY!0N)7-|o}$(ZkeP_TZCD#Dl3y~f8 zZFEz68k$0ij_Ty%ddhWNrkX5npi0s5ah*5Y$_jm}Y81 zZdvamu%o;7V;qMIJQ3F>MA)wcpiif4iA8!-qnW6i?WF3&eF~mXZq zKc0uqq4&@svMo`b^`WX`j-;e`$MUPX)dvH2Wz$O6kmNfe}Cbgy5QV; z!5RuYBzSuWq=kq_o(65ThE`B>fNyV`IK<8@~Ud5)1)l`&mg9}=`TaH40N(EEkPDG!i z6CCC>zMFklu{`^&!c97Y1 zn2wKg^DpL{1|YRfh}oay@OxJ7_%tOHVgSvazJd7<-1Hc;VeYcfk6KVW8XQhe7ns2O zXE6F!=d{&;)00?gyh-4C%l;ioAO6}m=t)F%#-_4=QgwXWYMF!HWU?`*fn^bf{!j7t zuEf;Lhb}y0!cc%b;lDz=I~<2%vnz>5IMKq5&7m7R%GZv9jhzp$GrqAOaDeGka9K-{ z=5s-XU(RUC^VN386mmDKzTRDO?1_cJa$_pO@eJo`XFiyjhl8vKz+bHM)OXHG%Mjh>&@SE9 zXvh7q-p6+MROhW?8d^;RJRiW&;^B@vjQJ6ak8qV6>)u(f)$BJ(K ztU1@70Ie@L=>Qq_E!!dvbon~mT2j7_Yhvl?q0FImA^=tz@r!2Mkdj5PX@9Th%}8qw z4~^&|o^&v=;(qaVH7Ms5?|Q6_^ITze*KMGlmj^oJn)(}-JfXCnE&E^)K^e7Y9425_ z0P`Jdk(ZASSR26FokO}gK+A3>4l4N$QV%R{d{9_ce0Vm_su63kD&)Y9dqjU_;_NQL za_2}G^|kt#QOifVKa0j4@;g)0VB(4^^G}qb(I7Xjqwvgc4GEppB#SwS$`xi{oaiR) zuoEN{^cSv0`8SU}y134p!g>UVG&|~rv)TB58#49%2E=5JmLe2x!#DV;bjD$)xW-Aj z=3)oFb7LpHv+fd2DIg+n%_~j|nP?FT9B}eGu<4b}JA^<=*L&wF%apo*Pa^R0qWLAsCpF^=EObgIN!OES3coAuTv*Ig*hWn5F6XD1z zT^i>+$6-^yp6es3T`G&!zhusCK(b8dR+%yAecP)Dk`070QHjw2ds(MyjyVMd`Amn% ze-4Sus5G_IX<3^;!5HLsB!^$HHJGVc5n(F%jsGXfn#0JjYG(F2`jFgxo96V`ykEQ; zT^ymW{)?p4PnnWjtK&`yx=v(1PC<%KJYE|{H+)>KEwgzHwU;Aqq(X$y%%6te49eyz z=6rcLtt8s$=6^P|stenA4M2XodGikgzWiD*+}&y$NHIA+#w6JOTfdpV4-|x#Tb8TNkyfv~b{wA#m+G)H>|jVvyfIQeK{4 zb(44E?Wunikv?ucO(rimF}vF}^bh;HSK!p#jwzWpC7@fR8?w^}cIghTdM_ovjBK0P|J#mn5llUM64 zU+Ba2n(om%Yuc|9UGu(u*?DnD$p#prV;n!E-Tw+Y5YxC_)vpoTV{Wg>V6x;WEwdvB z+buf}4~BrIeG`oCxw~dgiVXn?vrkRb22m`Tb~SVJ&E4|?vSX|D7r0{$lrQH#bK*fx zbIuIrdx`>%xtwZvUw<7H?$6IW$2diRj*x_Zbt%Fun`IBD8PU&H+ZO|8NOaN&r>kCI(KV8wL}yj({e zmONhjT=pR}0Hy94>22$={KP<4rQ7JbnkKcZHm&g(EKqU6P3e4kK0ON#q&`2CIq^;^ zN2b-p`%iOUofuC`UMCuHgl%bl03P5rTris`I7Qg{2%|J7E=A$+l>|sY2S2A?GAoCw z#H?&qIIAUUyRp#QgxIhnZqgP4+3o)F4zDX@1r=CSzVVmyv(W+zw4GI|b`w~4G5&TX zLQzsf7iHIqt2vpDpp~h?(<^kib)HccThqD&Lo?!}{7T@?lgz5Dq(RoGc}0hW+a@2ql=kNg3?4xETcRZGAiuL^1+C$A#U(Ff51 zvdi>gR!H(Lr%wMm$Bb;(82#BK9@E!zKP;0L=s|oXGI7MhXuvr zoDV-@PH%r+gfu0e1&;`VkPL=aY3I_1I2lPh#4sAtZGGh*6lc27sr%_{%v=EN5qtB5 zBhk@(i*X8z2)IaTlD5YO24tyW#CgI7eND97Obf1H!Cqe^#vk57%hjf4{)nYln7ZR} zEonb|ibp>wI$1)8z4DltnT*|vqncA;uE6C^rU((i(eThwuSYM$Kz)P0Ek$$L@Y1Mx zWSh^wfj~c0yT|MBY;J!Cq|29+GyY~S{7TdUuRsgXRl{Bq$D?cO}c0vWThOKHhdxIM{l zrOUCQF5dA6Edl^$w$x+^p)@H9@N8GTFa8KUP&R+Z>B#6Zc{hEr0Q`uxj)9F)83o}O z_WO~O7Z;g8GaH(${h5=d@7<21T1hdCmvBv}efa0H_{_<Y6s;5rJ8~Pl5b5pycgH-g~$-wUexOo@uI{lrG2rAmWqgO|_wiz3m+3 zi_lzY4fOc=kPm}`mfZw{IGh!+ab8tSTxj zRo5dRu7Mrr^>{6IBRFdd9g_>TpSe5*7Yc`d?7%d^Eh zs?@n|ix6q&{#Zt-ea8a4R#u2`C*fL6sEDB6nu&E^e*_L1(RTN4Om%NzJ$`{&BeMkw z%4ehiwqp1lk1tsbX|$S-%Q8LNC~-$FZ_Ju!rH`zMei+dbh3EEntJzhl&|f_4`gAM0 zhFM|*ZVcm^%k-0Df6(h0lh)Cb%o|WB&Ya+8kI5e4YnGXJcl>&hS?Cw=+2}sQ8LLtj zHBuCyqe^^GWb)s29OG&=C&YUfkSu;QojHdJ>AWNp>%=F&`<>k&i+2n85MPr@)RVi= z8d$AJs=`JPDq7ZvQJm}iUq)Og_O%}A7nd0Z%wLCjPLbaDDc7 zJGEKJ^%Dno#^S0n@xJQ9poLE0Wd0{+go#Dfx!b#?&GFLPt&YKA7Y{0nox*Dx>BwR`GO=L4>UCpLwbkDDVuq6148O*1r49lz~(>akPQYG zsY6s4#)mNNpQ`Pms%W>VD3}Au+_FD z|0teEk$4I2yS}@1v_SlBvk`mh&T~T0Sj^UDX6@CeJ%(!^u=;eey&;hzK@i1yUekMO zvpW%QpY;P<3E8j6R-K|%v5)6uH!>?r(8ZUMs(-5(r={&`5_`n{!P3tUI7q!pUwGWB z=7~p^4>gt}sAv@W{_^NA^DpTYm!Nnr)Mdb%twZ%C?(d0xOvIhl$y|a#K7w?+!VX`3 zd1B82cM|E5Sm3z+D+^KFZ{+D->8S>3TSt{*P z^hiy@&Y#@P#6=HN`b?-DRy6tlH`5tS5^Qat&;^jNd<=1lp-C(=Z z;*=7#pX+G5R}uW!w42zMvSEZZ`Ir?JzyQ8VGEXmb~Js%UO%@MIi} zg0Pl!^^}Q%8D!zks487KIrZ?*9Il3!h>l$3V= zd3Ixp$gF#ls0JC8lRsWdtO|=rdVC(Roqz`Z+d&5ApB_TGZD{k3!it)3&-fzB zPgXKB*XEKxgt&n?f6%{+J5DP?VRmq(RF3lF79jbuymEDu35j z>n5M0ysUJi7giKf>1ZX=eeL7qEJ)K~_`K3Dz_mKD8lLpW!L`F7$L+?BMp|2MkYMY0 z;9Zav%;8n1or=Z(ZIg}y*{&26om?O6FweY+<5qAToDIeK5g=)_(>*Ch zSX|MqHFx4yBa@}gDU4C};(ds>v|Mw5flD%vRWomeBmuHh{Z{o-sH&)^^u2cE2vH#Y ziU04lB-r-s^ zrB9dHsq4G;RMSQTsm+ufrN2!OP*I3WxMfRi9L4Q5jy-3IF-*e8wH+cE1jyU0kHBB) zbU3|ejTM`$uusQD9%M9Ga=OMk}G4 zw{)3Vx#dTr7GXgSJ>H4qjH{uF;-1i}L3e7&;uAVPzP_pNP@TEm=W%}o)pdhW74)v5 zZD%~^sj+kntxcTL{Sl&7n*L13k14jF`Ml8@ct8q3P8g|t8QE?l<_Efbj4RU_PMS3R zMNw8zqLp*qRl51Y%j=<`=)P&g$PM;35cf9!W7_(^lU?S#D9f2{q@^{DFDCp9i2PA&kj)sQ2&t-k~b8t-p# z5ce9ua&h>o!jQe zD)6KR*V;auhNQb33puKadxUg;b6C)~(sN2Z#tA>>52JGSNhGoU&A736QZU!9kWnQL zB;9V>IN#*$UX$)zpO&^pgwW0>=Ej}&c-%AXhCGlwUF8mSeNa>$|hB}4= z6m#Z?`q-E3NQJAnhIg`tl{vr3AED5aJ(btS${F0<33@?mBb`9&16yLF=G+g5I{?2c zNEW08Kd+$MclPhwec8q3{(RzVZTwKY?c!oNexI55bdo4H>PLdB9^+!K#ArlzSM)H9 z9+-j=!r_47p>176C@wXTwtZSuf)MC2Ep z&UK5{9K-UsbZA4tWNO{KICo&t#3^vr+Ep*SV}j(A#ND|bJlMKHYU*1RSqV}Mgy2B| zg6k44KlwhQ#>4nQhJ>H@!Fpb;8Zs67J;_ilc|A^(0so(fG_{`HEl9p|LO#m9`_fD1 zpN_q=@x@lYw*qGl_RJ)p>@*vSp^`@zJnnjKWLvKdRZl|`9%|siAl^D6>m$3nUikNX zw(bDuV7{$u|6Bi0-4D+spchLeqaFOJ6CAaR=6McH+*yGWo*mG9eDgd7sc7{!sFpXs zU+i~~Sy!^@4t-+;IS!eZzp)Gf5AMe13-hbzr8i&Q7I<;XDD*T@5s53;Sw zKM$W!9VonT_vO7t63Y`NBtCiR7Ya&7oQ+|Ap{Im1J8G)QC@N$l18{qcC-PhcJUpPj z#=l)NcD?wZr6%!sZRqu(i5Lz&Dd9pc0|lKd z{mmGs!L`Aq?iYM^YLI}8N=$lP+-2YkH2r>l5(Jj!yHp3?4nO_yx&VIef)?0*S&5xb zA`eUhtc~vFRPg#zI)BFu$8Vq&pOZiRtd&Qu6t$dDYtx@4<YyNl{*|I;hf zG6<@4l(?&Uyt{Pnlo{*vH_&Q@l>>tl4I?!}=h zC)E1ejyP?lpMh^sCCIefn%0I9F%@etY@H$RC99}!Z2rqAcyYzX)TKGZ1LW_@FTJ~lxWks-vgyxle3lI(VR4#c`Dd||ll`EaRp;Ez{#Ome4N1*~FGfYDX0M?t*74l48o1L|(Hi94A6A8;XGBz-Lt^XOdi~Y}UB7VA zA5PnB&(v8j-W22Wp;h@^nr7I#49Z-~Tr;{uTU>$U6zBIZCt3Oyf`Y86H3ql`ex|E#=9vH@=RjylET-={SM`8jWFX~sBWRp6j^Zm0o0RY4H zQjse4^lSx9BqF=kDTtdV1Bi3VaG z@Cn`QMcT-?!BG zbS$)@qFD0mfQR$v`;fYVO;FJ7yg+5CZasjL`E=?@=g=!Krbj;Y_LgSoIS2>eBhM|PMQP%HxC+`+SBkG6RKVrPtdbXLY+T&?Q8|kE_v!YXF_$k z0fOaE22FJ6*k^QS2ABKqDcHKThoKykG44L$2=H3|>v5XqrD||)!7u4<3#uJssh4)6 zDwAMNu5;R8Db!>zGiebAIhlFbXFtlod>Y`pO{9Vg=fpQ@!Q_l7AJ_j}?%+H3R*oh^ z$>f6>qv!#5i<8XAJZ+c5(>~^(={EveS++IKd_;a~R^Jwx>06dY{=vx2#GJO-Qn41% zCpVzBwL&ZyXL%jGy7~+pGbfg$$fLss6$}h6cplc z#NKvpTzMYJ)cwsRZ`W2J=a^|P56+gi$M1CGnc%0SfA=A&snKv=2q#Ez@?+~+s6}wO z%B>s`CvR(gV_Wfgy$mI;X$Ag!90XbZ$j<2!j5HmerL%G7EX}eA{}7Tk5fe;rsT+Nd zQzB(x7CoZ_5^98#@})rMw~tJpuQiak&VHe+v{aywE;}H0I#7PMMdT@Nq15O!j}Li( zaYmAiT|R7vwrP6I4(5iDAXVG7Rs4iSp4P@5)))UMVl}zT<}Xk;V}*}y1JFl`qqi=E z4txB}$Ydh?@sW@72k6xUtJNvZIXw8D%;~~7PozmftW(XQ_ndFeQb0hpS+AqzDz}nU zf{0X6;>z!hWm`F0jgQc;){!p(hd8RH87}unGK_ESe&2Giilm#%F1%_+-q<$9L)M!| zMuT{78%|5|tkT@3m2xoZYk=cUcs|qY>)Mde!^2$-M_RhAbxQjHJUzd?_U zts4)~z^VLaZa4~6jQg{Cv!^uETCU;1YLx47Xm*=RXK3@SfTg8JJzs0cj3rjCKk2Yez^Ma2F3f7&?%<}t@>fzSyQa&y|-Fxp`-=Hd0GuNljgl=VF{QDKa9sr=w;;(CanL`RYd2Hj=N7Xlx(UnLFN? z81i8>5GPbB8;ejRm1We&FU-ofnIA|34gzD4uV{UgqStdu@-i0Wlg-E;Z`hQuHJCBS z6iCMlOKV0!Hj*f_))Cr%*|^hs$BLtBfB*+kw9pZ=LcAi?NAdBT4vZkX($vfPf)~Z! zi&I2QyV-(BIK@9UzOFk@dHM*Fs$GAEb<;?K{t&3I4rgG>7LUp=b$XVPrwr+hdC?SW zv#4C}^~6QbYG{3Vls_;L`g&P6QV#JAiXD269nxJyQ;&rhss*vb=P@sLJrU~<rsJvs_l)v+mRpG6&gd+cOU`BSMK+5oE|k~JIDCa2PL)>n8Pq3hd& z_>^Dw$taK!Q_DuxZ$iGjf>(d8O6-O8b^v+zq`e?8CcZ@7M?H1DY1rY=cHG%n4CKL# ztS5+CYqT*)ShhX|??&qY=p%8V`B}B7_QzZ1`=cC0WSCzvOo8@F{ zRhH>&uV!#MQ-4o06=h}S-BcGqn5v!vTYB*>N5HKKk(Tc39qY#=`$?#fuJONac60LS z@-)=(|~vDuW&ZW-dn;ZmajI%xY@jfED!#K8>WS*>Z<)!12LR4)p#O;v=mvjwjjDB+^@gZ{XgG zDN4gd!y>fz6A!2fq~=)Bx$7~D7!WhctSkII2~X2eg^QM~bY4Jro@U=nj3H$7gG@$Q zwDO#KXcms09m*+_mI)s!@roGmsDEpfq#KzpVv|iWgL0tVTD3v$m|N>3tKfVbL--1} zC8;wZl2)h*t`vGAhc(s-1{q3NVAr?qzrQy<8kPp{bh*EyMM`P-I^_3a{%GJ)Zyq0e7^mbKLKbhK-yCX?hUKLadF7pl{~V`0wZ$MVX_{ z@~cS%Mowqr+H>_s-(aazyAIOqQJ$<7?y>bh>c>fDI@mb`&JVn)aS@ddF+9jJPR+{e z)%^t?zAZn_HfLH9ri5QfICH*AE}lC|AuPLdoLGfF55rWizFO0?#Rbq!jeH@4D-j}q z`3U)NxpWQq?q7UuJI$S4*IeJA9V~TrdvrME%ipb_oS&Fih%bxkKWVun4JcE{mP8|c z$f|RwBKPEW^>~Vi1XjwN3X~NGtQ5YEejsdR&fmD^=2RZ3E>=6H6D>y_4?=m;b$|Lp z_9yeP*r=&t`MjXfuwOohkyFZe_M){d$9+{5C%?nyJ#cIv&sIBgLj}Bw>VF346SE83 zRRxm>1-+rqeHt>t-d4}6s0 z!WN6W4T<_EB_}q|Um=zplA$}dxI;ZrV9}>));8cn{^Y(JcLU0+T2`Osea@;=^H4nQBG2>DneB<>afnA>4QJOFM%iXuXqG4FbtA@eY1;{P`B=bsE_Ahx zqxeB6RYN~!Y-L-E5!JB8pGqT3k#}F{pOn#QXB*IXm|UOBQiN_idY<9)s$c^5Lg%KC zgIa?yc1F)f4=Ve57)5=+AAJ0RPrtC(@c6!-!JwP4O?F@be4KI_dluKQi8&G49)M$6 zY`(6a)se#S8YziS*^IyS(wDiq`vi{>e$K1jYG_d@9n$zkh5h5RBiEOf*ssoKnl4)@ zxY@n1@EVHADnZ>t7DnnH>ek85J^eqAwOOlui=%-*AkQ!lwa171ifxT)SiL64zAB;@ z#FVXvt*(~s$#7TumE~=T!pJRaCN~x7^JJ`XNrxXi2jP8~KVA}1N)Ld`**+3@0cUxgePK1C@=xYWvD(pk@31akJ znV13~cH2PLfPY@GKR7*$+w6IJOEF)USlCy(W20N$Mzy)4{@twAQ7V(Kt2PD)eWhE& z#$e3qoeEYK%5ZAU;3BwTIpj##@4CLQgEmW-d|mC(A%bhezD`FWqCIV(cDpnVYR#~J zxDIxeju^b__G_!>``IU+tC&jC>!7^BDPJ{}c4eQ+?zZ`vEEvytJ?dr;?w4&4;*jx~ z=j4j+nyktW)8K7Tkdr|h7v(bEmS5vl|10!kMU5F-fhI}nf~IDgoY+lT2%f}Z!Tj22 zL3D!61GEQ85sZVM+cOrCvHE^QsSlRs;58aqZ;;0tCJ;I=r zPG zMB!a5bxzEx@XbB?j|kZVZun+De7^!9f;RiUK!w>BTTNAFS%%07|6%q63%9Oq)~Ma> z;0qX-;UGLr6$;weWn376z6SigJbEhxrr2)=?iShM&oYQ*gyo=Rj}N*+wK4=CRECrn z`npYh0a)LxD!m#OuH89k{ey(?)CaG-Mk1Kk&uRkhnk z?dY}Bx|(Nw8h(Ma^!Aq67T7I_BWFT(GB7;w_nHF;wA;wd#v#526}-2G+_ zZ#ta9MRQ_AcsTDbjS;Bx;DogLy~eCQmf>Oj-w+jj@xC;mcSa-^L19@dO&Q_El*;;rGO3 zxPBayoiH;`g5+iTOOFlRFHSCKBJNr>kL{J#z=^hFGwQlGy`y69F;BRyAk{?0c5x$k z-PEh{!~MC3`^KBT7%e$Cw`F63VwzMpxO*0X$35kA4tZ_oJLjC@z#0~OlPtl4qpXj^ z;-;LWuh;_~?yA7S8@;$01dV)W-N0T@E9Jc?UL*+q)f&Nj82(NM3OIn3{=P^I3N#R0 zk;mZDu%;5xIL>LsS61oW3AIzR$AzIhH_dmxpBw;F_$ga*t*Vp@RSX-gC3IH_n{~!$Y=*vg&WqFuUUs@wbXW|w4c04)s9b(y(bM z@l=%^shK7x9XwHch7k1Tf76^GtJQIN=gx0Lr?X`Y56=oSG7Hn~sPxa?&uM$~G3YsJ zkHDtS4aNcoPMXS(})Z6|BC zP$U1Ck9`fCXgj`}xbOxomn+_Ig7~GM7LRmz}HRGH~S+}!=z2z`EdAc4#0 zibzRc>C~w7eZI5T3CcQiRVD>^bc@|kd#ywSrV`2Z6{zvRZ9})ge0MDp_|#|L@?*!} zWp^-G5>>vAP`jxQ`s8oR$JA6G1_shdlApRaZ&^PkM(4mKs4rd}Mx)(^VOfeK(`xzD z=AcTD=Y)O{A;1?8%22E7C~hxUC+^ekklbVig0-Fq^ZB|!QV7OabR?+nC6n|wO6TEF z2px-JXegulae#rzeK((;5|0%!WSMj;Oo-z-G2KC91z!QHtG#WX@1zYuK)*=0!#){Sg(V%M_SAt z=>kk9_Hp(@CIto0tP_z=#ZV|Dk;_IAqmF5Y{g8vp7zObh6sIVlPx8O1Z47h_ji&I@ zrJ@RqyOvEyaPD*-(jCXxUP=y6b$$ECvfIW z0b|3dyDF#fzu$U&7{i6QN+sd8G0CJwL3)J+PV1bWGNFg?wMBbg;eEgwqKt z1*xNc&4)p+ahDh!N#WAP z0rdAJ6#Jw*wgv}Nc;n46Rp572#?up?lz|cgl5X10L3WaP;`I&(m2HY6vi7U{A!JY^bJQ-8JOH;$SH1_Cd zMvVh)$8Wt2)>5vbW1&GujN;#OSixKV54h;xL|$$yc*Q{`6oc({cD?YvP(i(_6c-6J zzFap+i_m%0YQIB1S3x4NNsC{7Pa_M^$<+@Tbm8kBP^wHQbb$*<E6KTUw=0-R8wIW&+!GCqLmi7eV3 zFSyAs0#Q&-;o+1Ao1W+N2WCjL9Zv~`e){PO%4;<=xje6F?4`9}AM=Exe+sIF?<3it zzy%7z89X>Ul|_sKVrDCF;2LAr1_ksSs7DMVkf5ONO;JE!pg=yEi0od4ObDC|(f2i8 z9#YyC-D103mbTq?R4^|?M88FW`|3suKV09!XP+#iyj+FPER1w45c2CSaU=qv8x=Uy zW;Pl(F*cCI>%SOL0M0-m=oah;27Kbw?qocov^6aHEQ3+ZcF1I-DCFY1Oac)CC&}0d zUcS_?+R1F4Ku=YoMZec>I8+AUB5P&fD2DB7+x4U6O zLS)Fg%zZa?*>lJpD8F{LRHmq zrE0fJo4F48ovSi&>0@TfL}R8pm)ScteEg49eEoF?RR()FWr)RTcZFW%-I_8CtT-!2rPFxl z7sL3)D?`ZTqN-XBw>e7Z8xMW0`Ukhq4@x~}(oyvF#S~a54tz4WUmoCb+*LlwnLnIq zBE{2sHem5^$Yu*m0Vmu?M`anW%AfFt{067wa#%(*0T&VVUM&Xuq6Yk7dMh(exJ+@Q zJ}%c*e<$OyH6)ThidbwPaH8#z{Tklz*j)lo%)V5FS|{Remb2`km1@(bffH@o4#tcS z2#AF1O5F>Nupp;mq<1T2KFtR8*sr_c;RqGCCAM6gS+d3DH5=0n4_WmdW1n2XLH+0v zS>ZXr%x0qM7#mIB_dQC7!}DQTrUFmqma6LCUvuQjfqW;dKGH4mYKQ3+93)4?uBfa} zfvBV)I}^b2NP)aI&_OvcB@wWL=XAmma2P_^$93xrkTf4>&DvBY`HZx2aIqq|5cx!Ojb3z1mM) zWrydkRx2sDx6b;B#2aQV|Fw+8D#A3&G+}tbT&Tgd2X3FjbQL=iMKu~zEYqemFc;0D z%9?1rr=j;a$NW6IRd!UxAUZGBJ4v#hiwx!wJ(HZA(BZ#7la_w9CT83$)49&g?%=hThXT+cyi^Ci*jvW#ir=JuyGnjqzEi=@ zRvnT-oM1R74l z2ui~%or(^vn>*#p{^t6B5th|PI`y$I%u+y8(!k06K@)PH@4}@$MKhhnLU9x`ku(-) zZ(9}?DrQ`zvqYsl_M$PYXTn{fWms6VQgl8B24x*NuS4hPD?Kf#Q@Tz<2(teo9?L~S z11H)}%!o8Y;ADsP`|~y}F0`8TS;2IhFjaBRfN_Dn^qv+YiV%-Abi;zuOInCDzs(_~64k`0#^8+`d&pi`fHQvNvk>q>hC84{li6iC>G+ zLfhIww(nS z^}{m6W>`X*Mo7ErsDS#be=OnMsjLEIPETeZnPu`M#wjJUi#7c9Z;SZ)^A)TtR^YOL zOD+<$-46w1y^!7GhE;Spm`}vi=A277fA`HAK0KAd1Rd9|4k~flXKCy7n;(6=jQ9RJ zkK5NbQLS_Wut)hi6i#JIx*MvZS9sgVq#k!R;? zPTl$9n|1u<-C2C`k7Wh=C=p-=NEqyKd-^k*6Z+XS!g9nu%G)h`@%b_mvvG}J8IVP#Sx+{YkO+o#4rpk4y#Su(b?z)`~D8!==FnYr|$i> zaXnQx{TIP6p>xdOocne>ac;>LFPA(FdmIvl?D_*u(>dlgvrxq+pRM3;@6F-H^)=M0 zEf&iN?#wgZ!09#=EJjihApI3~NI6eRS-%RW>A`aSG z9S@&;5d_8W(QmFT?*zA=nYCe=5MChSX>j!$Y3*u$`ic=@2CS2q1-otICpzc<`~NW& z`QZQhKhNOwWbT>y`p!}v|MsU@{LlY!i+sI7KBON_L_^kwuY^%qd&T7R8w4VkL$G`l~Tln~cIc%)eSfnOsw;6yW ziV%|y7&A6k+mRu7A_BmN$7N-wg&)6PK`tLfA{E20-X6!LGr4Dy?ZVe`mizT5OL+gU zv$%a@11+8?xy{kNDkxkBVj+rLE{+T5izuY6 z<2O0>R1e!d?o(y_AQ!1;$uv2r_(Ft*xj99rDQHfhf8}Hc=j5saPR__Vq|v15g+Y^~ zs<|U{ijFpP2T;g7=>jLV9h0Tf86;DeQ7ld(lUbp;y{4VD&u<7)bkxlP22Z4?#=OJK z6HeJ-ZF-uMQ!Fli!r%liqG9SuwOgIETM-s}x+s=7x$;vYoT>QS`38PXB3t%wb=$#9RTpCv55*DQ zOuk>m*B7-PZSQpO<=1Nz%-_c6|5(D-W+O<$NrZYGEbK`^eQ_|QDutvI5tP>&n7vg( znOO%6n(#rspzIEwvAT)W(_O0yoMab=g=vpabAZ}a$q< zgJhoY*yL(7pM1WGfBm;x_~89{bQ*0I58-k>L5FO0R0_+)L>7Z%IY?^H=0+2n)aFXX zhR+}bpIkcs#o~cia$(lSch|S^zy8-e-g|czbF*6%KvEkr zi2%fL0!iooH2H=|Sbg;3}z!#t0fv_yZVix-IQ4G>` zI_Qn!;!+JC{C!CQdDp3bSE|%k zE~>Q}Zc!imC>N(#D527qvX_f$Ue$II){cO!X~RT~LNvZBJcVsslQXy=XHig9beN5j zfulk=e!pf9XzNby;VmgEU^3FA3E65VM7264>-E<~Dz!;-;14v(*xFga&V$2AW>?g$ z7}_zKe|-=@y^(=j4wMrdsbRg=u!9j&%w z9-?)DlVfWdIMH?@!2%AGB4KI@gCvE4v5vrs-SX=XUUKf1bsk|8o`#^CeXd60x{q z>!?x3`Yg7O{?j@9?$@UjqX*Vz2B^OHY8C(Tueb5lKbBFUYY#K%pFt;b6}T2F#Bu3-0l)jzDFs~p z?ZYK{?+RKwouFSwL){rWrpkAJ|IHcMx$mR1MZ^7B9zD;6H^vWTLY7ZG zqu(cV5Dz}}r)@B&-gFQFN47<@a9%Fp6?p^Wa+!XpO}~|ZBRECJ3M=SnzCg{;>n<>uxeeABFmOlA$1wHkEX7rXB;Xkhv-JS&E^bOtx_!&ounis_Y1)A~kp zY?RiSn9u3vCsXmm+)ddruukVLrNEH1k(Z7FihOA(#;LYr9G8gW&m7XgiMA7KW>1x! zk{4*3WN7Wq(v!JR^CUw5%ZJ5K9C@;~eckhCCVs<%prbI?!K<@v@tai}=jeP*goQo~ zz2yzC1qya=&FtX45AG-iz{)~dRX9N=9xylfE*b^$@Eqil8C*J>4=T@0=I~k4#FzhA z!B00ggDN(*8wAn}xJX*=>2ueA*g!HH!(e|B!$T<)3o%s*=V@(oyM@m_U&CMCoyV;o z*WtA2_bq0RB)K#T&}=K_hMBf7J(0m5D42is^)Zzu;#8XW=F4Sluh*DQ9k35LFwW3t z8$yZ9e)Pct;_--LoD>VA^zzd)I9NmGCi(hL|2eCeCR^+EfYp;q1bQ1Bhw*v1F4E}; zu3qlPfB)m80z!&O3!4jDxJ~D(1Y@~^Lz+I9;$4>whmPAnZQyTzokKhkMK%?|A0|2%_lzFAWhmk>_|*I5L=&y|UoYCJrY#M{3Z!RxONVSFru3Y}wR zrGjR;8EA+^Q(?c7@TzsJE>x%wEn#plqx}8qRc0nVy|3FHAK(A9jrZPLRM)b!R;9K^ zgKNybW^vfI4bD6s$j5N)N|T|86!BekLnaavC`FU_rtcKK zO7x-QdN^%)n6eC5wEu{l;Eh^W>x9z-JHn#*MIa$P(O07f;L!((-zF5S>ND_8`9Ao1-r2D81GZmGB!~t}W zY7|u+$gec9IJ4R9z-JTxX~vOD$1paOP(rs)1@@3z zf4EV?pWj`;M<3n6_A320!pc9K4#lilZntBTkK#BpnZd<#eM-}YZx(Z3`F1*kot16u zl-hxhQ}I9(C+R45&Gu#ufB)bP68WS8eE#Y6A?o(Vk(f{9b69tFkFJJ_c$ypP;*o%p zgF4S{@X}IMbS$-g6zS0!xs0=N21Akw0uHU8TzWVjwoQjK+8z#^h)57_$W|M&QpwAB z?6m0bKTCsTk)Gb9_q}k)3G+snLt(I%iN`kyI<(wHl~{L;)|IVT3LV2mztMp!e7q>N zWjI}lf!nq;X#3*BcU?MjPx-*t5bX)*_s82baH8$R4^AW0F;NvYLxx2cR4^W-Z*t7p zC*4hZ7`g}w<;H71-mba0#3?$eGOl^Iwuw9v?S4LsqT~8lqoDZjpDyEX@7~7epDd!; zprF`_2f7s;Br>SLOcLJg(57Z!D2u7dJo@s1K17;=>_-Or7n+&8Ce`s}o!V23{Bp zV7kJNi)xty`p*`SNLtkYd}LFnkfng$dd#x9e9bC#8{hq~iTB={!UbXpgfHzeThkU(or;7JKT*Qa(&tUQP20R99V$`NoD(IBl z=2nZo+efOH!q{|?+MeF^(a3Nbqo?x76*Fj6ZAb=Km)4|u@uHpatmmB!x<2h8>SHcPaszj*A!T?UEgIL1E zet1qjCJ z99T8_{OLSB*N^#I>)0tZ129XmWtdGx=Oz=X&)m4N35Qc3(ySjWdO4u4F` za9%$N@w|8rzsGLtgrcx9IGDmZuE-gjl1udOx>`J3!RiCi5H!&xWwkvVI8kguUMv_` zwrS38wFc?&HChmudD5iUDleLA3n1m(C9ft&vSgwoI#bY#z~iQ?2F@_ za?AS@RrQokvgsqT>59uU9sKi#gA2BViuBDrVC7IIvb$sl9uRGd=M?R5Dciq(w2c4v zf84;QAKgZ?zD3W*gWxg|q}qT*OFK5j$_DxsXjwrE|4W$O)CMbMbsX28;2>3Njh&nVsFipZ;S8|M71> z;^t3FN`W8IOu!^y5P<;*ZnJciw#wvG9wVb!BocdNddJ4HcKMnw~zR|>&UoPR#|9%~xemsXQP7zY+ zA0a!3UBH1kZLV3=b$TL;s}#7i2yfT2*%&6K3pjJWh<2@s3SB?H)ef{yLf{0gCS<#c znH#J4_kX28&k^JjLtUdp;?b8ro(IYm8@Fb*@!>}^c>ixdV)oW1e22w?(?PpcnP(P+ z^%PqsmyP2kYBT@V;6QS>Z%<6*FgjI0wm*&S<#G^2Fc`$wOQq~^nVl9o?Girw#D^cD z;MI}%+Y`i$&2=C`j%f z&Z;ub=T7Gkk22_C;LKzWFTXU1&puxvA5;Uz6$4$|SNS{ALV+%RyNuh{oA}FL1k&j! z{_xvrT)o&wr)3`QWG{MvlV>rB$)9=cfJ^W^>*_i8`(l=8bVIgDPO`Si60Z2O7?LzE z(p=)RWTS{E4HT_yqV174B{VN{3Zvpp*!F;|)!slVwI))jSz2oYMQXiJ*266qXRjjQx0sw$nDhz1wV>RWP6m-|Iy-~*e+$Lt{b}%xMLw{c!kHaZo z3hUZh9Y1`xjvGI1putQLbW7oeqCU)$aU2+y#MpQWFJCRH0K6BVIW?Tb+piB|^UgN5 zSIbyiu7@c}PVfe%CsB|jWgA-?70ljR$HM$5N~KZs7gLX=(c;k{+b*~0yi1t5xsHvs z9g4X{z}!$ld>D{(yQveWGBI4aSil=E4`6(F&)23UaOO+_zx?GW>g5`)*VkYxz=u;_ zyr7Ju89<}WRtGnK+QiU69*`7lI%(*%{d+M#c*`cdid3 zLn(@5g6ldokidoW{g^&Kh;MIHP+P9RS8OU7R^thC{&>u|Ei5k3IQnKCQ`7x8enoOMA122B=d|6g(U1Y+$FP)X3^v=PKI$K`%nH|Xa0tx1b*Tf(5&Y3hzG{^@ob zuW#EJWN?V9rgCg*=yhjrBBTpl$VV|Ynt^Qep|ssVvrbpO(hRgVlnz8ofd~Wraa_Js z#QAdtGCuJaEn0` zI}khNB`%tdqMzDaEGAXzh%sQzX0rG! zWoLjU)@e~FOwpusi(V+JN%YW4T^-`-ch@dDH?EEYpXYi#kg$z8EGE9-5n22M0^qD|W~-W-}CXwaawYts#? z>x@Q&N;^$Ih;Iv)#1M^+c*sOK7QjijiVih)n}V5D7uiimyt-uLe_Lqdf+9Q^!OdY~ zUnxy!HB!T9mJUpU3T6+nAdzV{@ZHdz%g<3#_W1!Qe_7*De=v zjso{&{O&1~nGB<+ayWlw2sh?-aQpiQ@& zW2O=yJ$GRclV=AoyI4bgtpe0qs-u|E2+TxM37uZO+(&*I!Idk+6p+UrJ22*8KA(@_ zDt(?)N&1HR@a^?&EG^a0C^z7-uRDIwPs|vKBY8|r_tAN#k%*gjff*zH3A}P;0AEtO zKm24BjqOm7m&p)xevwQBeFGV#L-P{7@6FdnFg=y0ef#4vAcT^Pi6~)OyL}p#6-Vyt z4gBy^8P%eZP&_xhgu1 z4qVp`z(DeKCYQuZbZsx4??X0ouYfN1Ppy}ue>rs{>rLUtHTIL9vh^Pd*Fn4jI~3CX+ZZwQ)E|QT;R!QDiGcO9^Uk4G=+96 ztMOgl1|2L~IV4M%l1mtrtB9ed-sOonMYdKjr)l6s+v5T!X25!rG;g9w^IoksNb~kZ z_&%rW{6LFD{iN;$;}tsIs5lt%LvY2wk*v1)TrHE1;_8Jy^yT6>f2I!$^A+6s zX#+QY+`z3{n^;(^2I)42g@NHLE>eIwI+R4@K4~gLLn*xS@*r;0=az4;quy3M3X|hG zOimRsdA5kFmj`j_Vjm_avPuIZld>K=&SECR5VhgWH%Blsmchl#Ls*!@8Dql+izDg@ zq+gsGVYIl@exWx3O?z6SKEB$k%1nJ5#xw(qtK> zcJuWS_c{OJ!BDqlEQi%wTQpGXG@c_kJJE-8mxgfWA{}%+&rzFMD`kj$9esjeK9w+4 zIpIV+g8qRFrq2xGBB#L2mT_lc8?!STXf$dnO=n~@iL9g<1!0Eh`3vOdv57nk zu1?blQp5T(DV#gskBe7^sO^K8Vhxw+9L7geDCA?0eFK)SDW};)tN{%5r*NA3-o=aC zxPE;Di?b!n&6Tja(o$RbbS8?IFBesXsB|iF&v!An#$v#$FAd`FA1#K@y0q~ZI5U;Q zS?U`Mm|Rfp&SGLbqpr>Hd)7{yn{Y$tNB2(wh01l z6D>s=04eALS9=1w`n47@!~S_;_W<5m!r&72%Fx!`lDMrfT%pm4}T*r+c9So1<@yNXf^-2}rldnJeFa_&V6P22yv_M`VU$NfCgHlu&1Y!{9<(K-gu~fp=iop0t z8o&MRG_`vgS6&*T&!?5nhVnJ}%y@!Wp05$7Wu;S5j0~q#iQYF~AHvM-9enlGDn58W zil1(*BbSfkCGs_c425j;0da#se}59ErV5xi+lQI&JIEwWymoC6zyHHD-hO)=XU-N> zIux^PxS9@sMm#2R!f)qm6{Bm`Prl|VH?LkBz|8CrzWsIspM0{6zyIA(edY}H>6b4J z;M{Z$sr%@^u%8(SIeWSf6I1>8{F@Tc?BM*RB7Xh$7#$OM`Pz_5b&Gd>Z9RUQ4+WHv zN09d>dPph{m?Y&hZZroczDm(C)w;n0mr1d$!j9*x0KS7r{*L*6CF3)M2O>E^G*XN+Fsnz zi#@%QZu*WYT}=Ou(cc8E-7%IP@cG{A-Ru5=7f^W0^Wa!88kSw|c(5wIxV+}z4`mmZ zTptO3lVRY6&X@hUAk(D(nXw?~#}4P$@;-v_1E zMCl?-jHd7gy|290#JO`toSMkv?YG8p`AR>gC+|)1dD1rX0>tg$z&4e%Fi?!6pN?!M zjvNKc7jBnTRTgHFFbjf9@;=D2sR%Bg%cJzGaTL?0`tEBlkK(PjCvo9IpQ`?IAe$j0 zXfyAb85rO+sj-n11{t`@#W6CLMYU$*)MNo~ygr2C{=`E&KQl7kd25u$s*mzUo&KFs zzGje$nGXkLrb=59im{SOM=&y&q;_W%!-(}rF5Ku>*Wise$3g%i^1$y(k*_b3PyhLk zlelt*H9;&~yD~uSK8357`;kmV4y<1@fMHo?;A>S0DM@`ht+a85sr}`08&|Is6&S?e z*@OBugHB^3Y5bDTkM(e)wBf&SsSmGT8^X1h1~E06)f36nf;!LXw|O07P{a+lgv=`$ zK^bS{5>8NA&&VXqJa}_+U~Q7wCR7Xa7ON}wsVv=yuGIGWyk>Fsd^Y)?1;B# z+TwR*598`?rV)Tc2haL=pan_F zt_&iPjG|GuRrQ^T@hmc#sA3R2OUq?rc=_5OMo(o>+UcO(aYI(h!&4_xNmG@cjat)q z`Rb4YSx${*FgBW1fWWgf*1|Y*I=HtL-91K4xtXP6>J-2qOeWhf?_Uo1-{8 zl|_d>$EiS^R>R=dvos}|I+8**8&#~A^^I}$9H&nW4W^V3?SqV8d+B@ug-nFn?9q2b zFgy@^F8Pdo&1p}ZCdO@Nq1sB#R_rGRKFpt~kW?td@w<1%aQRXnQgKVMZ~6-{WHYfN zHFock7?BT|wnExmpj{$%HB5Fv@t*R=2g>;9Vd6Znt>VGWKUiN$IybJQW1=mBl)<8G zVN!0=v4VbCRyP-1kqAX$C3KpOwxx$kH7Y!>KojY1`EZ(pVF)q_1jIMWnx*#-r^a>uoqIyX31jZFU)$aw!7W z)pd>+XmW3ypn(%@+K%zW9Doa4bYj^CDo!96n+o+$x}%<%3C!+@(4=iX$I;*2d%Ftc z5vWTT4&>M!8*eUl@W!T%(~eKEWhe-%mzO7)AT2|s@bGbNnky($kUv72mlo}|2ef+0Vnk1bx&Z+MPJFsn|IpszpZp|rQz2p z3P@48U5{3kg;P7yiRVAXD(#-g&$qdoLUR-ZJs+n9yX}6?ZH`)x-g0j5vu2h&s>Q5F zF9E~-Kb?pisWEvEW21K$Eq~?%4?1=EtlBCb44lYAX~NyVFZNo*Is!IVSfYTWD7P>m zH;|M&)DW&F7KbOST~SzFO-I`SbiUoclG!D#Ru+|=^D>#Z49nVv;~a6|B(Q*yyeCl_ z<7#DwfhCc^htWQKmOq6pPI2qlv{$1MWSF!b$CNflg40cOYR)6fn^INN;nbW>E1@cX zc~W4+Yak{)nwzxN$#DTqdWXISPPAz|_LFmpm8a{rp z(Gjn%+L(6azA8G}v}x0Jf;ZN?M|biTy@A=j?b@MD*mAdJKdZaaed!R|)?4jJD!{~0 z;0SLB`_RCc+`zEhLQ;14UN60F-gP$Gv_1XM2xZWi^~5Yr-%rYB^OR_HrjX6$MJ5y6 z`Qg-;BLbX=p0-DP7p`fcmg~n)edD+h&tcgCYOM}vFNRJmjv773gC<7rZ7VGy=(Li9 z=sH3upoEzwzIb%Tq_(3ngrw+MPINh9ZQ71IV8SDrQ*byHr(3C}%i3U5`Ig~paU=MQ z+an+=_I=;}MOSG~$a~)_diMDH_X$GW9UK^8`}l3NNaso}UR$y8+p>eRwjbz_b=$31 zX>HoHy~x|NqtJ|_It??^#0`OwB&|;Us9}s#bx=V>tya+xIMEA26xLG;LORUTc926P>`z_IFvkTtc1pIIgVJ#Z zsJCVyj0%oIG7EzolGzPLcr%JOV4Rm@!ePA)4%q2%={1)&Uyd&k6%lNVG$*|i*f)ja!-ZdVFkuUBIfi!TUP1{MeF6*S~0}XqReG(CSm3MfV z_X7s1x=+Uottu59>Y^l!fT^Mc*u$Bl`??oS`$qV=?y~Fk05x1H*^!FzV$tW%-)`fb znKs_sv@xdI7;3VJV>>Nr)22<^6Ys8%9P)Y;0qm}8xSCFf4!&1gP}Ov{(1#MDXd$Sk z6V=spv^~R3Rk*8iX@}!D0_}E&jse*A0F9ZZa2)5L87EyS*PtSf3!|G3bdPE!10?jC zVWAdJVIz@8&5XeJd>F0+*Rrr}B?Ijer;VHgw5YkfVdH{yR(SVH>R|o=r}hBwZ5j~; zng~JHkgi?9?;t9@UEyl&^P@cEkGFt;UJbQrd(=r=fg?h#uWPQvx-HS9$0T@CZ!Jr9O`f1VM z8tpAAbnJKvJQ;JP_%B-y{*P5#oK@?E5enIcJN4s;oBUi+3~k!9X}fFA5Ix6Jp%qWR z*%m!|CgPqtI(PrfVO7q#_veFImjBPybULbG<<=YA5{CYnJ;8XF!T0%*IJQ$+lv63#A{3(S>FI*? zRXi7sXcD(l{rEOJjM-QQ+qQ>l$5o)@WK7^JZMwM1j-`Qmawo*``(mv zFeKVadr(yf)4<7*G-jLdxDm(r`e@)po3_VZ-UIN&4#mD06mjLA-bwdyS2Wg>d(SZ_ z;_uTqQK>rN^Pb#G-RWgrbYD~71@t?>uj-!o-zyGYaea|iOp_ka9X>Y*D_xo_n`2#hed#70Ke zkftLdJL+{`h+UqE4nwp(+s&0w94O)Y3DItk7`6I1ZD?|^I}`=`cbCN4za(8{K$Kk* zRT@M(rMtVkW9jZ*x?5V5rI!xr?rxA4mhLX;ZjhAnTi@^3{(W}t+%sq9%$=FSj1$0Q zZw$?G*+;wrdSh&UR5o9Wnk|{s5u@p!{S|vyxc^iqAVQZE?liEFW(Hlskn~&c^y(u! zW-{I)aPMkDR~(SXL4~R!prt_X>4X|661&H~3CxJ-ja^?f{ii02NSIC8@n-dB#7h_` z>+V8u{4?m*hjgYqgtx{6X<|AuXxAS;lM#v3X8LOfXmF5yM~xJl9(_}t&!c!FrNRN7 zpQQeSjm#Fh_4VygNjCvV#7~J&EY#CF@DVeGczNd7PT?E}a8916o6%9;{$(pIa`xqp z1*xOMXowKbva$lKp*|u-z}o>CZxO(Jj6HL4-;&Z1`f2nN)Ohtcz0Qd6PjBD?A=O?Q%ff zJj3%3?K)1DxIYszqCR)LWc1rP6TeK~^t$X?K7p?5PKOxgQuB+Bhfjb1vhI)i@zxM* zJymK30)(gXI6Ru@9}4h})ONeTnczx4#!&spd#*YSc6b!L9@^=mhZg-Y>5J|BmQ#ij zSD_RM5h0KtHOdhCOx@!psq1XsWlh;vrWwuv8pYAP0?gRhn%IPvL!Lq|TP&kF5~_-K zW@~)xTdfI}PM_ewf=+VS!U;n-0yF=nl*s*(q>bAClUC;IQ+l?Q9Yv+mO0(0sq=xIM zazvs*aoeQ=MLrV79CyjuT`x~1+(&2vj_0(erdx%r*tPVpaZn0gMQQa+FV>++ zDEq9$ChJL1EZ|->i7n8B={wtiaNFFG*{{pqq6rL#o4un~4k?R%cxxfl9C-)`QXbK3 zJ1?Hx-FO0+C$L4`kO`<^ zbTzhbo`lvXpOLceqoy`s^bbps2;a0I2h2s}wAL9_E6Shl+5vMY*YvK#1}m&>Tlm0G zd8u~#mBwtcwhlCh#fgHB1qR*NqJoyPO;%E{+YYDyb7C23zr%RCbXDq$n#a4krF~cv ze_9&`(&l~R+F=ZC4*EKFZ4~LmzUgm{dGt)f!+1)?e3-~zu}NHQ{llJ#32y;EVJa00 zzde0LfHi?j-4cS+?K+mPIST9V9yFb&u*r3FF!!<{Vw$}j2)tFC^(6`D-{Q- zO5Vx81olQ2Bu!%@OVKN%UL3T$&tLOmYZMc3julD#jhZzFn7*f<*1bnU_y70mBC`c{ z`65aUHI=#RU}v8!^UHM7%Rh!UnBXu;23tX=ik)Uq3F5f>Ipv=;X z9;>N*cogVq-{<)r)gW$@$X+`JDV+UXd47A^5G(RoEKlCC2~P4~t7Ys~CpbotTGv)B z2+gXZU^{nV?!dO>#mSFhNgk`)Q*wlEAYKSfQT z@2cMfs!Q#{IFewW){U8thS+an_>4!v&F8Y^da@t?5eTFSTJT5Lbl_y)imU6f?Aqg{ z829xMkDQW!Q_}ujFV^SMBjPwNY^cUW+!i5T8~WEz)J#ac1J?6QJddToh6(CoB1pGB z8p_nZY;G4hm$Is>Tm2gm!R8JA!qFaq)XGV6NLo_w$LU3)`ecdEUl!`%*WP@j z5Ds#7gbfTjji35)*MnVnug_xh$35LwZbF>Eg?L($cG^$wYTvzG?S)_>gJ%2qfQXO-MP3&l+%C zQe3za#nBE+t3m+A4qNwd;8up4p4~We2c5D>K6MBwKP}w6bCJU$Y{US{W4kdr{r%bP zdH5}O=EmOsyKPrVorx-^YM8<=T>?}D;AQ&WmW{IxT0J3M{sb@P6K}rOs+F!jd(uqp zMrKjq3WhFXw+XQYx1)uieL=zVzGB&Ljo>v(EqjeTjtq$fY@edQg7{j}!jD6VKT*7X zvmfG|c|$OdsVXfE)WOI&gV((f6dmi&;{;ov_i$+tU(0&|H z9z!$a^A3K|TRpTroNkpdeRw`O=l0hu7`IHXTEZR2(wyV78jEOTAw(Vg0XOqg#thx! z$3#@sii)K|{VEvSYP3Q2>0Dz66vI+D#V)b}*P_$O6RVCAh$_dD?D-e$_1Or`wqjLF z44FiGf?td5Ca=liwougKq8fD$QTl{@i5UI8fX*5<*&sdrCYF1Z7pJST_dMVX^52(# zQ~9=%0hGr~GOx$nJ)z1C3aSPCz4H|(3)gu5AS9opX@eD)SG7#5x}%rBp;oqt`w~1i zKnOMLL;9ZWmxW3GYYaOZ_SF{c@Eaupy1C4x^bM`ak%9M7>cLe}EF-1OqKS8X740hRY#&fG6O zKQ-S^aI1$0_LB(F*);~muHaG3i?qm#IhmI`0n$K(btIW~qB(E-AXy#~Z{@Xu$ z#-$cy+gUj4QW0Y*X@lQ5PFPo)ksk+d2T4MD)Xp& zE+ul9_ZU#P{zltaBs;=bw5uQwD1*Egrr`^8YzY8M4bTT56M)|ce|uw%_EH2WmUHHhy-1kD5`zdn>=?7Q~pXHnd=WC_dNeJ?{as_Cau93<)%WR;j$VY^2v8N zaygNvCQ%15R0wgm?%#DhioRAs_2DTQDUJyGfw}v|_gBG`E~QajtT>{b`-U-13M(_= zPLZBGqVYWLtPwq!fp*zgxxE4LV^%_&UF@LYzug&!4<-)@&k-6K}yFK z0t%L18wbpA4P$-ug<4*t6c^vUwmzLTUwe~-=n>mf?Q~_q*>TvcI0!$?KcDxD@Gb%5 zZE;hxilJX8rC{_JL|;eSgBiFoTe*}W`M-9#gzJm(e{w(oCaUgOE$y*00zV$4cd9F4 zzL!Kct3cyH$WMM7TbF^;UuLOMf|=tfJxCZ}8ji^xU(1msakspHpg^~xl=P<3 zt_#cfnFj^8G9h_N;qhwdWs`L+2_!;YJlmPVH1h?8eeKrz=0F ziaIl^;d&rtgqn<%uQgMq=xowEBf1pFF}=m~ne=s}s1=TSOLH-iW_P|RonH2odPfn$ zPyXM51xwGtnHcX>4`6(GfRz4iBiNRb|0E?e2AbrsYXEv2GkvJFcc@-Kf~0=%Tdibb zu2BfMfn_&%Pb&+*(M_wy!0Fp(mi4){t=hQ3S7>-M6%7mRqO)g-ZPPdWC;xt3ikj9A zteQX3fDXb6>xHC3j$?M=t$$T`8^*v1es}n+7D8y0V$WjG%IBv$TGKs`)n<*rq?XA@ z`|m)r=aK(^V>?nu7f8uh80;wj%OK_|`uqF0F{5DB%tQrQxJCPnqBW1nKzs78#n0cg z0PzV^F!gYsMC;n1WBj@Z3Z+2cL#TVj24+LeHHj8J-LoRG%I)<&mXsg_q$i}9AiDQn zVbD2&F1XZ189}0|a3=#13(on>_lng8hx{Yh`1DF7|db6wLh(n3K2ho~zl3U#hw zpndA<&1F#ZzspylPRk{rx=1bRhgbGjm~021=zZ6W8hyI{IxfNE!t{mU8_6fyTYF2X zX9&_Fp+cjF5>2+dME)Wisc6!Z!JrN-%_*j{5tg?iI`mLc8F>SLs~j4gcNU`kv6gEb zA2DFk@1v$2B2}Q-LoNpKT>i1S4FoTvRWR#gAt83}QqDdsIG59Qe0KED(C>{>g2%-s zA0o&_zbXe+DEV+#y+(eS5qVV%T;(*qzJX6*gliohP;3oWTkBaVi%n>=V&VpL8Vp3v z%#m-;|L2z<?^eO-tZIojz{9eyzDB()=Vk0z7Xwqne>6~q6 zr_C$8uujq9^+Y2Zz~sqI*>V?5fN}oX|4!gr=IJLDkZU#Tf@<#5?dLdy6FLXXt{Ic} z96!7H9X9AmZq;ga+V~;hc~%PB4ay`6oV#6iHQPs&O))U$&?Bx9ofBtIqqHwD0B7V>6^lrdI=vAeUsfZaYTG} z&TyIqz+`omZSmBSP!D+bFtBzxhXssU2XCYNw0pPE-uD?D*d$2~#xdv)X{`|;V8IsN zXzw>;SBb>_f@Qr%%t@mn>61xFhdKzL!bAJyjNru=-Rs6j@?H>PYp;92g~br&$RTLA zpqKIq%jG+61C4nlX(IlvDUG@IGd@d_FV@Yz*mHM>hRzDK%aMo@$fa6!H#eo5ywXdh z`8=FX2R{Fg9)|56WB&G2>F&bXz9|)bb?1N}Dq=cODMR#iz6L6nAUDTx-}!r_97QY@ zXfpF=0%*B*k$4PCl-y9o)b#XWQ@{ty5){cjpE9c( zy(zqDcTRwdHs^?Zet(=(qmLDJ0C)<6!KXQ`hAnJ#ZntsSbwPSWyJwE=OXcpNntQ95 z7%v&J`r>qp%cOM1~+ zjel?oz76_}%&AaXsv;~%98YK-J>}-u5-DIQHwb7*32!}Re_9|*!M#xOZbF8bAlx~= zCrTI2=u^Zuo==cnD>(q12uU+isOm@>p(j_&1HrL?;*Y4VG%W#hQqMgKer>chrv4@1%|mwYzD2yKUStf4yy_HmS_fN z1;oJZ0|%TUZQ8{RdYJoSk~Ie@qf42-_j0$YSe3W9aTW!PqH^DjwWM`_9&r zj8q;*iEKpUG$HuL8DhtjwK~eFzQ!XTd;ONl>#FPF;Ul%I+^6gHB596)Kaxlj#*GXO z=j#((aPz!36D3JAmFDS|MT~}wyvG4(7HpYVbhNt=#l)sPG~PWV6VUaxk!Qr9ti5pj zV-Y5m*x7bpTKE@c1unJWW@=epiqrP(0<@}g5P)ya zIWFhTHP(GkYr4(9Q)tLwH|CsZqA8E|%kg@B*tPsCrb!F#{y0Fr3lUTnl#c;-18Bo5 zzRQTKC}a^k5uY1f0h*7`)>h8DIb@qmAM~Znb;PtO(VbPcm;y($yfF=`eBJNO&$3IO zb139^iP1S|W>-|G)g$}0*yP;)@2J2YVX2}=krz7vG zkufsp%|b@Y3M?B{g>jF4nH73qr)#ar-oyP_nXUJ~VLtKR zK(tq_p;r`}?qBlI6;nndb;}=#OIv}}O4fYU`q|)dKP#>k2C$#D)ui}Qs3{tOd{?h? zB81$*l~Go5S~|x4+i<+70>~Y?3@51y z7n|8NiuFN^nEOD)(NtaTg>)z;wc~oj{M(wezmy{V zJoIte6-PiM<&=<8Som-HR=DMv!(2p#LxHnLnZx|)^Cb9QY|$0prPe2?8L?YXudf}l zIuip6KBmcYt2%0o$%0Sc&$k8f8@t&mJ>#u1^)Bf=fG{x8L%2RBY44QWWL3B9QbRaw za@haTyZdw_r(;7&m7y6IR+-1WuW>zovkGZ>wcean>bpW;?VrJe`dpL5+R zSj9*zf{B~5=S|+zdRb+8Zxkk-HHwg{_|0{ondTI)vlZ|&JUfvR&FpiCgbju_C5)q` z-f6C%TO;;Voe;zXQbGWZd}rKS<|zt#`6%{&_Dri=y-)=lKVha;f=R;7(M4)oZx*68 zU+(_{^6q%4T_Wp@7f<8oUy$$&Yyl?F68W(Vw=&C{W-tnE!UyKdD8?J5`G;!uNq%1o zzl;&)@(<`Y$*of^W5P2w14eGaP~Z;Py{Fcm0_UMV5{)*I+td?Y zJES(I+LDKQ>gFC8cD3R4wG!X<>h_z-9Gz|J{ZZ(9u|9u|sqAZNp4obhy872B7EN^+ zfhr9`9ujJBrhu9ZuiAQH4rj=Wj7QO-K{^(lM*g;ST`E&v21~)dRicMwmUWTm)O4lO zPj|_jG_w`Ux<#P2oy;RU75g~`D?HY&vYptU974{ft`h!T)I>VK0WwWGopXjS7NeF{ z{8PI9%@+i0C`= z%_1l7bUd4eV*p zP3HuvAKB7K6(8~KtsX-*=hWg|q4ShP0GR|XW3L4eG@m*%0v|3aB5#Glp30~~KH}Uu zOLdR*LA%K^R-66|WtV;Z1F8 zz|6m*6qoqYI#N&=RNFJ~Ij5H@9hGE|kXF_4uGsq^GD)@KQW|7V*sJL#*@Ss2&H)Xe zS&hra)U8FpQ*dl)?J3}<))1@52z(?J_%|^YH_9%^L&KimI9OAOhwQq5OswDXvUS5x zb0r_~SU_-i%uaPUVpu`5kKbIsh%&Pr>vX7@woZM>nqpFA$MQk^u54_f>5%4FHO}SB z!Q^~`RLht|3+=SZPLV&6TA3UqQZSe{LeMg#xrd1a#4o^}|LC_P?bURs^H>?{1!bXx zbhIH3g(?K)7_@RRE%D+4UnJjq8}9M2Fe!;t3)i4MK5eHC`e)lUyq>q(#HVfbhKGN` zt=a%o!S!}L5(Z|)fdC(4s6esN`;PBF44|BZ!mL)3$?`8o^=ljk{CZVqnXR`FrBY~& zbl{-Pfj_Y!;;4!7Juz7M`8U~{j!$H|lp8+HKzM8qAaql7Vo45IepV@B$0;os+zJr> zS3>a!zR$=TAs#{ILf-jp56V;x4Co}-nX?DS-MZC_v_{8{3V?wFr>}OKBwXq81I%3K zNVD;DjO(Mo)Yv}Dn}(G|U<6J|BBL=Ck5+E&Kn=&;d)>GN4l#!{nZn(!hwfKf2QqCJ zZ^P*eF&(c`Q;i`P!FK6E(xr^{-zlv;`4G0LkrP0W5^CzdtzMCq-eZAt?U9I#BE{+rJ@S$JMsnGcU%CKOaKrFS$U* z(%?`TPSQ|ZrQ+Ko&-H+gbGr(!>LocB6HQ&N5F3!VU7=D{%KT)voG~Koc9SVcFI7L4 zPN$RwP3eI(c!t=ac94yp>LvM#1oQ9+_Ff<>^r8ggFk98faxU5-z4wF# z_9Gz1LN}M9gw819OG*^^2~H^Cc?_5fFAe$eBBnUcVKVBk>xx`N+Yeo}E?~(><`7&j z-(lc?;&?0B+ljg-slG1tqSR>3vHN)Yf!JE=D*l8o0ZjaMd-= zdg#_XJR#a(3;11I4gJ=K1}D!U`)njyRf4YLkWsiIyQosvnbDN12H~*M0d+@y-%LV# zY4d00AqzU+0v9Sh7#Ro_l^ZA@RqHxkT>s0%OjTj`!rLCzxnZ|!WV7ldW!A(vw)qHl z{&OkCEjW}o@hfx|lt~=_4d`EvQWbiW@J-#fy`=PXYLPOan_yOMjG|_VCd|r$B1xlP zh~AP`84VEYsb5yF3z9ly)XX$nnGI1hZW9(teR-ZqC>t}hG*Qf(&hHpZcuo~`cM+b| zRjWN-mHUHbU(3g@WyLDE+*t9fY{6OYSnkcnu)c2l-oY!>g)9SWb2f^z$6ut}cHpR% z#DD#2(`)&}Uq7V^3$#jN^b_g84#k1HWOo6cgp~WP@oTY8QL$cxmnwlVXEnf-vnax0 z4C6Ft->P1n_-FJeTn@hMG=~0Zl{$5+)~0H2e|>uSd9~0}EQOk6F~q%0X>jC9qpBvh z?c}txx98-hXSP%r#Go_4@87ZpLS&>+vyTnO*J`qgl+kM3i`+`~{D(MPb1TgQH%I~^ zGsZ>{u9f9i5>$P1A1Fiv2zTr?r#5xQs3*AXY@8n&4E9%YEmWqo*D@}(mR2*-$eusn zo#gJ>RA}A`Y2m+FAL?X@w62%EHAkNeJQuI{(8dp2DgALi7jHp|JERW!D^jI*cFS*W z4^p9=G$+O~$xz=pJ$CsB-&v&2JPl`mi$k-}REtEk)6g+|Bq~jOnm5Qw|Q^4pf6vc$7~>BHMu& z1Kb;l1a_Zl*=ZDwRt@8V>rM66u2G7aD(7{|#ritt0MthntVS^;hICI?TqZwsM8;k7 zO_Fhf_Pew%SxN7U;H{(|7=GQRT+3M8?-r7_*N4+6~=PzM>l zrT-Fc_>%|BfmllIjM{_ZZqHQ@DFa$a%~$>Y+NAR~y0Bj!&#Mcm+K3*=e$T84THMO<|8rBiOU^E2#}s6kmQ zXB;4-TG}*vc$1<)MbBNb;v*{z>B-F@u~{h5+gUGw=_80*jRxJ4OSNb}pUKS@`di)7 z@167y1w0{KlB!1dcX0Qy-GAMbcf5IuT2HVVKc26(uB0gUftLS@3Xnyql!SY-WEFQ0 zwECM=W*bV(=e5QuZ2H$Kv#tMCk}uD1}0FwN0_RLO&oHJ4$`t!ssLQ zC{ev16Pv5p;g;g7=9gO4*Fw=R>1(f!KUZbf>%xT9V@HHJ##(s5@|)H<@;YG_P;rES z{Tuc1xb;+5`6GG!HPWsF%J=V5eyTlhZwBDFCCOh#aU7VVo(-quN_t~ZDdo^sB!oXa zT7fo)!%8qF-n-aL8i<>^h)dczjoBv>nGVp*(KBlrXL1e^W&G%t$YB+E_jk+!RneVT zIr)qUxgP8E3))m1_##cQI1#Jgj&Mh|Bw{E9AY7(oCX%G88D!PKV*So0R;BwFAgO-* za|!?<3SVA{?>2$Ph!vn@4L5k}3;cG4f1b-~_r(jaiS8qw9pq`9;~1gzJ1bw2GLN~x zX%)>O=U=@BRj;!k5x`VSSL^Wf7JiBu)PT9&FTc}JYgG|{Yb(5i zvDU)mY{-PVD+)rNbLGM4*kLH3IOmh4hF8LEIc5Hp%6H3dC?V+%3PS0B-Z$iD^YnAF zGZiwH*GToJ6#}Z}+JdY}OWG?cB}HNCwrPjb=ZCPRdGl59)MC2VQ6Ne-UN$ zwd>Y_nPuE4>r_Hs{9EVCD)9D;}(xF^H#k0WPCJhI)z)1*gYFbHdYr)$--^a+Ul793N zDB`ndj89FZ&R%eTGA2p=X?Cj`(dd%bc;^udOj1VP$uICm&qPsl=v@+%S3<=skwyMq z0$QK#Cm6>(USVgGExTMf5wsw_ap$bAX@o;m4wOZ!_af4#PIdDPvEvPltQAp!tx9ckx?Ln(~8437|TDMLz=sD4}uris0gsNs5VlIqV z!jl-Ocl8I@l}OpvY2(;ZOmeh0AWmL+j-5414QN#Zz@@79|ClZf#EWAmfo;u2xINa0 zK!?h-#&NcO#^#K&k{K9IY&1jGr*NxLPb9__Qlg?)aYu7^g6Fx-hGEEeO(~JFzZ%wh zvIU0$L$3hOVDF=Kgg)n%AGp!lkufZ|!`4sC)eOSv&{7^c7XDx}Yvp;6uFxjHCp~ zlATEgDrN5jt(H60)jfA9$~m>RBDTKb#E{dRyh?|JjKwefg!I1_N;}7qsvN{x@jMVl z%ONe}*a=@f8D@lMrnI4foR%uG_2S>9zx_p?K%+t{wRI1h>r6Cj$w7 ztz$F3OPu6o=M#O;Msq#aW^32ld}>(m&>Be{cBjz)Y-pnUI2ULZAaCJql$X4uQZ#2Z zOZ!?c*Kij#+vD(eZKM2NfqRAN`p65wFho?jPV}(sHBR3#(aW=n{bXvaS{!#w8C1m7 z7U@s$v!a@ChjRAsF9~K72tPbVOKy1)q>dMlXhrzqqw>zh5j^w0A|O1G1B4l-UCOm) z`I)HG3fuCjje(;cr=p4s$b7l=+S!XPh1Ts6`L_4%;^;#YMC5?GHBdu+$Tp|b6MG_w zu+Z0nQ`K?vU>y6OKd`FshTXa*h1|Xt2;9!4h;QFpMC4WvKA!oCmuO5{R%w`@dWQiR z->qf3g8m7r9TX~Ds!_g;ZAyA3nm#|OuGXbO$275|X!^$ag`z{=HScx{aISW-^(H^N za;O4*lp6I47>qR7?y^?D!EQzk%U%igizDosb!T%I)FrS;pt405|0W0`$R3DG0nD#6 zo57jyHYTmi3k(W=z|yyiAN;j{t^{2xb=1_zW|wh8KW`vdn*vHsAqw}0Ag$&nXD zrWT!^T3?QE%coFJEH9==uuMmCO&t;N9D2mcqNDmM>Jwc>y8iJV(&sqBfS>qiQ;iVt zENgRLaVrLey4Qj3=mAgEZb9FxiQsqAG^1yvf)>(sSjd7IQvW)^C?N1or zgn2_^94Diw)Nxj;l5Z?Rg!py^8KQUW3+;FrS5R>R8B!&|)ew7r{H^uGkWh8}FF6RW z42qA@GvYIcqKjWzF0f$ox3JM6KS^NQ?SxYt*H$o~m6$pQ8`%el)*3}qWhPW_`jtr*2hL4 zBTjAa+s&FK-0m(m^-1g!xv%c(dRWCvkdck0iaF6N<%Zwvgj`OgA`XkP+90pdEt-$p zY&%#RUNt)neqTB6h-)eg@x}5I*BjZYhJh$^=0O*H*7PF`X1(% zt}J~tpyCcal4A>Ud&Pj)YK_kCOZp6=Y@|(*lcPMy6S4Dt|MjnIDCJ@e)<&uJ?3y}IU<;qe*6fD4VMEpK8}rN z`UtyWE(FX-CpUtiVb-(AolUZT%un^=J?JjxG7{E&oAH6DM*Le!u=&ls#=GO^R5!aV%lv_gX- zBDaQAVd$c4l#2+WHflWf@|<1w&ipA3ndpAy9qRIielG4ppu*y3qekT+%S_PwgK)X) zwPU`kwUtaCQQ@4bGWZ1La``4@pDX9pCas<+IC~B1ntCPfw_j?ev(}&hc>*+f|(CX4ky>WF{PrN&*pu}gu!I)p<$h<8R$@5;oP@l1j z$!d(>|EK?7c%{!Cp58IM+MkD(W6{^{U#=~cTQ8#vNo>lTiK3meYwp_+JUgd;oyR@c zTSz`+29#denYJEy{wdTlIBrc={dQ`vxIGCBRY-6(2eWJ74O<-(=rX1=ml-3x&cg%N zaYIC$|0<4VGg@kc6T9(y`>8U1=4SDEf$ov!>yk$uIK8a{;GT4%$4p$Z%lRSr6Hqo{)Gg4`nJ{D z9L%D@W@O*Wt*trK?ezP`%O#6|TlUs&GovaoF&( zy->+Ww%SxQqx_o5dnGw8s2wx6YvhrzE#Vc4*mbCsSY_JOQn=T^ZdM$<&CLW{L{ECU zX(mZpYVQ73i<9h_>v4R9L+-)%3LstMGl_6tv6GKX9C?M&-pEz9=+(%A-b9|)U7ttb zG!Ust(XMzN=s04Pvd%V_9-=+U9e}mFCLP9F=p^N&R{KqnNk+WL?=mRrI?)3D%J1yJ znHNd6aX4^lET>$S(geOf$1e!F-G*qp*NH=MoOL^_EmF}Qt??RtxS}HGA!chke*KpR zCr<=H$N?Aq_A)9Kn{A)nf>U0P9^sIwbpRcMW@WUq(3$%x!SqBr z^-;Gzd2E1Imb~)m+KL~jl8xAF4co_VI0_ukG#-M z1Do_9J3u3ljx(L^y)f?DlEu!14m854WOFSN!bZkYrBGnfQqAe6*+SZgVRcWiT$l$u zD?jbV+!4&(MKGF!!9gsQPTvYwqe0MSHwYnZ2$!I*E^?)x<2H# zrtJ?M_n*sj^V#C%W|B^78l8cbN|}>3D!)TSZ@A<2gMRPiKoOm!O4xX8&tB)xIIAJ; z0WoOPKU;KPwEb_Bc7u{nWOO%Vv(i-SaA%s9Ookai`Di6NxZO_@7G*`bbEK~^`hptY z`C~j}`M7{uOH7h9A&Xp<1*?;MP5!2HTyGwqezr~$rD@*`k64Wl)2${rQc@=Ajk3~E zWyi&IkOO^!V37>W&Kcoyh?4X_XHA*jT}n-FeP)Sqj#T%d(Sk8kdhW%3x^Cm` zqq?D(IQnswsKwp&$=sWvV9WuFizVGTeIo%ncSLL0{KmDf4#l!WGy`!IPh3Wq?CFni z3(lAla389xsAU}_{l-~qRtweoq(&$gfx+}u@5JzY_Q=f&-D{q2ljd=QM^9(y@jW7q z%KbIk11jS_^u_7wsXs>Sozzi$mIB}Em(M%Y$Jm1rf|5e|eZQOu7eIPzrKV@au=9uc zYpj}%qu80?{)*Vj3o%W4{G#dxAoPicB18j`&MEw?r|EKK|4faH^phWF8x<>1vI=M* zJOnamTJth`jrxWe?KRhv8bC1xbag?(09Ni`h4QUwr|JXe(EgD`2lm2P*D7_ z+{FI-WjdWL2b1jxw%$TqQ7<+T`My#KiLF{#~eU zGFTogr{f2@oxXz!4bZgUrW|jfu5o~U4HMmOU$OZ?Yj@%%-oHvQDT^iGRORv12|0+0 zWlpJPInFZYtfP*)ccd(wP?7z~=)~PztX8sf{tetg>@Vjsh$TH9h_V|{bb86?%`ErJ zVU|MFFDyz7pk3H4Nwnq4lu2G#`Bj&?2?NA2J5xK#M)<1iO!#imJYfzLqv8EW*saMuE}xuE)%k(rm!Y~T{d zl9)1loX}+XkZZrZu@UGK{}%bx(=t(NtAP?KP2zyyz%o?y5FQV z#>xZLn`?D-S1PW+AY^G7dG(L)e3wZ}Ho>V=Zt-hc+GLlwou{Lt1J?=pvS+aUNrw$_ zXjNqhuG~owC3cX94Z>)!7LNUc0FbwVFfR@9+wf5~eSn9lc^mVcL^zd7`-o1qjXy{? z^0Earz3?)niHK|kMF@>F5)iQeYcSbBhN8w?OLVSF-F`?kq?gs(#Y&N5QWd>H2VgH( zrw#i;tAir-c+!{oII-~A&E^T~lds58Aj!b9Cv~k4V}U0X8C>i9Wf&XCk-3*w z?Bo<_v{oY9Nh{e9HX^X`FDSgPv5bHc`vBrCT{fzhhWtRoLRco6{ib@BBPuc)LWWEe zUBmhgt|K5Szgyynft+qNi^S_Av;;xwt|uOgdifJ62y2?uW;G7G5&|)~*d6Cq-2HM-plc)D%;%*o>x>Ae z+Ds@4#I7Guwd*H6T8h94;&t&2^zuGPYvA7!628ju0_wv|!vmgR_g+MXDM*@> zQ6(|}e7~z3sRm@oxlnw*Cm!Vx-K$~Pl|;Jnh75lt^R<<+Y~4$9OMdu7Z-m>ZRvUf7Z;O0auss*jo-5xbxoSeWCMXTN=hi%6 z5hGg!U_-ynYM7C4J$oT%=P7_TNHrMHgEt=f&x!Z&%nQ7ildIMnb_=6WbE3^(-t%#U z`YM%a8zp~E2%%8D-JFXTh=%cmECw}1HayQ^@Z^(li z6kP*0D(9A3qCKTRPiadYUnC5*cYWhZ@o>wvt)NFiU}iM6TJ1Fv{?*=k;tfXT{Pzw( zJ1cfTbLT8^&aRwcUDfJ;G<{=W+~M+d8(SN*jcwb`##Uq7Y-6XfZQFLTvF)U>-Kg*0 zd;jmp{rG$4*_rd4Idg_<6h`TMLMdt{AEHsA)Jl_1ZMA7AV*DsCG-Ek1ZVGmb&QVhe zL8g50`?=wlx!fvjHs31z9#-*)AdSP*U#YgCGSg8k26`i|e^?k%wuUce$@Hju`#g=% z#oDnBvtaZP`0gZ78gx8D0eqcP(<(v}dL%_#YTit9owo-N6-LmAk1~@hOuK(a%(^z) z@_%#HFQ!Q@d7!ORNJu@i1fo$ch_8QA!qU5|TVZ`2>_o7Wy3@|X`(mTMtB6V-N+(<_ z?D=Nx@m6z|mgi0d8|xt3iV~tQjCQvCd~I;OS)gylXEq;i)$r)6b1IS!M<7OJvhRq#pj#_)41afDK(Vj;Ppjp^325iM6g6w zkvS(;tS2G)iNpN;iSxZ{&VVfO9o-!g&Lm_MB5sfvPc7>!R1j&7l=n800>%j!(0Qc8q zb=~kaIqo0L>;;r-|{fB&1Dbfb8kxVW^{t9UI#Z&rWDh^K_YCO&Ne!c z=&k8bXXb{qEtbrpKN#m=3y8=uo}LCXY405Si*a)`#po}LcCeGOF$gS+KD~fdH(4;a zPBdXkGXR66U~lV|;;_h2zI*sp3SP)y86S5{6mY3KM0j;foF5uU(va23=&HIxvzJ;6 zIq;*OZVQz;*5DM&Xd=aF?h~P7-*Em_N%nlZcTwx~HgN6a_l`m(sj;TBZ@m#pZ!oBoHM?9~f_*}U|GuC~ zm7-IRB24os!>vm#W;q33rmrh#^3i(1#uSJ}nFUCsqM3U>Jo&{o;rV;}rVDSCp(21{ zz{9`?i@OmhH_OKCZkz87`@89!6`D2}gM=N~-K+HVYb9z@C}UWzrnOVzjJe_;%4hE# z?M3u32VbBRGLmf>b1^N0899A%O7i-o{ox&e{6k@>{z1PP{{ie{eumuctNL9o2rVCP z*btvmft5#H3O(^o{y(4`T}xTE6Y1iebYCrhPZnyocY86NbvtQJb$gS?qCQ zXR2yF3k0(UIdcY6?FS(0tw-31l6zB8fM>XmGj$+eKI5Ap>XSti-1gnpOn7P=l6>Mt zU{3+?^`aWTR!y_htbcs<(#k{krLZ>|v$CYx8Rffe9V^ekN`O{>Si_^kM_lIT0VL{V z#$h^H$^c4@Sfincf#BuCTQ9i1J-1)46ebJ)bmVy>jiT;KgWwZ_csq+k+OaN{#X1h> zt=IC06U5FLMLIU^srF-iN)W~NbdV?q!s zYPyg&pkdgJ*(6b7WHj!2!6(K~cSS;RmDa6_VNO%+hB{r*dBbhnfd-tdWW zq3ENBwp)XC$#m@>@3$p-7KmJ)U}`JWyb``WKNe(I60+YgvK6sh`#!H(F!CZ(V+mAi zi@M=n+_~m*rV#)mHic;1DjQi;0+!Wyn)lb&FtBrmf2h#(rtk!FcEA-?0P1K8u?EfF zfXnJPnA5rnabcO+48bG)0`)>7IxMEx9KB52VQo7R!{%yEQt7A2Sd5%ldu(!xojaxqrj+X#)~(73{J}J z-Xzz{2G=K_zw<$_iTOiMEY$;IzKj*;v^mi5XQKPQZOQEYqq*%kf&{$S4|quBFJ0Ji z_sWx1`>!v&<7>!=Q!YhsGYk9%YNN`JY%N7jJOusup1b6clg})=qA@8l#c^r5$+S0~ zz`e{j4AsKmz#LCW+Ktw~Wm{RVkU+^}r)`W?hK0kM?0ma;y&+tc9xO70e0qPhRHgo~ zS4+}LQN5Js>g@>hJa&Y841)@W@uI1Q7@nOh05 zV&60=t}cGQP)pp*#}BQufpIwuCU9OGLXkk#PU(1aIvSA7Yr;>$>JBd}Z3iDulQo3| zSl8A~NjT$yp@im)B+9fi4*n75%;D?0C-)x4^^eKd_mYG~;OX0Uh4tWwa^oV%&8gy} zB72s%%xDG&Yt__1TWF$4*It$;_Y251G=P}mO%2*QXXm%m-DgFi;iwUgMX`XYb5g|* zw^kHZY`)fuHgk`>R5htu4$K~(qEQ7I<2LaZ87ikh@e2(%(;4d7nsoan)Y<|R;~ACe zf)?{Rd(Lk>VX;J{#9Rx9$<9Tqf3wvRvRzE~gXe7*#OYh|MA>EX@_)YN4y$LXOD zWjPA~)n9;Ulmf*jKBy*+5s6h|Qwe z2`^hg0f6@%uo!QprqHibg*kc?HgUaoz4MCq`S;b1pM;q0P31e-zi?;eSdO~C2xJvN zHA~ISd0@(+Hh%2POXbk20AO#f)|(5{erPMUvo;n`&^BJi2Zxs>4i^{>U<)Tuk9Z8^ zticl{>^G0MtI>m}R0fh*1qNd(+ifW~;-+0;#!oMwOEQ5I^_KaBWteKu$7%(&k^S2e z(`&rd-I+z1Cb3Ee&HiXCik^(3!`B)VfuYjWe^}Rse;G}K+;ETO`&?Id zkA8Axk%D_f(>Bob?8v(reM7(*!P@SPPokYZlc7GS5ckE~XuX^zZteS#*t50Fo^O{< zNuZ{S7L!X4-?l1z1{aKFaNe*;ASK#6Z}{1_Fe-RRFN13_;2Def!P$m zjFya8F}c_D6f#(_`pu0>zj(+j;V;uX>wJaHJrp?aN}?)llLGe}#JkBa@Y{E!-_TIE zRV7ngQ_dId2zt^wjW4t z6Qllxuhn;c+oRfW!IvnTm1C8MV!CFIWzLgnejX4x?Uz>=ZGbB{F)=>*zMcJ7AceCg zZyk3a=&{m$0{H#l8{aSZRlB>vIrlNsWXvgXKwk3g`U6w@z?h5 z-V8S1XPfAwTbBNs%GsysGhLH|V(hC?Z(V zY-l+I?KElV$)S#ZLgN~pR-Ce`Kk95G*pj0gIAeiB4n{Km0ZW7teH--0x$H$8B8e1=0 z*OP3*;x40F)~*BwK2tf&)Tq9WwT4F0+egR%x&@3@Muccof=hrXORi<%m>T_)<4^>C zc>Ich0>C?j+ls(?sZw2becXb@$XP^!^8_VsnAGex#ATw#cpUpD{s&6q9Svb~e$bcl zsULXgf94Fd|Jd;biDlr<2f2=7vi_nvzX^1sTW?k)9u?B}A^A7cDKzR}@BfQrv?QS^ zgu~B(?N>NO>mf~mc$h!@+U4)&=%Cc~(Okg#$}#_HzvEgXP0X4Kqrdpq`uY1jTVvda zWtqu?7%*!1VWdyV$BmSMQH^BOzW>9CVL(e^;NUA?A9gEX!2Hy~eu4$RC=`<=#wLMi zQ{Ar%EaHH@n+b@f5f=E0dnx05k#bb@8q!$&b6_=F6yEhl2NC1z(CIj-y~0-iBj}n% z&)a?;;z4-6Uo=gwkN`9UU+8lfajIrst50V^cZFnTxIePG;_33PziIdrwSR;?P%DoD zieIYu`~&i6wo+Vc?LEsl$97qxyO_DP;AW651eS^1d2L9W{V);)WYMPG$2_O5WL(ed z9xF6xa?PxW;A2&krL7~;D5gKM!tHh2mJ%Q6_?IggixvH-Mie_2(4aBD@H2VwU3r7t zAMYclf1UJdphY^ks;WQY+?{`Un7xN_Yh*{!FSa-LFWkM@flN!$b{5!sGqF1TDD>0bRqBL zUOme;UKDxZyh@P8SwM{SLlG!IQXwzJOfS)M!W!{*10t1gz zRuc8+T@82~dbeY}^LGL*zt`nsXZdW(`ZMIl8V;?3TZ#BvPz$^8dP~)Z-pUl4+l=*` zK@og;tl_$k&*pZAiRWVi!sYX9erxPN!%M<;Q*utm>uu@WwUfdpoaWL)p;oS{q%bsf zc&z`hdwuT}M6ss67VDBagJ*{ypo&9teCWEwQ zYoUoJrfSXV3B&hxbt1nkzoGs#N?vI|GH3MDx!IhE-&p^6xV`Ja{oAGiWJpPR)Wgf2 zX~p-nmfU@Ju(Fv&ODnwPiq90$kTIFCYYegK^pgk@3E3 zCy|uUwPo0d-N`Rgp6~LJOwEOSr6fX-XTM$bdQs>wD(9;(eTpK`oqaC)SDp4^An_~7 z(HK14^r-)ZM~OWvP1jH$n@k{=QiP?m8@Xa}icNrzUXRzN7p^*+sh!$Ng>nQvOOe0?|p{9Z&M>C=mRTy~`iT*U6 z4Cz#6rrP|@o!_~XHh)z82I8kFJp_f08%NN-474K~f}O|P;mA-m55+Lm#9-~z=_v74 zmd|orkFuBp=700hwJVtZ5c8xJ9>Jhg*wVnG_r|%UIyQNCIXZqJ>JEGSLkczp@0TNC zKP==RRjxhpVoH^FFb8j@m>$*;{nNq$F)fNm*vn!U#UF2oU50#WvMOR3o`~H#Bb+Zh zz7A3@q$-9@=}adX0s9)TD4ozpR`^}?kyV+(BQoYMPgnhE7@|_lPzt-L+)U9gz>w78 zV+Q8I`g4GoY3MN!X5fdt#B$JBC3nQ%WUH0>ajb206{U=2gx~>ZT~co$L`}zrBqxm> zMN2<4Ad3`o7FV=eMR))|y6VE~-wE$xdu~d~Jm?*{L-b(|;QHf;yG(Hvx2TA?`lR~jnAe;Y^P9R+;$?a(4SKQ2U-V^5a=H1=^AcSC)TpQNTaJbIgap>z(*OCAWRAiGET}tTD-lo`C661H>efB2Z zGI>fgwLHjU3}Ua9+vI0>|6{*shfM;lBnnK8fbu1{8l3O6Umu+U9%V%R)bh(o-a>_M zlOBa^6~iBJV-s}I7g9cU<^KTO2sQ%OYt}Gm%5)G1n0Bpd%sT^)Bto=Xf1UvNTz83a-PN#x-2A-0L z$rM7(H_`TF^1&izSh+OJhj`tU+Vm{>53ZiI4At2%*^0~6BDi+9Ce7H_`Ps!*p)-}i zG+AELkWQoqdr~C6tlEMT^=3AFa-3zo(JB0y&0;(Ox8|y68}X>9Y5WmqCYCIH$z}LG zDKEJPnx*Y3XHV-Qk}b{Rd4?Qt);yvM;l<8fX|Z(^(~bd1`6PvwvFlLRGSqISC(MbY zT@)kU@pi`@Xhj;FrZ-XiP?WuEx$hife`B2Ehu=G?RVyUqe7J3P0jLutt(4~l-4kxd z_Kv3MEOR!LLqZsV6431Kf(_Wdvc_(sw!$G9(UGLnZO`BPD9jkKSR3OC@jC2JOqRa5 z9kKad>knqwPZ>iYy?qb$T_{1A%LqE^5Vpc9iv{z6GHPL18D;`oe-^6LxwL;ZMlq32 z35tXX)w?L&bgkwJ#u+?U32Qmm6*;6%xxY7ae+NPk+e3zMQvjuBP9+4&qTQy7?|K5O z$pBQ*{rz=~98qR)`D+ymDq3SaYHUoyR`k@KJ?Ds4^Xb~gS#j>}5!TmVWM;5BjJh&V zxX-+e7eyrPX+Vr121+Q|mWnBRxm+BI7z@_7OP^+yTg~;o(`WALljP({;@63-T9|o} ztg*xHM#=;74PgphvAH@8Nr!>)RYVjB+>fBs-=fyXZ4oNw`Xn5Oo4Aj8TZkbH&>OA$ zKv$*eJfdgyhW#U6^Jto2rvfkIu>@br@~Xz`%xu%@eK7T>HLZ8ayinxbvh(4_nfS!K zM*C4h2|ELpyAh=kOeIqCv{5l?TNo=G){BdI3iSjLwCn@1@YGlA^hJdww%FLp9ji9g z_I?oNvMXDe7p-L^DkJ-;DU@^3S#lmv?lN5|`2O(=uI+xl3GzWEc=b|+?}PhyL=#-d zN0QFa`#rx7C>f@+Lz|Qe-)t1J9xm>JYpH>$<0W8#9FU+4da!u4%X%RuEwIy}-YD^P zr+za^i39w{$r8XIl|UzVA$Sk%Q`K&vVP%E{QERj-yucYFaEh0CcvN9{&j;b~@eP#;EcX@``LPiJ>%-FNlh!AQ3b#@fAy%vio#`$0-; z8l!^jY5P#+CY6FX%YT*6jtRr-ZYsCYWsmd&O$;P;D4A(E9yw&wd3peq-yY#O{-IHn zni$AO-$W-#kn?FZx^G{`ht|+gZ7AC(GkH^Y2HkeDhC^|kdQZu1 z(_PtMA8#n4fAr|fe5xsz-bE@uPX|r z%80*4@u}G4G^LQoY80F2HDOZ(X6TT}sWj>qi+%WX%-9m0Y0!Oj$7;l21D=!}mDNz% zUXGr8&g3$#m(-h2K~OD6vQ7u6jRKSFG%45Y(f>lSaCOdO5t|iFCV)F;N8?}5iMq9{ z>wbHRhHRf>W(;)K@f8l84JE;Rr1>-ea!J>9O#hb$LR=!bQbmNjmRUPm(v0 zxMW%b%Yuh2JcY!bPq<(@{d#_=Vmy+jbgZpm5=R2SY9OKGa+RY$czz&jDi5S&*tKwl zB^lb;b!vb&Bpy%}@vHj8E{u#D_d}+cN;nJKUY@>&lub9A{EXlTr%mAG2c0JvrC;zo z-wb$#3U%b}wQl3QXg>3B4(V?Vs9Od5Pq5Bod8Bb*B>pvk0kZZ1qo(Od2Gu{qcd*Jh z173561`3Ae8pJJR3O1zC)V?sjVtK1XEmy`~{iZN4xcSWr2iB!{&Aqt4Q^lP+UCqe+{-~z zkQ_)U4hhQv3Dhe^+_CA`BqGnML(LjPdTapZHK&hW4}t*YcjESwIl>BMZJF1s`?Uv9 zyMu-~`eMX&xkLxXcZ9j5>EDtf`kz){c+Qc=*^Z~3m}r!D5>EsZ9hU-|@}@iJ)rG4A zpD34Ze2&R3W)b}J!d^n!!g3`I_dj0v7Td`gbsWcvs6sv#v-d35y@@Oy;{vLUk$Jqr zcV(tW?aJMe(3RmgrcHeR_=oOz3JqR&E8cW_2Afn^Y8KWAs>(oo@Feya4K3d7)O;YU zsKNip8iU85HdOpkQSu{oA9En7rG^+O1rTyq8Z{+m!rA`;{lhS1|7v$6m8sgrcWpTwjK8u zWmji~OJJwD=BSlOqg&^&!I^`Vysv`C@8fYCDJ^tEht+DAKN04ts_=< zg~cKSC5TWp|Gp3MgL@3SMOJvZhAA$=B@I$R)qfQeDRJ2Em{2}oFs`qz#Ev8`pbJmc z7RE82rhmF{_85wgM)fGX62gsyX$X=~8Ouj)l(Kr4>gYhIy zeDV_43qFc;J{}TA(6-yNQJ)+JzIo*C$(nVq4cw}FGA%vJ9Si)PmPqPh)0T)~#OF%bO&e`$+e6c1;6=Go!SNNQO69?3O zesL^A{V$VO@zRK@2-ug(6U7(pJB}O*p}dTXik-`H54=dzIO}`zQvARA$c^_{4GC%x zoXfu=cAE$v%kpWLMjX^OK0$A|y)M0dxtlXL^X*Xrw3SXrKSVNQrF)_ktWg{>*zr2N zWOBf=-XzU3gJ}LW#a8r)Ibj;NNxyz|PjB@I6!1)*aEr*~@uc z055wN^@7S!kw{|OeqOon-x!2BPHhD(n`L@O<7%yQS^X65C+Jvf3?B+cIiz;(loi`c zy#*Q`D}%00piYwoOqL16@&ROT|$fkitED;-4|1{!*2L7;Ql2F1SOk~W>}u=;v2QQbPm7#WPoyncZT*bTXV#G5muNAr`69Q4!Z*%l+|9auJPme@xWIfF_W??hc*R?+7B zY3V()SO^|<`gR0XOt$l6Q7eqkg`RRLXMKqsSP0Iy`iI0eeJd?)be*A@REts*#Eka^#<_2o`*Eu=*JQfW zrI@f{9r)L|Yhf3;h(bUSs)!9ZOOs_KdOVYo-i6IZU`=az{L1t7FKrwS?U>=f*W|hs z{vpF57hn3GQ45gajrP01w%oF^Y{uD^-Ji+O*NrxFR5m}Lb>5h+zYwZq#%!z~lqL*X zLv{*|`D}j8*TmXv)SKit_#UU61A=Gxy4N-TF3;Rk6z3%vza&?WDa39HSE1|fnaK$u0nKpm3M93goROGgd90t zut2UQSG??3N{1(UZzhG1N-{>?PfNyAp+|kX3@#gmq$=?k%Opp1BDnHlDGvWQ=6OtBd5A7+Qg-i@^Sst-)aa(lW*A*`UT3&#K&n zjQ~jl-;Ws0C|hn<@mLp5&!*nwFo-T^>Tw*ImFg#|hRv;{;MYd*{bY?)9en+Ehjeb; zSCaYnU{H+Ys%M1Mh}Hpt3EZ4siSy$;@_%d(KOhp_#bD5sk#myC%`X$GSb_V84|0bz zzt0nD(h1o%d6Z|b9*(W*z{~hDrfnZoLLcQ25Z|h_GY5rjyL|4f@hHWxoT*6;=c9EF z-r1(i+YTo^RQ_E%%gW9$FNl}4!#BbJr%f})CJceSfoMh$+NFdZqRy|ebAsi43&zEx zhvf(P%fenX#0NIVWc*Qv2ZJvZIUp|2EZf5GsEZaG8Qr28ohp*@W@%6F67RrtwK11mI^G>|G=sw?1lsHVhGN)2v5In^89m%Mh&&72oBP2e zi{wlCdYxbYlc_Sy8M}+Ew;#8Jbk)q7d~JpKt%w|t8@w)hz$|Km-0>H*Yc@1tIG-m2 z@xIS7OAeL84gcrY-w7O5l$m7{VvFoI#%Z_)h6*9Y^B0)`Bcz-sKNVp z;m_iNVMDSWe@SHDg8pWRso&HBTUMD8S4su$xb0ef5@~WXJpP z3l?!QTD~l+d}1hv{+;MV+RS~WO7sSV7YaA?Wysz0s}HdN;R{L|>?=3K!h%pV4$)H_ zi&ENZcu9$VBJOu-7!E>DHinNW^e4*OQJ~t4;l=QJO;@mc{stP(C)<%`#}>-LPkd7k zbz<*4Ov9eVL|j$5tYf@7NWNDiy50+U`$AwWlj;#`Ceew2jGYM!DWhjawY>AwUPoI* zK5@_I&!X^zEJ3Ml!fJfSKCqUu`9~F|={qqGyKq&EpCJfoPc8czz(K&+t*_$mTa>}q zgwpwc2dyqa!YyMB5r&ktNJMxcRW^hH>?qRB9AVuR=P=cS7|7tQD3L{J1d3NE<;o+u zj>X4TG;2#xEmy7W`KeyVYbi8|kgJ*Y2XGZDSno1gfm48+lcj;u*&2 z#(kySUqoWqsqbg5>l%R>#K*$A(R>_{FT$f{xLe#a{+;4Tomwa7QBO&-|8~eiOiAFG zbx}5I$Dfj^r7}|~15keiv65CJ?puBfVJ8@-Zx3}Nb?M6W=fJ}#kE(pFM_JB((*pdiqqs6sTy%}V zoMKkaJ+$V*Do-|i@EC4`2nA8-$J2*U$qh#Mx@A{1wzE4WMS=#-955lW9wdG)B^|&M zGH`qPj1Gss>N3^!Mf~>|IWs|Aav| z_P_J=#jG;==C%xj+tqU?N@#)kGt4zXb6Qz8gY=26LAR89jx}0-XDRFbT0#`ZP{Y!- zr$3Ht+Krsg0oTI_Xs)0Y#@7V?OyifH+={c`gdf=lwJzoan;sa8-MD5bt{jfecipjZ ztnuW(F~0vc0iL4YbiW7b%nv=ZxO>#Xo*rda8ot;g7@%eTBeY$v6PP3mK^iRRuBTz;p*4I3% z46J}q9Kxpp1#v*(7xsj#17@p2R$SUZx|y zVRwAUtmTtXoP*0%0IRVYhcMV4yZxjHpITwjN!ab8%*DHK`<~S+TD?68cDe<)7e#-ih1hha7$aIL1z%z-5kaJBYngKKBYQdxlN?2E;6Tt z^dS4aCF#9Kuu(b`MTF8{fqG%eKJZpc9tN(~HtQd1M1+hTt9tHEc_TpE33S~?^8kPi zTivx!(Zu1I1hCppB=Cb56q9kM{UqYCWD}eHv(#{}0U=dSCam(LZbZfw0qPg&pe){- z&1qz$4)6w&y=#Jk>R-)8khq09Vn)EdG-Pkbb=f*W|2n@So2jcj<2-9V#Qvcw=_1=4 zBYuWl2{Q~2n2DH-f5yptxxItYm>3OTvM~at>z0bX#77%T`9HcVy9Y{fU)AJcwV@ID zi-lJZoGwm~muw!NuvTKr> z&FzBMZHnK>T}B!U`S7+?0|WBGv!kkRP7<%vdlrjLA&$T$JrrJZ&S*qNOCxObB1dh9 zoTf)~r_(seNKtzo=QQc_3q>wU%$ga_iSp77>zF6|0JMjqs;e3%q(x~|=RM;dDc~PUfKftOyeC_HJQwgw(gsMt z;LDfiR|~18*tMNGKwgDTTBVMC(&2h9F(>PZpYg93lt}3EseK(}*Qd>&DwjN?#YHn( zp6p@n1AXOK+&Sy825Neqv7N1}K;;*$QPj^d%BVU~S1Yo8tDgR+pZS$ahfpJ?d{#Bg zK_&TdClSOMSryacrNoBXe)ks!oP=YMag{iz8%882%HMtH(djLx3C zgJ|W<)xLVTnb|Zl4o8fobT3g}x6#uhcNnJCP|)?mIL{eY0owozk5!QVerMDLDeqrB zS-zv{sb{_UTDU|LNi&ChmoEtsSETqVr)^GUQRu#A%R23t#`SZdt*%H+PD-(%n^cO> zHSl}s;okscB>3bIKiBp8jaGsR1N%c75c;;nTZJ@F@siAwc~aJ+E86q|mDw2=#E;S` z@2qE@qqlkcx1CIF$KU&@lZUiyc0e)WmVJ2vwI!E6~T`I4o6Q zAgKfvO%aj3qC317cV+$&m{n*eJS4U?u#VQ7_bR>WeIq9!s@RuicP#3Ui+nXRjOupp z%L|XH@wOdY`Jwn*Hk`V8G}9nULm>X>waFd66dP3ZlkqQ~jzP~YLa!9lLYOyF@r6!2 z3osZx%xqcaB0V!0*D|S&_Gy70l6A@7cvnfu1~i-r9mdID;J#cmz?t}exMB+wL%6~W zL`kY`8~zfxyTnIa=CKjsDLdhAw5j&3#n=_t#gYwcCFX6jT(u?r#e_HzrFph~6@o{1uO1) z7T1;f)3t2yPiQv|b#!swKjU*YVzq5~T3pS*Ci+m9F{^xJEJ%7NQBO>^()H z8%Am|aA$7A?>PCCphAZQsHfg!=<9qRf$(m?^X8A+0mGM4y>;UC2g4H~=5LJiBF+}f zuTYhwZ)yO0MG5E2goq8QD|q>ue!NHi)<-?TE+5^^2?Wr5+BGl0D6P3TN| zNW|Z*$-61RQ|WY*mb8CB9pb+o>Ueo}oOALv$D7KK3w|Y;9$2 z8XbqN!u6jappILhY8{Ic-HLP|CMHv~T-r`$G@q7a27bfqptzs=q8t|wx%Rjes40s_ zwGC>eJZ<5g8Kpg`RP%m$KP^G2-N+A;_B(nsK!zn!)D+XLfO6cTzbUan*0Rjvnnq(! zS3r%m-Vo>OtpWbY2avsx@5VbxBb5zw^q|8->1dl;_6ACFjGW%BlM3MCI{iI?AMUUgxU<6Tlx{W97oqkUyC|>QQwoONIzkr46ET|F7?zq)C~7Xm zv_AzR>5Yy5%U$SC_3a(UX88FHh=h@4OlI!B8-GVTZG5j zImt@X$1g&{T-d!6PZ#4^Q&d#oVd<4CFB4_4ep&M{FnTk&+ZQxFch=3kr!iOK0dH)L zIJWyY-(~2ApOj!!W!Ayu^?}1SGuCg!xc-as6?fT8_8-w*q}IF_Y_T_vkoQkSfk*u7 zvVXaTLIY9VyiWks8bINQEd-Vb;=am=nx&d2UI|Eo?}h59JHLgdOEbL26Em$6(5{{B zEF9%uB+jP7imn4gr&rUIR4)yzl_&d=X|y}UtV-x7T>4_#2XEA;0}2P?eIrw@V^e2d zFkSy#_z}O%wTCe@KBL?N)EoFx)EMxwm?v{3n9>tu@~6_F(nLs2!F~em|A0)>VAkkv zk(69P=_aT$?c^bJACRZ9o1Ib?RP-Kmf6%g zAAFX4jM(Old)ury?Z9pkhjQ3GSz~i-v!b`bt0-y=`0IbR|ubc?UMm zf7r9tcIMsu7@ItzHbvrL>Q>sOaW2GFBd*c`)G4$zg(RE5W|$K#P93! zqn_GOi5(ixibGPxW*0^gT%Sf4ucx`e$w9y(b6_!au0{dG1)OY3T>i_b+I`wG;L6vM zX4{HA{*#`!7yD7ocnDjac16)bfBOKGNQoWH%-)s>(AxS`Mqxj-ag5$MBUP_fJX{lW z7R1U`IldZ-eJsz`r6tEmi-?UNM91AFZFrYi5Ry(sl%wTS#?*5A7dF!pn%Ec%`SbYt+UT+_vh31kw#Wcs!6ktT;^Fp4 z8o!r;k%i+4=SBMwacZ;;uh@*kvQlIKb?Ssm(NR_9ZVvo=qz8Zi)n8(fVT$Eqs-qCL z;JSFJN*W_FzIu|YmFc^^kS7!Sd5MSzw%`sFt4$@msC18oJTLoSR2v(sPaZ@m;o^0U z-K`;Nm+JqZX^>e3B$9Sj`r9{JFBX}uQpzA?SxU;X^85&7gD5|36^fFcj=!IMPxKo@ z@wI84g6w4goXv)S0FApLYzKcS=ezY|A^3X!>QzS-hj4zr{_Thj_n}oe_4|j$$AB|c zQ+s@wK{9A`6v3~1{x;spu)vnC4BE?NUi}mPa{)hA*o5j?4i{r3a!Dsoc?C6>K)6&YjiZf8)YW|7Mz6=cOpH)*DV>jUz=Js)Y$>2l zEIlnBs;n#9A3NN;!P9AS(~&CWtGP$gA#(Z9IbT(21va&L1{8B^52U-7qx9YvCe&?P z<=_%A2+#60A|L;N zD;6Q@--(wU3)Kjh8LJafwe;JgCTtNA2vDBRP%e|9bQmAc1HfhOKh0QkGrAi7=9Wr$ z?k9L3>->!y=u3c2DM-Y=xNeHGJvHSDvyLRE_?+3ZK-G2rGFax__CRV*hDEERCW`QB z(V{D9hLyW+(%9x+AX`s9vcSWLe!&)>Ta4cIimZ4NV0i@EN+x^1D{Ku~kf4GgG&-2dGYCP2%(4_f zVN}gp{m%B7wPTT)*L*m?5gD{4O=>?pBGjtx_CN55w|*B6MJQR*-Vp2Ep^xoK?Ob8u z4rCnvo{G;6Z(|B&oGf(ZKDqN+;G7yvMOj_KG8oml&PKzl?Wa~G#^qzNwB8A5-Rf!6 zF!%!(LXL{ZM7%Sp{fEAatqrv3f>k#a(w!PVx$ zbz4LV27K7k!3De8IwK8vJ%*H#a-Hejg%;Qo22RXawGzl$?&`HdI z#W5j(O1n9`rB-pG`r+pA^Xn(4Gdo!b;@s!w6vDaytRS1>qOKoR59XeUR@Qw(ap(+$ zg83Fd`)Ju@a_)wbHwsn{5Ob70U46q8pGrk~sOGDJD}DpF*V}5bi*qj(q=Z`H2r_IZ z9isuAq2E1seD^A6)&Ji3K6DGxyHLa;DbP>WN8G%|0juO@Vp_YVys%^pa+8<1$pOD6 zFf@N9*l0*H)JdiyzSo*S%Els@+t+b9myksRa&nq}MKtpe^=e1v6lL-X?Zm~=BF2(& zXnW*O;J+24k??OW=ulRViEz2z9#2USy74Pi8mhSXti?1t+R{f=rm*C75Ro8~QbI?--lCo-^!L$3J{rO-*O}o8bE& z_g<#oFi5GY*NyLY#Y<6eKfKTvCleF=>-A7>F6M|oIbG2uYOw!)THBzH>Z9hwb&SV~ zMPNrysetd?lhZ1KbK5@46ytOYQsN#-vPEk<{lx&n`RrP2e7ogT5d)r+))aR=fnA7J z0+7#ERG4<>z3%FV&0N2Ta0^oXe*@)C(SjaJFIB|_zbH;P1pjmfaqcz{M)ZRsL4&~E z8a7m$A{t0jN_v}|sLTbMO64Aisg*z12cIup(2;ebe@(iTV&-3_2-`p$*~}xMbV8Zk zM3`Y_j}{f9vPi0y$Zew<0hO%s>vzt@w+Lw7d|^J<+mC4olr*n`?FJ1_pK}(V0w;nKd*t0ds6P#h!Fi&URAlG8H;=6LHkY|#& zGOp<QJ}(1)x&clev)PnZnF9m3OcjkyOuHaV%@!oxLi^uof-n;svAZ z|4>1ie;}iE{t=0)>^BTS*mR<_KJR2@#hLZEiZX{$dg@(nSt^Z@-^L=ytH6a1P}{l;yH^ucAmV**&rg!XD@o z<8qyiCEmR>f_}48eAcbT9K=$A6$3RP^tdy2pxcbvJ%4{2sO41{O(I3{O`KY$vewD8 zACV6LXj&Sr26c$}s0R#21`VlSo@;z*ob+Q0)fq6j8S!d*e-3#31!; zlJ>lAL5kDE%~(pTBo^iva?}h4ScDyJ78>ybeVZJTfzl!)Yjm3g8*}oXqygFPVn870 zvgF}E`3f`Vas-}su4As_#=NpC;xJGn_`(vG7jE5xnj<0zm z3$iR$!iPqx*wScbsT$!7kM3WOA3Z#|4CBg!(Lt<%ZIR3s!juNDZnvOVu+V2cYwJZ5 zQ|UZHPhnf%5R#@~yZ>&U#s75=1_DbVG{5hsmm8{&9f@dJZ3x&WV^82 z+F2lF1h1i#8;((g`>4B^zEb*ubKg+P<$@#3b70UQ7LLuh(2iiZSzjMKS1*GUxKrc# zpF0Q8p5n1kqM_ZbVl`w(&b~=q4L`k^H?1(Xh)f6P*IshH4jMuZXNZTXsq!X#E10 zpop^N8DmwA!aw5KuFPz3<7s0cpC@C|k9@!1p{%9KWt3Zsr}4ySgAt~I^=w-o+WA>^ zgvx+@zUN_6$&EtDPNevuUvMmgnzkTa_ zUAN#C8NCF{m|zmcg-HocJ7DDoq^L1UtM8lkn?inp+kxUs!MP=7AC*B9l}!H0J_B;*N3u*%oWVF3vEkEEJ4rXVA|Mwf~7ASQ+mg$4rcMe!Cbf$x#Eo#=pvTYWsdlXPh2rT!LNSek){ualWXVZgp~rdA0M6 zZ=v76ks8oZ3~xnE$mnnmDEt>8on7pra^nGb3p0^9y>2W?pV=_*@P5MK$U_q2ulgva zzL9Ri4O(6Ypu4PSurDib$N=^yE&9yD^*weQr$<|e}047JE;?`-F|OrziA zjp<3P*OAmNEORGKl*T9P$)}bk@Ex3vRCpRMC0rBTF$vYq^P(0xG-P3w$kI*6)HtG? zjvDF9r+rtseLLA5FlU9~J_tP6JD77%JZ||}VtG*Np8sttZ)o*b&9w5I{}Yc_)2iHU z7{X>us(bHNC`I`m@pn$o!jX21v~=Do>__*-K~6;MR0$8TJvm%e<>ems)JQ&VTaa}x zWK9iLJXIr`b~v!beiz}+tJhCx89h+EyKwwpy{c+aAyu5=c&*H;e@O>&YuMVVz_Ge4 zNs@ArNe2b^ge#OnK)*feBoeD3gM zJ$wZ!Y7>|~k(_p_rOABG^s@)+0q(iKmM-&pAyuVj={0$(LV1$+pl5F+%%ZdF?T?U% zMiF6inn<&-1Y6Ih9oH6^Phr>Z5m4&Birr|+gJii#!TeFcrVWo`o~elAbC8t4 zpOrLR2QwWiqk32jR+^SPy2N=4ZjMx6I5)y3kwujS*`qE-knTLxr~AoICc8dIlq?en zb?zm9jU(Y+lIKc`r)X$9nQ;|QBGut~{k(bM<7evn_Tx`Omzfd@$XE@QtCB$E8z*8AHV#A5Vlb|vhl%sh(ugIuDQh&xeXwNHD= zf}>xkTRM2+m05<~wMV)%w?AFz45A}dSj_!rN9^7iiyTXFp`mIYoTnhp zwk^DAOw{e96OqUN+j@G{X7lkeA@*^)QO{G-RQqq!7jcQ<&-b)5T$dXvt z6bGtV)L++`;vNOj13U>lsxI`qcJ-@v4Rgx<$@mttIrFt4!`kvhoARZlyktWNrN3ma z`9DNN@`7+rQ}5<)mXtfC)Fl57asUCA)&^UFxQg!RH8%@LDq0=xEx3}{w@Rq1&prRm zKiV{Cbo~#9mL(;!(Iu>&1HHwF=D$gsCnuXe<1f-fq)zi!=sL85wMmN0pl8@^2(*da z1Wob&F5p5<_?ffs(ivYsmgyY+ zRCm^wuVfP17c-vjGZOHoIr?=_rz_pWgpTZhyKE+v07uOsFT4*^h zG{dtHHF>@YN4Dv1A$>S%tS+MAhaZ2#2lh;4{j`1Ni8al1;;F;e1=#uSBX_xVMyX8o z2`mlxuB!=f>0wCvdr%3ENI3Bgxxlx)j%SVqF}}f-JTUvWJ8+07VhQX^tEB`n4O-P@ z%`MJ~d)cQl)=4MZqb87(iILWz2h%yIIDO7-4X7Z8tx9{6g4Z(1HDOcXN@E9ML1hfjbzqC?*`I^ZoEMLSvSrAsoau}W}={opOJY99lVxH*W`gJ%HOrAMV_{{3EmnH z^DsR?sbW!)w`o#e`>S*4but!ZEtv<4qFp&z6kI0=V0^5p*o{EjA7$l zwz=zxP7d*t?z$Q^vcWo9Mf#A^wPGYCgH=`qKlj0gOlh^`nUl#62o({fH?3*->qY*`d(fIn8?jpWMCG)YG)gA5 zK<+WAXmO`D%}j6BRcZBfEw27_&%K)~vV5A^y>40=EV=8ekU?mfYPJXQvn))yV zn>>bUxR(}Kng~ zjPNn)EVA*>D+=*d6CQT5+dqDN3XS#*XOMT`B3djWLjMw8d!pq#oRUA+mefQ}y!J9~ z%KpWe3i_EyHx=&3u`xlNO!J}<`a~Yrlf~}R)8W!Pk5AhhlAH4rUW~?x`jiJC#t-nQr~%yU5R1)q z2M86MJ@z&J;3j4Jl7ErW_x3AJEwq*ZGJ~OiQg21bJ)kQ6{Sv7F+n|6;UWK>>cbAJx zK7Lh_gFmmFmNaw0sJCD2Il8ckE!>;`%u)GLi5wNeg7A}Rz=bmxJQXRanfbkdf!(_X z19XY-*&-A{+dK@KtU9G+?m?RRZsI~m9q~4``=cH1inkl0YuXsP@IM_zWsl0**iEKF&Bd$B(p9sI}!sb@z)9JDGdBUylMQvO`x_;jE z?Va1NvMaj7xkAfRCSDyJ+tWTEqhn1AiPIaEfd!kW3v7$B%Up=gdZ#CYGJEr#%xiwo z;`8(H9IXv$+%kLBJu|=hoG(4iE$VKcUn?S}DsdmpBUa}2acw$$g%}GjTl}_U&r-`W zMM;OoY1{@7b7Cj6n@9$7W7-wqvoC56yJBiSJ=Zz+`{f;=VV*BN+AZJDCto?G>`*6B zsRRfMQQmOV6+PPq+D|c}*`gZ}o$1g{D_AeVDTnt5sVgYRv}pYvbZ|!tPtc}SPE#wz z(=YJ&G2o!su*s;!_z4VxC=#YK>{{>E@kD`Lhi2h&owsydSo1-$UO*D#QOLTMzs5)G ztzJx+J|isotyA|&<{-s9R(XEgac_bEM#jT9bb9wVTpDg?4?}u&iG}WKp(L11XcpN? z4Q=^C!u_f+DUbl$b*8c6Unz?Ckm>qNo>+FO^ckRuTGb?2?g_bWRVX_f+wW56?(qIo z!6^)Sv9}ch%;cvQ1`L@wU<|^7wAhnQ@>RcTiplY%nTnD6#?IoMS#lp3xhPb>h*4eU zzwvj`o8@wI;CA6XY+(@h$pxJ6Q^T*Pktlf{AHJX9_4Mz9U$G>B;)}u;4RjFOg@*HbA5T1I%8$ZAZV?v7k z)MR8*y^xB_;-*LvDOwfD@6gshTZc{}o_Vs7kg&px`f-$6d&TB=pp7}m5$8#}YSQjFS&P5h40QQGYnVkq6B zRO7E}D!!;wX7$}1SiDBFV#zZ2yCqak$lI-BiLyTY<us9F?k6O5&s8qC~*hpMnJIA#wMXSCa)Jix)%A_P(h7NCF}! zgLKbP`^x80MphbahNa7XH* zd2wlT>yGHvPpTeP0^B!}j}IgOkotGcp=?krKJmNhkA$AMHrS{8TlOPoo(k8S{lQw3 z%xX0&A?UYM`}{Y|M=7;U9m8x5X7271PC%3=frdpVA{vJH#r9h-4zJoXKvq?E>+iy) zo$WDfIlWaWrz@s&Rms5`MkyGVtQAQ5qGWlXqadiNVu#0WhsU&Qg#JhDvD*3So9)9! z-`G0RwZ)}jIiXKrUet^Cc1~q_mIu`|NT^VYWj)&_`AoWwT8M;#BgXz!kd?vN5|zif zKT{oBJx=Chh*Y{Uk~&5FSs7LnG1%wo=b9oZM`(eu>%UTd$z-1q51d&pb@G>ZJ3E)+ zI<>ndjuY{w@Vs?ge=UVcYFPko42FZV2Q=akzW;^Y42vbl@mGrCR8ffh9{Hx$aC3G{ z_IN#Dd;b&B=wEpA*^t6W8l;#x7w(>TdqE)e_Wqlg$I{I}kM8dFq$RidD-042gI!Z& zkccl5!ds5RQM9~c)K-}I;kXnh(r5xE(B5oG4S;u?vVLRQ|57K*lrj^Uv0tPJj!lDKsAF6lMi+0D@yC@d#SonCY{y%R}GB=+IviM$kd~TkyuD4GJ zukDV}OA~~eeLg2$Vh1Iv-Luk^#D&zKvA-Ztw`eP+6O8U4)71NMxS*`t&zLjlA09z; zu0AuqHNUYx-NffGP+ZVU#ldf^nkFzP1|B8wcXgp0; zTwGIpKt<;?WzKy=Aw7Nzm%2y82giCw1F)v`bSoj?l;MrC#y0pbTXFs}PKd^_{VGZS zs({9!g}hvX8Wru=8sCSmRUT>0xkWY#0n{=VOCnEH;3B(8E#XO`u6D!+#Vu`ZUGZ#( zeFpqIv76rqnTZiZDRs|TvN@ehuDlu2Civz%USdj$snIq~Uq#PcMQxQt8Tb7DY;f@d zt(B#ivCjcy__2}EXMs7bYq(mNfaAkBNsP~d! zN4YNS`@;gL{2*PS_z(~YW%m8th4rf{$|(PSrA3lSQy`eXJR_n=YIAoER(I!6_8mHl z_XSn<(&wjVg6dVfj*VF?grvdH4+Z}8dc@Rlu4)s ziU?0w@TK@NOM_vILqg|zdRxOIm5~@eG_S4;=Xz4H|NHLD))^`EW56doB?x?Y^dL3G zAs2R0&Um{5ZQ3G-^tuy}hS0|>gaz(2u-S_G)T}5_G@iUrf5~iZ%S35?axSY#ez*tv zheQm{SJjpjkCKe8d5I{+1|6~f;-u!lf;>EnoHFiu|5*5-&Azk)?+nZ-9CYQ%yDjI1 znMJ{$6dcJI98`m8tzYe88zTEZQqnMv-Eea>=)u`q23AJ2FF8o*SFgvpm1Hpb?+Oz*&cQ^aS?pNTUk8ybmFsrvxV(M zJ_J*9kZSHvY@&K{Sfj=hK+!?X&YpoaxJYqE#YrhNZms1~yeh~0P#eIG0MO7T$Y4Vp z{nrKJ)kGS))pTzH8eNeIIQm_A4D`J4ZtEm>H&`Crb=ECbpp{HYEZ}KfM6dEdfnWAM zTP|H5?Y$}}Y=>8QId6uda7MxZ`ne%s66v3LB1fO_Tjfzxv11&936|TReq^iVrpHZT zo39DZMWM+g?7Mc<7ngl#UBTp=dz393(QtYkjvN%eGWMQ?UEGt}l7QIQ^cywQ=`++t z89fZNu}hgfNK&^y z+85#E<|-;kcRS;X28!ohlF3YQ9(|-CbLPAqf6#sI&j_ziW#8Cek7jJ`T(=vr3CAhn zBn$hc_5>YTlF-D{@HjJ#e0n8-klsyjl}`O<319X^il2gu%L#H-K!OD;q8(nJ-rIbG z`E0%Y3`GHQf_cKl9^+~fFUMm|=WJ)Yo~@}-!cFuuG`J6;%5-#tS-;G=nA~(6r&Wf0 zMAl)H#aQcvTjdQW{@pyqmJt(mJN(lFEYd%bV%n5wf&a1AMO%qr9KFFfB z-z0*rs0}O~_E9&$Z}u>S8=O_b=f}hoXFu3;Z);QH7uxf`OJVoU;S=;ur3;|UG!#Z0 zi;}Af7kI11lXJMgn8Dll&hqVE7oH==5E7V7z=1vaC63f!rmj;Mpu0=!7guf_*u#UZ zx2u$1j*30^>RxU)Z5;T00xkp73vuv5T{`P}8FZ6Ag{DpRK#h}doMkIYk}#S6n#C0v^0aj9az(EySXMpV^{wcS$2R8RX>7PwgWl@q?W#m46=l3 zX)71wBTJs>Jnvn&K0Ri=GCbV_-yx<5eM3Erlk5@m5c+cUBw&)$krE>aUTfd6Z>hu% z$52Vr{8IBfDqHp2)U=lSWk=t!$M%~}-p-FpEqqsA@x%m_y(gDinaNdkzF6v5x9F>j z>zbs!2F>iVa6IVLms}0_sI`cMk*o1YIbHrXdEF*%&usC4~-?D|LQ4M zST(p0$kLBN@t;!>{ZtWQZG*;8xm?cEm#0RA-wUo+kqbe<*nsklFW0K>E!j4SKV<_FP0Zm$j$2*p?^4uon z_uSgK!ts#YEp5@dBIDgx)tgkis~ONNZ3G-CmL+&6N-=I`fYy{c%DY#$^0~OrUNb$w zGKOoUsdv)1hq-tBtj}{f#-%{E+#?q0%OZtAx(2o7&-CP9m&s^ASGsDTGy2iP~QA8lF?u<1>@@YDZ z*o7p~PzrxXcXdD_erS%?6DKry@~A~Z(RnY#kHy-)ux^TKXi(fXBzK;J-Y9*qis9ac zIS4L>8zON8!6)>E>&PL38ON43{le3|!7#2Ei9Vw_)zuzlBpEn9W-1DOi%reb{;r4F zbrNqkPemFE-N{wFTYQ?E59zGh|JS80R3_2hI9E6u*WD~Qsxz@@tm@j9?-l8(DeJB3 z>FN5zKbhGq_ieVcWMF14p>$kEx&A2tZyfW4JwzTd!_xKh4XW4E5t5u~sLoj)ChOJt zBrp}aKTDl9xRp2SoguXuU(Spf&dY*qB%18&ghOQF@HgsYJ6>SH~y1f*KzM)zXbKx!Ixe*a27 z$7znWwO2biJnog)Qo8F7l}>~Mky(v9VGLv6!3u3mD3@LHfoZPn?!Q&nC?oOwC$y7gj!G=6-erLBOx`9OTKmu{7RUF2f7E_0OU z{=UAus(h}&ppGP8=aA&HZTv2jS5X=MGcJx}Fkq0t=V4FkH7)uLjo1A~Q;CL)Kl)ym zI>@{?4qoh5aI*OCoO`Mw9X9b1Jo0JDe3U#j;qLDMhU?P{>Xmh_FTG5id{6uVKy>z* z2qyP%IX=lTk7y0N(QKF) zvPY*(Jj&h=!=zU1pV<~>EGX0>_K3`C*m44L$57|8Y3(y0zRk7*<8%@jY=qd(VlAIt{FjIw{v6+P0R%PFg7VNI&QyriE@ejMK;O!IA z+3pZO=3yeYA(izt)eSimuBl$zw1J0QgMBuWD{P+algx``;8hz!fda0h`jovj&Rx%( zHD4)JUp&v=?V~3Q&>4VPwFk{31fc|Jb2~IP`lblq2z+n1-vgpEUm+S+66FhRRf#zr zrZC#dnx%P?aQ%?56ZvU5w()wYM4t9$x`@u`OCNN5eX7IO!B82)3(C>Wv#Cb`Elwf} zj(hcJJ;P&|C4&+>INotOG90cg!rlHy|zR z1`b4n4fL>rNxw3rH&c?(*a|cG{Uu1wCQoH`Xeinzcq%Pxr!9am51m^v7$nP4{7k!n zn>E|j8d@02qXjpv-v}p-y%Rexllx~{^g&TQ77h6kzg`Nkq4HTr693xFjuVFZ6WS=5s4C zK9gA~^C{HC$FGsau~6x$BFqx+nfILx)l^BKzZ&USu~(=O-|p@e(teSUyf;LQtc1^# zBqpdL*tz8O2~e3D=!D;UZ?6g5?OymHk%yXlmMlk;iE^8dTqxn;y{6kS%qWd`zhlu6 zO33pH&*y!kdu6mQdsSSa=wx(MM8021r65~^>D8%m8(4zT@Ugd+{ra_s@cQ}Tvf5Q^ za4evR9J0{IYh3`*DvH-oFs-Ho&5qi9|@-15errcf7@(Y1m zVADxKQ;o154bQ)z;An6zVYS%vUOgN!g6t)6sJ6&!OW0vP`e8+6GgGxZz${pH`$1NJgX35oq*8~mUz5s1eb5mnch zNAVP(w(|!Zq1yRNx0r8z2AXZIOB0vx(;l~h44M95sO^uq4OC*YPX&dozgJ6sWrhn- zt?sqLA(@()tYH+6lrXW}+}+Q-B2~_{h1WJK7L8#l6M)OGv@uV105L@yK8jcrbBh$I z2ThdqGfox^i0bEf0At0 zPXi&7k-%n6@1L@luMoPM&v=_>zJ3!b5=qJjccd6$1xlZUF+5=6HkIP57=6J>CJRo@ z$3nWfii%>|Bv*)vz4642#@~vrQ<>QCFsU@Y)hlAw6Ns}k3I4WKS*`yU-td-T-<;xn zQX1CCbnXpa<>aS0`4mTcU;-HkOgq5$@(HJ`X&3-L98vt=Q!G-CS;U2MoOUMK zAGj6DGN~S019oZ!x5lw-I`#zyppNR#+c;>_`RwZgVD`DfLHBT*6JBEJh|wWmCJ^V+jtU1qry z=z{HPWsVAoC|Twi2C@!C795VoeWUH^$z+3I*_{YD*Odme#dR|ZyXJ` z7|L=cJIB?cB`CGID&l{ODfH1S8u&myZoi>?i^^Yy-VZb;DbZRlC|enp*?K0<nK|hT3;f6p5M5Kei*s zN8}!NoD|fc*T^s!;91-n5p*XcXBP%C-7MAqa!gusWQaQs$|gZcEV$+@N1v@{8sNu= zm6#ByBdg9?>yQa1maqMfi$WdKf5EQKQ<)}Y(+g?J85Oj@qU$*mwWM5PaC8tKLNgY7 z$jcj}f?#){aH`s`nf;^gF=8J#j88Q8&8~Ok^;nA8hYT?RnDc?cJX;vK5QGM?m7D06 z>{2IF{FXI(?q`WLW=iptLi0%+#G(~pkHK5uNcw6Ew4lRzS;u8DPoJVr0SEJEdNODg z1i?*w9wTbi&)`X#QPnU98fVh7uRI;kA=Z1)H?EN1EnZ}!yP3K0(8iM}b*Q;&c>$E| z4;*a@y$dJ(=A1|>DR=6tmDYO=tYLLp43EmScqok>$F0HQg`9C%^1ot_vbWi1C>!K% zP(z5&$5og34G)*Vx}s@==|g{PlQ^dXLuHf|WrFWzV&mZjLOWcGYJ?FZ$QaAdMPP?$ z2-qwDjY_u!CYi}})q4Nv-I#N+0WVpJY;6=Z)wp*L_3SwYX0!F3l3djZYKe$S2_?3O zIO)UwDR1+Z?TwK3s%ax#GEbM_iUywcol5bjNfb z;iBrtY|-hR@l@C@Rit!=xXSr1c2R5l(=596{HsuW2gY#ZT+KngRUEDZ4aErvxs>f9 zckgE_S$$k)C-^vpV_jV5oF~oTcf4VmQMZI#tT~lQZPP)$5Jf?H^9h@plbLHz53b8t zw88!kBY}m~$v+(D);Jtmj$SclInl%Ichq(5$+Wzv$Vlnw7fo$brbBYZV5KM<1?5ir zLdPAHwTF+&rqkYdkt(S)%rWIn2A`M86o-9=HU7RJXKRc^Bpl1}F9P3X!m`ezza zb@IB6tx4^qbSANFmeXBs9~7D84};1WQAU|P>C3R!?{P}f>=O?Jd?kfKeU57H&aK*d zJ`@V0eU&nk zZ-1uAL)u1R;jpu$-bGzZtx7v%juE%)6HNV_v#x}=1em4sFB8=n-^9dv2hfHzO}=rpL5RfvUrOhXY1DhqM|pfFzxQK zd^n-u{sAqMpY3OqUJ2eVvjL~aGo$r1_yE88i4@_QP;*%jxP&rE?#V{=RHYYXv_N$9`quye_i3(k}cuvA`??9_LEG zK~E#yVZpCF8M2B~pk_zImK%Ts#vvv6dEu4(K|Uu>+Ss@~Zg4mSfNDN?{Qrv0Tk3b4 zu^zdI6t%_hCt82mCVpmX6Hd^9RMnU^Y8_0V$V$dks4Sk-{0?iG>2|IKinczyU5&As z9htmTm!WXsT6XVv_A5(&-pZvx_rbq)IBaAvg1Btk?uH{QU&E$Os#ct(;zGEm_jz-I z`jBF!RiLieUS#9K<2`cEdu8tp{&kAAOo{t*On*RTBX%iWicflY&^W4KZ?N>Gw{}n> zJ&_n=^fxkFZPqeN6}2Uwb6X<51zqdiL#3D{Z_Wbx|1S<^H$-czA%?>RxO()JxAyU2 z8352Ko^W)gE`hLV|ff|%WbWgJr-szoWkn)>Xla3I#qXy-J}HnrrGE9*>I>C~h@*7#5S4+=$Y~um z1jk&mj&KwHhg%z&E~D&X=AOMsD|_7WCknLmfZxE98@&YUS&3C--6MEwaG&U`<%+mi z*SxxFXs)&qM|_{_^sZU)_<6ToIu@hB4>ZzSs)s;!-UV$jpS@tVzDB9(VQ?46SHis` z`7O@xkg6|znIxeyPvF4x=lUcNXCu{8io6!D+_(gWmNV(5uZz>Gp1(PhAygX5^J%Zg z0YyHR8Ni}eE!8MfF3O9(8&gy4=rhKHCcz00<`6#SLS-bp;J5XBqhLoS@7GEs7Wq{i zRqN1}0HPb@K|nwDF{dtGMj33*=u!=Gsc9(PGYJm2L}K4+RP;fSFtF@N;Vo#Ajf!&X zv$u7~AJ8*4wuGAnJSX+5a!?1kXd@{xII1_$lby{vBod3UJ2d7wJ^@Z0+!*cgjpzBV zKI>qn(9Af|LwQ@&Z%Z*JlUg?=n7lRUTtUe6{#l@lFroZvy0cAtmUJAaE7&%q>$3A5 zMQ{w_o-Y&+UVxrC^r69RkOUb62|iuAPi5pU&*qxvk-?0On@=|yc@AjFh1E@g%7w-4 zX2=625)ANtX%0%Y^^=o|8(5K+wnsow1}OEAW9gw6{b zuClN~#&dA`+07*2Isvb?#H3++Ud~y{4h`5QK97_EjhI-#8i+Kdcp26TsI5w3O~g@g zLU>T=(%n}1#Nxg!4JO<7sC|~lq)V1D>Z=j|J$*}JZ{S}PRS!W2sNzvXeZDEVINe>F zuZ5N%eGN3(UI9gQ3V9t6Ye689$`anKSUIkt;$s;o?;R!H8ADImQpH8m1ao%dZ(6@un%I`vv8Ep@7 zmR_(+-X#p8C(Mkvs^RYBa>oAJ^5AyuNA&d!f`34*5(J|ai48Bb~;W{3lS zaT5w`3RCk9!w1O>dn=I4`nXuoh=It_W1PPKF%-pK6dqv><*oM*jPbo#)>9@Z2NfH; zNg>IXW^4i}B@%iQqSAQ3%pd20ZY}a6-_$td$hrK&&*xB6eRf0>wE^Ly{3*Xi>>{-& z{A6rpyz56f?6H!T^sfvtf#*OD8>^gk^*%{^uF#zdWHJ-vusRXFi`)kzLP?EPIDH8o z`rYEcUmG@XAZ<>Mi|b@2;S*u&&#@T_)R(g6n<;fc?tJhVphW@I8%KUCN^5kO| zQPhUmAioDp7bh zJ7=de4_+PX%$=@=8#5;!CvR9T8C4i(HV2ijg`o3%ZYqPd(+vd@Q5HK?OTmRoS^Jfe zt?Cv(3r{H7U2dzQ59KwsHRuB?x9x@-;g9?N%t&Tdzf`^S`n71?bZafKrv?(--#gw~ ze#WjKe5d0eo+s%aL*S8O12Q~PORsyNY#%c`Qo?#zq^$*>_dgms7Mt~lK!7908|L$< z&V1mKB+BwvQNy!jsnjj|VK}hGvP{>VdjlDQG$DPkk1EK7Yg8`V|3p#mryS&*csC@F z8!=&1{KZ!-v^Vfk0emM%4=oE|bot6W?L6{o{PfkdF2KS(c8TjW@B2W=6G_nb3F$bA zsibg6`(|9_$JjL_8LnO@wT;Gs8_MK6#XybSBEad{PlUn>1fn}5%cfu|opFkD% z;9VEM{T3XEIDr8{$%d@d$n;}cPP%^rbxm&wTWa_7NbwOX@q)ik?(+AtZKZzGGvw4O zVmXEfQDX#!@@Q#tkszi+rDnr%E&ry*G~HJ510G>%R^Ey`byjpwj3;Yc>o-g*&GCWP zHuFfiQh;_&s6M(IiQ0=)A1_~RgIS0S6fiW_F(TU_?xj=)ph}m%{JCB1>xbIz-`$0n zdu19R0L|LI*@C|EjaBK6=~`QCA|7NL;O(C{*pk8837}jhDUSfQ7SXPRI|%1sZ`udt zF0_C4eyfXasYPWLD}1OflwJLT27&+=Be?OZBz~-MAM-wAyX83FyZWn--H`cH?XAt2 z;fK)ATvPlCBh&62d1Km$K^!AFqtf6C;BuvJsA|S#O?^95_)l}uq4Ww7_&@^`Jy-`Q z6?JBS#W`@9(>pYJfo|R#lMU)dWfZsWQymQ#+Dt}yM}8i7Q3e)|qLk3}r69RN2AM(A ztWtB&E;Pm>hD3pEWW0Dd1O+M`E5(+o`uHsHV~%Yz@CRnVGJJ=H3(T_aEc$5S^tDXV z;hSoNl0mvGKiYkmatm1OjaPaF)lvG!uDGh>th{yaSLfHbn2h*SW~m^~23+n}a`xB# zJ;5t|C%%%eaXwptwA1AsrPPf2=UXtIsWNO($Kg(u%f-oix6<5B%}#WT)vUT5Rk%+i z!v#w+U7k*!;;9h1kZ+lJZD&N6yCWJZ!!S5?|BcpB&~u=e#|qak|_4$B)Ze&kzZMvZC=hYmWvkg;OIX{G$m%N~uM-{0%S` zO-omuFLWDtzJ7lXm^>V+=*3wN&(vKCYI?cQ6dTmF~h7@7+yhat?8Z+7=a~`=a}UOUiaXsT zh2pJOClZZ{N+?F;P}mAx<1fdGLfe@u0-CvMov}J{#OlhnRZ@f(kojAdL?Gw1orUOI zId*@MGfV&3r}zn~X8LOE>G?^@%i#*KQ|Fys$)V^+o&uFOk=>pu!r@uhBL^J%cJe;( zv*C>^u)_3d`{?re;m)%Dwfz7}K82$6n*{W@qh@Kk%f4b@bp&wT$z!(aC_YXBf528y zp?6tqy~9?4hG^!^zRqeJ^ZDL6E&N3%`D!THrvG2ifo!YW6(8kXjZNzj$jsF+>a9Z9 zp*|G&GN)~-^{(1x10Qh{8=E1%M2t2q_w`a1buArQmWkev1~wFpotsG?5Gj#98)F&3 z<#7Mkyx)P;DEX@=*G}Q2uxUm(#dHmEBvzrjh2*5I+mD1uX*aii)-1l1O6zBQ^z$Fb zHz~&0uWc%|yy0oHSR=|pWKhXnIyif7Wwi6{Xd_kByZyZ`_t-wmf6;v!9&l+fON(i} zKRa}OU84#N+q(=WQz1(SjrI{IM!1}3zBx}*?VQiBKb^j98Wuf6bKvb+~ia5!UUm!rFl_$kSy7U)*%ykxcW%abVLgoWAU;Px>)E{ zxQr!BJN>rIZ`CNIAK5w6p+b0(#jjl8^te3U#{!}!Mz+>4Sa4^L^ytV@jMt)eFj=sz z0Ku1i8kgAE)1N!MEG*EXCMISF50`Xugva_LdAJ9^f5(cyto&(=3XsvXNPDPG6q3_ZM!TIwp)AwI?2S!F?%7lksZkC9>k%Yx7cTC|b zLlOPov)5uNWT4s!PO(RT{lbvSzS^#Qp5-Bx>P-hkT{IbQijF*44(=9T6I?}^s0e#Y05lvTT?P|LU-L1YAqyFWyT%jM-UecME_2S zp|~1)WswK}1OTKG09FWGa0oOyp$nM=t#YJX?y}$<7~9JD7$qYtl1j_T{ehR{J6}B~ z4xgGb-l4|!4a=1qudQ}%TaAMEJop)sOfrA%ebZ0O4sFdmhq9r}O4sjtA%ENLd+*kD zdHWH4kNElKJa(v{GuP1ujd7Ho8H$VOaJ2^J!=pioRf&ON%ku^(^~ftZIDeHEk#A4| zih%?Q%Cg2|;aIXgKlPKqI&cD3ueJZAppc4w1UMu5zFvv8Ie-BB(3Oe}4j+M{)rc;g z4CkKPQ>@F9yzW9znl5DP7(9Q>iw!V4%p+@-)8`YDF_czvib4Od;iezOCum-mohAER zP(!E_{@*hH!`<5=;FD0tj}B3YbvvkqOuF|J=y3Qw<&MGlMA6Jf8>;0Tz@qZvh%8Vy z`}HlWT7E6alC`?^MqtB8v*{DXI*G7RQ3?>-fLVV^@Q(R=IN4nPIfM?T-nXLr!>83D zz8&3-H)bEu3%pOd(B#3eItndD!0k2&b-nC4j3r3%d{Vhos?}T-yV~8`RL&I#9HiD5Vg2alJJ{G)X~M6 zLZVkJco`)Xud%7L8_iz}-7d8iPGINhSNL&55*pYBfK^kx3W6^P)*{m<_8z zb5eW-H1@saDS7TJKF*je1g@4OmL{LcAncLvnX&8CfSorJ>ky(peo*7?dTFh&EX^;b zUo@!fzIla2Grhu*q8ryoW;zVvJg{axG=|3I`t(q&xZ$SQ75~-T6*1#iE-uq@d_b|P zq#JqVb92m+V2oPvg`kkoodITp4#4;KUph$_s0iq%s)zT;(b*iEf^rB#=gU$j*tt<| z2}G$CPI>2Q8!^#NzlY}23DYP0KhaOVzR!HuMHzfs)g6E#3d)vk?52^e-?EsdMalA` zp(a+_672Xt`F_s+Kc2q9F|I)Qx=mxdvF&VZJK5N_?KDo~G`4NqNn=}$ZJW(+-|PFn z|6uptJ2Pj_IWv=Ue2AvB(klhU3G9yWTr2-Rpg-R(bGC*j9f$$fF^>7?hRV|9l(qX` znyM$N=QbU8gz=WHT{e9lH0G?O&L;|)OsKYLH(MQneq)yZ5RGpnc}(%&bn0{6WsgN} zo18BfG(-2tVKy?EA`Sn0HB3ChbT%>&A|f^!fZ$@Ri+JZ!6!3X#h4e;`B$0);nT|a9hoU}Q~_-NOughT zxEdhgW2r~=Mf1}nqLMaWk_IS^_|QB!g+e%yMgYteMcq*O`3^P)O@+n1uXfo6Ec`e} zk1_=p95_-Yw%a>z(9F^_oeqXZ27jaqvSe3Gixf9PZ!BpZ7dzr*FC1GPQ8sAHdRM8n ztM&$69beH;4@Z`iJp1s(6qphC3f7VKEcrmLMLfvFL=vGj)v~sUY$M!fAtr4b2;1kjiFUI<(O%V&7#j<3YU0UcF9tktw58%C10W1UuN z@%;GB5asNHaqFBw9u#T5Y9ua$^s}fFc=BJ+E)rR}WEi@#-7UMG;f(MF>jOqMq~e&X zfe0|8>#%Y{u?m+X1CZy)*++Zhlg6wW1m(6+C45l7X2dBQw>5OkLlolQH^^GjIS(-E zuqC7tJW=EnI@Z?vdOBas8-I|C<^>Ur8QVVK!veo8T#WfGL4-R2U|r+o6p6Yxyrxv0 z<_W|+z!I4pA6ZJ*MXRzQWx*R}V3HkOUg7;V|5Co6o%t^Q3bOQP>Xoz|cS=VPsrS;g>G+ zzgvZ!oKB;}$Rs>WJOU^baF`eR7fb-p6!#T7uAmB_&KV5lO<$u2{iQXY_zy(K4E*WD z{{3B!gih8pDOyP8?dg;bU>fLHQpCNaQbV3r#XeXiW7BnqJmPhoUawn2SWXNr4yR&n z2#KTXYsa~)k#DT?F8V|8sB7i+&(|Zbw<6ab9CeFF&zG0FpXP?YJK=rkfTe>&aDBTNU?#P6 z=kK=%baI)~hc!&dgre%zkKWYF>D4gR({3Tr?SbL`mko?0&%!3u-UT+uf3&?fcJ z`z9^P@m(Z}t-T;^k&yOU^d^I<8chtd0&#o6FpDHSOR8n)?{-KO5X zeTk7XEzl0|9eJKlU0q=vyetrH`P(XquzmoRmjiT}cRF#Z8sGg@w28=QxESe{_;YeCq8 zZ~i>CVLebBBi(gLaZ29LJ4p`-tEg-noCQ1ju{!3amAraxwSnxT2t%uiV&Sq zVG)d;?4l#xh9&kfQTGm>ooq~(Y-(wj(1;_&p%UL6bXqun7f(ZZpb&dpS8a}#DSqPZ z0K<(Da)I|-Pd?W@J-#p9j{9FV2n^>bK$uM?fF$K~q|*B#d;SB{%TYA5;gVZY3oXOP zWQ0?s%VYNs^vNEiSQ~8(i1nH>Ot%}qg0*6R;@?kqpxB#`oJJo#_}xApTYY5@knI~S z#ip3w_iv5vG3gyj5phlnJ40_mM!b;AiYVq-8}+$1zW>wrj7_oZ3fcC~ID(FuC}f`= z1u2#3>Vv<98P>W}PL_68*h545!Sy0tt=SW$qgY-3c|UIy=#BIrY2zVM#Je(i=6q$P z`n$rJW_x6mwb@&g?Nr?pQ6d^iz3OXAF6hs9O@SB6I`HM;r>FB}+AIj^xEld*t-Sc8=v zh-?{m9#cwMcjz79d`Ye(`fWNmqG8P1XeEdYTyWA9SkAFOUgm%NM52f_6votqV}WEb z<7zcgB=k%q7}>)}l?(p)qEzcdPhj(y_FE7w@U9ZAv@!vCA^duDi2Co2DM1N6)M9pU zf}Ik3f^#c{6FwFro*|t|3x0ecOLNrg1)juj)!y)6JJDH0Sc{h&)zLL={~!o%v$`LuO!XIT(OKsMu!~DKy1TmDQ(_63rztl1$&)#wV;!qGFeoN%AucAi3&3sw=!Z{$!^1HahX^W* zkUjS`4^_}Pjbi!D<@n%P%(Y$cjlyI_ix0qWAzV$aImVuPFJ{IhMUX*tsGwReB24#v z?fG)>D`GmAx5fS}NUxx*b%7M0jox9Z9#`A7o<|>9iOf4La8XKQh{#n-x<<|qw_(pVCh5xSK2^1AgF=i4?Y!(y1ib_Nj8v4= zzELzirk+3Gxa&j?ty1MgPQ4s{VM3|??)q~JQ!pI&8*V%bbXY?U1!gY8SZ^eAwyg-V@Cbc|TX}Bp5^O^k0lPZR z^JM}kc2j0f53Z}V1iP%y8jv6|V>9l#M~QR-SVnrC@??TlBKI{E9Hv|(2nJjF4ziCz zF}eFrN$oK#XQTl+`{$--PML)WfTRox(mIM_KGN5LeyW?XdWA(H84ku78b@%wc-wq$ z7@CQDEOXaMf3%{0FcJ4biZ^+i`mTdmV=>x!7HrD@MPLMnv6@;2kqh+WzUkH_i#KIf zrTXd0F!Dh3_s+5?)Pra0T(ZZ)292*?rY}4ka^na}$=-9zNjFaKEHI2xbW{Mqj)qsI zgg)o4u9Jiykl?QYW0Z_QHFG?+&Rw(s+rUCYljDXhg&d4)>AEsl=W6LLq5fsT>cn2_ z-nK^4xg=xbwgUpI$%iXLW_YZW)~(o=pp%INN&TOZ(9G)Rckqg`$S6rdLaZ1XVA-(^ z^S<$k$m2a22CSocby&;#maA$Mwo&yC;I$lIDa`w62z8nW)X2HB@+E8QqN=t=H15O- zi{=?b>=*l{%710mive$0XRB?O82;B)nf^(?fMsC(J|?%Pa7l2rU+g4WkOkXVMX)=O*NN2-R*B&F>dGsFO_)TS(w!m2evkYe z`$^E103bU=J>90QY7)^;LSbgkvB5#yq9YXbir0X3KI)GxM3+fkGGp?r#;?lMRd{wXTlp4KP0v$q}88xt~V(m}+BGMf6 zq;dY`@BDqRW8!M8Sk7+>@u;eKFcynYx93|CFAU{a<)RYgNe=O58PNB<0d8?;l?k9^ zV}y#kYK#$gULZY8E{!8^dpi!>->hOvNjn=ZOY=XzEERATg(ef%il(9)!NC>b6PkYn zw;$`eOl(#|FzR_aUXEF=Qe9#TTu835+Lnw zky%AW$Fqufc;&NH^*#t_*aqiyLVKFWm-e`wd%!;g7J@zrmXubFEy$K+=@2mB=t5>8?h z)Ycg@^?lpAYFmY9O{Ce09CGj|_FTBLZ9_(LIk-u7XkR&HDVW4YRZX$CO*Z|}l9IQ_ zYupNXE_k;}cVpU3C`0EN`h|ExqX!k73JR4se_r^cz9gJ`V%hw{_+IHb@FSzD4zVcm zK1V6rB!{NU#FTp@P%zOg3n*!9c(_qYYwz_XtPnivJH1nku{@ES4jrM`BuZXfoR96%0H8SjM9t&yRnY5zjn3 z%PO znACN&moKCMq@~9g3GA~7l(2%BK>Gg}B}k=cvoDl<5A)GPJtO)N;I6n)vYP_Tzd~Vz z?31YRGJ=m$gPHgg}Kmi>hKH$;gk7c$TRwMR1NU3D`?J zBAjfIT@+j`0N0adm|#M^M&J`>jd&b)v;ygh-(2*h{gex3DBQ@M$gB1k6by`ppa8)# zvK;d!oQMe(Y2+ry*5SCehJrp}84vbg&25{O@r-#zP;p*gmy*+;UtgGg-L-_O&UTEu z{6p-=T^WSK9kV?92#KI(Y_1&Ntxv|tvuzIJ=x6AiTvRx+G9?k^^Sk5qS)f8UaanG6 zME$_ILYjwbuas`5$TMkdk!`L*Klu4lfTpmN~= z!#}qCBu3a{hQ2j2xd!ZL#nuO%(g~u(W9HSyxRpATT0!QX7fLz3ZY-2w?orP7RGfOl zNx+5e8-<%kLn}#OIZVo^5+nzT|AfW$Z8fj2RF%OU=x&(StGt)->)N8lt2w4N|yE zIT@~(gtM*lvMC-}>~klfG^{eN^Mk~`5%m#P(7n#%UH9o|1zXHoUB=wg zno|ZI-51{}X{`?mUAK|gv+2g8>EndNiNtA>i5~TJ3QG=rh(s#8gr)c~ZV*xxjkk?= z(FY#3rp1${DKE*D^h#PUlB}7EKkmby3{gLYgL2A$^?!&IayNNMnO^+B1j%jl7(sAC+{|w#8y|t%Gi6_flkv5-rU~45pXaZ7XH1HA(K?Bv|V1M z!#u5qQad^>LhEq^?+(|nDEmK$j^-0 zkA&s@8mI%7I5T3B8AZ#>MqhLb=pR+atts;BBK5;?@rYo<@f#0|Yx|Eht4Z};*cRY~ zb~4hnFOnS|V+u!!4^;C3&ZX+5292QLll!oHCpRassiS|NDuI9mo%rEF$DEgL;lH|O z8I>nY9yU2wP^LX?pMt-$A8B!~B1ZEe5Vo6}W`%ng!PcK<<&>@FUuJ#guAZNk+Y@yF zvDi#^X1pp7LsKFl!}~iPh*orO9p|mY?90~A9Y>*@cKfq1YL4s9hKeD9_(5ixluws8 zVa)3BfBsyzrg50Bo6pr4q0G{UeoL|TMe8Bz&H4$GJhb15P?wfLs;L^nqZnwhIJD^; z>dn~GO(}ZsRrUvaec&HDb|~AJrw-!wiDyVTCf{&=V88?Ww?f;p^}16v)xMEykzw(H$1qeg(7jmi>MXBv^2L$#|_Ji(#}`c zn!-gco*nU%4p=;jp)W&r$Lrz`lsZuvU6?e^1#K^dD2#-3w!K>zI zM-AG73!YMlgEOX*pDgVOsqpc&O z`$A{Z6flyehO-n-N})8f?#AOI`m`yc=zc?h4KF1_3q%^VYCpI<;V6-%j*0McJ3UcO z<%Q|AtL@1`D)f#Gi;Ugt$3bO5<=etFrVm@c2|PoB*a1@>r#(BF9o`p5aUFx+gf#^J z5^u_K%z^M)o%3CejA72|q}t{C8P4k77%C7u9+mKCl9{sbE#Rh=wyxT#$ zFvB))G0Uog*$2Vm3Mp0_CZ3@sX?&22$A5Vd6(oL^>q61zSR!+q-~7}Q;f-=N*Ax3j zX?WXpnp@zX03<))5So(H}mO%Zv96Um9) z-_<^u4YL>pp|a}r>cu#n8`&R@*{Z_TU!_O=s|uE2fm&p_hzN#d$4UXTur{7_$G0=EKxHRTdGD?#a2iC^v&-J* zSOh$tLcE*$Vaq{ejkJ8@)pRwqAh~tpHJ)GYkNS-gV9l1@Kr{#ha$r0veVuucKiyl zu2_{UhEPcO*74!*mhLY!Vq?j+!WwlTz!%1h@6UzCL)>KA6F>oWj~*;l!?bI}%!C=d*czzEzbP1m6Dn`K zs#N1g2uP)X?_>D)#m{}oeq2ZY$Z;0AXKF(sJe-JIuNBrS7r-Gin9%Bp=49Akm7#|Y zg{fXOTbeAw9yu;flRz#-_i`fM6Xi>OO+$@N3S9ShLhzUixnE6vaN?Lf#K%RBpGcSq z95(W9RulPnLD8$2NQe%#GdcNA&P+G<&?<{KgGV~QUp(j%0FZl4VRbzfJvefrwG>*X zc65Oyk%9#j*6wMiGf>K(PsC-&3R?OT<&buU zO~Z^`^J$uF8UHfKUtYuzR{h=>$1)d!T0Zy=E+l&(bCh%}i}p|>3^a`uN4ddjhTmPd z8r3n+S%=J=_}xl({hn+2Vnkb8w>(ksr)bs9NT*U6+C*X6M39iQS3Ipq;?67?39rt) zS85t!6rvQp{rP)h>3AuCi< zmDRU;D$(q11)SR$h!9(GG5^MHednyyJRDfgJjK!;CrYTw9>E&Hh(*=c_gqPRN!@HW zs?*bZKJMbP<4}gLi{M#Xp zkrdB@tf^|pWNEeECr#)SRWq+q$SBbt@<^@vT$TjX+DiJ19j04_5<1IS28P4(mpJ+$ zPg6==@Bn%Qa{625G>RbHxH(NKSM%{>-sS#PX_1t38$xx3vy~O=A5Oeju)snV;BI*0 zdDIYvkX^%5TFu&?wV)3>s3H6h(tbph=;%Y)Pk3j+jAthYX=GUi~ky^R(!N$w1o{Em}ltGz!3vG1TwYYQj3hE|(AcvlZ$z!MTi0 znLFp{>SW=i<~dBPe?Zqc#d6DUR(dvZ*U9}DX_&(4K`VEv&r~?(kSgo!G^J0tRLLrl zqfwtRhNd|EWcbHj7#M<*gf!J}XRpHI-A9l(P0 zP%m4TyON{s-w&8Th&Ri0DbyXPqwIHsle(N0+b*R1<{LRUm(6|bq7#-6VHCL!t^XAa zQUKckwscOutU~fMm4(yJUw#>Q<326@tnlQp?#i}(GX85MKm2gG9|#X&{yCQ?tEzZ6 zkSxfN(@ewwGY~BuMAV*uxMQ}3>z<_E2b~W~dbMP8n*uf%s^I?wZ}czzcoq875`HBV zGkOY?INfn+G>;ha^)(=dR?HKha7k4<#z4B}N-D+o8nb#U`7Tpztq|Gkx8HA#A$rz~ zHMWvIysFG+^$L6mY=6(%<%y$(%{$UOC8Gs7l)J)Yp161_MKay-(jg3lry8&aQoV)M zT^a3W$4Xa;TfG0m1LW%A(bj|Uk+a0+pi3!^f9$?IFTOJSwzS1eFU7=;yKh4wK3b1I z`+idYb*hbi`UR^s*9>7u#m(#_d#p6b*&j+_wwU7VHo_JoWrtPM!F_P=vl*uAWcRlr zG{MkGb<5IV3Whr%*o+a1fJYtRohaR&hmhe&$AiDHM&Q+rFpZe-3Plc!%%nroJ?_xd_A1dV07)kZi*>^-oyHb$;n)t0f(BC_i^z&KklAWs$$n zWBtUE8W(Buy`s+nUlr^m!njXhtrTj^Hn+YDzm|H;w|U-Dw0o(DR?_24ZUd)z!6#jA zTy6{h#zrX;r-iTK;L`T_S+7b2|N7whjHpmq%& z;{kg?bsL5-)yegK+ZNeBQr4o8BKHl7Qvh(SE=1ThGWSjqA@Byk@`lVDDZS%7+9|xq zJK(vFxFyuKWJS;Dn+@<>zX9T15VM;=Uu2+r@Zs94-X@N7Jk_`5iUBC2 zeBfk3@Nl4rO*(1>69b2%Y{6rio)vCWbkKZsq_~Bl)agd@qjB_cC^{RGF$JH>i_7bv^oqxu%D+y zqeqTj6teP9!s6IVKD6Cs9;H3|w#GhBHtb4xyF0a?H7VB5!yrCzV+oNx1!(F(htQTF z--@9^bog58q5FP%LNG=b7%1UY7rfjQ@fY6o4uUd7CiLswz&3~XL0jk~Q<|^lg7M95 z!*G;|!-+(>?StyJsB@-hdL^FRR-fgv&}7SvD1;Q9t&FTeJYI;_w^7X>MpllU8r2}Z z8PU}}D~28kp=?WU#9+Kl=7dOx5>2CEBnm!9r#(4!*R?R)QZzmS5O0#vNDG!#FSsr2 z%vDEZDPnWoQ`hWr!AKojI3VfMPhlS!bx!jn{i=$S8!`E6@ZYZ!EA6XY{vbu^4|D+! zmClADzYH#j5Hh#Ml`u02J*O7+-ciNgp6a1pb@E8O$`zAP=0FOx>w_Lk;;*Hbkt`l0 zp<5p%cW|R3Op;c;g+eKsZewkSm;?9*(GgvoVpKtTVz=eKzDmd2?(&E?ZUa zbqeZg*Fl5LqCT%(mY=g3ZT{Kygg21dk(RieTd&V`De8j1YR?-?chpS1^bgiHAC2@NWQ z76IinXHrP2l+C$1BHf&90xUcW9mxsC?cyxqx0xB^sv`qA0kJ;-L)|q&n_zOI-rpvz z`xt#lSL1K}a{rz9bcv!h?u2vQevdz&a! zC`h^cLlHKqO7XH=K01&?>7l{co3ko+(fK+rPC}Wf)s5~bUlRC037)<_zMF!x0#0*o z=Lzp*x~Q;HcUp`#W-5P^-Z+leZ6!qKn(i`3JUVBgDHCpy($({w6=4 zN9zO@(8Fy>pk%wlbl-FF+OdD`u)nG3CsJ(cpu>6LL>y$_GKJ#$Tr=$RV&1pht6LsJ%Mydh(Px`8G>bo`y)7Eb){o=`lgJcneC(9BHJ79%J>{`vc2wxioig z?YT%zTn5s%`Q3SVcP>*rkG|Vxv>yeWTvN%oxdM{|zWHXCu`)OUekJKQS4%Y%u)ec^ z%Ba+h504$zqFI$)8LqZqpc@=saezvOLLML=wy-B&7i6EExm~hH{_d?cXcQPk&^nw0?@GD-!ccHwgg7bB9uB3{QcG@j@3o*A8>v{ke1mUM>)p!&a3 zn(zOeL%aA%)p>DS<7+kCQ?;^x>>0|26Zk=GETD*ueROxRW`xio+S!lhS-7+oKPiTA|AqDFxBU8bDR8J zR6;6|0|YmDz*4-wzNC~PY5wn|D8{uB3!WBEeZoLhT>B;Z_YSe^ItJIZ!_joZ^M(I? zm#EVf_QCtt8k_oj5_OCmGWwR7+ zC=e514A`vj7LLZQ)$TG%UCRyLJQP8DE!(1vs@(}-sAl%7zp#G;dPpmjr3z(z!A(l1 zNaM3QnuSiD4X58{HIig7bGrAze@55N^dlWQk9WQ(NZUN`XYe~ghSrTPs`ss)=0uTt zLV39&v4s7V9UPP#S^z}U2IRW4=7EPQ{>A#;onDhiGY(Uid9|DIOSzL@uMeqY{8(J< zxelz#NN#Cjsueh*a5g+aU>>0w`;9MDGDY~sHdaR3g&Snar=MCv47&Jr6iM+;A$4_| zDV9#l{^B@F^2y-W<%|>l^L1b$_Mfd6Ngr77@=&Gnl*xG#`=frKwu|m#*$rBqyMdkK z;D9uof6#mto2W|C1B&m)re-+D@BH=`Bxy+pJxccLtB(-lV19q5TAUPiKpcvQC}3lh z>tZx!ADnSl)K69OOGS2!yflK%VMZ+mT0VahffMnFfAWgb%Nf-VfQ2^KZ@aFaPm^HW zwyvv_`>vj2KFlHfzdojX-hJ1urlki-BDAK3nlk3`@Wz?^7d;~6zshf1NKe^v^sXwQ z<=8ENcF>0>xFJsV&S48+sM|e8jJU_O0?o?C;QN(BWtHSNyus2-r_R&i*hxaxOu)3Q z#9^%|3u}MH2fK4caNM>`>S^UW8+I`L5B15GO*<-@ZSB0=0Q#S-qrBaOYu6z(clrvi zqTw?ogPr2fA4~Z4J?Eo)^rqwVQ}Aw&yr3kS{7dIC49m>OEr&uSVbB_C+<*O%bR7IM zy88ip)ku&KNAH4Ip?z_WYSFR3uE+jmlXYAopqJq*Wnq{*RYw^sR)}9-BkH zR%k`3e)+#bS@D4t}0JcByB%_y=*6 z-{q)TOQ@kaXzjrryX?g4iN{e5khI@5$%)G~^$iB}n`^HW>uLRb@QQNBz}UwB2c@G( zAMxx<+s`t*52(rse(PtT@J};)!$o5}_$JeVoUl8c0Z|(25G5C}M_X<$HPZNh?a)ke z#P+FXt(|~kke@4~9@I#y5G*bH8Z)sg#Wi1|Bq3_?a9XXoNpT52xvDnKpF@EnKHv_=`iWs&HP>gKoxN?W>X_xhdD3qA zxSSiD7sFVto(lt)U|OrZkHdPB47vnAk>Iw@ai?12f4qq8hWB?f3z2ow3E-HXIS8BROUaol{Q z=>lf}Ve{Uky(xB$yHU1o9)jx!EJ+Xrm_GOCxSjt|5sn^1PQH>Axe#d15rrPTdYvxgPHX>6B;CG>Pb>o}QH$SF6CSToA&k)L!xmuz?y&bcX97HQ zW@&=gL-r&%FON9Yw>PWlLA$E31TU1o()iUFlu?;pq(;RZQ&hNd3>hMQt|V-FqwY5s z31~Jld=;16StD_GTf!XZ4u#dKkMf7#;Twu&?I&}F*dU?gT(}y*l8Zq12_=+GGw49U zTC1eAvQmk^_l2T8s9Dn23HpRidw()s?5}dWBvci+GKX);Kl&imBz&r;|4ixUoI5uS zvp1FY$~cQlI|^?e4(SXyFEb!>CW=zoUzN1m7wdYOc;yh5R86~GXIN=Rs1)f@PH9@S za%KItmLvCBE^%I~QJ9yJ^`>$~bn0e4mzMk|ep7|iV~Z84LUiX^f5`#&X3D7t?Y9=7 z$!J@iR?a*zutRQWR0Jk9k;(FVbvXqwI{j9k(0sp8m%kTf=wcv}8OYjd-0tTK=iYHED4X&hJtwCn}t)87u{>LGCT=u^tK642K9J%5D{r5(~?Oa^~4^4uOt#;x1OW6DZVIw8F z0hxvXLV7BN5_1(t>mfl(^z(rud964PhAlsmtyL);G|EK6{Fs9sK!k8e7a*+*vw=Kg&xbJeeyu&hGTuo-YSohyB4H3c%} zQ-TRnl4Eg7wZfe=%Qr7h2m%Xgvtdp+jfz#V^c$XHnMZe-jyJOYND?{%h)<(;#+ak% zoN++~l3~uxuBdINSWF?~*O!JWd%MSQ5%6qyr9sGOr?t`<1?Ui|-Yn|gJH zAeE4-@HDUIP~ARqmCOgj*J2<4Xa@25uCt1#`P3&B(%sf6;5g+OKs_?@iS#wHQ5@Fa zA7SJElBoIh={JGFujxUAEt%k)Cj%#MAlK-B>GPNac}{(d9w?(CnKUehgShZWD$a{aP^+tyB{XHq8?Ve0g(AI)#st7x^Eqh}n^~qQLhUC;+ z{GqVB!#hTw50Dei{wV<=W3YH;STG~>=O*DXpuud|b&^ac!lXwN}+? zCs$dx-~3nTT#;{-R@bhh(a07M`On4peoq6%pU)Yt^>=e-P`_fJy{<&bJ}Chd zdVuTJjab8agDj_N0(L!Me=44h`-7GdpjbouP_pQ9lHdnbpYHcXr>SAH zvR_TYaMk!^eC!42oF`C%;*da%F=y1kHr>jkv*$vk;ZSjGgq~cUAEicFnS%*lPbf(u zc5`Q@gBh+i-Aj^U#c~NY1=)?k{cd2H-Y07wBn$|p*d4Qnd6M%a3!TYZ$s1qvtCz0r z3L*%B$uo%fqE6YbC_(hYflAC5i#Np(o)IanZ(3>T3wzoTYof}0FmkYKI)}$eoIl^w zz$4ZQYY^({#^aW(vTSLyWKv=s7D;}{+uX{8$MLlpKcD)TsaXG`h4~F#gzQu<6+8o* zMQ-dShcZY+lIFl!!{=9$(s%Gyg(O>n(0v*!gxv3oR{VcImaWhATVPih-wNwmNLLd{ zk;^+Xf9+6WA@z^o=O5OL`Oj~-7%k3*7*C!V6f6icZ+)$sdqjz2;|iKH6|ht>5~K3e zwZXvk*lnua7|BCpYE{!u1CfU&tbmk?LM>7Z#mX^0%jal2nf1%|qpI3)racY@k9;!O zk#u^F0jsuPbzHViZi`*X(~c$AnMZo`OlZCIgFC7=V7(o;W1k^vJ6KhOptfnozLJ1s z6Ls`tJ7B5VKM`H6+a_X@oAioCFPJ2xulo8mLtB0Wwgv<7ce_~G-8s-^gmnr~s8iv8l2i81 z3&Y7vyY6?{q0$eajj*>F$&-zm#3{uuuhTT&pS{hKFMN}Lv@qH4%&%zikh-C$O*cYa{-h)oer@q)}J;+-e6S>EW)rl1?*R(bQPNYTyq(sxDibYQsXzpve%mmC7#bPrPl_9E@7!!qg0uD{r1aJMj8y2hkMr>EVD}&0t&Ah_)QmV9 zh(HO*$JOGrJ8)d3%H5dE+x|)9wtB|~*l-=n2mwtFc>N)!31;ZlsM>KY3Un_~I_j=C z%EM|(Sjw-7q9&%3Ym*Dao2f1Z;OBLmQfZqqGwaq-8boy3ce&9o6!yHVl6uf@+5G^Md&T78p+`&}M03=9Dpee4m3*$OY?Tu6fUYdWb%~oKMTWf8srtro*dKV;uCmQ#k)hllP}7Zz-f!YGs{U^Q*h0{wE-7+4VaU=fWoNS zmj?QA1CW^QC;{W8-sCm`%d>|%gted>)q@bgutSOZ!V7A>Ukv6Tngt3$-dyOMgRhgy zZJT?C%YkIXcF4dac2V#|aY|&+_4Y*xU%ztcCP!l2LKK$M5Za@Xhd|EjBh#xG2HSRW zLROlRJs4bb(1_!JU2$7#9~M~-Hp3wU+Gr`=@sT(?J$XGeFh95-uV1_E&O3HIU|KFb z`X9#eDC!Vw-2O9UhQ_Lf{dcM9`qqD^K`RQOYloQl901_;h@Isaz)?M8-nXDo&~iGK}tH;B%GT@n@gfaeqyfl+TAqLtG9!1QMs?^}7Dh zU}U@LTpxJzf~czXw-a@>Od79dRPAt{1)!N5in%V;?UP7CNMNyKy5V)!V1NpD@2wVo z^-+m!ctZgD-H*n}u9!2?i2i*X1-m`vvOW1^ZO$9M`~4pgwVF-j>YXfbB^M|O2lbbn zbh0#<9iZ$wF{`zEeFr8ScSxhOGE&K5d?l8SuJ)F86CoB2l8Tp#R^rNSVGFeXA!x^O zSnW>TT*297_YdWfn?Y?E6{$oUH_ZqEw#&1b?#x4WOOG(q!cYhsfvhP3QfJdkbZN4nS+09|JQU{5uO z%v+STsjV4)^9je(W;x=yaL=f1MT)!2M6^y^T*U=8%#2)KEy_DD$o!1Wn?e7_WWJqz zWxa10>9&?5&T%~Ru)BCBg|V)<#RF4z;RYmE9*Z1^BUwSArnXs?3YGo!_h2W8Lh_LW zA`{(aZoU3y9xmm*$|CNA$|nYQYwjOK(plf;pPXPGwh!sHu)CsJ??C4l%@cP|J>Xe_ zMcVHP*ZxJAhM~B&LYUVF?G^)dU_(tdpVz#)VhL+-N@n2wnlPeGdGCE|e}!q76?FSz zn{xXULKm?i^UR2RE8yrc9up-~51fO7-(&y1qVXp4!kA@i0gqNdi(JL$EsE?Bh>`Yi z^czBXjK6G(b63GMk8%Ug?R1Vo%d=C<&Pwnis%d`2BmdAdk!BO2R?BjC{DFo)Q>Av< zfz8l)=_G=#4`vj6>F3XTwikXU@Ky4Fp?E>Y90tv}9riS6i@-a;1en-Iu*l!nF=9VA zs`7vx_J8*CC=a-m{$*mXpgpmWe%B0}n&1_lu-e%@2akAuLnWZN!(}PSp-OvFoRF%+ z6aKG_6=I`tihNn>oBcQ46V;z7|Hsl*_(l0WU0Fa0r9)b}ySrn7UAm;ZyHgsL?(RmA zZjkPfZV*^Hr5k+ty?*b1@I0TnGiS~@Gq?Akd|i2gQ#u^|?<>{0k<;{#766^ex>Ntj zdz5B}^r-Jw$O_aY5eODMVu_d)%0!Y#1V$6q#+)0W$B%C&Y_}X+w$nUNrw;x$q$6y? z=YyPGaFAU}FNoBl>jOwWbR-D1Y#0w%Y3&GyF5c(vIK_~c-*$Z8$Nn0oKbxbU_A8 zB!7-JwT!HqT1NjKOg+ZM%Jz(sak_-p3;~D=hAy;;`z<@27iKL?xH0^aF^j4BJlO0wSS}9r+;P`o%ZB^ieEF#y^mEp}Q1$|2{?^AX7OkEVN78}Gg)NiYtaD^!F zP`B$XfTJldD2(=KaH+^}2DK;4o+ednfE5^Nt|ilN!pzErDkOTa)7MXxuBV_Rq!Q|H z3}x(Z8zY}@7q!QvCE&I5=22RA<>O6q&Zoiw1N_{; zvW6ztt!2Y`;&Sh62s4Yh^cc8nl}@%=Qa_|#u_zwKrx_%W;9}QtmZtYyP0YRaySA`G-*snKr>_MKP5w z72hj9ZU{GCETi;QB%)P#!OH(;XA3+KpAG+#AS$+lIH%s~qH3Jv1$T=WL`0RN^@WH> zl9#o-?)7!HONm{+3U%E46! zY`PM$IdWW$wYo&ppj7pN=Zx=w7N8Yrcqkp1Rn(IN^&n&Qk)2L}c~O!}KE`sK z8t-Ftk8=*%A(65iE%c{d$1`V=qQ$JY1FiMEasJwJwmvpEN`H7Q!ajO_Nsr_^&&HfH z5cB`O(EE4tcjh-~H$sgd?yDb-g*Aol2_-a2zfH#KUb5LY#xTwLXF)xN^qTk_5ht4_q)SoF*E)Acw z2gUR{0Ld$O2i?-s7T?nESog?70Oqd9jN(Bhfq^$;zXk|Z0XCptC!DhS&c^0rR?WJX z+}zDN64`cF6Gi92<9*9vWG(?U)OTeWX+jlt-)&Ac-PP!8HA{@v5&g+7FTQbr1=-Z0 z=a(DM_bi%@NFx6F)C0mWj&Y!vMi$(Aotpj{5B^Z6&L{MtXI)lvm%V#=Oi4;3RT?T8 zptvza))fj-nXNTe*3*;7leMy(gfkY6aP#$#UVu@z(mhe|kw-$b1nkSuAYayS?4GiY zvSCnp-3WvTz}(88zfSnU>fdFA9q|Ps$l)=hqn<0?qwuoW;`h@oq&#{w)WufceLcu* zm7(}aAxD_{WzUit8j^C5RLpw?g>BBVH9NiHxQIY^h`0Puw$rgtU(4#yJE*SnXQJvHK4+1l)5hx&vV1<6s59p>;&X;r z!pEChZzgvWLJzq-43^tomI`>3A633La`VGQI7YD#q+Rw2EUmOY|e!xX$q4h^cAgaDc0w@7@z}` z|Mm9Zu0F$7yB<+{Vhuxfdpd}5{I`rLUtQ%pxgT(~Qs02&5W{RjujrwbERjT~FPuIn z8>j<+&O)JG#-vTuqoyplYpVYrA+@^ZUBd3^l;rxGz{NfdYau_6s&jBblrX7HHr*<( zv0DV9DHX%J zCtEp==-wqBb<+I&{Wc?yc&vp7C8WP$O@XqCy*^7s3~aG*uQyoR$p+MKDY|V-=TkXCEA@bM={&Sn&;bW zz$^A>nd@s`hxK_Z2-3q?5z0G8t7!|oIcx0tv0nq1{+A}Pztpw%%L-+*q4u_c-A}L4WIt9*t^=njZCp_#)E1e#lc%!lEuou8D4si#WTg>&f{|gST4`XvTFK0(I zY3sV5&X?B#-|+VjpN1h7}l>Ifmo{A8)?S@Cm zZ;v`|U$*F>#~Df=?F8N+QRC7y3JjWq`w#%ZN-02WyNRE;b}-4DDL&D6GcjOSpb%4D zgh;n6eqNDJqfQ)M#!;US(mk{$j5}6|G0!jc8-S}blUaZbaip?22MbWI?#T|Ji+wYB zaLf|WLVR>Q{KdQ2Rkt2av0%f&f!mxxE}(N{{3CtyDZh!L7Td5M?a1uoI0jF?4Zm=) zGGVmRdh)?_DrZ6o{cQeAxbW|^?F!lFxWw?CZgaBv z|4`8_oY;P}gKt}#zy}1;bW?xbn$`>TUgcGkyH@kd0vJ z7h%lV0>E|MPAINcm}^=`+hFhTYA@T9XmWWc)D>nlPbP91Ye(Sm@8?CurFfG*I_q{=#GfZ`zPiqPDI^+iC&yx40EUAi_qLz5<#aF zn#sY!peC!v*d!~fD52>vngfQH08+KBA`{pE9d{^dw|rmT$29O7P)@cky0!#a6ti~{rLErny{Z+skfzc6|160=s*qoV^b zxtd1L;1<7WlmT}JOTAc?JUR%&sXvh<27RohMaXLw6Me4-AB_f5 z^FLu+DCRkTK`WvtjtVDF22oX8ZrR9D>VNZI|h&ek8+?7 z`EXxE%+meXK0*uury2a@lHkVgyBjT>JG#EF15Al)89lO0n*O}!#cxDcKN4q1|I@^O zVe1*MCR^M%poVn*=)_1iOIst66_>yRil@-?{MsJHvZCTs&JfNf3XjJUY9gT#!{ zP?p)m?)cu5)W32A#=h6ZOoecwCigiCj~52gJ7e!V<@l0W{LEuZU7 zU}kJ=ycv92^7ZL`oPR&c=aGq@9h!*eH{WCJ6AAAy;45nS!u;ytZ*Mod97+u`WR8xI z+D`#LH1ixcNx5ROa3hp464s+K?H_Gm50=6k$TVHq`jgDM2&px>MW>b1lGys8NLr}7 z@pFNQfrS=IUZ{ee%f;Cl6EP#n z7mKJLQB|P6`T${jF?MF|2As5#N=e$Yh7U_tC`xzjOVgxIYIM4~SLrg%GGSQ#k)WL# zAY4TOyQaEK#wb$Z0Rb$vjScry z#3dRl#?l7T^$@Dqvsqf?re{Q$tf)>&#$og)*0PgwG%6IdG`McRdXaX-hPzX&R!SE$RU=hYUuz5Q%;>SSC|%XS1h-s+}5#~VO-m``R5=@2ao zYJ%Sg$-8LFm9bNZ%I=EQ9Tk}^^Q=XTm^0zMSjRUoTm-N_og2M+7)u7xc;G5yI6n@g z4FP0M3A`v|-)lGBD(9jq@eTo1xoLLvvs8W}p9dFs5~e$Ok=%Bh;yi|BrArG^Q-0y^ z275Xa4X0+t!QQ8&ZH;gWp{|N&v0}U=%rvVzMr@#K>%v4fu*E%(9cIW2cC@GldE{D) z;0{;%9hH-|Px@%PB4roisc_D)2KmLcA4QiJ7R21FY?pk29QQ_gwg~ep?}Qct5sj|C%q~&BBGETg~X8s1mLM2_K%15>HLt zJ=l+>wBN*=Z0scR{gsJr|572#JC!&}eB>8U%rl^z^rguEN-k4Q1@x<}x= zM{sB^sE6`n*4iMXe9TcBIcZrRNq&$x=g#{6`2nL-Q&*}&NVHwhpQ2!?gN(;4vph3t zo9HsQ$$!Kwa&#YK^+USlhK@JNW>?9k>P;j4D+Y9cxPjA4H^ed9A4{V^W%}yeaLQ(^ zZGwx{TakuU>(fqsw20qN!eLxp5tw z%*xN=>YALw$KG$c&Y0mZUU743Uz$9l=nll|Xz}J%T1A3Hn*wuG4Oatb@FoYVdvdbF z=WMWG^(0nsE~N;@tn?5&3|#5M(xJD{x@f0g9z@9Wofn(DR?3C;6a{kt<|t2j7~YCu zpp;@l@5-#{AC~RyQL=R96do2~W_ZlXw~QR2to>Ehf?Cd|7~-kcs!p!eVd(04_+Wex zgR&@2$8p8cTTs*EC46!504C`2t&0Gg`;#nEmxZKP{2b;azpK9{Zq!v;!2ZCCuM`@+ zfTo?~T9<0ztty_7Nz7_X^bi8CF$W+=hNf{&0LZw!XSZy&LkD~6T2o~0FafIJ8xkax z{k7S~9Ehp5M%b_8^S3*6a^WXI0n7uMIp7U-hQSD&t;?w3 zc-fpxOC_G3w%re<5fs|Cs0kiVp{R>x@P|KVO&7nMCZiH96Eu6uUKp$`2e7ws+L-RdG$?ACq1(qGlGrPqE@5R0 z;*xo1vlkno6T^%ek(Ink%;*=~kT;Q984(@XL-m*VhnrpA=Z0AKB;O0FkSt!$kg%QX z$4}&buR&WiIDWr?jJRXQ1(U6O;fr%lzh4Pf%$SN*W$Zc@Qy@5P7oQoOA1K7-(Iu43 zGIi$59bL(EMleg==4zc4rP*Qvq@aTstiE(qs~IB}D(JgyXl7;HgG&b=Ykm`Mt?CgyZKLHd z0F6R~M#nYNZq&D1gtch5(H`1z+fN#m#0#4%Sv8f1jZz)A(Gk6cHW)9}ADDRPrr+v( z$=e3OD$EFK0#d(?i|gEp+3kqc;Ck@V|KpqX>26>s8~Im*x~=UickySpqF z5RHU^R=cVYF^*BrBW=|L#aW%VD;UE#v-7h%>_x-wR=Y@^MjEc2*aIKI|Cb_Mc&@cC z->PJPT*FJb174I0YC99Re%Av~l_{SK1~JjYDEXmD%T(+J*wBO?ba#zv^UcTypXXh(w2s5K2UkS1ic*{}Tc)em zQkzP@tA84MmhYgVzxbSO0f=>)hu8bX)jFD2zr#}->led=Z(Ph;Q`f&S%=cc)K#j>I zZ|n)`6t#*s+g^JFq!XmKc}Pz>vLL=lOZ$_>feRF^=9X%a+vRJ-nhd4%Y~3Z|`<6KA zzCK@l0;>LNn>kRvCTVSo&yQ&IW-;M4YSZ{?%p?(W%9ZZm4`H%ye)}uysQsy#FvN>R zOF!zAIGWl2)o1Eu5MZ%lwoCDg_T~A{Wi;WhpU#oDRiafwaI!h3^bRgUJ?w`1gm!jG zzdN2cv{H?U*n{#r_4AtOH&Nl>0;p=Y{icp^ihllH`j|M2*_BhA{aqvxe6(s9vr8jN zFT+^A-AhzXOcsjY`4A)57_YWi{zU6W6|l=|*goJWK${m=kd{2EW+8=#-v}qF=B5r~ z|1oF0bMWgcx#8G;cu)sH@sdqctr3?elt>mC(%Zlte-j~Te{Q8kyT+0)m>fPYZEO1W z0uspfp_Z{3aSV0Rw6vlHRE8HF+j3<`@p`QHMF>J6g}pTRO8W1Eo2{IKD=2_QkUxB# z_f^N+14Sb2N@#F7Q{{OE!ne<_dWQj1w3>#5KO5k$xjBwj@h1dB9E#B9qOMlZQjjIp zl%>2nY5Jx|@`NZ6SR!NT!LLWqII(#g3XT5Pe)zKvPVAXAf8X~qraZ&g>Qr^ zqte|-zW*;1@K4tf92}^G!d_$-;RiK^*`Ed9U$IELw~I9MxyG&CuxBPygF$G72`C&a zn%pQG>>(>)7*-AxeO=8u&4lnGsYPx`$t%WO6!QlW&)H8oKPdJ&%pea*HJcE7Dnoh( z28%kvXmoG5ELAH$qYJ())j|=IK*R;eaX;K3=Zpw*O!t>iV|y)z*of+(a(YR>nBuR2 zDTq5SWl3b6vI*M+crckw;}h~9u>f5n{9yS^g{hD1gcSMkwFkm~Gi)x^LDaazfckGu zoVV)OQhV_py=CKSIMPU`Hv7$D$=wjkp{1b~0%+zu+Bcoc>qQEar1P1H!NG1sg4I=< zJiFg^Iw3x0?1YS-_t%F0`hT7@SLLQhIeiAUCdU0L;K6llpR4dntBvu!F%N{5EC>uB6r|n_oe_dQ$?J-TOSfVihwe>w>e((w% z(UNt#rnfEBf09sojU{|z0ks#<(w4&NxYUoy85RfkHd@JNRsG8IYTwmgC#%>&f8-?; ze7eeBl=olb=+Q0_kVE=9b?8uD*Lyt12m`M4N`nPhRyGujn~As_A^Iecz3nZ$_p+OL z?=sA31u z{j@8M5G`pc1QXb81{MWozxLVJ!_;MpBwMxi4nRf93{ zKXzYU8%`pJ_Hum_NJNy7Te!W`Z01F1YS(Xq?xA+L`&CiMONWN zm38WQJbLh#a?*AwKsH%jR4glOIm5`&k2zu-7ziIiZd4^Cx`E|xil#Z?&70^@&5k{% z?A3H^r+%!kk!R^;r8AwAp#;Opa+xS50cLRp#3ko1l_t{H zu@wHejGFYG*azQ35Lc)a$z$N{vA(j%Wbl6suE-7Blu|MVMG-D!s&sY-hT|sAcKu4-)3@@&9)1Pkf zLoSbFNec)?9qauVl4akEU^=q)pvpSi>c=Y=D`9=ae)m5Tm)ysl_e)XneqAjOoh<)K zt#e&wR9)(&lV!mrzOByzm4;al4i{)wS!)rT)eO@kw#(@aKKQ3JeNxs@(NwfdyD8VRPL2+9 z-T_4U=qVj+V>b{j1t(m%l|EH~`MY7BMf9R5gnsx=qa|FS07THMvyJ({*EQB?Pcnd{Af8wZ)sA1q{( z!-XgVoBc19OBb_&;`vv0$Kimt^~1{X#j2=92OQ7POp{X^8)l zbM+mYm1dpn+hSuE?|@St&tJc()qhdV8=R&+UhYcFK~n#K< z@ArNy*#}KiQ7BwlZ7AD`{$ABcmBi?cdYiB|WWKO%{k28Qy-m%H&r#bAIotuh3Eq}E z>{M+xa1}q$SE3Pv^;5FZ9qMR&1i9^Col+G##FdPC5~b2oi)x^O>>#tx!r09aC-I;< z(5(j22{Zkh%|aPh!eLC@Z0~fDIEQwzq~Ck?x_0AoV7m<~_kFippmWxC&HwYSZkZo` zO>AU?#;fp!IuQf(QJsAMNK&0e$)6N*ki7qOl)j|cT;qX&m3;Dfi1`rE$B!SqFQSvs zKPn?SSERO_pFpHN>Ja5t(GuwGvHgL0=X%N>1_X94G*5!ZnEf-o|95ovkYpry;bq(@ zYc6Omp^8ahMlpbz!quwNo156UkxPPHX1w09{Ci*c$PXB>{2c#?pb6Em?Epn2f3K{! ze+w5c9X~zK_Kw(oVS;)~cuQ!wdl}JgxR32fscX4QBTId)4*tPr_hbmX!c2G_2eWkGyj)kRFRrGbo4#Vfq7LT-VcX&NZBVQt_Cs`wc3MP%hL$ASpA|f z%WSr%ax#;<#K_z85sQiWHsmt!Yczg|BeT_WBin1L~zx2_KWUN*u0$wCC9%$m_Y(>910*$vB$3nO3 zK@*RuZI%2(wgs#@3o_Pce?0dZC98Ehm{-bOW}C z46f%I{&w?J7519uD2{+xgcNm^a>|g7lGg3FlB(6rvkF3SK zrB6|*K(8ByK4`Ih`NUoR1J2W^EIMtwJ6aR0-o=8ZA#{8Z8uc_5vxF7(Z@c2c3= zBU39(HHKX3^a?&S+elp>Hu6}!*-xm&nrBFytYv^1CoIPs1a#sCFE ztxDz8ot`W)0kaETQD1<86QPJx4#C3JLq_!{R6}L}jz!f#fK(DZV#sfcqm4Z8RH*CX-(oG5A;YS`O{j1d3G8z)LDJ7#}812p0e zIv!?n5#yV?b@^MRbC~|c-vK+m`cYQNg+hd=%N%n)V)}j#8ecoAPTmVI zS3p;9N)7}gaS@m;C_&`-<>73fa@6AVd(Q#; z+H40Jw6!rUAezrsAcD>t7-v91zF&G z&yXf)Mh~iB$`gMcVr8}GQKSLP?)AH4$bQJ0s>XRFB)NAxF-T!Z9NS`=Hh;dG&d$Dh zBFbt1MS8Q>FRbKSdep7Q163Uz%ww|i82x_uChmll!;&KXMc_eS6ww`eKQIb6%4-D! zBLcx2#fu=TTefA8>li*x;u)p##B^ZGW>o&E`=-Yr!nc|&YW|46h-(4y!4C7dc8MRt zsuN4Hca2Ee^QirPhu-Z44*)2PlgEP+tug^-!)9|sOxF9NoF`kL5nDD$fLU$wc@{A7LP&(U1k`4lpcZ6*s)Nh&fIx_XRhIB<-}QNyoVrh3DaaGtCBuVc zB)^=O7xe(KkU5PBu@)U9}3q?eKjBBq(!HMnlRqm2!lKt>veYR=xLb>fALK5|N;v*)q( zrHbG24Y@lw0{Kyxf|wSUB_U@vW{I=1^SrX^1dR>JBtn`qT&%!7uwNQ$)3W=}_sI&s zYEPQ85a@-16|_sk=b1%)s=Sl(4Db)g+SCuuwem~IYxoNI3D5kEH?fF9esjtX<;);IHeC%}(X% zRF6r8ccAW(%ws^zn^Z8auaPwe1KsJIrnID+?ik3al>hQFp1{9yCG0)t^{Eb2 zLM*72hn-S4D!ON4W$QmtPQ`7lTR4LX(Lo&${l9a z{VY~R7?;cfUe}Ka@Gys$$1dylr>7#}1N@k5(otR>Tk>s65MkcP2YTwdH7d^s2;s!! z&c?Km@yK5Csxn`|QWxfE^##mmn1T$ubea?3+Y2>V4-c-k8*(yvvQ{;f23@IOtyv|SkuveiFDLtp``NN z5p52-`LI%LYKmC;mOKUIoh-*hxmL*6^iK`zSEbMCXc<AXiGwO@X{&x&)l z3k}UhG6|6CI!$s3)rH4a0@805+jZ?&__@`uQC106gbUVo5pJ?O`!3(qSXUK*OU+I; zYyUylv*b7?v`F8a|_5N18&W|1d z3RtZ#w@z?P=YQL($a^vTkrcEZW_K-&s^D(&x@%Z^8gXtj)Ei9O-~44NGZOm5WTIImxW zRo&)|pW%b0@R^W7tbVR>x+E(LbejEnwWX4^*P+JpOavOy%X( zkLEQEOVcy{FsxjxjG}mx1cuRu{T(%&{~H!%h~o-)rGlZxH&n=b9q-^;7?wsNW76P7EZQ-ZfSc^E?&*s8I;G>jGaa!iI1ODoCUdmo884@gpt%;<}<>jghm-k{RV&p0Vhh zDzitHD58n8sHhX~h$yNfFE$UrgbJb$s9yh^vf_PAngod=7LcI{YV*bjrTFjoL|;9U zR-`do7*$lgt@)iO^~#$b?Ln0EIU_yp8Pmi)~c(O-u+hR9M zY#y@VnG#|0rpBGUEzk2M^>L~trI>8DC&j0FWF{j-{3CIWe6KbF4X5eXoa(ELw&w39VxtNA zc;gWW=4kpZDl1(j?@x4l+~LE!DdG9qR0u!6_vb>{4%cB{EZgE=)e`Zd8f8|Cx_1?4 zYPFe!DF;|gv%#U__?bVeDr&l_Sgh!g6BKWYht{Z^*|kdwb@ms1C{T?rMq;fm^%r0- zh;8`(6$Ar~2VJn7>6seF^_ zIcW#)tOnC{7R%OQ3t$6o`y1*Vsb(QkTyy7w@Ub3d0K*=7$H8~kPS{T1EBg;I9j}eQ z5Hi9GrwmFuJz8s-Oq9xA;n0h|Zua}wSv=Me6=_oWlgi7J;GVUp>55Zg2r}-AQUX-{ zk_xavXqjb@7S;%5t^JJMnVRHu#P5XdNseN^(rZ*Cl_%S!$L&it(S(RLN6G2Zn~%RL z{DJ+`;{~lH^5OESRpIH9#rvFsF#EZdP>lU+^k$$`a80+tNC4G~X>@~BW^PUOs=REE zb#LX)}0%NL@=ViTHW^|SOl}8t`9W$cDfN)1sK{-UmdlcRuViO?V>hL z%$C+zYu72H%hHccs%$}yb<&spFf4~WRf&%|B0u(bAc6&*BvvLlbx8d2Nw@KA3JAPf z9GW6@2DsGmaGLW`7`c zZ_2Qa7n44%u>2a;jL!$MU`oA2UuVis&7U=sv)6v6?uMCj%W}{Xs->U^#Jh=KyjXpC zUAr03_@uB?s0<9-r~VfW&b8Mme|~Eno^w#<2z$Og|+`YftS6<2uzm zlFw+#evkyB>NRa%yE%BDj!&E~q0HO*QFf0m0c`3dgyqN|S_;{}y;&^0ycFfjWXLB~C z3A{brtqJJIKE$k=V5D_5e{ zr-Eth%OuRb#SObE;^CP_o7bq2vTWIyH;cxlZpP(xZU?xv1MbU?$Lyny<4ACNFFQ>B zzv$Z95un<4aAp0F``FfJ;fr0#GA3cR=C2Li? zZ$$#h-hhD+e?iWresm{|Jlm>5(`-k4QSiv7rPpFtir(ooP(380eZJm^j7MfX8_;>{>3!Bjs9 ze`GP8+<%e%sAib4FMJ8F9v*2T` zB&Ys<$DD(p@@Mz+$BjYocHRvM>&3#diHoXKoAtkfgqD~#72*~QZv zf1yTmZX&$sHle1&I`UuYVBFOmcud$|pgK8UKV$}AOQt>LXIQw=$vb>KG@9*Y6>19%w z)PourXKUH|Ma|eb^kf^ms?L7Eg9(FJlgSt*5mSr-U?-c{^`GVuss$}c#!B6Zm1ydE zJRl+qGW}hicuGj)VY6G&c^-dvESH<3{X@5`1^K5pt;7RXH_B7SI$9#d8|Qqqbl8v? zwmpA$y!0cx=w%;LyEXm?-DrV+Qr0$xni?{z#j5rjQilR@)MY1{PW{Mp%b_9My^-m> zO?k|Jkb|k)iA%SID4ER^O0JcU@lT{P-fk;Mn7?2(B}w8dx}g!JCN9LLKrkT! z8V2$v7~xP1Rif^;E?1dFm!2|>P@;_Uv4i{HR0cXN%W&RjJ@4>bo3qXAAGQpxk5vrj zSbT^^@4+~w?!eYa5zJX;;8vmHOeHTMM->;4BaeJNrM$O$CXP{`d!vqZyMP_aXquQ% zCZL9O!ZSX5Vwm!f>xepoO|oGd3XPTP^dLltDzm@56g;W^*RXME@Y5_^WV%&>Y&x5F zw(hK9&YFELVkeQ;s39Q{>AFtr6MGKoI@GP(e6&W?3i1-QKilz@HbyWrKNEPCC{n1_ z8562F1ND1RY1Prgw8XC5Lk4)IqSI#0CoR$RNewQKbk*E((%vP?YGw2^9F2dvuxb=Y zQn?*};Vgi_hs&6nCxu9?28E|CSLkoZMa8gz2h+Q2#(6IEwB{0fN2aO=5d9kJ!n)SH z0w$7uWt3+|f;8T)fNr(VEE6}5=_AF2p!~RGF<%|r029S=5#4k?!@RQJ5=JkRC2|HK z1AP%|ayHWNT=GH970VE1^O_DBYT<;4j}JFimz}J@L}^`6>wgq`X1nRhRM$=rJpM}m z0skk+5D}_==ES{pA7CtEwCLvydIgtVQ+k0_MV)aL7~3i;y07({e*Qw@9w7XEA2&>t zEC<`x4&>*QfY;0@rd;Mo-jA$npMb#adXboW)&2+c2=SaOXQ%W7Zl3})WY{!9KaDK_ zK7X|U-Ta7cE11R}jnxKQ)Ka5rJN?PJ-`K_4cy3~npN|D58*iwS=Y&{~uZn4@4hGw_ z+LME7OgUSFtWuSi#k4UV+7~VOygSIGeuViUW;cg^0-B@aU#@ZVw|681H$4`JZ;$|w z!*em7A+DtdxYD=#Zo>QKxkA|f5@k&xti$uLRZ!In6&2#dE@Y7ShxWp@t7^Nup7|I*+`T zYw25EZ@wyW8P`j=Qjc|l*}rgkz=UVX*I2T_L^VzS1%gmrV*$%ryQGrx2x8yVJLf;F zPP>jjU)0>ubyy^gYq59ZY)#qM^>%ym?xN*4iDZ6kXrCV6E#5hNv-HO=#-Si}&Sb!M zFltSZ|Dx-G!+}SEKG>=NENGG+O1#2_t;X23fq=J&X;*jh#<}p^k|>36sRHjVF;?T{ zk@%|xivf~RsCg>^9&IO)!ma`rt?Ai)kUeq6|B}sA2JxT0*}Y_x+Y;uS^pXen?Zh89 z&TDwo79u1gxb+jnCy~lIX|LJRR7{qzFO1QH$N?>=bItI8E3Yl|Bo%_uCPM`?jW0#Wk3H8JE3_~dZIClVSe+i|@oKw`RC`vGtI z_JN>z-v%HsET*=8>SB2zd%bY+*>RMNp9jcrQYW#^vx-K|MKjXJP8TfqBe}_aM8H!H>bZ!S%PrtzYql$r zEU~k;^WP9f+C02HYxVo_6+Yc1d++<7h+a*dz>9iw-m^pwN2RmTgiKo|DmhCdfTGL0 zsP-Bi>I)$>lwisT%Emyl+2Ls1j5rRLcXAl?AZo=2tmNmc*QCSBWfFVk5#Dw4?5B6~ z`nYjB_toH@?@R%h%JZa>7<982CB;7WGlzLp%Z8?B?9E4_{rh5ff`+tL^xUTN(G+6B zL+aLncdP9O!I;PyShAfQTXk#n0_E3M&ZzW1;^k;*#577&BqwY%+FO=x;`}ieaSPXm z-ZYCvnk(CHPl5i4bxG#LiS}0XdBSo@+qzYb_Gxj!7@IHM0Do zC(8*$1aFJ1$d)&EJ`V5z}-uHjAEnQFxSacxsFJX1hnCFVEHmC6ipC z<|(rwCgDWGU!%$OSgMMw4>-QI*0#)yU-YO4CJ!!|7A!Gfc<0#SD#r(~HYyHQen6KYltb61)g_u2tLDrb^NaS8l4yqlQ-m9jpOFkQ6@7kknNcN|Y z-*sX*TXD}iHP0-2^C#cODavPnDS+B1L*3^+`y;5n2CP6S9z#j%|C}=ab6B<`Z1=@2 z!U`#!OGtlj|bYoVRzF|0P8XHKG$#G4LU??d2Rrs>p*O zC`-YkmT16x2q6#SoPH0)Tz#*?{pGs{t+&)lW;IsuL4?4Etd?12R<-Vax8>tD$`}qo zG-&`mQNTQkEZ%AY3q)@M6Jj(c8s88yN^WWDA*MO%FlI6F(yZAHS;j;P5Z&AUg2=)V ztFXFTze_pwZYb{05G z?X~xNL#_|2xpM>3u8<4O?2f{>S*`yc*5Zz&wC5bs0_Fx_lkf}UJT7_$MB|owv?LZr z)}^FO#_i);sxUCJ-IW;`w7fsrm@PZa%=4x}lb5kmUfrb5w9v*N6*rV~6POgFlcWeJ zesZDmLw5vsn}Ca|xxe)7G-}f++@FqAYZ)W3Si<2QVL5J=m}SX$_jOM2kRI*=YO5LS z6UaHS!oKU+q;~YD-6~A1#O=(O(WGr6vte+ViV%+;h4TscqH5ie&Y8?UE5E}|)4%0) zHc$${EXYv;^f7ezQ1nt<*(~&Quv@w!<|!^)7(m7X1mIBGki0XIUa&*R3Si&0U=U4g zo94U*tglXBBgWgnLm&8S@2|lWotl@d4De%VtHJ;7Qe^XcSn8oaiRQk4$Foh;jO49-pTUeU8>l=gt4bbOzrv9vdwDfw@7($Ydzkq`u?hsQH_ zWi-=`(7jXs^wW`HAAS6J;l&%nBFrY!pSWFZlzvJvLddto(BQkuQiOPGLT{ry-9hX;H?-G$w-rM;r z31p=HVnFXr;INmcW5;%I!ej@_Zc5z4A1VD$&0H0DUuWovixJU7d9QiR)*cM7c8eIT2|R@K z$=Sv|i5l#3;1NS*7%J!C7!OdiMmPa%7NHRt*LHutVSH*naS1}-$3RsU8xvCdU*qLu zl$5BPO+gNUVBhdvkMN8QG2!SF1hTxZ9;Snc(i*9NEX7a*`nmh*qj!I|dr-LAN)*O< z<_1(%E9dDhPhcrV^vTDFGpNZC{vtq3wM90Ak6F3GPcTSNBE;|$3cuK-$CQOzcv?+%#OA?)vl8-Io)E5ODLQ{*hHq4R z-K)SwQB&&TC@B30dj=jq&UZ~yeJ}bncktuszFL}eA=lhPrWGTgI3kY07}TD<&=dXe(-RnaLK?a6I7yDm zSG21XL0rO-sYy|Gicjj@5XJLAtkV?)`WsSwQKJP28gH}~9pko=Yx)?3l9sA&O0C{Q z;3Ni(Yl18xgNC8diB%STI91W)Tcpi1>TtbuNj+I)H*v`aM|(ycRmM5P5&abS&tS2S z^=R-EKBzbX>7_~~Kpsca5D7qgy`HAn5^z@ZsNWiDYVdz7T?Io_UDs8*yCkJ%=f+a%i#WIAX(kK?^(Z3rD5;%<6u2-6!!E{)a2{=d#uBb} zYy@+!U;!I$Nw9qRrtt)K@2-myFnTkT>jSKYMM+AMqjZi049qxi?NJwI|P5P#K%7^zY&cG{uQpj6i)~0Q2*kZ z3BB)^K9*hZP*EQEqeSmw7h#5Hp7q%LS^g;tCF7LR1&Ps|RmHeXbbFC&h7V%apybI% zh@@!!^00iBF?p;Lm=->^+PdtT`4h|5*Zet_nA zZ*-fy`W5s=Mjj3^ez!HJ9|8JV_=bUd;hR#O0@_zKcG`GTfPJ76xKR z$VePB;(W&wnw5jN&%Cgc5ncqqva_8~Wc|rd!?b-+nvQdNxNbK*D23E}SZq0Qo9y!r z+jY@9z|Rd5(+V+3S_Td#|B)a00zY1+zh`RCa7um3@*zogNRa$3bm?hMqfq3n$NDmcj@`=x?J|--qbm3I;ZEq)d5^}bAINr6JX-r+EV11q zY`t94U)!LT?bm+r)3`{|`+p5>1pV z|6;q`&Q|+74m~li)(Fpm;0Q3b?h z&gBI+gvJi>ldV_C>PWT1YT7en;{nXjwA#RK@1S9gf^b z+6OI~)_jpHdER&(V@-FfdFN~HmT^NI@~PPT9T&M}JpHILn%zo|g-15}Ic^dtA7NGd z7qMou<@zmk2afp2Xu{8qRxpYQhVZ z6_4#B#anZcBZZ@2||YG338u)VAzu zKT89LWJvl9AJ(4(5(r8T!vMeM#jGi{v@s{Q9(F`2f;lG@NVNBRx%Gt{rs(&%N|poG zo#MqN*2;fBGQ#%XSDo%%O9Y_}>X^u7;rXb;nE)|tx^XRqE>D=3uc-BUxV5O>S&?^% zFx1)sBR9gQNmpici74{qv!vB$XCd=FwUj8_3q%vGBt(@+$?f;(wW5)A{P`Lbb_aR02Z!nsR2|>D9Jpfhj%e{Wgk`R4^d;?-~ZQbD`Lq@6?dfw&x$l zS-cYZ+N-IreQBIVA*z1(3>UW`=`S?>u&*B}+zZEBFjKpCxoQMSB^%M~A4FzdKyrtkG8coC+I8`~T0r#XzI!yM*XE3qQX3>6Pxr#9y@JIJE zdocupGQSG`F*Sg^M*Psc&~*LS2VKJ75e6s@UQot)tQ= zNwF2a{vBogkobGDzw}xia1&l2ZHx>f?9EUG?lJOZMVganS`5ujI{O8%zHb>G1H)dJ ztcO*D@_!U7%vQTO3$_Z|>@%^#_=zQMnBvlXsJD}s?$0JFhLbhB(IW+nFZqu?Oa1g3 z?3Kse2ihOz$qqIB+m6#&gMP_O@Gww={!7vI+jQ2E=w~W@0UvYxP@6j1NK9nXThSO( zj7&CV6*iHWo)^g!f{U*zRzSM*5$jF#Ob@rTF4l44_w6}mZWvX6oyK{lteR18(;vNT zpDND|N|Dp|gamirwj9NP?&au(J7j>AJF+7y57is}sju`HckuW(sL^0E)xp>LPz6%+_v+`=%73tn3O@%AFRW$}%A)fhXR=*bt4S}y*%6sKgO&iC z2|cu&yn~ua@EuMWOL$YOFea6{wzHtNUEj2}GEdTJ4h(Y!?%j)aYOa>JGSQY@_tSmE}&&4Ht7s6W*BmrK@#`-;Z>9*f&Spu7I`{A$QeZ12g6+PK5 z{OTzLn+OI&HK^~-BWUBDL6NY3A)7U+#51FFrW;A^EQCylK}epirmyY!=cK z96oOJJztxjbIMVtOJNpE`HLtYy40FNt`#Q14izoMYt0~#DvjS)r#VFTDxFKW&Qx z8#aPMyS4aazX(`V1&D3R3(%><=e+BgiV`TCv_0?69Y6v2X|V_}>h+6)N8{IFUbpKs z-(ff)=;P+&)nK+5yxxQTR|tb@F>eR}DA3u1R5j}iLmkNn#DCr)MLVUwYNCh#e#QUF)H!5$ zw;ib&Rj0CwYtFgyp z@3-dqoC?Q&l~9_S8U3$osepUCIR2>x-|<}<=F4$&oGPEBzuER}ZZzaLl-v`a+hdrp(fYLG3&pk;C<9#!RRDL=DqlLn0Q1C%>NJ6oLCDYnwKQA1KtN zeT}EiRhIUx0E_Y1`zL+ZkUNhI`deuuN&T>Fsv5DrYqL<`4oRFJYqVRCKx%2aCyi;D zkcX9UE@P%0jWmgE-STi>$X?MQpZpXg?^8R3=dbMU(T3#Su_t|5lKUdjM!7oRcqb(7D*fk1vc^?O2!hPa~m{y$7snFNP5w!8U0@xxvk<2)^CJ`RsN zMjW*2B)Pvww5k5qZ|}tIA6-J-U+E6Q;{Tlp^Zlt0w@_UC^Y>Li=V##TXO5}|XCG?& z4T6U*fw#>s>1&sQ2Kor6D377cOGozPt24GI-Ea(J#Qm4b2=00DY2Lj2u{uIDKIVw; z(mK!(iwLZQYAcEZ2?az_dM$qkQS9@3#yM$LSm%H2M@>GMWP}YW5i3YpT8wmn!9pZR zFo9Rw%EJ*|KXxIJjDEzy4$3n`pHV4q9xYO83EbQeCtk0Fs>KH!adeS1mE%H3IrPbf$p^@AD&bmO9fba zv)=gG+niP~mZZU@OQ=Z{Qh!=8;Qm-Ig&<-a)QD>ZOBTv>@yYZ%p-q zKNmRE^1EL;q#CGowNJ~KRi8mny?ZKRMINYAeu&dCKda;EZKG-UChVumFKF4}1)mFN zN0N3sx2~|nxjNk+Zy*8Hf~W{HV>9kGBfMq7b{zTy z(jFG_U8W`)fEB_LBULDM=bPl;FnFJlyb}`8%bJv*_e_5gI%uxE`D6NUr-nbUD>S&1 z4tm&!hNMMf3is$)s&@VHa3KB2#)wQ|ta6n?sU&_7z=`xW@()qM&F2qXe-I;Ys!y>i zn){{}o49BwIdwDSPn2Pm+nl^e%xzBrj#X7nUlzPfFO%vQ>72YYjF-Jv4wB7}7~2>v z1r1nbYR#lOsf;JGeMsbb2GbJ6ebylE^e2IskmcInlQ&xa|1G)f(zi5;9d?c(`|}zZ z7k4iEu!tZsc1qwx1JO=U^xP+>Xz}Eq!tDphl?x_kuZy03!M`>Fw4B8PuDSK;fop3quT4<$o~j2G zt;UoOu%~k!^|H)INd6tCnT5s9L#k7JWq%W0!&~4S0)c=x&hL$Mh_`dn@whP{FeNih z{fM?dPz5bF_nO5GSexfxQqOIGct;60rS?9J1n6j@H`dd$FsKCF?T4p@n9Jk!<%FsZ z7v*r&CG7~geu0>7TE=!kLSZbEO#wc77CBP+wjAS*4ouokpH?KNjPUNv!|P(g#}p1Z zXti-5_kQJ&epW;lHVvakHq5E;9#$5l6G4M#xh<+}3{=a>z2dDu$MC%RF*s&?C05DI z0zTd9Uytxe{oa){7eT!=R~v{j!<65eS$CKx3HVu=WnEp0CxFc$%nAPNyQ;Og#!%a) zZCYD2>Ic#G?g+bPH}kS>;#vu#}Hw`k5(jSv~QRKZ|1+zGo&9S;uW_8fO`i95)H3n=L7>Dpyh| zJEV*6A8+l6YC}V29tMQtBFJ{3p7LhdaeZze6tYTJ;U{2UkLq*glkz`7Kd~;}fQsS& zf7;mhsvj$(82h@xfB9g;{8mgK`_d_YiiByF1-HyS3)>Owc)@f{=L)KmM;7?0$RtcU z^>)&iS|ORj%wlfUJ(NVVCH9MR4m!=Sm}`8h2D#iAzJP1F5JConUpv&*%|SPtt7$0Z z1SRwDxwOTvwmb5cyUld9p1*8Dj@B}B@+~V*WE1(1HQF;eCB2%8&I{wQ1T#zT*H+y2&tWAO? zfOY{{^12qi5JDt|aJkkLV^*ZfP$4~<&Q!}6r)T<4_~jYgf2MWCt08~S&FBJ6h)E*c zJ|VB3{VOW0vt3&;c5Ij5=*hy8f$J+67e^-0hjXL+Y&vfsZT;tNG-0sQ6_a1aiycj9 zaj*Z*MQj`C^F3jYSn`S7>|L})wjx1(bH>+dOIZOsbMA+BiDe9eD&8FcI2ftildeEU zRpc!;nd-`w_b&5kG81Ktth}_9ejfsh|WmI@I;sM^@qF69V^5)y<&@3H$=# zZ{cuc3hh0FLlhpLE{fn(vOuNvdjQ$NVJE5|^q1=LL{Wp$Gq&4Yszox6!O-PIW&hR{ zX?E0ajF7MFlW2%E6K@%ozt=|@t|aMvK&-~p;4YI*Z)5^Fxb6o`u6=r)ySmT5eQE|u z{~j(Z&6(irzd&eL>4Ka(B4_P>&%IAXnLze9iKbaO;Hwy8W{JaFpKeReBc`tjMNM`^ zqpRy#FCXE1$Kp^y$~LVbU9!pcGeR`;PJf$-`(sI4(4r4PlqwZy8=Hd4B$J*^wW+Gd z3MLzac_lerR-V?;3f7S1j5d_?KJXDe+*4`195#SnPUW`P5QSjq66fE;7qSkeiaS96 zG0kpy@l;!d`nerQD&`Jd_Klp~T3JoLlB}i0j^lHZN5OmZBLbx&i^`pMoGavMe|{jU z$`$D`U>TGI;d2d(43Td@AiFr}$04^iw$Fmw9MYC>J#k(sb;78egAAEH4Q>-oun2G=LZ+y?1TCb;OFMYkQbLzRH55^J9`CbbR$tD_FoG#Ci z6mu5=ov{?$K)jjzrmlEZ{4WLT-<-H&y1mokl_M%zI*TsNE4t2FB}pAB)KzN?2`R=_ z0oQy66^=*s^-JTA3hya9$wo}7kzt-V9^wluqND$S1vs*WZ{t2RXo^2Go9H|Av2Svl zCH=)lr$`72q_h`xa`e`>BMyQK7?{b@1-9_Eh2MDvwIh>GNf;()&&Q$)#AqrpiIjP^ zbPX*EtOeDJ0L8L-G!EWPC||oS7=;+#!DId5&u!Z zDHd24S<*{%hadC-FvVrjw8b2n(=6eb?;Lj(o2FsTq_lzwhOEOZSN%M7-Heukg=tURf}4{(J{sc;MnsF)90>ZABxDU-S{8X;BECChDJI5E?W-m;3#!i$!X{;=g1?XxXux0t2*OV zO_%kd5TH@kva3;X$PWMYJ4*F;jyGe<6F1`^@ATtqjyxW zCN>p*)t9a3xEJGg0{z9-=)I1A7u6%eyp^MJ@mvmSH1C=z-;kA8x{)Wrb~OmZDqQ5G zq4tiW>BM%|TB0A`EQYV>Ao(lVZb6qe5WDHyAu^9j-bZuV8+cKBe>^?C5**jnW^Ni@ zkX@BnHQ&8D`aqiM*R-esZyN_h6L)K;J$Z5Fblv>eRS>0;8r#!tlV1rHcXw}@LT^z z!V(X-5va63ff*gP!L0nVX(pScWm8y%GW_hR0{pemdZxe0;@1_hZNa*2_Z# z1V_U9y&_`T@BW<*O5EH8rBkIYfGucgDR`o`pzwouy9QO;kRBTg<-NvA84)g_*Pm2flilz4xILv&MZiSf4%@_P^ zGJ`wms1I@tkk!lA^P)8%1@!7Q34S4>BNUP`@O#InEK6T+cH9W3|`+hDF4vA z2>pw6Wyu98TVRPfq44BZ=gh>o*hyw((R$LWxxF~MLt9_@2qn%I@=Xt4#beD8oDb6n zH?o2|Bf`CCLKKgI+L> zVyE9Na$;q1v0AlH-0cseX}PHow(}$y6cf*!r}@((x`{v;0@J@P;yje^V5Sqix&T@8 z+Ik$>4GWRwZ?@(ilqN>$J%5sK?%&G&TD-ZHwXOt%efssbB1{h&lDkbgTzdo(H;t!d zDYp#O;4I)m9p`)J=WzIQBm3G;jrct^S%?w+w^{-OWc;859ga)!?)Q_GkVhjYJV@HBVV6c@zQC;s@p~ zgIo8{DblXn?76mWtd}45mH~mk>LD%m=V?6o_?h+AD`(v^$NosbFjib@#j|w*Xdrv{ z`g@s)Xjbipc<=gq*3d;=3?H|J0;!2M?%@PLn*-ug!|+v7!pVu|5B41dwxMNMoXQ=z z_Q{rP?Yy>zcS7;*WkDHf6EaF^93&V36_RL0G$#+4Q;H-X6aOczXz??v(p&H=`x+cL zbxGj{O3SPM8>Vqv^pv0@UDL*kd z(Ha+&|12%&z!&?R>z#wpy>!JWn7!er1vt^|8BS>xP|+y!I>k*r_m*asP;BToEbdZ% z*oEO6yrA~Iktx2N;Umf`_r*BzpL79eJD8K?k zIryD7+Y|wI#6!-l-D$F>b!AqeTB-rlsB^pe`BtvZkBgC8zn@%wZ*oB_8sLJGdYn>E_i-GN07S339&v87B<$PW@)!&gHZhVsJgIlR?hLTtrB-5LN}E zBc?D;S8?P86FRfat1D7}63vd#)s^~{Dn~xOms&lAOT~l~(hWu35&2S~srn5j`f3I6 zJ(TY6v`ga)qzQZ~PAn`KW^y~CNNwbzoa$z`!i*519>ce~D(fb%{fi)YnkM0tr@j(0 zCrq7=a`j}B$$ng0U$ z{D8I!{+6EoMt%o;XO~e`6qU48<=l$5_5Pb&3cky!ZgMf_3A2g?i2=IkbeelKNaT4| z%;DKD7VHr3h-w zRFoqlqYVUQA)ry~6Bq(D&0cZS7oP(2W|NsV%9?1n2l)8O;u$JSZg5cP6t+XlRZgtg zZkZaEftI>P*W4_jv@CONdiL&hZj-%LuZXLsTDANboI2Lr8zUd&3qskmp0Sz=AFbe+ zN)X;nNYYpg?Ou5)BzL_}wT&xoV)$5tbrHwB@^F6ab-CNa#&kK^#8X@+%%_xL^aT+l z9Dtt@UKXcQ6Zw3K0T!$f0ZpiTp*dV?s(y2b1J#)cQP`lu4uQEL~FgY%oc=t6=} z>y;67cS#i(i>7gb(}^e+x*q1|3Pc%ADjo25lM!4;P1nny5rAC@Yc3A(#O10NB?%QG z30GPasN~r02CrD}z44gLP@;fb?Uz;itH*sk53C5PfoD6@r`gmWFI+QMZ{w zS)}&2$fs$`E4ec823^;h)-r-)6IVaGj^||!*^kS@z2|w?L5ipgJ!~1bsPV^-643Z+ z2))Ya@f1h*r?#NBs;^Dd00TZ$H}3H4%-9Dcb-a}V?(bA)9l5sTEQ}{r#J22ABQ>aQ z9~BW30YD#$G#uc5#ygbVsG!AGq8(@S{D(#2#cVA^SA5{V!>gWTd?3m4=92L8QMOb| zJfEj!|vCEg#Q$p>5=&nCcLJtI(z;Y`1L*v~xm9FRI1ew=G&lMnp z&~1`aI1Yc|dttg~hrkpIqu+t`>%}CEQ=%v4${NB)ZWH;Ma1`;*#;z&Ntf(eJv1wjh zos~#;<>qPzW;Eg0CYU*YA8z{iyXPU(f-RYLq5L?1+HPd=^5N8K&`%2a7550atEJ)p zwPze8ns3)aytG7uLiDL}oj_0f?+1pP@yIN~E=nbXZ>cCneYjA|2hL)Cm2+l*S%u9u z=pxG`0~R2COo=Tq%BwjsW6#EBA3fi^n*yYamiuNwE-_I=`^ZG0)mLW*w7Bcg#MQ%|;&tJ?(9spA zb0)lEHk?#89V&;PBTH<-raH*(AZ27KfHCG@wfU(eaxDlv1ECH3vRXi=jT~81*$XX3 zupWQlaTc)={ncRI%#8Sixv*>@pSZ0j8L@C78}O$!6FrQT-_@B<@V0YCF`>cXlrJi8l_GWj)?Q!M~j#$}Gw1nhVtx7e_dwgzaqF|FxJlg3N_?ySu z6MfJ%dR+AZQTP?%b+iGsg$1(Y3=^JU@R7C=Wt~O$pOyEV5r!FS3KtgRHXV|;1#+t( zN$WdFBGS*j$#$rFxqu)z*MvQk0`k8OpTg#a|FtU=8Chky#?_kEsOXf<)}k+r?32GT zw_AG2!3<%uj)stjGib==w|DJqU`2c*O)sqsTlaaMo_y4w&uGQ~m^>Y|L)rK{Bh{Q- zIHJF*#1mfNQN4u+fwxNsr+hOZ&;`}Q9_#A;ePxFXJ36OL!fF?@g0xJ3A=Ml8=F6mZ zD|d&r(K!YZ3lD&7)$)LEYus6FaIC!Cxfj{bm8u=%n#guD!YbUQce2gOU(2f_9yI8f z9Qf>yF2~}q<&{#5q%J9dJ%6jcRgxSE+N4fFrfn9wm(uQozD{3Es!ulmu0G(g zS2`BxAGfeuTNOk06%x^##8gAsQLHJwWO18YdHC_UiA7fwWQri34bO4|!%gOBE1%>Q zM;0rOpGOdz`Oq4Pljw)an4;#r)SCegSbi#w@9K2~t)q$$KgL1*CUl`AFfs|x_R;wZS{Vh^4kVH+OYB^p=2Gphs<#PbdeCIN=OL1a>F#&)WcRVM}74E}YQBkIW zXVS47$-;)x%%<47z+Rb;aH)$YnwE<~Gwetp($ ziZtx7h*~4@5UF`PbYzus?d^g|K$cb>PMs;Yf&(Yqkxd#z#+obxu{4ebhBB`7?B_*3 zx05zMdpLSI2$1MZQVtw`=dsSA?{G7mqs~UcfiNT{SFk}$m7+#|mlYkZRH(0((Z)7v zBzc(Nkz|@Avm{k~h-`wXE}eX^J6qkb#Z6k`((M=QGQPC}wHFrg;D|^&)Y4FTr(9+)FjfjWa}ceYY>HnZ5e1fy z3PLj}*bN?KKJdYXm%zCial1GY>RBB(@pmW^HlO|PsuBvwiuXY&1`^1E9&M%u4kmz4 zbG_u~xdhubtk-hoc6k2$`_THQ`ro0!PU&dJ_1v~_&kKaX@r^3NF-}2U{>DXsc<%Vk z#hGvUs0+$!=dyS`vGKLBZ%^v4yQtaD$u+l?NP$|?E*z1gL>7A9rOWsd$pg`d0V>w{ zxC2XDAh~(AyMZ||<23Ujr7QcU@V#^?cUjcd5Hz7)G^{aj>qw`tOWY|Bm&Jia*7IOf zTqBAjuewgkY8%;Tvsa1Z(TAn!>s#Rwp5;W1KZWNhxqX00{R&K%fbU^c>?hj?%q!k* zpRl=;JD&Z1PVa7y>ndIdI^kzDh;rXI8)Cvr-pSJkrv$=leF^ArsJGNofmCvEk;Aq_ z<9<>V&r+L)>7vWYItW8Y$>htsIPWp9g7G3J$$^&bD0cvk32d{v8shOO?W2K-nW8tw zKgj7Cg)Kuo;EIlwHNv6{TNnOUATJ0!vdei2hu*5hRLYZM5rt2q8j4;3G_M2Y+{m3< zYDM;CNc{3Wgqri(Wg{%xXX_p7B;q2ah`7?!!H)5^*AE1-)pK2(7wF#-=>EopC}1lV z_Q5+3FC-$dM>sHUSh_T3V8Y2mmY3Xu{++~vkX%ETP9}L8CoS&Mnpq!RH6)-WH;g2s z%Ar4jDWbK^nOD8O2legDe)-!~`R}*7WInNWTmif5w4su=3H$bWwHg$g%Z}(1>?avc z$O|@DxZ#YI$jI@4$0QsUd>}DLN{A1f$FO>ta-q2njac{5W?j3f6{ zW0YIt?5le9W9!gA(B&Ew?%Mi6#^>Z2K=@Gl+sqCyDeg@8bACelV>18l>y->A^1HZ) zhbRl6?(;GTEHryqon|36f1#XokZCGnk4`pnu#flMI*UK6QF;M2`Kk1DMTc5yT zOus1%%4d;dKro_4uir>bgNCxf(|YPwk>QPbzX{GGls+siOOXn6@chLDU-eNs zG5$7-+#ALri@}=DV67Z&tWCSYof;|u6hTZ903sR0L|VA?ghJLG0ZY|eo)ur)gVMo* zEOpi^FT)Ca$KMi#MVT@>UNidFBYVzTAO8ePn$3d+Q<|4UnUz)eJZFo8VwqBJ48DW_ z@qhi1MEq>~^pqH}Y%E{;4xH;;b$w5# zZv$8PeWW=VeGa5N%zcUoBY8ixP^MpUOnuZrTs|fZf?O2@fw=K623>6`l{HG^{m|^* zZ$882yR!=4vH6aNyOZ*j;aWNO2dC#mQelxWT#iz5p+mjdi*uS}_WB)wxM^R~vN8$nq&IxBWKl7Zi|f z$WQMBV)3}Cao7AD+$nvS2#@gOvM5ms`2uXj zVbId2cNplCYR1{VcEC0Eq3I{vuWuFS5>_*$8p!znsx$D-&qIY`XIh?y8~3B5TW|&S z8IS)9Bhvmd**A4Ax7&gw|?5r z$I#kQb5~1r2d8kmUzSMkc2Rmbe}7`%Gn2bXZm)!J3n;~Uly$(N)S zD)wZ;gzDezCEhkP=84wSHssg-&@t5uBgFmgsW@a_3k-a1oCCn%<=(8SoiLpHYUp;q z|Ch|VE``y8&0{*{Q8nzwg&*{f9w6{ymsV=Ph&fNg$xR3^N*fSFcLkDs>Y+>S zNx^Ydoa6KWg@;Dq196V^v!i>>5MN!R=_r$vF}Euuzemrg>QRx4&@i#&Z|^WCGZj?! zrmB3@_ZGx6p=D%71c=*dWScWWDHGL6%&MDj>^mwiI&v1SJ!qL#e3#FgGi5P4A70(Yz6cgfOMtGn;-S+^e}TH5-Ho+ajANAauySI5(F+` zJxlE!G)ag^kga`w$TBjaA63v4rQ)+0Ue@eDzI>#drMr%1o8}hQth)4D)r$r&+n_T* zA5`{Rpsto(K1p6Xa&4@fEj5{TLoNbhA^G)Ao8DDMzqX3&GAr^x-2n@GpwEZ_dim=r zTdj@{oG)5x+VJs5L2W>T^|x0SJRDc^dA#dK=!fu*`5IOCN4teCIL)%HGHBcDk|4s2EP0c5&p?wnjAEcXr%IELyb$t z)smsMfpU8+ghX)-gA*56eqxP7?w_^lEys_;g`XlZ1@Ic7!HeP@`a3DeKT3>eHsa5R z)IVFl!(5c(u!Kspb)$lyn@x_mpz}p{MHa2PiuF-NV>Wm!&C%`g5(E{Aj@rYq<&&OwSJ8J5NB@$AK(8GKv&q7WZ%0i2nd zKp;I~vvhb4HtZ3gim)b1F(WOtpmeU;j>Hx!!Lcz86{K;EReA9V1Y0NQc6&v>w?!W@ zRl1_Nn1)i=zuZgADzh(ju^1;<9Cs(fHVL6$uaX;mpv>VD7K7A>>nSyzxVQy!g>Vh+ z$!mRs`pEJ+6@0*C*G`eJ(?EUbVrky@F)O&Qt9dUao8vuig#TKwPRA=zD`L0ol zMn#76P6l-zOvUTs<{yY}{CN56~1sx*<|gt$uRtkJ?H(cX zG>ddXE!PB78$Buhn7SfgE5hXcS2O+vJl7kjkEH?&AD&Pr-gcDQ_FgOWcR2jz zgdyX6$Iu!}T!&Utk&v zKJ{h7tlKEt`qXB|JX4f3Z^g(l6B1!>KQkm6GykjSZVt}R0WIXKq0ws{ZJQ5M_PD+= zgVU|DTudoZo+uSW^#JZthvu>jM-CjoVgmiw=d%&Gjol-TOJWFqn4??A#Lm8bQ#0XP zdha%RvTH6)2*_nuxC(_&NJK>|xk0O%8DEUSN)Gl)g{Y~c^y77)?(TdM{Tw!S+Jm5J7aHJVJN-9Qc9O*%>4{)#7Yc_eMCd;O87o>_f>L2q+}S+pzsLH zIYqNizYCI2EQHa%1^b0wqVeY@icn!*?A%PRw#K;I-fdUdx7m=x_yI~ZrOd3DFP3;V zX}`#{Cvqmep3$7g5FhNMw`JSmqLz102_!U(*%m{0q0~S&K`l;PTpvjl;c+LMe4L1T z1j}3l&&D-5jud}xdhP7Vzl|L?zC0b15o4~5ToZI4IN{etI$2%^yidEz>+7CK~0VDP;4d`jy1j4Na9l#NO7J4`02jWB;vj z%?mikhMpj%^-MEOO3FuGW60*uK*Gn81E%fd@4#k@`n=qE^Bt)HQ;u;r|Kad2muf@Q zRKeWDMS7XyiE-h0_bG6{+Hkjy*a-ut*lQ)d{1`Y7T!puOQo_n82$l1Dy+w=&oB_Z) zHLUUV=DJ0~n?WKBe;J$%Y{Uy!m(MvIVczw#RCJ7$vc>Arv%ldAdNupfmPB{!P`V&g zN)OL}bY0(U=rTBFY82Tw$2_VSGcV9n{)qJ+|1Ct3z1JK4HaG(Pw{q8lVXmk z%M(4$GQ;Mo5auEw_UB|k#h(^nr0efRFsyoa{JlZEv`cr|Xp=y)J_I;zDQz)Q+4Nk2 z)>~eoP^get$ftm1qC#GLT-)+hkiY6{P3KRdp^Zu;Z~BBqb^w-;QU(V}G#CL!Mq-D3 zfsf-xN245@?-=iu2EUUC{Q3m< zl0;6$^V@5bMu}B;b{e07pAUk(MIr2LJl{-#)+(Pm(0ZH(ElKQKJX@He)XBf@Vv)3r zQU_=mc}F_cU@@9Ff-TCXnC{ou^=@|V$C zAWWjFy>SYu+4ZCPCiR{KUWpod@r#i)RTmcQ=ygjK7C%wQo;6H2I1 zC5et|j#v)U5+-x&?D8fttI+JrPSHmfLY$*^RKAQU9Z$bT!BS!za3V}|q`L5kuJj#4Y zO_egLh`o(lW+ZCFy929I9v5(^yrDlgs~BY*plTui;uz@{weL~AnW*f_q_)IqF*T2q zBZ>QMUfxdKC;=ta^;=_R@AyYqKN2E5;Shw(Y$2>CZRpUOAd_Vqh9iJzNcYcg4vgAa zwq;Y}lB=ilwQJ?3v$w3A+Y5wWuMs_~g;vb!-?ND{1V#@NQSjb^Nq`-nG|6Jw7Ip+- zb^%p`x(hVF)URvTE<&&Rbi-3%t=~90Oi3Yf(--gRX)!uPl3vtCrr^&-wb^eUk(*}p z3T&60&^U&tFCNXx8gDTlD0+Vd(z_~(;PoAG2WqVh;q$4jPjx~W`+jQ5`FHO zAGT|QUVG7QJ3O86Lmj~;7l=It5S?z*nwKMb%+`3_!5HS!8KHKB-rB?o07eAQ! zSBto_g>nnCK`|VOHomd{*e&M3;=d$~{of}M5NrSi+TM;{zE?kyTP`|fre60G>sH)> zYYGg?bttJDFaVbDyl*AgA$-SzD^b%h35s_BWic=l9UtJyuly3znzXjk=?IMudks#D zI5`^OPo?nLJ}k)>lraoJJG&v(Q?=lk3i)Pa-(zYtikL?bdYdHrcc2huB^+~gBfC3~ zA}DKB7L4dwv%9#WCSauI`H|3Kfl_|WKYAt_J?NLqLU|aZxOXMw0M@uYCmCX`AolHl->~R2BAvI?=37`44NcD&7&Bvb~U6kNv9p( zq8=J}Wg~d`VV+=?>(%_gK|0c{Qh0~a?<2mqMk5=FdPFjn@_guSzqo9_{pSv&bq7aU zs?dvdU_B9Wc?3;gsT)$kbLqCgY$xw9KCWst=ol4?$`ab5Q3buan<(E-w!yzNSi?7* zq{qcNE4SnzIUxRDHxPMjJb_7556AQP-REar>SoiL@bn9&>OLX=X%QZusKw zh1!K0i>!W>R}H!pcNKyKHCSz-#b;l0FBr|)@DcyuP!qd0hUB?|iX{bc6qSA+!U$(Z zoVF~Wr_Ule2{qk!Sb><#SB@q*O--eclzEe|gg!j@(*3F3jKUr@JW`{w%f7DtFXqwz zOU1-97t{hKA23@^NH$Z;Bzf$X;x(VSRXinFd?Z`H0|tT0iBr-2 zTetPeKwTU!I;M|^aXN=;5`NQm*>VeVf%-l3&DopyU+k$i&zWVYA zc`ghETU>?ym%YHh)V2qeWz)m*=Av9amjwACYddyVz8yh()O`0uCOBQ*96;mtqCFjY zex5b1*7951iDI{$vOZaFT|XKc1B&d-h{hu_{ygGJpN*v)#NHpAQ@kH$yj-MQ+k z3|~VI`R(QFljbOD5_lOG(8{i~DW3J#K-E^)+&Jw+3;U+m zs91bxk~I!KcZ#t*z$n4sz#?AnJY~=2itMpE#py}Ji&afLxWHYSq0fwNCXb(v)>h4B=ho`bSjES< zT4Bw=m#egU>=5rglKN9zN3Ng*q)lWD{KGt zey@u-@ikM)$`e4vYJc}eB~Ro28-aflPz^*H;zJ{&R3HI)6Au)Ycvb5LrlMTMeWwhB zAsbH`YhCy{w7R|g`te-&O{og2NAnkU4n$E6td3B41T7D@UE%*eg4MD`01w@K{I-(N z0$dXmCyTji|8>!Dj>LE(=$%ulMvePqi~o~q9Os`*w<*TTsMx$?tya8YuN>9g&KenS z?l-NLbd$V_*Lg-6y!b#^WhDQPMUl$iY#jj;?nZE#$|na1=%Kk@zl%v7J2nuOwJ5?_ zPH`J@J+Lz^2(Wc7*N_n8%5+Nxh9Lf)^Wy8v(Yf$K*TPmd-$eJ;kkB8X5I~3bXo)3- zq1M*1*86&=v3RS$d0g9n#LfAlzim31>`sbw=I16kcq*_OH_Kf+o$o2Az?ziyT$yK5oE-QBf7ad&qoxH}Z-m)_6&|0l^|u3UR$tu-@y zI9lk&x$%ts`cFBs#ezd{mVsgHv}SUO97!n^W#VZ+qR?>U^&=p~lbZceN&`EMX?;Su zaSs~Aa!^M{f%y+}5qqO-w@V5^oQRN!5y>ueV;t`6A`hepV+;f6;YF*M0@3F!_mQwo zR3|RbY4LHCBP8vYwXvU#;h%mzRY3dXkXTs1mGP0Fmj`(wDM~C7vDlC+Qr6yjrpTP4 z0&HA~Ebgo=s9~iyslPUuQryr$1F-O}tKl0;9^yVK=(nny;O6oRy;*?`irEmLXYh%0(Kv%cD>;)rJL920^T7CON7?Y6 ze9`(VUDjA4lWz^KfH&acr*r^aF^P->Kn%>IJSg+grP>1gmq9r!vR!kjt-?{0Jm-Q2 zCS)#opwvGcV6{k*t3`P)xsPv)hULAG)jxAeaXc?f{Ulgljt1pIN|!U`>-PcDE-t|j zy^+HM02_ezslYR?6KVcm%kJ)>(r@KkeFmi~ePLhZav!ft#oJqnBRkDch>Q zC$9RA?$|gj`QtWD!U+1-`LrK_n!vm>8NuGcfU2z|&B0>!&y)JmPR=@b3mT`=dg+eW z`5Y2~^3niL6(sS$5#k+pn`PIZlEtn%B0vK!3fCb~EGe9Z(C0_}@A-M<6&lw)anQ3X zLU#7tLahWA=PSD8Kc7)}mnh=QCW6#?19HiI#IbQ=7Fxj%cSo@&NqycxjI_zh5_^;T zUmrDa)pS}SiqG^8d`Wi{n*#(YwcA;s=1>9Eq1f6Hg+vEd)U{)|7^C)UI#9}t>z zAaf-?ZV`;*kjqfkKnCr_8M++ms3RwQ5T3ac_kFaX{N~G@R6YL30vx6Ie!m|7<3K+= zG=vV&Ai(p5M2TF4!uUlCjfrQq2rH*Jeok;+j)zw2w4`CIR*~fK)8sTgX0+#*3P?$n zM9$ycq}mIAhy9s0F9^2tXLhO$ndP4j_bE16BSf)5HCnUdshO`dE?SYm0(UxFp-Ds2 z2;y2tuR(^PmLmYek)3<;;uw*vod3L>(8(xtICjmOIc~0oPv}z&W-4Q=%bd)j_yJ)@ z*sUj{-Ag;YFLcmBKmE!9Khah#b^o6*@8}5a4GeM|hRt_6d4#zbN6^yIaNmGzj|UM) zg`^$IUe@w!IOSj`*QSB!uBc)7G!oUh&=wUgk8!ZuMbA?MWZ_@bTiXHxgwLNlOQy?( zaU(RiGajbKsm~wiAM-eZ3YWR_+~JN6TtwC~t$+$p6yfmM>5L!tY}Z($dsCeRI*HU> z#7#284Wp5M34f%Xtb1lxqZ}0*0e_njS9t)qnn6K&Gaeo+Za{{^AR zOqMY$^wknL0fphB!$x%ATZlmY44CwamMJJAFFD2CqY$NEjlh9i0O zB!Y?s6$^Wy)yQFsk8pKUmRYCO^cI~Ww1qTEW(cIBluBbA#@|*&?t8F64$jpLIDc{S(u!!DeAXXvkg$(1#=)~SIZKBO1cL|vP~aoH9(4AGwM zn_iwgxUn2SYRX)!sE^0~U8vRG86Tc}A}q|#U>&C84C7cEMGTz*F#eZ)qUF#=#$^VB z>1F9>a5>jH2)FNwjoVr2mDfpkt-g>`X2x_m!$oc-tj(Gt-8!zu&I?8~&?uoLBg3WX zeuV3>jc75SiOLoEW)%(0y@2P+{=uD7Yy}80q;SxZHrb`$Z%5$HD@z^qnZp9xz^5)x z>mEB@1h_!U0fKM+F*%HUq6f}IY#r*TYbqSPQxO_mn3N%Nvrw6cGgKn^jE_?g@)P{H zRQYEorVqd(o7*`yikoFHA`$j`4C<5;&>;_~Q-(4B&Giq{bt^e-+TV@>QN0fOGA9^T z?Y`>TlsJ(^?0WfT1ZK_PE3CQ6c5B5AfiaRqmcK$T9wRCH)u*~oF#<;~t3~54uRq3? zHYP-QWu&wU%P|IzCP{JLaPqII>yJEMVhPHm(&!AyeYg?p#6HrQP59tG@vA6}yVCep zR#~ocu4!~7ZAGOtruR6X#E$_2q#o70sgDjV_)!mp!umW6N2nZVy+`;)sw{oGP*BOt z{*OC)*NwL*@0N~$MkGE}mi47O3m@MEbYxkMp*NH$XLIc32y=jnC$WF-8Z#)db0DM* z0b)2+m(s_fo5IIZU$gN4lpsaq&RL`fQ&SDIAKXm4+qVptk%ati!`yQ&=f%P4mw^#_H&Sp*~V9x+i^OX zqr>+=C;9*;_uxGGN?s}=1%~SA*N-H}k>GBX)mS7Q=NZ;`JiyY&Dvqo7~5p<;cfZrLya0oCua9&z-~-ivq_4 z4!s`eD@Xc|uEWHdFjJe9hGC}q9h1(m_8i>2e^b9x{=_(S8eL=eoMl?-stUX&=FT*8 zi8Aii@{*b=z%4+)fO3a8N6h@nniZhitXbs@=6M<6`5_#Ymzh#j54$34ljTT7K7BKi zXcI=H*Q9!%^`gVLIA}cTkX(@E^#cfIxPQLhDUanYGs?XIf8* zQyz~d14JJCwRAVfYVvSiM3cFHt<~K;UZZ^#p%^oGSL#8W`f&aSnP=zYiAKPajz4Hj zWP$Fkr3B0Nc9Yo!>eKMA%82~aupEecb9eKIxEm|(o3oBD(Uo_qi0doc%U<5fH)BS;1 zeGVSN7k@TGybQ40iZMcKc3t-t)g(8S0U*Jj*9wFfex^f^ON=&iFYCas7}%+gk#4WU z59fgicvb&(;*;BXuK_Jxw-7(Ekij4XT`@V%srb*`IzE6R-hLxxl!ajZoy=tOm9J%4 z_sNqG4;%&$@+oJL)4Yq}gzXTV!@qSp{qDcc7xR~oZ08_R?vNG$6tSIvnAw8Ur_In} zzX-|^L=XC!Qal?v3+q^_pf^Wqzf@_ltzvad;dsTWM#Y*B1B8v02*JB@t-yl(OzG)w zQT@dyweI=nQO)C0&Ew&Pq;c@j2ZTTq;#ClHLo|wD$I3c-ffRtXFzWq=AHQgR;t7K> zQxZQxT0V>~h3+2GriZ8ZFT{2D1`QDKkff+9GeFe*hw)a~R_;EmpvD#Ju3nx>UQ&iE zEIwDj8}pBtu>jT&`9pep!zz@6FJ5h6x5m8TIP6(aUx9668v&&~A)Xq`OE1r3g zNnKm&YbWE3+mat!EzIk;!1g*&?boX-&(jFavB;0F&pLmTO;NVyK$Oflc$y^WtnM=VI`f!S2#yd-9xH8|LI$h+9Q?O zlVtdy;PB$d0{8gI%zI29H;F-7w|}^1FW6|X)Or~T)r;%d@qgaa?WyG43qAp-c}<7t(B` zYLR(*$~Kv?-clxeCK?&mYp1yQ=_IuHMU#HoH?{cTQPouB;9jA^+PhLqhkLGHyVgMND_kFJjJJo6uEN${lQW~f;hD5yaPAfHNq zXjvR>x#Gu@JULo+X?W*L0j0h-H||BcwfG84$6MwRCRBci9{oob(L>^QmJwstzoYo-`aJ+%0Z%&WVl+)KhaQ_GKB18a%#N$c9Fv47?j371=K)f;_18>MwyTn z*kL_ua<2Tw|FjV5J6!uO`9M@e1fR7!X6y6|7QIsT7xnWnOJ5 zJ+#o!^EbJAm!%(Bc;5AN-j86Yh=4mDgo3C zu*_A09^TOU$Q1r#M~(OwJAFv%0O%ElN#e^4GxA$90lFp(`n1HpQaG`Ud>*%eeVsq^ z6h}R$+^9{@fi84Xn%eS7T(+I|EL81e%^`V^!$~x`$8ySX(sLy1RIX;+V|m@!N??<(13xi+l!?s0dsJYK66Vh&&6&OgWjy{=`y!N*dsF%FmaGLV^(JPq7~-~ z#M2=x=&=g_uHL^i>WIXPVrWqr+kIENu0$SWf4?USRwFKS!YttWmKaFWAr88A=w*E9 zQcQ>IrUd~6Cx2}vSK%sb4lb1CPB#5j_&POLEh zgvA|L@^Q+CgVmv<$YdCJTos3WjA@-sJEr^YCKG6~9$N$K2)oZ&8h|Mce`)Yo1u8s0 ze_tDXJW%uUc?Wqz_2y8g`Og~lC0!uZOfbE|W0`{vxhge_47e<;Tb9wTBG}zjxGSA2 z!pm&7z*(a4Q>3OS6q`IsLbH(ptFQ9)*Op3F%Y(DfFwF%@M%*duuf|uWz5!*G$oH~g zc(HvGk}GPF12a_dUp;cKK6i=$xr9-W$6^G>>}19^l1qpY-T4?D6Z*|^U~RFe&yYD7 z11LL0gS|Vooin_B^u!-k6tS=dTq~suJ_w8nfjOz&-Q3VVeYM(ME+jPrS3TvAk?}^l z`?BM2Msf0$?K)NR6*^BORc)Oak+R@gH%T1y8sX|$#dByPMqqc?PHuxwITtwUmju*SwgWM3be-oH@>~~c^4@SC$yyh1{nV{LBSQ)G?^6FLZCn>d}VpF`_&pw&&jI2X&Jzc$Lg$Og|`%@*P zMoq%3AA0Jf6z8E;3-3XzPkfr73BJ@ufltaf?Nv#atKO(AI1G<176#(w9n#~);%V44 zmXs;{d=eO%MuizaX(S^1m2KV%=-+P3TOX_MFnFBnGt50@Z+#+pw;he38Ke4tKuB8j zsP4MJ{(9@d2#Mw1h32}?yR1gmXFg;W*tqHfGwB{}4AP~+h{sbO$TU}iH`MMcpz1JP4sYnfdq$xuMf~}V5m5dI7rA@=u;HZ z+|3Me7tPzk8DPoBWYHBbmQ2Guun~-p#WN36dCLv0I#pH%KS;pZOV<8r&Hqq(AXt6@u zT0cdTGd`O%rFjVFPiLwjn)^RG2aFUwSXQn5^iJA43_1rCpoR1yV9w)>AKWh^U`Um!%C6(fHipd~o^+|bvav*MAH zZt>epsekhk9R&Xh4S({+3=T`%)aIzxIT>W*Tzh6lx7NF z9IZcSW@VsiH5(ZKOtblYLeusC@usFF`N+dhBe(9p2Sx+=WCmY*`n@#xAQ@w8wj zSiHbBI$Z)#ja#0?>+yAbTZByDK-y`tc9Ni&PX};EAeRP-MNNIEb^cAi;nhU>)_@hs zV-#V_a5T!q_b)tthc-tHh<$c!8g(bHP?Vn`NovLW>6fniXQ3=^Go^Iql%8>&XcxYa zqLfBlx=N5QDoDm8v}Pg?#t2RzoPGwM(HdJOpq)M!>*kFl;y9PU9^m7Zx~$3HX2cX1 z0l4Z+<=U|xi{Q;gI%doiJUaIP`35*{8D@Ar-sZ%9=Q*fl-|X>rMcih9c3n&W@uPPe z(zvD4FiKlX%iY_wy6hvlUP`sPK~}gvXCwj#TJr!6;8pun_Pqt&SvWu^3Q+ptB*Ob| zNaW+V74@4@sIixc8)9KO)}CoB^uVCl1`1R0Rim8PkRXmHA5v?AVY1(NyQ6drD7c^Q z4vYn}@qVa#>?8-)f*4Ro+-YG#M%w6<>N(?z$`mAmGm>dO27)+ zU8X{MinuM9P`sf0Y+Ho|93J$!}~r%Q_&)=12M3(y|{bz z&e!JNntaxJp#dBXL-H9M`R2|~Daz-c@gx{e@7~qNtLZy_!p3x#l4{2nI4FzJ5 z2{iR3fTW_Af@JU&=~8FDdC7e5h-gPD2>s~%)p3U4xy4y|u(A?(&eU)vZW_%hyS^B~ zJDvC9nz~@D%dM68Q7SDQ29{)tYQ9UZpWQbT3Q4UnNfJen%w?bpyI1G|dS6m6dwh?r zd1CMzC+QWseKtP!CtI`WTf^;W+}wwyN~SY~LiNYp?f*p%lh5f{o}V9RkE*_`i&-n| zRGI@AZA`_}x>hG^j4mQQOuZ0ez3K_f-_7Ds{raU`!cHESN#f|0*r0%H65k*$@y?Y^84!1hjFG(NYWCzaD9dhwf6 zwc5yUR_isxt%%OhtVihOmjlwdrrhfNS56h(dJ+HMG4T?06Jye@d`Uc=d~$zC#gED- z?r!O-=0|qso=Ue`HoS&>j9FJdry4_Ruv5!<{CRc%wN^6@3wZQ+SE?xn+NR;!|IdeS} z<*(D86MgQVvm)^jka14>)cDV8v`&|UvIy~HaGt~rSHEBXa8dFPLXA-=?5e4%b^n_8 z3x2f~5WOyfWtrFK_&&^i4siM&9g?5@7Zog>>=!-HkK|PFt8aT~5bpz*cMV^h`Mv;R zx$#`N*aLjI>&`EIvhMl>M@$*Oo-|-v8XOzxpf`fm#mzt=M0-$ieK7ByGKrSo)_>3k_DMJa(wkN+ss$AM+> zsxxlZfYmTpvia0^DoVNWrtb7=YKj60so;9qtQ-ifMNKdkaB*e`KrY9*GCDVquiQtd zEs^J;l(zyCI0ttUQbQdzFMKs}40uI!(IjL4HrwPA&B%vC*~$88K+Fq!XZANxc||!GT=d;K)|Zu9>lZ;H{$E3>R~)T{lrc`Zd|g3F&zQ*^A)cG^Sq}SXh+1qiADVA z`fTss4g6J(I6owzKCW*pu{iXox>$1Y48lNm>}GiQvS_L;jJ2a{{#_}_7iM^(rkyBeAYh&WE1_r6Do!CG%bmp zgDg;myvpy|GEM!&%KiCgQyzo2TKZGa&QqPOl(Wls;0JXj-S1;s9>$shqWqu{o4G1* z$V44){XA{gSd;h~08z^9uYAi0IH!RrOFcW|TI=f#(oNW-YA)#>&<~rJ7~#>RIbgCW z-QBk%eaI?>Q{g&+ z-mxyv8&^x#K-)}0&+F9h zcvgj!w!YT}|LDjf!+T7wl~kq$=}0jNKt)vN_%NB#aHR6=V;v{|i8@Ig75s&OfaU!Q zWKOh#d7*f-Xbz4V$Vk4N*N3lTS3U!Oh%%ht&Sk*~oD}Z+$yLGd?51@wpZ(h^k%iZ+ zc7FAX!QD}qoxG~4igVp1Q+FQ5C1l#`V|T_%E7>Gs%la>Yh}~D0hWV5-FN^BIoqce`WAD6lyGhcLmodkj z@pgvu5?9#&K_}>aO;R`1nUsoV^73|p0*omSbxtVo!kRiS&v-z^3kV{@uQxiHtzV4& zMyY~)ny`vah*=S9A#O%B;%N;FoCCE3HMzByg(A*!c{B9GfKK_Lv5r~svBjG%`w~tM z6W7C)F|HVDb^JZyb2saj+D8AoC+-CzA@y=t4gwTSB71@?nQAO_zFk2K+7*oyjB-od z8L`YQ+xZ4h;9Qn7hy6~62TOAm-)*(?`1VRdJ)0+Bi4xqSJx7DJey6qOUPq~~i`Z|S z)y1TzZ|5=hPuGCz&rp%kIs7OR968L#fDRW_+qcvg2vz_8X8(RTPk^-430`pEQE;%U ze!(e2e)k^Z9oLWj^6tBe#ujdxnYwpROhv*_4_*7uKSPVZ@?Z?MS@xY^kk`pvz2JYYma z+7ix>8R$(}RcgEQRG082T54x{ZsN=?XKsNL14wzi;ozSk*@!y7RVepL*;TGvG!#lyI^KVQM}ERnQ`w6lJFM7%&f1&T2f3>Poy3 zBio^JNm6;09KXNQ6-CT-5Jlw6_zE zkTKQDSh4C*m3xo--4wCACMS1;6jMEV!)qgfJYmH^S55pAWt|#2_6kbipC+M0*sEn$ zDov`woi&h|6eGAc#UW1r%5^XhdvR_Zzn)CD-cQ6RXmmWFCx4v2ib-+1{};g=u#K1P zH{jgE*<~oq#$dH?LcQb_DOkWW#{B8Qd@|Y5z9CZ+zGFH;*ogybo8g`?6hD9Djixu!vpZmZ% zHDl83GTx{CEXmi*evueq{lm@onc~Bxzm8FN5g2l3S`&*fFBBLrF@jn^|`RaMEgAD;5#}j7f!V!`Koh&ieE1<`Q70_ni=5h6DB;G+<)j|Yf(+3K> zY97b4tB?9=%i`tiqPj%;e+?I5XbnHVzt)>bE9B|pDUmp5mzl2LbzkRn5L0@dBR=5# zWpMFnVP2Qg(N*3gSh=CvyhjK40bOrGM%y=BETqti_CoT#eq-APDgK)4M7tJF^*Rs# z2&YzS7$QY*4-y3gkr`VKwO>*GyP0V4NO(_ z*GODewGS3_gDb4sJbuGRPup&YamX-Eh}DM;pPd<>x~0dRT2l|q3-v#BAN&R_DYI{j zag+$uVT0t&muf!6Gpyq;CKow8T@eGn>Iv$RQM!Z}WsaB!{?3*gYNpRh$-6u$!BG0h zEgxN8w6{)k@oT4g0=n#}CRkSGp`gNa=cmO))`!~?QS0O)@Tj(me`RFPb3l*%nf#Nd z8KlF$imDA}^i9XeRDo3#kpf#0kwVI)`w%x6HYOfxjSq8|rS!9f@mvmgTazlt)9fBM zl_pG_gW!91izHc4`$??ax+B_8{ZZ&F#Gw*mE4b@2_v#$HU*?<@{=J+xR~-2vLgky7 z$WudSEr#OS5;AOzRf-|2YD@ES*V7*f!&B|6XetpStp zE%APN7p~(`B>iKHRF?^`^4agQf&Og@l=li0InmcEl>8HFP8rYCrIsIo{^tb-$GJU_ zx}0fDak0<5BdfU2DpQc@H{u^u_2O~hL*qP&zgq6FoNpTX$-;Dh6pFbCtmtvX= z59yvsX)QrVyFx72(lUG1eZuce1|=C}-r{6nBY_YkWZ+&7vmVgnYVkb`;}K!i3Ehjr z7~$GYfgkIM<6TsviL9e{T2)x41;-*^EQ0YX_%1i)lq5Z%x%-|0+*!sd7R6 zuDXh3KV=GuJZ~^C3}51aL{t2W@f_!&0?gTQ3_aN6h z`(jGna@xnL-rCazPPVrE-iz6`&QybDlK)HPX4snBNvG@1F&N`xIoqcrr2{B#euv1A zU;Uu^J9Lm4V-mwUsBFmJac9_}r|=yAR)>J!Hs~m+XU;fe!D^#v$@RlM-r{=VN*4mD zRrA|$?B7>w4B8mapUois!vzOJM+8t2&(+*5!hUh&&&-m;d6zz_F4Xd$!IH`hsal3H&n zV!!Vv0o{N30iyywwxO&1*}4#bc)Zd~ct}|K|9ReC&rBtbChV3jlZe6Y!BiD4(JG-i z0$~EqD;`}IvFgC7XyG$8qpDd3>;4+`x=au?H$E3@ zr4g7q;lcw3WJ0^CU+S#Mb-QmvXNLZ9UqBAFhJ>HezV(~<_(#f-J5PWOGaiEe@c;eX z128Q9su-U@Wl50}>|SuvVyDxRps?%B9T#EKNmaN7d_8zi0!i#>*AQA z5T6A${bg!Gnee<>J#zA?q;xYYX79Bq!SEZ=x3)e^?}($H|3MO`cLrJ_S#vEbor(9x zn=Z3k0lz<0Ae1Qe$eSR|u_n%HtFQ!VE~7nNZ6DcWK?DEMs|KSyC zM%Y^cwDE&vR2)Kjke+ln3{*zNu@-BHs_-VngaS~OIrSHv-4~nj?Tp1VPo3?eXGu3LZHX!#})QwB2S@lzdf1s`V+N_xo$8@Y-2y>_LTLgL*37mqr7PmfOL^Mx47a z*Qivx6k;k{%ydoh_e_z~vu{0XfiY2=b@mPlaBHh?VLrR+NqhZ9u#L~!kRNEllx52N zWEjBF#_);~zl6q*36UgJF=KcMXH4PMJ~K<$>Yg6RN(D~Ek>9g}y@)owRrGp)kNsv+ zM!+HJ`XUEPZ;|{g7&QO9U-9@iCNJ>@hWk~YtdRd7&_}z|G;62?kM1d zjH8u+`PYVuz$oSi%A8eaO~9se*W8l%nl(W@Y^^<5-O7k^s$*Q|*}a{!68 zBE`{3yGO)CbzMJ6jd6dbcn}^3$FTw0j)}3hk#V8!s`PmJaKqQ*d@5^P z9-4w~Q=Itygh5CGlEB3E)0c*K@)djMVDiT12=b3k-83k+$~p_5KIhtc$9Cj8*G}L? zxL#;C!d{=7k!a!;UG6?v$~SsiDA%n)WQ8i;#INXUcgifJHe=L$ti5#U!&8yVXe9Ba3FW3YRh z*vqVyFRa_yXH;GBUc~y#U8U$YIG3184viER6^E%kcnp#wcaJlptq5Onrz~O5BtnKw zL-zTV&uG6ri{ro!g%6j@oQ@tPDA6VuU-LlDB7$CEd&n>E6wfP^wq|y<<(mZ_eSQ2r zb$OK}F`fH|%*P#QXKiG+`%*CC6i}00P%cbnTXM`DgwlJ&I06({Qd07gWcIC7OETXN zaQB88{8>qrtLu^3Aq{pTOpSu9)oa{+Z7cdy@3a1UPEjF^OW{96%Ev#KI-t}M5>j-! z%DPYKsJT;y9CY@MrKaEE$UaP?OZX>jSfgr@Tw_E^=Nxrpo3%CeW_xw6=LH1Z4%Di#LB$@ zyblM4xC`J6kJv;rfQ&p``TMe| zy2I|DsCO47{{hsY>A?52PYYi%j8T->jJxY0M}p^#ZrdJrzsd-hV}IBd0go+TKI+g< zcm%9qfaW?8&t82s}sQ_s+{v1CX=uW2c226Rd{P= zq_>7Rx5nIf5|S;QDRKw6s!u!OWP0mNOcg^~bbxhI)4LUJ;jw}Z8?I?{Vz*hPe{M7W zR?t7y2R_lVnH6}*{|99FJZnY-Ja!nyCqMrZ1tlyBsRVAg_>Z#88T6XYk)rz-Vt*na zd|o;ar@m;ZKiFa6o7)*CeTayYa%K}3sF&&|kMVCXWi3fR_<2mX{94bgahcKw}f_yb=N=f8x4A(}-#futM`a&M*7 zEP^R`pgbJ)QS)K#Q3}=Rb3H;@vOTaM^*b$ce8L@Io^auk$-vKx{+`qF2PD(Wr~I)= z_s@h2bC!GsiWLbtY2;+hbn5F5Sru5C$J@VO@FA9Xj?-C>({3cmxMq$QT_n9@sHhp7|N%o1;hrIGGyQ*<%dJehG<&-F`LXDjZ@!8DaV^D9pd zZE0eU0K}O)xVfRK%|rKTN-t<@uT9#de(3v|Nkt44a3Q7l$}Mn6Tk`i9h1253S>tBX zoh)+XOYec79nd&K?)(zjy@%XU>paF{F=ab9 z(FmD!Aj99uC`H5n!2u|xH+|pFqzW5y>Jlxd5z=L9{jm}00_~E$;qlHo$1SQqfr_** zMHkL-0KHhRg)^hTtOh#F(-1J>q7Pg6o6(|@mXjy3+7AouhD=J6gQn53@*eZF$|~=M zqy)E7k^2uOsm;9O-ZYdlX%Bka`Y)H-<|IH==2#6X!NzP`84d}jP59gtUlhjiJcW`Q zubQ&1;0-iygY5-QPg2|iXdHcdF~ZH_GJ3rqqyEx0V(IN4z4Li)bN+?3HLtuKcVF_Y z?z!nP22*rsJMbTkmuA%ZebYBU4*P7t-nFodf3X~92ohTlWi#^#KRCM)m;kfehE0I; zLkR3mj8vEdW%|kNarW<&8W_llh@y>hGiI+(7be%?I)vDIx2doQlc_2(gxm;= z@wntUTY+8lWgTi0wn7o3!c4_6H)dE-tq9qlz90f846)pshg*8Z-QG|j4ly6UkE!ap zOxB{OA%DGp*cbEq)44AWXnS@ts!6=s`X2>Ee3}R}JLOk03OQH9ocP-wAP@Ijj`i=u zE2eMG8FG_uL*4%H6(OKg-2dzlE-_~>GN-{AVWvh?UN;_4*|4J{`SnPNQ(yd@JT(Hx%?fnq@ z#BTEN0A!E=kL8e#Y}r8Ly;}0(Duw>~$QZow7-9J$2Gqww|MRg>{#e85GG1JpjF?Lv zwUA}$>7@~6Z64mrs5H=o2UZQ#0H@^d`IH0We{-z3=Cq&*TH4guHtVYyd#NgarxSGR zlD9zwE?^VhH??L)f#@3_&OS)E5iP%O%!1QeFWJ8C)gEj1Oi4M+<8Fi(pQzf&V`u^i zKXQb150U^qiiwSzZ2?B3>NO?lEtOweDnO3i@_)E{(G|ug1RU9>)}F%}9?dN#HY9L z5)t@C7Zsa`))l9Wo4$-XaJUa)p_IhJG8!GPm~EDD>u4D@!>Yw46Wd{xmiCnCw9c7T z%y1b;){PjrLdIe&D#*>HJFn2z=pB|J;E5G?x+_%_DbZO#f0AwTBQI9wot`vJhCyta zMFLJ!n_! zWEkUjKjzzkY+yE;ZS*c~_viSg-Rniv-IZMe{G*pxl<+mJOJgaV%#iYd;_Ht@+&NkA zxp@KxiU7)R<4i%vMFBc$__pv`x)#t)<&0UDHoN^gWZ<)^MFnp!qoiMtv2oWO4a66W zGR{}M>0;P_?hV#wxz?r>bQhV{=D_!kDCnoV&qa}_a8Efu+NCQ_kA51b+<(VDKsX(- z(as&?ej=Lb!GH_#SP=;OIO2$6A=ND?bl)>q%7okUH_*~Rkv4> z&EL}349KwKF)~4eybx|<0xkiaFi7dQ5u60qBSAtL5`0D2RW~&?q`8Lfd#8^=7J0Qo zK?g~TS1$EI?qy)j0@ozqfuP~Y1Xwt5=>*5Y+)t%V9Ql3!L!0BBTvT?-WxVls`&AC)kjEXM1DWHXvm-*1PgH~ zuO&sqHD}&$XU#GvHGNfO8?q8A(CTEEYFA1e6!(67^|PQ|VGQezW( zw+;t1Kqd-P0xna?;Pb9BE8q3ayT~+PzXLLMC?HqYQNjQu)^6oT&%C@D84YDl|?3uv${*|rDMW7+$)wV~ehqU8Y$U{n= zq2dDTP#Hm;S>R`Zu5mjXs&Y$p1-!e0DD&N1rK?M_g1ndFB^28C!oHbl`R6F4INrLv zbbV;pzl~IgIrD2w=-mw{Sz-m*0WGPGSMjO0Fe5&TR!c3rdDoMS!c^Z=3Iy_G-o6$GodX2$ZY3I@BDm?$o?(jpPh_^2a^w)} zV6Cc+;jSvTRpdNF2vh&b!#~ zdGz==$6)5Xf=25I-rai6U$s7EqSYcAi!;cUmrTq8_Ud;kzvurW>aF9VZocF$#5?uMmN>F!SHZt3nW0m)q&q*Fo=ev6;``#k^eYu_`c&$+IdaY!-CC+u@8 zq7X@*?zuo;@yxUk%x3#*2LpLf+{AFu)3~?z>xnN+t0HdeS&QAVtY?gcjK}zbkAdK} z$?Uwz-=y83d%7b7fGZ;C^2+zvgDKDghmmz=C$Zj|N3>#G; z)vvq=m#Y%ufkY1K&R1g!wEZ%@qNI2Ijf^>TyW2$kBOHD{tualBs16;~>?C#>E^vnN z_1Fk}>CN*$kXw?Wtebdp(#Vy|DXn6}m@Us@%|!pG8t#iM)MiY~jNzUtiSWl6clkdn z-qj|2Z*vB^RdYUpYN!SZEOv(yv}R2rno<cYuF`sRYh%{5m1U%GHku$t&oiV3->h(OF=9~+v0pB&B`9g?^YYqj{)1T^ zS$bU2Nt?A@+mRkhHbQMiSMFtHcfQTNBa?-Co5Dt7<2`js9!}G&srdXJUo59Kqv59g=Mk?ij<9iWJ;1@NkY8AI5VPq7#3ALI?&b&(QG~eCcMK=;iUD$GV-(ewM zy|RvPI7poyRHXlMS5Uhv%-Ck#``QyZk|tsqp5rlUSO^qO4jOL|2#p>*m2_jvYNLSf zbQVrZh42KnBx5$U;p*;qYKdc&4rNVI=>AKN<^=a0@a{=hchEOv2fkZc$son z?zyHDsLaDbnf6xKy08=9Z0sEo(-j`8q`b{Lk1Zz_W?W|)TfxvL3%YKZfT##FjPvwQC^QuAslOVQ87~M| z*-`8x>IS#!=d_$N+Nd2Hos%^~(#y7nnpa5FIGv{o*JnAdHkgLq**e{VeF`Jn6*eJF2@Qh5qDxoJD9~%Y?z$R>#z~ zYoE^TvVcmb-Kv+q<A`*vXDK_@@=mAy*y+@|BtsnrWe2S2t*Bxp^XM6}#LRGITcsNJE-^XgF!Q z8&*sv?2dh&7qP$diT+iXY=_4$FEE9;7&({r|2Aih*bP()SO%77NR~a6ImR{t z#mG`3;i4eB8lYTvGL!w)g>59s;aBO{=4fNahEXkxyQ~Qygne5zxK}iMqaS=O#F#k2pWMai-nb{vD3B88rUBKuGi(HwB%xau{k>yY+{C78&0CerNL$XFG)4)!8ZbjYvSl2{mGQQWB}-ibNiW>^}u zJu+2B$Y|C_l~C-^Co&xf6kp&s1d=lBf@~(%#SJ*j@9(<~qES9rDkU{)MLzCv_3v$p zjjntq+2~~%D6LqjiNg2m3?U{zAtuj4AYWO3DqmY)d8sPgxnR!W;soQH;;lWrQ3WyS1~*IFw2i`AlK_!rhBpt4i#gTP@n|2Y?ELwPziz+j z=X(;NyG?qs5Bt`g%6ydMoh?(PK{8Tn(}rv*i_bmipXL@cZ?TH3-K--oEOtcLK#vQO ziu2++7s-W4k1;+Q(X^0(nlF^%sN2&gnpdAvs#jiu?XDnQ;4DcT-G9`Ly~(0jmGIA` z$S+{k7y11$1dnm~puaZBQpIs1q}!*V>LN@3-cVwwiWDp4JOhr-Zt%!$0BV@l>u zA3H6WpNB?e?pFpE@jaw^ejA*#^;a5(@*gtNY1I;T3_Lwm>hkoR$XO@d3_J2*P z@z=uLnV{~c1IaHek<)4DH!tf0vVq_Qo76k!f}0Tk!Nw?pU7Cw=jh~XMBx|87oY=ml zVIQ7O(U*I4qU+JE-((4EUvu0OJjOfwUjKD(n{ zjpWPtRx{1Kn51p9Jl?vOl2UdS%GE}MpyaOVuyz}yzxqP}R;)yO*x;J)8NHC;{>Joz zkU$zxUCdkeD+l~)<_IvSPR*N>wqy)VI`C8s4)Kh+TU1rr$mxuQo|!`Vb_Iu1K<>aC zdfJQCU0&@g^98t-TOKh3!xUneg-eiEDa~+9uM*0(#g>L&X?MnsT~W*&@GOo)+`$;P zzg_LSA^VC7D?)v;299yYl9ROQ9@&S6zs?$J9jB)P3RA+?<8+_tLj1u<41$Mk0r=iBTXw~lFOpwGW=F4|k`ud@=LtPE z9?S-zdxihc7_$px9ag@ZZVpFc4T?_nv5xq~t3Ow!n?i0%9zO1_4iMiD@pmtB{wO+? zOYh`-5J2CNpba!O&3CnBkEkzzk01VKcfXWSNa;lKXOT=>5je6edt{E#9sLb8%D+5hZ|;oYxXQ5Q=A$yPEmN7|tYvMpnBI=-_) zZ34!QHcg$|5Wv+p*E*8n5;FP=iH6<9PW9W-4SJtk96EDJ9hn$M^GmFe^z7I(aFoSe zCYq_*4UPK||BRTKNPx`+=2_o)Ho(*RQ03CR`?Ox;MQN>UYb=hg)FbWmulD8bdt=*Y z0@w-&o$H)`ByPV$+>I(NzLe@&DCF5xW0&mdmMo47B41;?e@jJIHK;k|hSy$)766jK zAtZwS8vn$dLU%+HXpDZ4)!|M9@Lylu$~oatC{ukIX=`aXfo7)&an3ZO)!gBl*Si_1_+kQQcOu(`13OB=_fXcFX6igEr} z{TGheCR9fRe{z#f!p9KVsFkhLDc@*615%e?YyNW`mG=)G+QNvy5+mH|{D{jI!!BnG zw4@reRr=vsoY?lM_ioXDMXzH)q+?#=){oM{j>TM9A2yFNraQBI=7;uJdy3zgop``s z2pcATj>mgxO#L&%FT`LF2$9&B_SZLk0iY*@saU&W;5#Z^sBy}p2J{5Eqci)R1&H!4 ztdIEwa1Fc3rQJY~|1sdmYFK-Pv{Nc8t8rE<=Vyz*rl+I%8zJ>v>cE_>4i z>px8(vtELHd&>QiR@Wg!5hu7`VL>!FF`Ti7G6=t`+uVpvwE>VA-bj!it1*>cJFf97 zhX&2-)LJ7+{7JK8&e5Og5_E9DVba$8_{;oJ9{e2RU>;)5)R%fVzB0e=Oi+gjU(lHsrX7SfCD;sA zw}c0Fr1w|FrwNewXLZhR(+#X^vaO%5k_OA+6Jlhr3BRyAAxc8dJ(g^Ztvop5C=XZJc15on=Umw1@n^rNa8l zL_7m62wuJDU})~H>aFVyH6E6EJL2@Nv$ zt&W+sR7M*2ch%nY`jkqukhqZ(=VHq^bnUeS&a2mvj8%nXcDREVm_N?5&xumlrs|<&0gOnP%-CN3K28|No!92M18;G=6ke zM9{HgWL|=K_DbIRc!F#-`TW^hP;DSiFeE`jV7Y+)wDKl$R@t@#duP5v2mCjXtXBkg z()c*&iOi8Vsqg^#Q1C4~^ZxVKFG>188_1DZxnW|cLi1t?|6pGx*Wk^faUZj;xD3d> zryx-EmP*5Nn_JoC=CFjUbu+}xaClEyi2G2F@`V$B!njPL{kY@U!NMa8lK3Cb|IHN; zA!XF*9M~Wmsa{v@x~;(FqJQo=z64H$)J|hopX6{G2?QD14YJoA4Ok{c(;`e`fszvq zoai4FXuYS;yG)Fm%*x-`f&5VaIu2N62qoKCvu#OhB@Uhp+k**Z@`S&p}E7V-+ z9DuCz1Q}_Fu83e-N@W%BKF+8naKi#}V)y?&EgsIpPf4bgYEpPNeSRU@xlY%XUN zsBcu57?cObloN0+Cs-)=Iy1`a*R2ds{2OrAD{KW)I<2d`pA?xt+l6^A3%}OqXIeht z7$HzWg!jI{#VsOIT8M;%!9olU7q0zj$R>~@gw%CI_q;;^?dJLQ1Ga-Ay+_$~2VJmT zkg-Eq#)bWNjVEH3&K=|hFCX+UzZ|>uM&)7?gXFvkI~SCprEDwxK%N@q3`G0g}X|)|9Od!;UDaG7=FX~&A@>I>@p(wSC} zZ1cS0M2BlKfK0Ee`&1n9X~icT>)Lbmf^!~n#O4@UU|Lm6Mfzap)0gE_?%R>Mt>6M_ zuWvW)5lrtO?t}=b8^Z}xOOQOn?3_{MPd0pTG*J(c>*#RZa@eIVaZoz$Uhqj`Zq53` z&yaetgEt-QZWgBTG%j}{bE)wbfRJ)7|H@X9pjk1>jkX-p)76Z@cmC}r+qsAw*WfntN4_93L%TP4*2X00!>yOjanW#lF$ ztShxE0rHm%Mp2ms(jORVZ#$Iezd`JOAV;G^QE{7nT(PH@>X#G>6IY@ENmq zSzX753816)FglDKxVV61cxm>@=w_&0Wu)V`%g^^A{*)71gB@+E8k)Zp5wH6#B3cj4 zd`>?8#IylO`qHU4vK3Eln9uhArPB2e@a?JZ$i}A<6I;`>^ zOejWtw4(M|a=PHbYca?+U501o$uWiuG~Or?q?ALfmID?c^3IdBcHCjjjR%p9vqu{W z3P}7~czImQi4S7bqMT$Ce++0^$>T03*I{oa%*>2PZ5Lx=zu*XJNQzPB;mxC$p^MA* zjL;w8jSu5o=s@6osG=j$S_uA9P&u`(+3#1d3&__o&!$X+E~b|SEw$_^sq z{ZC&~W^l#hJnMJOvQ2AqS!bkm0vHF*DhImbM)WqnEl*#HmvUqh4nfF-jU;c;jzV6`AEg?oJl7)9IVPAZmf6)5xx?1{bg>|Ce-SJva0`wEhfYqAFff6*zQAQ|67(%b+70+fu8)m!U-&$V; zo3PKV`t%$_Zm+P|fSktnH1dgpDxa`LuL?ORM;(;Zo>h#VmukqKa}qwmI!w#7T`S^$ z4k)Gi>;&iL$~1U9m?(!cUCR&g{y1_xJefzWzvEA|y&^oR!*vQ0i0SVt2BOv6`3}dRtG6?#G*m7vr zpI}hR`2YQ4z%3UgcFXedY{f#4{q}(#d(2L|v!71Nd z+)@ZcsK8oGv^P8|jDOFbkuLxhq68oyWbU~4u(KXXOi1!@s}JoI592`$&6@>HzFHQ@ z&-vg=$F+Gu!o5&<;IVa(CN8RG-v5qr&!wR^FmdKE7^Fw*G;VSjjEgPo-x760XU=b| z?Ph5+^}7Zy+UZ4h;uCpb?whdLA;RYK`Iy_s_N8#%WYotDm_x@6#vSOZKuSC1<<@Bt zQ*AAD=`EZxe0tuEMFYj+vE6f*I*8&I4?j&Tk_o6H@o(TcPTs81l$P5UCrAbT2GXa` ze7YRLJib0Qpr`QQ>4=y9CD>0>3>yoPFvr({agIJgl?|%$Uo9E}Dic|BdJM0mZ=wC7 zkAX)}e^$855Zi-J+(B8Ytv7ckbqP+yNG{+knJ9U685!7dfz)|{D+ts<-K0;)P;B>R%Ne5Edl?CWDvQF0kylSY+F-0c z;EIp9*2r*?0G9BNX~LParCv zF4rJ0d*;)_PBC86g#Q?gb2B3ybwX_AX*1_u!N1S*&hBkA9)}B&=K|G{`Al-0@gF4G zgtja?#&0(vSUU`MWEoJuAbI$7H#QdPFYrrq7oFAu?%D26wc?o>D67;VA#T;qB{xs>KI2T zM6A?ac@f4!`!l$^1fSNrJhT(c=!n{9( z@@Lz90-bOPhPU0rRR@TUeJyg3ahiC?m!{J{CF6Ez5z~6g|1x3~)p~Y9Ub^N0hw`^k z6JypIBGpkM6uMCktm~R6^c1f=G?PCtEa!IWV8>BG-TYO3F z0Cf;6G(&kgO8zz%wCq}0=3C&32*`>*^~^61$d^O%X^iPq+&B=}PqF1cAJ_U~q%l4i zsd}Cp<61#Bv7Wt_vp(a}4LC$6dlPX)_`rCBp;~*@z+)q$JVHV(t~we5uoqXwzaIwD zawVvgmZ3YXY}qm3b%~Jeq*iWyUZ1*DiAFXewTLiuIbgG^>aKv)+s@(Q6srtSCkt*- z`M;&VoVBagLO4&ktFquMq)RcoOB0qs-vi^(rc_8VO9c6(tI?;_8Qfe!l{vP%b~9Hs zMMyN-!wqiW?j;tgZ$;(p(ko}IR#_LFLNK3f7*G*p$UC>@1I=duwc7)HzwD9meZr1! zz!sp~WPT!}?PyDWCkSf)SW&Nsxu+&HG(8SQP)e1P9ql5F1K5z&9fa%?>5-d0$E8AZ zQAo^)y`}YtX#|~wrI_-q?wplAG~_1_3F^0?{|G^zT9da^Q-_`xcE+A9Scc`6hbE`F z^zdhJjizY#*7?|OHl69RR@|LAhXyir!1<_GX{6|IYd@iax|&^G;AvF_FA=fpewjJq}InH+P}F;C900yf{}^#)Q^Z zE(1fkhHZiUnA33*#*SV{Hcyy^P*YdYzZ6&daE5q%49LQm6DLle!3~swC=_#thONBb z);eyI*F;|!e>+$YUgXTS>)IqFpDpIHn_B|3ER3D(wdu+-&ya_8{X4K%&0~_oPZDZW-91s*aujM~k2w|8 zZP@q~v|EEV>s-pWKFz-LvAk`$^IT9Fpf-%iF-8qYzXMJ%oMiA(b!y`ONgR;o>HFak zqTr4V&P8>d$&*-K)?jwF&oBieqc#*IpHxvqKW8hP{b+Y?Ex>;2J>OCPvNEHC?%{%i zT5bjk9A}WM91B8FUOiO)B^-7H<$m`iFBOG$h^(FBQsKkDDj4^gs0!}NDcOYkJL*>! z`XY{UrT4Lw9(j;*8c&LGHVXY5*mFdzb^*hvk=W5eVM8JXd)Ab5jm z`47JSF`7{3Zyy|bSZtA|*Vlk{Y7uWIW%9>DW<@k}T3t9)gK}WV1E`p=uK!NsQ;AfV zc4f)8wnXnu^K#KLu1B<8sI6BKlVLN#`Z$*yJ|=yys)3-CDP6qwukQ{=MWNeUAV4fU zg-n}>=gTjoQo0TzAGC(sZ)jBZ-y8&k*9|cW^z#_S-rCHdSz|m_*231NK5M|i0d>ZT zcp5H)5ZYDCV++}$^?}*`TSC!P9x?5h6pry_GvV!55MvOH>Pp

!@)fk#9%7d99b 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 mG@Hp<^lF>~4<{ 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 KMNUMnLSTYy^MvUD literal 0 HcmV?d00001 diff --git a/src/main/resources/static/images/output-onlinepngtools.png b/src/main/resources/static/images/output-onlinepngtools.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa210ea8ce2ac165e63855ad34810bc05f5ea01 GIT binary patch literal 4723 zcmex=>ukC3pCfH06P05XITq?4J21E^7eo0A(TN+S4wfI*Oh ziGhiMnNf*>Nsy6Qkn#T!26+YsMpmF}K@NrjMkZz!RyKAHPA+bsf~^7!OhCJtSeRK^ zSy+IoYk~3%EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+bl&YG# zhNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>CqXV;|3 zQ>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!Rdidz^ zlc&#~zj*oT ${buttonText}`; + }); +}); \ No newline at end of file diff --git a/src/main/resources/templates/User/home.html b/src/main/resources/templates/User/home.html index e82d8a4..fd4716f 100644 --- a/src/main/resources/templates/User/home.html +++ b/src/main/resources/templates/User/home.html @@ -230,22 +230,26 @@ -
+
- +
+ + Back +
+
- -
+ +
- register + register
Register Your
Complaints

Register Complaints
Via Internet

@@ -261,7 +265,7 @@
- Phone + Phone
Register Complaint via Phone

Call 1913 to register your complaint.

@@ -276,7 +280,7 @@
- Paper + Paper
Complaint via Paper Form

Send your Grievance to
The Commissioner,
Greater Chennai @@ -292,7 +296,7 @@

- Status + Status
Check Your Complaint Status
@@ -313,7 +317,7 @@
@@ -332,6 +336,12 @@
+
+
+
+
+
+
@@ -405,8 +415,7 @@ - - +
@@ -428,7 +437,7 @@ $('#check-now-btn').click(function () { var complaintNumber = $('#complaint-number').val(); if (complaintNumber) { - window.location.href = 'checklistofficer?complaintno=' + encodeURIComponent(complaintNumber); + window.location.href = '/pgr/checklistofficer?complaintno=' + encodeURIComponent(complaintNumber); } else { alert('Please enter a complaint number.'); } @@ -461,7 +470,39 @@ } } + // ✅ Mobile number validation as user types + $('#complaint-mobile').on('input', function () { + let value = this.value; + + // Allow only digits + value = value.replace(/[^0-9]/g, ''); + + // Prevent starting with 0 + if (value.startsWith('0')) { + value = ''; + //showSnackbar("Mobile number cannot start with 0."); + } + + // Limit to 10 digits + if (value.length > 10) { + value = value.slice(0, 10); + } + + this.value = value; + + // Check for all repeating digits + if (/^(\d)\1{9}$/.test(value)) { + $(this).addClass('is-invalid'); + showSnackbar("Mobile number cannot be all repeating digits."); + } else { + $(this).removeClass('is-invalid'); + } + }); + $(document).ready(function () { + + + // Trigger modal and load complaint list based on mobile number $('#check-mobile-btn').on('click', function () { const mobileNumber = $('#complaint-mobile').val(); // Get the entered mobile number @@ -470,10 +511,16 @@ alert("Please enter a mobile number."); return; } + + if (mobileNumber.length !== 10 || !/^\d{10}$/.test(mobileNumber) || mobileNumber.startsWith('0') || /^(\d)\1{9}$/.test(mobileNumber)) { + alert("Enter a valid 10-digit mobile number."); + return; + } + $('#loader').show(); // AJAX request to fetch complaint details by mobile number $.ajax({ - url: '/api/getComplaintDetailsByMobile', // Replace with your correct API path + url: '/pgr/api/getComplaintDetailsByMobile', method: 'GET', data: {mobileNo: mobileNumber}, success: function (response) { @@ -490,7 +537,7 @@ complaintList.forEach(function (complaint) { const complaintId = complaint.complaintid || 'N/A'; // Fallback to N/A if complaintid is null const complaintType = complaint.complainttype || 'N/A'; - + const newRow = ` ${complaintId} @@ -528,7 +575,7 @@ var complaintId = $(this).data('complaintid'); if (complaintId) { // Redirect to the complaint details page using complaintId - window.location.href = 'checklistofficer?complaintno=' + encodeURIComponent(complaintId); + window.location.href = '/pgr/checklistofficer?complaintno=' + encodeURIComponent(complaintId); } else { alert('Complaint ID not found.'); } @@ -538,6 +585,7 @@ }); + \ No newline at end of file diff --git a/src/main/resources/templates/User/kin.html b/src/main/resources/templates/User/kin.html new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/templates/User/registercomplaints.html b/src/main/resources/templates/User/registercomplaints.html index c5d7697..6d4d1ae 100644 --- a/src/main/resources/templates/User/registercomplaints.html +++ b/src/main/resources/templates/User/registercomplaints.html @@ -4,6 +4,8 @@ Main Page + + @@ -11,7 +13,7 @@ - + + + /* otp*/ + + .otp-input-box { + display: flex; + justify-content: center; + gap: 10px; + /* Adjust spacing between the inputs */ + } + + .otp-input { + width: 50px; + /* Width for a square input */ + height: 50px; + /* Height for a square input */ + font-size: 24px; + /* Make the digits larger */ + text-align: center; + /* Center the digit inside the box */ + border: 1px solid #ccc; + /* Optional: add a border */ + border-radius: 5px; + /* Optional: rounded corners */ + outline: none; + /* Remove default focus outline */ + transition: border-color 0.3s ease; + } + + .otp-input:focus { + border-color: #007bff; + /* Change border color on focus */ + } + + /* otp*/ + + + /*send otp styles*/ + .input-group .form-control { + border-right: 0; + /* Remove right border of the input to blend with the button */ + } + + .input-group-append .btn { + border-left: 0; + /* Remove left border of the button */ + } +
+
-
@@ -391,30 +479,72 @@ style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">
+ - -
+
1. Complaining Person's Details:
-
+ + + +
+
+
+ Yes + No +
+
+ + + + + + +
+
+
+ + Yes + + No +
+
+ + + + +
+
- +
@@ -427,16 +557,16 @@
- -
- - -
+ + + +
+
@@ -444,162 +574,143 @@
- - +
-
+ +
+ +
+
- +
- - + + + +
+ - +
- - + + +
- - + + +
+ - +
+
- + +
+ -
-
-
3. Complaint Type:
- - -
-
- Pothole -

Pothole

-
-
- garbage -

Garbage

-
-
- broken-bin -

Broken-Bin

-
-
- StreetLight -

StreetLight

-
-
- public-toilet -

Public Toilet

-
-
- mosquito -

Mosquito Menace

-
-
- waterstag -

WaterStagnation

-
-
- sewage -

Storm Water Drains

-
-
- dog -

Street Dog

-
- - -
- Others -

Others

-
-
- - -
-
-
- - -
-
- - -
- -
-
-
- - -
-
- - -
- -
-
- - -
-
-
- - -
-
- - -
-
- - -
-
-
-
- - -
-
-
- - - - -
+
+
+
3. Complaint Type and Sub-Type
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + +
+
+ + + +

Upload Photo Less Than 1MB.

+
+
+
+
+
+ + +
+
+
+ + + +
@@ -666,30 +777,125 @@
+ + + + + + + + + diff --git a/src/main/resources/templates/checklistofficer/checklistofficer.html b/src/main/resources/templates/checklistofficer/checklistofficer.html index af4d125..b85fa13 100644 --- a/src/main/resources/templates/checklistofficer/checklistofficer.html +++ b/src/main/resources/templates/checklistofficer/checklistofficer.html @@ -84,6 +84,9 @@ + + +

Check Complaint Status

@@ -97,27 +100,19 @@
- Complainant ID: +
- Complainant Mobile Number: +
- Complainant Name: +
- +
@@ -128,23 +123,23 @@
- Complainant Street: +
- Complainant Zone: +
- Complainant Ward: +
- Complainant Area: +
- Complainant Locality: +
@@ -156,7 +151,7 @@
- Complainant Type: +
@@ -169,7 +164,7 @@
-->
- Complainant Description: +
@@ -184,17 +179,17 @@
- Complaint Closed Date: +
- Official Name: +
- Status: +
@@ -219,23 +214,20 @@
- Change Complaint Status: +
- Details of Complaint: +
@@ -249,6 +241,12 @@ + + + +
@@ -276,7 +274,7 @@ $('#loader').show(); $.ajax({ - url: '/api/getComplaintDetailsbyId', // Replace with your actual API endpoint + url: '/pgr/api/getComplaintDetailsbyId', // Replace with your actual API endpoint type: 'GET', data: {complaintid: complaintNo}, success: function (response) { @@ -312,6 +310,40 @@ document.getElementById("commentDate").value = complaintDetails.complaintcloseddate || ''; document.getElementById("commentuser").value = complaintDetails.Officialname || ''; + let complaintCurrentStatus = complaintDetails.complaintcurrentstatus || ''; + + // Get the dropdown element + let complaintStatusDropdown = document.getElementById("complaintStatus"); + + // Function to add options to the select element + function addOption(text, value) { + let option = document.createElement("option"); + option.text = text; + option.value = value; + complaintStatusDropdown.add(option); + } + + // Check the current status and add the respective options + if (complaintCurrentStatus === 'REGISTERED') { + addOption('REGISTERED', '2'); + addOption('WITHDRAWN', '8'); + } else if (complaintCurrentStatus === 'WITHDRAWN') { + addOption('WITHDRAWN', '8'); + addOption('REOPENED', '9'); + } + else if (complaintCurrentStatus === 'CLOSE') { + addOption('CLOSE', '10'); + addOption('REOPENED', '9'); + } + else if (complaintCurrentStatus === 'REOPENED') { + addOption('REOPENED', '9'); + addOption('WITHDRAWN', '8'); + } + else if (complaintCurrentStatus === 'FINAL_CLOSURE') { + addOption('FINAL_CLOSURE', '11'); + addOption('REOPENED', '9'); + } + document.getElementById("statusshow").value = complaintDetails.complaintcurrentstatus || ''; // Handle nested Comments array @@ -329,15 +361,64 @@ return txt.value; } + // Convert image URL to Base64 + function convertImageToBase64(url, callback) { + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + var reader = new FileReader(); + reader.onloadend = function () { + callback(reader.result); + }; + reader.readAsDataURL(xhr.response); + }; + xhr.open('GET', url); + xhr.responseType = 'blob'; + xhr.send(); + } + + // Compress the Base64 image using canvas + function compressImage(base64Str, callback, quality = 0.7, maxWidth = 800) { + var img = new Image(); + img.onload = function () { + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + var width = img.width; + var height = img.height; + + // Adjust the image size for compression + if (width > maxWidth) { + height *= maxWidth / width; + width = maxWidth; + } + + canvas.width = width; + canvas.height = height; + + // Draw the image onto the canvas + ctx.drawImage(img, 0, 0, width, height); + + // Convert the canvas back to Base64 with the specified quality (compression) + var compressedBase64 = canvas.toDataURL('image/jpeg', quality); + callback(compressedBase64); + }; + img.src = base64Str; + } + // Handle last comment var userImageHtml = ''; if (Array.isArray(lastComment.userimages) && lastComment.userimages.length > 0) { var imageUrl = lastComment.userimages[0].Comp_Image; if (imageUrl && imageUrl !== 'null') { - userImageHtml = ` -
- User Image -
`; + convertImageToBase64(imageUrl, function (base64Image) { + compressImage(base64Image, function (compressedImage) { + userImageHtml = ` +
+ User Image +
`; + commentsContainer.append(lastCommentHtml); + }); + }); } } @@ -361,13 +442,13 @@

`; + // Add the comment section with the compressed Base64 image commentsContainer.append(lastCommentHtml); // Add dropdown button for other comments if (comments.length > 1) { var dropdownHtml = ` - + diff --git a/src/main/resources/templates/fragments/footer.html b/src/main/resources/templates/fragments/footer.html index 3e6355a..5b08c52 100644 --- a/src/main/resources/templates/fragments/footer.html +++ b/src/main/resources/templates/fragments/footer.html @@ -42,10 +42,11 @@ diff --git a/src/main/resources/templates/fragments/header.html b/src/main/resources/templates/fragments/header.html index 2808c64..75d5b12 100644 --- a/src/main/resources/templates/fragments/header.html +++ b/src/main/resources/templates/fragments/header.html @@ -3,43 +3,59 @@ Header Fragment +
+ .header .logos-right img { + height: 60px; + margin-left: 10px; + } + + #toggleSpeech { + background-color: white; + color: black; + margin: 3px; + } + + #toggleSpeech img { + height: 30px; + /* Set height for the image */ + margin-right: 8px; + /* Add some space between the image and text */ + } +
- Greater Chennai Corporation Logo + Greater Chennai Corporation Logo +
@@ -47,52 +63,11 @@
- Tamil Nadu Logo - bonton Logo + Tamil Nadu Logo +
-
- -
+ \ No newline at end of file diff --git a/src/main/resources/templates/officer/checkofficerhome.html b/src/main/resources/templates/officer/checkofficerhome.html new file mode 100644 index 0000000..0753e09 --- /dev/null +++ b/src/main/resources/templates/officer/checkofficerhome.html @@ -0,0 +1,258 @@ + + + + + + Main Page + + + + + + + + + + + + +
+ + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/officer/checkofficerstatus.html b/src/main/resources/templates/officer/checkofficerstatus.html new file mode 100644 index 0000000..a626730 --- /dev/null +++ b/src/main/resources/templates/officer/checkofficerstatus.html @@ -0,0 +1,528 @@ + + + + + + CheckList User + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+
+

Check Complaint Status

+
+
+ +
+
+
1. Complaining Person's Details +
+
+
+
+ Complainant ID: + +
+
+ Complainant Mobile Number: + +
+
+ Complainant Name: + +
+ + +
+
+
+ +
+
2. Complaint Location Details +
+
+
+
+ Complainant Street: + +
+
+ Complainant Zone: + +
+
+ Complainant Ward: + +
+
+ Complainant Area: + +
+
+ Complainant Locality: + +
+
+
+
+ +
+
3. Complaint Type
+
+
+
+ Complainant Type: + +
+ + +
+ Complainant Description: + +
+
+
+
+
+ +
+
Complaint Action
+
+
+ + +
+ Complaint Closed Date: + + +
+
+ Official Name: + +
+ +
+ Status: + +
+
+ + +
+
+ + +
+
Complaint Action History
+
+
+
+
+ + + +
+
Update Complaint
+
+
+
+ Change Complaint Status: + +
+ + +
+
+
+ Details of Complaint: + +
+
+
+ +
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/staff/staffcheckstatus.html b/src/main/resources/templates/staff/staffcheckstatus.html new file mode 100644 index 0000000..4ef0476 --- /dev/null +++ b/src/main/resources/templates/staff/staffcheckstatus.html @@ -0,0 +1,614 @@ + + + + + + CheckList User + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Check Complaint Status

+
+
+ +
+
+
1. Complaining Person's Details +
+
+
+
+ + +
+
+ + +
+
+ + +
+ + +
+
+
+ +
+
2. Complaint Location Details +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ +
+
3. Complaint Type
+
+
+
+ + +
+ + +
+ + +
+
+
+
+
+ +
+
Complaint Action
+
+
+ + +
+ + + +
+
+ + +
+ +
+ + +
+
+ + +
+
+ + +
+
Complaint Action History
+
+
+
+
+ + + +
+
Update Complaint
+
+
+
+ + +
+ + +
+
+
+ + +
+
+
+ +
+
+
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/staff/staffcomplaint.html b/src/main/resources/templates/staff/staffcomplaint.html new file mode 100644 index 0000000..bf7b4b8 --- /dev/null +++ b/src/main/resources/templates/staff/staffcomplaint.html @@ -0,0 +1,1538 @@ + + + + + + Main Page + + + + + + + + + + + + +
+ +
+ + +
+ +
+
+ + +

Registration of Complaint

+
+
+ + +
+

Instructions:

+

Please fill your complaint details below and click the ‘Submit’ button at the bottom. You will be given a + Complaint Number upon submitting the complaint that you can use to track the complaint.

+
+
+
+
+
+ + + +
+
+
1. Complaining Person's Details:
+
+
+ +
+ +
+
+
+
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+ + +
+
+ +
+
+ +
+
+
2. Complaint Location Details:
+
+ + + + + + +
+
+
+ +
+
+
+
+ + +
+ +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ +
+
+
3. Complaint Type:
+ + +
+
+ Pothole +

Pothole

+
+
+ garbage +

Garbage

+
+
+ broken-bin +

Broken-Bin

+
+
+ StreetLight +

StreetLight

+
+
+ public-toilet +

Public Toilet

+
+
+ mosquito +

Mosquito Menace

+
+
+ waterstag +

WaterStagnation

+
+
+ sewage +

Storm Water Drains

+
+
+ dog +

Street Dog

+
+ + +
+ Others +

Others

+
+
+ + +
+
+
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + + +

Upload Photo Less Than 1mb*.

+
+
+ +
+
+ + +
+
+
+ + +
+
+ + +
+
+ + + +

Upload Photo Less Than 1mb*.

+
+
+
+
+
+ + +
+
+
+ + + + +
+
+ + +
+
+
4. Complaint Details:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name: Complaint Location:
Mobile Number: Email Address:
Complaint Type: Complaint Title:
Description: Street Id:
Landmark: Latitude:
Longitude: Gender:
Image / Video: + +
+ + + + + + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/staff/staffhome.html b/src/main/resources/templates/staff/staffhome.html new file mode 100644 index 0000000..74657f3 --- /dev/null +++ b/src/main/resources/templates/staff/staffhome.html @@ -0,0 +1,543 @@ + + + + + + Main Page + + + + + + + + + + + + +
+ + + + + + + +
+ + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/java/com/gcc/publicgrievance/PublicgrievanceApplicationTests.java b/src/test/java/com/gcc/publicgrievance/PublicgrievanceApplicationTests.java deleted file mode 100644 index b5965c2..0000000 --- a/src/test/java/com/gcc/publicgrievance/PublicgrievanceApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gcc.publicgrievance; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class PublicgrievanceApplicationTests { - - @Test - void contextLoads() { - } - -}