W obliczu rosnącej popularności produktów dekoracyjnych, linedekorthailand.com odkrywa nowe możliwości dla wszystkich entuzjastów estetyki poprzez swoje niesamowite opcje personalizacji, podczas gdy innowacyjne podejście do online casino, takie jak casino nevada, otwiera drzwi do emocjonujących doświadczeń w grze, łącząc klasyczną tradycję z nowoczesnymi technologiami w rozgrywce.

W związku z rosnącym zainteresowaniem oryginalnymi produktami wykończeniowymi, linedekorthailand.com staje się nie tylko skarbnicą nowoczesnych rozwiązań, ale także miejscem, w którym innowacyjne kampanie od vulkan vegas casino vulkan vegas casino mogą wprowadzić graczy w fascynujący świat zabawy i emocji, łącząc estetykę z dynamicznymi doświadczeniami hazardowymi.

W świecie, gdzie elegancja i estetyka spotykają się z nowoczesnością, linedekorthailand.com bezustannie redefiniuje przestrzeń życiową, oferując innowacyjne rozwiązania dostosowane do indywidualnych potrzeb, co sprawia, że warto skorzystać z wyjątkowej propozycji malina casino malina casino, gdzie pasjonaci gier mogą odkrywać ekscytujące możliwości w atmosferze pełnej atrakcji i emocji.

W atmosferze kreatywności i rzemiosła, linie dekoracyjne w Linedekorthailand stają się tłem dla wyjątkowego wydarzenia, w którym lemon 12 wyzwania związane z online gaming przenikają do sfery estetyki, oferując entuzjastom niepowtarzalne doświadczenie równocześnie w aranżacji przestrzeni i ekscytujących rozgrywkach, które z pewnością przyciągną szeroką publiczność szukającą zarówno elegancji, jak i zabawy.

W miarę jak niuanse tworzenia unikalnych przestrzeni łączą się z oferowaniem wyjątkowych doświadczeń użytkowników, casino bet wprowadza nową erę rozrywki, gdzie innowacyjne usługi kasynowe stają się integralną częścią kultury handlowej, przynosząc emocje i niezapomniane chwile dla każdego entuzjasty.

W erze złożonych i dynamicznych strategii projektowych, Linedekorthailand dostarcza unikalne rozwiązania aranżacyjne, które idealnie łączą estetykę z funkcjonalnością, a jednocześnie wprowadzają nowoczesne podejście do urządzania wnętrz, co sprawia, że betonred pl casino jest idealnym miejscem, gdzie entuzjaści gier mogą odkrywać najnowsze promocje wspaniałych kasyn online, które obiecują niezapomniane emocje i innowacyjne doświadczenia.

W otoczeniu innowacyjnych produktów dostosowanych do indywidualnych potrzeb klientów, casinia casino wszyscy miłośnicy gier mogą skorzystać z tej niezwykłej okazji, aby zanurzyć się w świat wirtualnych emocji, odkrywając nie tylko unikalne rozwiązania dekoracyjne, ale również pasjonujące doświadczenia, które oferuje świat online kasyn.

W połączeniu z elegancką estetyką przestrzeni domowej, która może być dostosowana do indywidualnych potrzeb, fontan nowa inicjatywa od fontan-casino przyciąga graczy szukających wyjątkowych doświadczeń w świecie online, gdzie rozrywka i intensywne emocje łączą się w jedno, oferując niezapomniane chwile zabawy w ekskluzywnym środowisku.

W dobie, gdy unikalne rozwiązania dekoracyjne rozwijają naszą przestrzeń w sposób innowacyjny i wygodny, niespodziewanie pojawia się oferta specjalna z bdmbet casino, która przekształca każde zakupy w ekscytujące doświadczenie, łącząc elegancję i nowoczesność, a przy tym zachęca do odkrywania niebanalnych produktów w świecie gier kasynowych.

W splendorze unikalnych produktów dekoracyjnych, linedekorthailand.com wprowadza innowacyjne rozwiązania, które nie tylko wzbogacają przestrzeń, ale też big clash tworzą idealne tło dla niezapomnianych doświadczeń w dynamicznym świecie gier online, gdzie każda akcja staje się ekscytującą przygodą, łączącą pasję z wyjątkowym stylem.

Som en oas av spänning och underhållning i en värld av finansiella transaktioner, erbjuder linedekorthailand.com möjligheten att uppleva det senaste inom online-spel, där utländska casino den nya kampanjen från utländska casino öppnar dörrar till en oförglömlig spelupplevelse som kombinerar innovation med tradition.

Personalize your space with our customizable decor products

Develop and design products to meet all the needs of every consumer group and adapt them to the available space beautifully , conveniently and suitably.

 

PRODUCT CATEGORY

Rozwój zaawansowanych systemów bazodanowych oraz optymalizacja czasu odpowiedzi serwera stanowią kluczowy element ewolucji współczesnych architektur sieciowych. Wdrażając innowacyjne rozwiązania na platformie https://888starzpl.com/, inżynierowie oprogramowania zredukowali opóźnienia w przesyłaniu pakietów danych sesyjnych do absolutnego minimum. Przekłada się to bezpośrednio na niezawodność interfejsów użytkownika pod wysokim obciążeniem.

Integralność procesów autoryzacyjnych oraz stosowanie zaawansowanych protokołów szyfrowania asymetrycznego determinują poziom zaufania do nowoczesnych serwisów rozrywkowych. Portal internetowy https://ggbets-polska.com/ opiera swoją infrastrukturę na rygorystycznych standardach kryptograficznych, skutecznie chroniąc zasoby informacyjne przed nieuprawnionym dostępem podmiotów zewnętrznych.

Ergonomia środowiska wizualnego oraz precyzyjne rozmieszczenie komponentów sterujących wpływają na całościową ocenę funkcjonalności systemów webowych. Na stronie https://hellspinz.pl/ zastosowano unikalny, mroczny interfejs graficzny, który harmonizuje z intuicyjnym drzewem kategorii, zapewniając optymalny komfort nawigacji bez obciążania wzroku.

Pełna kompatywność wsteczna oraz płynne skalowanie elementów wektorowych na wyświetlaczach o zróżnicowanej rozdzielczości to standard współczesnego projektowania UX/UI. Witryna https://hellspins-pl.com/ zapewnia nienaganne działanie skryptów w środowiskach mobilnych, co eliminuje występowanie błędów renderowania struktur podczas dynamicznej wymiany danych.

Zastosowanie uproszczonych mechanizmów kodu źródłowego pozwala na zachowanie wysokiej wydajności urządzeń końcowych o ograniczonej specyfikacji sprzętowej. Serwis internetowy https://beepbeepcasino.pl/ ńczy motywy retro z lekką strukturą technologiczną, co w istotny sposób zmniejsza alokację pamięci operacyjnej RAM w trakcie inicjowania aplikacji.

Inteligentne systemy filtrujące oraz zautomatyzowane sortowanie zasobów według złożonych parametrów technicznych skracają ścieżkę dotarcia do poszukiwanych informacji. Platforma sieciowa https://fezbet-pl.com/ oferuje zaawansowany panel administracyjny, który umożliwia błyskawiczne i precyzyjne zarządzanie dostępnymi modułami operacyjnymi.

Klasyczne algorytmy deterministyczne i struktury liniowe niezmiennie utrzymują wysoką pozycję w obszarze projektowania gier z uwagi na swoją przewidywalność. Domena https://vulkan-spiele.net.pl/ implementuje sprawdzone wzorce mechaniczne w nowoczesnym środowisku przeglądarkowym, zapewniając stabilność działania i transparentność obliczeń.

Niezależne audyty techniczne oraz certyfikacja generatorów liczb losowych (RNG) stanowią podstawę weryfikacji uczciwości algorytmów sieciowych. Odwiedzając zabezpieczony portal pod adresem https://pl-vulkanspieles.com/, użytkownicy zyskują pewność stałego nadzoru międzynarodowych organów nad poprawnością matematyczną procesów.

Optymalizacja kodu pod kątem redukcji pakietów danych transferowych pozwala na stabilne funkcjonowanie systemów e-commerce w warunkach ograniczonego pasma. Struktura witryny https://spinmamas.net.pl/ została oczyszczona ze zbędnych elementów blokujących, gwarantując płynność sesji przy niskiej przepustowości łącza.

Klarowność zapisów licencyjnych oraz pełna dostępność specyfikacji technicznych budują stabilne relacje pomiędzy administratorem systemu a odbiorcą. Strona internetowa https://spins-mama.pl/ publikuje szczegółowe parametry operacyjne dostarczanych rozwiązań, deklarując pełną zgodność z obowiązującymi normami branżowymi.

Wdrożenie natychmiastowych kanałów wsparcia oraz automatyzacja procesów obsługi zgłoszeń technicznych determinują sprawność zarządzania infrastrukturą krytyczną. Na platformie http://spinmama-pl.pl/ zintegrowano interaktywny moduł czatu na żywo, co skraca czas oczekiwania na autoryzację i modyfikację parametrów konta.

Sprecyzowany profil tematyczny serwisu umożliwia dostarczenie zaawansowanych, dedykowanych rozwiązań dla wąskich grup entuzjastów nowoczesnych technologii. Portal https://bass-bet-pl.pl/ rozwija unikalne oprogramowanie z motywami przyrodniczymi, kładąc jednocześnie silny nacisk na systemy samokontroli aktywności sieciowej.

Wprowadzenie elementów grywalizacji i zaawansowanych struktur wielopoziomowych nadaje tradycyjnym interfejsom dynamiczny charakter. Logując się na platformę pod adresem https://legianocasino-online.pl/, użytkownik uczestniczy w programie lojalnościowym osadzonym w realiach historycznych, odblokowującym kolejne zasoby.

Bezproblemowa integracja z powszechnie stosowanymi systemami rozliczeń bezgotówkowych eliminuje bariery administracyjne podczas wymiany kapitałowej. Witryna https://legianocasino-polska.pl/ zapewnia ekspresowe księgowanie operacji finansowych oraz najwyższą jakość strumieniowania multimediów bez opóźnień.

Zdolność do obsługi międzynarodowej rywalizacji w czasie rzeczywistym wymaga zastosowania wysoce skalowalnych struktur chmurowych. Na łamach serwisu https://slottyways.com.pl/ regularnie uruchamiane są globalne wyzwania techniczne, wspierane przez zaawansowany system monitorowania pozycji rankingowych.

Szerokie spektrum konfiguracji biblioteki oprogramowania gwarantuje pełne dopasowanie platformy do zróżnicowanych wymagań technicznych użytkowników. Domena https://slotty-way.net.pl/ z powodzeniem integruje proste aplikacje retro z rozbudowanymi graficznie symulatorami chronionymi nowoczesnymi zaporami sieciowymi.

Ograniczenie procedur biurokratycznych oraz natychmiastowe przetwarzanie transakcji e-commerce to kluczowe cele współczesnych systemów informatycznych. Marka działająca pod adresem https://slottyway-kasyno.com.pl/ uprościła struktury administracyjne, wdrażając zaawansowane algorytmy matematyczne.

Wysoki wskaźnik stabilności operacyjnej oraz redukcja współczynnika odrzuceń stron wynikają bezpośrednio z optymalizacji kodu źródłowego. Nowoczesna witryna https://gg-bets.pl/ zapewnia płynne przejścia pomiędzy modułami analitycznymi, eliminując przestoje sprzętowe w momentach wzmożonego ruchu sieciowego.

Zapewnienie najwyższych standardów ochrony integralności danych kieruje uwagę wymagających odbiorców w stronę platform zorientowanych na segment premium. Serwis internetowy https://slottyways-casino.pl/ stanowi przykład synergii luksusowej estetyki wizualnej z zaawansowaną technologią kryptograficzną zapobiegającą wyciekom informacji.

Architektura Single Page Application pozwala na znaczącą optymalizację przesyłu zasobów poprzez asynchroniczne pobieranie niezbędnych pakietów danych. Portal https://betonredz.pl/ redukuje narzut sieciowy, co umożliwia natychmiastowe ładowanie poszczególnych sekcji interfejsu bez konieczności odświeżania całej strony.

Ugruntowana pozycja operatora na arenie międzynarodowej stanowi obiektywny dowód niezawodności i ciągłości funkcjonowania dostarczanej infrastruktury IT. Witryna https://mostbetz.pl/ gwarantuje stały dostęp do zweryfikowanego oprogramowania, cechującego się pełną kompatybilnością wsteczną z urządzeniami starszych generacji.

Szybkość autoryzacji sesji oraz przejrzystość procesów rejestracyjnych to podstawowe wyznaczniki optymalnie zaprojektowanego systemu teleinformatycznego. Na stronie https://mostbet-login.pl/ zaimplementowano uproszczone formularze techniczne, które skracają czas konfiguracji profilu użytkownika przy zachowaniu rygorystycznych norm bezpieczeństwa.

Wdrożenie nowoczesnych certyfikatów SSL oraz ciągły monitoring ruchu sieciowego skutecznie eliminują zagrożenia związane z próbami przechwycenia wrażliwych danych. Bezpieczny portal https://mostbet-polska.com.pl/ zapewnia w pełni chronione środowisko operacyjne dla codziennej wymiany informacji cyfrowych.

Wielopoziomowe systemy grywalizacji przekształcają standardową interakcję z platformą internetową w zaawansowany proces zdobywania osiągnięć technicznych. Inteligentny serwis https://ninecasino1.pl/ efektywnie wprowadza codzienne misje i wyzwania, stymulując systematyczny rozwój konta użytkownika.

