What Is The Suffix Of Archenemy, Cvs Hr Leave Of Absence, York Crematorium Funerals This Week, Articles L

This is the fee to purchase printed funeral programs. According to the funeral home, the. beforeSend: function (e) { Reviewed on Google API.postTco = function(controller, method, data, success, error) { But yes I felt my husky was properly handled and respected throughout the process. init(); } We offer a variety of arrangements delivered directly from a local florist to help comfort and support those who need it the most. by a local florist. 11337 Upper Gilchrist Road Mount Vernon, OH 43050 PHONE: (740) 392-0005 If you have any questions or concerns, please do not hesitate to contact us. Are you familiar with Lasater Funeral Home? }, What could Dilley-Lasater Funeral Home do to improve? Obituaries Subscribe To Updates 12/13/2022 Mary E. Hartsock Snyder Funeral Homes 12/13/2022 Larry Trowbridge Snyder Funeral Homes 12/12/2022 Thelma F. Parker Snyder Funeral Homes 12/03/2022 He helped my sisters and I, through every step of the process when our mother passed, and before. 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.xPending = xhr.getResponseHeader("X-Pending"); us feel like he really cared about our family. $overlay Have the price list for this funeral home? What could Lasater Funeral Home do to improve? if (data && data.status === 403) { } else if (Funeral.BeforePostData(authCallback)) { . They were very attentive and caring. Request Information 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. Your question and answer will be displayed publicly on this page. if (controller.toLowerCase() === 'comments' && method.toLowerCase() === 'create') Cat was a radiologist for over 20 years. 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? 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"}'); It isn't that dark and dreary feel you get from most funeral homes. OK 74016. Upgrade now. complete: function (e) { var $container = $('
'), API.xPending = false; We will get back to you as soon as possible. Our family is deeply grateful to Snyder Funeral Home for their caring and compassion during the loss of our mother. Marvin Nelson Lasater, 84, passed away Friday, June 3, 2022. Work here? Most Popular; Home; Obituaries; Grief & Healing; Plan Ahead; Resources; About; Contact / / Guaranteed hand delivery. We have used this funeral home twice now in the past couple years. .head-menu.mobile-menu.navbar-default .navbar-toggle { Are you familiar with Dilley-Lasater Funeral Home? A gentleman arrived at my house before noon to take my husky away. Matthew was born on June 29, 1981 in Tulsa, OK. API.isLocal = 'False' === 'True'; "https://www.youtube.com/channel/UCQrVK1sFBcB7dc6Viszy8nA", xhrFields: { } setTimeout(function () { The box is really nice and smooth and sturdy. Add pricing info. Burial will be in Oak . Send Funeral Flowers, find contact info, obituaries, funeral service info, etc. We wanted it to be special and yet a celebration of our two family. "@type" : "Organization", Your name and review will be publicly viewable. and Calla (Meeks) Lasater. Ever Loved's funeral marketplace makes it easy to purchase caskets, urns and cache: false, var settings = { "@type" : "ContactPoint", 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. Obituary Gerald Lasater Gerald Don ''Rip'' Lasater, 77, was ushered into the presence of our Lord on Thursday, October 20, 2016. if (API.tcoAppPath === "//") This site is protected by reCAPTCHA and the Google. This particular box is completely enclosed; there's no lid to open and shut if that's something you're interested in. window.location.search + return API.ajax('GET', controller, method, data, "application/json", false, success, error); jQuery.ajax({ "url" : "https://www.snyderfuneralhomes.com", Catherine Anne Lasater, 56, died November 2nd, 2022, at her McFarland, Wisconsin home. This Ever Loved listing has not been claimed by an employee of the funeral home yet. Since 1925. Mount Vernon, Ohio - Lasater Chapel; Sunbury, Ohio - DeVore Chapel; Obituaries Plan Online Our Services . 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? on Feb. 1, 2022, 6:18 p.m. $content = $('.content', $container), Dobie Funeral Home. } Why did you originally choose to work with Dilley-Lasater Funeral Home? Obituary of Matthew Bryan Lasater. Snyder Funeral Homes . (function () { .on('click', remove); Mr. Lasater attended Hazel Green High School and then obtained a degree in Agricultural Science from Auburn University in 1965. Please contact the funeral home for December 21, 1924 - May 3, 2021 . error("User is blocked"); gtag('js', new Date()); API.isLocal = 'false' === 'true'; View The Obituary For Frank Ford Lasater of Mathis,, Texas. 509 Cherry Street, if (hash) { $overlay = $('.overlay', $container), .fadeIn('fast'); Such a wonderful place. Snyder Funeral Homes, Lasater Chapel. Thursday November 14, 2019 5:00 PM Stackus Funeral Home 417 Elm Street Boyne City, MI 49712 "contactPoint" : { }; Mr. Earl Lasater, 82, of Hazel Green, went to be with the Lord on Tuesday. Do Not Sell or Share My Personal Information. API.tcoSecureBaseUrl.indexOf("https") > -1) { $form.on('submit', function () { $('.page-loader-wrapper').removeClass('active'); funeralModal[modalData.init]($content.children().first()); This is the fee for the services the funeral home will provide during a funeral or memorial service. dynSubscribeToObituaryEmails($formChildren.first(), $form.attr('action'), $form.data('domainid'), API.ajax = function (httpMethod, controller, method, data, contentType, isApi, success, error) { on Jan. 7, 2022, 4:44 p.m. You'll be prompted to create an account. } data: data, Once for my brother, and once for my grandfather. Virginia passed away on Wednesday, January 4, 2023. Mr. Lasater had retired from Martin Stove Company and worked for a number of years at Hazel Green Funeral Home. See the things your family will need if something happens to you. This is the fee for the services the funeral home will provide during a graveside service. Virginia loved her family and enjoyed playing games with them. API.tcoSecureBaseUrl = 'https://www.snyderfuneralhomes.com' + API.tcoAppPath; data: JSON.stringify(data) We recommend calling the funeral home: Have flowers from a local florist delivered to an upcoming service.

Thank you!

Embalming is generally not required if proper refrigeration is available. 09/20/1951 - 02/22/2023. 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. return authCallback(); ] setTimeout(function () { "@context" : "http://schema.org", Terms of Service apply. She is survived by her children, Patricia Kimbrough, Donnie Kimbrough; grandchildren, Joey Kimbrough, Shanna Kimbrough, Carmen Edwards, Michael Edwards; and eight great grandchildren. This is generally required if you will be needing any assistance from the staff for the service. I fully anticipate using their services again when the unfortunate need arises again. }; dataType: "json", }); Upgrade now. 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. settings.data = JSON.stringify(settings.data); if (API.xWallUser === "null")

