{"id":34656,"date":"2026-04-22T10:57:00","date_gmt":"2026-04-22T08:57:00","guid":{"rendered":"https:\/\/www.greenuso.com\/blog\/?p=34656"},"modified":"2026-04-14T16:53:28","modified_gmt":"2026-04-14T14:53:28","slug":"eco-friendly-wedding-catering","status":"publish","type":"post","link":"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/","title":{"rendered":"Eco-friendly wedding catering: choose sustainable options \ud83c\udf31"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">More and more couples are seeking to celebrate their wedding while caring for the environment. Eco-friendly catering focuses on locally sourced ingredients, sustainable menus, and options tailored to various needs. Learn how to offer a responsible experience without sacrificing flavor or quality on your big day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eco-friendly wedding catering<\/strong> is a proposal that emphasizes sustainability at every stage of the service: from selecting ingredients to waste management. This approach aims to minimize environmental impact, promote responsible consumption, and encourage healthy and environmentally friendly alternatives.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Content<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999999;color:#999999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999999;color:#999999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#What_Sets_Eco-Friendly_Catering_Apart\" >What Sets Eco-Friendly Catering Apart?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Differences_from_Traditional_Catering\" >Differences from Traditional Catering<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Why_Choose_Sustainable_Options_for_Your_Wedding\" >Why Choose Sustainable Options for Your Wedding<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Benefits_of_Sustainable_Catering\" >Benefits of Sustainable Catering<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Proposals_for_Eco-Friendly_Wedding_Menus\" >Proposals for Eco-Friendly Wedding Menus<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Sustainable_Starters_Main_Courses_and_Desserts\" >Sustainable Starters, Main Courses, and Desserts<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#The_Value_of_Seasonality_in_Ingredient_Selection\" >The Value of Seasonality in Ingredient Selection<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Alternatives_for_Dietary_Restrictions\" >Alternatives for Dietary Restrictions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Specific_Example_of_an_Adapted_Eco-Friendly_Menu\" >Specific Example of an Adapted Eco-Friendly Menu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Strategic_Tips_for_Choosing_Catering\" >Strategic Tips for Choosing Catering<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Essential_Questions_Before_Closing_a_Deal\" >Essential Questions Before Closing a Deal<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Suggestions_for_a_Sustainable_and_Responsible_Wedding\" >Suggestions for a Sustainable and Responsible Wedding<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Strategies_to_Minimize_Waste\" >Strategies to Minimize Waste<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Eco-Friendly_and_Reusable_Decoration\" >Eco-Friendly and Reusable Decoration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Compostable_Tableware_Napkins_and_Packaging\" >Compostable Tableware, Napkins, and Packaging<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Involve_Guests_in_Sustainability\" >Involve Guests in Sustainability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#What_Are_the_Prices_for_Eco-Friendly_Catering_Per_Guest\" >What Are the Prices for Eco-Friendly Catering Per Guest?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Are_There_Eco-Friendly_Alternatives_for_the_Open_Bar_and_Desserts\" >Are There Eco-Friendly Alternatives for the Open Bar and Desserts?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.greenuso.com\/blog\/eco-friendly-wedding-catering\/#Is_It_Possible_to_Organize_a_Completely_Eco-Friendly_Wedding\" >Is It Possible to Organize a Completely Eco-Friendly Wedding?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Sets_Eco-Friendly_Catering_Apart\"><\/span>What Sets Eco-Friendly Catering Apart?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use of Local and Seasonal Ingredients<\/strong>: Prioritizes fresh products, grown near the event location and in their prime. This reduces transportation and associated carbon footprint, while ensuring taste and freshness.<\/li>\n\n\n\n<li><strong>Organic Raw Materials<\/strong>: The foods used come from farms and plantations that follow environmentally friendly practices, avoiding pesticides and synthetic chemicals.<\/li>\n\n\n\n<li><strong>Sustainable Packaging and Tableware<\/strong>: The use of compostable, biodegradable, or reusable materials, such as Greenuso&#8217;s eco-friendly tableware, is essential to reduce plastics and other waste.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Differences_from_Traditional_Catering\"><\/span>Differences from Traditional Catering<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Focus on Sustainability<\/strong>: Unlike the conventional model, eco-friendly catering avoids industrialized products and excessive meat consumption, opting for dishes that highlight vegetables, legumes, and whole grains.<\/li>\n\n\n\n<li><strong>Ethical and Social Commitment<\/strong>: Establishes a closer relationship with small producers and local cooperatives, ensuring fair trade conditions and contributing to the local economy.<\/li>\n\n\n\n<li><strong>Conscious Resource and Waste Management<\/strong>: Unlike traditional celebrations, the quantity of food is carefully planned here to limit excess, using recycling systems or composting leftovers.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_Choose_Sustainable_Options_for_Your_Wedding\"><\/span>Why Choose Sustainable Options for Your Wedding<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Opting for <strong>eco-friendly wedding catering<\/strong> is more than just following trends. It means aligning your celebration with responsible values and creating a positive impact. Eco-friendly menus care for the health of your guests, avoid ultra-processed foods, and reduce allergens. Moreover, they enhance originality and personalization of the experience by integrating proposals tailored to different diets and needs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Celebrating a sustainable wedding conveys commitment to the planet, environmental sensitivity, and social awareness, leaving a memory that goes beyond the event itself.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Benefits_of_Sustainable_Catering\"><\/span>Benefits of Sustainable Catering<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eco-friendly wedding catering<\/strong> offers clear advantages for the couple, their guests, and the environment.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reduction of Environmental Impact<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Choosing sustainable catering means reducing the event&#8217;s ecological footprint. This is achieved by using local products that minimize transportation and associated emissions. The use of organic and seasonal ingredients decreases resource consumption and chemical use in agriculture. Furthermore, efficient waste management, recycling, and the choice of compostable tableware\u2014such as that proposed by Greenuso\u2014contribute to a celebration with less waste and lower plastic production.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Supporting Local Producers and Economic Boost<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By working with local suppliers and selecting foods from short supply chains, eco-friendly catering supports the local economy and contributes to sustainable job creation. This direct connection with farmers and small businesses promotes a more ethical supply chain, strengthens the community, and encourages the development of <a href=\"https:\/\/agriculture.ec.europa.eu\/farming\/organic-farming\/organics-glance_en\" data-type=\"link\" data-id=\"https:\/\/agriculture.ec.europa.eu\/farming\/organic-farming\/organics-glance_en\" target=\"_blank\" rel=\"noopener\">organic agriculture<\/a> and fair trade in the region.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Health and Well-being Benefits for Guests<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Fresh and organic foods contain fewer additives and preservatives, which promotes a more balanced and higher quality diet. Menus typically include a greater variety of fruits, vegetables, legumes, and whole grains, ingredients associated with better nutrition and digestion during the event. Respecting allergies and specific needs reduces risks and improves everyone&#8217;s experience.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Personalization for a Conscious Experience<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sustainable catering<\/strong> offers wide options to tailor the proposal to the guests&#8217; profile, considering tastes, habits, and values. It allows for vegetarian, vegan, or allergen-free menus, adding unique details like ecological showcooking stations or incorporating thematic elements consistent with the event&#8217;s sustainability. This customization enhances the wedding&#8217;s identity and reinforces the environmental respect and commitment the couple wishes to convey.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Overall, eco-friendly wedding catering transforms the celebration into a more responsible, authentic experience aligned with new social and environmental demands.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"410\" height=\"551\" src=\"https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/Captura-de-pantalla-2026-04-14-152139-4.jpgvfdv-4.jpg\" alt=\"Discover how to plan eco-friendly wedding catering with sustainable ingredients, responsible menus, and less waste\" class=\"wp-image-34887\" srcset=\"https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/Captura-de-pantalla-2026-04-14-152139-4.jpgvfdv-4.jpg 410w, https:\/\/www.greenuso.com\/blog\/wp-content\/uploads\/Captura-de-pantalla-2026-04-14-152139-4.jpgvfdv-4-223x300.jpg 223w\" sizes=\"auto, (max-width: 410px) 100vw, 410px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Proposals_for_Eco-Friendly_Wedding_Menus\"><\/span>Proposals for Eco-Friendly Wedding Menus<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Creating a <strong>eco-friendly wedding catering<\/strong> menu requires creativity, seasonal coherence, and sensitivity to the various needs of the guests.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sustainable_Starters_Main_Courses_and_Desserts\"><\/span>Sustainable Starters, Main Courses, and Desserts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Environmentally Friendly Starters<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Salad of organic tomatoes with sprouts, edible flowers, and local extra virgin olive oil.<\/li>\n\n\n\n<li>Organic chickpea hummus with crudit\u00e9s of local vegetables.<\/li>\n\n\n\n<li>Seasonal gazpacho served in compostable cups.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Responsible Main Courses<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Brown rice with organic mushrooms, asparagus, and truffle oil, suitable for vegans and gluten intolerant individuals.<\/li>\n\n\n\n<li>Vegetable lasagna with seasonal squash and spinach, soy b\u00e9chamel, and vegan cheese.<\/li>\n\n\n\n<li>Homemade falafel accompanied by fresh tabbouleh and cashew yogurt sauce.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eco-Friendly Desserts<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Light chocolate mousse with avocado and orange, sweetened with agave syrup.<\/li>\n\n\n\n<li>Fresh seasonal fruit salad.<\/li>\n\n\n\n<li>Vegan walnut brownies made with whole wheat flour and no refined sugars.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Value_of_Seasonality_in_Ingredient_Selection\"><\/span>The Value of Seasonality in Ingredient Selection<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Choosing seasonal ingredients ensures that products are fresher, tastier, and more sustainable. In spring and summer, fruits and vegetables like strawberries, cherries, cucumbers, tomatoes, or zucchini stand out; in autumn and winter, squash, eggplants, mushrooms, and citrus offer color and flavor. Using products from each season not only maintains ecological consistency but also enhances the menu&#8217;s quality.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Alternatives_for_Dietary_Restrictions\"><\/span>Alternatives for Dietary Restrictions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Eco-friendly wedding catering<\/strong> adapts to all sorts of dietary preferences and special needs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vegetarian and vegan proposals based on legumes, roasted vegetables, and plant-based creams and spreads.<\/li>\n\n\n\n<li>Gluten-free dishes with alternative grains like quinoa, brown rice, or millet.<\/li>\n\n\n\n<li>Dessert options without lactose or added sugars, using nuts and natural fruit.<\/li>\n\n\n\n<li>Inclusion of menus without common allergens, designed for celiacs, diabetics, and people with intolerances.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Specific_Example_of_an_Adapted_Eco-Friendly_Menu\"><\/span>Specific Example of an Adapted Eco-Friendly Menu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Starter: Beet tartare with green apple and avocado, seeds, and a citrus vinaigrette.<\/li>\n\n\n\n<li>Main Course: Mild curry of squash, organic chickpeas, and spinach over brown rice, suitable for vegans and gluten-free.<\/li>\n\n\n\n<li>Dessert: Homemade lemon sorbet with mint and oatmeal cookie, lactose-free and egg-free.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In all cases, presentation on compostable tableware and waste reduction contribute to reinforcing the philosophy of eco-friendly wedding catering and offer a memorable, varied, and environmentally responsible experience.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Strategic_Tips_for_Choosing_Catering\"><\/span>Strategic Tips for Choosing Catering<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Define Your Priorities<\/strong>: Select the type of menu (vegan, vegetarian, gluten-free) and evaluate if traditional options need to be included.<\/li>\n\n\n\n<li><strong>Ensure Product Origins<\/strong>: Request information about food suppliers and the origin of fresh ingredients.<\/li>\n\n\n\n<li><strong>Review Sustainable Commitments<\/strong>: Inquire about waste management, <a href=\"https:\/\/www.greenuso.com\/blog\/biodegradable-miniatures-for-events\/\" data-type=\"link\" data-id=\"https:\/\/www.greenuso.com\/blog\/biodegradable-miniatures-for-events\/\">material reuse<\/a>, and the use of eco-friendly packaging.<\/li>\n\n\n\n<li><strong>Request Tastings and Customized Menus<\/strong>: This is the best way to assess the quality, creativity, and adaptability of the service.<\/li>\n\n\n\n<li><strong>Ensure Logistics<\/strong>: Check how dish transportation is conducted, whether they use electric vehicles, or minimize the impact of the trip to the event.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Essential_Questions_Before_Closing_a_Deal\"><\/span>Essential Questions Before Closing a Deal<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Do they include menus adapted for allergies, intolerances, and dietary restrictions?<\/li>\n\n\n\n<li>Do they work with only seasonal and local ingredients?<\/li>\n\n\n\n<li>Do they offer solutions for managing waste after the banquet?<\/li>\n\n\n\n<li>What alternatives do they provide for tableware, cutlery, and napkins?<\/li>\n\n\n\n<li>Do they have experience in similar events and references from other sustainable weddings?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Suggestions_for_a_Sustainable_and_Responsible_Wedding\"><\/span>Suggestions for a Sustainable and Responsible Wedding<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Moving towards <strong>eco-friendly wedding catering<\/strong> is an important step, but there are other key actions to make the event more environmentally friendly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Strategies_to_Minimize_Waste\"><\/span>Strategies to Minimize Waste<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adjust the amount of food according to the number of guests to avoid waste.<\/li>\n\n\n\n<li>Opt for a sustainable buffet format or themed stations that allow for greater control over portions.<\/li>\n\n\n\n<li>Plan for separate and selective waste collection from the start, providing differentiated containers and clear signage.<\/li>\n\n\n\n<li>Donate food surplus to local associations or promote distribution among attendees.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Eco-Friendly_and_Reusable_Decoration\"><\/span>Eco-Friendly and Reusable Decoration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose decorative elements made from natural materials (wood, fabric, plant fibers) that can be reused or recycled.<\/li>\n\n\n\n<li>Opt for seasonal flowers, potted plants, and dried arrangements that can later be gifted or left in the environment.<\/li>\n\n\n\n<li>Replace balloons, plastic confetti, and single-use decorations with biodegradable alternatives or artisanal details.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Compostable_Tableware_Napkins_and_Packaging\"><\/span>Compostable Tableware, Napkins, and Packaging<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Opt for <strong>compostable tableware, natural fiber napkins, and biodegradable packaging<\/strong>. Products like Greenuso&#8217;s eco-friendly tableware ensure that each guest&#8217;s impact is minimal, and that all dinnerware can be composted after the event. If you desire a more elegant touch, combine reusable pieces with eco-friendly alternatives for drinks or desserts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Involve_Guests_in_Sustainability\"><\/span>Involve Guests in Sustainability<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inform guests from the invitations about the wedding&#8217;s ecological commitment and encourage them to act accordingly (e.g., avoid private car use or bring reusable bottles).<\/li>\n\n\n\n<li>Propose small actions during the celebration: recycling points, book or seed exchange corner, charitable raffles, or sustainable gifts like plants or local products.<\/li>\n\n\n\n<li>Reward good practices and make environmental care part of the experience and the day&#8217;s memory.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">By integrating these suggestions, an eco-friendly wedding catering becomes a responsible and coherent event in each of its details, reflecting a genuine commitment to the future and global well-being.<\/p>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1776178169037\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"What_Are_the_Prices_for_Eco-Friendly_Catering_Per_Guest\"><\/span>What Are the Prices for Eco-Friendly Catering Per Guest?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The price per person varies based on menu type, the number of dishes, selected ingredients, and additional services (showcooking, themed stations, personalized pastries). On average, it falls within a range similar to conventional catering, although high-quality organic products may sometimes slightly raise the cost. It&#8217;s important to request detailed quotes and compare options based on their sustainability commitments and transparency in supplier selection.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776178182899\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"Are_There_Eco-Friendly_Alternatives_for_the_Open_Bar_and_Desserts\"><\/span>Are There Eco-Friendly Alternatives for the Open Bar and Desserts?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The open bar can align with the eco-friendly philosophy by choosing organic wines, beers, and spirits or local producers. Cocktails can be served with fresh seasonal fruit, and single-use packaging can be reduced with compostable or reusable cups. For desserts, sustainable options include vegan cakes, fresh fruit, confectionery with whole ingredients, and plastic-free presentation.<br \/>Addressing these questions helps prepare for an authentic, responsible celebration tailored to each couple and guest&#8217;s expectations, facilitating a transition towards increasingly conscious and environmentally respectful events.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1776178203938\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><span class=\"ez-toc-section\" id=\"Is_It_Possible_to_Organize_a_Completely_Eco-Friendly_Wedding\"><\/span>Is It Possible to Organize a Completely Eco-Friendly Wedding?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, there are currently resources and providers that allow for planning a sustainable wedding in all aspects. From eco-friendly wedding catering to reusable decoration, digital invitations, shared transportation, and eco-friendly gifts for guests. Good organization, clear communication with providers, and a willingness to reduce environmental impact in every decision are all it takes.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>More and more couples are seeking to celebrate their wedding while caring for the environment. Eco-friendly catering focuses on locally sourced ingredients, sustainable menus, and\u2026<\/p>\n","protected":false},"author":1,"featured_media":34816,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AAAH38GZuA3zCfEJBrQBNrTsAwEYPAIBAgpKUNDwA6LwAwYEEFJKiAMBAQgCQgBIAIQKAQEIAkJIAKoBAQEIAkIASACUCgEBCAJCSACcAQEBCABIDgIBAQgCSgCaBwEBCAJKALQFAQEIAkreDYoUAQEIAkJIAJoBAQEIAEgOAgEBCAJKAJgHAQEIAkoAlgYBAQgCSv4NohQBAQgCQkgArgEBAQgCQgBIAKgNAQEIAkIASACiBQEBCAJCSACQAQEBCAJCAEgAhAQBAQgCQkgAkgEBAQgCQgBIAJYPAQEIAkJIAKoBAQEIApAKAwEIAwAUBPwKAEgAhAwBAQgCQkgAogEBAQgCQgBIAIwMAQEIAkJIAKQBAQEIAkIASACIDwEBCAJCAEgAlgUBAQgCQkgAoAEBAQgCQgBIAIgFAQEIAkJIALABAQEIAkIASAC2AQEBCABIDgIBAQgCSgCAAwEBCAJKAIICAQEIAkrSBboGAQEIAkIASACkAQEBCABIDgIBAQgCSgC4AwEBCAJKALQCAQEIAkr8BpoJAQEIAkIASACeAQEBCABIDgIBAQgCSgCkAgEBCAJKAIQBAQEIAkr4A5YGAQEIAkJIALABAQEIAkIASACIDQEBCAJCSACaAQEBCAJCAEgAqgMBAQgASA4CAQEIAkoAngMBAQgCSgCqAgEBCAJKAKoCAQEIAkrCCaYMAQEIAkJIALABAQEIAEgOAgEBCAJKALYCAQEIAkoAvAMBAQgCSsIHvgkBAQgCQgBIAIoHAQEIAkJIAIYCAQEIAkIASACwBgEBCAJCSACaAQEBCAJCAEgAkgwBAQgCQkgAmAEBAQgASA4CAQEIAkoAggUBAQgCSgC6AwEBCAKiAgMGDMgDAJwEAQEIAkoArgQBAQgCStYSqhcBAQgCQkgAogEBAQgASA4CAQEIAkoAtgIBAQgCSgC6AQEBCAJKAIgCAQEIAkoAmgIBAQgCSuIJogwBAQgCQkgAlAEBAQgCQgBIAJwPAQEIAkIASACaCAEBCAJCSAC6AQEBCAJCAEgAmgUBAQgCQkgAiAEBAQgASA4CAQEIAkoApAIBAQgCSgCWAwEBCAJKALwDAQEIAkrGCrgMAQEIAkJIAJgBAQEIAEgOAgEBCAJKALQDAQEIAkoAtgMBAQgCSvoHsAsBAQgCQkgAqgEBAQgCQgBIAKoLAQEIAkJIAJABAQEIAEgOAgEBCAJKAKQFAQEIAkoAmAUBAQgCSswLlg4BAQgCQgBIAKIGAQEIAkJIAIwCAQEIAkIASACMBQEBCAJCSACuAQEBCAJCAEgAuAoBAQgCQkgAhAIBAQgCQgBIAKAKAQEIAkJIAIACAQEIAkIASACuDgEBCAJCSACKAgEBCAJCAEgAmgwBAQgCQkgAlAIBAQgCQgBIAJIMAQEIAkIASP7iAwJQAP7tA7rNBMwBBAIAiAG+igMBAQgCSuT7AgQCAKABlvsCAQEIAkqkAfABwu8CBAIAmAGk8AIBAQgCSpwB8OUCBAIAmgG+5AIBAQgCSp4BtJQBggy6MJxBpgO+SZoMgAGoEbwQogSoKKAeiGv2vgcDAQgDABQEmh+QkwgBAQgASAgBAtzoB4rBA7w8gP8DiAbswwPM0wOwmgcBAQhI0L8Gnr8GAQEIAQVIEO6TAYaUAZZd8o8IAwYMiOcEsrYBrv0CxokCqBTYwwmswQvcsg83jN0H2AGMBIoC2N8HAQyW6QQDAQgDABQEriSy5gO8PAEAnEHM8QKgpQXWngYDBgyI5wS4ygL2CskLKAAhAScABACEACcAAQAnACgGJwAoHCcABwAoAycAKAAnAKgBKAGoAacABAAoAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBAAoAScAhwAoAicBBAAoACcAhwAoAicBBACECCgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoAScAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAEnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEAIQJJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAEnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgAJwCHACgCJwEEACgBJwCHACgCJwEEACgBJwCoASgBhACoAigBBwAoAicBBAAnAKgBKAEHACgCJwEEACcARACEAEQAhACoASgBBwAoAicBBAAnAEQAhACoASgBBwAoAicBBAAnAEQAhABEAMEAxAHBAMQAwQDEAMEAxADBAMQAwQDEAMEAxAjHACgCJwAoACcBKASoAMQBwQDEAYcAKAInAscAKAInACgHJwCoAMEAqAHECygAqAHEAKjf5QLB3AJzdGF0ZXZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVFY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzogY2hvb3NlIHN1c3RhaW5hYmxlIG9wdGlvbnMgaW4gQmFyY2Vsb25hIGFuZCBDYXRhbG9uaWFkb2N1bWVudGNvbnRlbnRkb2N1bWVudGV4Y2VycHRkb2N1bWVudGF1dGhvcmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudGNvbW1lbnRfc3RhdHVzZG9jdW1lbnRwaW5nX3N0YXR1c2RvY3VtZW50c3RpY2t5ZG9jdW1lbnR0ZW1wbGF0ZWRvY3VtZW50Zm9ybWF0ZG9jdW1lbnRtZXRhc2l0ZS1zaWRlYmFyLWxheW91dHNpdGUtY29udGVudC1sYXlvdXRhc3Qtc2l0ZS1jb250ZW50LWxheW91dHNpdGUtY29udGVudC1zdHlsZXNpdGUtc2lkZWJhci1zdHlsZWFzdC1nbG9iYWwtaGVhZGVyLWRpc3BsYXlhc3QtYmFubmVyLXRpdGxlLXZpc2liaWxpdHlhc3QtbWFpbi1oZWFkZXItZGlzcGxheWFzdC1oZmItYWJvdmUtaGVhZGVyLWRpc3BsYXlhc3QtaGZiLWJlbG93LWhlYWRlci1kaXNwbGF5YXN0LWhmYi1tb2JpbGUtaGVhZGVyLWRpc3BsYXlzaXRlLXBvc3QtdGl0bGVhc3QtYnJlYWRjcnVtYnMtY29udGVudGFzdC1mZWF0dXJlZC1pbWdmb290ZXItc21sLWxheW91dGFzdC1kaXNhYmxlLXJlbGF0ZWQtcG9zdHN0aGVtZS10cmFuc3BhcmVudC1oZWFkZXItbWV0YWFkdi1oZWFkZXItaWQtbWV0YXN0aWNrLWhlYWRlci1tZXRhaGVhZGVyLWFib3ZlLXN0aWNrLW1ldGFoZWFkZXItbWFpbi1zdGljay1tZXRhaGVhZGVyLWJlbG93LXN0aWNrLW1ldGFhc3RyYS1taWdyYXRlLW1ldGEtbGF5b3V0c2FzdC1wYWdlLWJhY2tncm91bmQtZW5hYmxlZGFzdC1wYWdlLWJhY2tncm91bmQtbWV0YWFzdC1jb250ZW50LWJhY2tncm91bmQtbWV0YWZvb3Rub3Rlc2RvY3VtZW50Y2F0ZWdvcmllc2RvY3VtZW50dGFnc2RvY3VtZW50YmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50aW5uZXJCbG9ja3NzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlFY28tRnJpZW5kbHkgV2VkZGluZyBDYXRlcmluZzogQ2hvb3NlIFN1c3RhaW5hYmxlIE9wdGlvbnMgaW4gQmFyY2Vsb25hIGFuZCBDYXRhbG9uaWFsZXZlbGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vcmUgYW5kIG1vcmUgY291cGxlcyBhcmUgc2Vla2luZyB0byBjZWxlYnJhdGUgdGhlaXIgd2VkZGluZyB3aGlsZSBjYXJpbmcgZm9yIHRoZSBlbnZpcm9ubWVudC4gRWNvLWZyaWVuZGx5IGNhdGVyaW5nIGZvY3VzZXMgb24gbG9jYWxseSBzb3VyY2VkIGluZ3JlZGllbnRzLCBzdXN0YWluYWJsZSBtZW51cywgYW5kIG9wdGlvbnMgdGFpbG9yZWQgdG8gdmFyaW91cyBuZWVkcy4gTGVhcm4gaG93IHRvIG9mZmVyIGEgcmVzcG9uc2libGUgZXhwZXJpZW5jZSB3aXRob3V0IHNhY3JpZmljaW5nIGZsYXZvciBvciBxdWFsaXR5IG9uIHlvdXIgYmlnIGRheS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEludHJvZHVjdGlvbiB0byBFY28tRnJpZW5kbHkgV2VkZGluZyBDYXRlcmluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IGlzIGEgcHJvcG9zYWwgdGhhdCBlbXBoYXNpemVzIHN1c3RhaW5hYmlsaXR5IGF0IGV2ZXJ5IHN0YWdlIG9mIHRoZSBzZXJ2aWNlOiBmcm9tIHNlbGVjdGluZyBpbmdyZWRpZW50cyB0byB3YXN0ZSBtYW5hZ2VtZW50LiBUaGlzIGFwcHJvYWNoIGFpbXMgdG8gbWluaW1pemUgZW52aXJvbm1lbnRhbCBpbXBhY3QsIHByb21vdGUgcmVzcG9uc2libGUgY29uc3VtcHRpb24sIGFuZCBlbmNvdXJhZ2UgaGVhbHRoeSBhbmQgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IGFsdGVybmF0aXZlcy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgU2V0cyBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgQXBhcnQ\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Vc2Ugb2YgTG9jYWwgYW5kIFNlYXNvbmFsIEluZ3JlZGllbnRzPC9zdHJvbmc+OiBQcmlvcml0aXplcyBmcmVzaCBwcm9kdWN0cywgZ3Jvd24gbmVhciB0aGUgZXZlbnQgbG9jYXRpb24gYW5kIGluIHRoZWlyIHByaW1lLiBUaGlzIHJlZHVjZXMgdHJhbnNwb3J0YXRpb24gYW5kIGFzc29jaWF0ZWQgY2FyYm9uIGZvb3RwcmludCwgd2hpbGUgZW5zdXJpbmcgdGFzdGUgYW5kIGZyZXNobmVzcy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+T3JnYW5pYyBSYXcgTWF0ZXJpYWxzPC9zdHJvbmc+OiBUaGUgZm9vZHMgdXNlZCBjb21lIGZyb20gZmFybXMgYW5kIHBsYW50YXRpb25zIHRoYXQgZm9sbG93IGVudmlyb25tZW50YWxseSBmcmllbmRseSBwcmFjdGljZXMsIGF2b2lkaW5nIHBlc3RpY2lkZXMgYW5kIHN5bnRoZXRpYyBjaGVtaWNhbHMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlN1c3RhaW5hYmxlIFBhY2thZ2luZyBhbmQgVGFibGV3YXJlPC9zdHJvbmc+OiBUaGUgdXNlIG9mIGNvbXBvc3RhYmxlLCBiaW9kZWdyYWRhYmxlLCBvciByZXVzYWJsZSBtYXRlcmlhbHMsIHN1Y2ggYXMgR3JlZW51c28ncyBlY28tZnJpZW5kbHkgdGFibGV3YXJlLCBpcyBlc3NlbnRpYWwgdG8gcmVkdWNlIHBsYXN0aWNzIGFuZCBvdGhlciB3YXN0ZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERpZmZlcmVuY2VzIGZyb20gVHJhZGl0aW9uYWwgQ2F0ZXJpbmdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkZvY3VzIG9uIFN1c3RhaW5hYmlsaXR5PC9zdHJvbmc+OiBVbmxpa2UgdGhlIGNvbnZlbnRpb25hbCBtb2RlbCwgZWNvLWZyaWVuZGx5IGNhdGVyaW5nIGF2b2lkcyBpbmR1c3RyaWFsaXplZCBwcm9kdWN0cyBhbmQgZXhjZXNzaXZlIG1lYXQgY29uc3VtcHRpb24sIG9wdGluZyBmb3IgZGlzaGVzIHRoYXQgaGlnaGxpZ2h0IHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIGFuZCB3aG9sZSBncmFpbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkV0aGljYWwgYW5kIFNvY2lhbCBDb21taXRtZW50PC9zdHJvbmc+OiBFc3RhYmxpc2hlcyBhIGNsb3NlciByZWxhdGlvbnNoaXAgd2l0aCBzbWFsbCBwcm9kdWNlcnMgYW5kIGxvY2FsIGNvb3BlcmF0aXZlcywgZW5zdXJpbmcgZmFpciB0cmFkZSBjb25kaXRpb25zIGFuZCBjb250cmlidXRpbmcgdG8gdGhlIGxvY2FsIGVjb25vbXkuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkNvbnNjaW91cyBSZXNvdXJjZSBhbmQgV2FzdGUgTWFuYWdlbWVudDwvc3Ryb25nPjogVW5saWtlIHRyYWRpdGlvbmFsIGNlbGVicmF0aW9ucywgdGhlIHF1YW50aXR5IG9mIGZvb2QgaXMgY2FyZWZ1bGx5IHBsYW5uZWQgaGVyZSB0byBsaW1pdCBleGNlc3MsIHVzaW5nIHJlY3ljbGluZyBzeXN0ZW1zIG9yIGNvbXBvc3RpbmcgbGVmdG92ZXJzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2h5IENob29zZSBTdXN0YWluYWJsZSBPcHRpb25zIGZvciBZb3VyIFdlZGRpbmdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3B0aW5nIGZvciA8c3Ryb25nPmVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IGlzIG1vcmUgdGhhbiBqdXN0IGZvbGxvd2luZyB0cmVuZHMuIEl0IG1lYW5zIGFsaWduaW5nIHlvdXIgY2VsZWJyYXRpb24gd2l0aCByZXNwb25zaWJsZSB2YWx1ZXMgYW5kIGNyZWF0aW5nIGEgcG9zaXRpdmUgaW1wYWN0LiBFY28tZnJpZW5kbHkgbWVudXMgY2FyZSBmb3IgdGhlIGhlYWx0aCBvZiB5b3VyIGd1ZXN0cywgYXZvaWQgdWx0cmEtcHJvY2Vzc2VkIGZvb2RzLCBhbmQgcmVkdWNlIGFsbGVyZ2Vucy4gTW9yZW92ZXIsIHRoZXkgZW5oYW5jZSBvcmlnaW5hbGl0eSBhbmQgcGVyc29uYWxpemF0aW9uIG9mIHRoZSBleHBlcmllbmNlIGJ5IGludGVncmF0aW5nIHByb3Bvc2FscyB0YWlsb3JlZCB0byBkaWZmZXJlbnQgZGlldHMgYW5kIG5lZWRzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2VsZWJyYXRpbmcgYSBzdXN0YWluYWJsZSB3ZWRkaW5nIGNvbnZleXMgY29tbWl0bWVudCB0byB0aGUgcGxhbmV0LCBlbnZpcm9ubWVudGFsIHNlbnNpdGl2aXR5LCBhbmQgc29jaWFsIGF3YXJlbmVzcywgbGVhdmluZyBhIG1lbW9yeSB0aGF0IGdvZXMgYmV5b25kIHRoZSBldmVudCBpdHNlbGYuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCZW5lZml0cyBvZiBTdXN0YWluYWJsZSBDYXRlcmluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IG9mZmVycyBjbGVhciBhZHZhbnRhZ2VzIGZvciB0aGUgY291cGxlLCB0aGVpciBndWVzdHMsIGFuZCB0aGUgZW52aXJvbm1lbnQuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWR1Y3Rpb24gb2YgRW52aXJvbm1lbnRhbCBJbXBhY3RsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2hvb3Npbmcgc3VzdGFpbmFibGUgY2F0ZXJpbmcgbWVhbnMgcmVkdWNpbmcgdGhlIGV2ZW50J3MgZWNvbG9naWNhbCBmb290cHJpbnQuIFRoaXMgaXMgYWNoaWV2ZWQgYnkgdXNpbmcgbG9jYWwgcHJvZHVjdHMgdGhhdCBtaW5pbWl6ZSB0cmFuc3BvcnRhdGlvbiBhbmQgYXNzb2NpYXRlZCBlbWlzc2lvbnMuIFRoZSB1c2Ugb2Ygb3JnYW5pYyBhbmQgc2Vhc29uYWwgaW5ncmVkaWVudHMgZGVjcmVhc2VzIHJlc291cmNlIGNvbnN1bXB0aW9uIGFuZCBjaGVtaWNhbCB1c2UgaW4gYWdyaWN1bHR1cmUuIEZ1cnRoZXJtb3JlLCBlZmZpY2llbnQgd2FzdGUgbWFuYWdlbWVudCwgcmVjeWNsaW5nLCBhbmQgdGhlIGNob2ljZSBvZiBjb21wb3N0YWJsZSB0YWJsZXdhcmXigJRzdWNoIGFzIHRoYXQgcHJvcG9zZWQgYnkgR3JlZW51c2\/igJRjb250cmlidXRlIHRvIGEgY2VsZWJyYXRpb24gd2l0aCBsZXNzIHdhc3RlIGFuZCBsb3dlciBwbGFzdGljIHByb2R1Y3Rpb24uZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdXBwb3J0aW5nIExvY2FsIFByb2R1Y2VycyBhbmQgRWNvbm9taWMgQm9vc3RsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Qnkgd29ya2luZyB3aXRoIGxvY2FsIHN1cHBsaWVycyBhbmQgc2VsZWN0aW5nIGZvb2RzIGZyb20gc2hvcnQgc3VwcGx5IGNoYWlucywgZWNvLWZyaWVuZGx5IGNhdGVyaW5nIHN1cHBvcnRzIHRoZSBsb2NhbCBlY29ub215IGFuZCBjb250cmlidXRlcyB0byBzdXN0YWluYWJsZSBqb2IgY3JlYXRpb24uIFRoaXMgZGlyZWN0IGNvbm5lY3Rpb24gd2l0aCBmYXJtZXJzIGFuZCBzbWFsbCBidXNpbmVzc2VzIHByb21vdGVzIGEgbW9yZSBldGhpY2FsIHN1cHBseSBjaGFpbiwgc3RyZW5ndGhlbnMgdGhlIGNvbW11bml0eSwgYW5kIGVuY291cmFnZXMgdGhlIGRldmVsb3BtZW50IG9mIG9yZ2FuaWMgYWdyaWN1bHR1cmUgYW5kIGZhaXIgdHJhZGUgaW4gdGhlIHJlZ2lvbi5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhlYWx0aCBhbmQgV2VsbC1iZWluZyBCZW5lZml0cyBmb3IgR3Vlc3RzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyZXNoIGFuZCBvcmdhbmljIGZvb2RzIGNvbnRhaW4gZmV3ZXIgYWRkaXRpdmVzIGFuZCBwcmVzZXJ2YXRpdmVzLCB3aGljaCBwcm9tb3RlcyBhIG1vcmUgYmFsYW5jZWQgYW5kIGhpZ2hlciBxdWFsaXR5IGRpZXQuIE1lbnVzIHR5cGljYWxseSBpbmNsdWRlIGEgZ3JlYXRlciB2YXJpZXR5IG9mIGZydWl0cywgdmVnZXRhYmxlcywgbGVndW1lcywgYW5kIHdob2xlIGdyYWlucywgaW5ncmVkaWVudHMgYXNzb2NpYXRlZCB3aXRoIGJldHRlciBudXRyaXRpb24gYW5kIGRpZ2VzdGlvbiBkdXJpbmcgdGhlIGV2ZW50LiBSZXNwZWN0aW5nIGFsbGVyZ2llcyBhbmQgc3BlY2lmaWMgbmVlZHMgcmVkdWNlcyByaXNrcyBhbmQgaW1wcm92ZXMgZXZlcnlvbmUncyBleHBlcmllbmNlLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UGVyc29uYWxpemF0aW9uIGZvciBhIENvbnNjaW91cyBFeHBlcmllbmNlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+U3VzdGFpbmFibGUgY2F0ZXJpbmc8L3N0cm9uZz4gb2ZmZXJzIHdpZGUgb3B0aW9ucyB0byB0YWlsb3IgdGhlIHByb3Bvc2FsIHRvIHRoZSBndWVzdHMnIHByb2ZpbGUsIGNvbnNpZGVyaW5nIHRhc3RlcywgaGFiaXRzLCBhbmQgdmFsdWVzLiBJdCBhbGxvd3MgZm9yIHZlZ2V0YXJpYW4sIHZlZ2FuLCBvciBhbGxlcmdlbi1mcmVlIG1lbnVzLCBhZGRpbmcgdW5pcXVlIGRldGFpbHMgbGlrZSBlY29sb2dpY2FsIHNob3djb29raW5nIHN0YXRpb25zIG9yIGluY29ycG9yYXRpbmcgdGhlbWF0aWMgZWxlbWVudHMgY29uc2lzdGVudCB3aXRoIHRoZSBldmVudCdzIHN1c3RhaW5hYmlsaXR5LiBUaGlzIGN1c3RvbWl6YXRpb24gZW5oYW5jZXMgdGhlIHdlZGRpbmcncyBpZGVudGl0eSBhbmQgcmVpbmZvcmNlcyB0aGUgZW52aXJvbm1lbnRhbCByZXNwZWN0IGFuZCBjb21taXRtZW50IHRoZSBjb3VwbGUgd2lzaGVzIHRvIGNvbnZleS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE92ZXJhbGwsIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIHRyYW5zZm9ybXMgdGhlIGNlbGVicmF0aW9uIGludG8gYSBtb3JlIHJlc3BvbnNpYmxlLCBhdXRoZW50aWMgZXhwZXJpZW5jZSBhbGlnbmVkIHdpdGggbmV3IHNvY2lhbCBhbmQgZW52aXJvbm1lbnRhbCBkZW1hbmRzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UHJvcG9zYWxzIGZvciBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51c2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDcmVhdGluZyBhIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gbWVudSByZXF1aXJlcyBjcmVhdGl2aXR5LCBzZWFzb25hbCBjb2hlcmVuY2UsIGFuZCBzZW5zaXRpdml0eSB0byB0aGUgdmFyaW91cyBuZWVkcyBvZiB0aGUgZ3Vlc3RzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3VzdGFpbmFibGUgU3RhcnRlcnMsIE1haW4gQ291cnNlcywgYW5kIERlc3NlcnRzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RW52aXJvbm1lbnRhbGx5IEZyaWVuZGx5IFN0YXJ0ZXJzPC9zdHJvbmc+ZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNhbGFkIG9mIG9yZ2FuaWMgdG9tYXRvZXMgd2l0aCBzcHJvdXRzLCBlZGlibGUgZmxvd2VycywgYW5kIGxvY2FsIGV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPcmdhbmljIGNoaWNrcGVhIGh1bW11cyB3aXRoIGNydWRpdMOpcyBvZiBsb2NhbCB2ZWdldGFibGVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U2Vhc29uYWwgZ2F6cGFjaG8gc2VydmVkIGluIGNvbXBvc3RhYmxlIGN1cHMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPlJlc3BvbnNpYmxlIE1haW4gQ291cnNlczwvc3Ryb25nPmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCcm93biByaWNlIHdpdGggb3JnYW5pYyBtdXNocm9vbXMsIGFzcGFyYWd1cywgYW5kIHRydWZmbGUgb2lsLCBzdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCBnbHV0ZW4gaW50b2xlcmFudCBpbmRpdmlkdWFscy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFZlZ2V0YWJsZSBsYXNhZ25hIHdpdGggc2Vhc29uYWwgc3F1YXNoIGFuZCBzcGluYWNoLCBzb3kgYsOpY2hhbWVsLCBhbmQgdmVnYW4gY2hlZXNlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SG9tZW1hZGUgZmFsYWZlbCBhY2NvbXBhbmllZCBieSBmcmVzaCB0YWJib3VsZWggYW5kIGNhc2hldyB5b2d1cnQgc2F1Y2UuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVjby1GcmllbmRseSBEZXNzZXJ0czwvc3Ryb25nPmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRMaWdodCBjaG9jb2xhdGUgbW91c3NlIHdpdGggYXZvY2FkbyBhbmQgb3JhbmdlLCBzd2VldGVuZWQgd2l0aCBhZ2F2ZSBzeXJ1cC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyZXNoIHNlYXNvbmFsIGZydWl0IHNhbGFkLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VmVnYW4gd2FsbnV0IGJyb3duaWVzIG1hZGUgd2l0aCB3aG9sZSB3aGVhdCBmbG91ciBhbmQgbm8gcmVmaW5lZCBzdWdhcnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgVmFsdWUgb2YgU2Vhc29uYWxpdHkgaW4gSW5ncmVkaWVudCBTZWxlY3Rpb25sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2hvb3Npbmcgc2Vhc29uYWwgaW5ncmVkaWVudHMgZW5zdXJlcyB0aGF0IHByb2R1Y3RzIGFyZSBmcmVzaGVyLCB0YXN0aWVyLCBhbmQgbW9yZSBzdXN0YWluYWJsZS4gSW4gc3ByaW5nIGFuZCBzdW1tZXIsIGZydWl0cyBhbmQgdmVnZXRhYmxlcyBsaWtlIHN0cmF3YmVycmllcywgY2hlcnJpZXMsIGN1Y3VtYmVycywgdG9tYXRvZXMsIG9yIHp1Y2NoaW5pIHN0YW5kIG91dDsgaW4gYXV0dW1uIGFuZCB3aW50ZXIsIHNxdWFzaCwgZWdncGxhbnRzLCBtdXNocm9vbXMsIGFuZCBjaXRydXMgb2ZmZXIgY29sb3IgYW5kIGZsYXZvci4gVXNpbmcgcHJvZHVjdHMgZnJvbSBlYWNoIHNlYXNvbiBub3Qgb25seSBtYWludGFpbnMgZWNvbG9naWNhbCBjb25zaXN0ZW5jeSBidXQgYWxzbyBlbmhhbmNlcyB0aGUgbWVudSdzIHF1YWxpdHkuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBbHRlcm5hdGl2ZXMgZm9yIERpZXRhcnkgUmVzdHJpY3Rpb25zbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gYWRhcHRzIHRvIGFsbCBzb3J0cyBvZiBkaWV0YXJ5IHByZWZlcmVuY2VzIGFuZCBzcGVjaWFsIG5lZWRzOmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRWZWdldGFyaWFuIGFuZCB2ZWdhbiBwcm9wb3NhbHMgYmFzZWQgb24gbGVndW1lcywgcm9hc3RlZCB2ZWdldGFibGVzLCBhbmQgcGxhbnQtYmFzZWQgY3JlYW1zIGFuZCBzcHJlYWRzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50R2x1dGVuLWZyZWUgZGlzaGVzIHdpdGggYWx0ZXJuYXRpdmUgZ3JhaW5zIGxpa2UgcXVpbm9hLCBicm93biByaWNlLCBvciBtaWxsZXQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXNzZXJ0IG9wdGlvbnMgd2l0aG91dCBsYWN0b3NlIG9yIGFkZGVkIHN1Z2FycywgdXNpbmcgbnV0cyBhbmQgbmF0dXJhbCBmcnVpdC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluY2x1c2lvbiBvZiBtZW51cyB3aXRob3V0IGNvbW1vbiBhbGxlcmdlbnMsIGRlc2lnbmVkIGZvciBjZWxpYWNzLCBkaWFiZXRpY3MsIGFuZCBwZW9wbGUgd2l0aCBpbnRvbGVyYW5jZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTcGVjaWZpYyBFeGFtcGxlIG9mIGFuIEFkYXB0ZWQgRWNvLUZyaWVuZGx5IE1lbnVsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdGFydGVyOiBCZWV0IHRhcnRhcmUgd2l0aCBncmVlbiBhcHBsZSBhbmQgYXZvY2Fkbywgc2VlZHMsIGFuZCBhIGNpdHJ1cyB2aW5haWdyZXR0ZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1haW4gQ291cnNlOiBNaWxkIGN1cnJ5IG9mIHNxdWFzaCwgb3JnYW5pYyBjaGlja3BlYXMsIGFuZCBzcGluYWNoIG92ZXIgYnJvd24gcmljZSwgc3VpdGFibGUgZm9yIHZlZ2FucyBhbmQgZ2x1dGVuLWZyZWUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREZXNzZXJ0OiBIb21lbWFkZSBsZW1vbiBzb3JiZXQgd2l0aCBtaW50IGFuZCBvYXRtZWFsIGNvb2tpZSwgbGFjdG9zZS1mcmVlIGFuZCBlZ2ctZnJlZS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEluIGFsbCBjYXNlcywgcHJlc2VudGF0aW9uIG9uIGNvbXBvc3RhYmxlIHRhYmxld2FyZSBhbmQgd2FzdGUgcmVkdWN0aW9uIGNvbnRyaWJ1dGUgdG8gcmVpbmZvcmNpbmcgdGhlIHBoaWxvc29waHkgb2YgZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgYW5kIG9mZmVyIGEgbWVtb3JhYmxlLCB2YXJpZWQsIGFuZCBlbnZpcm9ubWVudGFsbHkgcmVzcG9uc2libGUgZXhwZXJpZW5jZS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE9yZ2FuaXppbmcgRWNvLUZyaWVuZGx5IENhdGVyaW5nIGluIEJhcmNlbG9uYSBhbmQgQ2F0YWxvbmlhbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFBsYW5uaW5nIGEgPHN0cm9uZz5lY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiBzZXJ2aWNlIGluIEJhcmNlbG9uYSBhbmQgQ2F0YWxvbmlhIHJlcXVpcmVzIGtub3dpbmcgbG9jYWwgb3B0aW9ucywgYW5hbHl6aW5nIHN1c3RhaW5hYmxlIGNyaXRlcmlhLCBhbmQgY29tcGFyaW5nIHByb3Bvc2FscyB0byBtYWtlIHRoZSBiZXN0IGRlY2lzaW9uLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50TG9jYWwgRWNvLUZyaWVuZGx5IENhdGVyaW5nIFByb3ZpZGVyc2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiB0aGUgcmVnaW9uLCB0aGVyZSBhcmUgY29tcGFuaWVzIHByaW9yaXRpemluZyBsb2NhbCBpbmdyZWRpZW50cywgaGVhbHRoeSBtZW51cywgYW5kIHJlc3BvbnNpYmxlIHdhc3RlIG1hbmFnZW1lbnQuIE1hbnkgaW5jbHVkZSB2ZWdldGFyaWFuLCB2ZWdhbiwgYW5kIGdsdXRlbi1mcmVlIG9wdGlvbnMgYW5kIGFyZSBjb21taXR0ZWQgdG8gcmVkdWNpbmcgcGxhc3RpY3MgYnkgdXNpbmcgYmlvZGVncmFkYWJsZSBhbmQgY29tcG9zdGFibGUgdGFibGV3YXJlIGxpa2UgR3JlZW51c28ncy4gVGhlc2UgcHJvdmlkZXJzIG9mdGVuIGNvbGxhYm9yYXRlIHdpdGggc21hbGwgcHJvZHVjZXJzLCBzdHJlbmd0aGVuaW5nIHRoZSBsb2NhbCBhbmQgc3VzdGFpbmFibGUgY29tbWl0bWVudC5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN0cmF0ZWdpYyBUaXBzIGZvciBDaG9vc2luZyBDYXRlcmluZ2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RGVmaW5lIFlvdXIgUHJpb3JpdGllczwvc3Ryb25nPjogU2VsZWN0IHRoZSB0eXBlIG9mIG1lbnUgKHZlZ2FuLCB2ZWdldGFyaWFuLCBnbHV0ZW4tZnJlZSkgYW5kIGV2YWx1YXRlIGlmIHRyYWRpdGlvbmFsIG9wdGlvbnMgbmVlZCB0byBiZSBpbmNsdWRlZC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+RW5zdXJlIFByb2R1Y3QgT3JpZ2luczwvc3Ryb25nPjogUmVxdWVzdCBpbmZvcm1hdGlvbiBhYm91dCBmb29kIHN1cHBsaWVycyBhbmQgdGhlIG9yaWdpbiBvZiBmcmVzaCBpbmdyZWRpZW50cy5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+UmV2aWV3IFN1c3RhaW5hYmxlIENvbW1pdG1lbnRzPC9zdHJvbmc+OiBJbnF1aXJlIGFib3V0IHdhc3RlIG1hbmFnZW1lbnQsIG1hdGVyaWFsIHJldXNlLCBhbmQgdGhlIHVzZSBvZiBlY28tZnJpZW5kbHkgcGFja2FnaW5nLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5SZXF1ZXN0IFRhc3RpbmdzIGFuZCBDdXN0b21pemVkIE1lbnVzPC9zdHJvbmc+OiBUaGlzIGlzIHRoZSBiZXN0IHdheSB0byBhc3Nlc3MgdGhlIHF1YWxpdHksIGNyZWF0aXZpdHksIGFuZCBhZGFwdGFiaWxpdHkgb2YgdGhlIHNlcnZpY2UuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPkVuc3VyZSBMb2dpc3RpY3M8L3N0cm9uZz46IENoZWNrIGhvdyBkaXNoIHRyYW5zcG9ydGF0aW9uIGlzIGNvbmR1Y3RlZCwgd2hldGhlciB0aGV5IHVzZSBlbGVjdHJpYyB2ZWhpY2xlcywgb3IgbWluaW1pemUgdGhlIGltcGFjdCBvZiB0aGUgdHJpcCB0byB0aGUgZXZlbnQuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRFc3NlbnRpYWwgUXVlc3Rpb25zIEJlZm9yZSBDbG9zaW5nIGEgRGVhbGxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERvIHRoZXkgaW5jbHVkZSBtZW51cyBhZGFwdGVkIGZvciBhbGxlcmdpZXMsIGludG9sZXJhbmNlcywgYW5kIGRpZXRhcnkgcmVzdHJpY3Rpb25zP2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RG8gdGhleSB3b3JrIHdpdGggb25seSBzZWFzb25hbCBhbmQgbG9jYWwgaW5ncmVkaWVudHM\/aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREbyB0aGV5IG9mZmVyIHNvbHV0aW9ucyBmb3IgbWFuYWdpbmcgd2FzdGUgYWZ0ZXIgdGhlIGJhbnF1ZXQ\/aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGF0IGFsdGVybmF0aXZlcyBkbyB0aGV5IHByb3ZpZGUgZm9yIHRhYmxld2FyZSwgY3V0bGVyeSwgYW5kIG5hcGtpbnM\/aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnREbyB0aGV5IGhhdmUgZXhwZXJpZW5jZSBpbiBzaW1pbGFyIGV2ZW50cyBhbmQgcmVmZXJlbmNlcyBmcm9tIG90aGVyIHN1c3RhaW5hYmxlIHdlZGRpbmdzP2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Tm90YWJsZXMgaW4gdGhlIFN1c3RhaW5hYmxlIFNlY3RvcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBDYXRhbG9uaWEgYW5kIEJhcmNlbG9uYSwgdGhlIHRyZW5kIG9mIGVjbyBjYXRlcmluZyBpcyBncm93aW5nLCByZWZsZWN0aW5nIGNvdXBsZXMnIGludGVyZXN0IGluIGEgbW9yZSByZXNwb25zaWJsZSBhbmQgaGVhbHRoaWVyIGFwcHJvYWNoLiBUaGUgbWFya2V0IG9mZmVycyBvcHRpb25zIHJhbmdpbmcgZnJvbSBzbWFsbCBnYXRoZXJpbmdzIHRvIGxhcmdlLXNjYWxlIGNlbGVicmF0aW9ucywgd2l0aCBpbm5vdmF0aXZlIG1lbnVzIGFuZCBhdHRlbnRpb24gdG8gbmV3IHN1c3RhaW5hYmlsaXR5IGRlbWFuZHMuIFV0aWxpemluZyBzZXJ2aWNlcyB0aGF0IGFkdm9jYXRlIGZvciB0aGUgY2lyY3VsYXIgZWNvbm9teSwgZnJlc2ggcHJvZHVjdCBzbmFja3MsIG9yIHRoYXQgbWFrZSB1c2Ugb2YgbG9jYWwgZmFybSBzdXJwbHVzIHJlaW5mb3JjZXMgYm90aCB0aGUgcXVhbGl0eSBhbmQgdGhlIGVjby1mcmllbmRseSBtZXNzYWdlIG9mIHRoZSB3ZWRkaW5nLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3JnYW5pemluZyBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyBpbiBDYXRhbG9uaWEgaXMgcG9zc2libGUgdGhhbmtzIHRvIHRoZSB2YXJpZXR5IGFuZCBzcGVjaWFsaXphdGlvbiBvZiBwcm92aWRlcnMuIENob29zaW5nIHdpc2VseSBhbmQgaW4gYWR2YW5jZSBmYWNpbGl0YXRlcyBhIGNvaGVyZW50IGNlbGVicmF0aW9uLCBhbGlnbmVkIHdpdGggZW52aXJvbm1lbnRhbCB2YWx1ZXMgYW5kIHdpdGggdGhlIGJlc3QgYXR0ZW50aW9uIHRvIGd1ZXN0cy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN1Z2dlc3Rpb25zIGZvciBhIFN1c3RhaW5hYmxlIGFuZCBSZXNwb25zaWJsZSBXZWRkaW5nbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1vdmluZyB0b3dhcmRzIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYW4gaW1wb3J0YW50IHN0ZXAsIGJ1dCB0aGVyZSBhcmUgb3RoZXIga2V5IGFjdGlvbnMgdG8gbWFrZSB0aGUgZXZlbnQgbW9yZSBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdHJhdGVnaWVzIHRvIE1pbmltaXplIFdhc3RlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QWRqdXN0IHRoZSBhbW91bnQgb2YgZm9vZCBhY2NvcmRpbmcgdG8gdGhlIG51bWJlciBvZiBndWVzdHMgdG8gYXZvaWQgd2FzdGUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPcHQgZm9yIGEgc3VzdGFpbmFibGUgYnVmZmV0IGZvcm1hdCBvciB0aGVtZWQgc3RhdGlvbnMgdGhhdCBhbGxvdyBmb3IgZ3JlYXRlciBjb250cm9sIG92ZXIgcG9ydGlvbnMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQbGFuIGZvciBzZXBhcmF0ZSBhbmQgc2VsZWN0aXZlIHdhc3RlIGNvbGxlY3Rpb24gZnJvbSB0aGUgc3RhcnQsIHByb3ZpZGluZyBkaWZmZXJlbnRpYXRlZCBjb250YWluZXJzIGFuZCBjbGVhciBzaWduYWdlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RG9uYXRlIGZvb2Qgc3VycGx1cyB0byBsb2NhbCBhc3NvY2lhdGlvbnMgb3IgcHJvbW90ZSBkaXN0cmlidXRpb24gYW1vbmcgYXR0ZW5kZWVzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50RWNvLUZyaWVuZGx5IGFuZCBSZXVzYWJsZSBEZWNvcmF0aW9ubGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2hvb3NlIGRlY29yYXRpdmUgZWxlbWVudHMgbWFkZSBmcm9tIG5hdHVyYWwgbWF0ZXJpYWxzICh3b29kLCBmYWJyaWMsIHBsYW50IGZpYmVycykgdGhhdCBjYW4gYmUgcmV1c2VkIG9yIHJlY3ljbGVkLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3B0IGZvciBzZWFzb25hbCBmbG93ZXJzLCBwb3R0ZWQgcGxhbnRzLCBhbmQgZHJpZWQgYXJyYW5nZW1lbnRzIHRoYXQgY2FuIGxhdGVyIGJlIGdpZnRlZCBvciBsZWZ0IGluIHRoZSBlbnZpcm9ubWVudC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFJlcGxhY2UgYmFsbG9vbnMsIHBsYXN0aWMgY29uZmV0dGksIGFuZCBzaW5nbGUtdXNlIGRlY29yYXRpb25zIHdpdGggYmlvZGVncmFkYWJsZSBhbHRlcm5hdGl2ZXMgb3IgYXJ0aXNhbmFsIGRldGFpbHMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRDb21wb3N0YWJsZSBUYWJsZXdhcmUsIE5hcGtpbnMsIGFuZCBQYWNrYWdpbmdsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T3B0IGZvciA8c3Ryb25nPmNvbXBvc3RhYmxlIHRhYmxld2FyZSwgbmF0dXJhbCBmaWJlciBuYXBraW5zLCBhbmQgYmlvZGVncmFkYWJsZSBwYWNrYWdpbmc8L3N0cm9uZz4uIFByb2R1Y3RzIGxpa2UgR3JlZW51c28ncyBlY28tZnJpZW5kbHkgdGFibGV3YXJlIGVuc3VyZSB0aGF0IGVhY2ggZ3Vlc3QncyBpbXBhY3QgaXMgbWluaW1hbCwgYW5kIHRoYXQgYWxsIGRpbm5lcndhcmUgY2FuIGJlIGNvbXBvc3RlZCBhZnRlciB0aGUgZXZlbnQuIElmIHlvdSBkZXNpcmUgYSBtb3JlIGVsZWdhbnQgdG91Y2gsIGNvbWJpbmUgcmV1c2FibGUgcGllY2VzIHdpdGggZWNvLWZyaWVuZGx5IGFsdGVybmF0aXZlcyBmb3IgZHJpbmtzIG9yIGRlc3NlcnRzLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW52b2x2ZSBHdWVzdHMgaW4gU3VzdGFpbmFiaWxpdHlsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbmZvcm0gZ3Vlc3RzIGZyb20gdGhlIGludml0YXRpb25zIGFib3V0IHRoZSB3ZWRkaW5nJ3MgZWNvbG9naWNhbCBjb21taXRtZW50IGFuZCBlbmNvdXJhZ2UgdGhlbSB0byBhY3QgYWNjb3JkaW5nbHkgKGUuZy4sIGF2b2lkIHByaXZhdGUgY2FyIHVzZSBvciBicmluZyByZXVzYWJsZSBib3R0bGVzKS5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFByb3Bvc2Ugc21hbGwgYWN0aW9ucyBkdXJpbmcgdGhlIGNlbGVicmF0aW9uOiByZWN5Y2xpbmcgcG9pbnRzLCBib29rIG9yIHNlZWQgZXhjaGFuZ2UgY29ybmVyLCBjaGFyaXRhYmxlIHJhZmZsZXMsIG9yIHN1c3RhaW5hYmxlIGdpZnRzIGxpa2UgcGxhbnRzIG9yIGxvY2FsIHByb2R1Y3RzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmV3YXJkIGdvb2QgcHJhY3RpY2VzIGFuZCBtYWtlIGVudmlyb25tZW50YWwgY2FyZSBwYXJ0IG9mIHRoZSBleHBlcmllbmNlIGFuZCB0aGUgZGF5J3MgbWVtb3J5LmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QnkgaW50ZWdyYXRpbmcgdGhlc2Ugc3VnZ2VzdGlvbnMsIGFuIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIGJlY29tZXMgYSByZXNwb25zaWJsZSBhbmQgY29oZXJlbnQgZXZlbnQgaW4gZWFjaCBvZiBpdHMgZGV0YWlscywgcmVmbGVjdGluZyBhIGdlbnVpbmUgY29tbWl0bWVudCB0byB0aGUgZnV0dXJlIGFuZCBnbG9iYWwgd2VsbC1iZWluZy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zIEFib3V0IEVjby1GcmllbmRseSBXZWRkaW5nIENhdGVyaW5nbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENob29zaW5nIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gcmFpc2VzIGNvbW1vbiBxdWVzdGlvbnMgdGhhdCBzaG91bGQgYmUgYWRkcmVzc2VkIHRvIGVuc3VyZSBhIHNhdGlzZnlpbmcgYW5kIHZhbHVlLWFsaWduZWQgZXhwZXJpZW5jZS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgRG9lcyBhbiBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51IEluY2x1ZGU\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEFuIGVjby1mcmllbmRseSBtZW51IGluY2x1ZGVzIHN0YXJ0ZXJzLCBtYWluIGNvdXJzZXMsIGFuZCBkZXNzZXJ0cyBwcmVwYXJlZCB3aXRoIGxvY2FsLCBvcmdhbmljLCBhbmQgc2Vhc29uYWwgaW5ncmVkaWVudHMuIEl0IHVzdWFsbHkgY29uc2lkZXJzIHZlZ2V0YXJpYW4sIHZlZ2FuLCBnbHV0ZW4tZnJlZSwgYW5kIGludG9sZXJhbmNlLWFkYXB0ZWQgcHJvcG9zYWxzLiBBZGRpdGlvbmFsbHksIGl0IHByaW9yaXRpemVzIHByZXNlbnRhdGlvbiBvbiBjb21wb3N0YWJsZSBvciByZXVzYWJsZSB0YWJsZXdhcmUsIGxpa2UgR3JlZW51c28ncywgYW5kIGVmZmljaWVudCB3YXN0ZSBtYW5hZ2VtZW50LmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Q2FuIEkgQ3VzdG9taXplIHRoZSBNZW51IEFjY29yZGluZyB0byBHdWVzdHMnIFByZWZlcmVuY2VzP2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQZXJzb25hbGl6YXRpb24gaXMgb25lIG9mIHRoZSBtYWluIGFkdmFudGFnZXMuIE1lbnVzIGNhbiBiZSBhZGFwdGVkIHRvIHRhc3RlcywgcmVzdHJpY3Rpb25zLCBhbmQgY3VsdHVyYWwgb3IgZXRoaWNhbCBwcmVmZXJlbmNlcy4gSXQgaXMgcG9zc2libGUgdG8gcmVxdWVzdCBkaXNoZXMgZm9yIHBlb3BsZSB3aXRoIGFsbGVyZ2llcywgaW50b2xlcmFuY2VzLCBvciBzcGVjaWFsIGRpZXRzLCBkZXNpZ24gZW50aXJlbHkgdmVnYW4gb3B0aW9ucywgb3IgaW5jbHVkZSBhIHNlbGVjdGlvbiBvZiBsb2NhbCBwcm9kdWN0cyB0aGF0IHJlZmxlY3QgdGhlIGFyZWEncyBpZGVudGl0eS5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/bGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBwcmljZSBwZXIgcGVyc29uIHZhcmllcyBiYXNlZCBvbiBtZW51IHR5cGUsIHRoZSBudW1iZXIgb2YgZGlzaGVzLCBzZWxlY3RlZCBpbmdyZWRpZW50cywgYW5kIGFkZGl0aW9uYWwgc2VydmljZXMgKHNob3djb29raW5nLCB0aGVtZWQgc3RhdGlvbnMsIHBlcnNvbmFsaXplZCBwYXN0cmllcykuIE9uIGF2ZXJhZ2UsIGl0IGZhbGxzIHdpdGhpbiBhIHJhbmdlIHNpbWlsYXIgdG8gY29udmVudGlvbmFsIGNhdGVyaW5nLCBhbHRob3VnaCBoaWdoLXF1YWxpdHkgb3JnYW5pYyBwcm9kdWN0cyBtYXkgc29tZXRpbWVzIHNsaWdodGx5IHJhaXNlIHRoZSBjb3N0LiBJdCdzIGltcG9ydGFudCB0byByZXF1ZXN0IGRldGFpbGVkIHF1b3RlcyBhbmQgY29tcGFyZSBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIHN1c3RhaW5hYmlsaXR5IGNvbW1pdG1lbnRzIGFuZCB0cmFuc3BhcmVuY3kgaW4gc3VwcGxpZXIgc2VsZWN0aW9uLmRyb3BDYXBwbGFjZWhvbGRlcmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SXMgSXQgUG9zc2libGUgdG8gT3JnYW5pemUgYSBDb21wbGV0ZWx5IEVjby1GcmllbmRseSBXZWRkaW5nP2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRZZXMsIHRoZXJlIGFyZSBjdXJyZW50bHkgcmVzb3VyY2VzIGFuZCBwcm92aWRlcnMgdGhhdCBhbGxvdyBmb3IgcGxhbm5pbmcgYSBzdXN0YWluYWJsZSB3ZWRkaW5nIGluIGFsbCBhc3BlY3RzLiBGcm9tIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIHRvIHJldXNhYmxlIGRlY29yYXRpb24sIGRpZ2l0YWwgaW52aXRhdGlvbnMsIHNoYXJlZCB0cmFuc3BvcnRhdGlvbiwgYW5kIGVjby1mcmllbmRseSBnaWZ0cyBmb3IgZ3Vlc3RzLiBHb29kIG9yZ2FuaXphdGlvbiwgY2xlYXIgY29tbXVuaWNhdGlvbiB3aXRoIHByb3ZpZGVycywgYW5kIGEgd2lsbGluZ25lc3MgdG8gcmVkdWNlIGVudmlyb25tZW50YWwgaW1wYWN0IGluIGV2ZXJ5IGRlY2lzaW9uIGFyZSBhbGwgaXQgdGFrZXMuZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz9sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIG9wZW4gYmFyIGNhbiBhbGlnbiB3aXRoIHRoZSBlY28tZnJpZW5kbHkgcGhpbG9zb3BoeSBieSBjaG9vc2luZyBvcmdhbmljIHdpbmVzLCBiZWVycywgYW5kIHNwaXJpdHMgb3IgbG9jYWwgcHJvZHVjZXJzLiBDb2NrdGFpbHMgY2FuIGJlIHNlcnZlZCB3aXRoIGZyZXNoIHNlYXNvbmFsIGZydWl0LCBhbmQgc2luZ2xlLXVzZSBwYWNrYWdpbmcgY2FuIGJlIHJlZHVjZWQgd2l0aCBjb21wb3N0YWJsZSBvciByZXVzYWJsZSBjdXBzLiBGb3IgZGVzc2VydHMsIHN1c3RhaW5hYmxlIG9wdGlvbnMgaW5jbHVkZSB2ZWdhbiBjYWtlcywgZnJlc2ggZnJ1aXQsIGNvbmZlY3Rpb25lcnkgd2l0aCB3aG9sZSBpbmdyZWRpZW50cywgYW5kIHBsYXN0aWMtZnJlZSBwcmVzZW50YXRpb24uZHJvcENhcHBsYWNlaG9sZGVyaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBZGRyZXNzaW5nIHRoZXNlIHF1ZXN0aW9ucyBoZWxwcyBwcmVwYXJlIGZvciBhbiBhdXRoZW50aWMsIHJlc3BvbnNpYmxlIGNlbGVicmF0aW9uIHRhaWxvcmVkIHRvIGVhY2ggY291cGxlIGFuZCBndWVzdCdzIGV4cGVjdGF0aW9ucywgZmFjaWxpdGF0aW5nIGEgdHJhbnNpdGlvbiB0b3dhcmRzIGluY3JlYXNpbmdseSBjb25zY2lvdXMgYW5kIGVudmlyb25tZW50YWxseSByZXNwZWN0ZnVsIGV2ZW50cy5kcm9wQ2FwcGxhY2Vob2xkZXJpbm5lckJsb2Nrc2Ryb3BDYXBwbGFjZWhvbGRlcvCfjLFvcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50UmVkdWN0aW9uIG9mIEVudmlyb25tZW50YWwgSW1wYWN0aW5uZXJCbG9ja3NvcmRlcmVkdmFsdWVzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50U3VwcG9ydGluZyBMb2NhbCBQcm9kdWNlcnMgYW5kIEVjb25vbWljIEJvb3N0aW5uZXJCbG9ja3M8c3Ryb25nPjwvc3Ryb25nPjxzdHJvbmc+PC9zdHJvbmc+b3JkZXJlZHZhbHVlc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEhlYWx0aCBhbmQgV2VsbC1iZWluZyBCZW5lZml0cyBmb3IgR3Vlc3RzaW5uZXJCbG9ja3M8c3Ryb25nPjwvc3Ryb25nPm9yZGVyZWR2YWx1ZXNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRQZXJzb25hbGl6YXRpb24gZm9yIGEgQ29uc2Npb3VzIEV4cGVyaWVuY2Vpbm5lckJsb2NrczxzdHJvbmc+PC9zdHJvbmc+PCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vcmUgYW5kIG1vcmUgY291cGxlcyBhcmUgc2Vla2luZyB0byBjZWxlYnJhdGUgdGhlaXIgd2VkZGluZyB3aGlsZSBjYXJpbmcgZm9yIHRoZSBlbnZpcm9ubWVudC4gRWNvLWZyaWVuZGx5IGNhdGVyaW5nIGZvY3VzZXMgb24gbG9jYWxseSBzb3VyY2VkIGluZ3JlZGllbnRzLCBzdXN0YWluYWJsZSBtZW51cywgYW5kIG9wdGlvbnMgdGFpbG9yZWQgdG8gdmFyaW91cyBuZWVkcy4gTGVhcm4gaG93IHRvIG9mZmVyIGEgcmVzcG9uc2libGUgZXhwZXJpZW5jZSB3aXRob3V0IHNhY3JpZmljaW5nIGZsYXZvciBvciBxdWFsaXR5IG9uIHlvdXIgYmlnIGRheS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IGlzIGEgcHJvcG9zYWwgdGhhdCBlbXBoYXNpemVzIHN1c3RhaW5hYmlsaXR5IGF0IGV2ZXJ5IHN0YWdlIG9mIHRoZSBzZXJ2aWNlOiBmcm9tIHNlbGVjdGluZyBpbmdyZWRpZW50cyB0byB3YXN0ZSBtYW5hZ2VtZW50LiBUaGlzIGFwcHJvYWNoIGFpbXMgdG8gbWluaW1pemUgZW52aXJvbm1lbnRhbCBpbXBhY3QsIHByb21vdGUgcmVzcG9uc2libGUgY29uc3VtcHRpb24sIGFuZCBlbmNvdXJhZ2UgaGVhbHRoeSBhbmQgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IGFsdGVybmF0aXZlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5XaGF0IFNldHMgRWNvLUZyaWVuZGx5IENhdGVyaW5nIEFwYXJ0PzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlVzZSBvZiBMb2NhbCBhbmQgU2Vhc29uYWwgSW5ncmVkaWVudHM8L3N0cm9uZz46IFByaW9yaXRpemVzIGZyZXNoIHByb2R1Y3RzLCBncm93biBuZWFyIHRoZSBldmVudCBsb2NhdGlvbiBhbmQgaW4gdGhlaXIgcHJpbWUuIFRoaXMgcmVkdWNlcyB0cmFuc3BvcnRhdGlvbiBhbmQgYXNzb2NpYXRlZCBjYXJib24gZm9vdHByaW50LCB3aGlsZSBlbnN1cmluZyB0YXN0ZSBhbmQgZnJlc2huZXNzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5PcmdhbmljIFJhdyBNYXRlcmlhbHM8L3N0cm9uZz46IFRoZSBmb29kcyB1c2VkIGNvbWUgZnJvbSBmYXJtcyBhbmQgcGxhbnRhdGlvbnMgdGhhdCBmb2xsb3cgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IHByYWN0aWNlcywgYXZvaWRpbmcgcGVzdGljaWRlcyBhbmQgc3ludGhldGljIGNoZW1pY2Fscy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPjxzdHJvbmc+U3VzdGFpbmFibGUgUGFja2FnaW5nIGFuZCBUYWJsZXdhcmU8L3N0cm9uZz46IFRoZSB1c2Ugb2YgY29tcG9zdGFibGUsIGJpb2RlZ3JhZGFibGUsIG9yIHJldXNhYmxlIG1hdGVyaWFscywgc3VjaCBhcyBHcmVlbnVzbydzIGVjby1mcmllbmRseSB0YWJsZXdhcmUsIGlzIGVzc2VudGlhbCB0byByZWR1Y2UgcGxhc3RpY3MgYW5kIG90aGVyIHdhc3RlLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkRpZmZlcmVuY2VzIGZyb20gVHJhZGl0aW9uYWwgQ2F0ZXJpbmc8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Gb2N1cyBvbiBTdXN0YWluYWJpbGl0eTwvc3Ryb25nPjogVW5saWtlIHRoZSBjb252ZW50aW9uYWwgbW9kZWwsIGVjby1mcmllbmRseSBjYXRlcmluZyBhdm9pZHMgaW5kdXN0cmlhbGl6ZWQgcHJvZHVjdHMgYW5kIGV4Y2Vzc2l2ZSBtZWF0IGNvbnN1bXB0aW9uLCBvcHRpbmcgZm9yIGRpc2hlcyB0aGF0IGhpZ2hsaWdodCB2ZWdldGFibGVzLCBsZWd1bWVzLCBhbmQgd2hvbGUgZ3JhaW5zLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5FdGhpY2FsIGFuZCBTb2NpYWwgQ29tbWl0bWVudDwvc3Ryb25nPjogRXN0YWJsaXNoZXMgYSBjbG9zZXIgcmVsYXRpb25zaGlwIHdpdGggc21hbGwgcHJvZHVjZXJzIGFuZCBsb2NhbCBjb29wZXJhdGl2ZXMsIGVuc3VyaW5nIGZhaXIgdHJhZGUgY29uZGl0aW9ucyBhbmQgY29udHJpYnV0aW5nIHRvIHRoZSBsb2NhbCBlY29ub215LjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Db25zY2lvdXMgUmVzb3VyY2UgYW5kIFdhc3RlIE1hbmFnZW1lbnQ8L3N0cm9uZz46IFVubGlrZSB0cmFkaXRpb25hbCBjZWxlYnJhdGlvbnMsIHRoZSBxdWFudGl0eSBvZiBmb29kIGlzIGNhcmVmdWxseSBwbGFubmVkIGhlcmUgdG8gbGltaXQgZXhjZXNzLCB1c2luZyByZWN5Y2xpbmcgc3lzdGVtcyBvciBjb21wb3N0aW5nIGxlZnRvdmVycy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5XaHkgQ2hvb3NlIFN1c3RhaW5hYmxlIE9wdGlvbnMgZm9yIFlvdXIgV2VkZGluZzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T3B0aW5nIGZvciA8c3Ryb25nPmVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IGlzIG1vcmUgdGhhbiBqdXN0IGZvbGxvd2luZyB0cmVuZHMuIEl0IG1lYW5zIGFsaWduaW5nIHlvdXIgY2VsZWJyYXRpb24gd2l0aCByZXNwb25zaWJsZSB2YWx1ZXMgYW5kIGNyZWF0aW5nIGEgcG9zaXRpdmUgaW1wYWN0LiBFY28tZnJpZW5kbHkgbWVudXMgY2FyZSBmb3IgdGhlIGhlYWx0aCBvZiB5b3VyIGd1ZXN0cywgYXZvaWQgdWx0cmEtcHJvY2Vzc2VkIGZvb2RzLCBhbmQgcmVkdWNlIGFsbGVyZ2Vucy4gTW9yZW92ZXIsIHRoZXkgZW5oYW5jZSBvcmlnaW5hbGl0eSBhbmQgcGVyc29uYWxpemF0aW9uIG9mIHRoZSBleHBlcmllbmNlIGJ5IGludGVncmF0aW5nIHByb3Bvc2FscyB0YWlsb3JlZCB0byBkaWZmZXJlbnQgZGlldHMgYW5kIG5lZWRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNlbGVicmF0aW5nIGEgc3VzdGFpbmFibGUgd2VkZGluZyBjb252ZXlzIGNvbW1pdG1lbnQgdG8gdGhlIHBsYW5ldCwgZW52aXJvbm1lbnRhbCBzZW5zaXRpdml0eSwgYW5kIHNvY2lhbCBhd2FyZW5lc3MsIGxlYXZpbmcgYSBtZW1vcnkgdGhhdCBnb2VzIGJleW9uZCB0aGUgZXZlbnQgaXRzZWxmLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkJlbmVmaXRzIG9mIFN1c3RhaW5hYmxlIENhdGVyaW5nPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IG9mZmVycyBjbGVhciBhZHZhbnRhZ2VzIGZvciB0aGUgY291cGxlLCB0aGVpciBndWVzdHMsIGFuZCB0aGUgZW52aXJvbm1lbnQuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlJlZHVjdGlvbiBvZiBFbnZpcm9ubWVudGFsIEltcGFjdDwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkNob29zaW5nIHN1c3RhaW5hYmxlIGNhdGVyaW5nIG1lYW5zIHJlZHVjaW5nIHRoZSBldmVudCdzIGVjb2xvZ2ljYWwgZm9vdHByaW50LiBUaGlzIGlzIGFjaGlldmVkIGJ5IHVzaW5nIGxvY2FsIHByb2R1Y3RzIHRoYXQgbWluaW1pemUgdHJhbnNwb3J0YXRpb24gYW5kIGFzc29jaWF0ZWQgZW1pc3Npb25zLiBUaGUgdXNlIG9mIG9yZ2FuaWMgYW5kIHNlYXNvbmFsIGluZ3JlZGllbnRzIGRlY3JlYXNlcyByZXNvdXJjZSBjb25zdW1wdGlvbiBhbmQgY2hlbWljYWwgdXNlIGluIGFncmljdWx0dXJlLiBGdXJ0aGVybW9yZSwgZWZmaWNpZW50IHdhc3RlIG1hbmFnZW1lbnQsIHJlY3ljbGluZywgYW5kIHRoZSBjaG9pY2Ugb2YgY29tcG9zdGFibGUgdGFibGV3YXJl4oCUc3VjaCBhcyB0aGF0IHByb3Bvc2VkIGJ5IEdyZWVudXNv4oCUY29udHJpYnV0ZSB0byBhIGNlbGVicmF0aW9uIHdpdGggbGVzcyB3YXN0ZSBhbmQgbG93ZXIgcGxhc3RpYyBwcm9kdWN0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5TdXBwb3J0aW5nIExvY2FsIFByb2R1Y2VycyBhbmQgRWNvbm9taWMgQm9vc3Q8L3N0cm9uZz48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkhlYWx0aCBhbmQgV2VsbC1iZWluZyBCZW5lZml0cyBmb3IgR3Vlc3RzPC9zdHJvbmc+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+RnJlc2ggYW5kIG9yZ2FuaWMgZm9vZHMgY29udGFpbiBmZXdlciBhZGRpdGl2ZXMgYW5kIHByZXNlcnZhdGl2ZXMsIHdoaWNoIHByb21vdGVzIGEgbW9yZSBiYWxhbmNlZCBhbmQgaGlnaGVyIHF1YWxpdHkgZGlldC4gTWVudXMgdHlwaWNhbGx5IGluY2x1ZGUgYSBncmVhdGVyIHZhcmlldHkgb2YgZnJ1aXRzLCB2ZWdldGFibGVzLCBsZWd1bWVzLCBhbmQgd2hvbGUgZ3JhaW5zLCBpbmdyZWRpZW50cyBhc3NvY2lhdGVkIHdpdGggYmV0dGVyIG51dHJpdGlvbiBhbmQgZGlnZXN0aW9uIGR1cmluZyB0aGUgZXZlbnQuIFJlc3BlY3RpbmcgYWxsZXJnaWVzIGFuZCBzcGVjaWZpYyBuZWVkcyByZWR1Y2VzIHJpc2tzIGFuZCBpbXByb3ZlcyBldmVyeW9uZSdzIGV4cGVyaWVuY2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPlBlcnNvbmFsaXphdGlvbiBmb3IgYSBDb25zY2lvdXMgRXhwZXJpZW5jZTwvc3Ryb25nPjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPjxzdHJvbmc+U3VzdGFpbmFibGUgY2F0ZXJpbmc8L3N0cm9uZz4gb2ZmZXJzIHdpZGUgb3B0aW9ucyB0byB0YWlsb3IgdGhlIHByb3Bvc2FsIHRvIHRoZSBndWVzdHMnIHByb2ZpbGUsIGNvbnNpZGVyaW5nIHRhc3RlcywgaGFiaXRzLCBhbmQgdmFsdWVzLiBJdCBhbGxvd3MgZm9yIHZlZ2V0YXJpYW4sIHZlZ2FuLCBvciBhbGxlcmdlbi1mcmVlIG1lbnVzLCBhZGRpbmcgdW5pcXVlIGRldGFpbHMgbGlrZSBlY29sb2dpY2FsIHNob3djb29raW5nIHN0YXRpb25zIG9yIGluY29ycG9yYXRpbmcgdGhlbWF0aWMgZWxlbWVudHMgY29uc2lzdGVudCB3aXRoIHRoZSBldmVudCdzIHN1c3RhaW5hYmlsaXR5LiBUaGlzIGN1c3RvbWl6YXRpb24gZW5oYW5jZXMgdGhlIHdlZGRpbmcncyBpZGVudGl0eSBhbmQgcmVpbmZvcmNlcyB0aGUgZW52aXJvbm1lbnRhbCByZXNwZWN0IGFuZCBjb21taXRtZW50IHRoZSBjb3VwbGUgd2lzaGVzIHRvIGNvbnZleS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5PdmVyYWxsLCBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyB0cmFuc2Zvcm1zIHRoZSBjZWxlYnJhdGlvbiBpbnRvIGEgbW9yZSByZXNwb25zaWJsZSwgYXV0aGVudGljIGV4cGVyaWVuY2UgYWxpZ25lZCB3aXRoIG5ldyBzb2NpYWwgYW5kIGVudmlyb25tZW50YWwgZGVtYW5kcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5Qcm9wb3NhbHMgZm9yIEVjby1GcmllbmRseSBXZWRkaW5nIE1lbnVzPC9oMj4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DcmVhdGluZyBhIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gbWVudSByZXF1aXJlcyBjcmVhdGl2aXR5LCBzZWFzb25hbCBjb2hlcmVuY2UsIGFuZCBzZW5zaXRpdml0eSB0byB0aGUgdmFyaW91cyBuZWVkcyBvZiB0aGUgZ3Vlc3RzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlN1c3RhaW5hYmxlIFN0YXJ0ZXJzLCBNYWluIENvdXJzZXMsIGFuZCBEZXNzZXJ0czwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5FbnZpcm9ubWVudGFsbHkgRnJpZW5kbHkgU3RhcnRlcnM8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlNhbGFkIG9mIG9yZ2FuaWMgdG9tYXRvZXMgd2l0aCBzcHJvdXRzLCBlZGlibGUgZmxvd2VycywgYW5kIGxvY2FsIGV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5PcmdhbmljIGNoaWNrcGVhIGh1bW11cyB3aXRoIGNydWRpdMOpcyBvZiBsb2NhbCB2ZWdldGFibGVzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U2Vhc29uYWwgZ2F6cGFjaG8gc2VydmVkIGluIGNvbXBvc3RhYmxlIGN1cHMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz5SZXNwb25zaWJsZSBNYWluIENvdXJzZXM8L3N0cm9uZz48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJyb3duIHJpY2Ugd2l0aCBvcmdhbmljIG11c2hyb29tcywgYXNwYXJhZ3VzLCBhbmQgdHJ1ZmZsZSBvaWwsIHN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIGdsdXRlbiBpbnRvbGVyYW50IGluZGl2aWR1YWxzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VmVnZXRhYmxlIGxhc2FnbmEgd2l0aCBzZWFzb25hbCBzcXVhc2ggYW5kIHNwaW5hY2gsIHNveSBiw6ljaGFtZWwsIGFuZCB2ZWdhbiBjaGVlc2UuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Ib21lbWFkZSBmYWxhZmVsIGFjY29tcGFuaWVkIGJ5IGZyZXNoIHRhYmJvdWxlaCBhbmQgY2FzaGV3IHlvZ3VydCBzYXVjZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkVjby1GcmllbmRseSBEZXNzZXJ0czwvc3Ryb25nPjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+TGlnaHQgY2hvY29sYXRlIG1vdXNzZSB3aXRoIGF2b2NhZG8gYW5kIG9yYW5nZSwgc3dlZXRlbmVkIHdpdGggYWdhdmUgc3lydXAuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5GcmVzaCBzZWFzb25hbCBmcnVpdCBzYWxhZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlZlZ2FuIHdhbG51dCBicm93bmllcyBtYWRlIHdpdGggd2hvbGUgd2hlYXQgZmxvdXIgYW5kIG5vIHJlZmluZWQgc3VnYXJzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5DaG9vc2luZyBzZWFzb25hbCBpbmdyZWRpZW50cyBlbnN1cmVzIHRoYXQgcHJvZHVjdHMgYXJlIGZyZXNoZXIsIHRhc3RpZXIsIGFuZCBtb3JlIHN1c3RhaW5hYmxlLiBJbiBzcHJpbmcgYW5kIHN1bW1lciwgZnJ1aXRzIGFuZCB2ZWdldGFibGVzIGxpa2Ugc3RyYXdiZXJyaWVzLCBjaGVycmllcywgY3VjdW1iZXJzLCB0b21hdG9lcywgb3IgenVjY2hpbmkgc3RhbmQgb3V0OyBpbiBhdXR1bW4gYW5kIHdpbnRlciwgc3F1YXNoLCBlZ2dwbGFudHMsIG11c2hyb29tcywgYW5kIGNpdHJ1cyBvZmZlciBjb2xvciBhbmQgZmxhdm9yLiBVc2luZyBwcm9kdWN0cyBmcm9tIGVhY2ggc2Vhc29uIG5vdCBvbmx5IG1haW50YWlucyBlY29sb2dpY2FsIGNvbnNpc3RlbmN5IGJ1dCBhbHNvIGVuaGFuY2VzIHRoZSBtZW51J3MgcXVhbGl0eS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5BbHRlcm5hdGl2ZXMgZm9yIERpZXRhcnkgUmVzdHJpY3Rpb25zPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPkVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nPC9zdHJvbmc+IGFkYXB0cyB0byBhbGwgc29ydHMgb2YgZGlldGFyeSBwcmVmZXJlbmNlcyBhbmQgc3BlY2lhbCBuZWVkczo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlZlZ2V0YXJpYW4gYW5kIHZlZ2FuIHByb3Bvc2FscyBiYXNlZCBvbiBsZWd1bWVzLCByb2FzdGVkIHZlZ2V0YWJsZXMsIGFuZCBwbGFudC1iYXNlZCBjcmVhbXMgYW5kIHNwcmVhZHMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5HbHV0ZW4tZnJlZSBkaXNoZXMgd2l0aCBhbHRlcm5hdGl2ZSBncmFpbnMgbGlrZSBxdWlub2EsIGJyb3duIHJpY2UsIG9yIG1pbGxldC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRlc3NlcnQgb3B0aW9ucyB3aXRob3V0IGxhY3Rvc2Ugb3IgYWRkZWQgc3VnYXJzLCB1c2luZyBudXRzIGFuZCBuYXR1cmFsIGZydWl0LjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+SW5jbHVzaW9uIG9mIG1lbnVzIHdpdGhvdXQgY29tbW9uIGFsbGVyZ2VucywgZGVzaWduZWQgZm9yIGNlbGlhY3MsIGRpYWJldGljcywgYW5kIHBlb3BsZSB3aXRoIGludG9sZXJhbmNlcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5TcGVjaWZpYyBFeGFtcGxlIG9mIGFuIEFkYXB0ZWQgRWNvLUZyaWVuZGx5IE1lbnU8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3RhcnRlcjogQmVldCB0YXJ0YXJlIHdpdGggZ3JlZW4gYXBwbGUgYW5kIGF2b2NhZG8sIHNlZWRzLCBhbmQgYSBjaXRydXMgdmluYWlncmV0dGUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5NYWluIENvdXJzZTogTWlsZCBjdXJyeSBvZiBzcXVhc2gsIG9yZ2FuaWMgY2hpY2twZWFzLCBhbmQgc3BpbmFjaCBvdmVyIGJyb3duIHJpY2UsIHN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIGdsdXRlbi1mcmVlLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RGVzc2VydDogSG9tZW1hZGUgbGVtb24gc29yYmV0IHdpdGggbWludCBhbmQgb2F0bWVhbCBjb29raWUsIGxhY3Rvc2UtZnJlZSBhbmQgZWdnLWZyZWUuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gYWxsIGNhc2VzLCBwcmVzZW50YXRpb24gb24gY29tcG9zdGFibGUgdGFibGV3YXJlIGFuZCB3YXN0ZSByZWR1Y3Rpb24gY29udHJpYnV0ZSB0byByZWluZm9yY2luZyB0aGUgcGhpbG9zb3BoeSBvZiBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyBhbmQgb2ZmZXIgYSBtZW1vcmFibGUsIHZhcmllZCwgYW5kIGVudmlyb25tZW50YWxseSByZXNwb25zaWJsZSBleHBlcmllbmNlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlN0cmF0ZWdpYyBUaXBzIGZvciBDaG9vc2luZyBDYXRlcmluZzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkRlZmluZSBZb3VyIFByaW9yaXRpZXM8L3N0cm9uZz46IFNlbGVjdCB0aGUgdHlwZSBvZiBtZW51ICh2ZWdhbiwgdmVnZXRhcmlhbiwgZ2x1dGVuLWZyZWUpIGFuZCBldmFsdWF0ZSBpZiB0cmFkaXRpb25hbCBvcHRpb25zIG5lZWQgdG8gYmUgaW5jbHVkZWQuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkVuc3VyZSBQcm9kdWN0IE9yaWdpbnM8L3N0cm9uZz46IFJlcXVlc3QgaW5mb3JtYXRpb24gYWJvdXQgZm9vZCBzdXBwbGllcnMgYW5kIHRoZSBvcmlnaW4gb2YgZnJlc2ggaW5ncmVkaWVudHMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5SZXF1ZXN0IFRhc3RpbmdzIGFuZCBDdXN0b21pemVkIE1lbnVzPC9zdHJvbmc+OiBUaGlzIGlzIHRoZSBiZXN0IHdheSB0byBhc3Nlc3MgdGhlIHF1YWxpdHksIGNyZWF0aXZpdHksIGFuZCBhZGFwdGFiaWxpdHkgb2YgdGhlIHNlcnZpY2UuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPkVuc3VyZSBMb2dpc3RpY3M8L3N0cm9uZz46IENoZWNrIGhvdyBkaXNoIHRyYW5zcG9ydGF0aW9uIGlzIGNvbmR1Y3RlZCwgd2hldGhlciB0aGV5IHVzZSBlbGVjdHJpYyB2ZWhpY2xlcywgb3IgbWluaW1pemUgdGhlIGltcGFjdCBvZiB0aGUgdHJpcCB0byB0aGUgZXZlbnQuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+RXNzZW50aWFsIFF1ZXN0aW9ucyBCZWZvcmUgQ2xvc2luZyBhIERlYWw8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+RG8gdGhleSBpbmNsdWRlIG1lbnVzIGFkYXB0ZWQgZm9yIGFsbGVyZ2llcywgaW50b2xlcmFuY2VzLCBhbmQgZGlldGFyeSByZXN0cmljdGlvbnM\/PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5EbyB0aGV5IHdvcmsgd2l0aCBvbmx5IHNlYXNvbmFsIGFuZCBsb2NhbCBpbmdyZWRpZW50cz88L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRvIHRoZXkgb2ZmZXIgc29sdXRpb25zIGZvciBtYW5hZ2luZyB3YXN0ZSBhZnRlciB0aGUgYmFucXVldD88L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPldoYXQgYWx0ZXJuYXRpdmVzIGRvIHRoZXkgcHJvdmlkZSBmb3IgdGFibGV3YXJlLCBjdXRsZXJ5LCBhbmQgbmFwa2lucz88L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkRvIHRoZXkgaGF2ZSBleHBlcmllbmNlIGluIHNpbWlsYXIgZXZlbnRzIGFuZCByZWZlcmVuY2VzIGZyb20gb3RoZXIgc3VzdGFpbmFibGUgd2VkZGluZ3M\/PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U3VnZ2VzdGlvbnMgZm9yIGEgU3VzdGFpbmFibGUgYW5kIFJlc3BvbnNpYmxlIFdlZGRpbmc8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk1vdmluZyB0b3dhcmRzIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYW4gaW1wb3J0YW50IHN0ZXAsIGJ1dCB0aGVyZSBhcmUgb3RoZXIga2V5IGFjdGlvbnMgdG8gbWFrZSB0aGUgZXZlbnQgbW9yZSBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U3RyYXRlZ2llcyB0byBNaW5pbWl6ZSBXYXN0ZTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5BZGp1c3QgdGhlIGFtb3VudCBvZiBmb29kIGFjY29yZGluZyB0byB0aGUgbnVtYmVyIG9mIGd1ZXN0cyB0byBhdm9pZCB3YXN0ZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk9wdCBmb3IgYSBzdXN0YWluYWJsZSBidWZmZXQgZm9ybWF0IG9yIHRoZW1lZCBzdGF0aW9ucyB0aGF0IGFsbG93IGZvciBncmVhdGVyIGNvbnRyb2wgb3ZlciBwb3J0aW9ucy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlBsYW4gZm9yIHNlcGFyYXRlIGFuZCBzZWxlY3RpdmUgd2FzdGUgY29sbGVjdGlvbiBmcm9tIHRoZSBzdGFydCwgcHJvdmlkaW5nIGRpZmZlcmVudGlhdGVkIGNvbnRhaW5lcnMgYW5kIGNsZWFyIHNpZ25hZ2UuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5Eb25hdGUgZm9vZCBzdXJwbHVzIHRvIGxvY2FsIGFzc29jaWF0aW9ucyBvciBwcm9tb3RlIGRpc3RyaWJ1dGlvbiBhbW9uZyBhdHRlbmRlZXMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+RWNvLUZyaWVuZGx5IGFuZCBSZXVzYWJsZSBEZWNvcmF0aW9uPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkNob29zZSBkZWNvcmF0aXZlIGVsZW1lbnRzIG1hZGUgZnJvbSBuYXR1cmFsIG1hdGVyaWFscyAod29vZCwgZmFicmljLCBwbGFudCBmaWJlcnMpIHRoYXQgY2FuIGJlIHJldXNlZCBvciByZWN5Y2xlZC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPk9wdCBmb3Igc2Vhc29uYWwgZmxvd2VycywgcG90dGVkIHBsYW50cywgYW5kIGRyaWVkIGFycmFuZ2VtZW50cyB0aGF0IGNhbiBsYXRlciBiZSBnaWZ0ZWQgb3IgbGVmdCBpbiB0aGUgZW52aXJvbm1lbnQuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5SZXBsYWNlIGJhbGxvb25zLCBwbGFzdGljIGNvbmZldHRpLCBhbmQgc2luZ2xlLXVzZSBkZWNvcmF0aW9ucyB3aXRoIGJpb2RlZ3JhZGFibGUgYWx0ZXJuYXRpdmVzIG9yIGFydGlzYW5hbCBkZXRhaWxzLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT48L3VsPgo8IS0tIC93cDpsaXN0IC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkNvbXBvc3RhYmxlIFRhYmxld2FyZSwgTmFwa2lucywgYW5kIFBhY2thZ2luZzwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T3B0IGZvciA8c3Ryb25nPmNvbXBvc3RhYmxlIHRhYmxld2FyZSwgbmF0dXJhbCBmaWJlciBuYXBraW5zLCBhbmQgYmlvZGVncmFkYWJsZSBwYWNrYWdpbmc8L3N0cm9uZz4uIFByb2R1Y3RzIGxpa2UgR3JlZW51c28ncyBlY28tZnJpZW5kbHkgdGFibGV3YXJlIGVuc3VyZSB0aGF0IGVhY2ggZ3Vlc3QncyBpbXBhY3QgaXMgbWluaW1hbCwgYW5kIHRoYXQgYWxsIGRpbm5lcndhcmUgY2FuIGJlIGNvbXBvc3RlZCBhZnRlciB0aGUgZXZlbnQuIElmIHlvdSBkZXNpcmUgYSBtb3JlIGVsZWdhbnQgdG91Y2gsIGNvbWJpbmUgcmV1c2FibGUgcGllY2VzIHdpdGggZWNvLWZyaWVuZGx5IGFsdGVybmF0aXZlcyBmb3IgZHJpbmtzIG9yIGRlc3NlcnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpoZWFkaW5nIHsibGV2ZWwiOjN9IC0tPgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPkludm9sdmUgR3Vlc3RzIGluIFN1c3RhaW5hYmlsaXR5PC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkluZm9ybSBndWVzdHMgZnJvbSB0aGUgaW52aXRhdGlvbnMgYWJvdXQgdGhlIHdlZGRpbmcncyBlY29sb2dpY2FsIGNvbW1pdG1lbnQgYW5kIGVuY291cmFnZSB0aGVtIHRvIGFjdCBhY2NvcmRpbmdseSAoZS5nLiwgYXZvaWQgcHJpdmF0ZSBjYXIgdXNlIG9yIGJyaW5nIHJldXNhYmxlIGJvdHRsZXMpLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UHJvcG9zZSBzbWFsbCBhY3Rpb25zIGR1cmluZyB0aGUgY2VsZWJyYXRpb246IHJlY3ljbGluZyBwb2ludHMsIGJvb2sgb3Igc2VlZCBleGNoYW5nZSBjb3JuZXIsIGNoYXJpdGFibGUgcmFmZmxlcywgb3Igc3VzdGFpbmFibGUgZ2lmdHMgbGlrZSBwbGFudHMgb3IgbG9jYWwgcHJvZHVjdHMuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5SZXdhcmQgZ29vZCBwcmFjdGljZXMgYW5kIG1ha2UgZW52aXJvbm1lbnRhbCBjYXJlIHBhcnQgb2YgdGhlIGV4cGVyaWVuY2UgYW5kIHRoZSBkYXkncyBtZW1vcnkuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QnkgaW50ZWdyYXRpbmcgdGhlc2Ugc3VnZ2VzdGlvbnMsIGFuIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIGJlY29tZXMgYSByZXNwb25zaWJsZSBhbmQgY29oZXJlbnQgZXZlbnQgaW4gZWFjaCBvZiBpdHMgZGV0YWlscywgcmVmbGVjdGluZyBhIGdlbnVpbmUgY29tbWl0bWVudCB0byB0aGUgZnV0dXJlIGFuZCBnbG9iYWwgd2VsbC1iZWluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjxhIGhyZWY9Imh0dHBzOi8vYWdyaWN1bHR1cmUuZWMuZXVycGEuZXUvZmFtaW4vb3JnLWZhcm1pbmcvb3JnYW5pY3MtZ2xhbmNlX2VuImR0YS10eXBlPSJsaW5rIiBkYXRhLWlkPSJodHRwczovL2EuZWMuZXVyb3BhLmV1L2Zhcm1pbmcvb3JnYW5pYy1mYXJtaW5nL29yZ2FuaWNzLWdsYW5jZV9lbiI+b3JnYW5pY2dyaWN1bHR1cmU8L2E+IGFjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2FsdGNhcHRpb25pbm5lckJsb2Nrc2lkbGlua3VybHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uPHA+Qnkgd29ya2luZyB3aXRoIGxvY2FsIHN1cHBsaWVycyBhbmQgc2VsZWN0aW5nIGZvb2RzIGZyb20gc2hvcnQgc3VwcGx5IGNoYWlucywgZWNvLWZyaWVuZGx5IGNhdGVyaW5nIHN1cHBvcnRzIHRoZSBsb2NhbCBlY29ub215IGFuZCBjb250cmlidXRlcyB0byBzdXN0YWluYWJsZSBqb2IgY3JlYXRpb24uIFRoaXMgZGlyZWN0IGNvbm5lY3Rpb24gd2l0aCBmYXJtZXJzIGFuZCBzbWFsbCBidXNpbmVzc2VzIHByb21vdGVzIGEgbW9yZSBldGhpY2FsIHN1cHBseSBjaGFpbiwgc3RyZW5ndGhlbnMgdGhlIGNvbW11bml0eSwgYW5kIGVuY291cmFnZXMgdGhlIGRldmVsb3BtZW50IG9mIDxhIGhyZWY9Imh0dHBzOi8vYWdyaWN1bHR1cmUuZWMuZXVyb3BhLmV1L2Zhcm1pbmcvb3JnYW5pYy1mYXJtaW5nL29yZ2FuaWNzLWdsYW5jZV9lbiIgZGF0YS10eXBlPSJsaW5rIiBkYXRhLWlkPSJodHRwczovL2FncmljdWx0dXJlLmVjLmV1cm9wYS5ldS9mYXJtaW5nL29yZ2FuaWMtZmFybWluZy9vcmdhbmljcy1nbGFuY2VfZW4iPm9yZ2FuaWMgYWdyaWN1bHR1cmU8L2E+IGFuZCBmYWlyIHRyYWRlIGluIHRoZSByZWdpb24uPC9wPgo8IS0tIHdwOmltYWdlIHsiaWQiOjM0ODg3LCJzaXplU2x1ZyI6ImZ1bGwiLCJsaW5rRGVzdGluYXRpb24iOiJub25lIn0gLS0+CjwhLS0gL3dwOmltYWdlIC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPlRoZSBWYWx1ZSBvZiBTZWFzb25hbGl0eSBpbiBJbmdyZWRpZW50IFNlbGVjdGlvbjwvaDI+CmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNsaXN0U3R5bGV0aXRsZVdyYXBwZXJzaXplU2x1Z3F1ZXN0aW9uc2xpc3RDc3NDbGFzc2VzdGl0bGVDc3NDbGFzc2VzY29udGVudENzc0NsYXNzZXN0ZXh0QWxpZ25pbm5lckJsb2NrczxhIGhyZWY9Imh0dHBzOi8vd3d3LmdyZWVudXNvLmNvL2Jsb2cvYmlvZGVncmRhYmxlLW1pbmlhdXJzLWZvLWV2ZW50cy8iIGRhdGEtdHlwZT0ibG5rIiBkdGEtaWQ9Imh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ib2cvYmlvZGVncmFkYWJsZS1taW5pYXR1cmVzLWZvci1ldmVudHMvIj5tYXRlcmlhbDwvYT48bGk+PHN0cm9uZz5SZXZpZXcgU3VzdGFpbmFibGUgQ29tbWl0bWVudHM8L3N0cm9uZz46IElucXVpcmUgYWJvdXQgd2FzdGUgbWFuYWdlbWVudCwgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvYmlvZGVncmFkYWJsZS1taW5pYXR1cmVzLWZvci1ldmVudHMvIiBkYXRhLXR5cGU9ImxpbmsiIGRhdGEtaWQ9Imh0dHBzOi8vd3d3LmdyZWVudXNvLmNvbS9ibG9nL2Jpb2RlZ3JhZGFibGUtbWluaWF0dXJlcy1mb3ItZXZlbnRzLyI+bWF0ZXJpYWwgcmV1c2U8L2E+LCBhbmQgdGhlIHVzZSBvZiBlY28tZnJpZW5kbHkgcGFja2FnaW5nLjwvbGk+CjwhLS0gd3A6cmFuay1tYXRoL2ZhcS1ibG9jayB7InF1ZXN0aW9ucyI6W3siaWQiOiJmYXEtcXVlc3Rpb24tMTc3NjE3ODE2OTAzNyIsInRpdGxlIjoiV2hhdCBBcmUgdGhlIFByaWNlcyBmb3IgRWNvLUZyaWVuZGx5IENhdGVyaW5nIFBlciBHdWVzdD8iLCJjb250ZW50IjoiVGhlIHByaWNlIHBlciBwZXJzb24gdmFyaWVzIGJhc2VkIG9uIG1lbnUgdHlwZSwgdGhlIG51bWJlciBvZiBkaXNoZXMsIHNlbGVjdGVkIGluZ3JlZGllbnRzLCBhbmQgYWRkaXRpb25hbCBzZXJ2aWNlcyAoc2hvd2Nvb2tpbmcsIHRoZW1lZCBzdGF0aW9ucywgcGVyc29uYWxpemVkIHBhc3RyaWVzKS4gT24gYXZlcmFnZSwgaXQgZmFsbHMgd2l0aGluIGEgcmFuZ2Ugc2ltaWxhciB0byBjb252ZW50aW9uYWwgY2F0ZXJpbmcsIGFsdGhvdWdoIGhpZ2gtcXVhbGl0eSBvcmdhbmljIHByb2R1Y3RzIG1heSBzb21ldGltZXMgc2xpZ2h0bHkgcmFpc2UgdGhlIGNvc3QuIEl0J3MgaW1wb3J0YW50IHRvIHJlcXVlc3QgZGV0YWlsZWQgcXVvdGVzIGFuZCBjb21wYXJlIG9wdGlvbnMgYmFzZWQgb24gdGhlaXIgc3VzdGFpbmFiaWxpdHkgY29tbWl0bWVudHMgYW5kIHRyYW5zcGFyZW5jeSBpbiBzdXBwbGllciBzZWxlY3Rpb24uIiwidmlzaWJsZSI6dHJ1ZX0seyJpZCI6ImZhcS1xdWVzdGlvbi0xNzc2MTc4MTgyODk5IiwidGl0bGUiOiJBcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz8iLCJjb250ZW50IjoiVGhlIG9wZW4gYmFyIGNhbiBhbGlnbiB3aXRoIHRoZSBlY28tZnJpZW5kbHkgcGhpbG9zb3BoeSBieSBjaG9vc2luZyBvcmdhbmljIHdpbmVzLCBiZWVycywgYW5kIHNwaXJpdHMgb3IgbG9jYWwgcHJvZHVjZXJzLiBDb2NrdGFpbHMgY2FuIGJlIHNlcnZlZCB3aXRoIGZyZXNoIHNlYXNvbmFsIGZydWl0LCBhbmQgc2luZ2xlLXVzZSBwYWNrYWdpbmcgY2FuIGJlIHJlZHVjZWQgd2l0aCBjb21wb3N0YWJsZSBvciByZXVzYWJsZSBjdXBzLiBGb3IgZGVzc2VydHMsIHN1c3RhaW5hYmxlIG9wdGlvbnMgaW5jbHVkZSB2ZWdhbiBjYWtlcywgZnJlc2ggZnJ1aXQsIGNvbmZlY3Rpb25lcnkgd2l0aCB3aG9sZSBpbmdyZWRpZW50cywgYW5kIHBsYXN0aWMtZnJlZSBwcmVzZW50YXRpb24uXHUwMDNjYnJcdTAwM2VBZGRyZXNzaW5nIHRoZXNlIHF1ZXN0aW9ucyBoZWxwcyBwcmVwYXJlIGZvciBhbiBhdXRoZW50aWMsIHJlc3BvbnNpYmxlIGNlbGVicmF0aW9uIHRhaWxvcmVkIHRvIGVhY2ggY291cGxlIGFuZCBndWVzdCdzIGV4cGVjdGF0aW9ucywgZmFjaWxpdGF0aW5nIGEgdHJhbnNpdGlvbiB0b3dhcmRzIGluY3JlYXNpbmdseSBjb25zY2lvdXMgYW5kIGVudmlyb25tZW50YWxseSByZXNwZWN0ZnVsIGV2ZW50cy4iLCJ2aXNpYmxlIjp0cnVlfSx7ImlkIjoiZmFxLXF1ZXN0aW9uLTE3NzYxNzgyMDM5MzgiLCJ0aXRsZSI6IklzIEl0IFBvc3NpYmxlIHRvIE9yZ2FuaXplIGEgQ29tcGxldGVseSBFY28tRnJpZW5kbHkgV2VkZGluZz8iLCJjb250ZW50IjoiWWVzLCB0aGVyZSBhcmUgY3VycmVudGx5IHJlc291cmNlcyBhbmQgcHJvdmlkZXJzIHRoYXQgYWxsb3cgZm9yIHBsYW5uaW5nIGEgc3VzdGFpbmFibGUgd2VkZGluZyBpbiBhbGwgYXNwZWN0cy4gRnJvbSBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyB0byByZXVzYWJsZSBkZWNvcmF0aW9uLCBkaWdpdGFsIGludml0YXRpb25zLCBzaGFyZWQgdHJhbnNwb3J0YXRpb24sIGFuZCBlY28tZnJpZW5kbHkgZ2lmdHMgZm9yIGd1ZXN0cy4gR29vZCBvcmdhbml6YXRpb24sIGNsZWFyIGNvbW11bmljYXRpb24gd2l0aCBwcm92aWRlcnMsIGFuZCBhIHdpbGxpbmduZXNzIHRvIHJlZHVjZSBlbnZpcm9ubWVudGFsIGltcGFjdCBpbiBldmVyeSBkZWNpc2lvbiBhcmUgYWxsIGl0IHRha2VzLiIsInZpc2libGUiOnRydWV9XX0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLXJhbmstbWF0aC1mYXEtYmxvY2siPjxkaXYgY2xhc3M9InJhbmstbWF0aC1mYXEtaXRlbSI+PGgzIGNsYXNzPSJyYW5rLW1hdGgtcXVlc3Rpb24iPldoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/PC9oMz48ZGl2IGNsYXNzPSJyYW5rLW1hdGgtYW5zd2VyIj5UaGUgcHJpY2UgcGVyIHBlcnNvbiB2YXJpZXMgYmFzZWQgb24gbWVudSB0eXBlLCB0aGUgbnVtYmVyIG9mIGRpc2hlcywgc2VsZWN0ZWQgaW5ncmVkaWVudHMsIGFuZCBhZGRpdGlvbmFsIHNlcnZpY2VzIChzaG93Y29va2luZywgdGhlbWVkIHN0YXRpb25zLCBwZXJzb25hbGl6ZWQgcGFzdHJpZXMpLiBPbiBhdmVyYWdlLCBpdCBmYWxscyB3aXRoaW4gYSByYW5nZSBzaW1pbGFyIHRvIGNvbnZlbnRpb25hbCBjYXRlcmluZywgYWx0aG91Z2ggaGlnaC1xdWFsaXR5IG9yZ2FuaWMgcHJvZHVjdHMgbWF5IHNvbWV0aW1lcyBzbGlnaHRseSByYWlzZSB0aGUgY29zdC4gSXQncyBpbXBvcnRhbnQgdG8gcmVxdWVzdCBkZXRhaWxlZCBxdW90ZXMgYW5kIGNvbXBhcmUgb3B0aW9ucyBiYXNlZCBvbiB0aGVpciBzdXN0YWluYWJpbGl0eSBjb21taXRtZW50cyBhbmQgdHJhbnNwYXJlbmN5IGluIHN1cHBsaWVyIHNlbGVjdGlvbi48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyYW5rLW1hdGgtZmFxLWl0ZW0iPjxoMyBjbGFzcz0icmFuay1tYXRoLXF1ZXN0aW9uIj5BcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz88L2gzPjxkaXYgY2xhc3M9InJhbmstbWF0aC1hbnN3ZXIiPlRoZSBvcGVuIGJhciBjYW4gYWxpZ24gd2l0aCB0aGUgZWNvLWZyaWVuZGx5IHBoaWxvc29waHkgYnkgY2hvb3Npbmcgb3JnYW5pYyB3aW5lcywgYmVlcnMsIGFuZCBzcGlyaXRzIG9yIGxvY2FsIHByb2R1Y2Vycy4gQ29ja3RhaWxzIGNhbiBiZSBzZXJ2ZWQgd2l0aCBmcmVzaCBzZWFzb25hbCBmcnVpdCwgYW5kIHNpbmdsZS11c2UgcGFja2FnaW5nIGNhbiBiZSByZWR1Y2VkIHdpdGggY29tcG9zdGFibGUgb3IgcmV1c2FibGUgY3Vwcy4gRm9yIGRlc3NlcnRzLCBzdXN0YWluYWJsZSBvcHRpb25zIGluY2x1ZGUgdmVnYW4gY2FrZXMsIGZyZXNoIGZydWl0LCBjb25mZWN0aW9uZXJ5IHdpdGggd2hvbGUgaW5ncmVkaWVudHMsIGFuZCBwbGFzdGljLWZyZWUgcHJlc2VudGF0aW9uLjxicj5BZGRyZXNzaW5nIHRoZXNlIHF1ZXN0aW9ucyBoZWxwcyBwcmVwYXJlIGZvciBhbiBhdXRoZW50aWMsIHJlc3BvbnNpYmxlIGNlbGVicmF0aW9uIHRhaWxvcmVkIHRvIGVhY2ggY291cGxlIGFuZCBndWVzdCdzIGV4cGVjdGF0aW9ucywgZmFjaWxpdGF0aW5nIGEgdHJhbnNpdGlvbiB0b3dhcmRzIGluY3JlYXNpbmdseSBjb25zY2lvdXMgYW5kIGVudmlyb25tZW50YWxseSByZXNwZWN0ZnVsIGV2ZW50cy48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJyYW5rLW1hdGgtZmFxLWl0ZW0iPjxoMyBjbGFzcz0icmFuay1tYXRoLXF1ZXN0aW9uIj5JcyBJdCBQb3NzaWJsZSB0byBPcmdhbml6ZSBhIENvbXBsZXRlbHkgRWNvLUZyaWVuZGx5IFdlZGRpbmc\/PC9oMz48ZGl2IGNsYXNzPSJyYW5rLW1hdGgtYW5zd2VyIj5ZZXMsIHRoZXJlIGFyZSBjdXJyZW50bHkgcmVzb3VyY2VzIGFuZCBwcm92aWRlcnMgdGhhdCBhbGxvdyBmb3IgcGxhbm5pbmcgYSBzdXN0YWluYWJsZSB3ZWRkaW5nIGluIGFsbCBhc3BlY3RzLiBGcm9tIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIHRvIHJldXNhYmxlIGRlY29yYXRpb24sIGRpZ2l0YWwgaW52aXRhdGlvbnMsIHNoYXJlZCB0cmFuc3BvcnRhdGlvbiwgYW5kIGVjby1mcmllbmRseSBnaWZ0cyBmb3IgZ3Vlc3RzLiBHb29kIG9yZ2FuaXphdGlvbiwgY2xlYXIgY29tbXVuaWNhdGlvbiB3aXRoIHByb3ZpZGVycywgYW5kIGEgd2lsbGluZ25lc3MgdG8gcmVkdWNlIGVudmlyb25tZW50YWwgaW1wYWN0IGluIGV2ZXJ5IGRlY2lzaW9uIGFyZSBhbGwgaXQgdGFrZXMuPC9kaXY+PC9kaXY+PC9kaXY+CjwhLS0gL3dwOnJhbmstbWF0aC9mYXEtYmxvY2sgLS0+ZG9jdW1lbnRzbHVnPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2Ugc2l6ZS1mdWxsIj48aW1nIHNyYz0iaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL0NhcHR1cmEtZGUtcGFudGFsbGEtMjAyNi0wNC0xNC0xNTIxMzktNC5qcGd2ZmR2LTQuanBnIiBhbHQ9IkRpc2NvdmVyIGhvdyB0byBwbGFuIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIHdpdGggc3VzdGFpbmFibGUgaW5ncmVkaWVudHMsIHJlc3BvbnNpYmxlIG1lbnVzLCBhbmQgbGVzcyB3YXN0ZSIgY2xhc3M9IndwLWltYWdlLTM0ODg3Ii8+PC9maWd1cmU+CgUHCAQIBggFOhoIBwgHCAYIDggOCAsIBkgBBggEUwAXUgAZGxdcAB0PFxARGR0SERcWFxobGBsJCAoIBAgGCAcPBAoHCwUHBQeUAQUIBwQKB7kEB0sACAcECgctBQsIBwQKB4EFB0sACAcECgcmBQsIBwQKBwYLCAcECgemAwsIBwQKB7MCCwgHBAoHjwMLCAcECgclBQsIBwQKBwYLCAcECgelAwsIBwQKB4QDCwgHBAoHiwMLCAcECgcvBQsIBwQKB6sGB0sACAcECgeoAgdLAAgHBAoHIAULCAcECge5AQdLAAgHBAoHIQULCAcECgeiBwdLAAgHBAoHLQULCAcECgeIBUEBBEEACgIcB0sACAcECgcpBQsIBwQKB70FB0sACAcECgcqBQsIBwQKB5sHB0sACAcECgeiAgdLAAgHBAoHKAULCAcECgebAgdLAAgHBAoHMAULCAcECgcyB0sACAcECgcGCwgHBAoHmQELCAcECgc6CwgHBAoHLQsIBwQKBykHSwAIBwQKBwYLCAcECge1AQsIBwQKB5MBCwgHBAoHiAELCAcECgcmB0sACAcECgcGCwgHBAoHiwELCAcECgcbCwgHBAoHiAELCAcECgcwBQsIBwQKB5sGB0sACAcECgclBQsIBwQKB6wBB0sACAcECgcGCwgHBAoHqAELCAcECgeOAQsIBwQKB44BCwgHBAoHqwELCAcECgcwBQsIBwQKBwYLCAcECgeUAQsIBwQKB7cBCwgHBAoHlwELCAcECgecAwdLAAgHBAoHOwULCAcECgePAwdLAAgHBAoHJQULCAcECgeABgdLAAgHBAoHJAULCAcECgcGCwgHBAoHmgILCAcECge2AQsIBwQKB5EBQQYGKAsIBwQKB5ACCwgHBAoHowILCAcECgcpBQsIBwQKBwYLCAcECgeUAQsIBwQKBzYLCAcECgc9CwgHBAoHhgELCAcECgeZAQsIBwQKByIFCwgHBAoHpQcHSwAIBwQKB4QEB0sACAcECgc1BQsIBwQKB6QCB0sACAcECgccBQsIBwQKBwYLCAcECgeLAQsIBwQKB6QBCwgHBAoHtwELCAcECgeSAQsIBwQKByQFCwgHBAoHBgsIBwQKB7MBCwgHBAoHtAELCAcECge0AQsIBwQKBy0FCwgHBAoHrAUHSwAIBwQKByAFCwgHBAoHBgsIBwQKB6sCCwgHBAoHpQILCAcECgeeAQsIBwQKB4gDB0sACAcECgc+BQsIBwQKB50CB0sACAcECgcvBQsIBwQKB5MFB0sACAcECgc6BQsIBwQKB4cFB0sACAcECgc4BQsIBwQKB44HB0sACAcECgc9BQsIBwQKB4QGB0sACAcECgeCAQULCAcECgeABgdLAAgHBAoHpAMHSwAHCwIHBggHBAoHIQsHBggHBAoHLQsICQgJBwYIBwQKBykLCAkHBggHBAoHKgsICYhKnRiuIL8kIJ4IlBSkNSMIAwQcASGBARAIBwQKAwcLAgQDCA+CCYoBFKcBCAcECgcLCAcECgkMCAkODxEJCyANCwIEFgUhMQSABZg+CAS2BBYBAwAAAQAAAAEIABoBAgAHAQEA1wcB4wNCAQEAQQAAAkEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQAAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAAkQQGR9gFBnASBBrMBjQa0CJECkA+NN0EIhANBDAeqLkEDA0EAAdwJAH0BfQF9gKAEdwRvcGVudwRvcGVueXcAdwhzdGFuZGFyZHcHZGVmYXVsdHcAdwdkZWZhdWx0dwdkZWZhdWx0dwdkZWZhdWx0dwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcAdwB3AHcHZGVmYXVsdHcHZGVmYXVsdHYDB2Rlc2t0b3B2DBBiYWNrZ3JvdW5kLWNvbG9ydxl2YXIoLS1hc3QtZ2xvYmFsLWNvbG9yLTQpEGJhY2tncm91bmQtaW1hZ2V3ABFiYWNrZ3JvdW5kLXJlcGVhdHcGcmVwZWF0E2JhY2tncm91bmQtcG9zaXRpb253DWNlbnRlciBjZW50ZXIPYmFja2dyb3VuZC1zaXpldwRhdXRvFWJhY2tncm91bmQtYXR0YWNobWVudHcGc2Nyb2xsD2JhY2tncm91bmQtdHlwZXcAEGJhY2tncm91bmQtbWVkaWF3AAxvdmVybGF5LXR5cGV3AA1vdmVybGF5LWNvbG9ydwAPb3ZlcmxheS1vcGFjaXR5dwAQb3ZlcmxheS1ncmFkaWVudHcABnRhYmxldHYMEGJhY2tncm91bmQtY29sb3J3ABBiYWNrZ3JvdW5kLWltYWdldwARYmFja2dyb3VuZC1yZXBlYXR3BnJlcGVhdBNiYWNrZ3JvdW5kLXBvc2l0aW9udw1jZW50ZXIgY2VudGVyD2JhY2tncm91bmQtc2l6ZXcEYXV0bxViYWNrZ3JvdW5kLWF0dGFjaG1lbnR3BnNjcm9sbA9iYWNrZ3JvdW5kLXR5cGV3ABBiYWNrZ3JvdW5kLW1lZGlhdwAMb3ZlcmxheS10eXBldwANb3ZlcmxheS1jb2xvcncAD292ZXJsYXktb3BhY2l0eXcAEG92ZXJsYXktZ3JhZGllbnR3AAZtb2JpbGV2DBBiYWNrZ3JvdW5kLWNvbG9ydwAQYmFja2dyb3VuZC1pbWFnZXcAEWJhY2tncm91bmQtcmVwZWF0dwZyZXBlYXQTYmFja2dyb3VuZC1wb3NpdGlvbncNY2VudGVyIGNlbnRlcg9iYWNrZ3JvdW5kLXNpemV3BGF1dG8VYmFja2dyb3VuZC1hdHRhY2htZW50dwZzY3JvbGwPYmFja2dyb3VuZC10eXBldwAQYmFja2dyb3VuZC1tZWRpYXcADG92ZXJsYXktdHlwZXcADW92ZXJsYXktY29sb3J3AA9vdmVybGF5LW9wYWNpdHl3ABBvdmVybGF5LWdyYWRpZW50dwB2AwdkZXNrdG9wdgwQYmFja2dyb3VuZC1jb2xvcncZdmFyKC0tYXN0LWdsb2JhbC1jb2xvci01KRBiYWNrZ3JvdW5kLWltYWdldwARYmFja2dyb3VuZC1yZXBlYXR3BnJlcGVhdBNiYWNrZ3JvdW5kLXBvc2l0aW9udw1jZW50ZXIgY2VudGVyD2JhY2tncm91bmQtc2l6ZXcEYXV0bxViYWNrZ3JvdW5kLWF0dGFjaG1lbnR3BnNjcm9sbA9iYWNrZ3JvdW5kLXR5cGV3ABBiYWNrZ3JvdW5kLW1lZGlhdwAMb3ZlcmxheS10eXBldwANb3ZlcmxheS1jb2xvcncAD292ZXJsYXktb3BhY2l0eXcAEG92ZXJsYXktZ3JhZGllbnR3AAZ0YWJsZXR2DBBiYWNrZ3JvdW5kLWNvbG9ydxl2YXIoLS1hc3QtZ2xvYmFsLWNvbG9yLTUpEGJhY2tncm91bmQtaW1hZ2V3ABFiYWNrZ3JvdW5kLXJlcGVhdHcGcmVwZWF0E2JhY2tncm91bmQtcG9zaXRpb253DWNlbnRlciBjZW50ZXIPYmFja2dyb3VuZC1zaXpldwRhdXRvFWJhY2tncm91bmQtYXR0YWNobWVudHcGc2Nyb2xsD2JhY2tncm91bmQtdHlwZXcAEGJhY2tncm91bmQtbWVkaWF3AAxvdmVybGF5LXR5cGV3AA1vdmVybGF5LWNvbG9ydwAPb3ZlcmxheS1vcGFjaXR5dwAQb3ZlcmxheS1ncmFkaWVudHcABm1vYmlsZXYMEGJhY2tncm91bmQtY29sb3J3GXZhcigtLWFzdC1nbG9iYWwtY29sb3ItNSkQYmFja2dyb3VuZC1pbWFnZXcAEWJhY2tncm91bmQtcmVwZWF0dwZyZXBlYXQTYmFja2dyb3VuZC1wb3NpdGlvbncNY2VudGVyIGNlbnRlcg9iYWNrZ3JvdW5kLXNpemV3BGF1dG8VYmFja2dyb3VuZC1hdHRhY2htZW50dwZzY3JvbGwPYmFja2dyb3VuZC10eXBldwAQYmFja2dyb3VuZC1tZWRpYXcADG92ZXJsYXktdHlwZXcADW92ZXJsYXktY29sb3J3AA9vdmVybGF5LW9wYWNpdHl3ABBvdmVybGF5LWdyYWRpZW50dwB3AHUCfa0Bfa8BdQB3JDRmNzMyNTIxLWQ1YzAtNDc1Yi1hMGM5LTJiMDFhMjY2Zjc2NHh3lnw8aDE+RWNvLUZyaWVuZGx5IFdlZGRpbmcgQ2F0ZXJpbmc6IENob29zZSBTdXN0YWluYWJsZSBPcHRpb25zIGluIEJhcmNlbG9uYSBhbmQgQ2F0YWxvbmlhPC9oMT4KPHA+TW9yZSBhbmQgbW9yZSBjb3VwbGVzIGFyZSBzZWVraW5nIHRvIGNlbGVicmF0ZSB0aGVpciB3ZWRkaW5nIHdoaWxlIGNhcmluZyBmb3IgdGhlIGVudmlyb25tZW50LiBFY28tZnJpZW5kbHkgY2F0ZXJpbmcgZm9jdXNlcyBvbiBsb2NhbGx5IHNvdXJjZWQgaW5ncmVkaWVudHMsIHN1c3RhaW5hYmxlIG1lbnVzLCBhbmQgb3B0aW9ucyB0YWlsb3JlZCB0byB2YXJpb3VzIG5lZWRzLiBMZWFybiBob3cgdG8gb2ZmZXIgYSByZXNwb25zaWJsZSBleHBlcmllbmNlIHdpdGhvdXQgc2FjcmlmaWNpbmcgZmxhdm9yIG9yIHF1YWxpdHkgb24geW91ciBiaWcgZGF5LjwvcD4KPGgyPkludHJvZHVjdGlvbiB0byBFY28tRnJpZW5kbHkgV2VkZGluZyBDYXRlcmluZzwvaDI+CjxwPjxzdHJvbmc+RWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYSBwcm9wb3NhbCB0aGF0IGVtcGhhc2l6ZXMgc3VzdGFpbmFiaWxpdHkgYXQgZXZlcnkgc3RhZ2Ugb2YgdGhlIHNlcnZpY2U6IGZyb20gc2VsZWN0aW5nIGluZ3JlZGllbnRzIHRvIHdhc3RlIG1hbmFnZW1lbnQuIFRoaXMgYXBwcm9hY2ggYWltcyB0byBtaW5pbWl6ZSBlbnZpcm9ubWVudGFsIGltcGFjdCwgcHJvbW90ZSByZXNwb25zaWJsZSBjb25zdW1wdGlvbiwgYW5kIGVuY291cmFnZSBoZWFsdGh5IGFuZCBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkgYWx0ZXJuYXRpdmVzLjwvcD4KPGgzPldoYXQgU2V0cyBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgQXBhcnQ\/PC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5Vc2Ugb2YgTG9jYWwgYW5kIFNlYXNvbmFsIEluZ3JlZGllbnRzPC9zdHJvbmc+OiBQcmlvcml0aXplcyBmcmVzaCBwcm9kdWN0cywgZ3Jvd24gbmVhciB0aGUgZXZlbnQgbG9jYXRpb24gYW5kIGluIHRoZWlyIHByaW1lLiBUaGlzIHJlZHVjZXMgdHJhbnNwb3J0YXRpb24gYW5kIGFzc29jaWF0ZWQgY2FyYm9uIGZvb3RwcmludCwgd2hpbGUgZW5zdXJpbmcgdGFzdGUgYW5kIGZyZXNobmVzcy48L2xpPgo8bGk+PHN0cm9uZz5PcmdhbmljIFJhdyBNYXRlcmlhbHM8L3N0cm9uZz46IFRoZSBmb29kcyB1c2VkIGNvbWUgZnJvbSBmYXJtcyBhbmQgcGxhbnRhdGlvbnMgdGhhdCBmb2xsb3cgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IHByYWN0aWNlcywgYXZvaWRpbmcgcGVzdGljaWRlcyBhbmQgc3ludGhldGljIGNoZW1pY2Fscy48L2xpPgo8bGk+PHN0cm9uZz5TdXN0YWluYWJsZSBQYWNrYWdpbmcgYW5kIFRhYmxld2FyZTwvc3Ryb25nPjogVGhlIHVzZSBvZiBjb21wb3N0YWJsZSwgYmlvZGVncmFkYWJsZSwgb3IgcmV1c2FibGUgbWF0ZXJpYWxzLCBzdWNoIGFzIEdyZWVudXNvJ3MgZWNvLWZyaWVuZGx5IHRhYmxld2FyZSwgaXMgZXNzZW50aWFsIHRvIHJlZHVjZSBwbGFzdGljcyBhbmQgb3RoZXIgd2FzdGUuPC9saT4KPC91bD4KPGgzPkRpZmZlcmVuY2VzIGZyb20gVHJhZGl0aW9uYWwgQ2F0ZXJpbmc8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkZvY3VzIG9uIFN1c3RhaW5hYmlsaXR5PC9zdHJvbmc+OiBVbmxpa2UgdGhlIGNvbnZlbnRpb25hbCBtb2RlbCwgZWNvLWZyaWVuZGx5IGNhdGVyaW5nIGF2b2lkcyBpbmR1c3RyaWFsaXplZCBwcm9kdWN0cyBhbmQgZXhjZXNzaXZlIG1lYXQgY29uc3VtcHRpb24sIG9wdGluZyBmb3IgZGlzaGVzIHRoYXQgaGlnaGxpZ2h0IHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIGFuZCB3aG9sZSBncmFpbnMuPC9saT4KPGxpPjxzdHJvbmc+RXRoaWNhbCBhbmQgU29jaWFsIENvbW1pdG1lbnQ8L3N0cm9uZz46IEVzdGFibGlzaGVzIGEgY2xvc2VyIHJlbGF0aW9uc2hpcCB3aXRoIHNtYWxsIHByb2R1Y2VycyBhbmQgbG9jYWwgY29vcGVyYXRpdmVzLCBlbnN1cmluZyBmYWlyIHRyYWRlIGNvbmRpdGlvbnMgYW5kIGNvbnRyaWJ1dGluZyB0byB0aGUgbG9jYWwgZWNvbm9teS48L2xpPgo8bGk+PHN0cm9uZz5Db25zY2lvdXMgUmVzb3VyY2UgYW5kIFdhc3RlIE1hbmFnZW1lbnQ8L3N0cm9uZz46IFVubGlrZSB0cmFkaXRpb25hbCBjZWxlYnJhdGlvbnMsIHRoZSBxdWFudGl0eSBvZiBmb29kIGlzIGNhcmVmdWxseSBwbGFubmVkIGhlcmUgdG8gbGltaXQgZXhjZXNzLCB1c2luZyByZWN5Y2xpbmcgc3lzdGVtcyBvciBjb21wb3N0aW5nIGxlZnRvdmVycy48L2xpPgo8L3VsPgo8aDM+V2h5IENob29zZSBTdXN0YWluYWJsZSBPcHRpb25zIGZvciBZb3VyIFdlZGRpbmc8L2gzPgo8cD5PcHRpbmcgZm9yIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgbW9yZSB0aGFuIGp1c3QgZm9sbG93aW5nIHRyZW5kcy4gSXQgbWVhbnMgYWxpZ25pbmcgeW91ciBjZWxlYnJhdGlvbiB3aXRoIHJlc3BvbnNpYmxlIHZhbHVlcyBhbmQgY3JlYXRpbmcgYSBwb3NpdGl2ZSBpbXBhY3QuIEVjby1mcmllbmRseSBtZW51cyBjYXJlIGZvciB0aGUgaGVhbHRoIG9mIHlvdXIgZ3Vlc3RzLCBhdm9pZCB1bHRyYS1wcm9jZXNzZWQgZm9vZHMsIGFuZCByZWR1Y2UgYWxsZXJnZW5zLiBNb3Jlb3ZlciwgdGhleSBlbmhhbmNlIG9yaWdpbmFsaXR5IGFuZCBwZXJzb25hbGl6YXRpb24gb2YgdGhlIGV4cGVyaWVuY2UgYnkgaW50ZWdyYXRpbmcgcHJvcG9zYWxzIHRhaWxvcmVkIHRvIGRpZmZlcmVudCBkaWV0cyBhbmQgbmVlZHMuPC9wPgo8cD5DZWxlYnJhdGluZyBhIHN1c3RhaW5hYmxlIHdlZGRpbmcgY29udmV5cyBjb21taXRtZW50IHRvIHRoZSBwbGFuZXQsIGVudmlyb25tZW50YWwgc2Vuc2l0aXZpdHksIGFuZCBzb2NpYWwgYXdhcmVuZXNzLCBsZWF2aW5nIGEgbWVtb3J5IHRoYXQgZ29lcyBiZXlvbmQgdGhlIGV2ZW50IGl0c2VsZi48L3A+CjxoMj5CZW5lZml0cyBvZiBTdXN0YWluYWJsZSBDYXRlcmluZzwvaDI+CjxwPjxzdHJvbmc+RWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gb2ZmZXJzIGNsZWFyIGFkdmFudGFnZXMgZm9yIHRoZSBjb3VwbGUsIHRoZWlyIGd1ZXN0cywgYW5kIHRoZSBlbnZpcm9ubWVudC48L3A+CjxoMz5SZWR1Y3Rpb24gb2YgRW52aXJvbm1lbnRhbCBJbXBhY3Q8L2gzPgo8cD5DaG9vc2luZyBzdXN0YWluYWJsZSBjYXRlcmluZyBtZWFucyByZWR1Y2luZyB0aGUgZXZlbnQncyBlY29sb2dpY2FsIGZvb3RwcmludC4gVGhpcyBpcyBhY2hpZXZlZCBieSB1c2luZyBsb2NhbCBwcm9kdWN0cyB0aGF0IG1pbmltaXplIHRyYW5zcG9ydGF0aW9uIGFuZCBhc3NvY2lhdGVkIGVtaXNzaW9ucy4gVGhlIHVzZSBvZiBvcmdhbmljIGFuZCBzZWFzb25hbCBpbmdyZWRpZW50cyBkZWNyZWFzZXMgcmVzb3VyY2UgY29uc3VtcHRpb24gYW5kIGNoZW1pY2FsIHVzZSBpbiBhZ3JpY3VsdHVyZS4gRnVydGhlcm1vcmUsIGVmZmljaWVudCB3YXN0ZSBtYW5hZ2VtZW50LCByZWN5Y2xpbmcsIGFuZCB0aGUgY2hvaWNlIG9mIGNvbXBvc3RhYmxlIHRhYmxld2FyZeKAlHN1Y2ggYXMgdGhhdCBwcm9wb3NlZCBieSBHcmVlbnVzb+KAlGNvbnRyaWJ1dGUgdG8gYSBjZWxlYnJhdGlvbiB3aXRoIGxlc3Mgd2FzdGUgYW5kIGxvd2VyIHBsYXN0aWMgcHJvZHVjdGlvbi48L3A+CjxoMz5TdXBwb3J0aW5nIExvY2FsIFByb2R1Y2VycyBhbmQgRWNvbm9taWMgQm9vc3Q8L2gzPgo8cD5CeSB3b3JraW5nIHdpdGggbG9jYWwgc3VwcGxpZXJzIGFuZCBzZWxlY3RpbmcgZm9vZHMgZnJvbSBzaG9ydCBzdXBwbHkgY2hhaW5zLCBlY28tZnJpZW5kbHkgY2F0ZXJpbmcgc3VwcG9ydHMgdGhlIGxvY2FsIGVjb25vbXkgYW5kIGNvbnRyaWJ1dGVzIHRvIHN1c3RhaW5hYmxlIGpvYiBjcmVhdGlvbi4gVGhpcyBkaXJlY3QgY29ubmVjdGlvbiB3aXRoIGZhcm1lcnMgYW5kIHNtYWxsIGJ1c2luZXNzZXMgcHJvbW90ZXMgYSBtb3JlIGV0aGljYWwgc3VwcGx5IGNoYWluLCBzdHJlbmd0aGVucyB0aGUgY29tbXVuaXR5LCBhbmQgZW5jb3VyYWdlcyB0aGUgZGV2ZWxvcG1lbnQgb2Ygb3JnYW5pYyBhZ3JpY3VsdHVyZSBhbmQgZmFpciB0cmFkZSBpbiB0aGUgcmVnaW9uLjwvcD4KPGgzPkhlYWx0aCBhbmQgV2VsbC1iZWluZyBCZW5lZml0cyBmb3IgR3Vlc3RzPC9oMz4KPHA+RnJlc2ggYW5kIG9yZ2FuaWMgZm9vZHMgY29udGFpbiBmZXdlciBhZGRpdGl2ZXMgYW5kIHByZXNlcnZhdGl2ZXMsIHdoaWNoIHByb21vdGVzIGEgbW9yZSBiYWxhbmNlZCBhbmQgaGlnaGVyIHF1YWxpdHkgZGlldC4gTWVudXMgdHlwaWNhbGx5IGluY2x1ZGUgYSBncmVhdGVyIHZhcmlldHkgb2YgZnJ1aXRzLCB2ZWdldGFibGVzLCBsZWd1bWVzLCBhbmQgd2hvbGUgZ3JhaW5zLCBpbmdyZWRpZW50cyBhc3NvY2lhdGVkIHdpdGggYmV0dGVyIG51dHJpdGlvbiBhbmQgZGlnZXN0aW9uIGR1cmluZyB0aGUgZXZlbnQuIFJlc3BlY3RpbmcgYWxsZXJnaWVzIGFuZCBzcGVjaWZpYyBuZWVkcyByZWR1Y2VzIHJpc2tzIGFuZCBpbXByb3ZlcyBldmVyeW9uZSdzIGV4cGVyaWVuY2UuPC9wPgo8aDM+UGVyc29uYWxpemF0aW9uIGZvciBhIENvbnNjaW91cyBFeHBlcmllbmNlPC9oMz4KPHA+PHN0cm9uZz5TdXN0YWluYWJsZSBjYXRlcmluZzwvc3Ryb25nPiBvZmZlcnMgd2lkZSBvcHRpb25zIHRvIHRhaWxvciB0aGUgcHJvcG9zYWwgdG8gdGhlIGd1ZXN0cycgcHJvZmlsZSwgY29uc2lkZXJpbmcgdGFzdGVzLCBoYWJpdHMsIGFuZCB2YWx1ZXMuIEl0IGFsbG93cyBmb3IgdmVnZXRhcmlhbiwgdmVnYW4sIG9yIGFsbGVyZ2VuLWZyZWUgbWVudXMsIGFkZGluZyB1bmlxdWUgZGV0YWlscyBsaWtlIGVjb2xvZ2ljYWwgc2hvd2Nvb2tpbmcgc3RhdGlvbnMgb3IgaW5jb3Jwb3JhdGluZyB0aGVtYXRpYyBlbGVtZW50cyBjb25zaXN0ZW50IHdpdGggdGhlIGV2ZW50J3Mgc3VzdGFpbmFiaWxpdHkuIFRoaXMgY3VzdG9taXphdGlvbiBlbmhhbmNlcyB0aGUgd2VkZGluZydzIGlkZW50aXR5IGFuZCByZWluZm9yY2VzIHRoZSBlbnZpcm9ubWVudGFsIHJlc3BlY3QgYW5kIGNvbW1pdG1lbnQgdGhlIGNvdXBsZSB3aXNoZXMgdG8gY29udmV5LjwvcD4KPHA+T3ZlcmFsbCwgZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgdHJhbnNmb3JtcyB0aGUgY2VsZWJyYXRpb24gaW50byBhIG1vcmUgcmVzcG9uc2libGUsIGF1dGhlbnRpYyBleHBlcmllbmNlIGFsaWduZWQgd2l0aCBuZXcgc29jaWFsIGFuZCBlbnZpcm9ubWVudGFsIGRlbWFuZHMuPC9wPgo8aDI+UHJvcG9zYWxzIGZvciBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51czwvaDI+CjxwPkNyZWF0aW5nIGEgPHN0cm9uZz5lY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiBtZW51IHJlcXVpcmVzIGNyZWF0aXZpdHksIHNlYXNvbmFsIGNvaGVyZW5jZSwgYW5kIHNlbnNpdGl2aXR5IHRvIHRoZSB2YXJpb3VzIG5lZWRzIG9mIHRoZSBndWVzdHMuPC9wPgo8aDM+U3VzdGFpbmFibGUgU3RhcnRlcnMsIE1haW4gQ291cnNlcywgYW5kIERlc3NlcnRzPC9oMz4KPHA+PHN0cm9uZz5FbnZpcm9ubWVudGFsbHkgRnJpZW5kbHkgU3RhcnRlcnM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlNhbGFkIG9mIG9yZ2FuaWMgdG9tYXRvZXMgd2l0aCBzcHJvdXRzLCBlZGlibGUgZmxvd2VycywgYW5kIGxvY2FsIGV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwuPC9saT4KPGxpPk9yZ2FuaWMgY2hpY2twZWEgaHVtbXVzIHdpdGggY3J1ZGl0w6lzIG9mIGxvY2FsIHZlZ2V0YWJsZXMuPC9saT4KPGxpPlNlYXNvbmFsIGdhenBhY2hvIHNlcnZlZCBpbiBjb21wb3N0YWJsZSBjdXBzLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+UmVzcG9uc2libGUgTWFpbiBDb3Vyc2VzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5Ccm93biByaWNlIHdpdGggb3JnYW5pYyBtdXNocm9vbXMsIGFzcGFyYWd1cywgYW5kIHRydWZmbGUgb2lsLCBzdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCBnbHV0ZW4gaW50b2xlcmFudCBpbmRpdmlkdWFscy48L2xpPgo8bGk+VmVnZXRhYmxlIGxhc2FnbmEgd2l0aCBzZWFzb25hbCBzcXVhc2ggYW5kIHNwaW5hY2gsIHNveSBiw6ljaGFtZWwsIGFuZCB2ZWdhbiBjaGVlc2UuPC9saT4KPGxpPkhvbWVtYWRlIGZhbGFmZWwgYWNjb21wYW5pZWQgYnkgZnJlc2ggdGFiYm91bGVoIGFuZCBjYXNoZXcgeW9ndXJ0IHNhdWNlLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+RWNvLUZyaWVuZGx5IERlc3NlcnRzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5MaWdodCBjaG9jb2xhdGUgbW91c3NlIHdpdGggYXZvY2FkbyBhbmQgb3JhbmdlLCBzd2VldGVuZWQgd2l0aCBhZ2F2ZSBzeXJ1cC48L2xpPgo8bGk+RnJlc2ggc2Vhc29uYWwgZnJ1aXQgc2FsYWQuPC9saT4KPGxpPlZlZ2FuIHdhbG51dCBicm93bmllcyBtYWRlIHdpdGggd2hvbGUgd2hlYXQgZmxvdXIgYW5kIG5vIHJlZmluZWQgc3VnYXJzLjwvbGk+CjwvdWw+CjxoMz5UaGUgVmFsdWUgb2YgU2Vhc29uYWxpdHkgaW4gSW5ncmVkaWVudCBTZWxlY3Rpb248L2gzPgo8cD5DaG9vc2luZyBzZWFzb25hbCBpbmdyZWRpZW50cyBlbnN1cmVzIHRoYXQgcHJvZHVjdHMgYXJlIGZyZXNoZXIsIHRhc3RpZXIsIGFuZCBtb3JlIHN1c3RhaW5hYmxlLiBJbiBzcHJpbmcgYW5kIHN1bW1lciwgZnJ1aXRzIGFuZCB2ZWdldGFibGVzIGxpa2Ugc3RyYXdiZXJyaWVzLCBjaGVycmllcywgY3VjdW1iZXJzLCB0b21hdG9lcywgb3IgenVjY2hpbmkgc3RhbmQgb3V0OyBpbiBhdXR1bW4gYW5kIHdpbnRlciwgc3F1YXNoLCBlZ2dwbGFudHMsIG11c2hyb29tcywgYW5kIGNpdHJ1cyBvZmZlciBjb2xvciBhbmQgZmxhdm9yLiBVc2luZyBwcm9kdWN0cyBmcm9tIGVhY2ggc2Vhc29uIG5vdCBvbmx5IG1haW50YWlucyBlY29sb2dpY2FsIGNvbnNpc3RlbmN5IGJ1dCBhbHNvIGVuaGFuY2VzIHRoZSBtZW51J3MgcXVhbGl0eS48L3A+CjxoMz5BbHRlcm5hdGl2ZXMgZm9yIERpZXRhcnkgUmVzdHJpY3Rpb25zPC9oMz4KPHA+PHN0cm9uZz5FY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiBhZGFwdHMgdG8gYWxsIHNvcnRzIG9mIGRpZXRhcnkgcHJlZmVyZW5jZXMgYW5kIHNwZWNpYWwgbmVlZHM6PC9wPgo8dWw+CjxsaT5WZWdldGFyaWFuIGFuZCB2ZWdhbiBwcm9wb3NhbHMgYmFzZWQgb24gbGVndW1lcywgcm9hc3RlZCB2ZWdldGFibGVzLCBhbmQgcGxhbnQtYmFzZWQgY3JlYW1zIGFuZCBzcHJlYWRzLjwvbGk+CjxsaT5HbHV0ZW4tZnJlZSBkaXNoZXMgd2l0aCBhbHRlcm5hdGl2ZSBncmFpbnMgbGlrZSBxdWlub2EsIGJyb3duIHJpY2UsIG9yIG1pbGxldC48L2xpPgo8bGk+RGVzc2VydCBvcHRpb25zIHdpdGhvdXQgbGFjdG9zZSBvciBhZGRlZCBzdWdhcnMsIHVzaW5nIG51dHMgYW5kIG5hdHVyYWwgZnJ1aXQuPC9saT4KPGxpPkluY2x1c2lvbiBvZiBtZW51cyB3aXRob3V0IGNvbW1vbiBhbGxlcmdlbnMsIGRlc2lnbmVkIGZvciBjZWxpYWNzLCBkaWFiZXRpY3MsIGFuZCBwZW9wbGUgd2l0aCBpbnRvbGVyYW5jZXMuPC9saT4KPC91bD4KPGgzPlNwZWNpZmljIEV4YW1wbGUgb2YgYW4gQWRhcHRlZCBFY28tRnJpZW5kbHkgTWVudTwvaDM+Cjx1bD4KPGxpPlN0YXJ0ZXI6IEJlZXQgdGFydGFyZSB3aXRoIGdyZWVuIGFwcGxlIGFuZCBhdm9jYWRvLCBzZWVkcywgYW5kIGEgY2l0cnVzIHZpbmFpZ3JldHRlLjwvbGk+CjxsaT5NYWluIENvdXJzZTogTWlsZCBjdXJyeSBvZiBzcXVhc2gsIG9yZ2FuaWMgY2hpY2twZWFzLCBhbmQgc3BpbmFjaCBvdmVyIGJyb3duIHJpY2UsIHN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIGdsdXRlbi1mcmVlLjwvbGk+CjxsaT5EZXNzZXJ0OiBIb21lbWFkZSBsZW1vbiBzb3JiZXQgd2l0aCBtaW50IGFuZCBvYXRtZWFsIGNvb2tpZSwgbGFjdG9zZS1mcmVlIGFuZCBlZ2ctZnJlZS48L2xpPgo8L3VsPgo8cD5JbiBhbGwgY2FzZXMsIHByZXNlbnRhdGlvbiBvbiBjb21wb3N0YWJsZSB0YWJsZXdhcmUgYW5kIHdhc3RlIHJlZHVjdGlvbiBjb250cmlidXRlIHRvIHJlaW5mb3JjaW5nIHRoZSBwaGlsb3NvcGh5IG9mIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIGFuZCBvZmZlciBhIG1lbW9yYWJsZSwgdmFyaWVkLCBhbmQgZW52aXJvbm1lbnRhbGx5IHJlc3BvbnNpYmxlIGV4cGVyaWVuY2UuPC9wPgo8aDI+T3JnYW5pemluZyBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgaW4gQmFyY2Vsb25hIGFuZCBDYXRhbG9uaWE8L2gyPgo8cD5QbGFubmluZyBhIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gc2VydmljZSBpbiBCYXJjZWxvbmEgYW5kIENhdGFsb25pYSByZXF1aXJlcyBrbm93aW5nIGxvY2FsIG9wdGlvbnMsIGFuYWx5emluZyBzdXN0YWluYWJsZSBjcml0ZXJpYSwgYW5kIGNvbXBhcmluZyBwcm9wb3NhbHMgdG8gbWFrZSB0aGUgYmVzdCBkZWNpc2lvbi48L3A+CjxoMz5Mb2NhbCBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgUHJvdmlkZXJzPC9oMz4KPHA+SW4gdGhlIHJlZ2lvbiwgdGhlcmUgYXJlIGNvbXBhbmllcyBwcmlvcml0aXppbmcgbG9jYWwgaW5ncmVkaWVudHMsIGhlYWx0aHkgbWVudXMsIGFuZCByZXNwb25zaWJsZSB3YXN0ZSBtYW5hZ2VtZW50LiBNYW55IGluY2x1ZGUgdmVnZXRhcmlhbiwgdmVnYW4sIGFuZCBnbHV0ZW4tZnJlZSBvcHRpb25zIGFuZCBhcmUgY29tbWl0dGVkIHRvIHJlZHVjaW5nIHBsYXN0aWNzIGJ5IHVzaW5nIGJpb2RlZ3JhZGFibGUgYW5kIGNvbXBvc3RhYmxlIHRhYmxld2FyZSBsaWtlIEdyZWVudXNvJ3MuIFRoZXNlIHByb3ZpZGVycyBvZnRlbiBjb2xsYWJvcmF0ZSB3aXRoIHNtYWxsIHByb2R1Y2Vycywgc3RyZW5ndGhlbmluZyB0aGUgbG9jYWwgYW5kIHN1c3RhaW5hYmxlIGNvbW1pdG1lbnQuPC9wPgo8aDM+U3RyYXRlZ2ljIFRpcHMgZm9yIENob29zaW5nIENhdGVyaW5nPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5EZWZpbmUgWW91ciBQcmlvcml0aWVzPC9zdHJvbmc+OiBTZWxlY3QgdGhlIHR5cGUgb2YgbWVudSAodmVnYW4sIHZlZ2V0YXJpYW4sIGdsdXRlbi1mcmVlKSBhbmQgZXZhbHVhdGUgaWYgdHJhZGl0aW9uYWwgb3B0aW9ucyBuZWVkIHRvIGJlIGluY2x1ZGVkLjwvbGk+CjxsaT48c3Ryb25nPkVuc3VyZSBQcm9kdWN0IE9yaWdpbnM8L3N0cm9uZz46IFJlcXVlc3QgaW5mb3JtYXRpb24gYWJvdXQgZm9vZCBzdXBwbGllcnMgYW5kIHRoZSBvcmlnaW4gb2YgZnJlc2ggaW5ncmVkaWVudHMuPC9saT4KPGxpPjxzdHJvbmc+UmV2aWV3IFN1c3RhaW5hYmxlIENvbW1pdG1lbnRzPC9zdHJvbmc+OiBJbnF1aXJlIGFib3V0IHdhc3RlIG1hbmFnZW1lbnQsIG1hdGVyaWFsIHJldXNlLCBhbmQgdGhlIHVzZSBvZiBlY28tZnJpZW5kbHkgcGFja2FnaW5nLjwvbGk+CjxsaT48c3Ryb25nPlJlcXVlc3QgVGFzdGluZ3MgYW5kIEN1c3RvbWl6ZWQgTWVudXM8L3N0cm9uZz46IFRoaXMgaXMgdGhlIGJlc3Qgd2F5IHRvIGFzc2VzcyB0aGUgcXVhbGl0eSwgY3JlYXRpdml0eSwgYW5kIGFkYXB0YWJpbGl0eSBvZiB0aGUgc2VydmljZS48L2xpPgo8bGk+PHN0cm9uZz5FbnN1cmUgTG9naXN0aWNzPC9zdHJvbmc+OiBDaGVjayBob3cgZGlzaCB0cmFuc3BvcnRhdGlvbiBpcyBjb25kdWN0ZWQsIHdoZXRoZXIgdGhleSB1c2UgZWxlY3RyaWMgdmVoaWNsZXMsIG9yIG1pbmltaXplIHRoZSBpbXBhY3Qgb2YgdGhlIHRyaXAgdG8gdGhlIGV2ZW50LjwvbGk+CjwvdWw+CjxoMz5Fc3NlbnRpYWwgUXVlc3Rpb25zIEJlZm9yZSBDbG9zaW5nIGEgRGVhbDwvaDM+Cjx1bD4KPGxpPkRvIHRoZXkgaW5jbHVkZSBtZW51cyBhZGFwdGVkIGZvciBhbGxlcmdpZXMsIGludG9sZXJhbmNlcywgYW5kIGRpZXRhcnkgcmVzdHJpY3Rpb25zPzwvbGk+CjxsaT5EbyB0aGV5IHdvcmsgd2l0aCBvbmx5IHNlYXNvbmFsIGFuZCBsb2NhbCBpbmdyZWRpZW50cz88L2xpPgo8bGk+RG8gdGhleSBvZmZlciBzb2x1dGlvbnMgZm9yIG1hbmFnaW5nIHdhc3RlIGFmdGVyIHRoZSBiYW5xdWV0PzwvbGk+CjxsaT5XaGF0IGFsdGVybmF0aXZlcyBkbyB0aGV5IHByb3ZpZGUgZm9yIHRhYmxld2FyZSwgY3V0bGVyeSwgYW5kIG5hcGtpbnM\/PC9saT4KPGxpPkRvIHRoZXkgaGF2ZSBleHBlcmllbmNlIGluIHNpbWlsYXIgZXZlbnRzIGFuZCByZWZlcmVuY2VzIGZyb20gb3RoZXIgc3VzdGFpbmFibGUgd2VkZGluZ3M\/PC9saT4KPC91bD4KPGgzPk5vdGFibGVzIGluIHRoZSBTdXN0YWluYWJsZSBTZWN0b3I8L2gzPgo8cD5JbiBDYXRhbG9uaWEgYW5kIEJhcmNlbG9uYSwgdGhlIHRyZW5kIG9mIGVjbyBjYXRlcmluZyBpcyBncm93aW5nLCByZWZsZWN0aW5nIGNvdXBsZXMnIGludGVyZXN0IGluIGEgbW9yZSByZXNwb25zaWJsZSBhbmQgaGVhbHRoaWVyIGFwcHJvYWNoLiBUaGUgbWFya2V0IG9mZmVycyBvcHRpb25zIHJhbmdpbmcgZnJvbSBzbWFsbCBnYXRoZXJpbmdzIHRvIGxhcmdlLXNjYWxlIGNlbGVicmF0aW9ucywgd2l0aCBpbm5vdmF0aXZlIG1lbnVzIGFuZCBhdHRlbnRpb24gdG8gbmV3IHN1c3RhaW5hYmlsaXR5IGRlbWFuZHMuIFV0aWxpemluZyBzZXJ2aWNlcyB0aGF0IGFkdm9jYXRlIGZvciB0aGUgY2lyY3VsYXIgZWNvbm9teSwgZnJlc2ggcHJvZHVjdCBzbmFja3MsIG9yIHRoYXQgbWFrZSB1c2Ugb2YgbG9jYWwgZmFybSBzdXJwbHVzIHJlaW5mb3JjZXMgYm90aCB0aGUgcXVhbGl0eSBhbmQgdGhlIGVjby1mcmllbmRseSBtZXNzYWdlIG9mIHRoZSB3ZWRkaW5nLjwvcD4KPHA+T3JnYW5pemluZyBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyBpbiBDYXRhbG9uaWEgaXMgcG9zc2libGUgdGhhbmtzIHRvIHRoZSB2YXJpZXR5IGFuZCBzcGVjaWFsaXphdGlvbiBvZiBwcm92aWRlcnMuIENob29zaW5nIHdpc2VseSBhbmQgaW4gYWR2YW5jZSBmYWNpbGl0YXRlcyBhIGNvaGVyZW50IGNlbGVicmF0aW9uLCBhbGlnbmVkIHdpdGggZW52aXJvbm1lbnRhbCB2YWx1ZXMgYW5kIHdpdGggdGhlIGJlc3QgYXR0ZW50aW9uIHRvIGd1ZXN0cy48L3A+CjxoMj5TdWdnZXN0aW9ucyBmb3IgYSBTdXN0YWluYWJsZSBhbmQgUmVzcG9uc2libGUgV2VkZGluZzwvaDI+CjxwPk1vdmluZyB0b3dhcmRzIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYW4gaW1wb3J0YW50IHN0ZXAsIGJ1dCB0aGVyZSBhcmUgb3RoZXIga2V5IGFjdGlvbnMgdG8gbWFrZSB0aGUgZXZlbnQgbW9yZSBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkuPC9wPgo8aDM+U3RyYXRlZ2llcyB0byBNaW5pbWl6ZSBXYXN0ZTwvaDM+Cjx1bD4KPGxpPkFkanVzdCB0aGUgYW1vdW50IG9mIGZvb2QgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgZ3Vlc3RzIHRvIGF2b2lkIHdhc3RlLjwvbGk+CjxsaT5PcHQgZm9yIGEgc3VzdGFpbmFibGUgYnVmZmV0IGZvcm1hdCBvciB0aGVtZWQgc3RhdGlvbnMgdGhhdCBhbGxvdyBmb3IgZ3JlYXRlciBjb250cm9sIG92ZXIgcG9ydGlvbnMuPC9saT4KPGxpPlBsYW4gZm9yIHNlcGFyYXRlIGFuZCBzZWxlY3RpdmUgd2FzdGUgY29sbGVjdGlvbiBmcm9tIHRoZSBzdGFydCwgcHJvdmlkaW5nIGRpZmZlcmVudGlhdGVkIGNvbnRhaW5lcnMgYW5kIGNsZWFyIHNpZ25hZ2UuPC9saT4KPGxpPkRvbmF0ZSBmb29kIHN1cnBsdXMgdG8gbG9jYWwgYXNzb2NpYXRpb25zIG9yIHByb21vdGUgZGlzdHJpYnV0aW9uIGFtb25nIGF0dGVuZGVlcy48L2xpPgo8L3VsPgo8aDM+RWNvLUZyaWVuZGx5IGFuZCBSZXVzYWJsZSBEZWNvcmF0aW9uPC9oMz4KPHVsPgo8bGk+Q2hvb3NlIGRlY29yYXRpdmUgZWxlbWVudHMgbWFkZSBmcm9tIG5hdHVyYWwgbWF0ZXJpYWxzICh3b29kLCBmYWJyaWMsIHBsYW50IGZpYmVycykgdGhhdCBjYW4gYmUgcmV1c2VkIG9yIHJlY3ljbGVkLjwvbGk+CjxsaT5PcHQgZm9yIHNlYXNvbmFsIGZsb3dlcnMsIHBvdHRlZCBwbGFudHMsIGFuZCBkcmllZCBhcnJhbmdlbWVudHMgdGhhdCBjYW4gbGF0ZXIgYmUgZ2lmdGVkIG9yIGxlZnQgaW4gdGhlIGVudmlyb25tZW50LjwvbGk+CjxsaT5SZXBsYWNlIGJhbGxvb25zLCBwbGFzdGljIGNvbmZldHRpLCBhbmQgc2luZ2xlLXVzZSBkZWNvcmF0aW9ucyB3aXRoIGJpb2RlZ3JhZGFibGUgYWx0ZXJuYXRpdmVzIG9yIGFydGlzYW5hbCBkZXRhaWxzLjwvbGk+CjwvdWw+CjxoMz5Db21wb3N0YWJsZSBUYWJsZXdhcmUsIE5hcGtpbnMsIGFuZCBQYWNrYWdpbmc8L2gzPgo8cD5PcHQgZm9yIDxzdHJvbmc+Y29tcG9zdGFibGUgdGFibGV3YXJlLCBuYXR1cmFsIGZpYmVyIG5hcGtpbnMsIGFuZCBiaW9kZWdyYWRhYmxlIHBhY2thZ2luZzwvc3Ryb25nPi4gUHJvZHVjdHMgbGlrZSBHcmVlbnVzbydzIGVjby1mcmllbmRseSB0YWJsZXdhcmUgZW5zdXJlIHRoYXQgZWFjaCBndWVzdCdzIGltcGFjdCBpcyBtaW5pbWFsLCBhbmQgdGhhdCBhbGwgZGlubmVyd2FyZSBjYW4gYmUgY29tcG9zdGVkIGFmdGVyIHRoZSBldmVudC4gSWYgeW91IGRlc2lyZSBhIG1vcmUgZWxlZ2FudCB0b3VjaCwgY29tYmluZSByZXVzYWJsZSBwaWVjZXMgd2l0aCBlY28tZnJpZW5kbHkgYWx0ZXJuYXRpdmVzIGZvciBkcmlua3Mgb3IgZGVzc2VydHMuPC9wPgo8aDM+SW52b2x2ZSBHdWVzdHMgaW4gU3VzdGFpbmFiaWxpdHk8L2gzPgo8dWw+CjxsaT5JbmZvcm0gZ3Vlc3RzIGZyb20gdGhlIGludml0YXRpb25zIGFib3V0IHRoZSB3ZWRkaW5nJ3MgZWNvbG9naWNhbCBjb21taXRtZW50IGFuZCBlbmNvdXJhZ2UgdGhlbSB0byBhY3QgYWNjb3JkaW5nbHkgKGUuZy4sIGF2b2lkIHByaXZhdGUgY2FyIHVzZSBvciBicmluZyByZXVzYWJsZSBib3R0bGVzKS48L2xpPgo8bGk+UHJvcG9zZSBzbWFsbCBhY3Rpb25zIGR1cmluZyB0aGUgY2VsZWJyYXRpb246IHJlY3ljbGluZyBwb2ludHMsIGJvb2sgb3Igc2VlZCBleGNoYW5nZSBjb3JuZXIsIGNoYXJpdGFibGUgcmFmZmxlcywgb3Igc3VzdGFpbmFibGUgZ2lmdHMgbGlrZSBwbGFudHMgb3IgbG9jYWwgcHJvZHVjdHMuPC9saT4KPGxpPlJld2FyZCBnb29kIHByYWN0aWNlcyBhbmQgbWFrZSBlbnZpcm9ubWVudGFsIGNhcmUgcGFydCBvZiB0aGUgZXhwZXJpZW5jZSBhbmQgdGhlIGRheSdzIG1lbW9yeS48L2xpPgo8L3VsPgo8cD5CeSBpbnRlZ3JhdGluZyB0aGVzZSBzdWdnZXN0aW9ucywgYW4gZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgYmVjb21lcyBhIHJlc3BvbnNpYmxlIGFuZCBjb2hlcmVudCBldmVudCBpbiBlYWNoIG9mIGl0cyBkZXRhaWxzLCByZWZsZWN0aW5nIGEgZ2VudWluZSBjb21taXRtZW50IHRvIHRoZSBmdXR1cmUgYW5kIGdsb2JhbCB3ZWxsLWJlaW5nLjwvcD4KPGgyPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zIEFib3V0IEVjby1GcmllbmRseSBXZWRkaW5nIENhdGVyaW5nPC9oMj4KPHA+Q2hvb3NpbmcgPHN0cm9uZz5lY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiByYWlzZXMgY29tbW9uIHF1ZXN0aW9ucyB0aGF0IHNob3VsZCBiZSBhZGRyZXNzZWQgdG8gZW5zdXJlIGEgc2F0aXNmeWluZyBhbmQgdmFsdWUtYWxpZ25lZCBleHBlcmllbmNlLjwvcD4KPGgzPldoYXQgRG9lcyBhbiBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51IEluY2x1ZGU\/PC9oMz4KPHA+QW4gZWNvLWZyaWVuZGx5IG1lbnUgaW5jbHVkZXMgc3RhcnRlcnMsIG1haW4gY291cnNlcywgYW5kIGRlc3NlcnRzIHByZXBhcmVkIHdpdGggbG9jYWwsIG9yZ2FuaWMsIGFuZCBzZWFzb25hbCBpbmdyZWRpZW50cy4gSXQgdXN1YWxseSBjb25zaWRlcnMgdmVnZXRhcmlhbiwgdmVnYW4sIGdsdXRlbi1mcmVlLCBhbmQgaW50b2xlcmFuY2UtYWRhcHRlZCBwcm9wb3NhbHMuIEFkZGl0aW9uYWxseSwgaXQgcHJpb3JpdGl6ZXMgcHJlc2VudGF0aW9uIG9uIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIHRhYmxld2FyZSwgbGlrZSBHcmVlbnVzbydzLCBhbmQgZWZmaWNpZW50IHdhc3RlIG1hbmFnZW1lbnQuPC9wPgo8aDM+Q2FuIEkgQ3VzdG9taXplIHRoZSBNZW51IEFjY29yZGluZyB0byBHdWVzdHMnIFByZWZlcmVuY2VzPzwvaDM+CjxwPlBlcnNvbmFsaXphdGlvbiBpcyBvbmUgb2YgdGhlIG1haW4gYWR2YW50YWdlcy4gTWVudXMgY2FuIGJlIGFkYXB0ZWQgdG8gdGFzdGVzLCByZXN0cmljdGlvbnMsIGFuZCBjdWx0dXJhbCBvciBldGhpY2FsIHByZWZlcmVuY2VzLiBJdCBpcyBwb3NzaWJsZSB0byByZXF1ZXN0IGRpc2hlcyBmb3IgcGVvcGxlIHdpdGggYWxsZXJnaWVzLCBpbnRvbGVyYW5jZXMsIG9yIHNwZWNpYWwgZGlldHMsIGRlc2lnbiBlbnRpcmVseSB2ZWdhbiBvcHRpb25zLCBvciBpbmNsdWRlIGEgc2VsZWN0aW9uIG9mIGxvY2FsIHByb2R1Y3RzIHRoYXQgcmVmbGVjdCB0aGUgYXJlYSdzIGlkZW50aXR5LjwvcD4KPGgzPldoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/PC9oMz4KPHA+VGhlIHByaWNlIHBlciBwZXJzb24gdmFyaWVzIGJhc2VkIG9uIG1lbnUgdHlwZSwgdGhlIG51bWJlciBvZiBkaXNoZXMsIHNlbGVjdGVkIGluZ3JlZGllbnRzLCBhbmQgYWRkaXRpb25hbCBzZXJ2aWNlcyAoc2hvd2Nvb2tpbmcsIHRoZW1lZCBzdGF0aW9ucywgcGVyc29uYWxpemVkIHBhc3RyaWVzKS4gT24gYXZlcmFnZSwgaXQgZmFsbHMgd2l0aGluIGEgcmFuZ2Ugc2ltaWxhciB0byBjb252ZW50aW9uYWwgY2F0ZXJpbmcsIGFsdGhvdWdoIGhpZ2gtcXVhbGl0eSBvcmdhbmljIHByb2R1Y3RzIG1heSBzb21ldGltZXMgc2xpZ2h0bHkgcmFpc2UgdGhlIGNvc3QuIEl0J3MgaW1wb3J0YW50IHRvIHJlcXVlc3QgZGV0YWlsZWQgcXVvdGVzIGFuZCBjb21wYXJlIG9wdGlvbnMgYmFzZWQgb24gdGhlaXIgc3VzdGFpbmFiaWxpdHkgY29tbWl0bWVudHMgYW5kIHRyYW5zcGFyZW5jeSBpbiBzdXBwbGllciBzZWxlY3Rpb24uPC9wPgo8aDM+SXMgSXQgUG9zc2libGUgdG8gT3JnYW5pemUgYSBDb21wbGV0ZWx5IEVjby1GcmllbmRseSBXZWRkaW5nPzwvaDM+CjxwPlllcywgdGhlcmUgYXJlIGN1cnJlbnRseSByZXNvdXJjZXMgYW5kIHByb3ZpZGVycyB0aGF0IGFsbG93IGZvciBwbGFubmluZyBhIHN1c3RhaW5hYmxlIHdlZGRpbmcgaW4gYWxsIGFzcGVjdHMuIEZyb20gZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgdG8gcmV1c2FibGUgZGVjb3JhdGlvbiwgZGlnaXRhbCBpbnZpdGF0aW9ucywgc2hhcmVkIHRyYW5zcG9ydGF0aW9uLCBhbmQgZWNvLWZyaWVuZGx5IGdpZnRzIGZvciBndWVzdHMuIEdvb2Qgb3JnYW5pemF0aW9uLCBjbGVhciBjb21tdW5pY2F0aW9uIHdpdGggcHJvdmlkZXJzLCBhbmQgYSB3aWxsaW5nbmVzcyB0byByZWR1Y2UgZW52aXJvbm1lbnRhbCBpbXBhY3QgaW4gZXZlcnkgZGVjaXNpb24gYXJlIGFsbCBpdCB0YWtlcy48L3A+CjxoMz5BcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz88L2gzPgo8cD5UaGUgb3BlbiBiYXIgY2FuIGFsaWduIHdpdGggdGhlIGVjby1mcmllbmRseSBwaGlsb3NvcGh5IGJ5IGNob29zaW5nIG9yZ2FuaWMgd2luZXMsIGJlZXJzLCBhbmQgc3Bpcml0cyBvciBsb2NhbCBwcm9kdWNlcnMuIENvY2t0YWlscyBjYW4gYmUgc2VydmVkIHdpdGggZnJlc2ggc2Vhc29uYWwgZnJ1aXQsIGFuZCBzaW5nbGUtdXNlIHBhY2thZ2luZyBjYW4gYmUgcmVkdWNlZCB3aXRoIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIGN1cHMuIEZvciBkZXNzZXJ0cywgc3VzdGFpbmFibGUgb3B0aW9ucyBpbmNsdWRlIHZlZ2FuIGNha2VzLCBmcmVzaCBmcnVpdCwgY29uZmVjdGlvbmVyeSB3aXRoIHdob2xlIGluZ3JlZGllbnRzLCBhbmQgcGxhc3RpYy1mcmVlIHByZXNlbnRhdGlvbi48L3A+CjxwPkFkZHJlc3NpbmcgdGhlc2UgcXVlc3Rpb25zIGhlbHBzIHByZXBhcmUgZm9yIGFuIGF1dGhlbnRpYywgcmVzcG9uc2libGUgY2VsZWJyYXRpb24gdGFpbG9yZWQgdG8gZWFjaCBjb3VwbGUgYW5kIGd1ZXN0J3MgZXhwZWN0YXRpb25zLCBmYWNpbGl0YXRpbmcgYSB0cmFuc2l0aW9uIHRvd2FyZHMgaW5jcmVhc2luZ2x5IGNvbnNjaW91cyBhbmQgZW52aXJvbm1lbnRhbGx5IHJlc3BlY3RmdWwgZXZlbnRzLjwvcD53DWNvcmUvZnJlZWZvcm13lnw8aDE+RWNvLUZyaWVuZGx5IFdlZGRpbmcgQ2F0ZXJpbmc6IENob29zZSBTdXN0YWluYWJsZSBPcHRpb25zIGluIEJhcmNlbG9uYSBhbmQgQ2F0YWxvbmlhPC9oMT4KPHA+TW9yZSBhbmQgbW9yZSBjb3VwbGVzIGFyZSBzZWVraW5nIHRvIGNlbGVicmF0ZSB0aGVpciB3ZWRkaW5nIHdoaWxlIGNhcmluZyBmb3IgdGhlIGVudmlyb25tZW50LiBFY28tZnJpZW5kbHkgY2F0ZXJpbmcgZm9jdXNlcyBvbiBsb2NhbGx5IHNvdXJjZWQgaW5ncmVkaWVudHMsIHN1c3RhaW5hYmxlIG1lbnVzLCBhbmQgb3B0aW9ucyB0YWlsb3JlZCB0byB2YXJpb3VzIG5lZWRzLiBMZWFybiBob3cgdG8gb2ZmZXIgYSByZXNwb25zaWJsZSBleHBlcmllbmNlIHdpdGhvdXQgc2FjcmlmaWNpbmcgZmxhdm9yIG9yIHF1YWxpdHkgb24geW91ciBiaWcgZGF5LjwvcD4KPGgyPkludHJvZHVjdGlvbiB0byBFY28tRnJpZW5kbHkgV2VkZGluZyBDYXRlcmluZzwvaDI+CjxwPjxzdHJvbmc+RWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYSBwcm9wb3NhbCB0aGF0IGVtcGhhc2l6ZXMgc3VzdGFpbmFiaWxpdHkgYXQgZXZlcnkgc3RhZ2Ugb2YgdGhlIHNlcnZpY2U6IGZyb20gc2VsZWN0aW5nIGluZ3JlZGllbnRzIHRvIHdhc3RlIG1hbmFnZW1lbnQuIFRoaXMgYXBwcm9hY2ggYWltcyB0byBtaW5pbWl6ZSBlbnZpcm9ubWVudGFsIGltcGFjdCwgcHJvbW90ZSByZXNwb25zaWJsZSBjb25zdW1wdGlvbiwgYW5kIGVuY291cmFnZSBoZWFsdGh5IGFuZCBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkgYWx0ZXJuYXRpdmVzLjwvcD4KPGgzPldoYXQgU2V0cyBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgQXBhcnQ\/PC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5Vc2Ugb2YgTG9jYWwgYW5kIFNlYXNvbmFsIEluZ3JlZGllbnRzPC9zdHJvbmc+OiBQcmlvcml0aXplcyBmcmVzaCBwcm9kdWN0cywgZ3Jvd24gbmVhciB0aGUgZXZlbnQgbG9jYXRpb24gYW5kIGluIHRoZWlyIHByaW1lLiBUaGlzIHJlZHVjZXMgdHJhbnNwb3J0YXRpb24gYW5kIGFzc29jaWF0ZWQgY2FyYm9uIGZvb3RwcmludCwgd2hpbGUgZW5zdXJpbmcgdGFzdGUgYW5kIGZyZXNobmVzcy48L2xpPgo8bGk+PHN0cm9uZz5PcmdhbmljIFJhdyBNYXRlcmlhbHM8L3N0cm9uZz46IFRoZSBmb29kcyB1c2VkIGNvbWUgZnJvbSBmYXJtcyBhbmQgcGxhbnRhdGlvbnMgdGhhdCBmb2xsb3cgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IHByYWN0aWNlcywgYXZvaWRpbmcgcGVzdGljaWRlcyBhbmQgc3ludGhldGljIGNoZW1pY2Fscy48L2xpPgo8bGk+PHN0cm9uZz5TdXN0YWluYWJsZSBQYWNrYWdpbmcgYW5kIFRhYmxld2FyZTwvc3Ryb25nPjogVGhlIHVzZSBvZiBjb21wb3N0YWJsZSwgYmlvZGVncmFkYWJsZSwgb3IgcmV1c2FibGUgbWF0ZXJpYWxzLCBzdWNoIGFzIEdyZWVudXNvJ3MgZWNvLWZyaWVuZGx5IHRhYmxld2FyZSwgaXMgZXNzZW50aWFsIHRvIHJlZHVjZSBwbGFzdGljcyBhbmQgb3RoZXIgd2FzdGUuPC9saT4KPC91bD4KPGgzPkRpZmZlcmVuY2VzIGZyb20gVHJhZGl0aW9uYWwgQ2F0ZXJpbmc8L2gzPgo8dWw+CjxsaT48c3Ryb25nPkZvY3VzIG9uIFN1c3RhaW5hYmlsaXR5PC9zdHJvbmc+OiBVbmxpa2UgdGhlIGNvbnZlbnRpb25hbCBtb2RlbCwgZWNvLWZyaWVuZGx5IGNhdGVyaW5nIGF2b2lkcyBpbmR1c3RyaWFsaXplZCBwcm9kdWN0cyBhbmQgZXhjZXNzaXZlIG1lYXQgY29uc3VtcHRpb24sIG9wdGluZyBmb3IgZGlzaGVzIHRoYXQgaGlnaGxpZ2h0IHZlZ2V0YWJsZXMsIGxlZ3VtZXMsIGFuZCB3aG9sZSBncmFpbnMuPC9saT4KPGxpPjxzdHJvbmc+RXRoaWNhbCBhbmQgU29jaWFsIENvbW1pdG1lbnQ8L3N0cm9uZz46IEVzdGFibGlzaGVzIGEgY2xvc2VyIHJlbGF0aW9uc2hpcCB3aXRoIHNtYWxsIHByb2R1Y2VycyBhbmQgbG9jYWwgY29vcGVyYXRpdmVzLCBlbnN1cmluZyBmYWlyIHRyYWRlIGNvbmRpdGlvbnMgYW5kIGNvbnRyaWJ1dGluZyB0byB0aGUgbG9jYWwgZWNvbm9teS48L2xpPgo8bGk+PHN0cm9uZz5Db25zY2lvdXMgUmVzb3VyY2UgYW5kIFdhc3RlIE1hbmFnZW1lbnQ8L3N0cm9uZz46IFVubGlrZSB0cmFkaXRpb25hbCBjZWxlYnJhdGlvbnMsIHRoZSBxdWFudGl0eSBvZiBmb29kIGlzIGNhcmVmdWxseSBwbGFubmVkIGhlcmUgdG8gbGltaXQgZXhjZXNzLCB1c2luZyByZWN5Y2xpbmcgc3lzdGVtcyBvciBjb21wb3N0aW5nIGxlZnRvdmVycy48L2xpPgo8L3VsPgo8aDM+V2h5IENob29zZSBTdXN0YWluYWJsZSBPcHRpb25zIGZvciBZb3VyIFdlZGRpbmc8L2gzPgo8cD5PcHRpbmcgZm9yIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgbW9yZSB0aGFuIGp1c3QgZm9sbG93aW5nIHRyZW5kcy4gSXQgbWVhbnMgYWxpZ25pbmcgeW91ciBjZWxlYnJhdGlvbiB3aXRoIHJlc3BvbnNpYmxlIHZhbHVlcyBhbmQgY3JlYXRpbmcgYSBwb3NpdGl2ZSBpbXBhY3QuIEVjby1mcmllbmRseSBtZW51cyBjYXJlIGZvciB0aGUgaGVhbHRoIG9mIHlvdXIgZ3Vlc3RzLCBhdm9pZCB1bHRyYS1wcm9jZXNzZWQgZm9vZHMsIGFuZCByZWR1Y2UgYWxsZXJnZW5zLiBNb3Jlb3ZlciwgdGhleSBlbmhhbmNlIG9yaWdpbmFsaXR5IGFuZCBwZXJzb25hbGl6YXRpb24gb2YgdGhlIGV4cGVyaWVuY2UgYnkgaW50ZWdyYXRpbmcgcHJvcG9zYWxzIHRhaWxvcmVkIHRvIGRpZmZlcmVudCBkaWV0cyBhbmQgbmVlZHMuPC9wPgo8cD5DZWxlYnJhdGluZyBhIHN1c3RhaW5hYmxlIHdlZGRpbmcgY29udmV5cyBjb21taXRtZW50IHRvIHRoZSBwbGFuZXQsIGVudmlyb25tZW50YWwgc2Vuc2l0aXZpdHksIGFuZCBzb2NpYWwgYXdhcmVuZXNzLCBsZWF2aW5nIGEgbWVtb3J5IHRoYXQgZ29lcyBiZXlvbmQgdGhlIGV2ZW50IGl0c2VsZi48L3A+CjxoMj5CZW5lZml0cyBvZiBTdXN0YWluYWJsZSBDYXRlcmluZzwvaDI+CjxwPjxzdHJvbmc+RWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gb2ZmZXJzIGNsZWFyIGFkdmFudGFnZXMgZm9yIHRoZSBjb3VwbGUsIHRoZWlyIGd1ZXN0cywgYW5kIHRoZSBlbnZpcm9ubWVudC48L3A+CjxoMz5SZWR1Y3Rpb24gb2YgRW52aXJvbm1lbnRhbCBJbXBhY3Q8L2gzPgo8cD5DaG9vc2luZyBzdXN0YWluYWJsZSBjYXRlcmluZyBtZWFucyByZWR1Y2luZyB0aGUgZXZlbnQncyBlY29sb2dpY2FsIGZvb3RwcmludC4gVGhpcyBpcyBhY2hpZXZlZCBieSB1c2luZyBsb2NhbCBwcm9kdWN0cyB0aGF0IG1pbmltaXplIHRyYW5zcG9ydGF0aW9uIGFuZCBhc3NvY2lhdGVkIGVtaXNzaW9ucy4gVGhlIHVzZSBvZiBvcmdhbmljIGFuZCBzZWFzb25hbCBpbmdyZWRpZW50cyBkZWNyZWFzZXMgcmVzb3VyY2UgY29uc3VtcHRpb24gYW5kIGNoZW1pY2FsIHVzZSBpbiBhZ3JpY3VsdHVyZS4gRnVydGhlcm1vcmUsIGVmZmljaWVudCB3YXN0ZSBtYW5hZ2VtZW50LCByZWN5Y2xpbmcsIGFuZCB0aGUgY2hvaWNlIG9mIGNvbXBvc3RhYmxlIHRhYmxld2FyZeKAlHN1Y2ggYXMgdGhhdCBwcm9wb3NlZCBieSBHcmVlbnVzb+KAlGNvbnRyaWJ1dGUgdG8gYSBjZWxlYnJhdGlvbiB3aXRoIGxlc3Mgd2FzdGUgYW5kIGxvd2VyIHBsYXN0aWMgcHJvZHVjdGlvbi48L3A+CjxoMz5TdXBwb3J0aW5nIExvY2FsIFByb2R1Y2VycyBhbmQgRWNvbm9taWMgQm9vc3Q8L2gzPgo8cD5CeSB3b3JraW5nIHdpdGggbG9jYWwgc3VwcGxpZXJzIGFuZCBzZWxlY3RpbmcgZm9vZHMgZnJvbSBzaG9ydCBzdXBwbHkgY2hhaW5zLCBlY28tZnJpZW5kbHkgY2F0ZXJpbmcgc3VwcG9ydHMgdGhlIGxvY2FsIGVjb25vbXkgYW5kIGNvbnRyaWJ1dGVzIHRvIHN1c3RhaW5hYmxlIGpvYiBjcmVhdGlvbi4gVGhpcyBkaXJlY3QgY29ubmVjdGlvbiB3aXRoIGZhcm1lcnMgYW5kIHNtYWxsIGJ1c2luZXNzZXMgcHJvbW90ZXMgYSBtb3JlIGV0aGljYWwgc3VwcGx5IGNoYWluLCBzdHJlbmd0aGVucyB0aGUgY29tbXVuaXR5LCBhbmQgZW5jb3VyYWdlcyB0aGUgZGV2ZWxvcG1lbnQgb2Ygb3JnYW5pYyBhZ3JpY3VsdHVyZSBhbmQgZmFpciB0cmFkZSBpbiB0aGUgcmVnaW9uLjwvcD4KPGgzPkhlYWx0aCBhbmQgV2VsbC1iZWluZyBCZW5lZml0cyBmb3IgR3Vlc3RzPC9oMz4KPHA+RnJlc2ggYW5kIG9yZ2FuaWMgZm9vZHMgY29udGFpbiBmZXdlciBhZGRpdGl2ZXMgYW5kIHByZXNlcnZhdGl2ZXMsIHdoaWNoIHByb21vdGVzIGEgbW9yZSBiYWxhbmNlZCBhbmQgaGlnaGVyIHF1YWxpdHkgZGlldC4gTWVudXMgdHlwaWNhbGx5IGluY2x1ZGUgYSBncmVhdGVyIHZhcmlldHkgb2YgZnJ1aXRzLCB2ZWdldGFibGVzLCBsZWd1bWVzLCBhbmQgd2hvbGUgZ3JhaW5zLCBpbmdyZWRpZW50cyBhc3NvY2lhdGVkIHdpdGggYmV0dGVyIG51dHJpdGlvbiBhbmQgZGlnZXN0aW9uIGR1cmluZyB0aGUgZXZlbnQuIFJlc3BlY3RpbmcgYWxsZXJnaWVzIGFuZCBzcGVjaWZpYyBuZWVkcyByZWR1Y2VzIHJpc2tzIGFuZCBpbXByb3ZlcyBldmVyeW9uZSdzIGV4cGVyaWVuY2UuPC9wPgo8aDM+UGVyc29uYWxpemF0aW9uIGZvciBhIENvbnNjaW91cyBFeHBlcmllbmNlPC9oMz4KPHA+PHN0cm9uZz5TdXN0YWluYWJsZSBjYXRlcmluZzwvc3Ryb25nPiBvZmZlcnMgd2lkZSBvcHRpb25zIHRvIHRhaWxvciB0aGUgcHJvcG9zYWwgdG8gdGhlIGd1ZXN0cycgcHJvZmlsZSwgY29uc2lkZXJpbmcgdGFzdGVzLCBoYWJpdHMsIGFuZCB2YWx1ZXMuIEl0IGFsbG93cyBmb3IgdmVnZXRhcmlhbiwgdmVnYW4sIG9yIGFsbGVyZ2VuLWZyZWUgbWVudXMsIGFkZGluZyB1bmlxdWUgZGV0YWlscyBsaWtlIGVjb2xvZ2ljYWwgc2hvd2Nvb2tpbmcgc3RhdGlvbnMgb3IgaW5jb3Jwb3JhdGluZyB0aGVtYXRpYyBlbGVtZW50cyBjb25zaXN0ZW50IHdpdGggdGhlIGV2ZW50J3Mgc3VzdGFpbmFiaWxpdHkuIFRoaXMgY3VzdG9taXphdGlvbiBlbmhhbmNlcyB0aGUgd2VkZGluZydzIGlkZW50aXR5IGFuZCByZWluZm9yY2VzIHRoZSBlbnZpcm9ubWVudGFsIHJlc3BlY3QgYW5kIGNvbW1pdG1lbnQgdGhlIGNvdXBsZSB3aXNoZXMgdG8gY29udmV5LjwvcD4KPHA+T3ZlcmFsbCwgZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgdHJhbnNmb3JtcyB0aGUgY2VsZWJyYXRpb24gaW50byBhIG1vcmUgcmVzcG9uc2libGUsIGF1dGhlbnRpYyBleHBlcmllbmNlIGFsaWduZWQgd2l0aCBuZXcgc29jaWFsIGFuZCBlbnZpcm9ubWVudGFsIGRlbWFuZHMuPC9wPgo8aDI+UHJvcG9zYWxzIGZvciBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51czwvaDI+CjxwPkNyZWF0aW5nIGEgPHN0cm9uZz5lY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiBtZW51IHJlcXVpcmVzIGNyZWF0aXZpdHksIHNlYXNvbmFsIGNvaGVyZW5jZSwgYW5kIHNlbnNpdGl2aXR5IHRvIHRoZSB2YXJpb3VzIG5lZWRzIG9mIHRoZSBndWVzdHMuPC9wPgo8aDM+U3VzdGFpbmFibGUgU3RhcnRlcnMsIE1haW4gQ291cnNlcywgYW5kIERlc3NlcnRzPC9oMz4KPHA+PHN0cm9uZz5FbnZpcm9ubWVudGFsbHkgRnJpZW5kbHkgU3RhcnRlcnM8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPlNhbGFkIG9mIG9yZ2FuaWMgdG9tYXRvZXMgd2l0aCBzcHJvdXRzLCBlZGlibGUgZmxvd2VycywgYW5kIGxvY2FsIGV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwuPC9saT4KPGxpPk9yZ2FuaWMgY2hpY2twZWEgaHVtbXVzIHdpdGggY3J1ZGl0w6lzIG9mIGxvY2FsIHZlZ2V0YWJsZXMuPC9saT4KPGxpPlNlYXNvbmFsIGdhenBhY2hvIHNlcnZlZCBpbiBjb21wb3N0YWJsZSBjdXBzLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+UmVzcG9uc2libGUgTWFpbiBDb3Vyc2VzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5Ccm93biByaWNlIHdpdGggb3JnYW5pYyBtdXNocm9vbXMsIGFzcGFyYWd1cywgYW5kIHRydWZmbGUgb2lsLCBzdWl0YWJsZSBmb3IgdmVnYW5zIGFuZCBnbHV0ZW4gaW50b2xlcmFudCBpbmRpdmlkdWFscy48L2xpPgo8bGk+VmVnZXRhYmxlIGxhc2FnbmEgd2l0aCBzZWFzb25hbCBzcXVhc2ggYW5kIHNwaW5hY2gsIHNveSBiw6ljaGFtZWwsIGFuZCB2ZWdhbiBjaGVlc2UuPC9saT4KPGxpPkhvbWVtYWRlIGZhbGFmZWwgYWNjb21wYW5pZWQgYnkgZnJlc2ggdGFiYm91bGVoIGFuZCBjYXNoZXcgeW9ndXJ0IHNhdWNlLjwvbGk+CjwvdWw+CjxwPjxzdHJvbmc+RWNvLUZyaWVuZGx5IERlc3NlcnRzPC9zdHJvbmc+PC9wPgo8dWw+CjxsaT5MaWdodCBjaG9jb2xhdGUgbW91c3NlIHdpdGggYXZvY2FkbyBhbmQgb3JhbmdlLCBzd2VldGVuZWQgd2l0aCBhZ2F2ZSBzeXJ1cC48L2xpPgo8bGk+RnJlc2ggc2Vhc29uYWwgZnJ1aXQgc2FsYWQuPC9saT4KPGxpPlZlZ2FuIHdhbG51dCBicm93bmllcyBtYWRlIHdpdGggd2hvbGUgd2hlYXQgZmxvdXIgYW5kIG5vIHJlZmluZWQgc3VnYXJzLjwvbGk+CjwvdWw+CjxoMz5UaGUgVmFsdWUgb2YgU2Vhc29uYWxpdHkgaW4gSW5ncmVkaWVudCBTZWxlY3Rpb248L2gzPgo8cD5DaG9vc2luZyBzZWFzb25hbCBpbmdyZWRpZW50cyBlbnN1cmVzIHRoYXQgcHJvZHVjdHMgYXJlIGZyZXNoZXIsIHRhc3RpZXIsIGFuZCBtb3JlIHN1c3RhaW5hYmxlLiBJbiBzcHJpbmcgYW5kIHN1bW1lciwgZnJ1aXRzIGFuZCB2ZWdldGFibGVzIGxpa2Ugc3RyYXdiZXJyaWVzLCBjaGVycmllcywgY3VjdW1iZXJzLCB0b21hdG9lcywgb3IgenVjY2hpbmkgc3RhbmQgb3V0OyBpbiBhdXR1bW4gYW5kIHdpbnRlciwgc3F1YXNoLCBlZ2dwbGFudHMsIG11c2hyb29tcywgYW5kIGNpdHJ1cyBvZmZlciBjb2xvciBhbmQgZmxhdm9yLiBVc2luZyBwcm9kdWN0cyBmcm9tIGVhY2ggc2Vhc29uIG5vdCBvbmx5IG1haW50YWlucyBlY29sb2dpY2FsIGNvbnNpc3RlbmN5IGJ1dCBhbHNvIGVuaGFuY2VzIHRoZSBtZW51J3MgcXVhbGl0eS48L3A+CjxoMz5BbHRlcm5hdGl2ZXMgZm9yIERpZXRhcnkgUmVzdHJpY3Rpb25zPC9oMz4KPHA+PHN0cm9uZz5FY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiBhZGFwdHMgdG8gYWxsIHNvcnRzIG9mIGRpZXRhcnkgcHJlZmVyZW5jZXMgYW5kIHNwZWNpYWwgbmVlZHM6PC9wPgo8dWw+CjxsaT5WZWdldGFyaWFuIGFuZCB2ZWdhbiBwcm9wb3NhbHMgYmFzZWQgb24gbGVndW1lcywgcm9hc3RlZCB2ZWdldGFibGVzLCBhbmQgcGxhbnQtYmFzZWQgY3JlYW1zIGFuZCBzcHJlYWRzLjwvbGk+CjxsaT5HbHV0ZW4tZnJlZSBkaXNoZXMgd2l0aCBhbHRlcm5hdGl2ZSBncmFpbnMgbGlrZSBxdWlub2EsIGJyb3duIHJpY2UsIG9yIG1pbGxldC48L2xpPgo8bGk+RGVzc2VydCBvcHRpb25zIHdpdGhvdXQgbGFjdG9zZSBvciBhZGRlZCBzdWdhcnMsIHVzaW5nIG51dHMgYW5kIG5hdHVyYWwgZnJ1aXQuPC9saT4KPGxpPkluY2x1c2lvbiBvZiBtZW51cyB3aXRob3V0IGNvbW1vbiBhbGxlcmdlbnMsIGRlc2lnbmVkIGZvciBjZWxpYWNzLCBkaWFiZXRpY3MsIGFuZCBwZW9wbGUgd2l0aCBpbnRvbGVyYW5jZXMuPC9saT4KPC91bD4KPGgzPlNwZWNpZmljIEV4YW1wbGUgb2YgYW4gQWRhcHRlZCBFY28tRnJpZW5kbHkgTWVudTwvaDM+Cjx1bD4KPGxpPlN0YXJ0ZXI6IEJlZXQgdGFydGFyZSB3aXRoIGdyZWVuIGFwcGxlIGFuZCBhdm9jYWRvLCBzZWVkcywgYW5kIGEgY2l0cnVzIHZpbmFpZ3JldHRlLjwvbGk+CjxsaT5NYWluIENvdXJzZTogTWlsZCBjdXJyeSBvZiBzcXVhc2gsIG9yZ2FuaWMgY2hpY2twZWFzLCBhbmQgc3BpbmFjaCBvdmVyIGJyb3duIHJpY2UsIHN1aXRhYmxlIGZvciB2ZWdhbnMgYW5kIGdsdXRlbi1mcmVlLjwvbGk+CjxsaT5EZXNzZXJ0OiBIb21lbWFkZSBsZW1vbiBzb3JiZXQgd2l0aCBtaW50IGFuZCBvYXRtZWFsIGNvb2tpZSwgbGFjdG9zZS1mcmVlIGFuZCBlZ2ctZnJlZS48L2xpPgo8L3VsPgo8cD5JbiBhbGwgY2FzZXMsIHByZXNlbnRhdGlvbiBvbiBjb21wb3N0YWJsZSB0YWJsZXdhcmUgYW5kIHdhc3RlIHJlZHVjdGlvbiBjb250cmlidXRlIHRvIHJlaW5mb3JjaW5nIHRoZSBwaGlsb3NvcGh5IG9mIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIGFuZCBvZmZlciBhIG1lbW9yYWJsZSwgdmFyaWVkLCBhbmQgZW52aXJvbm1lbnRhbGx5IHJlc3BvbnNpYmxlIGV4cGVyaWVuY2UuPC9wPgo8aDI+T3JnYW5pemluZyBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgaW4gQmFyY2Vsb25hIGFuZCBDYXRhbG9uaWE8L2gyPgo8cD5QbGFubmluZyBhIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gc2VydmljZSBpbiBCYXJjZWxvbmEgYW5kIENhdGFsb25pYSByZXF1aXJlcyBrbm93aW5nIGxvY2FsIG9wdGlvbnMsIGFuYWx5emluZyBzdXN0YWluYWJsZSBjcml0ZXJpYSwgYW5kIGNvbXBhcmluZyBwcm9wb3NhbHMgdG8gbWFrZSB0aGUgYmVzdCBkZWNpc2lvbi48L3A+CjxoMz5Mb2NhbCBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgUHJvdmlkZXJzPC9oMz4KPHA+SW4gdGhlIHJlZ2lvbiwgdGhlcmUgYXJlIGNvbXBhbmllcyBwcmlvcml0aXppbmcgbG9jYWwgaW5ncmVkaWVudHMsIGhlYWx0aHkgbWVudXMsIGFuZCByZXNwb25zaWJsZSB3YXN0ZSBtYW5hZ2VtZW50LiBNYW55IGluY2x1ZGUgdmVnZXRhcmlhbiwgdmVnYW4sIGFuZCBnbHV0ZW4tZnJlZSBvcHRpb25zIGFuZCBhcmUgY29tbWl0dGVkIHRvIHJlZHVjaW5nIHBsYXN0aWNzIGJ5IHVzaW5nIGJpb2RlZ3JhZGFibGUgYW5kIGNvbXBvc3RhYmxlIHRhYmxld2FyZSBsaWtlIEdyZWVudXNvJ3MuIFRoZXNlIHByb3ZpZGVycyBvZnRlbiBjb2xsYWJvcmF0ZSB3aXRoIHNtYWxsIHByb2R1Y2Vycywgc3RyZW5ndGhlbmluZyB0aGUgbG9jYWwgYW5kIHN1c3RhaW5hYmxlIGNvbW1pdG1lbnQuPC9wPgo8aDM+U3RyYXRlZ2ljIFRpcHMgZm9yIENob29zaW5nIENhdGVyaW5nPC9oMz4KPHVsPgo8bGk+PHN0cm9uZz5EZWZpbmUgWW91ciBQcmlvcml0aWVzPC9zdHJvbmc+OiBTZWxlY3QgdGhlIHR5cGUgb2YgbWVudSAodmVnYW4sIHZlZ2V0YXJpYW4sIGdsdXRlbi1mcmVlKSBhbmQgZXZhbHVhdGUgaWYgdHJhZGl0aW9uYWwgb3B0aW9ucyBuZWVkIHRvIGJlIGluY2x1ZGVkLjwvbGk+CjxsaT48c3Ryb25nPkVuc3VyZSBQcm9kdWN0IE9yaWdpbnM8L3N0cm9uZz46IFJlcXVlc3QgaW5mb3JtYXRpb24gYWJvdXQgZm9vZCBzdXBwbGllcnMgYW5kIHRoZSBvcmlnaW4gb2YgZnJlc2ggaW5ncmVkaWVudHMuPC9saT4KPGxpPjxzdHJvbmc+UmV2aWV3IFN1c3RhaW5hYmxlIENvbW1pdG1lbnRzPC9zdHJvbmc+OiBJbnF1aXJlIGFib3V0IHdhc3RlIG1hbmFnZW1lbnQsIG1hdGVyaWFsIHJldXNlLCBhbmQgdGhlIHVzZSBvZiBlY28tZnJpZW5kbHkgcGFja2FnaW5nLjwvbGk+CjxsaT48c3Ryb25nPlJlcXVlc3QgVGFzdGluZ3MgYW5kIEN1c3RvbWl6ZWQgTWVudXM8L3N0cm9uZz46IFRoaXMgaXMgdGhlIGJlc3Qgd2F5IHRvIGFzc2VzcyB0aGUgcXVhbGl0eSwgY3JlYXRpdml0eSwgYW5kIGFkYXB0YWJpbGl0eSBvZiB0aGUgc2VydmljZS48L2xpPgo8bGk+PHN0cm9uZz5FbnN1cmUgTG9naXN0aWNzPC9zdHJvbmc+OiBDaGVjayBob3cgZGlzaCB0cmFuc3BvcnRhdGlvbiBpcyBjb25kdWN0ZWQsIHdoZXRoZXIgdGhleSB1c2UgZWxlY3RyaWMgdmVoaWNsZXMsIG9yIG1pbmltaXplIHRoZSBpbXBhY3Qgb2YgdGhlIHRyaXAgdG8gdGhlIGV2ZW50LjwvbGk+CjwvdWw+CjxoMz5Fc3NlbnRpYWwgUXVlc3Rpb25zIEJlZm9yZSBDbG9zaW5nIGEgRGVhbDwvaDM+Cjx1bD4KPGxpPkRvIHRoZXkgaW5jbHVkZSBtZW51cyBhZGFwdGVkIGZvciBhbGxlcmdpZXMsIGludG9sZXJhbmNlcywgYW5kIGRpZXRhcnkgcmVzdHJpY3Rpb25zPzwvbGk+CjxsaT5EbyB0aGV5IHdvcmsgd2l0aCBvbmx5IHNlYXNvbmFsIGFuZCBsb2NhbCBpbmdyZWRpZW50cz88L2xpPgo8bGk+RG8gdGhleSBvZmZlciBzb2x1dGlvbnMgZm9yIG1hbmFnaW5nIHdhc3RlIGFmdGVyIHRoZSBiYW5xdWV0PzwvbGk+CjxsaT5XaGF0IGFsdGVybmF0aXZlcyBkbyB0aGV5IHByb3ZpZGUgZm9yIHRhYmxld2FyZSwgY3V0bGVyeSwgYW5kIG5hcGtpbnM\/PC9saT4KPGxpPkRvIHRoZXkgaGF2ZSBleHBlcmllbmNlIGluIHNpbWlsYXIgZXZlbnRzIGFuZCByZWZlcmVuY2VzIGZyb20gb3RoZXIgc3VzdGFpbmFibGUgd2VkZGluZ3M\/PC9saT4KPC91bD4KPGgzPk5vdGFibGVzIGluIHRoZSBTdXN0YWluYWJsZSBTZWN0b3I8L2gzPgo8cD5JbiBDYXRhbG9uaWEgYW5kIEJhcmNlbG9uYSwgdGhlIHRyZW5kIG9mIGVjbyBjYXRlcmluZyBpcyBncm93aW5nLCByZWZsZWN0aW5nIGNvdXBsZXMnIGludGVyZXN0IGluIGEgbW9yZSByZXNwb25zaWJsZSBhbmQgaGVhbHRoaWVyIGFwcHJvYWNoLiBUaGUgbWFya2V0IG9mZmVycyBvcHRpb25zIHJhbmdpbmcgZnJvbSBzbWFsbCBnYXRoZXJpbmdzIHRvIGxhcmdlLXNjYWxlIGNlbGVicmF0aW9ucywgd2l0aCBpbm5vdmF0aXZlIG1lbnVzIGFuZCBhdHRlbnRpb24gdG8gbmV3IHN1c3RhaW5hYmlsaXR5IGRlbWFuZHMuIFV0aWxpemluZyBzZXJ2aWNlcyB0aGF0IGFkdm9jYXRlIGZvciB0aGUgY2lyY3VsYXIgZWNvbm9teSwgZnJlc2ggcHJvZHVjdCBzbmFja3MsIG9yIHRoYXQgbWFrZSB1c2Ugb2YgbG9jYWwgZmFybSBzdXJwbHVzIHJlaW5mb3JjZXMgYm90aCB0aGUgcXVhbGl0eSBhbmQgdGhlIGVjby1mcmllbmRseSBtZXNzYWdlIG9mIHRoZSB3ZWRkaW5nLjwvcD4KPHA+T3JnYW5pemluZyBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyBpbiBDYXRhbG9uaWEgaXMgcG9zc2libGUgdGhhbmtzIHRvIHRoZSB2YXJpZXR5IGFuZCBzcGVjaWFsaXphdGlvbiBvZiBwcm92aWRlcnMuIENob29zaW5nIHdpc2VseSBhbmQgaW4gYWR2YW5jZSBmYWNpbGl0YXRlcyBhIGNvaGVyZW50IGNlbGVicmF0aW9uLCBhbGlnbmVkIHdpdGggZW52aXJvbm1lbnRhbCB2YWx1ZXMgYW5kIHdpdGggdGhlIGJlc3QgYXR0ZW50aW9uIHRvIGd1ZXN0cy48L3A+CjxoMj5TdWdnZXN0aW9ucyBmb3IgYSBTdXN0YWluYWJsZSBhbmQgUmVzcG9uc2libGUgV2VkZGluZzwvaDI+CjxwPk1vdmluZyB0b3dhcmRzIDxzdHJvbmc+ZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmc8L3N0cm9uZz4gaXMgYW4gaW1wb3J0YW50IHN0ZXAsIGJ1dCB0aGVyZSBhcmUgb3RoZXIga2V5IGFjdGlvbnMgdG8gbWFrZSB0aGUgZXZlbnQgbW9yZSBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkuPC9wPgo8aDM+U3RyYXRlZ2llcyB0byBNaW5pbWl6ZSBXYXN0ZTwvaDM+Cjx1bD4KPGxpPkFkanVzdCB0aGUgYW1vdW50IG9mIGZvb2QgYWNjb3JkaW5nIHRvIHRoZSBudW1iZXIgb2YgZ3Vlc3RzIHRvIGF2b2lkIHdhc3RlLjwvbGk+CjxsaT5PcHQgZm9yIGEgc3VzdGFpbmFibGUgYnVmZmV0IGZvcm1hdCBvciB0aGVtZWQgc3RhdGlvbnMgdGhhdCBhbGxvdyBmb3IgZ3JlYXRlciBjb250cm9sIG92ZXIgcG9ydGlvbnMuPC9saT4KPGxpPlBsYW4gZm9yIHNlcGFyYXRlIGFuZCBzZWxlY3RpdmUgd2FzdGUgY29sbGVjdGlvbiBmcm9tIHRoZSBzdGFydCwgcHJvdmlkaW5nIGRpZmZlcmVudGlhdGVkIGNvbnRhaW5lcnMgYW5kIGNsZWFyIHNpZ25hZ2UuPC9saT4KPGxpPkRvbmF0ZSBmb29kIHN1cnBsdXMgdG8gbG9jYWwgYXNzb2NpYXRpb25zIG9yIHByb21vdGUgZGlzdHJpYnV0aW9uIGFtb25nIGF0dGVuZGVlcy48L2xpPgo8L3VsPgo8aDM+RWNvLUZyaWVuZGx5IGFuZCBSZXVzYWJsZSBEZWNvcmF0aW9uPC9oMz4KPHVsPgo8bGk+Q2hvb3NlIGRlY29yYXRpdmUgZWxlbWVudHMgbWFkZSBmcm9tIG5hdHVyYWwgbWF0ZXJpYWxzICh3b29kLCBmYWJyaWMsIHBsYW50IGZpYmVycykgdGhhdCBjYW4gYmUgcmV1c2VkIG9yIHJlY3ljbGVkLjwvbGk+CjxsaT5PcHQgZm9yIHNlYXNvbmFsIGZsb3dlcnMsIHBvdHRlZCBwbGFudHMsIGFuZCBkcmllZCBhcnJhbmdlbWVudHMgdGhhdCBjYW4gbGF0ZXIgYmUgZ2lmdGVkIG9yIGxlZnQgaW4gdGhlIGVudmlyb25tZW50LjwvbGk+CjxsaT5SZXBsYWNlIGJhbGxvb25zLCBwbGFzdGljIGNvbmZldHRpLCBhbmQgc2luZ2xlLXVzZSBkZWNvcmF0aW9ucyB3aXRoIGJpb2RlZ3JhZGFibGUgYWx0ZXJuYXRpdmVzIG9yIGFydGlzYW5hbCBkZXRhaWxzLjwvbGk+CjwvdWw+CjxoMz5Db21wb3N0YWJsZSBUYWJsZXdhcmUsIE5hcGtpbnMsIGFuZCBQYWNrYWdpbmc8L2gzPgo8cD5PcHQgZm9yIDxzdHJvbmc+Y29tcG9zdGFibGUgdGFibGV3YXJlLCBuYXR1cmFsIGZpYmVyIG5hcGtpbnMsIGFuZCBiaW9kZWdyYWRhYmxlIHBhY2thZ2luZzwvc3Ryb25nPi4gUHJvZHVjdHMgbGlrZSBHcmVlbnVzbydzIGVjby1mcmllbmRseSB0YWJsZXdhcmUgZW5zdXJlIHRoYXQgZWFjaCBndWVzdCdzIGltcGFjdCBpcyBtaW5pbWFsLCBhbmQgdGhhdCBhbGwgZGlubmVyd2FyZSBjYW4gYmUgY29tcG9zdGVkIGFmdGVyIHRoZSBldmVudC4gSWYgeW91IGRlc2lyZSBhIG1vcmUgZWxlZ2FudCB0b3VjaCwgY29tYmluZSByZXVzYWJsZSBwaWVjZXMgd2l0aCBlY28tZnJpZW5kbHkgYWx0ZXJuYXRpdmVzIGZvciBkcmlua3Mgb3IgZGVzc2VydHMuPC9wPgo8aDM+SW52b2x2ZSBHdWVzdHMgaW4gU3VzdGFpbmFiaWxpdHk8L2gzPgo8dWw+CjxsaT5JbmZvcm0gZ3Vlc3RzIGZyb20gdGhlIGludml0YXRpb25zIGFib3V0IHRoZSB3ZWRkaW5nJ3MgZWNvbG9naWNhbCBjb21taXRtZW50IGFuZCBlbmNvdXJhZ2UgdGhlbSB0byBhY3QgYWNjb3JkaW5nbHkgKGUuZy4sIGF2b2lkIHByaXZhdGUgY2FyIHVzZSBvciBicmluZyByZXVzYWJsZSBib3R0bGVzKS48L2xpPgo8bGk+UHJvcG9zZSBzbWFsbCBhY3Rpb25zIGR1cmluZyB0aGUgY2VsZWJyYXRpb246IHJlY3ljbGluZyBwb2ludHMsIGJvb2sgb3Igc2VlZCBleGNoYW5nZSBjb3JuZXIsIGNoYXJpdGFibGUgcmFmZmxlcywgb3Igc3VzdGFpbmFibGUgZ2lmdHMgbGlrZSBwbGFudHMgb3IgbG9jYWwgcHJvZHVjdHMuPC9saT4KPGxpPlJld2FyZCBnb29kIHByYWN0aWNlcyBhbmQgbWFrZSBlbnZpcm9ubWVudGFsIGNhcmUgcGFydCBvZiB0aGUgZXhwZXJpZW5jZSBhbmQgdGhlIGRheSdzIG1lbW9yeS48L2xpPgo8L3VsPgo8cD5CeSBpbnRlZ3JhdGluZyB0aGVzZSBzdWdnZXN0aW9ucywgYW4gZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgYmVjb21lcyBhIHJlc3BvbnNpYmxlIGFuZCBjb2hlcmVudCBldmVudCBpbiBlYWNoIG9mIGl0cyBkZXRhaWxzLCByZWZsZWN0aW5nIGEgZ2VudWluZSBjb21taXRtZW50IHRvIHRoZSBmdXR1cmUgYW5kIGdsb2JhbCB3ZWxsLWJlaW5nLjwvcD4KPGgyPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zIEFib3V0IEVjby1GcmllbmRseSBXZWRkaW5nIENhdGVyaW5nPC9oMj4KPHA+Q2hvb3NpbmcgPHN0cm9uZz5lY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZzwvc3Ryb25nPiByYWlzZXMgY29tbW9uIHF1ZXN0aW9ucyB0aGF0IHNob3VsZCBiZSBhZGRyZXNzZWQgdG8gZW5zdXJlIGEgc2F0aXNmeWluZyBhbmQgdmFsdWUtYWxpZ25lZCBleHBlcmllbmNlLjwvcD4KPGgzPldoYXQgRG9lcyBhbiBFY28tRnJpZW5kbHkgV2VkZGluZyBNZW51IEluY2x1ZGU\/PC9oMz4KPHA+QW4gZWNvLWZyaWVuZGx5IG1lbnUgaW5jbHVkZXMgc3RhcnRlcnMsIG1haW4gY291cnNlcywgYW5kIGRlc3NlcnRzIHByZXBhcmVkIHdpdGggbG9jYWwsIG9yZ2FuaWMsIGFuZCBzZWFzb25hbCBpbmdyZWRpZW50cy4gSXQgdXN1YWxseSBjb25zaWRlcnMgdmVnZXRhcmlhbiwgdmVnYW4sIGdsdXRlbi1mcmVlLCBhbmQgaW50b2xlcmFuY2UtYWRhcHRlZCBwcm9wb3NhbHMuIEFkZGl0aW9uYWxseSwgaXQgcHJpb3JpdGl6ZXMgcHJlc2VudGF0aW9uIG9uIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIHRhYmxld2FyZSwgbGlrZSBHcmVlbnVzbydzLCBhbmQgZWZmaWNpZW50IHdhc3RlIG1hbmFnZW1lbnQuPC9wPgo8aDM+Q2FuIEkgQ3VzdG9taXplIHRoZSBNZW51IEFjY29yZGluZyB0byBHdWVzdHMnIFByZWZlcmVuY2VzPzwvaDM+CjxwPlBlcnNvbmFsaXphdGlvbiBpcyBvbmUgb2YgdGhlIG1haW4gYWR2YW50YWdlcy4gTWVudXMgY2FuIGJlIGFkYXB0ZWQgdG8gdGFzdGVzLCByZXN0cmljdGlvbnMsIGFuZCBjdWx0dXJhbCBvciBldGhpY2FsIHByZWZlcmVuY2VzLiBJdCBpcyBwb3NzaWJsZSB0byByZXF1ZXN0IGRpc2hlcyBmb3IgcGVvcGxlIHdpdGggYWxsZXJnaWVzLCBpbnRvbGVyYW5jZXMsIG9yIHNwZWNpYWwgZGlldHMsIGRlc2lnbiBlbnRpcmVseSB2ZWdhbiBvcHRpb25zLCBvciBpbmNsdWRlIGEgc2VsZWN0aW9uIG9mIGxvY2FsIHByb2R1Y3RzIHRoYXQgcmVmbGVjdCB0aGUgYXJlYSdzIGlkZW50aXR5LjwvcD4KPGgzPldoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/PC9oMz4KPHA+VGhlIHByaWNlIHBlciBwZXJzb24gdmFyaWVzIGJhc2VkIG9uIG1lbnUgdHlwZSwgdGhlIG51bWJlciBvZiBkaXNoZXMsIHNlbGVjdGVkIGluZ3JlZGllbnRzLCBhbmQgYWRkaXRpb25hbCBzZXJ2aWNlcyAoc2hvd2Nvb2tpbmcsIHRoZW1lZCBzdGF0aW9ucywgcGVyc29uYWxpemVkIHBhc3RyaWVzKS4gT24gYXZlcmFnZSwgaXQgZmFsbHMgd2l0aGluIGEgcmFuZ2Ugc2ltaWxhciB0byBjb252ZW50aW9uYWwgY2F0ZXJpbmcsIGFsdGhvdWdoIGhpZ2gtcXVhbGl0eSBvcmdhbmljIHByb2R1Y3RzIG1heSBzb21ldGltZXMgc2xpZ2h0bHkgcmFpc2UgdGhlIGNvc3QuIEl0J3MgaW1wb3J0YW50IHRvIHJlcXVlc3QgZGV0YWlsZWQgcXVvdGVzIGFuZCBjb21wYXJlIG9wdGlvbnMgYmFzZWQgb24gdGhlaXIgc3VzdGFpbmFiaWxpdHkgY29tbWl0bWVudHMgYW5kIHRyYW5zcGFyZW5jeSBpbiBzdXBwbGllciBzZWxlY3Rpb24uPC9wPgo8aDM+SXMgSXQgUG9zc2libGUgdG8gT3JnYW5pemUgYSBDb21wbGV0ZWx5IEVjby1GcmllbmRseSBXZWRkaW5nPzwvaDM+CjxwPlllcywgdGhlcmUgYXJlIGN1cnJlbnRseSByZXNvdXJjZXMgYW5kIHByb3ZpZGVycyB0aGF0IGFsbG93IGZvciBwbGFubmluZyBhIHN1c3RhaW5hYmxlIHdlZGRpbmcgaW4gYWxsIGFzcGVjdHMuIEZyb20gZWNvLWZyaWVuZGx5IHdlZGRpbmcgY2F0ZXJpbmcgdG8gcmV1c2FibGUgZGVjb3JhdGlvbiwgZGlnaXRhbCBpbnZpdGF0aW9ucywgc2hhcmVkIHRyYW5zcG9ydGF0aW9uLCBhbmQgZWNvLWZyaWVuZGx5IGdpZnRzIGZvciBndWVzdHMuIEdvb2Qgb3JnYW5pemF0aW9uLCBjbGVhciBjb21tdW5pY2F0aW9uIHdpdGggcHJvdmlkZXJzLCBhbmQgYSB3aWxsaW5nbmVzcyB0byByZWR1Y2UgZW52aXJvbm1lbnRhbCBpbXBhY3QgaW4gZXZlcnkgZGVjaXNpb24gYXJlIGFsbCBpdCB0YWtlcy48L3A+CjxoMz5BcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz88L2gzPgo8cD5UaGUgb3BlbiBiYXIgY2FuIGFsaWduIHdpdGggdGhlIGVjby1mcmllbmRseSBwaGlsb3NvcGh5IGJ5IGNob29zaW5nIG9yZ2FuaWMgd2luZXMsIGJlZXJzLCBhbmQgc3Bpcml0cyBvciBsb2NhbCBwcm9kdWNlcnMuIENvY2t0YWlscyBjYW4gYmUgc2VydmVkIHdpdGggZnJlc2ggc2Vhc29uYWwgZnJ1aXQsIGFuZCBzaW5nbGUtdXNlIHBhY2thZ2luZyBjYW4gYmUgcmVkdWNlZCB3aXRoIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIGN1cHMuIEZvciBkZXNzZXJ0cywgc3VzdGFpbmFibGUgb3B0aW9ucyBpbmNsdWRlIHZlZ2FuIGNha2VzLCBmcmVzaCBmcnVpdCwgY29uZmVjdGlvbmVyeSB3aXRoIHdob2xlIGluZ3JlZGllbnRzLCBhbmQgcGxhc3RpYy1mcmVlIHByZXNlbnRhdGlvbi48L3A+CjxwPkFkZHJlc3NpbmcgdGhlc2UgcXVlc3Rpb25zIGhlbHBzIHByZXBhcmUgZm9yIGFuIGF1dGhlbnRpYywgcmVzcG9uc2libGUgY2VsZWJyYXRpb24gdGFpbG9yZWQgdG8gZWFjaCBjb3VwbGUgYW5kIGd1ZXN0J3MgZXhwZWN0YXRpb25zLCBmYWNpbGl0YXRpbmcgYSB0cmFuc2l0aW9uIHRvd2FyZHMgaW5jcmVhc2luZ2x5IGNvbnNjaW91cyBhbmQgZW52aXJvbm1lbnRhbGx5IHJlc3BlY3RmdWwgZXZlbnRzLjwvcD53A3NldHcTMjAyNi0wNC0xNFQxNjo0NzowN3tCedjHXcvwAH2fwZm4DXckODhlZGIyNzAtMTU5Zi00MjVhLTk5MzgtYmJkMzczZjFiYThidwxjb3JlL2hlYWRpbmd9AXckYzdmMzM0YjEtMGY4NC00OTU2LWExYzYtMmJiNjQ2MWJhYzcxeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGRkYzllYTFlLTMzMjgtNDRhMy1hNTdkLWQ2NTc1NzBkYmY0MHh3DGNvcmUvaGVhZGluZ30CdyQ0Y2I1Y2YzMi1lYzRkLTRiNzktOGM1My0zMTgzNjM2YWE4MzF4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckOGQ0MDU1ZWEtZmEwNS00NzcwLTg2YjItZTA4MWUwYzJkZGI3eHcMY29yZS9oZWFkaW5nfQN3JDlkNTk5YzViLWMyZjctNGZmZi04YTc0LWY1M2ZmMjk0ZTE1Y3h3CWNvcmUvbGlzdHl3AHckMGJmZjkxMjYtZmRhYy00ODE2LTlkNDQtZTc1NmViOGMwYzcxeHcOY29yZS9saXN0LWl0ZW13JDA2N2I0Mzk1LWIwM2QtNDk5MC1iODQ1LTgzOWNjYmVmNjNkOHh3DmNvcmUvbGlzdC1pdGVtdyQ5MjFhOTU3ZC1mM2M2LTQ2MWUtYjE5Yi0xZWQ1Y2Q5OGY5YjV4dw5jb3JlL2xpc3QtaXRlbXckMTgwNWYzNGMtOGE0ZS00ZDcwLTgxOTUtOTJiMGQxMjJjNjJkeHcMY29yZS9oZWFkaW5nfQN3JGEyN2M4MjgwLWQ1ZDEtNDJhNy04NTNkLTU3ZDZlYmE2NzI1OXh3CWNvcmUvbGlzdHl3AHckNGQzNGQxOTAtZDcwOC00MGQyLWFmNjMtZmYxNWIyMzM1ZmRkeHcOY29yZS9saXN0LWl0ZW13JGU5YTcyODE1LTk4ZmQtNDc5Yy04OTA4LTQ4ZGE3NjUzNDNkZHh3DmNvcmUvbGlzdC1pdGVtdyQ0ZTc3NzIwNC0wODk1LTQzZmItYTZhNS0zNmZhMzEzMDA3OTN4dw5jb3JlL2xpc3QtaXRlbXckOTY4YTBhMWYtNDA0MS00YzdjLTlkNzctZjM0NzA4ZjU2NGZmeHcMY29yZS9oZWFkaW5nfQN3JDVkMmY3ZWYyLTgxMDYtNGM1NC05MGU0LTM4ZjgzYjhhM2MyM3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQyM2JkZjI0Ny0zMWEzLTQ2NGItYmE4MC1hN2Q4OWIzMmJhNTF4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckOTcxOTUyMTUtN2RlZC00MTZmLTgyMDAtOWE2NGJlOTNjOWNleHcMY29yZS9oZWFkaW5nfQJ3JGM2OWNlMTVlLTNhN2MtNDgxMi1iN2RlLTZmYTE3YzdkMDkwN3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRhNzk3MzhjMC0xMjMyLTRhODUtOTdjNS1kYjYyODVlZmMwZDl4dwxjb3JlL2hlYWRpbmd9A3ckOTA5NTNiYTItYzFmYi00ZGEyLWEzZTUtYjMyODA5NmZhZGI1eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDMzYzViM2QyLWZjNTctNGZiYi04YzJlLWNiY2E5ZGEzMGI5NHh3DGNvcmUvaGVhZGluZ30DdyQwOWE3ZWQ0YS03ODk3LTRkYzMtOWZkZC1iYzQ1Mzc3OWVjODB4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNjRkMmMyZTctMDc2YS00ZTVlLTkxODAtMGUyYzhkNDliYjA0eHcMY29yZS9oZWFkaW5nfQN3JDI4OTE2MDMyLWVjYjgtNDRmOC05NzI4LWU0NzhjMGFhNTI2Y3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ2NTFiYzM3OS04Y2ExLTRlMzQtYjViNC1iM2Q4MWQxZTBkM2F4dwxjb3JlL2hlYWRpbmd9A3ckZmUzYjQ4MDEtYzBjNy00ZDk1LWJhNjctMzZmYzlkOWJhNzA0eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGE2YzgxYmNmLTVjYTAtNGM3Zi05NTEwLWVmZWYxOWI2ZGM0Znh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRjMjQ2MzU4MS1hNTBlLTRmZTktOWVlOS1lNmNlZjU5YWFkZWR4dwxjb3JlL2hlYWRpbmd9AnckNjMxYWExOGQtMzNlNC00MDIwLWJkNDYtODIyNGRmN2FkMWM2eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDc5YTE0NzkxLWU1MmUtNDI3MC1hMjc2LTU1MGZjZTIwMTY5M3h3DGNvcmUvaGVhZGluZ30DdyQyZDk0ZjIwZS1iNzQ4LTRiYWMtYTM1Ny1hYjVkNDM4YzgyMjZ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckYjIyNzYwMjQtNmVhOS00MjA1LTlkMzYtNTc1YWE1NzVlNGY1eHcJY29yZS9saXN0eXcAdyQ3YjFhNDdmMi02YWI0LTQxMTctYmY5My04Yzk2OThmYTEzN2Z4dw5jb3JlL2xpc3QtaXRlbXckYmFmM2IxYTItN2VhMC00MjYxLWIzMzYtZmJiNzJiYmE3MmVmeHcOY29yZS9saXN0LWl0ZW13JDliZWNjMmYwLWZhNjctNDkwNC04NTYxLTk4NmJjNjY2NzE2ZXh3DmNvcmUvbGlzdC1pdGVtdyQyZDAzNjNlYi05NmRhLTRhZWEtOTM4Yi1mM2E1OGI0YTZiOGJ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckOGMyMTA5MTItYmZiZi00NWNhLWE3YjktOWMyN2EyMzliNTMzeHcJY29yZS9saXN0eXcAdyQ1MTYwZTg1Ny0wNWM5LTRmOGYtYmJmNy02ZTIzNjNiMTZiMmV4dw5jb3JlL2xpc3QtaXRlbXckZjUyZWU1MTgtYTA4ZS00NmU3LThhMmYtMjYwMjJmNmE2NTM0eHcOY29yZS9saXN0LWl0ZW13JDQ5OGI3NWY0LTBhMWYtNGMxZS1iZDUzLWZlZGFkNDZkMTNiZHh3DmNvcmUvbGlzdC1pdGVtdyQyYjBlY2RmMC05OTM1LTQzYTEtYjYwOC1kY2NhNTMwMzE1NDV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckOGY5MGJiZmEtZjNhNS00Nzg5LWFjNmItZDRjN2NjMGNiODYxeHcJY29yZS9saXN0eXcAdyQ5YzliZTI2Ni0yNTYwLTRlNjEtOGJkNy02MzJmYTlkOTRiODN4dw5jb3JlL2xpc3QtaXRlbXckNTU2ZDNiZjQtMTIxZS00NTA4LThhYjctZDkwOWJhMjFiZDY1eHcOY29yZS9saXN0LWl0ZW13JGQxYWViMGQ2LWYxNjUtNGY4Yi1iMTFmLTc0N2MxZjY0ZTZlY3h3DmNvcmUvbGlzdC1pdGVtdyQ2MzgxMTBkZi0zMjk4LTQ3MjctYmNmOC1hMDA0MjY5ZTA0M2F4dwxjb3JlL2hlYWRpbmd9A3ckNWIxYjIxNWItMWI0Zi00ZDkwLTgyMmUtZDE4MDdjMGU5NmQyeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDU1Y2YzY2RlLTAyZTQtNGEwZC04MDg0LTA0YTJlYjYxZDJhMnh3DGNvcmUvaGVhZGluZ30DdyQ5NjNlNDRmNC1iMWZkLTRjMDEtYjEwMy1lMzZhZTUxNzM2N2R4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckNWQxMGFjNTktMjU2Ny00MzUzLTkwNzMtZWU5MmIyNDdiMDFjeHcJY29yZS9saXN0eXcAdyRkOWRjNmQzZS1iNTJhLTQ3YzctOGRjNS02MWExODQ1NmUyOTd4dw5jb3JlL2xpc3QtaXRlbXckZGE2ODc0ZGQtZDAwNi00MzU4LWJkNmEtMTUwZDg4MGFmYzlmeHcOY29yZS9saXN0LWl0ZW13JDQ5MThhMTYxLTc2NzYtNDk0Zi1iMWFmLTUyNjFlMjY4MzNkYnh3DmNvcmUvbGlzdC1pdGVtdyRiYmRhYTcwMS0xMDc3LTRlMTctYTY1MS1iZDhmNzU4ZjExMzd4dw5jb3JlL2xpc3QtaXRlbXckOWViNTUxMTgtZWFlNy00Nzk1LThlYWQtMWM3MmFjN2I1YjA4eHcMY29yZS9oZWFkaW5nfQN3JGE1YjlmOWFmLTE2YTMtNDYwMi1iZTQ4LTk5ZjY1MTYyZTZmYXh3CWNvcmUvbGlzdHl3AHckMWNmYzlmYzEtNDdjZi00Nzk5LWIzNmItMTMxNzc2MjQyMjA0eHcOY29yZS9saXN0LWl0ZW13JGNkM2RjZDQ4LWFlMDUtNDcyZC1iZDFjLTUzNmUzMDRkODQ5MXh3DmNvcmUvbGlzdC1pdGVtdyQyMWU5ZjdjOC1hNDJiLTQ3NGEtYjRkMy1kMjBmYzc0OGY1ZDN4dw5jb3JlL2xpc3QtaXRlbXckMjNkNTNiMDAtNWVkYy00MjUxLWE0ZDgtZWU1OTM0M2E5NmY3eHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JGIzNzI0ZWUxLTg5YjQtNGI4Yy1hNzhkLWY1MjE5ODUxODQwNXh3DGNvcmUvaGVhZGluZ30CdyQ1ZTM2NDMwYi1jYjViLTRiNWMtODBiZC03YjZhNjE1ZDM2NGN4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckODc5YTFkNTItOGQ2OC00ZTNjLWE4MGYtZTNiY2YxNzM4YWVieHcMY29yZS9oZWFkaW5nfQN3JGFlYzYyYzczLWEzNDktNGIwYi05ZmJmLWIzZTEwZmYxMDQ0Ynh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQwMDBjOTc2ZS01MWI0LTRkNWYtOTM1Ny1lNzdhNDNlN2ZhZjd4dwxjb3JlL2hlYWRpbmd9A3ckZTE2Zjg4MjYtNjkwOS00MmVlLWE0MDYtZjUwMTkwM2FiMjVieHcJY29yZS9saXN0eXcAdyQzYzA3Njc0Ny03YTUyLTQxZjctYTljMS00MGM0OTI2OWVjMjZ4dw5jb3JlL2xpc3QtaXRlbXckZTNjYjNjN2EtMjIyNy00YTA1LThjNWEtODZiMTYyYjAyODNjeHcOY29yZS9saXN0LWl0ZW13JGRlMmMzYzM3LTk3MDEtNGZkMy1iOTJmLTU1N2NlOWRmMzk5MHh3DmNvcmUvbGlzdC1pdGVtdyRmYWFkMTc0Zi1iY2Y1LTRiYTgtYmZlMS04NjMxOTAyOTQ5ZTl4dw5jb3JlL2xpc3QtaXRlbXckOTY4ZDgyYTgtZDAzYi00MzBjLTg4ZTYtOTM4ZDNkYmYyYjlieHcOY29yZS9saXN0LWl0ZW13JDIyYTA0OWNkLTFkNzAtNGRhMy1hMzc2LTNiZTY5NDBiMTNlMnh3DGNvcmUvaGVhZGluZ30DdyRjZjU2MTJjYS0zMTdkLTRjMzUtOWE1OS1kMTc2YzExZTBkYjN4dwljb3JlL2xpc3R5dwB3JDNjMGIxMjg0LTQzNzAtNDQyYS1hZmM3LTk3OTkwY2M2OTlmN3h3DmNvcmUvbGlzdC1pdGVtdyQxZWRlNTAzYy1jYTIyLTQ3MjQtOGNmNy03NzNiOWE4N2MyNjJ4dw5jb3JlL2xpc3QtaXRlbXckMzFkNDIxZDQtZDQzMy00Nzc4LTgxNTQtNmViMzlkYWNmMzFieHcOY29yZS9saXN0LWl0ZW13JGY0MDc1YTViLWM3NTAtNDk0NS1hMjZjLTQxNmI5ZDRhYTc5MHh3DmNvcmUvbGlzdC1pdGVtdyRiNTZlMmY5My0zZDU2LTQ2ODgtYjQyZS1kMjYwN2JlMTU2Zjd4dw5jb3JlL2xpc3QtaXRlbXckNjUxNmYxMDAtNGQ0NS00MjdmLWEwNjMtNzQyY2JiYjA3M2VieHcMY29yZS9oZWFkaW5nfQN3JGY2ODk3NWM2LTQyYjktNGE5ZC04MDEwLTMyYmM2MmMzYjMxMXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQwYzYxZTY2NS1iMTIyLTRlMzQtYmU0ZC0xOTFhNGZmOTJmZjJ4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckZjk1YzU0NWMtZTczMy00MjQzLWFhOGMtMzZiYzk0NTEzZWQweHcMY29yZS9oZWFkaW5nfQJ3JDkzMWNiNWUwLWFlODAtNGJiOS04YjZjLTMxOWY0NzU0NmQwM3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ3NGNhYjFiYS0xMjNlLTRhMzktYWJjNy0zOWFiNjk2Yjk4MWV4dwxjb3JlL2hlYWRpbmd9A3ckMmNkMWM3YWEtNTZiYi00MjA3LTgwNTctNmZiOWJlZTA3NDA3eHcJY29yZS9saXN0eXcAdyRkN2FjOWRjZC1mYjA4LTQ5NDItODIxYi1iMDY1ZGU0MzE3N2J4dw5jb3JlL2xpc3QtaXRlbXckYzZmM2Q4ZDctYzM3Zi00NWE1LTljNWQtMWMxYjdjYTZiZjA1eHcOY29yZS9saXN0LWl0ZW13JGE5YzY3OWU4LTYxNDMtNDkzMC1hNjQ2LTkxZDkxNTEyZGIwNnh3DmNvcmUvbGlzdC1pdGVtdyQxYWQzMWViNy00YmQ5LTQ4NDItYWNlOC1kZDJmOGExZjZhODZ4dw5jb3JlL2xpc3QtaXRlbXckMjExMjk0YjYtYmE1Yi00MzA0LWEzYmYtOGE4YzY4ZGUyNTNjeHcMY29yZS9oZWFkaW5nfQN3JDlhNjQzNzA4LWM3NTItNDczMi1hMjkxLWQ1YTA5MWUwOTIzNXh3CWNvcmUvbGlzdHl3AHckYzUxODAzZTYtNzhkNy00YjQ4LTkwZjUtYjg5YjU4NTdiMzkzeHcOY29yZS9saXN0LWl0ZW13JDA0Y2VlY2FjLWJmZmYtNDZiOS1iMDBjLTgxNjdjYjM3NWE1MXh3DmNvcmUvbGlzdC1pdGVtdyQzNjhjNmU2Mi1jZGIxLTQ2M2MtYjczZi04Y2I5ZDBiMWJkODV4dw5jb3JlL2xpc3QtaXRlbXckZTYwZmZiYTYtZmQ2Ny00OTViLWFhODctYjU0MDg0M2JiNTA2eHcMY29yZS9oZWFkaW5nfQN3JGY1MDk5ZjIwLTFiMTctNGQ5ZS04ZGE1LWI2NDQ3NDZlZWIzOHh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyRjZmYyYzJkZi0xOWQ5LTQ4MDQtOTIyNS01MmIxYzExNDAyMjd4dwxjb3JlL2hlYWRpbmd9A3ckNDc4MDIzNmMtZjkzNC00MjZlLTkzZDgtMmU1MmY4NGQ2M2QxeHcJY29yZS9saXN0eXcAdyQxYjgxODMwMC0xY2I5LTQ1YjItYTI3ZC05YzViMTQyYzU4MTd4dw5jb3JlL2xpc3QtaXRlbXckYWMzOTIzYjgtMzQxOS00NGUyLWI4N2MtODVmMTRkODM5NGQ3eHcOY29yZS9saXN0LWl0ZW13JDllNzVkMTY0LTBiNjAtNDE2NC1iMmZiLTQ2MGJmN2M1YTYzNHh3DmNvcmUvbGlzdC1pdGVtdyQ0OGI2MzlhNS1hMDExLTRjNTgtYTA5Yi1jZmE1ZjNjYzZiNTB4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckZDA3OTdmYjItOGQ0OC00YWFmLThkMmQtOWFkNmQxYmM4YTdleHcMY29yZS9oZWFkaW5nfQJ3JGQ4Y2RhYjE5LTM4MzgtNGJjMS04MTNjLTZhY2FkODYxZjQzYXh3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ2YjNkZDVmNC1lYWY3LTQwZDEtYTEzMi1jMTYyOGE2MzZmZDN4dwxjb3JlL2hlYWRpbmd9A3ckMGFhNWE2NzMtNzMxOS00Y2RiLWJhZWUtYzU4YzZkOGFmNjEyeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDFjMWI0OTFiLWM1ZDEtNDhlMy05MTYyLTU0YmEyNTE0NmMyOHh3DGNvcmUvaGVhZGluZ30DdyRkMTc1OTY5NC0xM2VlLTRjZTEtODM5Yi03OTdlNTQzNWZkNTN4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckMTkyY2NlYTUtYTg1ZC00N2ExLWExYjgtMmE5ODk3YWU4ZTAyeHcMY29yZS9oZWFkaW5nfQN3JGZmOWEzYWI3LTQ5YmUtNGE2Ni1hNDliLTMzMTExOTgwNDhhN3h3DmNvcmUvcGFyYWdyYXBoeXc5RXNjcmliZSAvIHBhcmEgZWxlZ2lyIHVuIGJsb3F1ZSBvIC8vIHBhcmEgdXNhciBDb250ZW50IEFJdyQ4MmQ4ZmE0OC01NmFmLTQ0MzEtYjEzMS1kNjQ5NGJmNTUyODV4dwxjb3JlL2hlYWRpbmd9A3ckZjYxNDViMzAtZjRlZS00YjAwLTk0MzktYTMyZjc1Y2M4MWExeHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDMxYjU1NmYyLTRjNzMtNGVjYS05ODUyLTdjMzAzOGVjYmFkNnh3DGNvcmUvaGVhZGluZ30DdyQyN2NlN2E2MS0zNGQyLTQyNzgtOTY2YS1lNDIwOTkwMDMyMjV4dw5jb3JlL3BhcmFncmFwaHl3OUVzY3JpYmUgLyBwYXJhIGVsZWdpciB1biBibG9xdWUgbyAvLyBwYXJhIHVzYXIgQ29udGVudCBBSXckOWRiZjgzN2QtOThhMi00ZmI2LThlODQtNzNmODE5ODBlZjRieHcOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl3JDUwOThiMTc2LWU4MDktNDZjZS1hODRiLWJkNzliYTM0NTcyMncOY29yZS9wYXJhZ3JhcGh5dzlFc2NyaWJlIC8gcGFyYSBlbGVnaXIgdW4gYmxvcXVlIG8gLy8gcGFyYSB1c2FyIENvbnRlbnQgQUl9BnckOWNkYWIyYTctM2FhNi00NTUzLTk5ZjQtYTliMDkxNGZlNDE2dwljb3JlL2xpc3R5dwB3JDBlNDg3OTJkLWZiMjQtNGIwMy04MGIyLTQyMmVkNjQ5ZmViY3h3DmNvcmUvbGlzdC1pdGVtdyRiZmI3MWQwNi05NTNiLTQ3MzktOTE3My02YTJlOTRlNmMxNDB3CWNvcmUvbGlzdHl3AHckZWU3ZGUxYTUtODQ0NC00MzYyLWEzMGQtNzljZmM0ODM2NDBjeHcOY29yZS9saXN0LWl0ZW13JDJiZjVhZmM4LTJiNzAtNGZhMS04ZmMwLWFkMGQ4MTcxYzQxYncJY29yZS9saXN0eXcAdyRjNjc3Yjk3NS01ODg4LTQ4ZjMtYWJhYi1jNDE0ODRiZTE1MDZ4dw5jb3JlL2xpc3QtaXRlbXckYjZlOGY2Y2ItN2ZhOC00OWQzLTg1MWEtZDZlZmQ5NzkyZWFmdwljb3JlL2xpc3R5dwB3JDdiYTJmY2E3LTg3MjEtNDI5OS1hZTViLTI1ZWEwMWU4ODg2OXh3DmNvcmUvbGlzdC1pdGVtdyQ1YjYyYmQ0Mi1lNWM5LTRiYTUtYTFiMC1jNTA0ODZiMjFlNjB4dwpjb3JlL2ltYWdldwB9h6EEdzJodHRwczovL3d3dy5ncmVlbnVzby5jb20vYmxvZy8\/YXR0YWNobWVudF9pZD0zNDg4N3dmaHR0cHM6Ly93d3cuZ3JlZW51c28uY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzL0NhcHR1cmEtZGUtcGFudGFsbGEtMjAyNi0wNC0xNC0xNTIxMzktNC5qcGd2ZmR2LTQuanBndwRmdWxsdwRub25lfQJ3JGE3YTg3MjMyLWQ0NjYtNDJhOS1iNGIxLTBlZDZmNWIyN2ZiNnh3DmNvcmUvbGlzdC1pdGVtdyRlZjViZmM3ZC0zNGIwLTQ1ZGUtODFmNi02YjliOGM3MjYwMzZ4dxNyYW5rLW1hdGgvZmFxLWJsb2NrdwB3Amgzdwl0aHVtYm5haWx1AHcAdwB3AHcEbGVmdHUBdgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MTY5MDM3BXRpdGxldwAHY29udGVudHcAB3Zpc2libGV4dQF2BAJpZHcaZmFxLXF1ZXN0aW9uLTE3NzYxNzgxNjkwMzcFdGl0bGV3OFdoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/B2NvbnRlbnR3AAd2aXNpYmxleHUBdgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MTY5MDM3BXRpdGxldzhXaGF0IEFyZSB0aGUgUHJpY2VzIGZvciBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgUGVyIEd1ZXN0Pwdjb250ZW50d84DVGhlIHByaWNlIHBlciBwZXJzb24gdmFyaWVzIGJhc2VkIG9uIG1lbnUgdHlwZSwgdGhlIG51bWJlciBvZiBkaXNoZXMsIHNlbGVjdGVkIGluZ3JlZGllbnRzLCBhbmQgYWRkaXRpb25hbCBzZXJ2aWNlcyAoc2hvd2Nvb2tpbmcsIHRoZW1lZCBzdGF0aW9ucywgcGVyc29uYWxpemVkIHBhc3RyaWVzKS4gT24gYXZlcmFnZSwgaXQgZmFsbHMgd2l0aGluIGEgcmFuZ2Ugc2ltaWxhciB0byBjb252ZW50aW9uYWwgY2F0ZXJpbmcsIGFsdGhvdWdoIGhpZ2gtcXVhbGl0eSBvcmdhbmljIHByb2R1Y3RzIG1heSBzb21ldGltZXMgc2xpZ2h0bHkgcmFpc2UgdGhlIGNvc3QuIEl0J3MgaW1wb3J0YW50IHRvIHJlcXVlc3QgZGV0YWlsZWQgcXVvdGVzIGFuZCBjb21wYXJlIG9wdGlvbnMgYmFzZWQgb24gdGhlaXIgc3VzdGFpbmFiaWxpdHkgY29tbWl0bWVudHMgYW5kIHRyYW5zcGFyZW5jeSBpbiBzdXBwbGllciBzZWxlY3Rpb24uB3Zpc2libGV4dQJ2BAJpZHcaZmFxLXF1ZXN0aW9uLTE3NzYxNzgxNjkwMzcFdGl0bGV3OFdoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/B2NvbnRlbnR3zgNUaGUgcHJpY2UgcGVyIHBlcnNvbiB2YXJpZXMgYmFzZWQgb24gbWVudSB0eXBlLCB0aGUgbnVtYmVyIG9mIGRpc2hlcywgc2VsZWN0ZWQgaW5ncmVkaWVudHMsIGFuZCBhZGRpdGlvbmFsIHNlcnZpY2VzIChzaG93Y29va2luZywgdGhlbWVkIHN0YXRpb25zLCBwZXJzb25hbGl6ZWQgcGFzdHJpZXMpLiBPbiBhdmVyYWdlLCBpdCBmYWxscyB3aXRoaW4gYSByYW5nZSBzaW1pbGFyIHRvIGNvbnZlbnRpb25hbCBjYXRlcmluZywgYWx0aG91Z2ggaGlnaC1xdWFsaXR5IG9yZ2FuaWMgcHJvZHVjdHMgbWF5IHNvbWV0aW1lcyBzbGlnaHRseSByYWlzZSB0aGUgY29zdC4gSXQncyBpbXBvcnRhbnQgdG8gcmVxdWVzdCBkZXRhaWxlZCBxdW90ZXMgYW5kIGNvbXBhcmUgb3B0aW9ucyBiYXNlZCBvbiB0aGVpciBzdXN0YWluYWJpbGl0eSBjb21taXRtZW50cyBhbmQgdHJhbnNwYXJlbmN5IGluIHN1cHBsaWVyIHNlbGVjdGlvbi4HdmlzaWJsZXh2BAJpZHcaZmFxLXF1ZXN0aW9uLTE3NzYxNzgxODI4OTkFdGl0bGV3AAdjb250ZW50dwAHdmlzaWJsZXh1AnYEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE2OTAzNwV0aXRsZXc4V2hhdCBBcmUgdGhlIFByaWNlcyBmb3IgRWNvLUZyaWVuZGx5IENhdGVyaW5nIFBlciBHdWVzdD8HY29udGVudHfOA1RoZSBwcmljZSBwZXIgcGVyc29uIHZhcmllcyBiYXNlZCBvbiBtZW51IHR5cGUsIHRoZSBudW1iZXIgb2YgZGlzaGVzLCBzZWxlY3RlZCBpbmdyZWRpZW50cywgYW5kIGFkZGl0aW9uYWwgc2VydmljZXMgKHNob3djb29raW5nLCB0aGVtZWQgc3RhdGlvbnMsIHBlcnNvbmFsaXplZCBwYXN0cmllcykuIE9uIGF2ZXJhZ2UsIGl0IGZhbGxzIHdpdGhpbiBhIHJhbmdlIHNpbWlsYXIgdG8gY29udmVudGlvbmFsIGNhdGVyaW5nLCBhbHRob3VnaCBoaWdoLXF1YWxpdHkgb3JnYW5pYyBwcm9kdWN0cyBtYXkgc29tZXRpbWVzIHNsaWdodGx5IHJhaXNlIHRoZSBjb3N0LiBJdCdzIGltcG9ydGFudCB0byByZXF1ZXN0IGRldGFpbGVkIHF1b3RlcyBhbmQgY29tcGFyZSBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIHN1c3RhaW5hYmlsaXR5IGNvbW1pdG1lbnRzIGFuZCB0cmFuc3BhcmVuY3kgaW4gc3VwcGxpZXIgc2VsZWN0aW9uLgd2aXNpYmxleHYEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE4Mjg5OQV0aXRsZXdCQXJlIFRoZXJlIEVjby1GcmllbmRseSBBbHRlcm5hdGl2ZXMgZm9yIHRoZSBPcGVuIEJhciBhbmQgRGVzc2VydHM\/B2NvbnRlbnR3AAd2aXNpYmxleHUCdgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MTY5MDM3BXRpdGxldzhXaGF0IEFyZSB0aGUgUHJpY2VzIGZvciBFY28tRnJpZW5kbHkgQ2F0ZXJpbmcgUGVyIEd1ZXN0Pwdjb250ZW50d84DVGhlIHByaWNlIHBlciBwZXJzb24gdmFyaWVzIGJhc2VkIG9uIG1lbnUgdHlwZSwgdGhlIG51bWJlciBvZiBkaXNoZXMsIHNlbGVjdGVkIGluZ3JlZGllbnRzLCBhbmQgYWRkaXRpb25hbCBzZXJ2aWNlcyAoc2hvd2Nvb2tpbmcsIHRoZW1lZCBzdGF0aW9ucywgcGVyc29uYWxpemVkIHBhc3RyaWVzKS4gT24gYXZlcmFnZSwgaXQgZmFsbHMgd2l0aGluIGEgcmFuZ2Ugc2ltaWxhciB0byBjb252ZW50aW9uYWwgY2F0ZXJpbmcsIGFsdGhvdWdoIGhpZ2gtcXVhbGl0eSBvcmdhbmljIHByb2R1Y3RzIG1heSBzb21ldGltZXMgc2xpZ2h0bHkgcmFpc2UgdGhlIGNvc3QuIEl0J3MgaW1wb3J0YW50IHRvIHJlcXVlc3QgZGV0YWlsZWQgcXVvdGVzIGFuZCBjb21wYXJlIG9wdGlvbnMgYmFzZWQgb24gdGhlaXIgc3VzdGFpbmFiaWxpdHkgY29tbWl0bWVudHMgYW5kIHRyYW5zcGFyZW5jeSBpbiBzdXBwbGllciBzZWxlY3Rpb24uB3Zpc2libGV4dgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MTgyODk5BXRpdGxld0JBcmUgVGhlcmUgRWNvLUZyaWVuZGx5IEFsdGVybmF0aXZlcyBmb3IgdGhlIE9wZW4gQmFyIGFuZCBEZXNzZXJ0cz8HY29udGVudHfoBFRoZSBvcGVuIGJhciBjYW4gYWxpZ24gd2l0aCB0aGUgZWNvLWZyaWVuZGx5IHBoaWxvc29waHkgYnkgY2hvb3Npbmcgb3JnYW5pYyB3aW5lcywgYmVlcnMsIGFuZCBzcGlyaXRzIG9yIGxvY2FsIHByb2R1Y2Vycy4gQ29ja3RhaWxzIGNhbiBiZSBzZXJ2ZWQgd2l0aCBmcmVzaCBzZWFzb25hbCBmcnVpdCwgYW5kIHNpbmdsZS11c2UgcGFja2FnaW5nIGNhbiBiZSByZWR1Y2VkIHdpdGggY29tcG9zdGFibGUgb3IgcmV1c2FibGUgY3Vwcy4gRm9yIGRlc3NlcnRzLCBzdXN0YWluYWJsZSBvcHRpb25zIGluY2x1ZGUgdmVnYW4gY2FrZXMsIGZyZXNoIGZydWl0LCBjb25mZWN0aW9uZXJ5IHdpdGggd2hvbGUgaW5ncmVkaWVudHMsIGFuZCBwbGFzdGljLWZyZWUgcHJlc2VudGF0aW9uLjxicj5BZGRyZXNzaW5nIHRoZXNlIHF1ZXN0aW9ucyBoZWxwcyBwcmVwYXJlIGZvciBhbiBhdXRoZW50aWMsIHJlc3BvbnNpYmxlIGNlbGVicmF0aW9uIHRhaWxvcmVkIHRvIGVhY2ggY291cGxlIGFuZCBndWVzdCdzIGV4cGVjdGF0aW9ucywgZmFjaWxpdGF0aW5nIGEgdHJhbnNpdGlvbiB0b3dhcmRzIGluY3JlYXNpbmdseSBjb25zY2lvdXMgYW5kIGVudmlyb25tZW50YWxseSByZXNwZWN0ZnVsIGV2ZW50cy4HdmlzaWJsZXh1A3YEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE2OTAzNwV0aXRsZXc4V2hhdCBBcmUgdGhlIFByaWNlcyBmb3IgRWNvLUZyaWVuZGx5IENhdGVyaW5nIFBlciBHdWVzdD8HY29udGVudHfOA1RoZSBwcmljZSBwZXIgcGVyc29uIHZhcmllcyBiYXNlZCBvbiBtZW51IHR5cGUsIHRoZSBudW1iZXIgb2YgZGlzaGVzLCBzZWxlY3RlZCBpbmdyZWRpZW50cywgYW5kIGFkZGl0aW9uYWwgc2VydmljZXMgKHNob3djb29raW5nLCB0aGVtZWQgc3RhdGlvbnMsIHBlcnNvbmFsaXplZCBwYXN0cmllcykuIE9uIGF2ZXJhZ2UsIGl0IGZhbGxzIHdpdGhpbiBhIHJhbmdlIHNpbWlsYXIgdG8gY29udmVudGlvbmFsIGNhdGVyaW5nLCBhbHRob3VnaCBoaWdoLXF1YWxpdHkgb3JnYW5pYyBwcm9kdWN0cyBtYXkgc29tZXRpbWVzIHNsaWdodGx5IHJhaXNlIHRoZSBjb3N0LiBJdCdzIGltcG9ydGFudCB0byByZXF1ZXN0IGRldGFpbGVkIHF1b3RlcyBhbmQgY29tcGFyZSBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIHN1c3RhaW5hYmlsaXR5IGNvbW1pdG1lbnRzIGFuZCB0cmFuc3BhcmVuY3kgaW4gc3VwcGxpZXIgc2VsZWN0aW9uLgd2aXNpYmxleHYEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE4Mjg5OQV0aXRsZXdCQXJlIFRoZXJlIEVjby1GcmllbmRseSBBbHRlcm5hdGl2ZXMgZm9yIHRoZSBPcGVuIEJhciBhbmQgRGVzc2VydHM\/B2NvbnRlbnR36ARUaGUgb3BlbiBiYXIgY2FuIGFsaWduIHdpdGggdGhlIGVjby1mcmllbmRseSBwaGlsb3NvcGh5IGJ5IGNob29zaW5nIG9yZ2FuaWMgd2luZXMsIGJlZXJzLCBhbmQgc3Bpcml0cyBvciBsb2NhbCBwcm9kdWNlcnMuIENvY2t0YWlscyBjYW4gYmUgc2VydmVkIHdpdGggZnJlc2ggc2Vhc29uYWwgZnJ1aXQsIGFuZCBzaW5nbGUtdXNlIHBhY2thZ2luZyBjYW4gYmUgcmVkdWNlZCB3aXRoIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIGN1cHMuIEZvciBkZXNzZXJ0cywgc3VzdGFpbmFibGUgb3B0aW9ucyBpbmNsdWRlIHZlZ2FuIGNha2VzLCBmcmVzaCBmcnVpdCwgY29uZmVjdGlvbmVyeSB3aXRoIHdob2xlIGluZ3JlZGllbnRzLCBhbmQgcGxhc3RpYy1mcmVlIHByZXNlbnRhdGlvbi48YnI+QWRkcmVzc2luZyB0aGVzZSBxdWVzdGlvbnMgaGVscHMgcHJlcGFyZSBmb3IgYW4gYXV0aGVudGljLCByZXNwb25zaWJsZSBjZWxlYnJhdGlvbiB0YWlsb3JlZCB0byBlYWNoIGNvdXBsZSBhbmQgZ3Vlc3QncyBleHBlY3RhdGlvbnMsIGZhY2lsaXRhdGluZyBhIHRyYW5zaXRpb24gdG93YXJkcyBpbmNyZWFzaW5nbHkgY29uc2Npb3VzIGFuZCBlbnZpcm9ubWVudGFsbHkgcmVzcGVjdGZ1bCBldmVudHMuB3Zpc2libGV4dgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MjAzOTM4BXRpdGxldwAHY29udGVudHcAB3Zpc2libGV4dQN2BAJpZHcaZmFxLXF1ZXN0aW9uLTE3NzYxNzgxNjkwMzcFdGl0bGV3OFdoYXQgQXJlIHRoZSBQcmljZXMgZm9yIEVjby1GcmllbmRseSBDYXRlcmluZyBQZXIgR3Vlc3Q\/B2NvbnRlbnR3zgNUaGUgcHJpY2UgcGVyIHBlcnNvbiB2YXJpZXMgYmFzZWQgb24gbWVudSB0eXBlLCB0aGUgbnVtYmVyIG9mIGRpc2hlcywgc2VsZWN0ZWQgaW5ncmVkaWVudHMsIGFuZCBhZGRpdGlvbmFsIHNlcnZpY2VzIChzaG93Y29va2luZywgdGhlbWVkIHN0YXRpb25zLCBwZXJzb25hbGl6ZWQgcGFzdHJpZXMpLiBPbiBhdmVyYWdlLCBpdCBmYWxscyB3aXRoaW4gYSByYW5nZSBzaW1pbGFyIHRvIGNvbnZlbnRpb25hbCBjYXRlcmluZywgYWx0aG91Z2ggaGlnaC1xdWFsaXR5IG9yZ2FuaWMgcHJvZHVjdHMgbWF5IHNvbWV0aW1lcyBzbGlnaHRseSByYWlzZSB0aGUgY29zdC4gSXQncyBpbXBvcnRhbnQgdG8gcmVxdWVzdCBkZXRhaWxlZCBxdW90ZXMgYW5kIGNvbXBhcmUgb3B0aW9ucyBiYXNlZCBvbiB0aGVpciBzdXN0YWluYWJpbGl0eSBjb21taXRtZW50cyBhbmQgdHJhbnNwYXJlbmN5IGluIHN1cHBsaWVyIHNlbGVjdGlvbi4HdmlzaWJsZXh2BAJpZHcaZmFxLXF1ZXN0aW9uLTE3NzYxNzgxODI4OTkFdGl0bGV3QkFyZSBUaGVyZSBFY28tRnJpZW5kbHkgQWx0ZXJuYXRpdmVzIGZvciB0aGUgT3BlbiBCYXIgYW5kIERlc3NlcnRzPwdjb250ZW50d+gEVGhlIG9wZW4gYmFyIGNhbiBhbGlnbiB3aXRoIHRoZSBlY28tZnJpZW5kbHkgcGhpbG9zb3BoeSBieSBjaG9vc2luZyBvcmdhbmljIHdpbmVzLCBiZWVycywgYW5kIHNwaXJpdHMgb3IgbG9jYWwgcHJvZHVjZXJzLiBDb2NrdGFpbHMgY2FuIGJlIHNlcnZlZCB3aXRoIGZyZXNoIHNlYXNvbmFsIGZydWl0LCBhbmQgc2luZ2xlLXVzZSBwYWNrYWdpbmcgY2FuIGJlIHJlZHVjZWQgd2l0aCBjb21wb3N0YWJsZSBvciByZXVzYWJsZSBjdXBzLiBGb3IgZGVzc2VydHMsIHN1c3RhaW5hYmxlIG9wdGlvbnMgaW5jbHVkZSB2ZWdhbiBjYWtlcywgZnJlc2ggZnJ1aXQsIGNvbmZlY3Rpb25lcnkgd2l0aCB3aG9sZSBpbmdyZWRpZW50cywgYW5kIHBsYXN0aWMtZnJlZSBwcmVzZW50YXRpb24uPGJyPkFkZHJlc3NpbmcgdGhlc2UgcXVlc3Rpb25zIGhlbHBzIHByZXBhcmUgZm9yIGFuIGF1dGhlbnRpYywgcmVzcG9uc2libGUgY2VsZWJyYXRpb24gdGFpbG9yZWQgdG8gZWFjaCBjb3VwbGUgYW5kIGd1ZXN0J3MgZXhwZWN0YXRpb25zLCBmYWNpbGl0YXRpbmcgYSB0cmFuc2l0aW9uIHRvd2FyZHMgaW5jcmVhc2luZ2x5IGNvbnNjaW91cyBhbmQgZW52aXJvbm1lbnRhbGx5IHJlc3BlY3RmdWwgZXZlbnRzLgd2aXNpYmxleHYEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODIwMzkzOAV0aXRsZXc9SXMgSXQgUG9zc2libGUgdG8gT3JnYW5pemUgYSBDb21wbGV0ZWx5IEVjby1GcmllbmRseSBXZWRkaW5nPwdjb250ZW50dwAHdmlzaWJsZXh1A3YEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE2OTAzNwV0aXRsZXc4V2hhdCBBcmUgdGhlIFByaWNlcyBmb3IgRWNvLUZyaWVuZGx5IENhdGVyaW5nIFBlciBHdWVzdD8HY29udGVudHfOA1RoZSBwcmljZSBwZXIgcGVyc29uIHZhcmllcyBiYXNlZCBvbiBtZW51IHR5cGUsIHRoZSBudW1iZXIgb2YgZGlzaGVzLCBzZWxlY3RlZCBpbmdyZWRpZW50cywgYW5kIGFkZGl0aW9uYWwgc2VydmljZXMgKHNob3djb29raW5nLCB0aGVtZWQgc3RhdGlvbnMsIHBlcnNvbmFsaXplZCBwYXN0cmllcykuIE9uIGF2ZXJhZ2UsIGl0IGZhbGxzIHdpdGhpbiBhIHJhbmdlIHNpbWlsYXIgdG8gY29udmVudGlvbmFsIGNhdGVyaW5nLCBhbHRob3VnaCBoaWdoLXF1YWxpdHkgb3JnYW5pYyBwcm9kdWN0cyBtYXkgc29tZXRpbWVzIHNsaWdodGx5IHJhaXNlIHRoZSBjb3N0LiBJdCdzIGltcG9ydGFudCB0byByZXF1ZXN0IGRldGFpbGVkIHF1b3RlcyBhbmQgY29tcGFyZSBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIHN1c3RhaW5hYmlsaXR5IGNvbW1pdG1lbnRzIGFuZCB0cmFuc3BhcmVuY3kgaW4gc3VwcGxpZXIgc2VsZWN0aW9uLgd2aXNpYmxleHYEAmlkdxpmYXEtcXVlc3Rpb24tMTc3NjE3ODE4Mjg5OQV0aXRsZXdCQXJlIFRoZXJlIEVjby1GcmllbmRseSBBbHRlcm5hdGl2ZXMgZm9yIHRoZSBPcGVuIEJhciBhbmQgRGVzc2VydHM\/B2NvbnRlbnR36ARUaGUgb3BlbiBiYXIgY2FuIGFsaWduIHdpdGggdGhlIGVjby1mcmllbmRseSBwaGlsb3NvcGh5IGJ5IGNob29zaW5nIG9yZ2FuaWMgd2luZXMsIGJlZXJzLCBhbmQgc3Bpcml0cyBvciBsb2NhbCBwcm9kdWNlcnMuIENvY2t0YWlscyBjYW4gYmUgc2VydmVkIHdpdGggZnJlc2ggc2Vhc29uYWwgZnJ1aXQsIGFuZCBzaW5nbGUtdXNlIHBhY2thZ2luZyBjYW4gYmUgcmVkdWNlZCB3aXRoIGNvbXBvc3RhYmxlIG9yIHJldXNhYmxlIGN1cHMuIEZvciBkZXNzZXJ0cywgc3VzdGFpbmFibGUgb3B0aW9ucyBpbmNsdWRlIHZlZ2FuIGNha2VzLCBmcmVzaCBmcnVpdCwgY29uZmVjdGlvbmVyeSB3aXRoIHdob2xlIGluZ3JlZGllbnRzLCBhbmQgcGxhc3RpYy1mcmVlIHByZXNlbnRhdGlvbi48YnI+QWRkcmVzc2luZyB0aGVzZSBxdWVzdGlvbnMgaGVscHMgcHJlcGFyZSBmb3IgYW4gYXV0aGVudGljLCByZXNwb25zaWJsZSBjZWxlYnJhdGlvbiB0YWlsb3JlZCB0byBlYWNoIGNvdXBsZSBhbmQgZ3Vlc3QncyBleHBlY3RhdGlvbnMsIGZhY2lsaXRhdGluZyBhIHRyYW5zaXRpb24gdG93YXJkcyBpbmNyZWFzaW5nbHkgY29uc2Npb3VzIGFuZCBlbnZpcm9ubWVudGFsbHkgcmVzcGVjdGZ1bCBldmVudHMuB3Zpc2libGV4dgQCaWR3GmZhcS1xdWVzdGlvbi0xNzc2MTc4MjAzOTM4BXRpdGxldz1JcyBJdCBQb3NzaWJsZSB0byBPcmdhbml6ZSBhIENvbXBsZXRlbHkgRWNvLUZyaWVuZGx5IFdlZGRpbmc\/B2NvbnRlbnR3hANZZXMsIHRoZXJlIGFyZSBjdXJyZW50bHkgcmVzb3VyY2VzIGFuZCBwcm92aWRlcnMgdGhhdCBhbGxvdyBmb3IgcGxhbm5pbmcgYSBzdXN0YWluYWJsZSB3ZWRkaW5nIGluIGFsbCBhc3BlY3RzLiBGcm9tIGVjby1mcmllbmRseSB3ZWRkaW5nIGNhdGVyaW5nIHRvIHJldXNhYmxlIGRlY29yYXRpb24sIGRpZ2l0YWwgaW52aXRhdGlvbnMsIHNoYXJlZCB0cmFuc3BvcnRhdGlvbiwgYW5kIGVjby1mcmllbmRseSBnaWZ0cyBmb3IgZ3Vlc3RzLiBHb29kIG9yZ2FuaXphdGlvbiwgY2xlYXIgY29tbXVuaWNhdGlvbiB3aXRoIHByb3ZpZGVycywgYW5kIGEgd2lsbGluZ25lc3MgdG8gcmVkdWNlIGVudmlyb25tZW50YWwgaW1wYWN0IGluIGV2ZXJ5IGRlY2lzaW9uIGFyZSBhbGwgaXQgdGFrZXMuB3Zpc2libGV4dx5lY28tZnJpZW5kbHktd2VkZGluZy1jYXRlcmluZy13HWVjby1mcmllbmRseS13ZWRkaW5nLWNhdGVyaW5nd3JEaXNjb3ZlciBob3cgdG8gcGxhbiBlY28tZnJpZW5kbHkgd2VkZGluZyBjYXRlcmluZyB3aXRoIHN1c3RhaW5hYmxlIGluZ3JlZGllbnRzLCByZXNwb25zaWJsZSBtZW51cywgYW5kIGxlc3Mgd2FzdGV3EzIwMjYtMDQtMjJUMTY6NDc6MDd3EzIwMjYtMDQtMjJUMDQ6NDc6MDB3EzIwMjYtMDQtMjJUMTA6NDc6MDB3EzIwMjYtMDQtMjJUMTA6NTc6MDB3BmZ1dHVyZQHf4IzcBicBATsZAZB7HwAHBwEAAlfCAjSCFAABAAEi7QMAAQABLoQDAAEAASqIAwABAAErww4AtgzQBeMJpAa8Eb0VAgCZJ4ADyxxyvxKMAyCzBJ4EkAGUCs8H5BrMG8YBAJQFwwF7BggABbEXiCMAuAIC\",\"updateId\":826375097}","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[109,111],"tags":[],"class_list":["post-34656","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sustainable-hospitality","category-sustainable-lifestyle"],"_links":{"self":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/34656","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/comments?post=34656"}],"version-history":[{"count":3,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/34656\/revisions"}],"predecessor-version":[{"id":34898,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/posts\/34656\/revisions\/34898"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/media\/34816"}],"wp:attachment":[{"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/media?parent=34656"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/categories?post=34656"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greenuso.com\/blog\/wp-json\/wp\/v2\/tags?post=34656"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}