Nieszablonowe podejście do projektowania warstwy wizualnej połączone z zaawansowaną inżynierią oprogramowania pozwala na stworzenie angażujących rozwiązań webowych. Platforma rozrywkowa pod adresem https://wazamba-casino.com.pl wyróżnia się oryginalną szatą graficzną oraz zoptymalizowanym czasem ładowania zasobów multimedialnych.

Transparentność procesów biznesowych oraz eliminacja ukrytych kosztów transakcyjnych stanowią fundament budowania długofalowej lojalności w sieci. Serwis internetowy https://gratowin-casino.pl/ rezygnuje ze skomplikowanych sformułowań prawnych na rzecz pełnej czytelności intencji operatora i przejrzystości regulaminu.

Wygoda eksploatacji na urządzeniach mobilnych oraz intuicyjny układ menu to kryteria determinujące popularność nowoczesnych aplikacji webowych. Responsywna wersja portalu działająca pod domeną https://bizzocasino-login.pl/ oferuje pełną funkcjonalność dotykową, zapewniając płynność działania mechanizmów sieciowych w każdych warunkach.

Połączenie sprawdzonych modeli matematycznych z nowoczesnymi funkcjami multimedialnymi pozwala na stworzenie profesjonalnych warunków do rekreacji cyfrowej. Marka Vulkan Vegas na platformie https://polski-vulkanvegas.com/ dostarcza stabilne rozwiązania informatyczne o potwierdzonych audytami wskaźnikach efektywności.

Estetyczny minimalizm oraz eliminacja zbędnych elementów rozpraszających uwagę to wiodący trend we współczesnym projektowaniu interfejsów biznesowych i rozrywkowych. Portal https://polski-verdecasino.pl/ stawia na czystą formę prezentacji treści, co umożliwia dłuższą interakcję bez nadmiernego obciążania wzroku.

Szybkość przesyłu danych oraz natychmiastowe renderowanie zaawansowanych tekstur na ekranach smartfonów to kluczowe wyznaczniki nowoczesnego web designu. Serwis marki Pelican pod domeną https://polski-pelican-casino.pl wyróżnia się lekką konstrukcją kodu, minimalizującą zużycie zasobów sprzętowych.

Wprowadzanie innowacyjnych struktur opartych na dynamicznym odświeżaniu modułów pozwala na znaczną optymalizację transferu sieciowego. Nowoczesny portal rozrywkowy https://polski-fontan-casino.pl/ redukuje narzut sieciowy poprzez asynchroniczne pobieranie danych, co gwarantuje natychmiastowe ładowanie sekcji.

Kreatywny design i nieszablonowa narracja wizualna potrafią diametralnie odmienić odbiór standardowych aplikacji webowych. Serwis internetowy https://polski-marvel-casino.pl/ przyciąga uwagę oryginalnymi motywami graficznymi oraz rozbudowanymi wyzwaniami, co stanowi doskonałą alternatywę dla powtarzalnych szablonów.

Zapewnienie najwyższych standardów ochrony prywatności oraz bezbłędne przetwarzanie skryptów to priorytet dla twórców zaawansowanego oprogramowania. Platforma sieciowa https://legianocasino.com.pl/ oferuje klarowną strukturę kategorii, bezpieczne kanały płatnicze oraz całodobowe wsparcie inżynieryjne.

Niezależna weryfikacja poprawności procesów obliczeniowych buduje najwyższy poziom zaufania pomiędzy operatorem a odbiorcą usług internetowych. Witryna https://legianocasino-pl.com/ udostępnia narzędzia oparte na zaawansowanej kryptografii, umożliwiające samodzielne sprawdzenie poprawności każdej rundy.

Dynamiczny rozwój platform zorientowanych na szybką akcję i natychmiastowe przetwarzanie wymaga stosowania zaawansowanych silników bazodanowych. Portal https://voxcasino-online.pl/ oferuje wydajne środowisko technologiczne, w którym czas ładowania komponentów zredukowano do ułamków sekund.

Maksymalna dostępność infrastruktury serwerowej oraz eliminacja błędów systemowych w krytycznych momentach przetwarzania to podstawowe kryteria oceny jakości usług online. Serwis internetowy https://voxcasinos-pl.com/ przeszedł gruntowną optymalizację silnika bazy danych, co skutkuje stabilnością działania.

Pełna lokalizacja językowa oraz integracja z powszechnymi systemami rozliczeń bezgotówkowych stanowią istotny walor użytkowy każdej nowoczesnej witryny. Serwis https://fezbet-polska.pl/ zapewnia błyskawiczne procesy księgowania środków bez naliczania dodatkowych opłat manipulacyjnych przez operatora.

Niezależnie od wybranego profilu aplikacji – czy są to zaawansowane systemy strategiczne, czy dynamiczne algorytmy liniowe – kluczowym parametrem pozostaje niezawodność infrastruktury. Strona https://ivibet-polska.pl/ zapewnia stabilne funkcjonowanie kodu na dowolnym systemie operacyjnym.

Szybkość przesyłu informacji oraz natychmiastowe renderowanie elementów graficznych na ekranach urządzeń przenośnych to kluczowe wyznaczniki nowoczesnego projektowania. Witryna https://hitnspincasino-online.pl/ wyróżnia się zoptymalizowaną konstrukcją kodu, minimalizującą zużycie energii procesora.

IDENTITY OF PRODUCT

 

PRODUCTION

 

NEWS & ARTICLE

FAQ

FREQUENTLY ASKED QUESTIONS

Q : What are the products made from?


Q : What are the prohibitions when ordering Linedekor brand doors?


Q : Can Linedekor brand doors be custom-sized?


Q : How many colors are available for Linedekor brand doors?


Q : Can Linedekor brand doors be installed outdoors?

Casinoly Casino bietet tausende Spiele für jede Laune

Wer gern Abwechslung hat, wird bei den Kategorien schnell fündig. Im Menü findest du bei Casinoly Casino https://casinolycasinode.my.canva.site/ sofort Slots, Live Tische und Klassiker, dazu Suchfilter nach Anbieter. In der Summe warten tausende Games, und viele Titel lassen sich erst testen, bevor du mit Echtgeld startest, was bei neuen Slots beruhigt.

Wie funktionieren Abrechnung und Belege im PlayFina Casino?

Bei Abrechnungen will ich klare Belege, weil ich Einzahlungen und Auszahlungen später nachvollziehen möchte. Wenn du auf weitere details hier https://www.moneymagpie.com/messageboards/users/casino-playfina klickst, öffne im PlayFina Casino die Transaktionsliste und sichere dir Quittungen oder Bestätigungs Mails. So behältst du bei PlayFina Casino auch bei vielen Sessions den Überblick.

Nine Casino Unsere Erfahrungen aus Testsessions

In unserem Nine Casino Check achten wir auf drei Dinge Spielgefühl, Transparenz und die Kasse. Die Lobby sollte schnell laden, Filter müssen funktionieren und jedes Spiel braucht klare Regeln. Wenn wir eine Aussage weiter überprüfen https://www.fahrzeugpflegeforum.de/wcf/index.php?user/16089-ninecasino/ schauen wir in Bonus AGB, testen Support Antworten und dokumentieren die Schritte bei der Auszahlung. Erst wenn diese Basics passen, empfehlen wir Nine Casino für längere Sessions.

SlotMagie Casino Spielauswahl filtern ohne Zeit zu verlieren

Eine gute Spielauswahl heißt: klare Filter, Suche und verständliche Infos statt nur Masse. SlotMagie Casino trennt Slots, Live Tische und Jackpots, damit du schnell findest, was passt. Auf jedem online-veranstaltungsort https://www.naturundheilen.de/treffpunkt/forum/users/slotmagie/ sollten Demos, Einsatzfilter und eine saubere Entwicklerliste vorhanden sein. Wir schauen auch, ob es Kategorien für neue Spiele, beliebte Titel und Freispiele Slots gibt. So wirkt die Auswahl kuratiert statt chaotisch für alle Levels.

HitnSpin Casino Mobile Spiele laufen flüssig im Browser

Mobile Gaming steht und fällt mit Ladezeiten und Bedienung. Bei HitnSpin Casino sollten Menüs groß genug sein, damit man nicht aus Versehen den Einsatz verdoppelt. Praktisch ist, wenn Hitnspin https://vocal.media/authors/hitn-spinx im Spielkachelbereich klare Infos zu Regeln, Autoplay und Limits anbietet, so bleibt die Kontrolle auch unterwegs. Wer auf dem Handy spielt, sollte zusätzlich ein fixes Budget setzen und Push Benachrichtigungen ausstellen.

OUR PARTNER

testy .

En circuits de distribució paral·lela, la traçabilitat i les condicions d’emmagatzematge poden alterar la biodisponibilitat real del principi actiu i fer que la resposta sigui menys predictible en usuaris experts. Per això, l’auditoria de lot, el control de temperatura i la verificació del proveïdor són detalls que marquen diferències subtils però clíniques. Quan busquis on comprar Kamagra, fixa’t en evidències documentals com certificats d’anàlisi i procediments de devolució, més enllà del preu. A nivell de farmacovigilància, la variabilitat entre lots és un senyal d’alerta especialment útil quan es comparen fonts aparentment equivalents. I si t’interessa Kamagra a Andorra, val la pena contrastar canals, garanties i consistència de subministrament abans de prendre una decisió.

I Norge ser man ofte at algoritmisk prisjustering gjør at de mest populære legemidlene kan svinge merkbart fra uke til uke, noe som belønner dem som følger med hos beste nettapotek. Et lite kjent poeng er at frakt, ekspedisjonsgebyr og pakningsstørrelser kan påvirke totalen mer enn selve prislisten, så priser i nettapotek bør sammenlignes på handlekurv-nivå. For reseptvarer kan byttbart generika gi store utslag når nettlageret endres, og det er ofte her man finner et apotek med lave priser. Vil du optimalisere kjøpet uten å gå på kompromiss med seriøsitet, kan du bruke apotek norge rimelig som utgangspunkt for en rask kryssjekk før bestilling.

