var init = function () { }, View The Obituary For Frank Ford Lasater of Mathis,, Texas. gtag('js', new Date()); }; by a local florist. Additionally there were ink paw prints that were not included in this picture. Reviewed on Google Share your knowledge with others. }); What does Dilley-Lasater Funeral Home do very well? if (hash) { Virginia was preceded in death by her parents, husband Daniel Lasater, daughter Donna Lasater, grandchildren Bryan Devore, Tammy Klein, Patricia Stokely and her siblings Juanita Chandler, Ruby Combs, Lonnie Brown, and James Brown. their pricing. You'll be prompted to create an account. He was raised in a Christian family where he was taught the value of living life as a Christ follower. .on('click', remove); Login or Sign-up to show all important data, death records and obituaries absolutely for free! You may purchase programs through the funeral home or elsewhere, if you wish. This is the cost to purchase a casket from the funeral home. }, if (resp.type && resp.type == 1) { $('.close-popup', $content) This is the cost to purchase a casket from the funeral home. You may purchase flowers through the funeral home or separately, if you wish. function filterError(data, textStatus, jqXHR) { Overall the immediate post-death experience was made so much easier due to their quality customer service and quality of work. window.API.brand = { id: 3, name: 'SRS Computing Admin', obitStyle: 0, providerId: 1}; Thursday, May 06, 2021; 6:00 PM - 9:00 PM; Email Details; 121 N Duval . Please join us in Loving, Sharing and Memorializing Frank Ford Lasater on this permanent online memorial. "contactPoint" : { Catherine Lasater Obituary - Funeralinnovations.com He helped my sisters and I, through every step of the process when our mother passed, and before. }, 500); . if (API.xWallUser) Have the price list for this funeral home? settings.data = JSON.stringify(settings.data); Obituary information for Abigail Marie "Abbi" Carey Audrey Lasater Obituary - Visitation & Funeral Information Those family members that survive include her children Linda Diane Lasater, Cheryl Devore, Debora Reed, and Daniel Lasater; her grandchildren Danielle Barnes, Timothy Davenport, Amanda Devore, Darrel Stokely, Jr., Lisa Stokely, Joseph Reed, Edith Shannon, Virginia Welch, and Donna Reed; 17 grandchildren; 7 great grandchildren and one on the way; her sister Viola Maupin; brother and sister-in-law Richard and Kay Alverson. We recommend calling the funeral home: Have flowers from a local florist delivered to an upcoming service. API.tcoSecureBaseUrl = 'https://www.snyderfuneralhomes.com' + API.tcoAppPath; But yes I felt my husky was properly handled and respected throughout the process. Mount Vernon, Ohio. $content.append(html); Chelsea became home in the later years. This is the fee to transport your loved one from the funeral home to funeral events (or between events) in a hearse. var headers = { Obituary & Service Marvin Nelson Lasater of Fort Worth, Texas | 1938 - White's Funeral Homes window.API = window.API || {}; Item Number: T403-1A At least 108 arrangements have been sent . Dilley-Lasater Funeral Home | Bladensburg, Ohio | Ever Loved What could Lasater Funeral Home do to improve? dataType: "json", Ever Loved's funeral marketplace makes it easy to purchase caskets, urns and Reviewed on Google Snyder Funeral Homes, Lasater Chapel 11337 Upper Gilchrist Road, Mount Vernon, OH, 43050 Get Directions 2 reviews Leave a review Send Flowers How can We Help? if (navigator.userAgent.toLowerCase().indexOf("lighthouse") < 0) { Virginia Lasater Obituary 2023 - MMS - Payne Funeral Home & Cremation API.tcoAppPath = '//'; Mr. Lasater attended Hazel Green High School and then obtained a degree in Agricultural Science from Auburn University in 1965. Snyder Funeral Homes, Lasater Chapel. Definitely will recommend to anyone! The box is really nice and smooth and sturdy. "@type" : "ContactPoint", Mr. Lasater had retired from Martin Stove Company and worked for a number of years at Hazel Green Funeral Home. About Dilley-Lasater Funeral Home Address S Church St Bladensburg, OH 43005 Send Flowers Send sympathy flowers Website https://www.lasaterfunera Phone (740) 668-2191 This Ever Loved listing has not been claimed by an employee of the funeral home yet. } else if ($.isFunction(error)) This is the fee for the funeral home to come pick up your loved one and bring him/her to the funeral home for preparation. } API.apiBuilderBaseUrl = 'https://api.secure.tributecenteronline.com' + '/BuilderApi'; } if (API.tcoAppPath === "//") Reviewed on Google Add pricing info, Have the price list for this funeral home? } This is the fee for the embalming process. . AC_FL_RunContent = 0; We will remember him forever. Virginia loved her family and enjoyed playing games with them. }; if(Array.isArray(res) && res.length > 0) { Obituary | Pearlie Beatrice Lasater | Berryhill Funeral Home & Crematory 11337 Upper Gilchrist Road Mount Vernon, OH 43050PHONE: (740) 392-0005, If you have any questions or concerns, please do not hesitate to contact us. $content = $('.content', $container), window.location.hash = hash; A gentleman arrived at my house before noon to take my husky away. This is the fee to transport your loved one from the funeral home to funeral events (or between events) in a hearse. This is the fee for the services the funeral home will provide during a funeral or memorial service. API.tcoSecureBaseUrl && API.brands = JSON.parse('{"0":"Frazer","1":"SRS","2":"Osiris","3":"Mortware","4":"TMS","5":"Ionic","6":"Passare","7":"ContinentalComputersCorp","8":"FuneralNet","9":"Aurora","10":"FuneralDecisions","11":"Halcyon","12":"FuneralSync","13":"FuneralCall","14":"InsuranceAssignments","15":"FrontRunner","16":"TownNews","17":"AdPerfect","18":"TCO","20":"FuneralTech","21":"ObituaryHub","22":"FuneraLogic","23":"FrontRunnerNewspaper","24":"GeneralStore","25":"FuneralDataManager","26":"CFS","27":"ConnecticutPublicBroadcasting","28":"FuneralInnovations","29":"FreedomSoftware","30":"MIMS","31":"WedLFD","33":"WhiteLabelTraining","34":"MKJ"}'); }; How would you describe the ambiance and decor at Dilley-Lasater Funeral Home? View Obituaries Dobie Funeral Home Frank Ford Lasater. You may choose to purchase a casket online or elsewhere, if you'd wish. Embalming is generally not required if proper refrigeration is available. Julia was born November 12, 1939 in Brownwood, Texas to A. Edwin and Corene Wilson. Marvin Nelson Lasater, 84, passed away Friday, June 3, 2022. if (form) { Through five generations, the Snyder familys goal has remained the same: We take care of more details than the average funeral provider, so you can spend more time grieving & healing with your family. This is the fee for additional preparation of the body, such as dressing and casketing. })(); Today, a century since Ora founded that first funeral home, the Snyder family strives to honor their long-standing heritage with each family they serve. Snyder Funeral Homes family-owned burial & cremation service API.apiBaseUrl : API.tcoAppPath; This place lets you decide how you want things and that is what matters at a time of grieving. if (window.location.protocol !== "https:" && See the things your family will need if something happens to you. This site is protected by reCAPTCHA and the Google. }; Indicates national average for this service. } settings.headers["__RequestVerificationToken"] = token; Mr. Earl Lasater, 82, of Hazel Green, went to be with the Lord on Tuesday. They treated our family like we were part of their family. Interment: Oakland Cemetery, Weatherford. 11337 Upper Gilchrist Rd, Mount Vernon, OH 43050 API.getCurrentUser = function () { return JSON.parse(API.xWallUser) }; She also liked to fish and spend time in her garden and loved her animals. Today, a century since Ora founded that first funeral home, the Snyder family strives to honor their long-standing heritage with each family they serve. Kay Baker. He was a life-long farmer and co-owner of Lasater Farms. Search Obituaries; Funeral Homes Post Obituary; Lasater Funeral Home. API.post = function (controller, method, data, success, error) { more directly from independent sellers at great prices. "DomainId": API.domainId This is a common price to purchase funeral flowers. complete: function (e) { A burial vault is required for most cemeteries, but you may choose to purchase one online or elsewhere, if you'd wish. This is the fee for the services the funeral home will provide during a funeral or memorial service. "https://twitter.com/SnyderFunerals", setTimeout(function(){$('#msie-banner').fadeOut(1000);}, 5000); Browse our recent and archived obituaries. Obituary of Matthew Bryan Lasater | Sellars Funeral Home var remove = function () { API.tcoSecureBaseUrl.indexOf("https") > -1) { Cat was a radiologist for over 20 years. Pearlie Beatrice Lasater, 88 of Brownsboro, passed away on January 23, 2023. Sue Lasater Obituary - Hamilton, TX OBITUARY Sue Lasater September 27, 1929 - December 2, 2022 IN THE CARE OF Riley Funeral Home Sue Lasater, age 93 passed away on Friday, December 2, 2022. He grew up in Andrews, Tx and graduated from Andrews High School in 1957. Service map data OpenStreetMap contributors. This is generally required if you will be needing any assistance from the staff for the service. This is the fee to purchase printed funeral programs. } What could Dilley-Lasater Funeral Home do to improve? Please contact the funeral home for Do Not Sell or Share My Personal Information. members lives. Gary Klingel Jr. Roberts Funeral Home - Mount Vernon Chapel, Do Not Sell or Share My Personal Information. This is the fee for the basic organizational services that the funeral home will provide. Snyder Funeral Homes, Lasater Chapel. } Sue Lasater Obituary - Hamilton, TX if (token) $container their pricing. This is the fee for the services the funeral home will provide during a graveside service. Family and friends must say goodbye to their beloved Lana Lasater (Springdale, Arkansas), who passed away at the age of 73, on January 29, 2023. Such a wonderful place. authCallback.showRelationship = true; See the things your family will need if something happens to you. Work here? data: data, Make funeral arrangements from anywhere in 15 minutes or less. init: function (modalData) { cremation near me funeral home Ohio API.postMedia = function (controller, method, data, success, error) { window.dataLayer = window.dataLayer || []; API.ajax = function (httpMethod, controller, method, data, contentType, isApi, success, error) { Virginia Lasater Obituary (1934 - 2023) - Legacy Remembers settings.dataType = "json"; (function () { What a great place. Send Funeral Flowers, find contact info, obituaries, funeral service info, etc. data: JSON.stringify(data) }; .head-menu.mobile-menu.navbar-default .navbar-toggle { Obituary for Mr. Joe Lee Lasater | Hazel Green Funeral Home, Hazel This is generally required if you will be needing any assistance from the staff for the service. funeralModal[modalData.init]($content.children().first()); .hide() This fee is generally mandatory. Funeral service for Virginia Naomi Lasater will be 2:00p.m., Wednesday, January 11, 2023 at Chelsea Assembly of God Church, burial will follow at Chelsea Cemetery. .appendTo($body)

}; }; This memorial website was created in memory of Verna L Lasater, 85, born on October 7, 1907 and passed away on September 15, 1993. settings.contentType = "application/json"; beforeSend: function (e) { Virginia passed away on Wednesday, January 4, 2023. headers: headers, Chelsea, very clearly. He was 33 years old. actual pricing. xhrFields: { Snyder Funeral Homes, Lasater Chapel Back to home page Contact our Tribute Store Advisors at 1-866-834-4420. on Jan. 7, 2022, 4:44 p.m. if (!window.aciveAnim) setTimeout(function () { Add pricing info, Have the price list for this funeral home? function gtag() { dataLayer.push(arguments); } Obituary for Margaret E Lasater | Stone Funeral Home, Inc. window.location.hash; How would you describe the ambiance and decor at Lasater Funeral Home? Mount Vernon, Ohio - Lasater Chapel; Sunbury, Ohio - DeVore Chapel; Obituaries Plan Online Our Services . Her true passion was crafting and selling her crafts. Very professional. Looking for someone else? us feel like he really cared about our family. Your name and review will be publicly viewable. This is the fee for the services the funeral home will provide during a visitation or viewing. if (API.xWallUser === "null") He was born October 19, 1939 in Odessa, Tx to Virgil Bell Lasater and Ruby McCarley Lasater. } Obituaries. $("html").addClass($.browser.name).addClass("version-" + $.browser.versionNumber); window.location.href = API.tcoSecureBaseUrl.slice(0, -1) + Brent will take care of you down to the last detail and let you decide how you want things to be.HIGHLY HIGHLY Recommended. This is generally required if you would like to hold a viewing and visitation at the funeral home or if you will be needing any assistance from the staff. Dobie Funeral Home.

Subscribe to Obituaries

var $form = $(self), . Work here? "telephone" : "(419) 884-1711" Carla Lasater Obituary (1963 - 2022) - Legacy Remembers This Ever Loved listing has not been claimed by an employee of the funeral home yet. Upgrade now. error("User is blocked"); Verna L Lasater (1907-1993) *85, Grave #63722962 - Sysoon , Bellville, Ohio - Bellville Butler Chapel, Delaware, Ohio - Snyder Rodman Funeral Center, Fredericktown, Ohio - Fredericktown Chapel, Mansfield, Ohio - Lexington Avenue Chapel. API.moderatorName = 'Snyder Funeral Homes'; She was 88. Your browser may not work with certain site. Why did you originally choose to work with Dilley-Lasater Funeral Home? Learn what your friends and neighbors have to say about our services. Friends may visit at the funeral home on Tuesday, January 10, from 1pm-8pm, with family receiving visitors from 4pm-8pm. This is the fee for the services the funeral home will provide during a graveside service. API.s3Path = '//tributecenteronline.s3-accelerate.amazonaws.com/'; You may purchase programs through the funeral home or elsewhere, if you wish. Audrey Lasater Obituary - Visitation & Funeral Information Send Beautiful Flowers Share a Memory Share Audrey Lasater July 6, 1928 - April 12, 2011 View Obituary & Service Information Login The family of Audrey Lasater created this Life Tributes page to make it easy to share your memories. Share your knowledge with others. Claim this page . .fadeIn('fast'); Please contact the funeral home for We offer a variety of arrangements delivered directly from a local florist to help comfort and support those who need it the most. Help others by adding or updating Your question and answer will be displayed publicly on this page. FrazerMaps.Init({ apiKey: "AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow" }); This is the fee for the basic organizational services that the funeral home will provide. Add pricing info. This particular box is completely enclosed; there's no lid to open and shut if that's something you're interested in. if ($.browser.name === 'msie') {
}; Lasater Funeral Home 11337 Upper Gilchrist Road . }); Obituary for Earl Lasater | Hazel Green Funeral Home, Hazel Green, AL function authCallback() { FYI he did arrive in a funeral home vehicle and pulled out a cot and the whole thing, which I personally appreciated, but if you have nosy neighbors, prepare to explain yourself. This Ever Loved listing has not been claimed by an employee of the funeral home yet. $body = $('body'), Seth, Sage and Cody Lasater, Kyle, Allyson, Eli, Silas, Taylor and Aubrie Lasater.Funeral services will be held on Saturday, February 10, 2018 at 10 a.m. at Hudson Funeral Chapel. window.aciveAnim = true; Browse our recent and archived obituaries. On September 18, 1953 she married Daniel Joseph Lasater. $formChildren.find('input').first().focus(); return API.ajax('GET', controller, method, data, "application/json", true, success, error); "@type" : "Organization", Lasater Funeral Homes 11337 Upper Gilchrist Rd, Mt Vernon, OH Traditional service, Burial service, Funeral service, Memorial service, Cremation, Special service for veterans, Pre-arrangements, Grief support, Caskets & Vaults & Urns and more products, Testimonials Website Authorize original obituaries for this funeral home Edit Virgil Alfred Lasater Funeral services for Virgil Alfred Lasater, 97, West Plains, Missouri, will be held at 1:00 p.m., Saturday, February 9, 2013, at the First Christian Church, West Plains, with Pastor Mike Heston officiating, under the direction of Carter Funeral Home, Inc., West Plains. "logo":"https://www.snyderfuneralhomes.com/Content/Media/SnyderFuneralHomes/2018-vectorized-sfh-horizontal-logo-color-transparent1-bold_9f50889353774d1cacf5d73f66b98b47.png", Sue was born in Tuscaloosa, Alabama to Lewelta Blanche Willingham and Omaha Nebraska Evans. Share Your Memories and Sympathies and Join the Bereaved! This site is protected by reCAPTCHA and the Google. } Published by Legacy on Dec. 13, 2022. This is generally required if you would like to hold the service at the funeral home or if you will be needing any assistance from the staff for the service. Help others by adding or updating Jason was so great and professional. Julia Wilson Lasater left her earthly body Friday, January 29, 2021, in Abilene, Texas and is now forever present with our Lord. Obituary Gerald Lasater Gerald Don ''Rip'' Lasater, 77, was ushered into the presence of our Lord on Thursday, October 20, 2016. The clay paw print with his name engraved. Visitation: 1:00 p.m. Monday, June 13, 2022, White's Funeral Home, Weatherford. } Wes lead us through all of the early decisions and made sure everything, during calling hours and the funeral, went smoothly. $('.page-loader-wrapper').addClass('active'); Lola Frances Lasater Obituary 2018 - Hudson Funeral Home and Cremation $formChildren = $form.children(); jQuery.ajax({ Add pricing info. Lasater Funeral Home 11337 Upper Gilchrist Road, Mount Vernon, OH, 43050 Get Directions 1-740-392-0005 | https://www.lasaterfuneralhomes.com 0 review Leave a review How can We Help? A few days later I received a call stating the remains were available to be picked up at the funeral home. Leave a sympathy message to the family in the guestbook on this memorial page of Lana Lasater to show support. Cat will be joining her late husband Charles 'Chuck' Lasater, her parents, and loved pets. OK 74016. var $container = $('
'), Your name and review will be publicly viewable. API.recaptchaV3PublicKey = '6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe'; } 09/20/1951 - 02/22/2023. Exceptional customer service.
Upgrade now. Why did you originally choose to work with Lasater Funeral Home? Highly recommended. if (data && data.status === 403) { , Bellville, Ohio - Bellville Butler Chapel, Delaware, Ohio - Snyder Rodman Funeral Center, Fredericktown, Ohio - Fredericktown Chapel, Mansfield, Ohio - Lexington Avenue Chapel. headers: { Recent Obituaries. Virginia passed away on Wednesday, January 4, 2023. Virginia Lasater's passing on Wednesday, January 4, 2023 has been publicly announced by Chelsea Funeral Home & Cremation Service in Chelsea, OK. This is the fee for the services the funeral home will provide during a visitation or viewing. jQuery.ajaxSetup({ "x-wall-user": API.xWallUser Mount Vernon, OH 43050 Send Flowers Send sympathy flowers Website https://www.lasaterfunera Phone (740) 392-0005 This Ever Loved listing has not been claimed by an employee of the funeral home yet. Gerald Lasater Obituary 2016 - Krestridge Funeral Home How to Write an Obituary; How to Write a Eulogy; Grief Library; Healing & Grieving; Memorialization Ideas; Social Security Benefits var funeralModal = { "@context" : "http://schema.org", API.get = function(controller, method, data, success, error) { 509 Cherry Street, return API.ajax('GET', controller, method, data, "application/json", false, success, error); .on('click', remove); It isn't that dark and dreary feel you get from most funeral homes. margin-top: 10px !important; I fully anticipate using their services again when the unfortunate need arises again. if (!isApi) { jQuery.ajax(settings).done(success).error(filterError); You'll be prompted to create an account. Julia Lasater Obituary 2021 - Krestridge Funeral Home 601 Vine St, Embalming is generally not required if proper refrigeration is available. and Calla (Meeks) Lasater. } They made my mom look beautiful . Claim this page . xhrFields: { Publish the Full Obituary Include your. In 2014, we. API.xWallUser = 'null'; "https://www.youtube.com/channel/UCQrVK1sFBcB7dc6Viszy8nA", This is a common price to purchase funeral flowers. $overlay $overlay = $('.overlay', $container), Funeral Service: 2:00 p.m. Monday, June 13, 2022, White's Funeral Home. What was the process of arranging a funeral like? Help others by adding or updating This is the fee to purchase printed funeral programs. cache: false, Obituary for Darrin "Brent" Lasater at Mannford Funeral Home API.getTco = function(controller, method, data, success, error) { This is the fee for the funeral home to come pick up your loved one and bring him/her to the funeral home for preparation. Snyder Funeral Homes . gtag('config', 'G-7P7W5SF9C6'); } }; their pricing. He was a Christian and a member of Bevill's Chapel Baptist Church for many. Mr. Joe Lasater, 72, of Hazel Green, passed away on Wednesday evening at a local hospital. API.isLocal = 'False' === 'True'; This is the fee for the embalming process. Reviewed on Google He. on Aug. 2, 2021, 7:48 a.m. Planning a funeral? }, PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFByaXZhY3kgUG9saWN5PC9oMT4NCiAgICA8cD4mbmJzcDs8L3A+DQogICAgPGRpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgPHA+TGFzdCBVcGRhdGVkOiAwOS8wNC8yMDIwPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgQ29uc3VsdGFudHMsIExMQyAoIkZyYXplciwiICJ3ZSwiICJ1cywiICJvdXIiKSBpcyBjb21taXR0ZWQgdG8gcHJvdGVjdGluZyB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGlzIFByaXZhY3kgTm90aWNlIGRlc2NyaWJlcyB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBjb2xsZWN0IGFib3V0IHlvdSwgaG93IHdlIHVzZSBhbmQgZGlzY2xvc2UgdGhpcyBpbmZvcm1hdGlvbiwgYW5kIHRoZSBzdGVwcyB3ZSB0YWtlIHRvIHByb3RlY3QgdGhpcyBpbmZvcm1hdGlvbi4gRm9yIHB1cnBvc2VzIG9mIHRoaXMgUHJpdmFjeSBOb3RpY2UsICJwZXJzb25hbCBpbmZvcm1hdGlvbiIgbWVhbnMgYW55IGluZm9ybWF0aW9uIHRoYXQgcmVsYXRlcyB0byB5b3UgYXMgYW4gaW5kaXZpZHVhbCBhbmQgY291bGQgcmVhc29uYWJseSBiZSB1c2VkIHRvIGlkZW50aWZ5IHlvdS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIG91ciBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhyb3VnaCB0aGlzIHdlYnNpdGUgYW5kIGFueSByZWxhdGVkIHdlYnNpdGVzLCBhcHBsaWNhdGlvbnMsIHRvb2xzLCBvciBwbGF0Zm9ybXMgKHRoZSAiU2VydmljZXMiKSwgYXMgd2VsbCBhcyB0aHJvdWdoIGFueSBvdGhlciBtZWFucyB3aGVyZSBhIGxpbmsgb3IgcmVmZXJlbmNlIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UgaXMgcHJvdmlkZWQgYXQgdGhlIHRpbWUgb2YgY29sbGVjdGlvbi48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPk91ciBTZXJ2aWNlczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RnJhemVyJ3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGluc3VyYW5jZSwgc2VhcmNoIGVuZ2luZSBvcHRpbWl6YXRpb24sIG1hcmtldGluZyBhbmQgZWNvbW1lcmNlIHNlcnZpY2VzLCB0byBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKG91ciAiQ2xpZW50cyIpLiBJbiBjb25uZWN0aW9uIHdpdGggdGhpcyBmYWNldCBvZiBGcmF6ZXIncyBidXNpbmVzcywgRnJhemVyIGNvbGxlY3RzIGFuZCBzdG9yZXMgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGluZGl2aWR1YWxzIHdobyB2aXNpdCBhbmQgdXRpbGl6ZSBjZXJ0YWluIGZ1bmN0aW9ucyBvciBmZWF0dXJlcyBvZiBvdXIgQ2xpZW50cycgd2Vic2l0ZXMgKCJFbmQgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIEZyYXplcidzIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBDbGllbnQgYW5kIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ1dCBub3QgdG8gb3VyIENsaWVudHMgdXNlIG9mIHN1Y2ggcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgYWxzbyBtYWludGFpbnMgYW4gb25saW5lIHByZXNlbmNlLCBpbmNsdWRpbmcgYW4gZWNvbW1lcmNlIHN0b3JlLCB0aGUgVHJpYnV0ZSBTdG9yZSwgb2ZmZXJpbmcgY2VydGFpbiBmdW5lcmFsIHBhcmFwaGVybmFsaWEgYW5kIHJlbGF0ZWQgcHJvZHVjdHMsIGFuZCBhIHdlYiByZXBvc2l0b3J5LCB0aGUgVHJpYnV0ZSBBcmNoaXZlLCBjb250YWluaW5nIG9iaXR1YXJpZXMsIGEgbGlzdGluZyBvZiBmdW5lcmFsIGhvbWVzLCBhbmQgb3RoZXIgZnVuZXJhbC1yZWxhdGVkIGNvbnRlbnQgaW4gY29ubmVjdGlvbiB3aXRoIHdoaWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSBjb2xsZWN0ZWQgZnJvbSBpbmRpdmlkdWFscyAoIlRyaWJ1dGUgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhbHNvIGFwcGxpZXMgdG8gRnJhemVyJ3MgY29sbGVjdGlvbiBhbmQgdXNlIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZyb20gVHJpYnV0ZSBVc2VycyBhbmQgb3RoZXIgaW5kaXZpZHVhbHMgd2hvIGludGVyYWN0IGRpcmVjdGx5IHdpdGggRnJhemVyLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdDwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2hlbiB5b3UgYWNjZXNzIG9yIHVzZSB0aGUgU2VydmljZXMgb3Igb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggdXMsIHdoZXRoZXIgYXMgYSBDbGllbnQsIEVuZCBVc2VyLCBUcmlidXRlIFVzZXIgb3Igb3RoZXIgaW5kaXZpZHVhbCwgd2UgbWF5IGNvbGxlY3QgY2VydGFpbiBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFib3V0IHlvdSBmcm9tIGEgdmFyaWV0eSBvZiBzb3VyY2VzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGZyb20geW91IGRpcmVjdGx5IGluY2x1ZGU6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29udGFjdCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIG5hbWUsIHBob25lIG51bWJlciwgbWFpbGluZyBhZGRyZXNzLCBlbWFpbCBhZGRyZXNzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+UGF5bWVudC1yZWxhdGVkIGRldGFpbHMgKGZvciBleGFtcGxlLCBiaWxsaW5nIGFkZHJlc3MgYW5kIG90aGVyIGNyZWRpdCBjYXJkIGRldGFpbHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5BY2NvdW50IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFuZCB0cmFuc2FjdGlvbiBoaXN0b3J5KTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29tbXVuaWNhdGlvbnMgKGZvciBleGFtcGxlLCBzdWJtaXR0ZWQgcXVlc3Rpb25zIG9yIG90aGVyIHBvc3RzIGFuZCBtYXJrZXRpbmcgcHJlZmVyZW5jZXMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5SZWNydWl0bWVudCBkYXRhIChmb3IgZXhhbXBsZSwgcmVzdW1lcyBhbmQgb3RoZXIgZGV0YWlscyByZWdhcmRpbmcgYW4gYXBwbGljYW50J3MgcXVhbGlmaWNhdGlvbnMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcyBpbmNsdWRlOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlRlY2huaWNhbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIGJyb3dzZXIgdHlwZSwgSVAgYWRkcmVzcywgY29va2llcywgYW5kIG9wZXJhdGluZyBzeXN0ZW0pPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Vc2FnZSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhZ2VzIHZpc2l0ZWQsIHNlYXJjaCB0ZXJtcyBlbnRlcmVkLCBhbmQgZnJlcXVlbmN5IG9mIHZpc2l0cyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgbWF5IGNvbGxlY3QgZnJvbSBvdGhlciBzb3VyY2VzLCBpbmNsdWRpbmcgZnJvbSBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggdGhlaXIgdXNlIG9mIHRoZSBTZXJ2aWNlcywgaW5jbHVkZTo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+DQogICAgICAgICAgICAgICAgICAgICAgICBXZSB1c2UgR29vZ2xlIEFuYWx5dGljcyB0byBjb2xsZWN0IGFuZCBhbmFseXplIGluZm9ybWF0aW9uIGFib3V0IHVzZSBvZiB0aGUgd2Vic2l0ZSBhbmQgdG8gaGVscCB1cyB1bmRlcnN0YW5kIGFjdGl2aXRpZXMgYW5kIHRyZW5kcywgdGhpcyBpbmNsdWRlcyB1c2Ugb2YgR29vZ2xlIEFuYWx5dGljcyBwZXJmb3JtYW5jZSByZXBvcnRzIHJlbGF0aW5nIHRvIGRlbW9ncmFwaGljcyBhbmQgaW50ZXJlc3RzLiBBcyBwYXJ0IG9mIHRoaXMgc2VydmljZSwgd2Ugc2hhcmUgYSB1bmlxdWUgaWRlbnRpZmllciB3aXRoIEdvb2dsZSBBbmFseXRpY3MuIFlvdSBtYXkgb3B0LW91dCBvZiBHb29nbGUgQW5hbHl0aWNzIGJ5IGluc3RhbGxpbmcgYSBHb29nbGUgQW5hbHl0aWNzIG9wdC1vdXQgYnJvd3NlciBhZGQtb24gYXZhaWxhYmxlIGZvciBkb3dubG9hZCBoZXJlOiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmdvb2dsZS5jb20vZGxwYWdlL2dhb3B0b3V0Ij5odHRwczovL3Rvb2xzLmdvb2dsZS5jb20vZGxwYWdlL2dhb3B0b3V0PC9hPi4NCiAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkhvdyBXZSBVc2UgWW91ciBQZXJzb25hbCBJbmZvcm1hdGlvbjwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWF5IHVzZSB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gd2UgY29sbGVjdCBmb3IgdGhlIGZvbGxvd2luZyBwdXJwb3Nlczo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Qcm92aWRlIGFuZCBpbXByb3ZlIHRoZSBTZXJ2aWNlcy48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBwcm92aWRlIGFuZCBpbXByb3ZlIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRvIGZ1bGZpbGwgeW91ciBvcmRlcnMgYW5kIHJlcXVlc3RzIGFuZCB0byBwb3N0IHlvdXIgY29tbWVudHMgYW5kIG90aGVyIGZ1bmVyYWwgY29udHJpYnV0aW9ucy4gV2UgbWF5IGFsc28gdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHRoZSBhZG1pbmlzdHJhdGlvbiBvZiBvdXIgYnVzaW5lc3MsIGZvciBidXNpbmVzcyBkZXZlbG9wbWVudCBwdXJwb3NlcywgYW5kIHRvIGZ1bGZpbGwgb3VyIGNvbnRyYWN0dWFsIG9ibGlnYXRpb25zLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eS48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIENsaWVudHMsIHN0YWZmIGFuZCBhc3NldHMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db21tdW5pY2F0aW9uIGFuZCBtYXJrZXRpbmcuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXMgcmVhc29uYWJseSBuZWNlc3NhcnkgdG8gYXNzZXNzIGFuZCBlbnN1cmUgY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cywgbGVnYWwgcmVxdWlyZW1lbnRzLCBhbmQgY29tcGFueSBwb2xpY2llczsgdG8gcHJvdGVjdCBvdXIgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gdGhlIGV2ZW50IHdlIHVuZGVydGFrZSBvciBhcmUgaW52b2x2ZWQgaW4gb3IgY29udGVtcGxhdGluZyBhbnkgbWVyZ2VyLCBhY3F1aXNpdGlvbiwgcmVvcmdhbml6YXRpb24sIHNhbGUgb2YgYXNzZXRzLCBiYW5rcnVwdGN5LCBvciBpbnNvbHZlbmN5IGV2ZW50LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UmVjcnVpdG1lbnQgYW5kIGhpcmluZy48L2I+IFdlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBldmFsdWF0ZSB5b3VyIGNhbmRpZGFjeSB3aGVuIHlvdSBhcHBseSBmb3IgYSBqb2Igd2l0aCB1cy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgYWxzbyBhZ2dyZWdhdGUsIGFub255bWl6ZSwgb3Igb3RoZXJ3aXNlIGRlLWlkZW50aWZ5IHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYW5kIHVzZSBpdCBmb3IgYW55IHB1cnBvc2UgcGVybWl0dGVkIGJ5IGFwcGxpY2FibGUgbGF3LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+U29tZSBqdXJpc2RpY3Rpb25zIHJlcXVpcmUgdGhhdCB3ZSBkZXRlcm1pbmUgYSAibGF3ZnVsIGJhc2lzIiBmb3IgcHJvY2Vzc2luZyBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2hlcmUgc3VjaCByZXF1aXJlbWVudHMgZXhpc3QsIHdlIHJlbHkgb24gdGhlIGZvbGxvd2luZyBsYXdmdWwgYmFzZXMgZm9yIG91ciBwcm9jZXNzaW5nIGFjdGl2aXRpZXM6IHRoYXQgeW91IGhhdmUgY29uc2VudGVkIHRvIHRoZSBwcm9jZXNzaW5nOyB0aGF0IHRoZSBwcm9jZXNzaW5nIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIHBlcmZvcm1hbmNlIG9mIG91ciBjb250cmFjdCB3aXRoIHlvdTsgdGhhdCB3ZSBoYXZlIGEgbGVnYWwgb2JsaWdhdGlvbjsgb3IgdGhhdCB3ZSBoYXZlIGEgbGVnaXRpbWF0ZSBpbnRlcmVzdCBpbiBwcm92aWRpbmcgYW5kIGltcHJvdmluZyB0aGUgU2VydmljZXMgYW5kIG1hbmFnaW5nIG91ciBidXNpbmVzcyBvcGVyYXRpb25zLiBPdXIgQ2xpZW50cyBkZXRlcm1pbmUgdGhlIGxhd2Z1bCBiYXNpcyBmb3IgcHJvY2Vzc2luZyBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPlVzZSBvZiBDb29raWVzPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XaGVuIHlvdSB1c2UgdGhlIFNlcnZpY2VzLCB3ZSBtYXkgc2VuZCBvbmUgb3IgbW9yZSBjb29raWVzICh3aGljaCBhcmUgc21hbGwgdGV4dCBmaWxlcyBjb250YWluaW5nIGEgc3RyaW5nIG9mIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSB0byB5b3VyIGNvbXB1dGVyIG9yIG1vYmlsZSBkZXZpY2UsIHRvIGhlbHAgYW5hbHl6ZSBvdXIgd2ViIHBhZ2UgZmxvdywgY3VzdG9taXplIG91ciBjb250ZW50LCBtZWFzdXJlIHByb21vdGlvbmFsIGVmZmVjdGl2ZW5lc3MsIGFuZCBwcm9tb3RlIHRydXN0IGFuZCBzYWZldHkuIFlvdSBhcmUgYWx3YXlzIGZyZWUgdG8gZGVjbGluZSBvdXIgY29va2llcyBpZiB5b3VyIGJyb3dzZXIgcGVybWl0cywgYWx0aG91Z2ggZG9pbmcgc28gbWF5IGludGVyZmVyZSB3aXRoIHlvdXIgYWJpbGl0eSB0byB1c2UgdGhlIFNlcnZpY2VzIG9yIGNlcnRhaW4gZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzLiBXZSBtYXkgYWxzbyB1c2UgR29vZ2xlIEFuYWx5dGljcyBvciBhIHNpbWlsYXIgc2VydmljZSB0aGF0IHVzZXMgY29va2llcyB0byBoZWxwIHVzIGFuYWx5emUgaG93IHVzZXJzIHVzZSB0aGUgU2VydmljZXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgYWxzbyBhbGxvdyBjZXJ0YWluIHRoaXJkIHBhcnRpZXMgc3VjaCBhcyBhZHZlcnRpc2luZywgYW5hbHl0aWNzIHByb3ZpZGVycywgYW5kIHdpZGdldCBwcm92aWRlcnMgdG8gcGxhY2UgY29va2llcyBpbiBvcmRlciB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHlvdXIgb25saW5lIGFjdGl2aXRpZXMgb3ZlciB0aW1lIGFuZCBhY3Jvc3MgZGlmZmVyZW50IHdlYnNpdGVzIHdoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzLiBDdXJyZW50bHksIHZhcmlvdXMgYnJvd3NlcnMgb2ZmZXIgYSAiRG8gTm90IFRyYWNrIiBvcHRpb24sIGJ1dCB0aGVyZSBpcyBubyBzdGFuZGFyZCBmb3IgaG93ICJEbyBOb3QgVHJhY2siIHNob3VsZCB3b3JrIG9uIGNvbW1lcmNpYWwgd2Vic2l0ZXMuIER1ZSB0byB0aGUgbGFjayBvZiBzdWNoIHN0YW5kYXJkcywgdGhpcyB3ZWJzaXRlIGRvZXMgbm90IHJlc3BvbmQgdG8gIkRvIE5vdCBUcmFjayIgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBtYXkgZGlzY2xvc2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byB0aGUgZm9sbG93aW5nIGNhdGVnb3JpZXMgb2YgcmVjaXBpZW50cywgdG8gYmUgdXNlZCBvbmx5IGZvciBsZWdpdGltYXRlIHB1cnBvc2VzIGluIGtlZXBpbmcgd2l0aCB0aGlzIFByaXZhY3kgTm90aWNlOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdyb3VwIGNvbXBhbmllcyBhbmQgYWZmaWxpYXRlcy48L2I+IFdlIG1heSBkaXNjbG9zZSwgc2hhcmUsIG9yIHRyYW5zZmVyIHlvdXIgaW5mb3JtYXRpb24gdG8gYW55IGJ1c2luZXNzIGVudGl0eSB0aGF0IGlzIHBhcnQgb2Ygb3VyIGNvcnBvcmF0ZSBmYW1pbHkuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5DbGllbnRzLjwvYj4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMgcHJvdmlzaW9uIG9mIHNlcnZpY2VzIHRvIHlvdS48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlNlcnZpY2UgcHJvdmlkZXJzIGFuZCBwcm9mZXNzaW9uYWwgYWR2aXNvcnMuPC9iPiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCByZWNydWl0bWVudCBhbmQgaGlyaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMnIGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uLjwvYj4gV2UgbWF5IGRpc2Nsb3NlIHlvdXIgaW5mb3JtYXRpb24gdG8gcmVsZXZhbnQgdGhpcmQgcGFydGllcyBpbiB0aGUgZXZlbnQgb2YgYSBkaXZlc3RpdHVyZSwgbWVyZ2VyLCBjb25zb2xpZGF0aW9uLCBvciBhc3NldCBzYWxlLCBvciBpbiB0aGUgdW5saWtlbHkgZXZlbnQgb2YgYSBiYW5rcnVwdGN5LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TGF3IGVuZm9yY2VtZW50IG9yIG90aGVyIGdvdmVybm1lbnRhbCBlbnRpdGllcy48L2I+IFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIGlmIHJlcXVpcmVkIHRvIGRvIHNvIGJ5IGxhdyBvciBpZiB3ZSBiZWxpZXZlIGluIGdvb2QgZmFpdGggdGhhdCBzdWNoIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCB1bmxhd2Z1bCBhY3Rpdml0eSwgZGVmZW5kIG91ciByaWdodHMsIG9yIG1haW50YWluIHNlY3VyaXR5LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+T3RoZXIgdGhpcmQgcGFydGllcyB3aXRoIHlvdXIgY29uc2VudC48L2I+IFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIGltcGxlbWVudGVkIGFuZCBtYWludGFpbiBjb21tZXJjaWFsbHkgcmVhc29uYWJsZSBhbmQgYXBwcm9wcmlhdGUgdGVjaG5pY2FsIGFuZCBvcmdhbml6YXRpb25hbCBtZWFzdXJlcyBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBjb25maWRlbnRpYWxpdHksIGludGVncml0eSwgYW5kIHNlY3VyaXR5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFBsZWFzZSBub3RlLCBob3dldmVyLCB0aGF0IG5vIHNlY3VyaXR5IG1lYXN1cmVzIGFyZSBwZXJmZWN0IG9yIGltcGVuZXRyYWJsZS4gV2UgdGhlcmVmb3JlIGNhbm5vdCBndWFyYW50eSBhbmQgZG8gbm90IHdhcnJhbnQgdGhlIGFic29sdXRlIHNlY3VyaXR5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFdlIHJldGFpbiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZvciBubyBsb25nZXIgdGhhbiByZWFzb25hYmx5IG5lY2Vzc2FyeSB0byBmdWxmaWxsIHRoZSBwdXJwb3NlcyBmb3Igd2hpY2ggd2UgY29sbGVjdGVkIGl0IG9yIHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgZnJhdWQsIGZhY2lsaXRhdGUgYW4gaW52ZXN0aWdhdGlvbiwgZGVmZW5kIGFnYWluc3QgbGVnYWwgY2xhaW1zLCBvciBleGVyY2lzZSBvdXIgbGVnYWwgcmlnaHRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RGVwZW5kaW5nIG9uIHlvdXIgbG9jYXRpb24sIHRoZSBwZXJzb25hbCBpbmZvcm1hdGlvbiB3ZSBjb2xsZWN0IGFib3V0IHlvdSBtYXkgYmUgdHJhbnNmZXJyZWQgdG8gYSBqdXJpc2RpY3Rpb24gdGhhdCBkb2VzIG5vdCBwcm92aWRlIHRoZSBzYW1lIGxldmVsIG9mIHByb3RlY3Rpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gYXMgdGhlIGp1cmlzZGljdGlvbiBpbiB3aGljaCB5b3UgcmVzaWRlLiBBbW9uZyBvdGhlciBwbGFjZXMsIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSB0cmFuc2ZlcnJlZCB0bywgYW5kIHN0b3JlZCBpbiwgQ2FuYWRhLCBBdXN0cmFsaWEgYW5kIHRoZSBVbml0ZWQgU3RhdGVzLiBUcmFuc2ZlcnMgZnJvbSB0aGUgRXVyb3BlYW4gVW5pb24gdG8gQ2FuYWRhIGFyZSBtYWRlIHB1cnN1YW50IHRvIEV1cm9wZWFuIENvbW1pc3Npb24gRGVjaXNpb24gMjAwMi8yL0VDLCB3aGljaCBkZXRlcm1pbmVkIHRoYXQgQ2FuYWRhIGlzIGNvbnNpZGVyZWQgYXMgcHJvdmlkaW5nIGFuIGFkZXF1YXRlIGxldmVsIG9mIHByb3RlY3Rpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Zb3VyIENob2ljZXMgJmFtcDsgUmlnaHRzPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5Zb3UgbWF5IGRlY2xpbmUgdG8gc2hhcmUgY2VydGFpbiBpbmZvcm1hdGlvbiB3aXRoIHVzLCBpbiB3aGljaCBjYXNlIHdlIG1heSBub3QgYmUgYWJsZSB0byBwcm92aWRlIHRvIHlvdSBzb21lIG9mIHRoZSBmZWF0dXJlcyBhbmQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgU2VydmljZXMuIE9uY2UgeW91IGhhdmUgcmVnaXN0ZXJlZCBmb3IgYW4gYWNjb3VudCB3aXRoIHVzLCB5b3UgbWF5IHVwZGF0ZSwgY29ycmVjdCwgb3IgZGVsZXRlIHlvdXIgcHJvZmlsZSBpbmZvcm1hdGlvbiBhbmQgcHJlZmVyZW5jZXMgYXQgYW55IHRpbWUgYnkgYWNjZXNzaW5nIHlvdXIgYWNjb3VudCBwcmVmZXJlbmNlcyBwYWdlIHRocm91Z2ggdGhlIFNlcnZpY2VzLiBJZiB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBtYXJrZXRpbmcgY29tbXVuaWNhdGlvbnMgZnJvbSB1cywgeW91IGNhbiBvcHQtb3V0IGJ5IHVzaW5nIHRoZSB1bnN1YnNjcmliZSBwcm9jZXNzIHByb3ZpZGVkIG9yIGRlc2NyaWJlZCBpbiBhbnkgc3VjaCBjb21tdW5pY2F0aW9uLCBidXQgeW91IG1heSBzdGlsbCByZWNlaXZlIHRyYW5zYWN0aW9uYWwgb3IgYWRtaW5pc3RyYXRpdmUgY29tbXVuaWNhdGlvbnMgZnJvbSB1cy4gQWx0aG91Z2ggeW91ciBjaGFuZ2VzIGFyZSByZWZsZWN0ZWQgcHJvbXB0bHkgaW4gYWN0aXZlIHVzZXIgZGF0YWJhc2VzLCB3ZSBtYXkgcmV0YWluIGFsbCBpbmZvcm1hdGlvbiB5b3Ugc3VibWl0IGZvciBhIHZhcmlldHkgb2YgcHVycG9zZXMsIGluY2x1ZGluZyBiYWNrdXBzIGFuZCBhcmNoaXZpbmcsIHByZXZlbnRpb24gb2YgZnJhdWQgYW5kIGFidXNlLCBhbmQgYW5hbHl0aWNzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RGVwZW5kaW5nIG9uIHlvdXIgbG9jYXRpb24gYW5kIHN1YmplY3QgdG8gbG9jYWwgbGF3LCB5b3UgbWF5IGhhdmUgY2VydGFpbiByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24uIFRoZXNlIG1heSBpbmNsdWRlOiB0aGUgcmlnaHQgdG8gYWNjZXNzLCBjb3JyZWN0LCBhbmQgZGVsZXRlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb247IHRoZSByaWdodCB0byByZXN0cmljdCBvciBvYmplY3QgdG8gb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyBhbmQgdGhlIHJpZ2h0IHRvIHJlY2VpdmUgYSBwb3J0YWJsZSBjb3B5IG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gaW4gYSB1c2FibGUgZm9ybWF0LiBJZiB5b3UgcHJvdmlkZSB1cyB3aXRoIGNvbnNlbnQgdG8gdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24sIHlvdSBtYXkgd2l0aGRyYXcgdGhhdCBjb25zZW50IGF0IGFueSB0aW1lLCBob3dldmVyLCBzdWNoIHdpdGhkcmF3YWwgd2lsbCBub3QgaW1wYWN0IHRoZSBsYXdmdWxuZXNzIG9mIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBiYXNlZCBvbiB5b3VyIGNvbnNlbnQgdXAgdG8gdGhhdCBwb2ludC48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlRvIG1ha2UgYSByZXF1ZXN0IHJlbGF0ZWQgdG8geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBvciBvdGhlcndpc2UgZXhlcmNpc2UgeW91ciByaWdodHMsIHlvdSBtYXkgY29udGFjdCB1cyB1c2luZyB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBwcm92aWRlZCBiZWxvdy4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZnJvbSB5b3UuIFdlIHdpbGwgcmVzcG9uZCB0byByZXF1ZXN0cyB3aXRoaW4gdGhlIHJlbGV2YW50IHRpbWUgcGVyaW9kcyBlc3RhYmxpc2hlZCBieSBhcHBsaWNhYmxlIGxhdy4gV2UgYXJlIGNvbW1pdHRlZCB0byBmaW5kaW5nIGEgZmFpciBhbmQgcmVhc29uYWJsZSByZXNvbHV0aW9uIHRvIGFueSByZXF1ZXN0LCBjb25jZXJuLCBvciBjb21wbGFpbnQgeW91IGJyaW5nIHRvIG91ciBhdHRlbnRpb24uIEhvd2V2ZXIsIGlmIHlvdSBhcmUgdW5zYXRpc2ZpZWQgd2l0aCBvdXIgcmVzcG9uc2UgdG8geW91ciByZXF1ZXN0LCB5b3UgbWF5IGhhdmUgdGhlIHJpZ2h0IHRvIGxvZGdlIGEgY29tcGxhaW50IHdpdGggYXBwbGljYWJsZSBnb3Zlcm5tZW50YWwgYXV0aG9yaXRpZXMsIHN1YmplY3QgdG8gbG9jYWwgbGF3LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q2hpbGRyZW4ncyBQcml2YWN5PC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoImNoaWxkcmVuIiksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5DYWxpZm9ybmlhIFJlc2lkZW50czwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD48Yj5Db2xsZWN0aW9uIGFuZCBVc2Ugb2YgUGVyc29uYWwgSW5mb3JtYXRpb248L2I+PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQgYWJvdXQgQ2FsaWZvcm5pYSByZXNpZGVudHMgaW4gdGhlIHBhc3QgdHdlbHZlIG1vbnRocyBpbmNsdWRlIGlkZW50aWZpZXJzLCBvdGhlciBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiwgY2hhcmFjdGVyaXN0aWNzIG9mIHByb3RlY3RlZCBjbGFzcywgY29tbWVyY2lhbCBpbmZvcm1hdGlvbiwgSW50ZXJuZXQgb3Igb3RoZXIgZWxlY3Ryb25pYyBuZXR3b3JrIGFjdGl2aXR5IGluZm9ybWF0aW9uLCBwcm9mZXNzaW9uYWwgb3IgZW1wbG95bWVudC1yZWxhdGVkIGluZm9ybWF0aW9uLCBlZHVjYXRpb24gaW5mb3JtYXRpb24sIGFuZCBpbmZlcmVuY2VzIGRyYXduIGZyb20gc3VjaCBpbmZvcm1hdGlvbi4gRm9yIGV4YW1wbGVzIG9mIHNwZWNpZmljIHBpZWNlcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBjb2xsZWN0ZWQsIHBsZWFzZSBzZWUgdGhlICJQZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0IiBzZWN0aW9uIGFib3ZlLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBkaXNjbG9zZWQgZm9yIGEgYnVzaW5lc3MgcHVycG9zZSBhYm91dCBDYWxpZm9ybmlhIHJlc2lkZW50cyBpbiB0aGUgcGFzdCB0d2VsdmUgbW9udGhzIGluY2x1ZGUgaWRlbnRpZmllcnMsIG90aGVyIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uLCBjaGFyYWN0ZXJpc3RpY3Mgb2YgcHJvdGVjdGVkIGNsYXNzLCBjb21tZXJjaWFsIGluZm9ybWF0aW9uLCBJbnRlcm5ldCBvciBvdGhlciBlbGVjdHJvbmljIG5ldHdvcmsgYWN0aXZpdHkgaW5mb3JtYXRpb24sIHByb2Zlc3Npb25hbCBvciBlbXBsb3ltZW50LXJlbGF0ZWQgaW5mb3JtYXRpb24sIGFuZCBlZHVjYXRpb24gaW5mb3JtYXRpb24uPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcycgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD48Yj5Zb3VyIENhbGlmb3JuaWEgUHJpdmFjeSBSaWdodHM8L2I+PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5BcyBhIENhbGlmb3JuaWEgcmVzaWRlbnQsIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gcmVxdWVzdCB0aGUgZGVsZXRpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gb3B0LW91dCBvZiB0aGUgc2FsZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGF0IGFueSB0aW1lLiBOb3RlIHRoYXQgd2UgZG8gbm90IGN1cnJlbnRseSBzZWxsIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgIDxwPkZpbmFsbHksIHlvdSBoYXZlIHRoZSByaWdodCB0byBub3QgYmUgZGlzY3JpbWluYXRlZCBhZ2FpbnN0IGFzIGEgcmVzdWx0IG9mIGV4ZXJjaXNpbmcgeW91ciBwcml2YWN5IHJpZ2h0cy4gQWNjb3JkaW5nbHksIHVubGVzcyBwZXJtaXR0ZWQgYnkgbGF3LCB3ZSB3aWxsIG5vdCBkZW55IHlvdSBnb29kcyBvciBzZXJ2aWNlcywgY2hhcmdlIHlvdSBkaWZmZXJlbnQgcHJpY2VzIG9yIHJhdGVzIGZvciBnb29kcyBvciBzZXJ2aWNlcywgcHJvdmlkZSB5b3UgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCA8IS0tZ29vZ2xlb2ZmOiBhbGwtLT4xLTg2Ni0zNzItOTM3MjwhLS1nb29nbGVvbjogYWxsLS0+LiBJbiBvcmRlciB0byBmdWxmaWxsIHlvdXIgcmVxdWVzdCwgd2UgbWF5IHJlcXVpcmUgYWRkaXRpb25hbCBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcHVycG9zZXMgb2YgdmVyaWZ5aW5nIHlvdXIgaWRlbnRpdHkuIElmIHlvdSBtYWtlIGEgcmVxdWVzdCB0aHJvdWdoIGFuIGF1dGhvcml6ZWQgYWdlbnQsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gdmVyaWZ5IHlvdXIgYXV0aG9yaXphdGlvbiBvZiB0aGUgYWdlbnQuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5XZSByZXNlcnZlIHRoZSByaWdodCB0byBtYWtlIGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBhdCBhbnkgdGltZSwgd2l0aG91dCBub3RpY2UuIFdlIHdpbGwgbm90aWZ5IHlvdSBhYm91dCBjaGFuZ2VzIHRoYXQgc2lnbmlmaWNhbnRseSBpbXBhY3Qgb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ5IHBsYWNpbmcgYSBwcm9taW5lbnQgbm90aWNlIG9uIHRoaXMgd2Vic2l0ZSBvciBieSBzZW5kaW5nIHlvdSBhbiBlbWFpbC4gUGxlYXNlIHJldmlzaXQgdGhpcyBwYWdlIHBlcmlvZGljYWxseSB0byBzdGF5IGF3YXJlIG9mIGFueSBjaGFuZ2VzIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UuIEZvciB0aGUgYXZvaWRhbmNlIG9mIGRvdWJ0LCBkaXNwdXRlcyBhcmlzaW5nIGhlcmV1bmRlciB3aWxsIGJlIHJlc29sdmVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgUHJpdmFjeSBOb3RpY2UgaW4gZWZmZWN0IGF0IHRoZSB0aW1lIHRoZSBkaXNwdXRlIGFyb3NlLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q29udGFjdCBVczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+UGxlYXNlIGNvbnRhY3QgdXMgd2l0aCBhbnkgcXVlc3Rpb25zLCBjb21tZW50cyBvciBjb25jZXJucyBhYm91dCB0aGlzIFByaXZhY3kgTm90aWNlIG9yIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBieSBlLW1haWwgYXQgPGEgaHJlZj0ibWFpbHRvOnByaXZhY3lAZnJhemVyY29uc3VsdGFudHMuY29tIj5wcml2YWN5QGZyYXplcmNvbnN1bHRhbnRzLmNvbTwvYT4gb3IgYnkgbWFpbCBhdDo8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPkZyYXplciBDb25zdWx0YW50cyBMTEM8YnI+IDI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQTxicj4gTWlkZGxldG9uLCBXSSA1MzU2MjwvcD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==, PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFRlcm1zIG9mIFVzZTwvaDE+DQogICAgPHA+Jm5ic3A7PC9wPg0KICAgIDxkaXY+DQogICAgICAgIFRoZXNlIFRlcm1zIG9mIFVzZSwgdG9nZXRoZXIgd2l0aCBGcmF6ZXIgQ29uc3VsdGFudHMnIDxhIGhyZWY9Imh0dHBzOi8vZnJhemVyY29uc3VsdGFudHMuY29tL3ByaXZhY3ktcG9saWN5LyI+UHJpdmFjeSBQb2xpY3k8L2E+LCAoY29sbGVjdGl2ZWx5LCB0aGUgIlRlcm1zIikgc2V0IGZvcnRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGFwcGx5IHRvIHlvdXIgYWNjZXNzIGFuZCB1c2Ugb2YgdGhlIHdlYnNpdGUgb2YgRnJhemVyIENvbnN1bHRhbnRzIExMQyAoaHR0cHM6Ly93d3cuZnJhemVyY29uc3VsdGFudHMuY29tLykgKCJGcmF6ZXIiICJ3ZSIgb3IgInVzIikgYW5kIGFzc29jaWF0ZWQgc2VydmljZXMsIGluY2x1ZGluZyBGcmF6ZXIgc2VydmljZXMgdGhhdCBhcmUgYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdlYnNpdGVzIG9mIG91ciBjbGllbnQgZnVuZXJhbCBob21lcyBhbmQgb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzICh0b2dldGhlciwgdGhlICJTaXRlcyIpLCB3aGV0aGVyIGFzIGEgY2xpZW50LCBlbmQgdXNlciBvciBjdXN0b21lciBvZiBhIGNsaWVudCwgb3Igb3RoZXJ3aXNlLiAiRnJhemVyIiBpbmNsdWRlcyBhbGwgb2ZmaWNlcnMsIGRpcmVjdG9ycywgZW1wbG95ZWVzLCBjb25zdWx0YW50cywgYWZmaWxpYXRlcywgc3Vic2lkaWFyaWVzLCBhbmQgYWdlbnRzLiBUaGUgVGVybXMgY29uc3RpdHV0ZSBhIGxlZ2FsbHkgYmluZGluZyBhZ3JlZW1lbnQgYmV0d2VlbiB5b3UsIHdoZXRoZXIgcGVyc29uYWxseSBvciBvbiBiZWhhbGYgb2YgYW4gZW50aXR5ICgieW91IikgYW5kIEZyYXplciBjb25jZXJuaW5nIHlvdXIgYWNjZXNzIHRvIGFuZCB1c2Ugb2YgdGhlIFNpdGVzLg0KICAgICAgICA8cD48L3A+DQogICAgICAgIDxwPkJ5IHVzaW5nIG9yIGFjY2Vzc2luZyB0aGUgU2l0ZXMsIHlvdSBhZ3JlZSB0byB0aGVzZSBUZXJtcywgYXMgbWF5IGJlIHVwZGF0ZWQgZnJvbSB0aW1lIHRvIHRpbWUgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24gOSBiZWxvdy48L3A+DQogICAgICAgIDxvbD4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+IFRvIHVzZSB0aGUgU2l0ZXMgeW91IG11c3QgKGkpIGJlIGF0IGxlYXN0IGVpZ2h0ZWVuICgxOCkgeWVhcnMgb2YgYWdlOyAoaWkpIGhhdmUgbm90IHByZXZpb3VzbHkgYmVlbiBzdXNwZW5kZWQgb3IgcmVtb3ZlZCBmcm9tIHRoZSBTaXRlczsgYW5kIChpaWkpIHJlZ2lzdGVyIGZvciBhbmQgdXNlIHRoZSBTaXRlcyBpbiBjb21wbGlhbmNlIHdpdGggYW55IGFuZCBhbGwgYXBwbGljYWJsZSBsYXdzIGFuZCByZWd1bGF0aW9ucy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+IFRvIGFjY2VzcyBzb21lIGZlYXR1cmVzIG9mIHRoZSBTaXRlcywgeW91IG1heSBiZSByZXF1aXJlZCB0byByZWdpc3RlciBmb3IgYW4gYWNjb3VudC4gV2hlbiB5b3UgcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQsIHdlIG1heSBhc2sgeW91IHRvIGdpdmUgdXMgY2VydGFpbiBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB5b3Vyc2VsZiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIG90aGVyIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCB0byBjcmVhdGUgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkICgiUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIikuIFdoZW4gcmVnaXN0ZXJpbmcgZm9yIGFuZCBtYWludGFpbmluZyBhbiBhY2NvdW50LCB5b3UgYWdyZWUgdG8gcHJvdmlkZSB0cnVlLCBhY2N1cmF0ZSwgY3VycmVudCwgYW5kIGNvbXBsZXRlIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLiBZb3UgYWxzbyBhZ3JlZSBub3QgdG8gaW1wZXJzb25hdGUgYW55b25lLCBtaXNyZXByZXNlbnQgYW55IGFmZmlsaWF0aW9uIHdpdGggYW55b25lIGVsc2UsIHVzZSBmYWxzZSBpbmZvcm1hdGlvbiwgb3Igb3RoZXJ3aXNlIGNvbmNlYWwgeW91ciBpZGVudGl0eSBmcm9tIEZyYXplciBmb3IgYW55IHB1cnBvc2UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyB0aGUgY29uZmlkZW50aWFsaXR5IGFuZCBzZWN1cml0eSBvZiB5b3VyIHBhc3N3b3JkIGFuZCBvdGhlciBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24uIEZvciB5b3VyIHByb3RlY3Rpb24gYW5kIHRoZSBwcm90ZWN0aW9uIG9mIG90aGVyIHVzZXJzLCB3ZSBhc2sgeW91IG5vdCB0byBzaGFyZSB5b3VyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiB3aXRoIGFueW9uZSBlbHNlLiBJZiB5b3UgZG8gc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiB3aXRoIGFueW9uZSwgd2Ugd2lsbCBjb25zaWRlciB0aGVpciBhY3Rpdml0aWVzIHRvIGhhdmUgYmVlbiBhdXRob3JpemVkIGJ5IHlvdS4gSWYgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgdGhhdCB5b3VyIGFjY291bnQgaXMgbm8gbG9uZ2VyIHNlY3VyZSwgeW91IG11c3QgaW1tZWRpYXRlbHkgbm90aWZ5IHVzIGF0IGhlbHBAZnJhemVyY29uc3VsdGFudHMuY29tLjwvbGk+DQogICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgPHN0cm9uZz5Qcm9oaWJpdGVkLjwvc3Ryb25nPiBZb3UgYWdyZWUgbm90IHRvOg0KICAgICAgICAgICAgICAgIDxvbCB0eXBlPSJBIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlVzZSB0aGUgU2l0ZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGU7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSBpbiBhbnkgd2F5IHdpdGggc2VjdXJpdHktcmVsYXRlZCBmZWF0dXJlcyBvZiB0aGUgU2l0ZXM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSB3aXRoIHRoZSBvcGVyYXRpb24gb3IgYW55IHVzZXIncyBlbmpveW1lbnQgb2YgdGhlIFNpdGVzLCBpbmNsdWRpbmcgYnkgdXBsb2FkaW5nIG9yIG90aGVyd2lzZSBkaXNzZW1pbmF0aW5nIHZpcnVzZXMsIGFkd2FyZSwgc3B5d2FyZSwgd29ybXMsIG9yIG90aGVyIG1hbGljaW91cyBjb2RlLCBtYWtpbmcgdW5zb2xpY2l0ZWQgb2ZmZXJzIG9yIGFkdmVydGlzZW1lbnRzIHRvIG90aGVyIHVzZXJzLCBvciBhdHRlbXB0aW5nIHRvIGNvbGxlY3QgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgdXNlcnMgb3IgdGhpcmQgcGFydGllcyB3aXRob3V0IHRoZWlyIGNvbnNlbnQ7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkFjY2VzcywgbW9uaXRvciBvciBjb3B5IGFueSBjb250ZW50IG9yIGluZm9ybWF0aW9uIG9mIHRoZSBTaXRlcyB1c2luZyBhbnkgcm9ib3QsIHNwaWRlciwgc2NyYXBlciwgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBGcmF6ZXIncyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2l0ZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBGcmF6ZXI7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOyBvcjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj5TZWxsIG9yIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgYWNjZXNzIGdyYW50ZWQgaGVyZWluLjwvbGk+DQogICAgICAgICAgICAgICAgPC9vbD4NCiAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5UaGlyZCBQYXJ0eSBDb250ZW50Ljwvc3Ryb25nPiBUaGUgU2l0ZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiZuYnNwOyBGcmF6ZXIgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4mbmJzcDsgWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IEZyYXplciBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ljwvc3Ryb25nPiBZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgImNvbnRlbnQiKSB0byBGcmF6ZXIgb3IgYW55IHdlYnNpdGUgb2YgYW55IGZ1bmVyYWwgaG9tZSBvcGVyYXRlZCBieSBGcmF6ZXIsIHN1Y2ggY29udGVudCB3aWxsIGJlIHNoYXJlZCB3aXRoIGFuZCBzdG9yZWQgYnkgRnJhemVyIGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gVHJpYnV0ZSBBcmNoaXZlICh0cmlidXRlYXJjaGl2ZS5jb20pLiZuYnNwO1lvdSBmdXJ0aGVyIGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IHlvdSByZWxpbnF1aXNoIGFsbCBvd25lcnNoaXAgcmlnaHRzIGluIGFueSBpZGVhcyBvciBzdWdnZXN0aW9ucyB0aGF0IHlvdSBzdWJtaXQgdG8gRnJhemVyIHRocm91Z2ggdGhlIFNpdGVzLiZuYnNwO1RoZSBTaXRlcyBhcmUgcHJvdGVjdGVkIGJ5IGFwcGxpY2FibGUgY29weXJpZ2h0IGFuZCBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3cywgYW5kIG5vIG1hdGVyaWFscyBmcm9tIHRoZSBTaXRlcyBtYXkgYmUgY29waWVkLCByZXByb2R1Y2VkLCByZXB1Ymxpc2hlZCwgdXBsb2FkZWQsIHBvc3RlZCwgdHJhbnNtaXR0ZWQsIG9yIGRpc3RyaWJ1dGVkIGluIGFueSB3YXkgd2l0aG91dCBvdXIgZXhwcmVzcyBwZXJtaXNzaW9uLiZuYnNwO0FsbCB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIG9uIHRoZSBTaXRlcyBiZWxvbmcgdG8gRnJhemVyLCBleGNlcHQgdGhpcmQtcGFydHkgdHJhZGVtYXJrcyBvciBzZXJ2aWNlIG1hcmtzLCB3aGljaCBhcmUgdGhlIHByb3BlcnR5IG9mIHRoZWlyIHJlc3BlY3RpdmUgb3duZXJzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Vc2VyIENvbnRlbnQuPC9zdHJvbmc+IFlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodCB0byB1c2UgYW55IGNvbnRlbnQgeW91IHBvc3QgdG8gdGhlIFNpdGVzLiZuYnNwO0lmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBjb250ZW50IGhhcyBiZWVuIHVzZWQgaW4gYSB3YXkgdGhhdCBjb25zdGl0dXRlcyBjb3B5cmlnaHQgaW5mcmluZ2VtZW50LCB5b3UgbWF5IGNvbnRhY3Qgb3VyIERlc2lnbmF0ZWQgQWdlbnQ6PC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgICAgPCEtLWdvb2dsZW9mZjogYWxsLS0+DQogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogNDBweCI+DQogICAgICAgICAgICBBZGFtIEhvdmV5PGJyPg0KICAgICAgICAgICAgRnJhemVyIENvbnN1bHRhbnRzLCBMTEM8YnI+DQogICAgICAgICAgICAyNTAxIFBhcm1lbnRlciBTdHJlZXQgLSBTdWl0ZSAzMDBBPGJyPg0KICAgICAgICAgICAgTWlkZGxldG9uLCBXSSA1MzU2Mjxicj4NCiAgICAgICAgICAgIFBob25lOiA2MDgtNTg4LTg1MjI8YnI+DQogICAgICAgICAgICBGYXg6IDg2Ni00NDctMDMxMTxicj4NCiAgICAgICAgICAgIEVtYWlsOiBhZGFtQGZyYXplcmNvbnN1bHRhbnRzLmNvbQ0KICAgICAgICA8L3A+DQogICAgICAgIDwhLS1nb29nbGVvbjogYWxsLS0+DQogICAgICAgIDxwPllvdSBtdXN0IHByb3ZpZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogYW4gZWxlY3Ryb25pYyBvciBwaHlzaWNhbCBzaWduYXR1cmUgb2YgdGhlIGNvcHlyaWdodCBvd25lciBvciB0aGUgcGVyc29uIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyOyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjb3B5cmlnaHRlZCB3b3JrIHRoYXQgeW91IGNsYWltIGhhcyBiZWVuIGluZnJpbmdlZDsgYSBkZXNjcmlwdGlvbiBvZiB3aGVyZSB0aGUgbWF0ZXJpYWwgdGhhdCB5b3UgY2xhaW0gaXMgaW5mcmluZ2luZyBpcyBsb2NhdGVkOyB5b3VyIGFkZHJlc3MsIHRlbGVwaG9uZSBudW1iZXIsIGFuZCBlbWFpbCBhZGRyZXNzOyBhIHdyaXR0ZW4gc3RhdGVtZW50IHRoYXQgeW91IGhhdmUgYSBnb29kIGZhaXRoIGJlbGllZiB0aGF0IHRoZSBkaXNwdXRlZCB1c2UgaXMgbm90IGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBvd25lciwgaXRzIGFnZW50LCBvciB0aGUgbGF3OyBhIHN0YXRlbWVudCBieSB5b3UsIG1hZGUgdW5kZXIgcGVuYWx0eSBvZiBwZXJqdXJ5LCB0aGF0IHRoZSBhYm92ZSBpbmZvcm1hdGlvbiBpbiB5b3VyIG5vdGljZSBpcyBhY2N1cmF0ZSBhbmQgdGhhdCB5b3UgYXJlIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgYXV0aG9yaXplZCB0byBhY3Qgb24gdGhlIGNvcHlyaWdodCBvd25lcidzIGJlaGFsZi4mbmJzcDtGcmF6ZXIgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBGcmF6ZXIgb3Igb3RoZXJzLjwvcD4NCiAgICAgICAgPG9sIHN0YXJ0PSI3Ij4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4gWW91IGFncmVlIHRoYXQgeW91IHdpbGwgYmUgcGVyc29uYWxseSByZXNwb25zaWJsZSBmb3IgeW91ciB1c2Ugb2YgdGhlIFNpdGVzLCBhbmQgeW91IGFncmVlIHRvIGRlZmVuZCwgaW5kZW1uaWZ5LCBhbmQgaG9sZCBoYXJtbGVzcyBGcmF6ZXIgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2l0ZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyBvciAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eS4gRnJhemVyIHJlc2VydmVzIHRoZSByaWdodCwgYXQgb3VyIG93biBleHBlbnNlLCB0byBhc3N1bWUgdGhlIGV4Y2x1c2l2ZSBkZWZlbnNlIGFuZCBjb250cm9sIG9mIGFueSBtYXR0ZXIgb3RoZXJ3aXNlIHN1YmplY3QgdG8gaW5kZW1uaWZpY2F0aW9uIGJ5IHlvdSwgYW5kIGluIHN1Y2ggY2FzZSwgeW91IGFncmVlIHRvIGNvb3BlcmF0ZSB3aXRoIG91ciBkZWZlbnNlIG9mIHN1Y2ggY2xhaW0uPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPlRlcm1pbmF0aW9uLjwvc3Ryb25nPiBJZiB5b3UgdmlvbGF0ZSB0aGVzZSBUZXJtcywgeW91ciBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgU2l0ZXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZS4mbmJzcDtJbiBhZGRpdGlvbiwgRnJhemVyIGluIGl0cyBzb2xlIGRpc2NyZXRpb24gbWF5IHN1c3BlbmQgb3IgdGVybWluYXRlIHlvdXIgdXNlciBhY2NvdW50IGFuZC9vciBzdXNwZW5kIG9yIHRlcm1pbmF0ZSBzb21lIG9yIGFsbCBvZiB5b3VyIGFjY2VzcyB0byB0aGUgU2l0ZXMgYXQgYW55IHRpbWUsIHdpdGggb3Igd2l0aG91dCBub3RpY2UgdG8geW91LiZuYnNwO1lvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIEZyYXplciBhdCBoZWxwQGZyYXplcmNvbnN1bHRhbnRzLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBGcmF6ZXIgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNpdGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Nb2RpZmljYXRpb24gb2YgdGhlIFRlcm1zLjwvc3Ryb25nPiBGcmF6ZXIgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNpdGVzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgdXBvbiBub3RpY2UgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zLiZuYnNwO1dlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCBieSBwb3N0aW5nIGEgbm90aWNlIHRvIG91ciB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgYW4gZW1haWwgdG8gYW55IGFkZHJlc3MgeW91IG1heSBoYXZlIHByb3ZpZGVkIHRvIHVzLiZuYnNwO1lvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2l0ZXMgZm9sbG93aW5nIG5vdGljZSB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+RGlzY2xhaW1lcnMgb2YgV2FycmFudGllcy48L3N0cm9uZz4gVGhlIFNpdGVzIGFyZSBwcm92aWRlZCAiYXMgaXMiIGFuZCBvbiBhbiAiYXMgYXZhaWxhYmxlIiBiYXNpcywgd2l0aG91dCB3YXJyYW50eSBvciBjb25kaXRpb24gb2YgYW55IGtpbmQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIEFsdGhvdWdoIEZyYXplciBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTaXRlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiBGcmF6ZXIgc3BlY2lmaWNhbGx5IChidXQgd2l0aG91dCBsaW1pdGF0aW9uKSBkaXNjbGFpbXMgKGkpIGFueSBpbXBsaWVkIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5LCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgcXVpZXQgZW5qb3ltZW50LCBvciBub24taW5mcmluZ2VtZW50OyBhbmQgKGlpKSBhbnkgd2FycmFudGllcyBhcmlzaW5nIG91dCBvZiBjb3Vyc2Utb2YtZGVhbGluZywgdXNhZ2UsIG9yIHRyYWRlLiBZb3UgYXNzdW1lIGFsbCByaXNrIGZvciBhbnkvYWxsIGRhbWFnZXMgdGhhdCBtYXkgcmVzdWx0IGZyb20geW91ciB1c2Ugb2Ygb3IgYWNjZXNzIHRvIHRoZSBTaXRlcy4mbmJzcDtGcmF6ZXIgZG9lcyBub3QgZ3VhcmFudGVlIHRoZSBhY2N1cmFjeSBvZiwgYW5kIGRpc2NsYWltcyBhbGwgbGlhYmlsaXR5IGZvciwgYW55IGVycm9ycyBvciBvdGhlciBpbmFjY3VyYWNpZXMgaW4gdGhlIGluZm9ybWF0aW9uLCBjb250ZW50LCByZWNvbW1lbmRhdGlvbnMsIGFuZCBtYXRlcmlhbHMgbWFkZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgU2l0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiBJbiBubyBldmVudCB3aWxsIEZyYXplciBiZSBsaWFibGUgdG8geW91IGZvciBhbnkgaW5jaWRlbnRhbCwgc3BlY2lhbCwgY29uc2VxdWVudGlhbCwgZGlyZWN0LCBpbmRpcmVjdCwgb3IgcHVuaXRpdmUgZGFtYWdlcywgd2hldGhlciBiYXNlZCBvbiB3YXJyYW50eSwgY29udHJhY3QsIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgc3RhdHV0ZSwgb3IgYW55IG90aGVyIGxlZ2FsIHRoZW9yeSwgd2hldGhlciBvciBub3QgRnJhemVyIGhhcyBiZWVuIGluZm9ybWVkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZS4mbmJzcDtTb21lIGp1cmlzZGljdGlvbnMgZG8gbm90IGFsbG93IHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMgb3IgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLiBBY2NvcmRpbmdseSwgc29tZSBvZiB0aGUgYWJvdmUgbGltaXRhdGlvbnMgbWF5IG5vdCBhcHBseSB0byB5b3UuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkdvdmVybmluZyBMYXcuPC9zdHJvbmc+IFRoZXNlIFRlcm1zIGFyZSBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgV2lzY29uc2luLCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDtUbyB0aGUgZXh0ZW50IHRoYXQgYW55IGxhd3N1aXQgb3IgY291cnQgcHJvY2VlZGluZyBpcyBwZXJtaXR0ZWQgaGVyZXVuZGVyLCB5b3UgYW5kIEZyYXplciBhZ3JlZSB0byBzdWJtaXQgdG8gdGhlIGV4Y2x1c2l2ZSBwZXJzb25hbCBqdXJpc2RpY3Rpb24gb2YgdGhlIHN0YXRlIGNvdXJ0cyBvZiBXaXNjb25zaW4sIG9yLCBpZiBzdWNoIGNvdXJ0IHNoYWxsIG5vdCBoYXZlIGp1cmlzZGljdGlvbiwgYW55IGZlZGVyYWwgY291cnQgb2YgdGhlIFVuaXRlZCBTdGF0ZXMsIGFuZCBhcHByb3ByaWF0ZSBhcHBlbGxhdGUgY291cnRzIHRoZXJlZnJvbSwgZm9yIHRoZSBwdXJwb3NlIG9mIGxpdGlnYXRpbmcgYWxsIHN1Y2ggZGlzcHV0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMuPC9zdHJvbmc+IEZyYXplciByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGF0IGFueSB0aW1lIHdpdGhvdXQgYW55IG5vdGljZSBvciBmdXJ0aGVyIG9ibGlnYXRpb24gdG8geW91LiZuYnNwO1lvdSBhZ3JlZSB0aGF0IEZyYXplciB3aWxsIG5vdCBiZSBsaWFibGUgdG8geW91IG9yIHRvIGFueSB0aGlyZCBwYXJ0eSBmb3IgYW55IG1vZGlmaWNhdGlvbiwgc3VzcGVuc2lvbiwgb3IgZGlzY29udGludWFuY2Ugb2YgYW55IG9mIHRoZSBTaXRlcy48L2xpPg0KICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgIDxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz4NCiAgICAgICAgICAgICAgICA8b2w+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVGhlc2UgVGVybXMgY29uc3RpdHV0ZSB0aGUgZW50aXJlIGFuZCBleGNsdXNpdmUgdW5kZXJzdGFuZGluZyBhbmQgYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBGcmF6ZXIgcmVnYXJkaW5nIHlvdXIgdXNlIG9mIGFuZCBhY2Nlc3MgdG8gdGhlIFNpdGVzLCBhbmQgZXhjZXB0IGFzIGV4cHJlc3NseSBwZXJtaXR0ZWQgYWJvdmUgbWF5IG9ubHkgYmUgYW1lbmRlZCBieSBhIHdyaXR0ZW4gYWdyZWVtZW50IHNpZ25lZCBieSBhdXRob3JpemVkIHJlcHJlc2VudGF0aXZlcyBvZiB0aGUgcGFydGllcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+UGFyYWdyYXBoIEhlYWRlcnM8L3U+LiBVc2Ugb2YgcGFyYWdyYXBoIGhlYWRlcnMgaW4gdGhlIFRlcm1zIGlzIGZvciBjb252ZW5pZW5jZSBvbmx5IGFuZCBzaGFsbCBub3QgaGF2ZSBhbnkgaW1wYWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBwYXJ0aWN1bGFyIHByb3Zpc2lvbnMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPjx1PlNldmVyYWJpbGl0eTwvdT4uIEluIHRoZSBldmVudCB0aGF0IGFueSBwYXJ0IG9mIHRoZSBUZXJtcyBpcyBoZWxkIHRvIGJlIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSwgdGhlIHVuZW5mb3JjZWFibGUgcGFydCBzaGFsbCBiZSBnaXZlbiBlZmZlY3QgdG8gdGhlIGdyZWF0ZXN0IGV4dGVudCBwb3NzaWJsZSBhbmQgdGhlIHJlbWFpbmluZyBwYXJ0cyB3aWxsIHJlbWFpbiBpbiBmdWxsIGZvcmNlIGFuZCBlZmZlY3QuPC9saT4NCiAgICAgICAgICAgICAgICA8L29sPg0KICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk5vdGljZSB0byBDYWxpZm9ybmlhIFJlc2lkZW50cy48L3N0cm9uZz4gVW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBTLTIwMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQogICAgICAgIDwvb2w+DQogICAgICAgIDxwPkxhc3QgVXBkYXRlZDogMDkvMDQvMjAyMDwvcD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==, PGRpdj4NCjxoMSBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMThwdDsiPjxzdHJvbmc+QWNjZXNzaWJpbGl0eTwvc3Ryb25nPjwvc3Bhbj48L2gxPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctdG9wOiAxMHB4OyI+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIFRvIGFjaGlldmUgdGhpcyBnb2FsLCB3ZSBwYXJ0bmVyIHdpdGggRnJvbnQgUnVubmVyIHRvIGNvbXBseSB3aXRoIGFwcGxpY2FibGUgd2Vic2l0ZSBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gSWYgeW91IGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkgaW4gYWNjZXNzaW5nIGFueSBwYXJ0IG9mIHRoaXMgd2Vic2l0ZSwgcGxlYXNlIGZlZWwgZnJlZSB0byBjYWxsIDgwMC03OTctNDg2MSBvciBlbWFpbCBzdXBwb3J0QHNyc2NvbXB1dGluZy5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg0KPC9kaXY+.

Major League Baseball Players Benefit Plan, Convert Ethereum Address To Checksum, Articles L