Receive emails when new obituaries
are published to our website.

Mr. Joe Lasater, 72, of Hazel Green, passed away on Wednesday evening at a local hospital. $('#msie-banner').css("display", "block"); Privacy Policy and What was the process of arranging a funeral like? API.domainId = '5a05b514-ffe6-4152-af4e-2345dc809627'; Julia was born November 12, 1939 in Brownwood, Texas to A. Edwin and Corene Wilson. This memorial website was created in memory of Verna L Lasater, 85, born on October 7, 1907 and passed away on September 15, 1993. var resp = JSON.parse(data.responseText); Please contact the funeral home for I had a pet cremation performed by this funeral home. This is generally required if you will be needing any assistance from the staff for the service. This is the fee for the embalming process. more directly from independent sellers at great prices. He. on Aug. 2, 2021, 7:48 a.m. 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. Compassionate Funeral Directors serving Knox County, Ohio in their time of need. Browse our recent and archived obituaries. He was raised in a Christian family where he was taught the value of living life as a Christ follower. Obituary Service Schedule Julia Lasater For a believer, to be absent from the body is to be present with the Lord. API.tcoAppPath = '//'; }; Service map data OpenStreetMap contributors. var remove = function () { Debra Isley-Roghelia will officiate. This is the fee for the services the funeral home will provide during a visitation or viewing. Brent will take care of you down to the last detail and let you decide how you want things to be.HIGHLY HIGHLY Recommended. Reviewed on Google Please select what you would like included for printing: Copy the text below and then paste that into your favorite email application. 11337 Upper Gilchrist Rd, Mount Vernon, OH 43050 API.xWallUser = null; Share Your Memories and Sympathies and Join the Bereaved! This is the fee for the services the funeral home will provide during a visitation or viewing. margin-top: 10px !important;
Lasater Funeral Home - Mount Vern.

Subscribe to Obituaries

This is the fee to transport your loved one from the funeral home to funeral events (or between events) in a hearse. withCredentials: isApi Linda Kay Blair. 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. Add pricing info, Have the price list for this funeral home? Chelsea, API.s3Path = '//tributecenteronline.s3-accelerate.amazonaws.com/'; $(function () { DynamicForms.setDomainId('content$empty_root$$_p__nhibernate$_v__guid$_5a05b514ffe64152af4e2345dc809627'); }); 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. if (httpMethod.toUpperCase() === 'POST') { Claim this page . Friends may visit at the funeral home on Tuesday, January 10, from 1pm-8pm, with family receiving visitors from 4pm-8pm. You'll be prompted to create an account. on Sept. 28, 2020, 2:23 p.m. Snyder Funeral Home gave us time to grief in piece. } API.tcoSecureBaseUrl && $('.page-loader-wrapper').addClass('active'); Help others by adding or updating members lives. Obituary & Service of his way to make sure we got the one that she would have loved. very clearly. Ever Loved's funeral marketplace makes it easy to purchase caskets, urns and }; "telephone" : "(419) 884-1711" See the things your family will need if something happens to you. }, 500); Her true passion was crafting and selling her crafts. Embalming is generally not required if proper refrigeration is available. }, if (!window.aciveAnim) $container Marvin was born February 25, 1938 in San Angelo, son of G.W. Definitely will recommend to anyone! headers: { Thursday, May 06, 2021; 6:00 PM - 9:00 PM; Email Details; 121 N Duval . "name" : "Snyder Funeral Homes", Login or Sign-up to show all important data, death records and obituaries absolutely for free! if (!window.aciveAnim) more directly from independent sellers at great prices. We will remember him forever. } }; Lasater Funeral Home obituaries and more. Looking for someone else? Obituaries. Additionally there were ink paw prints that were not included in this picture. $form.addClass('submited'); if ($.browser.name === 'msie') { $formChildren = $form.children(); method: httpMethod, } Wes lead us through all of the early decisions and made sure everything, during calling hours and the funeral, went smoothly. }; OK 74016. headers["x-wall-user"] = API.xWallUser; their pricing. How would you describe the ambiance and decor at Dilley-Lasater Funeral Home? Everyone was very professional and just overall outstanding! var headers = { Attached is a picture of some of the things. In 2014, we. Gary Klingel Jr. Roberts Funeral Home - Mount Vernon Chapel, Do Not Sell or Share My Personal Information. API.post = function (controller, method, data, success, error) { Add pricing info, Have the price list for this funeral home? Your browser may not work with certain site. return false; } Make funeral arrangements from anywhere in 15 minutes or less. DARRIN "BRENT" LASATER of Mannford, Oklahoma AGE 35 BORN November 29, 1986 in Pawnee, OK ENTERED REST October 27, 2022 in Mannford, OK OCCUPATION Mill Manager for WEBCO PREDECEASED BY BROTHER Christopher Lasater, GRANDMOTHER Nadine Longacre & GRANDFATHER J.D. This is the cost to purchase a burial vault from the funeral home. Share your knowledge with others. Published by Legacy on Dec. 13, 2022. $body = $('body'), This is the cost to purchase a casket from the funeral home. .appendTo($body) success: function(res, status, xhr) { return API.ajax('POST', controller, method, data, "application/json", true, success, error); API.moderatorName = 'Snyder Funeral Homes'; Looking for an obituary or upcoming funeral? var baseUrl = isApi ? }
their pricing. 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. AC_FL_RunContent = 0; You may purchase flowers through the funeral home or separately, if you wish. Virginia passed away on Wednesday, January 4, 2023. Memorials About Lasater Funeral Home Address 11337 Upper Gilchrist Rd. 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. This is the fee for the services the funeral home will provide during a graveside service. What does Dilley-Lasater Funeral Home do very well? }, if(Array.isArray(res) && res.length > 0) { Highly recommended. What a great place. This site is protected by reCAPTCHA and the Google })(); 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. 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. Lasater SURVIVED BY PARENTS Keith & Jeanene Lasater of Mannford, OK SISTER }).done(success).error(filterError); Snyder Funeral Homes, Lasater Chapel. . The casket she wanted was no longer available and he gave us options and went out. My Account; Customer service; . This is the fee to transport your loved one from the funeral home to funeral events (or between events) in a hearse. "logo":"https://www.snyderfuneralhomes.com/Content/Media/SnyderFuneralHomes/2018-vectorized-sfh-horizontal-logo-color-transparent1-bold_9f50889353774d1cacf5d73f66b98b47.png", , Bellville, Ohio - Bellville Butler Chapel, Delaware, Ohio - Snyder Rodman Funeral Center, Fredericktown, Ohio - Fredericktown Chapel, Mansfield, Ohio - Lexington Avenue Chapel. if (window.location.protocol !== "https:" && $formChildren.find('input').first().focus(); You may purchase programs through the funeral home or elsewhere, if you wish. "x-wall-user": API.xWallUser } actual pricing. He was a Christian and a member of Bevill's Chapel Baptist Church for many. window.location.hash = hash; success: function () { } Leave a sympathy message to the family in the guestbook on this memorial page of Lana Lasater to show support. , Bellville, Ohio - Bellville Butler Chapel, Delaware, Ohio - Snyder Rodman Funeral Center, Fredericktown, Ohio - Fredericktown Chapel, Mansfield, Ohio - Lexington Avenue Chapel. Obituaries Subscribe To Updates 03/30/2022 Martha L. Beck Lasater Funeral Home 03/25/2022 Diane A. Ingraham Lasater Funeral Home 03/17/2022 Henry "Hank" Nyhart Help others by adding or updating Julia Wilson Lasater left her earthly body Friday, January 29, 2021, in Abilene, Texas and is now forever present with our Lord. } Publish the Full Obituary Include your. The clay paw print with his name engraved. 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. This is the fee to purchase printed funeral programs. 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. var funeralModal = { Visitation: 1:00 p.m. Monday, June 13, 2022, White's Funeral Home, Weatherford. A burial vault is required for most cemeteries, but you may choose to purchase one online or elsewhere, if you'd wish. This fee is generally mandatory. Mount Vernon, Ohio. Friends may visit at the funeral home on Tuesday, January 10, from 1pm-8pm, with family receiving visitors from 4pm-8pm. You may choose to purchase a casket online or elsewhere, if you'd wish. $content.append(html); url: baseUrl + controller + '/' + method, gtag('config', 'G-7P7W5SF9C6'); Born November 12, 1934, in Kenwood, Oklahoma to James Harrison and Ada Gay (Pilant) Brown, Virginia attended schools first at Green Brier and then later at South Branch. 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. if (API.xWallUser) }, function gtag() { dataLayer.push(arguments); } { }; Jason was so great and professional. The package with the heart shape contains a tuft of his fur. With his career in the Air Force, they made many places home through the years, Arkansas, California, Japan, and Alaska to name several. Cat was born December 15, 1965 in Deerborn, Michigan to parents Patricia Look and Thomas Stevenson. They treated our family like we were part of their family. Kay Baker. $container.remove(); Lana Lasater Obituary It is always difficult saying goodbye to someone we love and cherish. 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 window.location.href = API.tcoSecureBaseUrl.slice(0, -1) + API.getTco = function(controller, method, data, success, error) { function () { }; }; error(data.responseText); settings.dataType = "json"; Reviewed on Google He was 33 years old. Exceptional customer service. How would you describe the ambiance and decor at Lasater Funeral Home? 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. She was 88. She also liked to fish and spend time in her garden and loved her animals. API.tcoBaseUrl = 'https://www.snyderfuneralhomes.com' + API.tcoAppPath; Matthew Bryan Lasater-father, son, husband, brother, uncle, nephew, cousin, friend-died on May 27, 2015 at Centennial Medical Center. I remember there were multiple options in regards to the box. Sue was born in Tuscaloosa, Alabama to Lewelta Blanche Willingham and Omaha Nebraska Evans. This is the fee for additional preparation of the body, such as dressing and casketing. View Lola Frances Lasater's obituary, send flowers and find service dates or sign the guestbook. This is the fee for the basic organizational services that the funeral home will provide. View Obituaries Dobie Funeral Home Frank Ford Lasater. Enter your phone number above to have directions sent via text. 601 Vine St, }; API.xWallUser = 'null'; API.ensureHttps = function(hash) { Cat will be joining her late husband Charles 'Chuck' Lasater, her parents, and loved pets. 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. url: baseUrl + controller + '/' + method, funeralModal.subscribeObituariesModalInit = function (self) { init: function (modalData) { 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 basic organizational services that the funeral home will provide. var token = $('input[name="__RequestVerificationToken"]', form).val(); Rev. API.apiBaseUrl : API.tcoAppPath; FrazerMaps.Init({ apiKey: "AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow" }); Chelsea, setTimeout(function(){$('#msie-banner').fadeOut(1000);}, 5000); } settings.contentType = "application/json"; "https://www.instagram.com/snyderfuneralhomes" their pricing. Reviewed on Google Your name and review will be publicly viewable. On September 18, 1953 she married Daniel Joseph Lasater. He grew up in Andrews, Tx and graduated from Andrews High School in 1957. 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+.