Growth of Enterprise

Supporting businesses across West Sussex with WSCC-led and business support initiatives.

Aim to support at least 300 businesses, through a range of networking initiativesExplore the data
businesses
Final
300businesses
Mar 2017 Target
Goal Period ended March 2017

        Quarter 4 - March 2017


        Businesses supported by WSCC-led and supported business support initiatives – this goal is measured by tracking the number of businesses supported by WSCC led and supported business support initiatives. We aim to increase the number ofbusinesses supported to 300 businesses by March 2017.

        351+ businesses as Quarter 4 –March 2017

        The numbers of businesses supported through WSCC or WSCC supported initiatives around business support:

        Over the last quarter the updating of our existing West Sussex Health and Life Sciences Cluster companies on funding opportunities, and health and life science activities taking place in the region has continued. In addition there has been some engagement with new cluster companies, as well as knowledge transfer networks and national sector organisations. There has been active involvement in the Innovation South Science and Innovation Audit, a Government backed initiative that is currently taking place and which aims to assess the South of England’s strengths in digital enabling technologies, with particular application to the bio science, advanced engineering, marine and maritime and connected digital sectors. WSCC has participated in the audit and encouraged WSHLSC members to attend a bioscience themed workshop which took place in Crawley in March, and for members to contribute evidence to support the study. Findings from the business survey undertaken to understand the skills and business support needs of the cluster is expected later on in the Spring.

        In the last quarter, Coastal STEMfest has launched, GSK site visits have commenced and the Big Bang@Butlins took place on March 14th during National Science Week which included a number of activities provided by local and wider afield companies and organisations designed to inspire key stage 3 & 4 students to continue studying STEM subjects, and discover career opportunities and identify pathways to reach their aspirations. Over 750 pupils, and teachers attended the event. . Mid-Sussex Science Week and Crawley STEMfest have both launched with their respective activities and Big Bang events scheduled to take place later on in the year.

        In the last quarter, the Bognor Regis Creative Digital Hub project has engaged with creative and digital businesses in and around Bognor Regis through our Wired Sussex sector engagement contract. An event was held on 24th January at the University of Chichester’s Bognor Regis campus, and was attended by 48 businesses. The focus of the event was aspirations, goals and resolutions for 2017, and included a panel discussion with local creative and digital business leaders.

        This was the last of five business engagement events organised on our behalf by Wired Sussex in 16/17. The cumulative total of businesses attending these events in the reporting year was 140, with average attendance at the events increasing from 20 attendees in April 2016 to 48 in January 2017.

        In addition, around 240 businesses are updated monthly and engaged through the project contact database, and social media accounts.

        Under the current LEADER programme a total of 57 outline applications have been received to date, with, so far, a total of£421,247 being committed to 14 approved projects. These projects will create approx. 26 FTE jobs and an extra 4,814 overnight stays. The total match funding is £1,052,937, so total value of the 14 projects =£1,474,184. A further 21 projects have been invited to full application – requesting grant of approx.£750,000. All LEADER funding must be committed before the UK leaves the EU.

        Business Finance Project

        The call for applications has now closed. Overall 201 enquiries and 107 expressions of interest were received from companies interested in applying for a Business Growth Grant. This converted to 36 full applications and resulted in 23 companies receiving an approval from the Growth Grant panels in 2016/17 which,if fully spent, will total £960,210.

        Quarter 3 - December 2016


        The numbers of businesses supported through West Sussex County Council (WSCC) or WSCC supported initiatives around business support:

        • Over 120 health and life sciences related companies have been supported through the Health and Life Sciences cluster network. Companies within the cluster are regularly updated about the sector initiatives WSCC is progressing, regional events, funding opportunities, local research, and STEM opportunities. Work has commenced to understand the skills and business support needs of the cluster and a business survey has been commissioned and released. All cluster companies have been given the opportunity to contribute to the work by highlighting any challenges that they face. On November 4th WSHLSC partnered with Cogent Skills, the strategic skills body for the science industries to deliver a Skills Reform and Apprenticeship Levy Workshop. 6 businesses attended the workshop as did local authority and university partners. On December 6th WSHLSC partnered with OBN, a health and life sciences membership organisation to deliver an event at the Holiday Inn, Gatwick- Worth on ‘Public Non- Dilutable Funding and Export Support’. Rail strikes and adverse traffic conditions had a negative effect on numbers resulting in 14 businesses and 17 business focused organisations attending (universities, the LEP, Chambers of Commerce etc.). The information from the two events has been placed online on the WSHLSC section of the Business West Sussex website to serve as an additional resource for those who were unable to attend the events.

        • The Beautiful Outdoors/West Sussex Weekends campaign ran for its second year from May-October 2016, and the website now features around 118 businesses as places to stop off and stay on route in West Sussex, an increase of 48 on that previously reported. During the campaign, businesses received in total over 2,800 outbound clicks from the campaign website, some of which were direct bookings. Local businesses were also supported, through signposting, to grant funding and digital media training, and through exposure in features in Taste West Sussex magazine. A follow-up survey was undertaken with a fifth of the featured businesses to gain feedback on their views of the 2016 campaign. The feedback we received was positive, and key messages included support for continuing and expanding the campaign, creating a greater number of place-based itineraries to inspire visitors, and developing further linkages with local attractions. The campaign is continuing throughout the Winter, to promote West Sussex as an attractive visitor destination, with the aim to recruit and support more local businesses in 2017.

        • Under the current LEADER programme, Central Sussex and Sussex Downs & Coastal Plain LEADER Local Action Groups have approved a total of 13 projects with grants totalling £380,674. These are forecast to create 25 new full time equivalent jobs and 4,814 additional overnight stays over the next three years. The total match funding associated with LEADER grants is £852,610 which equates to a total project value of £1,233,284.

        • The Business Finance Project received 201 enquiries and 107 expressions of interest from companies interested in applying for a Business Growth Grant (additional 36 to that previously reported). This converted to 36 full applications and resulted in 24 companies receiving an approval from the Growth Grant panels in 2016/17 which, if fully spent, will total £1,108,771.

        In the last quarter with regard to the Creative/Digital proposition Wired Sussex have delivered two sector engagement events as part of their work on the Bognor Regis Creative Digital Hub project. The first was held at Oxford’s Bar in Bognor Regis on 15 Nov and was attended by 31 creative digital businesses. The event included a presentation by Matt Desmier from the Bournemouth and Poole digital cluster about their experience of developing the sector in that area, and a presentation of the results of the Wired Sussex creative digital sector survey. Wired Sussex carried out a survey of creative digital businesses in Bognor Regis to understand the geographical and sectoral range of businesses currently engaged with the project. Over 100 businesses were contacted and 45 responses received. The second event was held on 13 Dec at The Pier in Bognor Regis and 21 businesses attended. Speakers included Mike Holley, Head of the Department of Creative and Digital Technology at the University of Chichester, who spoke about the University’s new Engineering and Digital Technology Park due to open in 2018.

        In addition, monthly update emails are sent to 228 contacts on Wired Sussex’s Bognor hub database.

        Quarter 2 - September 2016


        The numbers of businesses supported through WSCC or WSCC supported initiatives around business support:

        Over 120 health and life sciences related companies have been supported through the Health and Life Sciences cluster network. . Companies within the cluster are regularly updated about the sector initiatives WSCC is progressing, regional events, funding opportunities, local research, and STEM opportunities. WSCC is working hard to grow the cluster and develop a programme of support which will add real value to companies within the region. The programme of support will begin fully in November and detail from them reported at the end of the next quarter.

        On theCreative/Digital proposition Wired Sussex held an engagement event for the sector in September as part of their sector development contract. 20 businesses attended. Branding ideas for the hub as well as the latest version of the internal planswere presented by Hemmingway Design along with a resume of work undertaken to date, and discussions over the next steps. There was networking opportunities for those businesses attending and discussions over the plans for encouraging growth in this sector.

        Our two LEADER Local Acton Groups (LAGs) have so far approved grants totalling £337,931 for 11 projects which are forecast to create 23 new FTE jobs. At least 11 businesses in total will benefit. However the LAGs extend to areas outside of West Sussex, Within West Sussex there are 7 projects which have been approved, forecast to create 17.7 FTE jobs and totalling £246,063. The projects in West Sussex are listed below, only the first one listed has been completed and the others are in preparation:

        • Luxury lodges on a vineyard to promote wine tourism

        • Farm bunkhouse style accommodation near the South Downs Way for cyclists and walkers

        • New equipment for a food processing company including commercialisation of a new “clean” technology for smoking ingredients

        • Modern digital equipment for a local label printing business

        • Forestry harvester head for a farm based biomass business

        • Straw shredding and pelleting equipment for a diversified farm business producing animal bedding and biomass for wood-burning boilers

        • New signage and website promoting accessible walks around Bramber

            With regard to the Business Finance Project 175 businesses have been in discussion over proposed projects, and so far 6 have declared they intent to submit an Expression of Interest (EOI). The table on the right shows the latest position for the project in terms of applications so far.

        Following his announcement in August, on the future of EU funding in the context of Brexit and which guaranteed funds for projects signed up until the Autumn Statement (November 2016), the Chancellor has now extended this guarantee to the point at which the UK departs the EU. The Chancellor confirmed that the government will guarantee EU funding for structural and investment fund projects, including agri-environment schemes, signed after the Autumn Statement and whichcontinue after we have left the EU.

        He was clear, while the UK is still a member of the EU, British businesses, farmers and other organisations must be entitled to apply for EUfunds. Funding for projects will be honoured by the government, if they meet the following conditions:

        • they are good value for money

        • they are in line with domestic strategic priorities

        As a result, British businesses, farmers and other organisations will have additional certainty over future funding and should continue to apply for EU funding while the UK remains a member of the EU.

        The announcement made on 3 October 2016 builds on the assurances givenby the Chancellor in August which also included:

        • all structural and investment fund projects, including agri-environment schemes, signed before the Autumn Statement will be fully funded, even when these projects continue beyond the UK’s departure from the EU

        • all direct competitively bid projects directly with the European Commission, for example universities participating in Horizon 2020

        • the current level of agricultural funding under CAP pillar 1 will be upheld until 2020 as part of the transition to new domestic arrangements

        https://www.gov.uk/government/news/further-certainty-on-eu-funding-for-hundreds-of-british-projects

        Quarter 1 - June 2016


        The numbers of businesses supported through WSCC or WSCC supported initiatives around business support:

        The upshot is that there are around 90 businesses supported through the Health and Life sciences cluster network, 11 companies have participated or are committed to participating in STEM initiatives that WSCC have part funded. It is the intention to hold a second cluster event in November.

        On the Creative/Digital proposition a networking event was held at the Waverley Hotel in Bognor Regis in April, 20 businesses attended. The plans for the new hub and its links to the University’s new Engineering and Digital Technology Park were discussed and businesses and other stakeholders were able to feed back their thoughts on the plans and how the hub could support them; and they were able to network together as part of the sector development work that complements the establishment of the hub.

        So far 8 businesses have been supported to submit EOIs to the Businesses Finance programme.

        The two LEADER Local Action Groups have approved 6 project submissions from businesses. The total grant committed to date is £188,750.

        The next update is due in October for the quarter to Spetember 2016.

        Quarter 3 - December 2015


        This commentary reports on Economic Development initiatives and activities that support businesses.

        Better Bognor Regis Bold Idea (Digital and creative cluster)

        This project is one of the five 'Bold Ideas' developed to help tackle West Sussex’s economic challenges and encourage economic activity over the short to medium term. Drawing on examples from other places in the UK and internationally, the county would like to establish Bognor Regis as an artistic/creative centre, a place where young creative people from the local area thrive, and attracts others from surrounding areas including London to relocate. The focus will be to create a shared workspace at Bognor Regis railway station where small businesses can work in a creative and supportive environment, network, socialise, display work, share facilities etc. It is to be undertaking in partnership with others including Chichester University, and it intended that the new facilities would provide an environment for graduates from the University to develop new businesses; and the University would provide a source of skills for this growing sector in Bognor Regis and West Sussex.

        The first business event around this proposition was held in November 2015 in Bognor Regis. The aim of the event was to share the emerging plans for a digital and creative hub with partners, potential stakeholders and a small number of local creative and digital businesses, to invite feedback, to examine the potential space for the hub at Bognor Regis Railway Station and to examine how the idea should be progressed.

        8 businesses attended this event. The next event is being organised in January which will include a bigger attendance from businesses, and will be feedback in the next quarter.

        Beautiful Outdoors/West Sussex Weekends

        Following on from the Beautiful Outdoors/West Sussex Weekends campaign that was launched in Summer ’15 there was a follow up survey of around a third of the businesses that were involved to ascertain the benefits they had seen and to get their view on the promotion of West Sussex as a visitor destination. Certainly the feedback from them was very positive, all of them reported that they wanted the campaign to continue, many expect the walking/cycling market to increase for their business and some had undertaken improvements to make themselves more cycling/walking friendly i.e. introduction of secure cycle storage.

        Given the winter lull West Sussex Weekends is concentrating on promoting a series of walks in the County, this is in partnership with iFootpath, a national website and app to encourage people to get out and enjoy walks across the UK. There are 10 walks included in West Sussex, detailed maps and a description of the walk is included and local businesses that a walker could stop off at for refreshment are mentioned.

        http://www.west-sussex-weekends.com/winter-walks

        There are now around 70 local businesses on the West Sussex Weekends website, promoting them as places to stop off and/or stay for visitors to West Sussex, this is 10 more than previously reported and then are plans to recruit even more local businesses to our campaign and help to support them to become even more attractive to visitors to West Sussex through our 2016 campaign.

        Health & Life Sciences

        The Health and Life Sciences Cluster has now identified over 90 companies and work has been undertaken and is on-going to engage the new companies to the work to date. An updated cluster directory is shortly to be released to include all 90 companies (increase of around 26 from the previous version). The cluster has an on-line presence in the form of a website, twitter and linked-in group, in addition to the 90 companies there are over 300 individuals from private business, external sector organisations, academics, local government and the NHS. WSCC are developing some initiatives (collectively known as the Growth Hub) to support start-ups and SMEs in this cluster throughout the county. Specific initiatives include potentially creating a Med Tech Accelerator in the county which would provide an intensive business support programme for small groups of start- ups; and development of practical measures e.g. round-table discussions and improved sign posting to help alleviate some of the regulatory challenges that the companies face.

        http://www.businesswestsussex.co.uk/252-wshlsc.html

        In addition there is work being undertaken to address the skills gaps in this area and businesses in the cluster have been invited to participate in Coastal STEM fest 2016, and a number of businesses attended the preliminary meeting in November to plan for this.

        Companies in this sector have reported that they do not have links with local universities, and indeed that universities were ‘invisible’ to them. In response to this there work is underway to improve the link between companies in the health and life sciences cluster and local universities; in particular a ‘University of Sussex Offer’ is being developed which will highlight all of the opportunities for businesses in the health and life sciences cluster to collaborate with Sussex University. Events are being planned for March which will give an opportunity for local companies to visit Sussex University, to look at the facilities on offer and to engage with a range of academics from across the university. The intention following this is to create a similar offer with other local universities.

        LEADER

        The LEADER programme was launched in November 2015; it is a grant funding programme that supports the growth and development of rural business and is part of the Rural Development programme for England which aims to improve the competitiveness of farming and forestry, support a diverse and successful rural economy and help to develop vibrant and thriving rural communities. So far we have received 37 enquiries from businesses in relation to LEADER funding since it has been launched.

        http://www.businesswestsussex.co.uk/260-leader-grants-2015-20.html

        Quarter 2 - September 2015


        The Beautiful Outdoors/West Sussex Weekends campaign was launched in June to an audience of around 100 attendees, many from local businesses. A website has been developed to showcase those businesses (accommodation providers and food/drink providers) in West Sussex that are welcoming to cyclists and walkers, as well as those providing services to cyclists and walkers. To this effect, we have 60 businesses featured on the website and have on-going engagement with these businesses including offering eligible businesses free cycle stands to ensure their business is welcoming to cyclists and walkers.

        The West Sussex Weekends local campaign has seen 11 local businesses donate prizes to our competition, these have therefore benefitted from press and promotion through corporate channels and West Sussex weekends promotion.

        At the end of the campaign in October we will be undertaking a follow up survey with the businesses featured in the campaign to ascertain what benefit they have seen through the campaign and promotion of West Sussex as a visitor destination. Their responses will help us shape our focus for subsequent campaigns.

        WSCC hosted the first Health and Life Sciences Cluster event which saw over 90 people from local businesses attend and hear about the support that WSCC can offer and future investment plans the county council is aiming to develop for the cluster itself. This was followed up with pulling together a directory of all the Health and Life Sciences Cluster businesses in West Sussex (including businesses and industry support services). It features 64 businesses to date. The County Council is committed to developing a strong cluster with these businesses and are developing plans to engage with them further to support their needs and growth priorities, as well as offering specific opportunities for support and advice tailored to the sector. As part of this detailed conversations/meetings have taken place across the last few months with a number of these local businesses which has helped to shape the thinking about developing the sector further.

        69 organisations applied for business grant funding, with 23 being shortlisted for the panel, and 13 successfully selected. Feedback and advice was offered to those unsuccessful organisations and 27 took this up. 8 further projects have been approved for the growth grants as part of the Business Finance Programme, funded by the Local Growth Fund.

        The Gatwick Diamond Meet the Buyer event was held in July at the Arora Hotel, Crawley, giving small and medium sized enterprises the opportunity to meet buyers from local, large public and private organisations. Three introductory workshops were held a round procurement issues which were attended by 57 West Sussex based businesses. The event organisers will be reporting on the level of business undertaken at the event – this will be available later in September.

        Preparation is continuing for the launch of the LEADER programme which has been awarded funding to support the rural economy – it is anticipated that LEADER will open for applications in October.

        LEADER grants can be used for projects that will support:

        • increasing farm productivity

        • small business growth and farm diversification

        • rural tourism

        • rural services

        • cultural and heritage activity

        • increasing forestry productivity

        For more details see:

        https://www.westsussex.gov.uk/business-and-consumers/start-or-grow-your-business/rural-development-programme-leader-funding/

      Data Governance

      describes the quality of the data itself. Governance issues generally indicate that the data source is considered incomplete or unreliable.

      Model Health

      describes the quality of the predictive model. If the model health is poor, the trend prediction should not be trusted.

      eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJuYW1lIjoiUGVyZm9ybWFuY2UgZnJvbSBQcmV2aW91cyBQbGFucyIsIm1ldGFkYXRhIjoie1wiaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0M5Qzc5NDlDLTAyQUUtNEUxNC05OTY5LTc4RDBBQzdDOUZGQlwifSIsImNhdGVnb3JpZXMiOlsidmJ0bi1zOGJ3IiwiOGZudS0ybXR1Iiwicm1zOC1rNnJkIiwieDczai1raDNoIiwiamhqZy12a21kIiwidWk2dS16d3R3IiwiZDdmeS0yaGRiIiwibnQzbS1kNmtuIiwiNjM1bi1waWg1IiwiNG5lci1yYm0yIiwicGVxeC12cjhoIiwiZ3N5ei1jaGEyIiwicGc1NS15cXg2IiwiNnppZC1xanZwIiwiOTJoNS1yczJyIiwiMnpmdy1ubmVyIl0sImlzX3B1YmxpYyI6dHJ1ZSwidmVyc2lvbiI6IjIwMTgtMDctMjNUMTE6MTc6NTMuODgyWiIsImlkIjoiNTc0ci1oNW5jIn19
      eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJuYW1lIjoiR3Jvd3RoIG9mIEVudGVycHJpc2UiLCJnb2FscyI6WyJ4ZWI4LWV0dTkiLCJnMmM0LWcyd3giLCJkcjJpLWY4cm4iLCIyOWV0LTg3c3YiLCJtZGZpLXoyMzYiLCIzeHByLWo5ZTMiLCJxYXVhLTVldXMiLCI2czdpLWFycXAiLCJmZXMzLXE2NXoiXSwidmVyc2lvbiI6IjIwMTctMTAtMjNUMDg6NDQ6NTQuNTg1WiIsImlkIjoiNjM1bi1waWg1In19
      eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6ImRyMmktZjhybiIsIm5hbWUiOiJCdXNpbmVzcyBTdXBwb3J0IGFuZCBHcmFudHMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcInRleHRcIixcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKlF1YXJ0ZXIgNCAtIE1hcmNoIDIwMTcqKlxcblxcbi0gLSAtXFxuXFxuKipCdXNpbmVzc2VzIHN1cHBvcnRlZCBieSBXU0NDLWxlZCBhbmQgc3VwcG9ydGVkIGJ1c2luZXNzIHN1cHBvcnQgaW5pdGlhdGl2ZXMqKiDigJMgdGhpcyBnb2FsIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIHRoZSBudW1iZXIgb2YgYnVzaW5lc3NlcyBzdXBwb3J0ZWQgYnkgV1NDQyBsZWQgYW5kIHN1cHBvcnRlZCBidXNpbmVzcyBzdXBwb3J0IGluaXRpYXRpdmVzLiBXZSBhaW0gdG8gaW5jcmVhc2UgdGhlIG51bWJlciBvZmJ1c2luZXNzZXMgc3VwcG9ydGVkIHRvIDMwMCBidXNpbmVzc2VzIGJ5IE1hcmNoIDIwMTcuXFxuXFxuKiozNTErIGJ1c2luZXNzZXMgYXMgUXVhcnRlciA0IOKAk01hcmNoIDIwMTcqKlxcblxcblRoZSBudW1iZXJzIG9mIGJ1c2luZXNzZXMgc3VwcG9ydGVkIHRocm91Z2ggV1NDQyBvciBXU0NDIHN1cHBvcnRlZCBpbml0aWF0aXZlcyBhcm91bmQgYnVzaW5lc3Mgc3VwcG9ydDpcXG5cXG5PdmVyIHRoZSBsYXN0IHF1YXJ0ZXIgdGhlIHVwZGF0aW5nIG9mIG91ciBleGlzdGluZyAqKldlc3QgU3Vzc2V4IEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyBDbHVzdGVyKiogY29tcGFuaWVzIG9uIGZ1bmRpbmcgb3Bwb3J0dW5pdGllcywgYW5kIGhlYWx0aCBhbmQgbGlmZSBzY2llbmNlIGFjdGl2aXRpZXMgdGFraW5nIHBsYWNlIGluIHRoZSByZWdpb24gaGFzIGNvbnRpbnVlZC4gSW4gYWRkaXRpb24gdGhlcmUgaGFzIGJlZW4gc29tZSBlbmdhZ2VtZW50IHdpdGggbmV3IGNsdXN0ZXIgY29tcGFuaWVzLCBhcyB3ZWxsIGFzIGtub3dsZWRnZSB0cmFuc2ZlciBuZXR3b3JrcyBhbmQgbmF0aW9uYWwgc2VjdG9yIG9yZ2FuaXNhdGlvbnMuIFRoZXJlIGhhcyBiZWVuIGFjdGl2ZSBpbnZvbHZlbWVudCBpbiB0aGUgSW5ub3ZhdGlvbiBTb3V0aCBTY2llbmNlIGFuZCBJbm5vdmF0aW9uIEF1ZGl0LCBhIEdvdmVybm1lbnQgYmFja2VkIGluaXRpYXRpdmUgdGhhdCBpcyBjdXJyZW50bHkgdGFraW5nIHBsYWNlIGFuZCB3aGljaCBhaW1zIHRvIGFzc2VzcyB0aGUgU291dGggb2YgRW5nbGFuZOKAmXMgc3RyZW5ndGhzIGluIGRpZ2l0YWwgZW5hYmxpbmcgdGVjaG5vbG9naWVzLCB3aXRoIHBhcnRpY3VsYXIgYXBwbGljYXRpb24gdG8gdGhlIGJpbyBzY2llbmNlLCBhZHZhbmNlZCBlbmdpbmVlcmluZywgbWFyaW5lIGFuZCBtYXJpdGltZSBhbmQgY29ubmVjdGVkIGRpZ2l0YWwgc2VjdG9ycy4gV1NDQyBoYXMgcGFydGljaXBhdGVkIGluIHRoZSBhdWRpdCBhbmQgZW5jb3VyYWdlZCBXU0hMU0MgbWVtYmVycyB0byBhdHRlbmQgYSBiaW9zY2llbmNlIHRoZW1lZCB3b3Jrc2hvcCB3aGljaCB0b29rIHBsYWNlIGluIENyYXdsZXkgaW4gTWFyY2gsIGFuZCBmb3IgbWVtYmVycyB0byBjb250cmlidXRlIGV2aWRlbmNlIHRvIHN1cHBvcnQgdGhlIHN0dWR5LiBGaW5kaW5ncyBmcm9tIHRoZSBidXNpbmVzcyBzdXJ2ZXkgdW5kZXJ0YWtlbiB0byB1bmRlcnN0YW5kIHRoZSBza2lsbHMgYW5kIGJ1c2luZXNzIHN1cHBvcnQgbmVlZHMgb2YgdGhlIGNsdXN0ZXIgaXMgZXhwZWN0ZWQgbGF0ZXIgb24gaW4gdGhlIFNwcmluZy5cXG5cXG5JbiB0aGUgbGFzdCBxdWFydGVyLCBDb2FzdGFsIFNURU1mZXN0IGhhcyBsYXVuY2hlZCwgR1NLIHNpdGUgdmlzaXRzIGhhdmUgY29tbWVuY2VkIGFuZCB0aGUgQmlnIEJhbmdAQnV0bGlucyB0b29rIHBsYWNlIG9uIE1hcmNoIDE0dGggZHVyaW5nIE5hdGlvbmFsIFNjaWVuY2UgV2VlayB3aGljaCBpbmNsdWRlZCBhIG51bWJlciBvZiBhY3Rpdml0aWVzIHByb3ZpZGVkIGJ5IGxvY2FsIGFuZCB3aWRlciBhZmllbGQgY29tcGFuaWVzIGFuZCBvcmdhbmlzYXRpb25zIGRlc2lnbmVkIHRvIGluc3BpcmUga2V5IHN0YWdlIDMgJiA0IHN0dWRlbnRzIHRvIGNvbnRpbnVlIHN0dWR5aW5nIFNURU0gc3ViamVjdHMsIGFuZCBkaXNjb3ZlciBjYXJlZXIgb3Bwb3J0dW5pdGllcyBhbmQgaWRlbnRpZnkgcGF0aHdheXMgdG8gcmVhY2ggdGhlaXIgYXNwaXJhdGlvbnMuIE92ZXIgNzUwIHB1cGlscywgYW5kIHRlYWNoZXJzIGF0dGVuZGVkIHRoZSBldmVudC4gLiBNaWQtU3Vzc2V4IFNjaWVuY2UgV2VlayBhbmQgQ3Jhd2xleSBTVEVNZmVzdCBoYXZlIGJvdGggbGF1bmNoZWQgd2l0aCB0aGVpciByZXNwZWN0aXZlIGFjdGl2aXRpZXMgYW5kIEJpZyBCYW5nIGV2ZW50cyBzY2hlZHVsZWQgdG8gdGFrZSBwbGFjZSBsYXRlciBvbiBpbiB0aGUgeWVhci5cXG5cXG5JbiB0aGUgbGFzdCBxdWFydGVyLCB0aGUgQm9nbm9yIFJlZ2lzIENyZWF0aXZlIERpZ2l0YWwgSHViIHByb2plY3QgaGFzIGVuZ2FnZWQgd2l0aCBjcmVhdGl2ZSBhbmQgZGlnaXRhbCBidXNpbmVzc2VzIGluIGFuZCBhcm91bmQgQm9nbm9yIFJlZ2lzIHRocm91Z2ggb3VyIFdpcmVkIFN1c3NleCBzZWN0b3IgZW5nYWdlbWVudCBjb250cmFjdC4gQW4gZXZlbnQgd2FzIGhlbGQgb24gMjR0aCBKYW51YXJ5IGF0IHRoZSBVbml2ZXJzaXR5IG9mIENoaWNoZXN0ZXLigJlzIEJvZ25vciBSZWdpcyBjYW1wdXMsIGFuZCB3YXMgYXR0ZW5kZWQgYnkgNDggYnVzaW5lc3Nlcy4gVGhlIGZvY3VzIG9mIHRoZSBldmVudCB3YXMgYXNwaXJhdGlvbnMsIGdvYWxzIGFuZCByZXNvbHV0aW9ucyBmb3IgMjAxNywgYW5kIGluY2x1ZGVkIGEgcGFuZWwgZGlzY3Vzc2lvbiB3aXRoIGxvY2FsIGNyZWF0aXZlIGFuZCBkaWdpdGFsIGJ1c2luZXNzIGxlYWRlcnMuXFxuXFxuVGhpcyB3YXMgdGhlIGxhc3Qgb2YgZml2ZSBidXNpbmVzcyBlbmdhZ2VtZW50IGV2ZW50cyBvcmdhbmlzZWQgb24gb3VyIGJlaGFsZiBieSBXaXJlZCBTdXNzZXggaW4gMTYvMTcuIFRoZSBjdW11bGF0aXZlIHRvdGFsIG9mIGJ1c2luZXNzZXMgYXR0ZW5kaW5nIHRoZXNlIGV2ZW50cyBpbiB0aGUgcmVwb3J0aW5nIHllYXIgd2FzIDE0MCwgd2l0aCBhdmVyYWdlIGF0dGVuZGFuY2UgYXQgdGhlIGV2ZW50cyBpbmNyZWFzaW5nIGZyb20gMjAgYXR0ZW5kZWVzIGluIEFwcmlsIDIwMTYgdG8gNDggaW4gSmFudWFyeSAyMDE3LlxcblxcbkluIGFkZGl0aW9uLCBhcm91bmQgMjQwIGJ1c2luZXNzZXMgYXJlIHVwZGF0ZWQgbW9udGhseSBhbmQgZW5nYWdlZCB0aHJvdWdoIHRoZSBwcm9qZWN0IGNvbnRhY3QgZGF0YWJhc2UsIGFuZCBzb2NpYWwgbWVkaWEgYWNjb3VudHMuXFxuXFxuVW5kZXIgdGhlIGN1cnJlbnQgTEVBREVSIHByb2dyYW1tZSBhIHRvdGFsIG9mIDU3IG91dGxpbmUgYXBwbGljYXRpb25zIGhhdmUgYmVlbiByZWNlaXZlZCB0byBkYXRlLCB3aXRoLCBzbyBmYXIsIGEgdG90YWwgb2bCozQyMSwyNDcgYmVpbmcgY29tbWl0dGVkIHRvIDE0IGFwcHJvdmVkIHByb2plY3RzLiBUaGVzZSBwcm9qZWN0cyB3aWxsIGNyZWF0ZSBhcHByb3guIDI2IEZURSBqb2JzIGFuZCBhbiBleHRyYSA0LDgxNCBvdmVybmlnaHQgc3RheXMuIFRoZSB0b3RhbCBtYXRjaCBmdW5kaW5nIGlzIMKjMSwwNTIsOTM3LCBzbyB0b3RhbCB2YWx1ZSBvZiB0aGUgMTQgcHJvamVjdHMgPcKjMSw0NzQsMTg0LiBBIGZ1cnRoZXIgMjEgcHJvamVjdHMgaGF2ZSBiZWVuIGludml0ZWQgdG8gZnVsbCBhcHBsaWNhdGlvbiDigJMgcmVxdWVzdGluZyBncmFudCBvZiBhcHByb3guwqM3NTAsMDAwLiBBbGwgTEVBREVSIGZ1bmRpbmcgbXVzdCBiZSBjb21taXR0ZWQgYmVmb3JlIHRoZSBVSyBsZWF2ZXMgdGhlIEVVLlxcblxcbioqQnVzaW5lc3MgRmluYW5jZSBQcm9qZWN0KipcXG5cXG5UaGUgY2FsbCBmb3IgYXBwbGljYXRpb25zIGhhcyBub3cgY2xvc2VkLiBPdmVyYWxsIDIwMSBlbnF1aXJpZXMgYW5kIDEwNyBleHByZXNzaW9ucyBvZiBpbnRlcmVzdCB3ZXJlIHJlY2VpdmVkIGZyb20gY29tcGFuaWVzIGludGVyZXN0ZWQgaW4gYXBwbHlpbmcgZm9yIGEgQnVzaW5lc3MgR3Jvd3RoIEdyYW50LiBUaGlzIGNvbnZlcnRlZCB0byAzNiBmdWxsIGFwcGxpY2F0aW9ucyBhbmQgcmVzdWx0ZWQgaW4gMjMgY29tcGFuaWVzIHJlY2VpdmluZyBhbiBhcHByb3ZhbCBmcm9tIHRoZSBHcm93dGggR3JhbnQgcGFuZWxzIGluIDIwMTYvMTcgd2hpY2gsaWYgZnVsbHkgc3BlbnQsIHdpbGwgdG90YWwgwqM5NjAsMjEwLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKlF1YXJ0ZXIgMyAtIERlY2VtYmVyIDIwMTYqKlxcblxcbi0gLSAtXFxuXFxuVGhlIG51bWJlcnMgb2YgYnVzaW5lc3NlcyBzdXBwb3J0ZWQgdGhyb3VnaCBXZXN0IFN1c3NleCBDb3VudHkgQ291bmNpbCAoV1NDQykgb3IgV1NDQyBzdXBwb3J0ZWQgaW5pdGlhdGl2ZXMgYXJvdW5kIGJ1c2luZXNzIHN1cHBvcnQ6XFxuXFxuKiBPdmVyIDEyMCBoZWFsdGggYW5kIGxpZmUgc2NpZW5jZXMgcmVsYXRlZCBjb21wYW5pZXMgaGF2ZSBiZWVuIHN1cHBvcnRlZCB0aHJvdWdoIHRoZSBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMgY2x1c3RlciBuZXR3b3JrLiBDb21wYW5pZXMgd2l0aGluIHRoZSBjbHVzdGVyIGFyZSByZWd1bGFybHkgdXBkYXRlZCBhYm91dCB0aGUgc2VjdG9yIGluaXRpYXRpdmVzIFdTQ0MgaXMgcHJvZ3Jlc3NpbmcsIHJlZ2lvbmFsIGV2ZW50cywgZnVuZGluZyBvcHBvcnR1bml0aWVzLCBsb2NhbCByZXNlYXJjaCwgYW5kIFNURU0gb3Bwb3J0dW5pdGllcy4gV29yayBoYXMgY29tbWVuY2VkIHRvIHVuZGVyc3RhbmQgdGhlIHNraWxscyBhbmQgYnVzaW5lc3Mgc3VwcG9ydCBuZWVkcyBvZiB0aGUgY2x1c3RlciBhbmQgYSBidXNpbmVzcyBzdXJ2ZXkgaGFzIGJlZW4gY29tbWlzc2lvbmVkIGFuZCByZWxlYXNlZC4gQWxsIGNsdXN0ZXIgY29tcGFuaWVzIGhhdmUgYmVlbiBnaXZlbiB0aGUgb3Bwb3J0dW5pdHkgdG8gY29udHJpYnV0ZSB0byB0aGUgd29yayBieSBoaWdobGlnaHRpbmcgYW55IGNoYWxsZW5nZXMgdGhhdCB0aGV5IGZhY2UuIE9uIE5vdmVtYmVyIDR0aCBXU0hMU0MgcGFydG5lcmVkIHdpdGggQ29nZW50IFNraWxscywgdGhlIHN0cmF0ZWdpYyBza2lsbHMgYm9keSBmb3IgdGhlIHNjaWVuY2UgaW5kdXN0cmllcyB0byBkZWxpdmVyIGEgU2tpbGxzIFJlZm9ybSBhbmQgQXBwcmVudGljZXNoaXAgTGV2eSBXb3Jrc2hvcC4gNiBidXNpbmVzc2VzIGF0dGVuZGVkIHRoZSB3b3Jrc2hvcCBhcyBkaWQgbG9jYWwgYXV0aG9yaXR5IGFuZCB1bml2ZXJzaXR5IHBhcnRuZXJzLiBPbiBEZWNlbWJlciA2dGggV1NITFNDIHBhcnRuZXJlZCB3aXRoIE9CTiwgYSBoZWFsdGggYW5kIGxpZmUgc2NpZW5jZXMgbWVtYmVyc2hpcCBvcmdhbmlzYXRpb24gdG8gZGVsaXZlciBhbiBldmVudCBhdCB0aGUgSG9saWRheSBJbm4sIEdhdHdpY2stIFdvcnRoIG9uIOKAmFB1YmxpYyBOb24tIERpbHV0YWJsZSBGdW5kaW5nIGFuZCBFeHBvcnQgU3VwcG9ydOKAmS4gUmFpbCBzdHJpa2VzIGFuZCBhZHZlcnNlIHRyYWZmaWMgY29uZGl0aW9ucyBoYWQgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gbnVtYmVycyByZXN1bHRpbmcgaW4gMTQgYnVzaW5lc3NlcyBhbmQgMTcgYnVzaW5lc3MgZm9jdXNlZCBvcmdhbmlzYXRpb25zIGF0dGVuZGluZyAodW5pdmVyc2l0aWVzLCB0aGUgTEVQLCBDaGFtYmVycyBvZiBDb21tZXJjZSBldGMuKS4gVGhlIGluZm9ybWF0aW9uIGZyb20gdGhlIHR3byBldmVudHMgaGFzIGJlZW4gcGxhY2VkIG9ubGluZSBvbiB0aGUgV1NITFNDIHNlY3Rpb24gb2YgdGhlIEJ1c2luZXNzIFdlc3QgU3Vzc2V4IHdlYnNpdGUgdG8gc2VydmUgYXMgYW4gYWRkaXRpb25hbCByZXNvdXJjZSBmb3IgdGhvc2Ugd2hvIHdlcmUgdW5hYmxlIHRvIGF0dGVuZCB0aGUgZXZlbnRzLlxcblxcbiogVGhlIEJlYXV0aWZ1bCBPdXRkb29ycy9XZXN0IFN1c3NleCBXZWVrZW5kcyBjYW1wYWlnbiByYW4gZm9yIGl0cyBzZWNvbmQgeWVhciBmcm9tIE1heS1PY3RvYmVyIDIwMTYsIGFuZCB0aGUgd2Vic2l0ZSBub3cgZmVhdHVyZXMgYXJvdW5kIDExOCBidXNpbmVzc2VzIGFzIHBsYWNlcyB0byBzdG9wIG9mZiBhbmQgc3RheSBvbiByb3V0ZSBpbiBXZXN0IFN1c3NleCwgYW4gaW5jcmVhc2Ugb2YgNDggb24gdGhhdCBwcmV2aW91c2x5IHJlcG9ydGVkLiBEdXJpbmcgdGhlIGNhbXBhaWduLCBidXNpbmVzc2VzIHJlY2VpdmVkIGluIHRvdGFsIG92ZXIgMiw4MDAgb3V0Ym91bmQgY2xpY2tzIGZyb20gdGhlIGNhbXBhaWduIHdlYnNpdGUsIHNvbWUgb2Ygd2hpY2ggd2VyZSBkaXJlY3QgYm9va2luZ3MuIExvY2FsIGJ1c2luZXNzZXMgd2VyZSBhbHNvIHN1cHBvcnRlZCwgdGhyb3VnaCBzaWducG9zdGluZywgdG8gZ3JhbnQgZnVuZGluZyBhbmQgZGlnaXRhbCBtZWRpYSB0cmFpbmluZywgYW5kIHRocm91Z2ggZXhwb3N1cmUgaW4gZmVhdHVyZXMgaW4gVGFzdGUgV2VzdCBTdXNzZXggbWFnYXppbmUuIEEgZm9sbG93LXVwIHN1cnZleSB3YXMgdW5kZXJ0YWtlbiB3aXRoIGEgZmlmdGggb2YgdGhlIGZlYXR1cmVkIGJ1c2luZXNzZXMgdG8gZ2FpbiBmZWVkYmFjayBvbiB0aGVpciB2aWV3cyBvZiB0aGUgMjAxNiBjYW1wYWlnbi4gVGhlIGZlZWRiYWNrIHdlIHJlY2VpdmVkIHdhcyBwb3NpdGl2ZSwgYW5kIGtleSBtZXNzYWdlcyBpbmNsdWRlZCBzdXBwb3J0IGZvciBjb250aW51aW5nIGFuZCBleHBhbmRpbmcgdGhlIGNhbXBhaWduLCBjcmVhdGluZyBhIGdyZWF0ZXIgbnVtYmVyIG9mIHBsYWNlLWJhc2VkIGl0aW5lcmFyaWVzIHRvIGluc3BpcmUgdmlzaXRvcnMsIGFuZCBkZXZlbG9waW5nIGZ1cnRoZXIgbGlua2FnZXMgd2l0aCBsb2NhbCBhdHRyYWN0aW9ucy4gVGhlIGNhbXBhaWduIGlzIGNvbnRpbnVpbmcgdGhyb3VnaG91dCB0aGUgV2ludGVyLCB0byBwcm9tb3RlIFdlc3QgU3Vzc2V4IGFzIGFuIGF0dHJhY3RpdmUgdmlzaXRvciBkZXN0aW5hdGlvbiwgd2l0aCB0aGUgYWltIHRvIHJlY3J1aXQgYW5kIHN1cHBvcnQgbW9yZSBsb2NhbCBidXNpbmVzc2VzIGluIDIwMTcuXFxuXFxuKiBVbmRlciB0aGUgY3VycmVudCBMRUFERVIgcHJvZ3JhbW1lLCBDZW50cmFsIFN1c3NleCBhbmQgU3Vzc2V4IERvd25zICYgQ29hc3RhbCBQbGFpbiBMRUFERVIgTG9jYWwgQWN0aW9uIEdyb3VwcyBoYXZlIGFwcHJvdmVkIGEgdG90YWwgb2YgMTMgcHJvamVjdHMgd2l0aCBncmFudHMgdG90YWxsaW5nIMKjMzgwLDY3NC4gVGhlc2UgYXJlIGZvcmVjYXN0IHRvIGNyZWF0ZSAyNSBuZXcgZnVsbCB0aW1lIGVxdWl2YWxlbnQgam9icyBhbmQgNCw4MTQgYWRkaXRpb25hbCBvdmVybmlnaHQgc3RheXMgb3ZlciB0aGUgbmV4dCB0aHJlZSB5ZWFycy4gVGhlIHRvdGFsIG1hdGNoIGZ1bmRpbmcgYXNzb2NpYXRlZCB3aXRoIExFQURFUiBncmFudHMgaXMgwqM4NTIsNjEwIHdoaWNoIGVxdWF0ZXMgdG8gYSB0b3RhbCBwcm9qZWN0IHZhbHVlIG9mIMKjMSwyMzMsMjg0LlxcblxcbiogVGhlIEJ1c2luZXNzIEZpbmFuY2UgUHJvamVjdCByZWNlaXZlZCAyMDEgZW5xdWlyaWVzIGFuZCAxMDcgZXhwcmVzc2lvbnMgb2YgaW50ZXJlc3QgZnJvbSBjb21wYW5pZXMgaW50ZXJlc3RlZCBpbiBhcHBseWluZyBmb3IgYSBCdXNpbmVzcyBHcm93dGggR3JhbnQgKGFkZGl0aW9uYWwgMzYgdG8gdGhhdCBwcmV2aW91c2x5IHJlcG9ydGVkKS4gVGhpcyBjb252ZXJ0ZWQgdG8gMzYgZnVsbCBhcHBsaWNhdGlvbnMgYW5kIHJlc3VsdGVkIGluIDI0IGNvbXBhbmllcyByZWNlaXZpbmcgYW4gYXBwcm92YWwgZnJvbSB0aGUgR3Jvd3RoIEdyYW50IHBhbmVscyBpbiAyMDE2LzE3IHdoaWNoLCBpZiBmdWxseSBzcGVudCwgd2lsbCB0b3RhbCDCozEsMTA4LDc3MS5cXG5cXG5JbiB0aGUgbGFzdCBxdWFydGVyIHdpdGggcmVnYXJkIHRvIHRoZSBDcmVhdGl2ZS9EaWdpdGFsIHByb3Bvc2l0aW9uIFdpcmVkIFN1c3NleCBoYXZlIGRlbGl2ZXJlZCB0d28gc2VjdG9yIGVuZ2FnZW1lbnQgZXZlbnRzIGFzIHBhcnQgb2YgdGhlaXIgd29yayBvbiB0aGUgQm9nbm9yIFJlZ2lzIENyZWF0aXZlIERpZ2l0YWwgSHViIHByb2plY3QuIFRoZSBmaXJzdCB3YXMgaGVsZCBhdCBPeGZvcmTigJlzIEJhciBpbiBCb2dub3IgUmVnaXMgb24gMTUgTm92IGFuZCB3YXMgYXR0ZW5kZWQgYnkgMzEgY3JlYXRpdmUgZGlnaXRhbCBidXNpbmVzc2VzLiBUaGUgZXZlbnQgaW5jbHVkZWQgYSBwcmVzZW50YXRpb24gYnkgTWF0dCBEZXNtaWVyIGZyb20gdGhlIEJvdXJuZW1vdXRoIGFuZCBQb29sZSBkaWdpdGFsIGNsdXN0ZXIgYWJvdXQgdGhlaXIgZXhwZXJpZW5jZSBvZiBkZXZlbG9waW5nIHRoZSBzZWN0b3IgaW4gdGhhdCBhcmVhLCBhbmQgYSBwcmVzZW50YXRpb24gb2YgdGhlIHJlc3VsdHMgb2YgdGhlIFdpcmVkIFN1c3NleCBjcmVhdGl2ZSBkaWdpdGFsIHNlY3RvciBzdXJ2ZXkuIFdpcmVkIFN1c3NleCBjYXJyaWVkIG91dCBhIHN1cnZleSBvZiBjcmVhdGl2ZSBkaWdpdGFsIGJ1c2luZXNzZXMgaW4gQm9nbm9yIFJlZ2lzIHRvIHVuZGVyc3RhbmQgdGhlIGdlb2dyYXBoaWNhbCBhbmQgc2VjdG9yYWwgcmFuZ2Ugb2YgYnVzaW5lc3NlcyBjdXJyZW50bHkgZW5nYWdlZCB3aXRoIHRoZSBwcm9qZWN0LiBPdmVyIDEwMCBidXNpbmVzc2VzIHdlcmUgY29udGFjdGVkIGFuZCA0NSByZXNwb25zZXMgcmVjZWl2ZWQuIFRoZSBzZWNvbmQgZXZlbnQgd2FzIGhlbGQgb24gMTMgRGVjIGF0IFRoZSBQaWVyIGluIEJvZ25vciBSZWdpcyBhbmQgMjEgYnVzaW5lc3NlcyBhdHRlbmRlZC4gU3BlYWtlcnMgaW5jbHVkZWQgTWlrZSBIb2xsZXksIEhlYWQgb2YgdGhlIERlcGFydG1lbnQgb2YgQ3JlYXRpdmUgYW5kIERpZ2l0YWwgVGVjaG5vbG9neSBhdCB0aGUgVW5pdmVyc2l0eSBvZiBDaGljaGVzdGVyLCB3aG8gc3Bva2UgYWJvdXQgdGhlIFVuaXZlcnNpdHnigJlzIG5ldyBFbmdpbmVlcmluZyBhbmQgRGlnaXRhbCBUZWNobm9sb2d5IFBhcmsgZHVlIHRvIG9wZW4gaW4gMjAxOC5cXG5cXG5JbiBhZGRpdGlvbiwgbW9udGhseSB1cGRhdGUgZW1haWxzIGFyZSBzZW50IHRvIDIyOCBjb250YWN0cyBvbiBXaXJlZCBTdXNzZXjigJlzIEJvZ25vciBodWIgZGF0YWJhc2UuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqUXVhcnRlciAyIC0gU2VwdGVtYmVyIDIwMTYqKlxcblxcbi0gLSAtXFxuXFxuVGhlIG51bWJlcnMgb2YgYnVzaW5lc3NlcyBzdXBwb3J0ZWQgdGhyb3VnaCBXU0NDIG9yIFdTQ0Mgc3VwcG9ydGVkIGluaXRpYXRpdmVzIGFyb3VuZCBidXNpbmVzcyBzdXBwb3J0Olxcblxcbk92ZXIgMTIwIGhlYWx0aCBhbmQgbGlmZSBzY2llbmNlcyByZWxhdGVkIGNvbXBhbmllcyBoYXZlIGJlZW4gc3VwcG9ydGVkIHRocm91Z2ggdGhlIEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyBjbHVzdGVyIG5ldHdvcmsuIC4gQ29tcGFuaWVzIHdpdGhpbiB0aGUgY2x1c3RlciBhcmUgcmVndWxhcmx5IHVwZGF0ZWQgYWJvdXQgdGhlIHNlY3RvciBpbml0aWF0aXZlcyBXU0NDIGlzIHByb2dyZXNzaW5nLCByZWdpb25hbCBldmVudHMsIGZ1bmRpbmcgb3Bwb3J0dW5pdGllcywgbG9jYWwgcmVzZWFyY2gsIGFuZCBTVEVNIG9wcG9ydHVuaXRpZXMuIFdTQ0MgaXMgd29ya2luZyBoYXJkIHRvIGdyb3cgdGhlIGNsdXN0ZXIgYW5kIGRldmVsb3AgYSBwcm9ncmFtbWUgb2Ygc3VwcG9ydCB3aGljaCB3aWxsIGFkZCByZWFsIHZhbHVlIHRvIGNvbXBhbmllcyB3aXRoaW4gdGhlIHJlZ2lvbi4gVGhlIHByb2dyYW1tZSBvZiBzdXBwb3J0IHdpbGwgYmVnaW4gZnVsbHkgaW4gTm92ZW1iZXIgYW5kIGRldGFpbCBmcm9tIHRoZW0gcmVwb3J0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgbmV4dCBxdWFydGVyLlxcblxcbk9uIHRoZUNyZWF0aXZlL0RpZ2l0YWwgcHJvcG9zaXRpb24gV2lyZWQgU3Vzc2V4IGhlbGQgYW4gZW5nYWdlbWVudCBldmVudCBmb3IgdGhlIHNlY3RvciBpbiBTZXB0ZW1iZXIgYXMgcGFydCBvZiB0aGVpciBzZWN0b3IgZGV2ZWxvcG1lbnQgY29udHJhY3QuIDIwIGJ1c2luZXNzZXMgYXR0ZW5kZWQuIEJyYW5kaW5nIGlkZWFzIGZvciB0aGUgaHViIGFzIHdlbGwgYXMgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBpbnRlcm5hbCBwbGFuc3dlcmUgcHJlc2VudGVkIGJ5IEhlbW1pbmd3YXkgRGVzaWduIGFsb25nIHdpdGggYSByZXN1bWUgb2Ygd29yayB1bmRlcnRha2VuIHRvIGRhdGUsIGFuZCBkaXNjdXNzaW9ucyBvdmVyIHRoZSBuZXh0IHN0ZXBzLiBUaGVyZSB3YXMgbmV0d29ya2luZyBvcHBvcnR1bml0aWVzIGZvciB0aG9zZSBidXNpbmVzc2VzIGF0dGVuZGluZyBhbmQgZGlzY3Vzc2lvbnMgb3ZlciB0aGUgcGxhbnMgZm9yIGVuY291cmFnaW5nIGdyb3d0aCBpbiB0aGlzIHNlY3Rvci5cXG5cXG5PdXIgdHdvIExFQURFUiBMb2NhbCBBY3RvbiBHcm91cHMgKExBR3MpIGhhdmUgc28gZmFyIGFwcHJvdmVkIGdyYW50cyB0b3RhbGxpbmcgwqMzMzcsOTMxIGZvciAxMSBwcm9qZWN0cyB3aGljaCBhcmUgZm9yZWNhc3QgdG8gY3JlYXRlIDIzIG5ldyBGVEUgam9icy4gQXQgbGVhc3QgMTEgYnVzaW5lc3NlcyBpbiB0b3RhbCB3aWxsIGJlbmVmaXQuIEhvd2V2ZXIgdGhlIExBR3MgZXh0ZW5kIHRvIGFyZWFzIG91dHNpZGUgb2YgV2VzdCBTdXNzZXgsIFdpdGhpbiBXZXN0IFN1c3NleCB0aGVyZSBhcmUgNyBwcm9qZWN0cyB3aGljaCBoYXZlIGJlZW4gYXBwcm92ZWQsIGZvcmVjYXN0IHRvIGNyZWF0ZSAxNy43IEZURSBqb2JzIGFuZCB0b3RhbGxpbmcgwqMyNDYsMDYzLiBUaGUgcHJvamVjdHMgaW4gV2VzdCBTdXNzZXggYXJlIGxpc3RlZCBiZWxvdywgb25seSB0aGUgZmlyc3Qgb25lIGxpc3RlZCBoYXMgYmVlbiBjb21wbGV0ZWQgYW5kIHRoZSBvdGhlcnMgYXJlIGluIHByZXBhcmF0aW9uOlxcblxcbiogTHV4dXJ5IGxvZGdlcyBvbiBhIHZpbmV5YXJkIHRvIHByb21vdGUgd2luZSB0b3VyaXNtXFxuXFxuKiBGYXJtIGJ1bmtob3VzZSBzdHlsZSBhY2NvbW1vZGF0aW9uIG5lYXIgdGhlIFNvdXRoIERvd25zIFdheSBmb3IgY3ljbGlzdHMgYW5kIHdhbGtlcnNcXG5cXG4qIE5ldyBlcXVpcG1lbnQgZm9yIGEgZm9vZCBwcm9jZXNzaW5nIGNvbXBhbnkgaW5jbHVkaW5nIGNvbW1lcmNpYWxpc2F0aW9uIG9mIGEgbmV3IOKAnGNsZWFu4oCdIHRlY2hub2xvZ3kgZm9yIHNtb2tpbmcgaW5ncmVkaWVudHNcXG5cXG4qIE1vZGVybiBkaWdpdGFsIGVxdWlwbWVudCBmb3IgYSBsb2NhbCBsYWJlbCBwcmludGluZyBidXNpbmVzc1xcblxcbiogRm9yZXN0cnkgaGFydmVzdGVyIGhlYWQgZm9yIGEgZmFybSBiYXNlZCBiaW9tYXNzIGJ1c2luZXNzXFxuXFxuKiBTdHJhdyBzaHJlZGRpbmcgYW5kIHBlbGxldGluZyBlcXVpcG1lbnQgZm9yIGEgZGl2ZXJzaWZpZWQgZmFybSBidXNpbmVzcyBwcm9kdWNpbmcgYW5pbWFsIGJlZGRpbmcgYW5kIGJpb21hc3MgZm9yIHdvb2QtYnVybmluZyBib2lsZXJzXFxuXFxuKiBOZXcgc2lnbmFnZSBhbmQgd2Vic2l0ZSBwcm9tb3RpbmcgYWNjZXNzaWJsZSB3YWxrcyBhcm91bmQgQnJhbWJlclxcblwifSx7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIldpdGggcmVnYXJkIHRvIHRoZSBCdXNpbmVzcyBGaW5hbmNlIFByb2plY3QgMTc1IGJ1c2luZXNzZXMgaGF2ZSBiZWVuIGluIGRpc2N1c3Npb24gb3ZlciBwcm9wb3NlZCBwcm9qZWN0cywgYW5kIHNvIGZhciA2IGhhdmUgZGVjbGFyZWQgdGhleSBpbnRlbnQgdG8gc3VibWl0IGFuIEV4cHJlc3Npb24gb2YgSW50ZXJlc3QgKEVPSSkuIFRoZSB0YWJsZSBvbiB0aGUgcmlnaHQgc2hvd3MgdGhlIGxhdGVzdCBwb3NpdGlvbiBmb3IgdGhlIHByb2plY3QgaW4gdGVybXMgb2YgYXBwbGljYXRpb25zIHNvIGZhci5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy85NTZBN0I2Qi1CMzhDLTQ4RkUtOEI3QS1GQzk5OTVDNjg5MEFcIn1dXX0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiRm9sbG93aW5nIGhpcyBhbm5vdW5jZW1lbnQgaW4gQXVndXN0LCBvbiB0aGUgZnV0dXJlIG9mIEVVIGZ1bmRpbmcgaW4gdGhlIGNvbnRleHQgb2YgQnJleGl0IGFuZCB3aGljaCBndWFyYW50ZWVkIGZ1bmRzIGZvciBwcm9qZWN0cyBzaWduZWQgdXAgdW50aWwgdGhlIEF1dHVtbiBTdGF0ZW1lbnQgKE5vdmVtYmVyIDIwMTYpLCB0aGUgQ2hhbmNlbGxvciBoYXMgbm93IGV4dGVuZGVkIHRoaXMgZ3VhcmFudGVlIHRvIHRoZSBwb2ludCBhdCB3aGljaCB0aGUgVUsgZGVwYXJ0cyB0aGUgRVUuIFRoZSBDaGFuY2VsbG9yIGNvbmZpcm1lZCB0aGF0IHRoZSBnb3Zlcm5tZW50IHdpbGwgZ3VhcmFudGVlIEVVIGZ1bmRpbmcgZm9yIHN0cnVjdHVyYWwgYW5kIGludmVzdG1lbnQgZnVuZCBwcm9qZWN0cywgaW5jbHVkaW5nIGFncmktZW52aXJvbm1lbnQgc2NoZW1lcywgc2lnbmVkIGFmdGVyIHRoZSBBdXR1bW4gU3RhdGVtZW50IGFuZCB3aGljaGNvbnRpbnVlIGFmdGVyIHdlIGhhdmUgbGVmdCB0aGUgRVUuXFxuXFxuSGUgd2FzIGNsZWFyLCB3aGlsZSB0aGUgVUsgaXMgc3RpbGwgYSBtZW1iZXIgb2YgdGhlIEVVLCBCcml0aXNoIGJ1c2luZXNzZXMsIGZhcm1lcnMgYW5kIG90aGVyIG9yZ2FuaXNhdGlvbnMgbXVzdCBiZSBlbnRpdGxlZCB0byBhcHBseSBmb3IgRVVmdW5kcy4gRnVuZGluZyBmb3IgcHJvamVjdHMgd2lsbCBiZSBob25vdXJlZCBieSB0aGUgZ292ZXJubWVudCwgaWYgdGhleSBtZWV0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG5cXG4qIHRoZXkgYXJlIGdvb2QgdmFsdWUgZm9yIG1vbmV5XFxuXFxuKiB0aGV5IGFyZSBpbiBsaW5lIHdpdGggZG9tZXN0aWMgc3RyYXRlZ2ljIHByaW9yaXRpZXNcXG5cXG5BcyBhIHJlc3VsdCwgQnJpdGlzaCBidXNpbmVzc2VzLCBmYXJtZXJzIGFuZCBvdGhlciBvcmdhbmlzYXRpb25zIHdpbGwgaGF2ZSBhZGRpdGlvbmFsIGNlcnRhaW50eSBvdmVyIGZ1dHVyZSBmdW5kaW5nIGFuZCBzaG91bGQgY29udGludWUgdG8gYXBwbHkgZm9yIEVVIGZ1bmRpbmcgd2hpbGUgdGhlIFVLIHJlbWFpbnMgYSBtZW1iZXIgb2YgdGhlIEVVLlxcblxcblRoZSBhbm5vdW5jZW1lbnQgbWFkZSBvbiAzIE9jdG9iZXIgMjAxNiBidWlsZHMgb24gdGhlIGFzc3VyYW5jZXMgZ2l2ZW5ieSB0aGUgQ2hhbmNlbGxvciBpbiBBdWd1c3Qgd2hpY2ggYWxzbyBpbmNsdWRlZDpcXG5cXG4qIGFsbCBzdHJ1Y3R1cmFsIGFuZCBpbnZlc3RtZW50IGZ1bmQgcHJvamVjdHMsIGluY2x1ZGluZyBhZ3JpLWVudmlyb25tZW50IHNjaGVtZXMsIHNpZ25lZCBiZWZvcmUgdGhlIEF1dHVtbiBTdGF0ZW1lbnQgd2lsbCBiZSBmdWxseSBmdW5kZWQsIGV2ZW4gd2hlbiB0aGVzZSBwcm9qZWN0cyBjb250aW51ZSBiZXlvbmQgdGhlIFVL4oCZcyBkZXBhcnR1cmUgZnJvbSB0aGUgRVVcXG5cXG4qIGFsbCBkaXJlY3QgY29tcGV0aXRpdmVseSBiaWQgcHJvamVjdHMgZGlyZWN0bHkgd2l0aCB0aGUgRXVyb3BlYW4gQ29tbWlzc2lvbiwgZm9yIGV4YW1wbGUgdW5pdmVyc2l0aWVzIHBhcnRpY2lwYXRpbmcgaW4gSG9yaXpvbiAyMDIwXFxuXFxuKiB0aGUgY3VycmVudCBsZXZlbCBvZiBhZ3JpY3VsdHVyYWwgZnVuZGluZyB1bmRlciBDQVAgcGlsbGFyIDEgd2lsbCBiZSB1cGhlbGQgdW50aWwgMjAyMCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2l0aW9uIHRvIG5ldyBkb21lc3RpYyBhcnJhbmdlbWVudHNcXG5cXG5baHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvbmV3cy9mdXJ0aGVyLWNlcnRhaW50eS1vbi1ldS1mdW5kaW5nLWZvci1odW5kcmVkcy1vZi1icml0aXNoLXByb2plY3RzXVswXVxcblxcblswXTogaHR0cHM6Ly93d3cuZ292LnVrL2dvdmVybm1lbnQvbmV3cy9mdXJ0aGVyLWNlcnRhaW50eS1vbi1ldS1mdW5kaW5nLWZvci1odW5kcmVkcy1vZi1icml0aXNoLXByb2plY3RzXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqUXVhcnRlciAxIC0gSnVuZSAyMDE2KipcXG5cXG5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXFxuXFxuVGhlIG51bWJlcnMgb2YgYnVzaW5lc3NlcyBzdXBwb3J0ZWQgdGhyb3VnaCBXU0NDIG9yIFdTQ0Mgc3VwcG9ydGVkIGluaXRpYXRpdmVzIGFyb3VuZCBidXNpbmVzcyBzdXBwb3J0OlxcblxcblRoZSB1cHNob3QgaXMgdGhhdCB0aGVyZSBhcmUgYXJvdW5kIDkwIGJ1c2luZXNzZXMgc3VwcG9ydGVkIHRocm91Z2ggdGhlIEhlYWx0aCBhbmQgTGlmZSBzY2llbmNlcyBjbHVzdGVyIG5ldHdvcmssIDExIGNvbXBhbmllcyBoYXZlIHBhcnRpY2lwYXRlZCBvciBhcmUgY29tbWl0dGVkIHRvIHBhcnRpY2lwYXRpbmcgaW4gU1RFTSBpbml0aWF0aXZlcyB0aGF0IFdTQ0MgaGF2ZSBwYXJ0IGZ1bmRlZC4gSXQgaXMgdGhlIGludGVudGlvbiB0byBob2xkIGEgc2Vjb25kIGNsdXN0ZXIgZXZlbnQgaW4gTm92ZW1iZXIuXFxuXFxuT24gdGhlIENyZWF0aXZlL0RpZ2l0YWwgcHJvcG9zaXRpb24gYSBuZXR3b3JraW5nIGV2ZW50IHdhcyBoZWxkIGF0IHRoZSBXYXZlcmxleSBIb3RlbCBpbiBCb2dub3IgUmVnaXMgaW4gQXByaWwsIDIwIGJ1c2luZXNzZXMgYXR0ZW5kZWQuIFRoZSBwbGFucyBmb3IgdGhlIG5ldyBodWIgYW5kIGl0cyBsaW5rcyB0byB0aGUgVW5pdmVyc2l0eeKAmXMgbmV3IEVuZ2luZWVyaW5nIGFuZCBEaWdpdGFsIFRlY2hub2xvZ3kgUGFyayB3ZXJlIGRpc2N1c3NlZCBhbmQgYnVzaW5lc3NlcyBhbmQgb3RoZXIgc3Rha2Vob2xkZXJzIHdlcmUgYWJsZSB0byBmZWVkIGJhY2sgdGhlaXIgdGhvdWdodHMgb24gdGhlIHBsYW5zIGFuZCBob3cgdGhlIGh1YiBjb3VsZCBzdXBwb3J0IHRoZW07IGFuZCB0aGV5IHdlcmUgYWJsZSB0byBuZXR3b3JrIHRvZ2V0aGVyIGFzIHBhcnQgb2YgdGhlIHNlY3RvciBkZXZlbG9wbWVudCB3b3JrIHRoYXQgY29tcGxlbWVudHMgdGhlIGVzdGFibGlzaG1lbnQgb2YgdGhlIGh1Yi5cXG5cXG5TbyBmYXIgOCBidXNpbmVzc2VzIGhhdmUgYmVlbiBzdXBwb3J0ZWQgdG8gc3VibWl0IEVPSXMgdG8gdGhlIEJ1c2luZXNzZXMgRmluYW5jZSBwcm9ncmFtbWUuXFxuXFxuVGhlIHR3byBMRUFERVIgTG9jYWwgQWN0aW9uIEdyb3VwcyBoYXZlIGFwcHJvdmVkIDYgcHJvamVjdCBzdWJtaXNzaW9ucyBmcm9tIGJ1c2luZXNzZXMuIFRoZSB0b3RhbCBncmFudCBjb21taXR0ZWQgdG8gZGF0ZSBpcyDCozE4OCw3NTAuXFxuXFxuVGhlIG5leHQgdXBkYXRlIGlzIGR1ZSBpbiBPY3RvYmVyIGZvciB0aGUgcXVhcnRlciB0byBTcGV0ZW1iZXIgMjAxNi5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipRdWFydGVyIDMgLSBEZWNlbWJlciAyMDE1KipcXG5cXG4tIC0gLVxcblxcblRoaXMgY29tbWVudGFyeSByZXBvcnRzIG9uIEVjb25vbWljIERldmVsb3BtZW50IGluaXRpYXRpdmVzIGFuZCBhY3Rpdml0aWVzIHRoYXQgc3VwcG9ydCBidXNpbmVzc2VzLlxcblxcbioqQmV0dGVyIEJvZ25vciBSZWdpcyBCb2xkIElkZWEgKERpZ2l0YWwgYW5kIGNyZWF0aXZlIGNsdXN0ZXIpKipcXG5cXG5UaGlzIHByb2plY3QgaXMgb25lIG9mIHRoZSBmaXZlICdCb2xkIElkZWFzJyBkZXZlbG9wZWQgdG8gaGVscCB0YWNrbGUgV2VzdCBTdXNzZXjigJlzIGVjb25vbWljIGNoYWxsZW5nZXMgYW5kIGVuY291cmFnZSBlY29ub21pYyBhY3Rpdml0eSBvdmVyIHRoZSBzaG9ydCB0byBtZWRpdW0gdGVybS4gRHJhd2luZyBvbiBleGFtcGxlcyBmcm9tIG90aGVyIHBsYWNlcyBpbiB0aGUgVUsgYW5kIGludGVybmF0aW9uYWxseSwgdGhlIGNvdW50eSB3b3VsZCBsaWtlIHRvIGVzdGFibGlzaCBCb2dub3IgUmVnaXMgYXMgYW4gYXJ0aXN0aWMvY3JlYXRpdmUgY2VudHJlLCBhIHBsYWNlIHdoZXJlIHlvdW5nIGNyZWF0aXZlIHBlb3BsZSBmcm9tIHRoZSBsb2NhbCBhcmVhIHRocml2ZSwgYW5kIGF0dHJhY3RzIG90aGVycyBmcm9tIHN1cnJvdW5kaW5nIGFyZWFzIGluY2x1ZGluZyBMb25kb24gdG8gcmVsb2NhdGUuIFRoZSBmb2N1cyB3aWxsIGJlIHRvIGNyZWF0ZSBhIHNoYXJlZCB3b3Jrc3BhY2UgYXQgQm9nbm9yIFJlZ2lzIHJhaWx3YXkgc3RhdGlvbiB3aGVyZSBzbWFsbCBidXNpbmVzc2VzIGNhbiB3b3JrIGluIGEgY3JlYXRpdmUgYW5kIHN1cHBvcnRpdmUgZW52aXJvbm1lbnQsIG5ldHdvcmssIHNvY2lhbGlzZSwgZGlzcGxheSB3b3JrLCBzaGFyZSBmYWNpbGl0aWVzIGV0Yy4gSXQgaXMgdG8gYmUgdW5kZXJ0YWtpbmcgaW4gcGFydG5lcnNoaXAgd2l0aCBvdGhlcnMgaW5jbHVkaW5nIENoaWNoZXN0ZXIgVW5pdmVyc2l0eSwgYW5kIGl0IGludGVuZGVkIHRoYXQgdGhlIG5ldyBmYWNpbGl0aWVzIHdvdWxkIHByb3ZpZGUgYW4gZW52aXJvbm1lbnQgZm9yIGdyYWR1YXRlcyBmcm9tIHRoZSBVbml2ZXJzaXR5IHRvIGRldmVsb3AgbmV3IGJ1c2luZXNzZXM7IGFuZCB0aGUgVW5pdmVyc2l0eSB3b3VsZCBwcm92aWRlIGEgc291cmNlIG9mIHNraWxscyBmb3IgdGhpcyBncm93aW5nIHNlY3RvciBpbiBCb2dub3IgUmVnaXMgYW5kIFdlc3QgU3Vzc2V4LlxcblxcblRoZSBmaXJzdCBidXNpbmVzcyBldmVudCBhcm91bmQgdGhpcyBwcm9wb3NpdGlvbiB3YXMgaGVsZCBpbiBOb3ZlbWJlciAyMDE1IGluIEJvZ25vciBSZWdpcy4gVGhlIGFpbSBvZiB0aGUgZXZlbnQgd2FzIHRvIHNoYXJlIHRoZSBlbWVyZ2luZyBwbGFucyBmb3IgYSBkaWdpdGFsIGFuZCBjcmVhdGl2ZSBodWIgd2l0aCBwYXJ0bmVycywgcG90ZW50aWFsIHN0YWtlaG9sZGVycyBhbmQgYSBzbWFsbCBudW1iZXIgb2YgbG9jYWwgY3JlYXRpdmUgYW5kIGRpZ2l0YWwgYnVzaW5lc3NlcywgdG8gaW52aXRlIGZlZWRiYWNrLCB0byBleGFtaW5lIHRoZSBwb3RlbnRpYWwgc3BhY2UgZm9yIHRoZSBodWIgYXQgQm9nbm9yIFJlZ2lzIFJhaWx3YXkgU3RhdGlvbiBhbmQgdG8gZXhhbWluZSBob3cgdGhlIGlkZWEgc2hvdWxkIGJlIHByb2dyZXNzZWQuXFxuXFxuOCBidXNpbmVzc2VzIGF0dGVuZGVkIHRoaXMgZXZlbnQuIFRoZSBuZXh0IGV2ZW50IGlzIGJlaW5nIG9yZ2FuaXNlZCBpbiBKYW51YXJ5IHdoaWNoIHdpbGwgaW5jbHVkZSBhIGJpZ2dlciBhdHRlbmRhbmNlIGZyb20gYnVzaW5lc3NlcywgYW5kIHdpbGwgYmUgZmVlZGJhY2sgaW4gdGhlIG5leHQgcXVhcnRlci5cXG5cXG4qKkJlYXV0aWZ1bCBPdXRkb29ycy9XZXN0IFN1c3NleCBXZWVrZW5kcyoqXFxuXFxuRm9sbG93aW5nIG9uIGZyb20gdGhlIEJlYXV0aWZ1bCBPdXRkb29ycy9XZXN0IFN1c3NleCBXZWVrZW5kcyBjYW1wYWlnbiB0aGF0IHdhcyBsYXVuY2hlZCBpbiBTdW1tZXIg4oCZMTUgdGhlcmUgd2FzIGEgZm9sbG93IHVwIHN1cnZleSBvZiBhcm91bmQgYSB0aGlyZCBvZiB0aGUgYnVzaW5lc3NlcyB0aGF0IHdlcmUgaW52b2x2ZWQgdG8gYXNjZXJ0YWluIHRoZSBiZW5lZml0cyB0aGV5IGhhZCBzZWVuIGFuZCB0byBnZXQgdGhlaXIgdmlldyBvbiB0aGUgcHJvbW90aW9uIG9mIFdlc3QgU3Vzc2V4IGFzIGEgdmlzaXRvciBkZXN0aW5hdGlvbi4gQ2VydGFpbmx5IHRoZSBmZWVkYmFjayBmcm9tIHRoZW0gd2FzIHZlcnkgcG9zaXRpdmUsIGFsbCBvZiB0aGVtIHJlcG9ydGVkIHRoYXQgdGhleSB3YW50ZWQgdGhlIGNhbXBhaWduIHRvIGNvbnRpbnVlLCBtYW55IGV4cGVjdCB0aGUgd2Fsa2luZy9jeWNsaW5nIG1hcmtldCB0byBpbmNyZWFzZSBmb3IgdGhlaXIgYnVzaW5lc3MgYW5kIHNvbWUgaGFkIHVuZGVydGFrZW4gaW1wcm92ZW1lbnRzIHRvIG1ha2UgdGhlbXNlbHZlcyBtb3JlIGN5Y2xpbmcvd2Fsa2luZyBmcmllbmRseSBpLmUuIGludHJvZHVjdGlvbiBvZiBzZWN1cmUgY3ljbGUgc3RvcmFnZS5cXG5cXG5HaXZlbiB0aGUgd2ludGVyIGx1bGwgV2VzdCBTdXNzZXggV2Vla2VuZHMgaXMgY29uY2VudHJhdGluZyBvbiBwcm9tb3RpbmcgYSBzZXJpZXMgb2Ygd2Fsa3MgaW4gdGhlIENvdW50eSwgdGhpcyBpcyBpbiBwYXJ0bmVyc2hpcCB3aXRoIGlGb290cGF0aCwgYSBuYXRpb25hbCB3ZWJzaXRlIGFuZCBhcHAgdG8gZW5jb3VyYWdlIHBlb3BsZSB0byBnZXQgb3V0IGFuZCBlbmpveSB3YWxrcyBhY3Jvc3MgdGhlIFVLLiBUaGVyZSBhcmUgMTAgd2Fsa3MgaW5jbHVkZWQgaW4gV2VzdCBTdXNzZXgsIGRldGFpbGVkIG1hcHMgYW5kIGEgZGVzY3JpcHRpb24gb2YgdGhlIHdhbGsgaXMgaW5jbHVkZWQgYW5kIGxvY2FsIGJ1c2luZXNzZXMgdGhhdCBhIHdhbGtlciBjb3VsZCBzdG9wIG9mZiBhdCBmb3IgcmVmcmVzaG1lbnQgYXJlIG1lbnRpb25lZC5cXG5cXG5baHR0cDovL3d3dy53ZXN0LXN1c3NleC13ZWVrZW5kcy5jb20vd2ludGVyLXdhbGtzXVswXVxcblxcblRoZXJlIGFyZSBub3cgYXJvdW5kIDcwIGxvY2FsIGJ1c2luZXNzZXMgb24gdGhlIFdlc3QgU3Vzc2V4IFdlZWtlbmRzIHdlYnNpdGUsIHByb21vdGluZyB0aGVtIGFzIHBsYWNlcyB0byBzdG9wIG9mZiBhbmQvb3Igc3RheSBmb3IgdmlzaXRvcnMgdG8gV2VzdCBTdXNzZXgsIHRoaXMgaXMgMTAgbW9yZSB0aGFuIHByZXZpb3VzbHkgcmVwb3J0ZWQgYW5kIHRoZW4gYXJlIHBsYW5zIHRvIHJlY3J1aXQgZXZlbiBtb3JlIGxvY2FsIGJ1c2luZXNzZXMgdG8gb3VyIGNhbXBhaWduIGFuZCBoZWxwIHRvIHN1cHBvcnQgdGhlbSB0byBiZWNvbWUgZXZlbiBtb3JlIGF0dHJhY3RpdmUgdG8gdmlzaXRvcnMgdG8gV2VzdCBTdXNzZXggdGhyb3VnaCBvdXIgMjAxNiBjYW1wYWlnbi5cXG5cXG4qKkhlYWx0aCAmIExpZmUgU2NpZW5jZXMqKlxcblxcblRoZSBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMgQ2x1c3RlciBoYXMgbm93IGlkZW50aWZpZWQgb3ZlciA5MCBjb21wYW5pZXMgYW5kIHdvcmsgaGFzIGJlZW4gdW5kZXJ0YWtlbiBhbmQgaXMgb24tZ29pbmcgdG8gZW5nYWdlIHRoZSBuZXcgY29tcGFuaWVzIHRvIHRoZSB3b3JrIHRvIGRhdGUuIEFuIHVwZGF0ZWQgY2x1c3RlciBkaXJlY3RvcnkgaXMgc2hvcnRseSB0byBiZSByZWxlYXNlZCB0byBpbmNsdWRlIGFsbCA5MCBjb21wYW5pZXMgKGluY3JlYXNlIG9mIGFyb3VuZCAyNiBmcm9tIHRoZSBwcmV2aW91cyB2ZXJzaW9uKS4gVGhlIGNsdXN0ZXIgaGFzIGFuIG9uLWxpbmUgcHJlc2VuY2UgaW4gdGhlIGZvcm0gb2YgYSB3ZWJzaXRlLCB0d2l0dGVyIGFuZCBsaW5rZWQtaW4gZ3JvdXAsIGluIGFkZGl0aW9uIHRvIHRoZSA5MCBjb21wYW5pZXMgdGhlcmUgYXJlIG92ZXIgMzAwIGluZGl2aWR1YWxzIGZyb20gcHJpdmF0ZSBidXNpbmVzcywgZXh0ZXJuYWwgc2VjdG9yIG9yZ2FuaXNhdGlvbnMsIGFjYWRlbWljcywgbG9jYWwgZ292ZXJubWVudCBhbmQgdGhlIE5IUy4gV1NDQyBhcmUgZGV2ZWxvcGluZyBzb21lIGluaXRpYXRpdmVzIChjb2xsZWN0aXZlbHkga25vd24gYXMgdGhlIEdyb3d0aCBIdWIpIHRvIHN1cHBvcnQgc3RhcnQtdXBzIGFuZCBTTUVzIGluIHRoaXMgY2x1c3RlciB0aHJvdWdob3V0IHRoZSBjb3VudHkuIFNwZWNpZmljIGluaXRpYXRpdmVzIGluY2x1ZGUgcG90ZW50aWFsbHkgY3JlYXRpbmcgYSBNZWQgVGVjaCBBY2NlbGVyYXRvciBpbiB0aGUgY291bnR5IHdoaWNoIHdvdWxkIHByb3ZpZGUgYW4gaW50ZW5zaXZlIGJ1c2luZXNzIHN1cHBvcnQgcHJvZ3JhbW1lIGZvciBzbWFsbCBncm91cHMgb2Ygc3RhcnQtIHVwczsgYW5kIGRldmVsb3BtZW50IG9mIHByYWN0aWNhbCBtZWFzdXJlcyBlLmcuIHJvdW5kLXRhYmxlIGRpc2N1c3Npb25zIGFuZCBpbXByb3ZlZCBzaWduIHBvc3RpbmcgdG8gaGVscCBhbGxldmlhdGUgc29tZSBvZiB0aGUgcmVndWxhdG9yeSBjaGFsbGVuZ2VzIHRoYXQgdGhlIGNvbXBhbmllcyBmYWNlLlxcblxcbltodHRwOi8vd3d3LmJ1c2luZXNzd2VzdHN1c3NleC5jby51ay8yNTItd3NobHNjLmh0bWxdWzFdXFxuXFxuSW4gYWRkaXRpb24gdGhlcmUgaXMgd29yayBiZWluZyB1bmRlcnRha2VuIHRvIGFkZHJlc3MgdGhlIHNraWxscyBnYXBzIGluIHRoaXMgYXJlYSBhbmQgYnVzaW5lc3NlcyBpbiB0aGUgY2x1c3RlciBoYXZlIGJlZW4gaW52aXRlZCB0byBwYXJ0aWNpcGF0ZSBpbiBDb2FzdGFsIFNURU0gZmVzdCAyMDE2LCBhbmQgYSBudW1iZXIgb2YgYnVzaW5lc3NlcyBhdHRlbmRlZCB0aGUgcHJlbGltaW5hcnkgbWVldGluZyBpbiBOb3ZlbWJlciB0byBwbGFuIGZvciB0aGlzLlxcblxcbkNvbXBhbmllcyBpbiB0aGlzIHNlY3RvciBoYXZlIHJlcG9ydGVkIHRoYXQgdGhleSBkbyBub3QgaGF2ZSBsaW5rcyB3aXRoIGxvY2FsIHVuaXZlcnNpdGllcywgYW5kIGluZGVlZCB0aGF0IHVuaXZlcnNpdGllcyB3ZXJlIOKAmGludmlzaWJsZeKAmSB0byB0aGVtLiBJbiByZXNwb25zZSB0byB0aGlzIHRoZXJlIHdvcmsgaXMgdW5kZXJ3YXkgdG8gaW1wcm92ZSB0aGUgbGluayBiZXR3ZWVuIGNvbXBhbmllcyBpbiB0aGUgaGVhbHRoIGFuZCBsaWZlIHNjaWVuY2VzIGNsdXN0ZXIgYW5kIGxvY2FsIHVuaXZlcnNpdGllczsgaW4gcGFydGljdWxhciBhIOKAmFVuaXZlcnNpdHkgb2YgU3Vzc2V4IE9mZmVy4oCZIGlzIGJlaW5nIGRldmVsb3BlZCB3aGljaCB3aWxsIGhpZ2hsaWdodCBhbGwgb2YgdGhlIG9wcG9ydHVuaXRpZXMgZm9yIGJ1c2luZXNzZXMgaW4gdGhlIGhlYWx0aCBhbmQgbGlmZSBzY2llbmNlcyBjbHVzdGVyIHRvIGNvbGxhYm9yYXRlIHdpdGggU3Vzc2V4IFVuaXZlcnNpdHkuIEV2ZW50cyBhcmUgYmVpbmcgcGxhbm5lZCBmb3IgTWFyY2ggd2hpY2ggd2lsbCBnaXZlIGFuIG9wcG9ydHVuaXR5IGZvciBsb2NhbCBjb21wYW5pZXMgdG8gdmlzaXQgU3Vzc2V4IFVuaXZlcnNpdHksIHRvIGxvb2sgYXQgdGhlIGZhY2lsaXRpZXMgb24gb2ZmZXIgYW5kIHRvIGVuZ2FnZSB3aXRoIGEgcmFuZ2Ugb2YgYWNhZGVtaWNzIGZyb20gYWNyb3NzIHRoZSB1bml2ZXJzaXR5LiBUaGUgaW50ZW50aW9uIGZvbGxvd2luZyB0aGlzIGlzIHRvIGNyZWF0ZSBhIHNpbWlsYXIgb2ZmZXIgd2l0aCBvdGhlciBsb2NhbCB1bml2ZXJzaXRpZXMuXFxuXFxuKipMRUFERVIqKlxcblxcblRoZSBMRUFERVIgcHJvZ3JhbW1lIHdhcyBsYXVuY2hlZCBpbiBOb3ZlbWJlciAyMDE1OyBpdCBpcyBhIGdyYW50IGZ1bmRpbmcgcHJvZ3JhbW1lIHRoYXQgc3VwcG9ydHMgdGhlIGdyb3d0aCBhbmQgZGV2ZWxvcG1lbnQgb2YgcnVyYWwgYnVzaW5lc3MgYW5kIGlzIHBhcnQgb2YgdGhlIFJ1cmFsIERldmVsb3BtZW50IHByb2dyYW1tZSBmb3IgRW5nbGFuZCB3aGljaCBhaW1zIHRvIGltcHJvdmUgdGhlIGNvbXBldGl0aXZlbmVzcyBvZiBmYXJtaW5nIGFuZCBmb3Jlc3RyeSwgc3VwcG9ydCBhIGRpdmVyc2UgYW5kIHN1Y2Nlc3NmdWwgcnVyYWwgZWNvbm9teSBhbmQgaGVscCB0byBkZXZlbG9wIHZpYnJhbnQgYW5kIHRocml2aW5nIHJ1cmFsIGNvbW11bml0aWVzLiBTbyBmYXIgd2UgaGF2ZSByZWNlaXZlZCAzNyBlbnF1aXJpZXMgZnJvbSBidXNpbmVzc2VzIGluIHJlbGF0aW9uIHRvIExFQURFUiBmdW5kaW5nIHNpbmNlIGl0IGhhcyBiZWVuIGxhdW5jaGVkLlxcblxcbltodHRwOi8vd3d3LmJ1c2luZXNzd2VzdHN1c3NleC5jby51ay8yNjAtbGVhZGVyLWdyYW50cy0yMDE1LTIwLmh0bWxdWzJdXFxuXFxuWzBdOiBodHRwOi8vd3d3Lndlc3Qtc3Vzc2V4LXdlZWtlbmRzLmNvbS93aW50ZXItd2Fsa3NcXG5bMV06IGh0dHA6Ly93d3cuYnVzaW5lc3N3ZXN0c3Vzc2V4LmNvLnVrLzI1Mi13c2hsc2MuaHRtbFxcblsyXTogaHR0cDovL3d3dy5idXNpbmVzc3dlc3RzdXNzZXguY28udWsvMjYwLWxlYWRlci1ncmFudHMtMjAxNS0yMC5odG1sXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqUXVhcnRlciAyIC0gU2VwdGVtYmVyIDIwMTUqKlxcblxcbi0gLSAtXFxuXFxuVGhlIEJlYXV0aWZ1bCBPdXRkb29ycy9XZXN0IFN1c3NleCBXZWVrZW5kcyBjYW1wYWlnbiB3YXMgbGF1bmNoZWQgaW4gSnVuZSB0byBhbiBhdWRpZW5jZSBvZiBhcm91bmQgMTAwIGF0dGVuZGVlcywgbWFueSBmcm9tIGxvY2FsIGJ1c2luZXNzZXMuIEEgd2Vic2l0ZSBoYXMgYmVlbiBkZXZlbG9wZWQgdG8gc2hvd2Nhc2UgdGhvc2UgYnVzaW5lc3NlcyAoYWNjb21tb2RhdGlvbiBwcm92aWRlcnMgYW5kIGZvb2QvZHJpbmsgcHJvdmlkZXJzKSBpbiBXZXN0IFN1c3NleCB0aGF0IGFyZSB3ZWxjb21pbmcgdG8gY3ljbGlzdHMgYW5kIHdhbGtlcnMsIGFzIHdlbGwgYXMgdGhvc2UgcHJvdmlkaW5nIHNlcnZpY2VzIHRvIGN5Y2xpc3RzIGFuZCB3YWxrZXJzLiBUbyB0aGlzIGVmZmVjdCwgd2UgaGF2ZSA2MCBidXNpbmVzc2VzIGZlYXR1cmVkIG9uIHRoZSB3ZWJzaXRlIGFuZCBoYXZlIG9uLWdvaW5nIGVuZ2FnZW1lbnQgd2l0aCB0aGVzZSBidXNpbmVzc2VzIGluY2x1ZGluZyBvZmZlcmluZyBlbGlnaWJsZSBidXNpbmVzc2VzIGZyZWUgY3ljbGUgc3RhbmRzIHRvIGVuc3VyZSB0aGVpciBidXNpbmVzcyBpcyB3ZWxjb21pbmcgdG8gY3ljbGlzdHMgYW5kIHdhbGtlcnMuXFxuXFxuVGhlIFdlc3QgU3Vzc2V4IFdlZWtlbmRzIGxvY2FsIGNhbXBhaWduIGhhcyBzZWVuIDExIGxvY2FsIGJ1c2luZXNzZXMgZG9uYXRlIHByaXplcyB0byBvdXIgY29tcGV0aXRpb24sIHRoZXNlIGhhdmUgdGhlcmVmb3JlIGJlbmVmaXR0ZWQgZnJvbSBwcmVzcyBhbmQgcHJvbW90aW9uIHRocm91Z2ggY29ycG9yYXRlIGNoYW5uZWxzIGFuZCBXZXN0IFN1c3NleCB3ZWVrZW5kcyBwcm9tb3Rpb24uXFxuXFxuQXQgdGhlIGVuZCBvZiB0aGUgY2FtcGFpZ24gaW4gT2N0b2JlciB3ZSB3aWxsIGJlIHVuZGVydGFraW5nIGEgZm9sbG93IHVwIHN1cnZleSB3aXRoIHRoZSBidXNpbmVzc2VzIGZlYXR1cmVkIGluIHRoZSBjYW1wYWlnbiB0byBhc2NlcnRhaW4gd2hhdCBiZW5lZml0IHRoZXkgaGF2ZSBzZWVuIHRocm91Z2ggdGhlIGNhbXBhaWduIGFuZCBwcm9tb3Rpb24gb2YgV2VzdCBTdXNzZXggYXMgYSB2aXNpdG9yIGRlc3RpbmF0aW9uLiBUaGVpciByZXNwb25zZXMgd2lsbCBoZWxwIHVzIHNoYXBlIG91ciBmb2N1cyBmb3Igc3Vic2VxdWVudCBjYW1wYWlnbnMuXFxuXFxuV1NDQyBob3N0ZWQgdGhlIGZpcnN0IEhlYWx0aCBhbmQgTGlmZSBTY2llbmNlcyBDbHVzdGVyIGV2ZW50IHdoaWNoIHNhdyBvdmVyIDkwIHBlb3BsZSBmcm9tIGxvY2FsIGJ1c2luZXNzZXMgYXR0ZW5kIGFuZCBoZWFyIGFib3V0IHRoZSBzdXBwb3J0IHRoYXQgV1NDQyBjYW4gb2ZmZXIgYW5kIGZ1dHVyZSBpbnZlc3RtZW50IHBsYW5zIHRoZSBjb3VudHkgY291bmNpbCBpcyBhaW1pbmcgdG8gZGV2ZWxvcCBmb3IgdGhlIGNsdXN0ZXIgaXRzZWxmLiBUaGlzIHdhcyBmb2xsb3dlZCB1cCB3aXRoIHB1bGxpbmcgdG9nZXRoZXIgYSBkaXJlY3Rvcnkgb2YgYWxsIHRoZSBIZWFsdGggYW5kIExpZmUgU2NpZW5jZXMgQ2x1c3RlciBidXNpbmVzc2VzIGluIFdlc3QgU3Vzc2V4IChpbmNsdWRpbmcgYnVzaW5lc3NlcyBhbmQgaW5kdXN0cnkgc3VwcG9ydCBzZXJ2aWNlcykuIEl0IGZlYXR1cmVzIDY0IGJ1c2luZXNzZXMgdG8gZGF0ZS4gVGhlIENvdW50eSBDb3VuY2lsIGlzIGNvbW1pdHRlZCB0byBkZXZlbG9waW5nIGEgc3Ryb25nIGNsdXN0ZXIgd2l0aCB0aGVzZSBidXNpbmVzc2VzIGFuZCBhcmUgZGV2ZWxvcGluZyBwbGFucyB0byBlbmdhZ2Ugd2l0aCB0aGVtIGZ1cnRoZXIgdG8gc3VwcG9ydCB0aGVpciBuZWVkcyBhbmQgZ3Jvd3RoIHByaW9yaXRpZXMsIGFzIHdlbGwgYXMgb2ZmZXJpbmcgc3BlY2lmaWMgb3Bwb3J0dW5pdGllcyBmb3Igc3VwcG9ydCBhbmQgYWR2aWNlIHRhaWxvcmVkIHRvIHRoZSBzZWN0b3IuIEFzIHBhcnQgb2YgdGhpcyBkZXRhaWxlZCBjb252ZXJzYXRpb25zL21lZXRpbmdzIGhhdmUgdGFrZW4gcGxhY2UgYWNyb3NzIHRoZSBsYXN0IGZldyBtb250aHMgd2l0aCBhIG51bWJlciBvZiB0aGVzZSBsb2NhbCBidXNpbmVzc2VzIHdoaWNoIGhhcyBoZWxwZWQgdG8gc2hhcGUgdGhlIHRoaW5raW5nIGFib3V0IGRldmVsb3BpbmcgdGhlIHNlY3RvciBmdXJ0aGVyLlxcblxcbjY5IG9yZ2FuaXNhdGlvbnMgYXBwbGllZCBmb3IgYnVzaW5lc3MgZ3JhbnQgZnVuZGluZywgd2l0aCAyMyBiZWluZyBzaG9ydGxpc3RlZCBmb3IgdGhlIHBhbmVsLCBhbmQgMTMgc3VjY2Vzc2Z1bGx5IHNlbGVjdGVkLiBGZWVkYmFjayBhbmQgYWR2aWNlIHdhcyBvZmZlcmVkIHRvIHRob3NlIHVuc3VjY2Vzc2Z1bCBvcmdhbmlzYXRpb25zIGFuZCAyNyB0b29rIHRoaXMgdXAuIDggZnVydGhlciBwcm9qZWN0cyBoYXZlIGJlZW4gYXBwcm92ZWQgZm9yIHRoZSBncm93dGggZ3JhbnRzIGFzIHBhcnQgb2YgdGhlIEJ1c2luZXNzIEZpbmFuY2UgUHJvZ3JhbW1lLCBmdW5kZWQgYnkgdGhlIExvY2FsIEdyb3d0aCBGdW5kLlxcblxcblRoZSBHYXR3aWNrIERpYW1vbmQgTWVldCB0aGUgQnV5ZXIgZXZlbnQgd2FzIGhlbGQgaW4gSnVseSBhdCB0aGUgQXJvcmEgSG90ZWwsIENyYXdsZXksIGdpdmluZyBzbWFsbCBhbmQgbWVkaXVtIHNpemVkIGVudGVycHJpc2VzIHRoZSBvcHBvcnR1bml0eSB0byBtZWV0IGJ1eWVycyBmcm9tIGxvY2FsLCBsYXJnZSBwdWJsaWMgYW5kIHByaXZhdGUgb3JnYW5pc2F0aW9ucy4gVGhyZWUgaW50cm9kdWN0b3J5IHdvcmtzaG9wcyB3ZXJlIGhlbGQgYSByb3VuZCBwcm9jdXJlbWVudCBpc3N1ZXMgd2hpY2ggd2VyZSBhdHRlbmRlZCBieSA1NyBXZXN0IFN1c3NleCBiYXNlZCBidXNpbmVzc2VzLiBUaGUgZXZlbnQgb3JnYW5pc2VycyB3aWxsIGJlIHJlcG9ydGluZyBvbiB0aGUgbGV2ZWwgb2YgYnVzaW5lc3MgdW5kZXJ0YWtlbiBhdCB0aGUgZXZlbnQg4oCTIHRoaXMgd2lsbCBiZSBhdmFpbGFibGUgbGF0ZXIgaW4gU2VwdGVtYmVyLlxcblxcblByZXBhcmF0aW9uIGlzIGNvbnRpbnVpbmcgZm9yIHRoZSBsYXVuY2ggb2YgdGhlIExFQURFUiBwcm9ncmFtbWUgd2hpY2ggaGFzIGJlZW4gYXdhcmRlZCBmdW5kaW5nIHRvIHN1cHBvcnQgdGhlIHJ1cmFsIGVjb25vbXkg4oCTIGl0IGlzIGFudGljaXBhdGVkIHRoYXQgTEVBREVSIHdpbGwgb3BlbiBmb3IgYXBwbGljYXRpb25zIGluIE9jdG9iZXIuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIkxFQURFUiBncmFudHMgY2FuIGJlIHVzZWQgZm9yIHByb2plY3RzIHRoYXQgd2lsbCBzdXBwb3J0OlxcblxcbiogaW5jcmVhc2luZyBmYXJtIHByb2R1Y3Rpdml0eVxcblxcbiogc21hbGwgYnVzaW5lc3MgZ3Jvd3RoIGFuZCBmYXJtIGRpdmVyc2lmaWNhdGlvblxcblxcbiogcnVyYWwgdG91cmlzbVxcblxcbiogcnVyYWwgc2VydmljZXNcXG5cXG4qIGN1bHR1cmFsIGFuZCBoZXJpdGFnZSBhY3Rpdml0eVxcblxcbiogaW5jcmVhc2luZyBmb3Jlc3RyeSBwcm9kdWN0aXZpdHlcXG5cXG5Gb3IgbW9yZSBkZXRhaWxzIHNlZTpcXG5cXG5baHR0cHM6Ly93d3cud2VzdHN1c3NleC5nb3YudWsvYnVzaW5lc3MtYW5kLWNvbnN1bWVycy9zdGFydC1vci1ncm93LXlvdXItYnVzaW5lc3MvcnVyYWwtZGV2ZWxvcG1lbnQtcHJvZ3JhbW1lLWxlYWRlci1mdW5kaW5nL11bMF1cXG5cXG5bMF06IGh0dHBzOi8vd3d3Lndlc3RzdXNzZXguZ292LnVrL2J1c2luZXNzLWFuZC1jb25zdW1lcnMvc3RhcnQtb3ItZ3Jvdy15b3VyLWJ1c2luZXNzL3J1cmFsLWRldmVsb3BtZW50LXByb2dyYW1tZS1sZWFkZXItZnVuZGluZy9cIn1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlN1cHBvcnRpbmcgYnVzaW5lc3NlcyBhY3Jvc3MgV2VzdCBTdXNzZXggd2l0aCBXU0NDLWxlZCBhbmQgYnVzaW5lc3Mgc3VwcG9ydCBpbml0aWF0aXZlcy4gIFwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIkFpbSB0byBzdXBwb3J0IGF0IGxlYXN0IDMwMCBidXNpbmVzc2VzLCB0aHJvdWdoIGEgcmFuZ2Ugb2YgbmV0d29ya2luZyBpbml0aWF0aXZlc1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDE2LTA0LTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMDMtMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImJ1c2luZXNzZXMiLCJ0YXJnZXQiOjMwMCwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiIycmplLTc1c3EifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOjMsXCJ5ZWFyXCI6MjAxNn0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6MixcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJpbmNyZWFzZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fX0sXCJzdGFydFwiOlwiMjAxNC0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNC0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIlRoZSBudW1iZXIgb2YgYnVzaW5lc3NlcyBzdXBwb3J0ZWQgYnkgV1NDQyBsZWQgYW5kIHN1cHBvcnRlZCBidXNpbmVzcyBzdXBwb3J0IGluaXRpYXRpdmVzXCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOnRydWV9fSJ9LCJjcmVhdGVkX2F0IjoiMjAxNy0wOC0xMFQxMDo0MDo0Mi45NjlaIiwidmVyc2lvbiI6IjIwMTctMDgtMTBUMTA6NDA6NDIuOTY5WiIsInRhcmdldF90b2xlcmFuY2UiOjMwLCJpZCI6ImE0NjctNzloZyJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI1NzRyLWg1bmMiLCJjcmVhdGVkX2F0IjoiMjAxNy0wOC0xMFQxMDo0MDo0My4wNjZaIiwidmVyc2lvbiI6IjIwMTctMDgtMTBUMTA6NDA6NDMuMDY2WiIsImNyZWF0ZWRfYnkiOiI3OTdpLTZyOWcifX0=
      eyJzdGF0dXMiOjQwNCwiZGF0YSI6eyJjb2RlIjoibm90X2ZvdW5kIiwiZXJyb3IiOnRydWUsIm1lc3NhZ2UiOiJVc2VyIG5vdCBmb3VuZCJ9fQ==
      eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoic3VtIn0sImRhdGVfY29sdW1uIjoiZGF0ZSIsInZlcnNpb24iOiIyMDE3LTA4LTEwVDEwOjQwOjQyLjkxNVoiLCJpZCI6IjJyamUtNzVzcSIsImNvbHVtbjEiOiJidXNpbmVzc2VzX3N1cHBvcnRlZCIsImRhdGFzZXQiOiJ3ZHphLWdudmQiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIndkemEtZ252ZFwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLndlc3RzdXNzZXguZ292LnVrIiwiY3JlYXRlZF9hdCI6IjIwMTctMDgtMTBUMTA6NDA6NDIuOTE1WiJ9fQ==
      eyJzdGF0dXMiOjIwMCwiZGF0YSI6W3siaWQiOjE1MSwibmFtZSI6IkdvdlN0YXQiLCJjaGlsZENvdW50IjowLCJkZWZhdWx0Ijp0cnVlLCJkb21haW5DTmFtZSI6InBlcmZvcm1hbmNlLndlc3RzdXNzZXguZ292LnVrIiwidHlwZSI6Imdvdl9zdGF0IiwidXBkYXRlZEF0IjoxNTA5NDg1MzI4LCJwcm9wZXJ0aWVzIjpbeyJuYW1lIjoic3VwcHJlc3NfZ292c3RhdCIsInZhbHVlIjpbIi9kYXNoYm9hcmQtZWNvbm9teS10ZXN0IiwiL2Rhc2hib2FyZC1jb21tdW5pdGllcy1hbmQtcHVibGljLXByb3RlY3Rpb24iXX1dfV19
      eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6IndkemEtZ252ZCIsIm5hbWUiOiJCdXNpbmVzcyBTdXBwb3J0IGFuZCBHcmFudHMiLCJhdmVyYWdlUmF0aW5nIjowLCJjcmVhdGVkQXQiOjE0NTk0MTI4OTMsImRpc3BsYXlUeXBlIjoidGFibGUiLCJkb21haW5DTmFtZSI6InBlcmZvcm1hbmNlLndlc3RzdXNzZXguZ292LnVrIiwiZG93bmxvYWRDb3VudCI6MjUsImhpZGVGcm9tQ2F0YWxvZyI6ZmFsc2UsImhpZGVGcm9tRGF0YUpzb24iOmZhbHNlLCJpbmRleFVwZGF0ZWRBdCI6MTUyNDA2Mjg0NiwibmV3QmFja2VuZCI6dHJ1ZSwibnVtYmVyT2ZDb21tZW50cyI6MCwib2lkIjo2NTY3NTksInByb3ZlbmFuY2UiOiJvZmZpY2lhbCIsInB1YmxpY2F0aW9uQXBwZW5kRW5hYmxlZCI6ZmFsc2UsInB1YmxpY2F0aW9uRGF0ZSI6MTUyNDA2Mjg0MSwicHVibGljYXRpb25Hcm91cCI6MzYyODksInB1YmxpY2F0aW9uU3RhZ2UiOiJwdWJsaXNoZWQiLCJyb3dzVXBkYXRlZEF0IjoxNTI0MDYyODM4LCJyb3dzVXBkYXRlZEJ5IjoiNzk3aS02cjlnIiwidGFibGVJZCI6NDIyOTIwLCJ0b3RhbFRpbWVzUmF0ZWQiOjAsInZpZXdDb3VudCI6NzIsInZpZXdMYXN0TW9kaWZpZWQiOjE1MjQwNjI4NDEsInZpZXdUeXBlIjoidGFidWxhciIsImNvbHVtbnMiOlt7ImlkIjo1OTMxNDA1LCJuYW1lIjoiRGF0ZSIsImRhdGFUeXBlTmFtZSI6ImNhbGVuZGFyX2RhdGUiLCJmaWVsZE5hbWUiOiJkYXRlIiwicG9zaXRpb24iOjEsInJlbmRlclR5cGVOYW1lIjoiY2FsZW5kYXJfZGF0ZSIsInRhYmxlQ29sdW1uSWQiOjM5MjY2Niwid2lkdGgiOjEwMCwiY2FjaGVkQ29udGVudHMiOnsibGFyZ2VzdCI6IjIwMTgtMDMtMThUMDA6MDA6MDAiLCJub25fbnVsbCI6MTAsIm51bGwiOjAsInRvcCI6W3siaXRlbSI6IjIwMTYtMDQtMDFUMDA6MDA6MDAiLCJjb3VudCI6MjB9LHsiaXRlbSI6IjIwMTYtMDYtMDFUMDA6MDA6MDAiLCJjb3VudCI6MTl9LHsiaXRlbSI6IjIwMTYtMDktMDFUMDA6MDA6MDAiLCJjb3VudCI6MTh9LHsiaXRlbSI6IjIwMTYtMTItMDFUMDA6MDA6MDAiLCJjb3VudCI6MTd9LHsiaXRlbSI6IjIwMTctMDMtMDFUMDA6MDA6MDAiLCJjb3VudCI6MTZ9LHsiaXRlbSI6IjIwMTctMDQtMTdUMDA6MDA6MDAiLCJjb3VudCI6MTV9LHsiaXRlbSI6IjIwMTctMDYtMTdUMDA6MDA6MDAiLCJjb3VudCI6MTR9LHsiaXRlbSI6IjIwMTctMDktMTdUMDA6MDA6MDAiLCJjb3VudCI6MTN9LHsiaXRlbSI6IjIwMTctMTItMDFUMDA6MDA6MDAiLCJjb3VudCI6MTJ9LHsiaXRlbSI6IjIwMTgtMDMtMThUMDA6MDA6MDAiLCJjb3VudCI6MTF9XSwic21hbGxlc3QiOiIyMDE2LTA0LTAxVDAwOjAwOjAwIn0sImZvcm1hdCI6eyJ2aWV3IjoiZGF0ZV9tb250aHkiLCJhbGlnbiI6ImxlZnQifX0seyJpZCI6NTkzMTQwNiwibmFtZSI6IkJ1c2luZXNzZXMgU3VwcG9ydGVkIiwiZGF0YVR5cGVOYW1lIjoibnVtYmVyIiwiZmllbGROYW1lIjoiYnVzaW5lc3Nlc19zdXBwb3J0ZWQiLCJwb3NpdGlvbiI6MiwicmVuZGVyVHlwZU5hbWUiOiJudW1iZXIiLCJ0YWJsZUNvbHVtbklkIjozOTI2ODcsIndpZHRoIjoxMDAsImNhY2hlZENvbnRlbnRzIjp7Imxhcmdlc3QiOiIxODMiLCJub25fbnVsbCI6MTAsImF2ZXJhZ2UiOiI2Ny4xIiwibnVsbCI6MCwidG9wIjpbeyJpdGVtIjoiMCIsImNvdW50IjoyMH0seyJpdGVtIjoiMTM1IiwiY291bnQiOjE5fSx7Iml0ZW0iOiIzNSIsImNvdW50IjoxOH0seyJpdGVtIjoiMTExIiwiY291bnQiOjE3fSx7Iml0ZW0iOiI3MCIsImNvdW50IjoxNn0seyJpdGVtIjoiMTciLCJjb3VudCI6MTV9LHsiaXRlbSI6IjE4MyIsImNvdW50IjoxNH0seyJpdGVtIjoiODUiLCJjb3VudCI6MTN9XSwic21hbGxlc3QiOiIwIiwic3VtIjoiNjcxIn0sImZvcm1hdCI6e319XSwiZ3JhbnRzIjpbeyJpbmhlcml0ZWQiOmZhbHNlLCJ0eXBlIjoidmlld2VyIiwiZmxhZ3MiOlsicHVibGljIl19XSwibWV0YWRhdGEiOnsianNvblF1ZXJ5Ijp7Im9yZGVyIjpbeyJhc2NlbmRpbmciOnRydWUsImNvbHVtbkZpZWxkTmFtZSI6ImRhdGUifV19LCJyb3dMYWJlbCI6IkRhdGUsIEJ1c2luZXNzZXMgU3VwcG9ydGVkIiwiYXZhaWxhYmxlRGlzcGxheVR5cGVzIjpbInRhYmxlIiwiZmF0cm93IiwicGFnZSJdLCJyZW5kZXJUeXBlQ29uZmlnIjp7InZpc2libGUiOnsidGFibGUiOnRydWV9fX0sIm93bmVyIjp7ImlkIjoiNzk3aS02cjlnIiwiZGlzcGxheU5hbWUiOiJUcmFjeS5Nb3JsZXkiLCJwcm9maWxlSW1hZ2VVcmxMYXJnZSI6Ii9hcGkvdXNlcnMvNzk3aS02cjlnL3Byb2ZpbGVfaW1hZ2VzL0xBUkdFIiwicHJvZmlsZUltYWdlVXJsTWVkaXVtIjoiL2FwaS91c2Vycy83OTdpLTZyOWcvcHJvZmlsZV9pbWFnZXMvVEhVTUIiLCJwcm9maWxlSW1hZ2VVcmxTbWFsbCI6Ii9hcGkvdXNlcnMvNzk3aS02cjlnL3Byb2ZpbGVfaW1hZ2VzL1RJTlkiLCJzY3JlZW5OYW1lIjoiVHJhY3kuTW9ybGV5IiwidHlwZSI6ImludGVyYWN0aXZlIiwiZmxhZ3MiOlsibWF5QmVTdG9yaWVzQ29Pd25lciJdfSwicXVlcnkiOnsib3JkZXJCeXMiOlt7ImFzY2VuZGluZyI6dHJ1ZSwiZXhwcmVzc2lvbiI6eyJjb2x1bW5JZCI6NTkzMTQwNSwidHlwZSI6ImNvbHVtbiJ9fV19LCJyaWdodHMiOlsicmVhZCJdLCJ0YWJsZUF1dGhvciI6eyJpZCI6Ijc5N2ktNnI5ZyIsImRpc3BsYXlOYW1lIjoiVHJhY3kuTW9ybGV5IiwicHJvZmlsZUltYWdlVXJsTGFyZ2UiOiIvYXBpL3VzZXJzLzc5N2ktNnI5Zy9wcm9maWxlX2ltYWdlcy9MQVJHRSIsInByb2ZpbGVJbWFnZVVybE1lZGl1bSI6Ii9hcGkvdXNlcnMvNzk3aS02cjlnL3Byb2ZpbGVfaW1hZ2VzL1RIVU1CIiwicHJvZmlsZUltYWdlVXJsU21hbGwiOiIvYXBpL3VzZXJzLzc5N2ktNnI5Zy9wcm9maWxlX2ltYWdlcy9USU5ZIiwic2NyZWVuTmFtZSI6IlRyYWN5Lk1vcmxleSIsInR5cGUiOiJpbnRlcmFjdGl2ZSIsImZsYWdzIjpbIm1heUJlU3Rvcmllc0NvT3duZXIiXX0sImZsYWdzIjpbImRlZmF1bHQiLCJyZXN0b3JhYmxlIiwicmVzdG9yZVBvc3NpYmxlRm9yVHlwZSJdfX0=