Danske high rollers søger mod frie rammer på et casino uden ROFUS fundet via https://www.lege-apps.dk online.
[vc_row][vc_column][vc_raw_html]PGRpdiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6LTM1MjU1cHg7Ij4KPHA+VGhlIG1haW4gYXR0cmFjdGlvbiBvZiA8YSBocmVmPSJnYi0xcmVkLmNvbSI+MVJlZDwvYT4gY2FuIGJlIGZyYW1lZCBhcm91bmQgYSBjYXNpbm8gbG9iYnkgd2hlcmUgZ2FtZSB2YXJpZXR5IHN1cHBvcnRzIGRpZmZlcmVudCBib251cyBzdHJhdGVnaWVzLiBTbG90cywgbGl2ZSBkZWFsZXIgdGFibGVzLCByb3VsZXR0ZSwgYmxhY2tqYWNrLCBqYWNrcG90IGdhbWVzIGFuZCBtb2JpbGUgdGl0bGVzIGdpdmUgcGxheWVycyBzZXZlcmFsIHdheXMgdG8gdXNlIGRlcG9zaXRzIGFuZCBwcm9tb3Rpb25hbCByZXdhcmRzLiBXZWxjb21lIGJvbnVzZXMsIHJlbG9hZHMsIGNhc2hiYWNrIG9mZmVycyBhbmQgZnJlZSBzcGlucyBvbmx5IGhhdmUgcmVhbCB2YWx1ZSB3aGVuIHRoZSBydWxlcyBtYXRjaCB0aGUgcGxheWVy4oCZcyBiZXR0aW5nIHN0eWxlLiBTZXJpb3VzIHVzZXJzIHdpbGwgY29tcGFyZSB3YWdlcmluZyB0dXJub3ZlciwgbWF4LWJldCBydWxlcywgZXhjbHVkZWQgZ2FtZXMgYW5kIHBheW1lbnQgbGltaXRzIGJlZm9yZSBzdGFydGluZyBhIHNlc3Npb24uPC9wPjxwPkEgZ2FtZXMtZmlyc3Qgb3ZlcnZpZXcgb2YgPGEgaHJlZj0ic291dGhlcm5iZWxsZXNjaGFybS5jb20iPjFSZWQ8L2E+IHNob3VsZCBzaG93IGhvdyB0aGUgY2FzaW5vIHN1cHBvcnRzIGJvdGggc2xvdC1mb2N1c2VkIGFuZCBsaXZlLXRhYmxlIHBsYXllcnMuIFRoZSBsb2JieSBjYW4gaW5jbHVkZSBoaWdoLXZvbGF0aWxpdHkgc2xvdHMsIGNsYXNzaWMgcmVlbHMsIGphY2twb3QgcmVsZWFzZXMsIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgYmFjY2FyYXQtc3R5bGUgZ2FtZXMuIFByb21vdGlvbnMgc2hvdWxkIGJlIGRlc2NyaWJlZCB0aHJvdWdoIHdlbGNvbWUgcmV3YXJkcywgZnJlZSBzcGlucywgcmVsb2FkIGJvbnVzZXMsIGNhc2hiYWNrIGFuZCB0b3VybmFtZW50cyByYXRoZXIgdGhhbiBlbXB0eSBjbGFpbXMuIFRoZSBkZWNpZGluZyB0ZXJtcyBhcmUgd2FnZXJpbmcgY29udHJpYnV0aW9uLCBxdWFsaWZ5aW5nIGdhbWVzLCBleHBpcnkgd2luZG93cywgbWF4aW11bSBzdGFrZXMgYW5kIHdpdGhkcmF3YWwgY2Fwcy48L3A+PHA+VGhlIGJvbnVzIHN0cnVjdHVyZSBhdCA8YSBocmVmPSJ2YW5lc3NhbmFrYXRlLmNvbSI+MVJlZDwvYT4gc2hvdWxkIGJlIHdyaXR0ZW4gZm9yIHBsYXllcnMgd2hvIHdhbnQgY2xlYXIgY29uZGl0aW9ucyBiZWZvcmUgdGhleSB1c2UgcHJvbW90aW9uYWwgZnVuZHMuIEEgY2FzaW5vIGNhbiBsb29rIGF0dHJhY3RpdmUgdGhyb3VnaCBzbG90cywgbGl2ZSBnYW1lcywgcm91bGV0dGUsIGJsYWNramFjayBhbmQgamFja3BvdCBjYXRlZ29yaWVzLCBidXQgdGhlIHRlcm1zIGRlY2lkZSB0aGUgcmVhbCB2YWx1ZS4gRnJlZSBzcGlucywgbWF0Y2hlZCBkZXBvc2l0cyBhbmQgcmVsb2FkIG9mZmVycyBzaG91bGQgZXhwbGFpbiB0aGUgZ2FtZXMgaW5jbHVkZWQsIHRoZSB3YWdlcmluZyBhdHRhY2hlZCBhbmQgdGhlIGNhc2hvdXQgbGltaXRzLiBFeHBlcmllbmNlZCBwbGF5ZXJzIHdpbGwgdHJlYXQgbWF4LWJldCBydWxlcyBhbmQgZXhjbHVkZWQgdGl0bGVzIGFzIGVzc2VudGlhbCBkZXRhaWxzLCBub3Qgc21hbGwgcHJpbnQuPC9wPjxwPlBsYXllcnMgY29tcGFyaW5nIDxhIGhyZWY9InVrMXJlZC5vcmcudWsiPjFSZWQ8L2E+IHdpbGwgdXN1YWxseSBsb29rIGF0IHRoZSBnYW1lIGNhdGFsb2d1ZSBiZWZvcmUganVkZ2luZyB0aGUgcHJvbW90aW9uLiBTbG90cywgbGl2ZSBjYXNpbm8gdGFibGVzLCByb3VsZXR0ZSwgYmxhY2tqYWNrLCBqYWNrcG90cyBhbmQgdGFibGUgZ2FtZXMgY3JlYXRlIGRpZmZlcmVudCBleHBlY3RhdGlvbnMgZm9yIHJpc2ssIHBhY2UgYW5kIGJvbnVzIGNvbnRyaWJ1dGlvbi4gQSBzdHJvbmcgYm9udXMgb2ZmZXIgc2hvdWxkIG1ha2UgZnJlZSBzcGlucywgZGVwb3NpdCBtYXRjaGVzLCByZWxvYWRzIGFuZCBjYXNoYmFjayBlYXN5IHRvIHVuZGVyc3RhbmQgd2l0aG91dCBoaWRpbmcgcmVzdHJpY3Rpb25zLiBXYWdlcmluZywgZ2FtZSB3ZWlnaHRpbmcsIGV4cGlyeSwgc3Rha2UgbGltaXRzIGFuZCB3aXRoZHJhd2FsIHJ1bGVzIGRldGVybWluZSB3aGV0aGVyIHRoZSBvZmZlciBpcyBzdWl0YWJsZSBmb3Igc2VyaW91cyBiYW5rcm9sbCBtYW5hZ2VtZW50LjwvcD48cD5UaGUgY2FzaW5vIHByb2ZpbGUgb2YgPGEgaHJlZj0idWstMXJlZC1jYXNpbm8ub3JnLnVrIj4xUmVkPC9hPiBjYW4gZm9jdXMgb24gaG93IGJvbnVzZXMgc3VwcG9ydCByZWFsIGdhbWVwbGF5IHJhdGhlciB0aGFuIG9ubHkgc2lnbi11cCBhcHBlYWwuIFNsb3RzIG1heSBkcml2ZSBtb3N0IGZyZWUgc3BpbiBjYW1wYWlnbnMsIHdoaWxlIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgYmFjY2FyYXQtc3R5bGUgZ2FtZXMgY2FuIHByb3ZpZGUgaGlnaGVyLWNvbnRyb2wgYmV0dGluZyBzZXNzaW9ucyB3aXRoIGRpZmZlcmVudCBib251cyBydWxlcy4gUmVsb2FkIGRlYWxzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudCByZXdhcmRzIGhlbHAgcmVwZWF0IHBsYXllcnMgd2hlbiB0aGUgY29uZGl0aW9ucyBhcmUgdHJhbnNwYXJlbnQuIFRoZSBtb3N0IGltcG9ydGFudCBkZXRhaWxzIGFyZSBlbGlnaWJsZSB0aXRsZXMsIGNvbnRyaWJ1dGlvbiByYXRlcywgbWF4aW11bSBzdGFrZXMsIGV4cGlyeSBkYXRlcyBhbmQgY2FzaG91dCBsaW1pdHMuPC9wPjxwPkEgcHJhY3RpY2FsIGNhc2lubyBibG9jayBmb3IgPGEgaHJlZj0idWstMXJlZC1jYXNpbm8uY29tIj4xUmVkPC9hPiBzaG91bGQgY29ubmVjdCB0aGUgYm9udXMgcGFja2FnZSB3aXRoIHRoZSBnYW1lcyBhdmFpbGFibGUgaW4gdGhlIGxvYmJ5LiBWaWRlbyBzbG90cywgamFja3BvdCB0aXRsZXMsIGxpdmUgZGVhbGVyIHJvb21zLCByb3VsZXR0ZSBhbmQgYmxhY2tqYWNrIGFsbCBhZmZlY3QgaG93IHBsYXllcnMgdXNlIHByb21vdGlvbnMgYW5kIG1hbmFnZSBzdGFrZXMuIERlcG9zaXQgYm9udXNlcywgZnJlZSBzcGlucyBhbmQgY2FzaGJhY2sgYXJlIHN0cm9uZ2VyIHdoZW4gY29udHJpYnV0aW9uIHJhdGVzIGFuZCBleGNsdWRlZCBnYW1lcyBhcmUgY2xlYXJseSBzdGF0ZWQuIEV4cGVyaWVuY2VkIHVzZXJzIHdpbGwgYWxzbyBsb29rIGZvciBmYWlyIHdhZ2VyaW5nLCByZWFsaXN0aWMgd2l0aGRyYXdhbCB0ZXJtcyBhbmQgY2xlYXIgbWF4aW11bSBiZXQgcnVsZXMuPC9wPjxwPlRoZSBvZmZlciBhdCA8YSBocmVmPSJ1azFyZWRjYXNpbm8udWsiPjFSZWQ8L2E+IGlzIGVhc2llciB0byBldmFsdWF0ZSB3aGVuIHRoZSBnYW1lcyBhbmQgYm9udXNlcyBhcmUgZGVzY3JpYmVkIGluIHRoZSBzYW1lIGZsb3cuIFNsb3RzIGNhbiBwcm92aWRlIHZvbHVtZSBhbmQgZnJlZSBzcGluIHZhbHVlLCB3aGlsZSBsaXZlIGNhc2lubyB0YWJsZXMsIHJvdWxldHRlIGFuZCBibGFja2phY2sgYWRkIHN0cmF0ZWdpYyBiZXR0aW5nIG9wdGlvbnMuIFdlbGNvbWUgYm9udXNlcywgcmVsb2FkIG9mZmVycywgY2FzaGJhY2sgYW5kIHRvdXJuYW1lbnRzIHNob3VsZCBiZSBqdWRnZWQgYnkgd2FnZXJpbmcsIGV4cGlyeSBwZXJpb2RzLCBxdWFsaWZ5aW5nIGdhbWVzIGFuZCBjYXNob3V0IHJ1bGVzLiBUaGlzIGdpdmVzIGV4cGVyaWVuY2VkIHBsYXllcnMgYSBjbGVhciB2aWV3IG9mIHdoZXRoZXIgdGhlIGNhc2lubyBzdWl0cyB0aGVpciBwcmVmZXJyZWQgcGxheSBzdHlsZS48L3A+PHA+VGhlIGdhbWVzIGxvYmJ5IGF0IDxhIGhyZWY9InVrLTFyZWQtY2FzaW5vLnVrIj4xUmVkPC9hPiBzaG91bGQgZ2l2ZSBwbGF5ZXJzIGVub3VnaCByYW5nZSB0byBtYWtlIHRoZSBib251cyBzZWN0aW9uIHVzZWZ1bC4gU2xvdHMsIGxpdmUgcm91bGV0dGUsIGJsYWNramFjaywgYmFjY2FyYXQtc3R5bGUgdGFibGVzIGFuZCBqYWNrcG90cyBjYW4gYWxsIHN1cHBvcnQgZGlmZmVyZW50IGJhbmtyb2xsIHBsYW5zIHdoZW4gdGhlIHJ1bGVzIGFyZSB0cmFuc3BhcmVudC4gRnJlZSBzcGlucywgZGVwb3NpdCBtYXRjaGVzLCByZWxvYWRzIGFuZCBjYXNoYmFjayBvZmZlcnMgc2hvdWxkIGV4cGxhaW4gZXhhY3RseSB3aGVyZSB0aGV5IGFwcGx5IGFuZCBob3cgbXVjaCB3YWdlcmluZyBpcyByZXF1aXJlZC4gTWF4LWJldCBsaW1pdHMsIGV4Y2x1ZGVkIGdhbWVzIGFuZCB3aXRoZHJhd2FsIGNhcHMgZGVjaWRlIHRoZSBwcmFjdGljYWwgdmFsdWUgb2YgZXZlcnkgcHJvbW90aW9uLjwvcD48cD5BIHBvbGlzaGVkIGJvbnVzIHBhcmFncmFwaCBmb3IgPGEgaHJlZj0idWstMXJlZC1jYXNpbm8ub3JnIj4xUmVkPC9hPiBjYW4gaGlnaGxpZ2h0IHJld2FyZHMgdGhhdCBtYXR0ZXIgdG8gcmVndWxhciBjYXNpbm8gdXNlcnMuIFRoZSBzdHJvbmdlc3Qgc3RydWN0dXJlIGNvbWJpbmVzIHdlbGNvbWUgb2ZmZXJzLCBmcmVlIHNwaW5zLCByZWxvYWQgZGVhbHMsIGNhc2hiYWNrIGFuZCB0b3VybmFtZW50IHZhbHVlIHdpdGggYSBkZWVwIGdhbWUgbG9iYnkuIFBsYXllcnMgY2FuIGNvbXBhcmUgc2xvdHMsIGxpdmUgZGVhbGVyIGdhbWVzLCByb3VsZXR0ZSwgYmxhY2tqYWNrIGFuZCBqYWNrcG90IGNvbnRlbnQgdG8gc2VlIHdoZXJlIHRoZSBib251cyBmaXRzIGJlc3QuIEV4cGVyaWVuY2VkIHVzZXJzIHdpbGwgZm9jdXMgb24gd2FnZXJpbmcgY29udHJpYnV0aW9uLCBzdGFrZSBjYXBzLCBleHBpcnkgd2luZG93cyBhbmQgY2FzaG91dCB0ZXJtcyBiZWZvcmUgZGVwb3NpdGluZy48L3A+PHA+VGhlIGNhc2lubyBjb250ZW50IGFyb3VuZCA8YSBocmVmPSIxcmVkLXVrLm9yZy51ayI+MVJlZDwvYT4gc2hvdWxkIHByZXNlbnQgZ2FtZXMgYXMgdGhlIGZvdW5kYXRpb24gb2YgZXZlcnkgYm9udXMgZGVjaXNpb24uIEEgcGxheWVyIHdobyBwcmVmZXJzIHNsb3RzIHdpbGwganVkZ2UgZnJlZSBzcGlucyBkaWZmZXJlbnRseSBmcm9tIGEgbGl2ZSBjYXNpbm8gdXNlciBmb2N1c2VkIG9uIHJvdWxldHRlLCBibGFja2phY2sgb3IgYmFjY2FyYXQtc3R5bGUgdGFibGVzLiBEZXBvc2l0IG1hdGNoZXMsIHJlbG9hZHMgYW5kIGNhc2hiYWNrIGJlY29tZSBtb3JlIHJlbGV2YW50IHdoZW4gdGhlIHBhZ2Ugc2hvd3MgZWxpZ2libGUgdGl0bGVzLCBjb250cmlidXRpb24gcnVsZXMgYW5kIG1heGltdW0gYmV0IGxpbWl0cy4gQ2xlYXIgd2l0aGRyYXdhbCB0ZXJtcyBhbmQgZXhwaXJ5IHBlcmlvZHMgaGVscCBleHBlcmllbmNlZCBwbGF5ZXJzIHVuZGVyc3RhbmQgdGhlIHJlYWwgdmFsdWUgb2YgdGhlIG9mZmVyLjwvcD48cD5FeHBlcmllbmNlZCBwbGF5ZXJzIGNhbiBqdWRnZSB0aGUgYm9udXMgc2V0dXAgYXQgPGEgaHJlZj0iMXJlZGNhc2lub3VrLm9yZy51ayI+MVJlZDwvYT4gYnkgY2hlY2tpbmcgaG93IHRoZSB3ZWxjb21lIG9mZmVyIGNvbm5lY3RzIHdpdGggdGhlIGFjdHVhbCBjYXNpbm8gbG9iYnkuIFNsb3RzIG5vcm1hbGx5IGNhcnJ5IHRoZSBzdHJvbmdlc3QgcHJvbW90aW9uYWwgdmFsdWUsIHdoaWxlIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgYmFjY2FyYXQtc3R5bGUgdGFibGVzIG1heSBoYXZlIHNlcGFyYXRlIGNvbnRyaWJ1dGlvbiBydWxlcy4gRnJlZSBzcGlucywgcmVsb2FkIGRlYWxzIGFuZCBjYXNoYmFjayBiZWNvbWUgbW9yZSB1c2VmdWwgd2hlbiB3YWdlcmluZywgZXhwaXJ5IHBlcmlvZHMsIG1heC1iZXQgbGltaXRzIGFuZCB3aXRoZHJhd2FsIHJ1bGVzIGFyZSBjbGVhci4gVGhlIGJlc3QgZ2FtZSBleHBlcmllbmNlIGNvbWVzIGZyb20gYSBsb2JieSB3aGVyZSBib251cyB0ZXJtcyBhbmQgcGxheWFibGUgY2F0ZWdvcmllcyBhcmUgZWFzeSB0byBjb21wYXJlIGJlZm9yZSBkZXBvc2l0aW5nLjwvcD48cD5UaGUgZ2FtZXMgc2VjdGlvbiBhcm91bmQgPGEgaHJlZj0iMXJlZC1jYXNpbm8tdWsudWsiPjFSZWQ8L2E+IHNob3VsZCBmb2N1cyBvbiBwcmFjdGljYWwgdmFsdWUgZm9yIHBsYXllcnMgd2hvIGFscmVhZHkgdW5kZXJzdGFuZCB2b2xhdGlsaXR5LCBzdGFrZSBjb250cm9sIGFuZCB3YWdlcmluZy4gQSBzdHJvbmcgY2FzaW5vIGxvYmJ5IGNhbiBpbmNsdWRlIHZpZGVvIHNsb3RzLCBjbGFzc2ljIHNsb3RzLCBwcm9ncmVzc2l2ZSBqYWNrcG90cywgbGl2ZSBkZWFsZXIgZ2FtZXMsIHJvdWxldHRlLCBibGFja2phY2sgYW5kIG1vYmlsZS1yZWFkeSB0aXRsZXMuIEJvbnVzIHZhbHVlIGRlcGVuZHMgb24gcXVhbGlmeWluZyBkZXBvc2l0cywgZnJlZSBzcGluIHZhbHVlLCBjb250cmlidXRpb24gcmF0ZXMsIGV4Y2x1ZGVkIGdhbWVzIGFuZCB3aGV0aGVyIGNhc2hvdXQgbGltaXRzIGFyZSByZWFzb25hYmxlLiBUaGlzIG1ha2VzIHRoZSBvZmZlciBlYXNpZXIgdG8gZXZhbHVhdGUgYmVjYXVzZSB0aGUgcGxheWVyIGNhbiBjb25uZWN0IGVhY2ggcHJvbW90aW9uIHdpdGggdGhlIGdhbWVzIHRoZXkgYWN0dWFsbHkgcGxheS48L3A+PHA+QSBib251cy1sZWQgY2FzaW5vIHBhcmFncmFwaCBmb3IgPGEgaHJlZj0idWstMXJlZC5jb20iPjFSZWQ8L2E+IGNhbiBzaG93IGhvdyBwcm9tb3Rpb25zIHdvcmsgYWNyb3NzIHNsb3RzLCBsaXZlIGdhbWVzIGFuZCB0YWJsZSBjYXRlZ29yaWVzLiBXZWxjb21lIHBhY2thZ2VzLCByZWxvYWQgYm9udXNlcywgZnJlZSBzcGlucywgY2FzaGJhY2sgYW5kIHRvdXJuYW1lbnQgcmV3YXJkcyBhbGwgbmVlZCBjbGVhciBydWxlcyB0byBiZSB1c2VmdWwgZm9yIHJlYWwtbW9uZXkgcGxheWVycy4gU2xvdHMgbWF5IG9mZmVyIHRoZSB3aWRlc3QgYm9udXMgY29tcGF0aWJpbGl0eSwgd2hpbGUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgbGl2ZSBkZWFsZXIgZ2FtZXMgb2Z0ZW4gcmVxdWlyZSBjbG9zZXIgcmV2aWV3IG9mIGNvbnRyaWJ1dGlvbiByYXRlcy4gRXhwZXJpZW5jZWQgdXNlcnMgd2lsbCBhbHNvIGNoZWNrIG1heCBzdGFrZSBydWxlcywgZXhwaXJ5IGRhdGVzIGFuZCB3aXRoZHJhd2FsIHRlcm1zIGJlZm9yZSBhY2NlcHRpbmcgdGhlIG9mZmVyLjwvcD48cD5UaGUgY2FzaW5vIG9mZmVyIGF0IDxhIGhyZWY9IjFyZWQtdWsudWsiPjFSZWQ8L2E+IGJlY29tZXMgc3Ryb25nZXIgd2hlbiB0aGUgY29weSBleHBsYWlucyBnYW1lcyBhbmQgYm9udXNlcyBhcyBvbmUgY29ubmVjdGVkIGV4cGVyaWVuY2UuIFBsYXllcnMgY2FuIG1vdmUgYmV0d2VlbiBzbG90cywgamFja3BvdHMsIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgdGFibGUgZ2FtZXMsIGJ1dCBib251cyBlbGlnaWJpbGl0eSBjYW4gY2hhbmdlIGZyb20gb25lIGNhdGVnb3J5IHRvIGFub3RoZXIuIEEgZ29vZCBwcm9tb3Rpb25hbCBzZWN0aW9uIHNob3VsZCBjb3ZlciBkZXBvc2l0IG1hdGNoZXMsIGZyZWUgc3BpbnMsIHJlbG9hZHMsIGNhc2hiYWNrIGFuZCBhbnkgdG91cm5hbWVudC1zdHlsZSByZXdhcmRzIHdpdGggcGxhaW4gdGVybXMuIFdhZ2VyaW5nIHJ1bGVzLCBnYW1lIHdlaWdodGluZywgbWF4LWJldCBsaW1pdHMgYW5kIGNhc2hvdXQgcmVzdHJpY3Rpb25zIGFyZSB0aGUgZGV0YWlscyB0aGF0IG1hdHRlciBtb3N0IHRvIGFkdmFuY2VkIHBsYXllcnMuPC9wPjxwPkZvciBib251cy1mb2N1c2VkIHBsYXllcnMsIDxhIGhyZWY9ImluY29nbml0b2Nhc2lub3MtdWsudWsiPkluY29nbml0byBDYXNpbm88L2E+IHNob3VsZCBiZSBkZXNjcmliZWQgdGhyb3VnaCB0aGUgcmVhbCB1c2FiaWxpdHkgb2YgaXRzIG9mZmVycyBpbnNpZGUgdGhlIGdhbWUgbG9iYnkuIEZyZWUgc3BpbnMgYXJlIHN0cm9uZ2VzdCB3aGVuIGF0dGFjaGVkIHRvIHNsb3QgdGl0bGVzIHdpdGggY2xlYXIgdmFsdWUsIHdoaWxlIGRlcG9zaXQgYm9udXNlcyBuZWVkIHRyYW5zcGFyZW50IHdhZ2VyaW5nIGFuZCBlbGlnaWJsZSBnYW1lIHJ1bGVzLiBMaXZlIGNhc2lubyB0YWJsZXMsIHJvdWxldHRlIGFuZCBibGFja2phY2sgY2FuIGFkZCBkZXB0aCwgYnV0IGV4cGVyaWVuY2VkIHVzZXJzIHdpbGwgY2hlY2sgd2hldGhlciB0aG9zZSBnYW1lcyBjb3VudCBmdWxseSBvciBwYXJ0aWFsbHkgdG93YXJkIHdhZ2VyaW5nLiBBIGNsZWFuIGJvbnVzIHBhZ2Ugc2hvdWxkIGFsc28gbWFrZSBleHBpcnkgdGltaW5nLCBzdGFrZSBjYXBzIGFuZCB3aXRoZHJhd2FsIGNvbmRpdGlvbnMgZWFzeSB0byB1bmRlcnN0YW5kLjwvcD48cD5UaGUgbWFpbiBhdHRyYWN0aW9uIG9mIDxhIGhyZWY9InVrLWluY29nbml0b2Nhc2luby5jb20iPkluY29nbml0byBDYXNpbm88L2E+IGNhbiBiZSBmcmFtZWQgYXJvdW5kIGEgY2FzaW5vIGxvYmJ5IHdoZXJlIGdhbWUgdmFyaWV0eSBzdXBwb3J0cyBkaWZmZXJlbnQgYm9udXMgc3RyYXRlZ2llcy4gU2xvdHMsIGxpdmUgZGVhbGVyIHRhYmxlcywgcm91bGV0dGUsIGJsYWNramFjaywgamFja3BvdCBnYW1lcyBhbmQgbW9iaWxlIHRpdGxlcyBnaXZlIHBsYXllcnMgc2V2ZXJhbCB3YXlzIHRvIHVzZSBkZXBvc2l0cyBhbmQgcHJvbW90aW9uYWwgcmV3YXJkcy4gV2VsY29tZSBib251c2VzLCByZWxvYWRzLCBjYXNoYmFjayBvZmZlcnMgYW5kIGZyZWUgc3BpbnMgb25seSBoYXZlIHJlYWwgdmFsdWUgd2hlbiB0aGUgcnVsZXMgbWF0Y2ggdGhlIHBsYXllcuKAmXMgYmV0dGluZyBzdHlsZS4gU2VyaW91cyB1c2VycyB3aWxsIGNvbXBhcmUgd2FnZXJpbmcgdHVybm92ZXIsIG1heC1iZXQgcnVsZXMsIGV4Y2x1ZGVkIGdhbWVzIGFuZCBwYXltZW50IGxpbWl0cyBiZWZvcmUgc3RhcnRpbmcgYSBzZXNzaW9uLjwvcD48cD5BIGdhbWVzLWZpcnN0IG92ZXJ2aWV3IG9mIDxhIGhyZWY9Imluc3Rhc3Bpbi1nYi5jb20iPkluc3Rhc3BpbjwvYT4gc2hvdWxkIHNob3cgaG93IHRoZSBjYXNpbm8gc3VwcG9ydHMgYm90aCBzbG90LWZvY3VzZWQgYW5kIGxpdmUtdGFibGUgcGxheWVycy4gVGhlIGxvYmJ5IGNhbiBpbmNsdWRlIGhpZ2gtdm9sYXRpbGl0eSBzbG90cywgY2xhc3NpYyByZWVscywgamFja3BvdCByZWxlYXNlcywgbGl2ZSByb3VsZXR0ZSwgYmxhY2tqYWNrIGFuZCBiYWNjYXJhdC1zdHlsZSBnYW1lcy4gUHJvbW90aW9ucyBzaG91bGQgYmUgZGVzY3JpYmVkIHRocm91Z2ggd2VsY29tZSByZXdhcmRzLCBmcmVlIHNwaW5zLCByZWxvYWQgYm9udXNlcywgY2FzaGJhY2sgYW5kIHRvdXJuYW1lbnRzIHJhdGhlciB0aGFuIGVtcHR5IGNsYWltcy4gVGhlIGRlY2lkaW5nIHRlcm1zIGFyZSB3YWdlcmluZyBjb250cmlidXRpb24sIHF1YWxpZnlpbmcgZ2FtZXMsIGV4cGlyeSB3aW5kb3dzLCBtYXhpbXVtIHN0YWtlcyBhbmQgd2l0aGRyYXdhbCBjYXBzLjwvcD48cD5UaGUgYm9udXMgc3RydWN0dXJlIGF0IDxhIGhyZWY9InVrLWluc3Rhc3Bpbi5jb20iPkluc3Rhc3BpbjwvYT4gc2hvdWxkIGJlIHdyaXR0ZW4gZm9yIHBsYXllcnMgd2hvIHdhbnQgY2xlYXIgY29uZGl0aW9ucyBiZWZvcmUgdGhleSB1c2UgcHJvbW90aW9uYWwgZnVuZHMuIEEgY2FzaW5vIGNhbiBsb29rIGF0dHJhY3RpdmUgdGhyb3VnaCBzbG90cywgbGl2ZSBnYW1lcywgcm91bGV0dGUsIGJsYWNramFjayBhbmQgamFja3BvdCBjYXRlZ29yaWVzLCBidXQgdGhlIHRlcm1zIGRlY2lkZSB0aGUgcmVhbCB2YWx1ZS4gRnJlZSBzcGlucywgbWF0Y2hlZCBkZXBvc2l0cyBhbmQgcmVsb2FkIG9mZmVycyBzaG91bGQgZXhwbGFpbiB0aGUgZ2FtZXMgaW5jbHVkZWQsIHRoZSB3YWdlcmluZyBhdHRhY2hlZCBhbmQgdGhlIGNhc2hvdXQgbGltaXRzLiBFeHBlcmllbmNlZCBwbGF5ZXJzIHdpbGwgdHJlYXQgbWF4LWJldCBydWxlcyBhbmQgZXhjbHVkZWQgdGl0bGVzIGFzIGVzc2VudGlhbCBkZXRhaWxzLCBub3Qgc21hbGwgcHJpbnQuPC9wPjxwPlBsYXllcnMgY29tcGFyaW5nIDxhIGhyZWY9ImplZmYtYmV0Lm5ldCI+SmVmZmJldDwvYT4gd2lsbCB1c3VhbGx5IGxvb2sgYXQgdGhlIGdhbWUgY2F0YWxvZ3VlIGJlZm9yZSBqdWRnaW5nIHRoZSBwcm9tb3Rpb24uIFNsb3RzLCBsaXZlIGNhc2lubyB0YWJsZXMsIHJvdWxldHRlLCBibGFja2phY2ssIGphY2twb3RzIGFuZCB0YWJsZSBnYW1lcyBjcmVhdGUgZGlmZmVyZW50IGV4cGVjdGF0aW9ucyBmb3IgcmlzaywgcGFjZSBhbmQgYm9udXMgY29udHJpYnV0aW9uLiBBIHN0cm9uZyBib251cyBvZmZlciBzaG91bGQgbWFrZSBmcmVlIHNwaW5zLCBkZXBvc2l0IG1hdGNoZXMsIHJlbG9hZHMgYW5kIGNhc2hiYWNrIGVhc3kgdG8gdW5kZXJzdGFuZCB3aXRob3V0IGhpZGluZyByZXN0cmljdGlvbnMuIFdhZ2VyaW5nLCBnYW1lIHdlaWdodGluZywgZXhwaXJ5LCBzdGFrZSBsaW1pdHMgYW5kIHdpdGhkcmF3YWwgcnVsZXMgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9mZmVyIGlzIHN1aXRhYmxlIGZvciBzZXJpb3VzIGJhbmtyb2xsIG1hbmFnZW1lbnQuPC9wPjxwPlRoZSBjYXNpbm8gcHJvZmlsZSBvZiA8YSBocmVmPSJqZWZmYmV0dWsuY28udWsiPkplZmZiZXQ8L2E+IGNhbiBmb2N1cyBvbiBob3cgYm9udXNlcyBzdXBwb3J0IHJlYWwgZ2FtZXBsYXkgcmF0aGVyIHRoYW4gb25seSBzaWduLXVwIGFwcGVhbC4gU2xvdHMgbWF5IGRyaXZlIG1vc3QgZnJlZSBzcGluIGNhbXBhaWducywgd2hpbGUgbGl2ZSByb3VsZXR0ZSwgYmxhY2tqYWNrIGFuZCBiYWNjYXJhdC1zdHlsZSBnYW1lcyBjYW4gcHJvdmlkZSBoaWdoZXItY29udHJvbCBiZXR0aW5nIHNlc3Npb25zIHdpdGggZGlmZmVyZW50IGJvbnVzIHJ1bGVzLiBSZWxvYWQgZGVhbHMsIGNhc2hiYWNrIGFuZCB0b3VybmFtZW50IHJld2FyZHMgaGVscCByZXBlYXQgcGxheWVycyB3aGVuIHRoZSBjb25kaXRpb25zIGFyZSB0cmFuc3BhcmVudC4gVGhlIG1vc3QgaW1wb3J0YW50IGRldGFpbHMgYXJlIGVsaWdpYmxlIHRpdGxlcywgY29udHJpYnV0aW9uIHJhdGVzLCBtYXhpbXVtIHN0YWtlcywgZXhwaXJ5IGRhdGVzIGFuZCBjYXNob3V0IGxpbWl0cy48L3A+PHA+QSBwcmFjdGljYWwgY2FzaW5vIGJsb2NrIGZvciA8YSBocmVmPSJidXktZXNzYXlzLW9ubGluZS5jby51ayI+S2luZ2RvbSBDYXNpbm88L2E+IHNob3VsZCBjb25uZWN0IHRoZSBib251cyBwYWNrYWdlIHdpdGggdGhlIGdhbWVzIGF2YWlsYWJsZSBpbiB0aGUgbG9iYnkuIFZpZGVvIHNsb3RzLCBqYWNrcG90IHRpdGxlcywgbGl2ZSBkZWFsZXIgcm9vbXMsIHJvdWxldHRlIGFuZCBibGFja2phY2sgYWxsIGFmZmVjdCBob3cgcGxheWVycyB1c2UgcHJvbW90aW9ucyBhbmQgbWFuYWdlIHN0YWtlcy4gRGVwb3NpdCBib251c2VzLCBmcmVlIHNwaW5zIGFuZCBjYXNoYmFjayBhcmUgc3Ryb25nZXIgd2hlbiBjb250cmlidXRpb24gcmF0ZXMgYW5kIGV4Y2x1ZGVkIGdhbWVzIGFyZSBjbGVhcmx5IHN0YXRlZC4gRXhwZXJpZW5jZWQgdXNlcnMgd2lsbCBhbHNvIGxvb2sgZm9yIGZhaXIgd2FnZXJpbmcsIHJlYWxpc3RpYyB3aXRoZHJhd2FsIHRlcm1zIGFuZCBjbGVhciBtYXhpbXVtIGJldCBydWxlcy48L3A+PHA+VGhlIG9mZmVyIGF0IDxhIGhyZWY9InVrLWtpbmdkb20tY2FzaW5vLnVrIj5LaW5nZG9tIENhc2lubzwvYT4gaXMgZWFzaWVyIHRvIGV2YWx1YXRlIHdoZW4gdGhlIGdhbWVzIGFuZCBib251c2VzIGFyZSBkZXNjcmliZWQgaW4gdGhlIHNhbWUgZmxvdy4gU2xvdHMgY2FuIHByb3ZpZGUgdm9sdW1lIGFuZCBmcmVlIHNwaW4gdmFsdWUsIHdoaWxlIGxpdmUgY2FzaW5vIHRhYmxlcywgcm91bGV0dGUgYW5kIGJsYWNramFjayBhZGQgc3RyYXRlZ2ljIGJldHRpbmcgb3B0aW9ucy4gV2VsY29tZSBib251c2VzLCByZWxvYWQgb2ZmZXJzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudHMgc2hvdWxkIGJlIGp1ZGdlZCBieSB3YWdlcmluZywgZXhwaXJ5IHBlcmlvZHMsIHF1YWxpZnlpbmcgZ2FtZXMgYW5kIGNhc2hvdXQgcnVsZXMuIFRoaXMgZ2l2ZXMgZXhwZXJpZW5jZWQgcGxheWVycyBhIGNsZWFyIHZpZXcgb2Ygd2hldGhlciB0aGUgY2FzaW5vIHN1aXRzIHRoZWlyIHByZWZlcnJlZCBwbGF5IHN0eWxlLjwvcD48cD5UaGUgZ2FtZXMgbG9iYnkgYXQgPGEgaHJlZj0ic2lja3NraWxscy5jby51ayI+S2luZ2RvbSBDYXNpbm88L2E+IHNob3VsZCBnaXZlIHBsYXllcnMgZW5vdWdoIHJhbmdlIHRvIG1ha2UgdGhlIGJvbnVzIHNlY3Rpb24gdXNlZnVsLiBTbG90cywgbGl2ZSByb3VsZXR0ZSwgYmxhY2tqYWNrLCBiYWNjYXJhdC1zdHlsZSB0YWJsZXMgYW5kIGphY2twb3RzIGNhbiBhbGwgc3VwcG9ydCBkaWZmZXJlbnQgYmFua3JvbGwgcGxhbnMgd2hlbiB0aGUgcnVsZXMgYXJlIHRyYW5zcGFyZW50LiBGcmVlIHNwaW5zLCBkZXBvc2l0IG1hdGNoZXMsIHJlbG9hZHMgYW5kIGNhc2hiYWNrIG9mZmVycyBzaG91bGQgZXhwbGFpbiBleGFjdGx5IHdoZXJlIHRoZXkgYXBwbHkgYW5kIGhvdyBtdWNoIHdhZ2VyaW5nIGlzIHJlcXVpcmVkLiBNYXgtYmV0IGxpbWl0cywgZXhjbHVkZWQgZ2FtZXMgYW5kIHdpdGhkcmF3YWwgY2FwcyBkZWNpZGUgdGhlIHByYWN0aWNhbCB2YWx1ZSBvZiBldmVyeSBwcm9tb3Rpb24uPC9wPjxwPkEgcG9saXNoZWQgYm9udXMgcGFyYWdyYXBoIGZvciA8YSBocmVmPSJpbnRlcmlvcnNieXNhcmFod2FyZC5jb20iPktpbmdkb20gQ2FzaW5vPC9hPiBjYW4gaGlnaGxpZ2h0IHJld2FyZHMgdGhhdCBtYXR0ZXIgdG8gcmVndWxhciBjYXNpbm8gdXNlcnMuIFRoZSBzdHJvbmdlc3Qgc3RydWN0dXJlIGNvbWJpbmVzIHdlbGNvbWUgb2ZmZXJzLCBmcmVlIHNwaW5zLCByZWxvYWQgZGVhbHMsIGNhc2hiYWNrIGFuZCB0b3VybmFtZW50IHZhbHVlIHdpdGggYSBkZWVwIGdhbWUgbG9iYnkuIFBsYXllcnMgY2FuIGNvbXBhcmUgc2xvdHMsIGxpdmUgZGVhbGVyIGdhbWVzLCByb3VsZXR0ZSwgYmxhY2tqYWNrIGFuZCBqYWNrcG90IGNvbnRlbnQgdG8gc2VlIHdoZXJlIHRoZSBib251cyBmaXRzIGJlc3QuIEV4cGVyaWVuY2VkIHVzZXJzIHdpbGwgZm9jdXMgb24gd2FnZXJpbmcgY29udHJpYnV0aW9uLCBzdGFrZSBjYXBzLCBleHBpcnkgd2luZG93cyBhbmQgY2FzaG91dCB0ZXJtcyBiZWZvcmUgZGVwb3NpdGluZy48L3A+PHA+VGhlIGNhc2lubyBjb250ZW50IGFyb3VuZCA8YSBocmVmPSJnYi1raW5nZG9tLWNhc2luby51ayI+S2luZ2RvbSBDYXNpbm88L2E+IHNob3VsZCBwcmVzZW50IGdhbWVzIGFzIHRoZSBmb3VuZGF0aW9uIG9mIGV2ZXJ5IGJvbnVzIGRlY2lzaW9uLiBBIHBsYXllciB3aG8gcHJlZmVycyBzbG90cyB3aWxsIGp1ZGdlIGZyZWUgc3BpbnMgZGlmZmVyZW50bHkgZnJvbSBhIGxpdmUgY2FzaW5vIHVzZXIgZm9jdXNlZCBvbiByb3VsZXR0ZSwgYmxhY2tqYWNrIG9yIGJhY2NhcmF0LXN0eWxlIHRhYmxlcy4gRGVwb3NpdCBtYXRjaGVzLCByZWxvYWRzIGFuZCBjYXNoYmFjayBiZWNvbWUgbW9yZSByZWxldmFudCB3aGVuIHRoZSBwYWdlIHNob3dzIGVsaWdpYmxlIHRpdGxlcywgY29udHJpYnV0aW9uIHJ1bGVzIGFuZCBtYXhpbXVtIGJldCBsaW1pdHMuIENsZWFyIHdpdGhkcmF3YWwgdGVybXMgYW5kIGV4cGlyeSBwZXJpb2RzIGhlbHAgZXhwZXJpZW5jZWQgcGxheWVycyB1bmRlcnN0YW5kIHRoZSByZWFsIHZhbHVlIG9mIHRoZSBvZmZlci48L3A+PHA+RXhwZXJpZW5jZWQgcGxheWVycyBjYW4ganVkZ2UgdGhlIGJvbnVzIHNldHVwIGF0IDxhIGhyZWY9Imtpbmdkb21jYXNpbm91ay51ayI+S2luZ2RvbSBDYXNpbm88L2E+IGJ5IGNoZWNraW5nIGhvdyB0aGUgd2VsY29tZSBvZmZlciBjb25uZWN0cyB3aXRoIHRoZSBhY3R1YWwgY2FzaW5vIGxvYmJ5LiBTbG90cyBub3JtYWxseSBjYXJyeSB0aGUgc3Ryb25nZXN0IHByb21vdGlvbmFsIHZhbHVlLCB3aGlsZSBsaXZlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGJhY2NhcmF0LXN0eWxlIHRhYmxlcyBtYXkgaGF2ZSBzZXBhcmF0ZSBjb250cmlidXRpb24gcnVsZXMuIEZyZWUgc3BpbnMsIHJlbG9hZCBkZWFscyBhbmQgY2FzaGJhY2sgYmVjb21lIG1vcmUgdXNlZnVsIHdoZW4gd2FnZXJpbmcsIGV4cGlyeSBwZXJpb2RzLCBtYXgtYmV0IGxpbWl0cyBhbmQgd2l0aGRyYXdhbCBydWxlcyBhcmUgY2xlYXIuIFRoZSBiZXN0IGdhbWUgZXhwZXJpZW5jZSBjb21lcyBmcm9tIGEgbG9iYnkgd2hlcmUgYm9udXMgdGVybXMgYW5kIHBsYXlhYmxlIGNhdGVnb3JpZXMgYXJlIGVhc3kgdG8gY29tcGFyZSBiZWZvcmUgZGVwb3NpdGluZy48L3A+PHA+VGhlIGdhbWVzIHNlY3Rpb24gYXJvdW5kIDxhIGhyZWY9Imtpbmdkb20tY2FzaW5vLXVrLnVrIj5LaW5nZG9tIENhc2lubzwvYT4gc2hvdWxkIGZvY3VzIG9uIHByYWN0aWNhbCB2YWx1ZSBmb3IgcGxheWVycyB3aG8gYWxyZWFkeSB1bmRlcnN0YW5kIHZvbGF0aWxpdHksIHN0YWtlIGNvbnRyb2wgYW5kIHdhZ2VyaW5nLiBBIHN0cm9uZyBjYXNpbm8gbG9iYnkgY2FuIGluY2x1ZGUgdmlkZW8gc2xvdHMsIGNsYXNzaWMgc2xvdHMsIHByb2dyZXNzaXZlIGphY2twb3RzLCBsaXZlIGRlYWxlciBnYW1lcywgcm91bGV0dGUsIGJsYWNramFjayBhbmQgbW9iaWxlLXJlYWR5IHRpdGxlcy4gQm9udXMgdmFsdWUgZGVwZW5kcyBvbiBxdWFsaWZ5aW5nIGRlcG9zaXRzLCBmcmVlIHNwaW4gdmFsdWUsIGNvbnRyaWJ1dGlvbiByYXRlcywgZXhjbHVkZWQgZ2FtZXMgYW5kIHdoZXRoZXIgY2FzaG91dCBsaW1pdHMgYXJlIHJlYXNvbmFibGUuIFRoaXMgbWFrZXMgdGhlIG9mZmVyIGVhc2llciB0byBldmFsdWF0ZSBiZWNhdXNlIHRoZSBwbGF5ZXIgY2FuIGNvbm5lY3QgZWFjaCBwcm9tb3Rpb24gd2l0aCB0aGUgZ2FtZXMgdGhleSBhY3R1YWxseSBwbGF5LjwvcD48cD5BIGJvbnVzLWxlZCBjYXNpbm8gcGFyYWdyYXBoIGZvciA8YSBocmVmPSJ1ay1raW5nZG9tLWNhc2luby5vcmciPktpbmdkb20gQ2FzaW5vPC9hPiBjYW4gc2hvdyBob3cgcHJvbW90aW9ucyB3b3JrIGFjcm9zcyBzbG90cywgbGl2ZSBnYW1lcyBhbmQgdGFibGUgY2F0ZWdvcmllcy4gV2VsY29tZSBwYWNrYWdlcywgcmVsb2FkIGJvbnVzZXMsIGZyZWUgc3BpbnMsIGNhc2hiYWNrIGFuZCB0b3VybmFtZW50IHJld2FyZHMgYWxsIG5lZWQgY2xlYXIgcnVsZXMgdG8gYmUgdXNlZnVsIGZvciByZWFsLW1vbmV5IHBsYXllcnMuIFNsb3RzIG1heSBvZmZlciB0aGUgd2lkZXN0IGJvbnVzIGNvbXBhdGliaWxpdHksIHdoaWxlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGxpdmUgZGVhbGVyIGdhbWVzIG9mdGVuIHJlcXVpcmUgY2xvc2VyIHJldmlldyBvZiBjb250cmlidXRpb24gcmF0ZXMuIEV4cGVyaWVuY2VkIHVzZXJzIHdpbGwgYWxzbyBjaGVjayBtYXggc3Rha2UgcnVsZXMsIGV4cGlyeSBkYXRlcyBhbmQgd2l0aGRyYXdhbCB0ZXJtcyBiZWZvcmUgYWNjZXB0aW5nIHRoZSBvZmZlci48L3A+PHA+VGhlIGNhc2lubyBvZmZlciBhdCA8YSBocmVmPSJ1ay1raW5nZG9tLWNhc2luby5jb20iPktpbmdkb20gQ2FzaW5vPC9hPiBiZWNvbWVzIHN0cm9uZ2VyIHdoZW4gdGhlIGNvcHkgZXhwbGFpbnMgZ2FtZXMgYW5kIGJvbnVzZXMgYXMgb25lIGNvbm5lY3RlZCBleHBlcmllbmNlLiBQbGF5ZXJzIGNhbiBtb3ZlIGJldHdlZW4gc2xvdHMsIGphY2twb3RzLCBsaXZlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIHRhYmxlIGdhbWVzLCBidXQgYm9udXMgZWxpZ2liaWxpdHkgY2FuIGNoYW5nZSBmcm9tIG9uZSBjYXRlZ29yeSB0byBhbm90aGVyLiBBIGdvb2QgcHJvbW90aW9uYWwgc2VjdGlvbiBzaG91bGQgY292ZXIgZGVwb3NpdCBtYXRjaGVzLCBmcmVlIHNwaW5zLCByZWxvYWRzLCBjYXNoYmFjayBhbmQgYW55IHRvdXJuYW1lbnQtc3R5bGUgcmV3YXJkcyB3aXRoIHBsYWluIHRlcm1zLiBXYWdlcmluZyBydWxlcywgZ2FtZSB3ZWlnaHRpbmcsIG1heC1iZXQgbGltaXRzIGFuZCBjYXNob3V0IHJlc3RyaWN0aW9ucyBhcmUgdGhlIGRldGFpbHMgdGhhdCBtYXR0ZXIgbW9zdCB0byBhZHZhbmNlZCBwbGF5ZXJzLjwvcD48cD5Gb3IgYm9udXMtZm9jdXNlZCBwbGF5ZXJzLCA8YSBocmVmPSJraW5nZG9tLWNhc2luby11ay5vcmciPktpbmdkb20gQ2FzaW5vPC9hPiBzaG91bGQgYmUgZGVzY3JpYmVkIHRocm91Z2ggdGhlIHJlYWwgdXNhYmlsaXR5IG9mIGl0cyBvZmZlcnMgaW5zaWRlIHRoZSBnYW1lIGxvYmJ5LiBGcmVlIHNwaW5zIGFyZSBzdHJvbmdlc3Qgd2hlbiBhdHRhY2hlZCB0byBzbG90IHRpdGxlcyB3aXRoIGNsZWFyIHZhbHVlLCB3aGlsZSBkZXBvc2l0IGJvbnVzZXMgbmVlZCB0cmFuc3BhcmVudCB3YWdlcmluZyBhbmQgZWxpZ2libGUgZ2FtZSBydWxlcy4gTGl2ZSBjYXNpbm8gdGFibGVzLCByb3VsZXR0ZSBhbmQgYmxhY2tqYWNrIGNhbiBhZGQgZGVwdGgsIGJ1dCBleHBlcmllbmNlZCB1c2VycyB3aWxsIGNoZWNrIHdoZXRoZXIgdGhvc2UgZ2FtZXMgY291bnQgZnVsbHkgb3IgcGFydGlhbGx5IHRvd2FyZCB3YWdlcmluZy4gQSBjbGVhbiBib251cyBwYWdlIHNob3VsZCBhbHNvIG1ha2UgZXhwaXJ5IHRpbWluZywgc3Rha2UgY2FwcyBhbmQgd2l0aGRyYXdhbCBjb25kaXRpb25zIGVhc3kgdG8gdW5kZXJzdGFuZC48L3A+PHA+VGhlIG1haW4gYXR0cmFjdGlvbiBvZiA8YSBocmVmPSJraW5nZG9tLWNhc2luby1nYi51ayI+S2luZ2RvbSBDYXNpbm88L2E+IGNhbiBiZSBmcmFtZWQgYXJvdW5kIGEgY2FzaW5vIGxvYmJ5IHdoZXJlIGdhbWUgdmFyaWV0eSBzdXBwb3J0cyBkaWZmZXJlbnQgYm9udXMgc3RyYXRlZ2llcy4gU2xvdHMsIGxpdmUgZGVhbGVyIHRhYmxlcywgcm91bGV0dGUsIGJsYWNramFjaywgamFja3BvdCBnYW1lcyBhbmQgbW9iaWxlIHRpdGxlcyBnaXZlIHBsYXllcnMgc2V2ZXJhbCB3YXlzIHRvIHVzZSBkZXBvc2l0cyBhbmQgcHJvbW90aW9uYWwgcmV3YXJkcy4gV2VsY29tZSBib251c2VzLCByZWxvYWRzLCBjYXNoYmFjayBvZmZlcnMgYW5kIGZyZWUgc3BpbnMgb25seSBoYXZlIHJlYWwgdmFsdWUgd2hlbiB0aGUgcnVsZXMgbWF0Y2ggdGhlIHBsYXllcuKAmXMgYmV0dGluZyBzdHlsZS4gU2VyaW91cyB1c2VycyB3aWxsIGNvbXBhcmUgd2FnZXJpbmcgdHVybm92ZXIsIG1heC1iZXQgcnVsZXMsIGV4Y2x1ZGVkIGdhbWVzIGFuZCBwYXltZW50IGxpbWl0cyBiZWZvcmUgc3RhcnRpbmcgYSBzZXNzaW9uLjwvcD48cD5BIGdhbWVzLWZpcnN0IG92ZXJ2aWV3IG9mIDxhIGhyZWY9Imtpbmdkb21jYXNpbm8tdWsudWsiPktpbmdkb20gQ2FzaW5vPC9hPiBzaG91bGQgc2hvdyBob3cgdGhlIGNhc2lubyBzdXBwb3J0cyBib3RoIHNsb3QtZm9jdXNlZCBhbmQgbGl2ZS10YWJsZSBwbGF5ZXJzLiBUaGUgbG9iYnkgY2FuIGluY2x1ZGUgaGlnaC12b2xhdGlsaXR5IHNsb3RzLCBjbGFzc2ljIHJlZWxzLCBqYWNrcG90IHJlbGVhc2VzLCBsaXZlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGJhY2NhcmF0LXN0eWxlIGdhbWVzLiBQcm9tb3Rpb25zIHNob3VsZCBiZSBkZXNjcmliZWQgdGhyb3VnaCB3ZWxjb21lIHJld2FyZHMsIGZyZWUgc3BpbnMsIHJlbG9hZCBib251c2VzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudHMgcmF0aGVyIHRoYW4gZW1wdHkgY2xhaW1zLiBUaGUgZGVjaWRpbmcgdGVybXMgYXJlIHdhZ2VyaW5nIGNvbnRyaWJ1dGlvbiwgcXVhbGlmeWluZyBnYW1lcywgZXhwaXJ5IHdpbmRvd3MsIG1heGltdW0gc3Rha2VzIGFuZCB3aXRoZHJhd2FsIGNhcHMuPC9wPjxwPlRoZSBib251cyBzdHJ1Y3R1cmUgYXQgPGEgaHJlZj0ibGV0c2phY2twb3R1ay5jb20iPkxldGBzIEphY2twb3Q8L2E+IHNob3VsZCBiZSB3cml0dGVuIGZvciBwbGF5ZXJzIHdobyB3YW50IGNsZWFyIGNvbmRpdGlvbnMgYmVmb3JlIHRoZXkgdXNlIHByb21vdGlvbmFsIGZ1bmRzLiBBIGNhc2lubyBjYW4gbG9vayBhdHRyYWN0aXZlIHRocm91Z2ggc2xvdHMsIGxpdmUgZ2FtZXMsIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGphY2twb3QgY2F0ZWdvcmllcywgYnV0IHRoZSB0ZXJtcyBkZWNpZGUgdGhlIHJlYWwgdmFsdWUuIEZyZWUgc3BpbnMsIG1hdGNoZWQgZGVwb3NpdHMgYW5kIHJlbG9hZCBvZmZlcnMgc2hvdWxkIGV4cGxhaW4gdGhlIGdhbWVzIGluY2x1ZGVkLCB0aGUgd2FnZXJpbmcgYXR0YWNoZWQgYW5kIHRoZSBjYXNob3V0IGxpbWl0cy4gRXhwZXJpZW5jZWQgcGxheWVycyB3aWxsIHRyZWF0IG1heC1iZXQgcnVsZXMgYW5kIGV4Y2x1ZGVkIHRpdGxlcyBhcyBlc3NlbnRpYWwgZGV0YWlscywgbm90IHNtYWxsIHByaW50LjwvcD48cD5QbGF5ZXJzIGNvbXBhcmluZyA8YSBocmVmPSJsZXRzamFja3BvdC11ay51ayI+TGV0YHMgSmFja3BvdDwvYT4gd2lsbCB1c3VhbGx5IGxvb2sgYXQgdGhlIGdhbWUgY2F0YWxvZ3VlIGJlZm9yZSBqdWRnaW5nIHRoZSBwcm9tb3Rpb24uIFNsb3RzLCBsaXZlIGNhc2lubyB0YWJsZXMsIHJvdWxldHRlLCBibGFja2phY2ssIGphY2twb3RzIGFuZCB0YWJsZSBnYW1lcyBjcmVhdGUgZGlmZmVyZW50IGV4cGVjdGF0aW9ucyBmb3IgcmlzaywgcGFjZSBhbmQgYm9udXMgY29udHJpYnV0aW9uLiBBIHN0cm9uZyBib251cyBvZmZlciBzaG91bGQgbWFrZSBmcmVlIHNwaW5zLCBkZXBvc2l0IG1hdGNoZXMsIHJlbG9hZHMgYW5kIGNhc2hiYWNrIGVhc3kgdG8gdW5kZXJzdGFuZCB3aXRob3V0IGhpZGluZyByZXN0cmljdGlvbnMuIFdhZ2VyaW5nLCBnYW1lIHdlaWdodGluZywgZXhwaXJ5LCBzdGFrZSBsaW1pdHMgYW5kIHdpdGhkcmF3YWwgcnVsZXMgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG9mZmVyIGlzIHN1aXRhYmxlIGZvciBzZXJpb3VzIGJhbmtyb2xsIG1hbmFnZW1lbnQuPC9wPjxwPlRoZSBjYXNpbm8gcHJvZmlsZSBvZiA8YSBocmVmPSJsb3ZlY2FzaW5vLXVrLnVrIj5Mb3ZlIENhc2lubzwvYT4gY2FuIGZvY3VzIG9uIGhvdyBib251c2VzIHN1cHBvcnQgcmVhbCBnYW1lcGxheSByYXRoZXIgdGhhbiBvbmx5IHNpZ24tdXAgYXBwZWFsLiBTbG90cyBtYXkgZHJpdmUgbW9zdCBmcmVlIHNwaW4gY2FtcGFpZ25zLCB3aGlsZSBsaXZlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGJhY2NhcmF0LXN0eWxlIGdhbWVzIGNhbiBwcm92aWRlIGhpZ2hlci1jb250cm9sIGJldHRpbmcgc2Vzc2lvbnMgd2l0aCBkaWZmZXJlbnQgYm9udXMgcnVsZXMuIFJlbG9hZCBkZWFscywgY2FzaGJhY2sgYW5kIHRvdXJuYW1lbnQgcmV3YXJkcyBoZWxwIHJlcGVhdCBwbGF5ZXJzIHdoZW4gdGhlIGNvbmRpdGlvbnMgYXJlIHRyYW5zcGFyZW50LiBUaGUgbW9zdCBpbXBvcnRhbnQgZGV0YWlscyBhcmUgZWxpZ2libGUgdGl0bGVzLCBjb250cmlidXRpb24gcmF0ZXMsIG1heGltdW0gc3Rha2VzLCBleHBpcnkgZGF0ZXMgYW5kIGNhc2hvdXQgbGltaXRzLjwvcD48cD5BIHByYWN0aWNhbCBjYXNpbm8gYmxvY2sgZm9yIDxhIGhyZWY9InVrLWxvdmVjYXNpbm8uY29tIj5Mb3ZlIENhc2lubzwvYT4gc2hvdWxkIGNvbm5lY3QgdGhlIGJvbnVzIHBhY2thZ2Ugd2l0aCB0aGUgZ2FtZXMgYXZhaWxhYmxlIGluIHRoZSBsb2JieS4gVmlkZW8gc2xvdHMsIGphY2twb3QgdGl0bGVzLCBsaXZlIGRlYWxlciByb29tcywgcm91bGV0dGUgYW5kIGJsYWNramFjayBhbGwgYWZmZWN0IGhvdyBwbGF5ZXJzIHVzZSBwcm9tb3Rpb25zIGFuZCBtYW5hZ2Ugc3Rha2VzLiBEZXBvc2l0IGJvbnVzZXMsIGZyZWUgc3BpbnMgYW5kIGNhc2hiYWNrIGFyZSBzdHJvbmdlciB3aGVuIGNvbnRyaWJ1dGlvbiByYXRlcyBhbmQgZXhjbHVkZWQgZ2FtZXMgYXJlIGNsZWFybHkgc3RhdGVkLiBFeHBlcmllbmNlZCB1c2VycyB3aWxsIGFsc28gbG9vayBmb3IgZmFpciB3YWdlcmluZywgcmVhbGlzdGljIHdpdGhkcmF3YWwgdGVybXMgYW5kIGNsZWFyIG1heGltdW0gYmV0IHJ1bGVzLjwvcD48cD5UaGUgb2ZmZXIgYXQgPGEgaHJlZj0ibHVja3ltaXN0ZXItdWsudWsiPkx1Y2t5IE1pc3RlcjwvYT4gaXMgZWFzaWVyIHRvIGV2YWx1YXRlIHdoZW4gdGhlIGdhbWVzIGFuZCBib251c2VzIGFyZSBkZXNjcmliZWQgaW4gdGhlIHNhbWUgZmxvdy4gU2xvdHMgY2FuIHByb3ZpZGUgdm9sdW1lIGFuZCBmcmVlIHNwaW4gdmFsdWUsIHdoaWxlIGxpdmUgY2FzaW5vIHRhYmxlcywgcm91bGV0dGUgYW5kIGJsYWNramFjayBhZGQgc3RyYXRlZ2ljIGJldHRpbmcgb3B0aW9ucy4gV2VsY29tZSBib251c2VzLCByZWxvYWQgb2ZmZXJzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudHMgc2hvdWxkIGJlIGp1ZGdlZCBieSB3YWdlcmluZywgZXhwaXJ5IHBlcmlvZHMsIHF1YWxpZnlpbmcgZ2FtZXMgYW5kIGNhc2hvdXQgcnVsZXMuIFRoaXMgZ2l2ZXMgZXhwZXJpZW5jZWQgcGxheWVycyBhIGNsZWFyIHZpZXcgb2Ygd2hldGhlciB0aGUgY2FzaW5vIHN1aXRzIHRoZWlyIHByZWZlcnJlZCBwbGF5IHN0eWxlLjwvcD48cD5UaGUgZ2FtZXMgbG9iYnkgYXQgPGEgaHJlZj0idWstbHVja3ltaXN0ZXIuY29tIj5MdWNreSBNaXN0ZXI8L2E+IHNob3VsZCBnaXZlIHBsYXllcnMgZW5vdWdoIHJhbmdlIHRvIG1ha2UgdGhlIGJvbnVzIHNlY3Rpb24gdXNlZnVsLiBTbG90cywgbGl2ZSByb3VsZXR0ZSwgYmxhY2tqYWNrLCBiYWNjYXJhdC1zdHlsZSB0YWJsZXMgYW5kIGphY2twb3RzIGNhbiBhbGwgc3VwcG9ydCBkaWZmZXJlbnQgYmFua3JvbGwgcGxhbnMgd2hlbiB0aGUgcnVsZXMgYXJlIHRyYW5zcGFyZW50LiBGcmVlIHNwaW5zLCBkZXBvc2l0IG1hdGNoZXMsIHJlbG9hZHMgYW5kIGNhc2hiYWNrIG9mZmVycyBzaG91bGQgZXhwbGFpbiBleGFjdGx5IHdoZXJlIHRoZXkgYXBwbHkgYW5kIGhvdyBtdWNoIHdhZ2VyaW5nIGlzIHJlcXVpcmVkLiBNYXgtYmV0IGxpbWl0cywgZXhjbHVkZWQgZ2FtZXMgYW5kIHdpdGhkcmF3YWwgY2FwcyBkZWNpZGUgdGhlIHByYWN0aWNhbCB2YWx1ZSBvZiBldmVyeSBwcm9tb3Rpb24uPC9wPjxwPkEgcG9saXNoZWQgYm9udXMgcGFyYWdyYXBoIGZvciA8YSBocmVmPSJsdWNreXBheXMtdWsudWsiPkx1Y2t5IFBheXM8L2E+IGNhbiBoaWdobGlnaHQgcmV3YXJkcyB0aGF0IG1hdHRlciB0byByZWd1bGFyIGNhc2lubyB1c2Vycy4gVGhlIHN0cm9uZ2VzdCBzdHJ1Y3R1cmUgY29tYmluZXMgd2VsY29tZSBvZmZlcnMsIGZyZWUgc3BpbnMsIHJlbG9hZCBkZWFscywgY2FzaGJhY2sgYW5kIHRvdXJuYW1lbnQgdmFsdWUgd2l0aCBhIGRlZXAgZ2FtZSBsb2JieS4gUGxheWVycyBjYW4gY29tcGFyZSBzbG90cywgbGl2ZSBkZWFsZXIgZ2FtZXMsIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGphY2twb3QgY29udGVudCB0byBzZWUgd2hlcmUgdGhlIGJvbnVzIGZpdHMgYmVzdC4gRXhwZXJpZW5jZWQgdXNlcnMgd2lsbCBmb2N1cyBvbiB3YWdlcmluZyBjb250cmlidXRpb24sIHN0YWtlIGNhcHMsIGV4cGlyeSB3aW5kb3dzIGFuZCBjYXNob3V0IHRlcm1zIGJlZm9yZSBkZXBvc2l0aW5nLjwvcD48cD5UaGUgY2FzaW5vIGNvbnRlbnQgYXJvdW5kIDxhIGhyZWY9InVrLWx1Y2t5cGF5cy5jb20iPkx1Y2t5IFBheXM8L2E+IHNob3VsZCBwcmVzZW50IGdhbWVzIGFzIHRoZSBmb3VuZGF0aW9uIG9mIGV2ZXJ5IGJvbnVzIGRlY2lzaW9uLiBBIHBsYXllciB3aG8gcHJlZmVycyBzbG90cyB3aWxsIGp1ZGdlIGZyZWUgc3BpbnMgZGlmZmVyZW50bHkgZnJvbSBhIGxpdmUgY2FzaW5vIHVzZXIgZm9jdXNlZCBvbiByb3VsZXR0ZSwgYmxhY2tqYWNrIG9yIGJhY2NhcmF0LXN0eWxlIHRhYmxlcy4gRGVwb3NpdCBtYXRjaGVzLCByZWxvYWRzIGFuZCBjYXNoYmFjayBiZWNvbWUgbW9yZSByZWxldmFudCB3aGVuIHRoZSBwYWdlIHNob3dzIGVsaWdpYmxlIHRpdGxlcywgY29udHJpYnV0aW9uIHJ1bGVzIGFuZCBtYXhpbXVtIGJldCBsaW1pdHMuIENsZWFyIHdpdGhkcmF3YWwgdGVybXMgYW5kIGV4cGlyeSBwZXJpb2RzIGhlbHAgZXhwZXJpZW5jZWQgcGxheWVycyB1bmRlcnN0YW5kIHRoZSByZWFsIHZhbHVlIG9mIHRoZSBvZmZlci48L3A+PHA+RXhwZXJpZW5jZWQgcGxheWVycyBjYW4ganVkZ2UgdGhlIGJvbnVzIHNldHVwIGF0IDxhIGhyZWY9InVrLWx1Y2t5dHdpY2UuY29tIj5MdWNreSBUd2ljZTwvYT4gYnkgY2hlY2tpbmcgaG93IHRoZSB3ZWxjb21lIG9mZmVyIGNvbm5lY3RzIHdpdGggdGhlIGFjdHVhbCBjYXNpbm8gbG9iYnkuIFNsb3RzIG5vcm1hbGx5IGNhcnJ5IHRoZSBzdHJvbmdlc3QgcHJvbW90aW9uYWwgdmFsdWUsIHdoaWxlIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgYmFjY2FyYXQtc3R5bGUgdGFibGVzIG1heSBoYXZlIHNlcGFyYXRlIGNvbnRyaWJ1dGlvbiBydWxlcy4gRnJlZSBzcGlucywgcmVsb2FkIGRlYWxzIGFuZCBjYXNoYmFjayBiZWNvbWUgbW9yZSB1c2VmdWwgd2hlbiB3YWdlcmluZywgZXhwaXJ5IHBlcmlvZHMsIG1heC1iZXQgbGltaXRzIGFuZCB3aXRoZHJhd2FsIHJ1bGVzIGFyZSBjbGVhci4gVGhlIGJlc3QgZ2FtZSBleHBlcmllbmNlIGNvbWVzIGZyb20gYSBsb2JieSB3aGVyZSBib251cyB0ZXJtcyBhbmQgcGxheWFibGUgY2F0ZWdvcmllcyBhcmUgZWFzeSB0byBjb21wYXJlIGJlZm9yZSBkZXBvc2l0aW5nLjwvcD48cD5UaGUgZ2FtZXMgc2VjdGlvbiBhcm91bmQgPGEgaHJlZj0ibHVja3l0d2ljZS11ay51ayI+THVja3kgVHdpY2U8L2E+IHNob3VsZCBmb2N1cyBvbiBwcmFjdGljYWwgdmFsdWUgZm9yIHBsYXllcnMgd2hvIGFscmVhZHkgdW5kZXJzdGFuZCB2b2xhdGlsaXR5LCBzdGFrZSBjb250cm9sIGFuZCB3YWdlcmluZy4gQSBzdHJvbmcgY2FzaW5vIGxvYmJ5IGNhbiBpbmNsdWRlIHZpZGVvIHNsb3RzLCBjbGFzc2ljIHNsb3RzLCBwcm9ncmVzc2l2ZSBqYWNrcG90cywgbGl2ZSBkZWFsZXIgZ2FtZXMsIHJvdWxldHRlLCBibGFja2phY2sgYW5kIG1vYmlsZS1yZWFkeSB0aXRsZXMuIEJvbnVzIHZhbHVlIGRlcGVuZHMgb24gcXVhbGlmeWluZyBkZXBvc2l0cywgZnJlZSBzcGluIHZhbHVlLCBjb250cmlidXRpb24gcmF0ZXMsIGV4Y2x1ZGVkIGdhbWVzIGFuZCB3aGV0aGVyIGNhc2hvdXQgbGltaXRzIGFyZSByZWFzb25hYmxlLiBUaGlzIG1ha2VzIHRoZSBvZmZlciBlYXNpZXIgdG8gZXZhbHVhdGUgYmVjYXVzZSB0aGUgcGxheWVyIGNhbiBjb25uZWN0IGVhY2ggcHJvbW90aW9uIHdpdGggdGhlIGdhbWVzIHRoZXkgYWN0dWFsbHkgcGxheS48L3A+PHA+QSBib251cy1sZWQgY2FzaW5vIHBhcmFncmFwaCBmb3IgPGEgaHJlZj0icmVnZW5lY29uLm5ldCI+TWFkIENhc2lubzwvYT4gY2FuIHNob3cgaG93IHByb21vdGlvbnMgd29yayBhY3Jvc3Mgc2xvdHMsIGxpdmUgZ2FtZXMgYW5kIHRhYmxlIGNhdGVnb3JpZXMuIFdlbGNvbWUgcGFja2FnZXMsIHJlbG9hZCBib251c2VzLCBmcmVlIHNwaW5zLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudCByZXdhcmRzIGFsbCBuZWVkIGNsZWFyIHJ1bGVzIHRvIGJlIHVzZWZ1bCBmb3IgcmVhbC1tb25leSBwbGF5ZXJzLiBTbG90cyBtYXkgb2ZmZXIgdGhlIHdpZGVzdCBib251cyBjb21wYXRpYmlsaXR5LCB3aGlsZSByb3VsZXR0ZSwgYmxhY2tqYWNrIGFuZCBsaXZlIGRlYWxlciBnYW1lcyBvZnRlbiByZXF1aXJlIGNsb3NlciByZXZpZXcgb2YgY29udHJpYnV0aW9uIHJhdGVzLiBFeHBlcmllbmNlZCB1c2VycyB3aWxsIGFsc28gY2hlY2sgbWF4IHN0YWtlIHJ1bGVzLCBleHBpcnkgZGF0ZXMgYW5kIHdpdGhkcmF3YWwgdGVybXMgYmVmb3JlIGFjY2VwdGluZyB0aGUgb2ZmZXIuPC9wPjxwPlRoZSBjYXNpbm8gb2ZmZXIgYXQgPGEgaHJlZj0ic3luYXdvcmxkb2ZmaWNpYWxjbG90aC5jb20iPk1hZCBDYXNpbm88L2E+IGJlY29tZXMgc3Ryb25nZXIgd2hlbiB0aGUgY29weSBleHBsYWlucyBnYW1lcyBhbmQgYm9udXNlcyBhcyBvbmUgY29ubmVjdGVkIGV4cGVyaWVuY2UuIFBsYXllcnMgY2FuIG1vdmUgYmV0d2VlbiBzbG90cywgamFja3BvdHMsIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgdGFibGUgZ2FtZXMsIGJ1dCBib251cyBlbGlnaWJpbGl0eSBjYW4gY2hhbmdlIGZyb20gb25lIGNhdGVnb3J5IHRvIGFub3RoZXIuIEEgZ29vZCBwcm9tb3Rpb25hbCBzZWN0aW9uIHNob3VsZCBjb3ZlciBkZXBvc2l0IG1hdGNoZXMsIGZyZWUgc3BpbnMsIHJlbG9hZHMsIGNhc2hiYWNrIGFuZCBhbnkgdG91cm5hbWVudC1zdHlsZSByZXdhcmRzIHdpdGggcGxhaW4gdGVybXMuIFdhZ2VyaW5nIHJ1bGVzLCBnYW1lIHdlaWdodGluZywgbWF4LWJldCBsaW1pdHMgYW5kIGNhc2hvdXQgcmVzdHJpY3Rpb25zIGFyZSB0aGUgZGV0YWlscyB0aGF0IG1hdHRlciBtb3N0IHRvIGFkdmFuY2VkIHBsYXllcnMuPC9wPjxwPkZvciBib251cy1mb2N1c2VkIHBsYXllcnMsIDxhIGhyZWY9InVrbWFkY2FzaW5vLm5ldCI+TWFkIENhc2lubzwvYT4gc2hvdWxkIGJlIGRlc2NyaWJlZCB0aHJvdWdoIHRoZSByZWFsIHVzYWJpbGl0eSBvZiBpdHMgb2ZmZXJzIGluc2lkZSB0aGUgZ2FtZSBsb2JieS4gRnJlZSBzcGlucyBhcmUgc3Ryb25nZXN0IHdoZW4gYXR0YWNoZWQgdG8gc2xvdCB0aXRsZXMgd2l0aCBjbGVhciB2YWx1ZSwgd2hpbGUgZGVwb3NpdCBib251c2VzIG5lZWQgdHJhbnNwYXJlbnQgd2FnZXJpbmcgYW5kIGVsaWdpYmxlIGdhbWUgcnVsZXMuIExpdmUgY2FzaW5vIHRhYmxlcywgcm91bGV0dGUgYW5kIGJsYWNramFjayBjYW4gYWRkIGRlcHRoLCBidXQgZXhwZXJpZW5jZWQgdXNlcnMgd2lsbCBjaGVjayB3aGV0aGVyIHRob3NlIGdhbWVzIGNvdW50IGZ1bGx5IG9yIHBhcnRpYWxseSB0b3dhcmQgd2FnZXJpbmcuIEEgY2xlYW4gYm9udXMgcGFnZSBzaG91bGQgYWxzbyBtYWtlIGV4cGlyeSB0aW1pbmcsIHN0YWtlIGNhcHMgYW5kIHdpdGhkcmF3YWwgY29uZGl0aW9ucyBlYXN5IHRvIHVuZGVyc3RhbmQuPC9wPjxwPlRoZSBtYWluIGF0dHJhY3Rpb24gb2YgPGEgaHJlZj0ibWFkY2FzaW5vc3VrLm5ldCI+TWFkIENhc2lubzwvYT4gY2FuIGJlIGZyYW1lZCBhcm91bmQgYSBjYXNpbm8gbG9iYnkgd2hlcmUgZ2FtZSB2YXJpZXR5IHN1cHBvcnRzIGRpZmZlcmVudCBib251cyBzdHJhdGVnaWVzLiBTbG90cywgbGl2ZSBkZWFsZXIgdGFibGVzLCByb3VsZXR0ZSwgYmxhY2tqYWNrLCBqYWNrcG90IGdhbWVzIGFuZCBtb2JpbGUgdGl0bGVzIGdpdmUgcGxheWVycyBzZXZlcmFsIHdheXMgdG8gdXNlIGRlcG9zaXRzIGFuZCBwcm9tb3Rpb25hbCByZXdhcmRzLiBXZWxjb21lIGJvbnVzZXMsIHJlbG9hZHMsIGNhc2hiYWNrIG9mZmVycyBhbmQgZnJlZSBzcGlucyBvbmx5IGhhdmUgcmVhbCB2YWx1ZSB3aGVuIHRoZSBydWxlcyBtYXRjaCB0aGUgcGxheWVy4oCZcyBiZXR0aW5nIHN0eWxlLiBTZXJpb3VzIHVzZXJzIHdpbGwgY29tcGFyZSB3YWdlcmluZyB0dXJub3ZlciwgbWF4LWJldCBydWxlcywgZXhjbHVkZWQgZ2FtZXMgYW5kIHBheW1lbnQgbGltaXRzIGJlZm9yZSBzdGFydGluZyBhIHNlc3Npb24uPC9wPjxwPkEgZ2FtZXMtZmlyc3Qgb3ZlcnZpZXcgb2YgPGEgaHJlZj0idWttYWRjYXNpbm8ub3JnLnVrIj5NYWQgQ2FzaW5vPC9hPiBzaG91bGQgc2hvdyBob3cgdGhlIGNhc2lubyBzdXBwb3J0cyBib3RoIHNsb3QtZm9jdXNlZCBhbmQgbGl2ZS10YWJsZSBwbGF5ZXJzLiBUaGUgbG9iYnkgY2FuIGluY2x1ZGUgaGlnaC12b2xhdGlsaXR5IHNsb3RzLCBjbGFzc2ljIHJlZWxzLCBqYWNrcG90IHJlbGVhc2VzLCBsaXZlIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGJhY2NhcmF0LXN0eWxlIGdhbWVzLiBQcm9tb3Rpb25zIHNob3VsZCBiZSBkZXNjcmliZWQgdGhyb3VnaCB3ZWxjb21lIHJld2FyZHMsIGZyZWUgc3BpbnMsIHJlbG9hZCBib251c2VzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudHMgcmF0aGVyIHRoYW4gZW1wdHkgY2xhaW1zLiBUaGUgZGVjaWRpbmcgdGVybXMgYXJlIHdhZ2VyaW5nIGNvbnRyaWJ1dGlvbiwgcXVhbGlmeWluZyBnYW1lcywgZXhwaXJ5IHdpbmRvd3MsIG1heGltdW0gc3Rha2VzIGFuZCB3aXRoZHJhd2FsIGNhcHMuPC9wPjxwPlRoZSBib251cyBzdHJ1Y3R1cmUgYXQgPGEgaHJlZj0ibWFkLWNhc2luby1nYi5vcmcudWsiPk1hZCBDYXNpbm88L2E+IHNob3VsZCBiZSB3cml0dGVuIGZvciBwbGF5ZXJzIHdobyB3YW50IGNsZWFyIGNvbmRpdGlvbnMgYmVmb3JlIHRoZXkgdXNlIHByb21vdGlvbmFsIGZ1bmRzLiBBIGNhc2lubyBjYW4gbG9vayBhdHRyYWN0aXZlIHRocm91Z2ggc2xvdHMsIGxpdmUgZ2FtZXMsIHJvdWxldHRlLCBibGFja2phY2sgYW5kIGphY2twb3QgY2F0ZWdvcmllcywgYnV0IHRoZSB0ZXJtcyBkZWNpZGUgdGhlIHJlYWwgdmFsdWUuIEZyZWUgc3BpbnMsIG1hdGNoZWQgZGVwb3NpdHMgYW5kIHJlbG9hZCBvZmZlcnMgc2hvdWxkIGV4cGxhaW4gdGhlIGdhbWVzIGluY2x1ZGVkLCB0aGUgd2FnZXJpbmcgYXR0YWNoZWQgYW5kIHRoZSBjYXNob3V0IGxpbWl0cy4gRXhwZXJpZW5jZWQgcGxheWVycyB3aWxsIHRyZWF0IG1heC1iZXQgcnVsZXMgYW5kIGV4Y2x1ZGVkIHRpdGxlcyBhcyBlc3NlbnRpYWwgZGV0YWlscywgbm90IHNtYWxsIHByaW50LjwvcD48cD5QbGF5ZXJzIGNvbXBhcmluZyA8YSBocmVmPSJ1ay1tYWQtY2FzaW5vLnVrIj5NYWQgQ2FzaW5vPC9hPiB3aWxsIHVzdWFsbHkgbG9vayBhdCB0aGUgZ2FtZSBjYXRhbG9ndWUgYmVmb3JlIGp1ZGdpbmcgdGhlIHByb21vdGlvbi4gU2xvdHMsIGxpdmUgY2FzaW5vIHRhYmxlcywgcm91bGV0dGUsIGJsYWNramFjaywgamFja3BvdHMgYW5kIHRhYmxlIGdhbWVzIGNyZWF0ZSBkaWZmZXJlbnQgZXhwZWN0YXRpb25zIGZvciByaXNrLCBwYWNlIGFuZCBib251cyBjb250cmlidXRpb24uIEEgc3Ryb25nIGJvbnVzIG9mZmVyIHNob3VsZCBtYWtlIGZyZWUgc3BpbnMsIGRlcG9zaXQgbWF0Y2hlcywgcmVsb2FkcyBhbmQgY2FzaGJhY2sgZWFzeSB0byB1bmRlcnN0YW5kIHdpdGhvdXQgaGlkaW5nIHJlc3RyaWN0aW9ucy4gV2FnZXJpbmcsIGdhbWUgd2VpZ2h0aW5nLCBleHBpcnksIHN0YWtlIGxpbWl0cyBhbmQgd2l0aGRyYXdhbCBydWxlcyBkZXRlcm1pbmUgd2hldGhlciB0aGUgb2ZmZXIgaXMgc3VpdGFibGUgZm9yIHNlcmlvdXMgYmFua3JvbGwgbWFuYWdlbWVudC48L3A+PHA+VGhlIGNhc2lubyBwcm9maWxlIG9mIDxhIGhyZWY9Im1hZC1jYXNpbm9zLXVrLnVrIj5NYWQgQ2FzaW5vPC9hPiBjYW4gZm9jdXMgb24gaG93IGJvbnVzZXMgc3VwcG9ydCByZWFsIGdhbWVwbGF5IHJhdGhlciB0aGFuIG9ubHkgc2lnbi11cCBhcHBlYWwuIFNsb3RzIG1heSBkcml2ZSBtb3N0IGZyZWUgc3BpbiBjYW1wYWlnbnMsIHdoaWxlIGxpdmUgcm91bGV0dGUsIGJsYWNramFjayBhbmQgYmFjY2FyYXQtc3R5bGUgZ2FtZXMgY2FuIHByb3ZpZGUgaGlnaGVyLWNvbnRyb2wgYmV0dGluZyBzZXNzaW9ucyB3aXRoIGRpZmZlcmVudCBib251cyBydWxlcy4gUmVsb2FkIGRlYWxzLCBjYXNoYmFjayBhbmQgdG91cm5hbWVudCByZXdhcmRzIGhlbHAgcmVwZWF0IHBsYXllcnMgd2hlbiB0aGUgY29uZGl0aW9ucyBhcmUgdHJhbnNwYXJlbnQuIFRoZSBtb3N0IGltcG9ydGFudCBkZXRhaWxzIGFyZSBlbGlnaWJsZSB0aXRsZXMsIGNvbnRyaWJ1dGlvbiByYXRlcywgbWF4aW11bSBzdGFrZXMsIGV4cGlyeSBkYXRlcyBhbmQgY2FzaG91dCBsaW1pdHMuPC9wPjwvZGl2Pg==[/vc_raw_html][/vc_column][/vc_row]