Best Egg Personal Loans Review

By Mentor Staff | Edited By Mentor Staff

Updated On January 22, 2022

Editorial Note: This content is based solely on the author's opinions and is not provided, approved, endorsed or reviewed by any financial institution or partner.

How do we make money? The products featured on this website are from our partners who compensate us. This may impact which companies we review, the products we evaluate, and where and how a product appears on a page. We receive compensation from a partner when you apply for and receive a product through Mentor. This helps us to support our website, offer free content, tools and calculators, and continue to be one of the leading sources on personal finance.

Company Overview: Best Egg

Best Egg personal loans are the brain child of Marlette Funding, a financial services technology company that is simplifying how consumers borrow money. Its team of consumer finance leaders developed and power the Best Egg personal loan, which can be used to consolidate debt and to finance purchases or services like home improvement or medical expenses. Founded in 2014 and based in Delaware, Marlette has provided technology and services for over $6 billion in loans and served nearly 300,000 customers. Best Egg personal loans are issued by Cross River Bank.

Best Egg Personal Loan Overview

Best Egg offers attractive rates and terms compared with other top lenders in the personal loan industry:

PGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLTEiPgoJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJT3ZlcnZpZXcKCQk8L2gzPgoJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWNvbnRlbnQiPgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQlNaW5pbXVtIENyZWRpdCBTY29yZToKCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21pbmltdW1fY3JlZGl0X3Njb3JlJyApOyA/PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQlNaW5pbXVtIExvYW4gQW1vdW50OgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9sb2FuX2Ftb3VudCcgKTsgPz4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCUxvYW4gVGVybXM6CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2FuX3Rlcm1zJyApOyA/PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQlNaW5pbXVtIEluY29tZToKCQkJCTwvZGl2PgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21pbmltdW1faW5jb21lJyApOyA/PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCURldGFpbHMKCQk8L2gzPgoJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWNvbnRlbnQiPgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQlPcmlnaW5hdGlvbiBGZWVzOgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfb3JpZ2luYXRpb25fZmVlcycgKTsgPz4KCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJTGF0ZSBGZWVzOgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQlQcmVwYXltZW50IFBlbmFsdHk6CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9wcmVwYXltZW50X3BlbmFsdHknICk7ID8+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCVNvZnQgQ3JlZGl0IENoZWNrOgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfc29mdF9jcmVkaXRfY2hlY2snICk7ID8+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9kaXY+
PD9waHAKCgkkYXJncyA9IGFycmF5KAogICAgICAgICdwb3N0X3R5cGUnID0+ICdwbF9sZW5kZXInLAoJCSduYW1lJyA9PiAnYmVzdC1lZ2cnLAoJCSdtZXRhX3F1ZXJ5JyA9PiBhcnJheSgKCQkJCWFycmF5KAoJCQkJCQkna2V5JyA9PiAncGxfbGVuZGVyX3Zpc2libGUnLAoJCQkJCQkndmFsdWUnID0+ICcxJywKCQkJCQkJJ2NvbXBhcmUnID0+ICc9JwoJCQkJCSkKCQkJKSwKICAgICk7CgoJJGxvb3AgPSBuZXcgV1BfUXVlcnkoICRhcmdzICk7CgoJd2hpbGUgKCAkbG9vcCAtPiBoYXZlX3Bvc3RzKCkgKSB7CgkJCgkJJGxvb3AgLT4gdGhlX3Bvc3QoKTsKCQkKCQllY2hvICc8YSBkYXRhLWV2ZW50LWxhYmVsPSJQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCkgLiAnIiBocmVmPSInIC4gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApIC4gJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbiI+R2V0IE15IFJhdGU8L2E+JzsKCQkKCQllY2hvICc8cCBjbGFzcz0ic2luZ2xlLWxlbmRlci1idXR0b24taGVscGVyLXRleHQiPiogQ2hlY2tpbmcgeW91ciByYXRlIGRvZXMgbm90IGFmZmVjdCB5b3VyIGNyZWRpdCBzY29yZS48L3A+JzsKCQkKCX0KCgl3cF9yZXNldF9wb3N0ZGF0YSgpOwoKPz4=

Here are some of the reasons that Best Egg borrowers love Best Egg personal loans:

  • Easy Online Application: You can apply for a Best Egg personal loan completely online.
  • Quick Disbursement: Funds are disbursed directly to your bank account in as soon as 1 business day, upon approval and verification.
  • Customer Service: Best Egg offers live customer support 6 days a week

Eligibility Criteria

To apply for a Best Egg personal loan, you need to meet the following eligibility criteria:

Requirements To Apply For Best Egg Personal loan

Minimum Age: At least age of majority in your state

Citizenship/Residency: U.S. citizen or permanent resident

Loan eligibility depends on a number of additional factors, which may include your credit profile, income and total debt payments.

Bottom Line: Is Best Egg right for you?

Best Egg has a top reputation for personal loans.

You can use a Best Egg personal loan for just about any purpose, including:

  • Pay off credit cards
  • Debt consolidation
  • Personal loan refinancing
  • Home improvement
  • Other major purchase
  • Medical expenses
  • Moving or relocation expenses
  • Vacation
  • Taxes

If you have a good credit score, stable employment and want funds fast, then a Best Egg personal loan may be right for you. You can use a Best Egg personal loan for any purpose such as to pay off credit card debt, medical expenses, home improvement, engagement ring, wedding, honeymoon or new baby expenses.

Next Steps: How To Apply To Best Egg

You can apply for a Best Egg personal loan in 3 easy steps.

Step 1: Check your personalized personal loan rate in just 2 minutes.

Step 2: Complete application and upload documents.

Step 3: Accept loan terms and get funded.

The good news is that you can check your new personal loan rate online with Best Egg before you complete the full application. This way, you’ll know whether you can be approved for Best Egg personal loan. Therefore, Best Egg will provide you with an estimated personal loan rate. The pre-approval is only a soft credit pull so there is no impact to your credit.

Funding for your personal loan is quick and can occur within one day.

Applying is super easy – get your personalized rate in 2 minutes

PD9waHAKCgkkYXJncyA9IGFycmF5KAogICAgICAgICdwb3N0X3R5cGUnID0+ICdwbF9sZW5kZXInLAoJCSduYW1lJyA9PiAnYmVzdC1lZ2cnLAoJCSdtZXRhX3F1ZXJ5JyA9PiBhcnJheSgKCQkJCWFycmF5KAoJCQkJCQkna2V5JyA9PiAncGxfbGVuZGVyX3Zpc2libGUnLAoJCQkJCQkndmFsdWUnID0+ICcxJywKCQkJCQkJJ2NvbXBhcmUnID0+ICc9JwoJCQkJCSkKCQkJKSwKICAgICk7CgoJJGxvb3AgPSBuZXcgV1BfUXVlcnkoICRhcmdzICk7CgoJd2hpbGUgKCAkbG9vcCAtPiBoYXZlX3Bvc3RzKCkgKSB7CgkJCgkJJGxvb3AgLT4gdGhlX3Bvc3QoKTsKCQkKCQllY2hvICc8YSBkYXRhLWV2ZW50LWxhYmVsPSJQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCkgLiAnIiBocmVmPSInIC4gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApIC4gJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbiI+R2V0IE15IFJhdGU8L2E+JzsKCQkKCQllY2hvICc8cCBjbGFzcz0ic2luZ2xlLWxlbmRlci1idXR0b24taGVscGVyLXRleHQiPiogQ2hlY2tpbmcgeW91ciByYXRlIGRvZXMgbm90IGFmZmVjdCB5b3VyIGNyZWRpdCBzY29yZS48L3A+JzsKCQkKCX0KCgl3cF9yZXNldF9wb3N0ZGF0YSgpOwoKPz4=

Top Picks For Personal Loans

PD9waHAKCWVjaG8gZGF0ZSgnRicpIC4gIiAiIC4gZGF0ZSgiWSIpOwo/Pg==

PGRpdiBjbGFzcz0ibGVuZGVycy10YWJsZS1oZWFkZXItcm93LXdyYXBwZXIiPgoJPGRpdiBjbGFzcz0ibGVuZGVycy10YWJsZS1oZWFkZXItcm93Ij4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItbG9nby1oZWFkZXIgbGVuZGVycy10YWJsZS1oZWFkZXItY2VsbCI+CgkJPC9kaXY+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWFwci1oZWFkZXIgbGVuZGVycy10YWJsZS1oZWFkZXItY2VsbCI+CgkJCUFQUiA8c3BhbiBjbGFzcz0ibW9yZS1pbmZvLXRvb2x0aXAtdHJpZ2dlciI+PzxzcGFuIGNsYXNzPSJtb3JlLWluZm8tdG9vbHRpcC10ZXh0Ij5BUFIsIG9yIEFubnVhbCBQZXJjZW50YWdlIFJhdGUsIGlzIHRoZSBwcmljZSB5b3UgcGF5IHRvIGJvcnJvdyBtb25leS4gVmFyaWFibGUgQVBSIG1lYW5zIHRoYXQgeW91ciBpbnRlcmVzdCBjYW4gZmx1Y3R1YXRlIG92ZXIgdGltZSwgd2hpY2ggY2FuIGluY3JlYXNlIG9yIGRlY3JlYXNlIHlvdXIgbW9udGhseSBwYXltZW50LiBGaXhlZCBBUFIgbWVhbnMgdGhhdCB5b3VyIGludGVyZXN0IHdpbGwgYWx3YXlzIHN0YXkgdGhlIHNhbWUuIEV2ZW4gaWYgaW50ZXJlc3QgcmF0ZXMgY2hhbmdlLCB5b3VyIGludGVyZXN0IHJhdGUgb3IgbW9udGhseSBwYXltZW50IHdpbGwgbm90LiBBUFIgaW5jbHVkZXMgYSAwLjI1JSBkaXNjb3VudCB3aGVuIHlvdSBlbnJvbGwgaW4gYXV0b3BheS48L3NwYW4+PC9zcGFuPgoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLWhlYWRlciBsZW5kZXJzLXRhYmxlLWhlYWRlci1jZWxsIj4KCQk8L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4=
PGRpdiBjbGFzcz0ibGVuZGVyLXJvdy13cmFwcGVyIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1wcmltYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28td3JhcHBlciBsZW5kZXItcHJpbWFyeS1yb3ctY2VsbCI+CgkJCTxhIGRhdGEtZXZlbnQtbGFiZWw9Ijw/cGhwIGVjaG8gJ1BMIC0gJyAuIGdldF90aGVfdGl0bGUoKTsgPz4iIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItbG9nby1saW5rIj4KCQkJCTxpbWcgc3JjPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2dvJyApWyd1cmwnXTsgPz4iIGFsdD0iPD9waHAgdGhlX3RpdGxlKCk7ID8+IiBjbGFzcz0ibGVuZGVyLWxvZ28iIC8+CgkJCTwvYT4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByIGxlbmRlci1wcmltYXJ5LXJvdy1jZWxsIj4KCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfYXByX2xvd2VyX2xpbWl0JyApOyA/PiUgLSA8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hcHJfdXBwZXJfbGltaXQnICk7ID8+JQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLXdyYXBwZXIgbGVuZGVyLXByaW1hcnktcm93LWNlbGwiPgoJCQk8YSBkYXRhLWV2ZW50LWxhYmVsPSI8P3BocCBlY2hvICdQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCk7ID8+IiBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hZmZpbGlhdGVfbGluaycgKTsgPz4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiBjbGFzcz0ibGVuZGVyLWFmZmlsaWF0ZS1idXR0b24iPgoJCQkJR2V0IE15IFJhdGUKCQkJPC9hPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItc2Vjb25kYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28tc2Vjb25kYXJ5LXJvdy1jZWxsIGxlbmRlci1zZWNvbmRhcnktcm93LWNlbGwiPgoJCQk8cCBjbGFzcz0ibGVuZGVyLXZpZXctZGV0YWlscy10cmlnZ2VyIj4KCQkJCTxzcGFuIGNsYXNzPSJsZW5kZXItdmlldy1kZXRhaWxzLWxpbmsgbGVuZGVyLXZpZXctZGV0YWlscy1saW5rLTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJCQkJPHNwYW4gY2xhc3M9ImxlbmRlci12aWV3LWRldGFpbHMtbGluay1hcnJvdyI+PC9zcGFuPlZpZXcgRGV0YWlscwoJCQkJPHNwYW4+CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByLXNlY29uZGFyeS1yb3ctY2VsbCBsZW5kZXItc2Vjb25kYXJ5LXJvdy1jZWxsIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1zZWNvbmRhcnktcm93LWNlbGwgbGVuZGVyLXNlY29uZGFyeS1yb3ctY2VsbCI+CgkJCTxwIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1oZWxwZXItdGV4dCI+CgkJCQk8P3BocAoJCQkJCWlmKCBzdHJfZW5kc193aXRoKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICksICdzJyApICkKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCcgd2Vic2l0ZSc7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCdzIHdlYnNpdGUnOwoJCQkJCX0KCQkJCT8+CgkJCTwvcD4KCQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdyBsZW5kZXItY29sbGFwc2libGUtcm93LTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtMSI+CgkJCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCQkJT3ZlcnZpZXcKCQkJCTwvaDM+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC1jb250ZW50Ij4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWluaW11bSBDcmVkaXQgU2NvcmU6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2NyZWRpdF9zY29yZScgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gTG9hbiBBbW91bnQ6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2xvYW5fYW1vdW50JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJCQlMb2FuIFRlcm1zOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbG9hbl90ZXJtcycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gSW5jb21lOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9pbmNvbWUnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQkJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJCQlEZXRhaWxzCgkJCQk8L2gzPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtY29udGVudCI+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU9yaWdpbmF0aW9uIEZlZXM6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9vcmlnaW5hdGlvbl9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTGF0ZSBGZWVzOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJUHJlcGF5bWVudCBQZW5hbHR5OgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfcHJlcGF5bWVudF9wZW5hbHR5JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJU29mdCBDcmVkaXQgQ2hlY2s6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9zb2Z0X2NyZWRpdF9jaGVjaycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgaWYgKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfcmV2aWV3X3VybCcgKSApOiA/PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXJldmlldyI+CgkJCQk8cCBjbGFzcz0ibGVuZGVyLXJldmlldy1oZWFkaW5nIj4KCQkJCQlSZXZpZXc6CgkJCQk8L3A+CgkJCQk8cD4KCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9yZXZpZXdfdXJsJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsZW5kZXItcmV2aWV3LWxpbmsiPjw/cGhwIHRoZV90aXRsZSgpOyA/PiBQZXJzb25hbCBMb2FuIFJldmlldzwvYT4KCQkJCTwvcD4KCQkJPC9kaXY+CgkJPD9waHAgZW5kaWY7ID8+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwCgllY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCSRsZW5kZXJfdmlld19kZXRhaWxzX2xpbmtfanNfdmFyID0gJ2xlbmRlcl92aWV3X2RldGFpbHNfbGlua18nIC4gZ2V0X3RoZV9pZCgpOwoJJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyID0gJ2xlbmRlcl9jb2xsYXBzaWJsZV9yb3dfJyAuIGdldF90aGVfaWQoKTsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibGVuZGVyLXZpZXctZGV0YWlscy1saW5rLScgLiBnZXRfdGhlX2lkKCkgLiAnIilbMF07JzsKCWVjaG8gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7JzsKCWVjaG8gJ3RoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7JzsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyIC4gJyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctJyAuIGdldF90aGVfaWQoKSAuICciKVswXTsnOwoJZWNobyAnaWYgKCcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCkgeyc7CgllY2hvICRsZW5kZXJfY29sbGFwc2libGVfcm93X2pzX3ZhciAuICcuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsnOwoJZWNobyAnfSBlbHNlIHsnOwoJZWNobyAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCA9ICcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnNjcm9sbEhlaWdodCArICJweCI7JzsKCWVjaG8gJ30nOwoJZWNobyAnfSk7JzsKCWVjaG8gJzwvc2NyaXB0Pic7Cj8+ PGRpdiBjbGFzcz0ibGVuZGVyLXJvdy13cmFwcGVyIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1wcmltYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28td3JhcHBlciBsZW5kZXItcHJpbWFyeS1yb3ctY2VsbCI+CgkJCTxhIGRhdGEtZXZlbnQtbGFiZWw9Ijw/cGhwIGVjaG8gJ1BMIC0gJyAuIGdldF90aGVfdGl0bGUoKTsgPz4iIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItbG9nby1saW5rIj4KCQkJCTxpbWcgc3JjPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2dvJyApWyd1cmwnXTsgPz4iIGFsdD0iPD9waHAgdGhlX3RpdGxlKCk7ID8+IiBjbGFzcz0ibGVuZGVyLWxvZ28iIC8+CgkJCTwvYT4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByIGxlbmRlci1wcmltYXJ5LXJvdy1jZWxsIj4KCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfYXByX2xvd2VyX2xpbWl0JyApOyA/PiUgLSA8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hcHJfdXBwZXJfbGltaXQnICk7ID8+JQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLXdyYXBwZXIgbGVuZGVyLXByaW1hcnktcm93LWNlbGwiPgoJCQk8YSBkYXRhLWV2ZW50LWxhYmVsPSI8P3BocCBlY2hvICdQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCk7ID8+IiBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hZmZpbGlhdGVfbGluaycgKTsgPz4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiBjbGFzcz0ibGVuZGVyLWFmZmlsaWF0ZS1idXR0b24iPgoJCQkJR2V0IE15IFJhdGUKCQkJPC9hPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItc2Vjb25kYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28tc2Vjb25kYXJ5LXJvdy1jZWxsIGxlbmRlci1zZWNvbmRhcnktcm93LWNlbGwiPgoJCQk8cCBjbGFzcz0ibGVuZGVyLXZpZXctZGV0YWlscy10cmlnZ2VyIj4KCQkJCTxzcGFuIGNsYXNzPSJsZW5kZXItdmlldy1kZXRhaWxzLWxpbmsgbGVuZGVyLXZpZXctZGV0YWlscy1saW5rLTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJCQkJPHNwYW4gY2xhc3M9ImxlbmRlci12aWV3LWRldGFpbHMtbGluay1hcnJvdyI+PC9zcGFuPlZpZXcgRGV0YWlscwoJCQkJPHNwYW4+CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByLXNlY29uZGFyeS1yb3ctY2VsbCBsZW5kZXItc2Vjb25kYXJ5LXJvdy1jZWxsIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1zZWNvbmRhcnktcm93LWNlbGwgbGVuZGVyLXNlY29uZGFyeS1yb3ctY2VsbCI+CgkJCTxwIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1oZWxwZXItdGV4dCI+CgkJCQk8P3BocAoJCQkJCWlmKCBzdHJfZW5kc193aXRoKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICksICdzJyApICkKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCcgd2Vic2l0ZSc7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCdzIHdlYnNpdGUnOwoJCQkJCX0KCQkJCT8+CgkJCTwvcD4KCQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdyBsZW5kZXItY29sbGFwc2libGUtcm93LTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtMSI+CgkJCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCQkJT3ZlcnZpZXcKCQkJCTwvaDM+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC1jb250ZW50Ij4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWluaW11bSBDcmVkaXQgU2NvcmU6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2NyZWRpdF9zY29yZScgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gTG9hbiBBbW91bnQ6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2xvYW5fYW1vdW50JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJCQlMb2FuIFRlcm1zOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbG9hbl90ZXJtcycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gSW5jb21lOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9pbmNvbWUnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQkJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJCQlEZXRhaWxzCgkJCQk8L2gzPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtY29udGVudCI+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU9yaWdpbmF0aW9uIEZlZXM6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9vcmlnaW5hdGlvbl9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTGF0ZSBGZWVzOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJUHJlcGF5bWVudCBQZW5hbHR5OgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfcHJlcGF5bWVudF9wZW5hbHR5JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJU29mdCBDcmVkaXQgQ2hlY2s6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9zb2Z0X2NyZWRpdF9jaGVjaycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgaWYgKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfcmV2aWV3X3VybCcgKSApOiA/PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXJldmlldyI+CgkJCQk8cCBjbGFzcz0ibGVuZGVyLXJldmlldy1oZWFkaW5nIj4KCQkJCQlSZXZpZXc6CgkJCQk8L3A+CgkJCQk8cD4KCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9yZXZpZXdfdXJsJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsZW5kZXItcmV2aWV3LWxpbmsiPjw/cGhwIHRoZV90aXRsZSgpOyA/PiBQZXJzb25hbCBMb2FuIFJldmlldzwvYT4KCQkJCTwvcD4KCQkJPC9kaXY+CgkJPD9waHAgZW5kaWY7ID8+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwCgllY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCSRsZW5kZXJfdmlld19kZXRhaWxzX2xpbmtfanNfdmFyID0gJ2xlbmRlcl92aWV3X2RldGFpbHNfbGlua18nIC4gZ2V0X3RoZV9pZCgpOwoJJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyID0gJ2xlbmRlcl9jb2xsYXBzaWJsZV9yb3dfJyAuIGdldF90aGVfaWQoKTsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibGVuZGVyLXZpZXctZGV0YWlscy1saW5rLScgLiBnZXRfdGhlX2lkKCkgLiAnIilbMF07JzsKCWVjaG8gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7JzsKCWVjaG8gJ3RoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7JzsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyIC4gJyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctJyAuIGdldF90aGVfaWQoKSAuICciKVswXTsnOwoJZWNobyAnaWYgKCcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCkgeyc7CgllY2hvICRsZW5kZXJfY29sbGFwc2libGVfcm93X2pzX3ZhciAuICcuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsnOwoJZWNobyAnfSBlbHNlIHsnOwoJZWNobyAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCA9ICcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnNjcm9sbEhlaWdodCArICJweCI7JzsKCWVjaG8gJ30nOwoJZWNobyAnfSk7JzsKCWVjaG8gJzwvc2NyaXB0Pic7Cj8+ PGRpdiBjbGFzcz0ibGVuZGVyLXJvdy13cmFwcGVyIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1wcmltYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28td3JhcHBlciBsZW5kZXItcHJpbWFyeS1yb3ctY2VsbCI+CgkJCTxhIGRhdGEtZXZlbnQtbGFiZWw9Ijw/cGhwIGVjaG8gJ1BMIC0gJyAuIGdldF90aGVfdGl0bGUoKTsgPz4iIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItbG9nby1saW5rIj4KCQkJCTxpbWcgc3JjPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2dvJyApWyd1cmwnXTsgPz4iIGFsdD0iPD9waHAgdGhlX3RpdGxlKCk7ID8+IiBjbGFzcz0ibGVuZGVyLWxvZ28iIC8+CgkJCTwvYT4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByIGxlbmRlci1wcmltYXJ5LXJvdy1jZWxsIj4KCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfYXByX2xvd2VyX2xpbWl0JyApOyA/PiUgLSA8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hcHJfdXBwZXJfbGltaXQnICk7ID8+JQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLXdyYXBwZXIgbGVuZGVyLXByaW1hcnktcm93LWNlbGwiPgoJCQk8YSBkYXRhLWV2ZW50LWxhYmVsPSI8P3BocCBlY2hvICdQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCk7ID8+IiBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hZmZpbGlhdGVfbGluaycgKTsgPz4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiBjbGFzcz0ibGVuZGVyLWFmZmlsaWF0ZS1idXR0b24iPgoJCQkJR2V0IE15IFJhdGUKCQkJPC9hPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItc2Vjb25kYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28tc2Vjb25kYXJ5LXJvdy1jZWxsIGxlbmRlci1zZWNvbmRhcnktcm93LWNlbGwiPgoJCQk8cCBjbGFzcz0ibGVuZGVyLXZpZXctZGV0YWlscy10cmlnZ2VyIj4KCQkJCTxzcGFuIGNsYXNzPSJsZW5kZXItdmlldy1kZXRhaWxzLWxpbmsgbGVuZGVyLXZpZXctZGV0YWlscy1saW5rLTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJCQkJPHNwYW4gY2xhc3M9ImxlbmRlci12aWV3LWRldGFpbHMtbGluay1hcnJvdyI+PC9zcGFuPlZpZXcgRGV0YWlscwoJCQkJPHNwYW4+CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByLXNlY29uZGFyeS1yb3ctY2VsbCBsZW5kZXItc2Vjb25kYXJ5LXJvdy1jZWxsIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1zZWNvbmRhcnktcm93LWNlbGwgbGVuZGVyLXNlY29uZGFyeS1yb3ctY2VsbCI+CgkJCTxwIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1oZWxwZXItdGV4dCI+CgkJCQk8P3BocAoJCQkJCWlmKCBzdHJfZW5kc193aXRoKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICksICdzJyApICkKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCcgd2Vic2l0ZSc7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCdzIHdlYnNpdGUnOwoJCQkJCX0KCQkJCT8+CgkJCTwvcD4KCQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdyBsZW5kZXItY29sbGFwc2libGUtcm93LTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtMSI+CgkJCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCQkJT3ZlcnZpZXcKCQkJCTwvaDM+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC1jb250ZW50Ij4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWluaW11bSBDcmVkaXQgU2NvcmU6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2NyZWRpdF9zY29yZScgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gTG9hbiBBbW91bnQ6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2xvYW5fYW1vdW50JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJCQlMb2FuIFRlcm1zOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbG9hbl90ZXJtcycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gSW5jb21lOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9pbmNvbWUnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQkJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJCQlEZXRhaWxzCgkJCQk8L2gzPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtY29udGVudCI+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU9yaWdpbmF0aW9uIEZlZXM6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9vcmlnaW5hdGlvbl9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTGF0ZSBGZWVzOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJUHJlcGF5bWVudCBQZW5hbHR5OgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfcHJlcGF5bWVudF9wZW5hbHR5JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJU29mdCBDcmVkaXQgQ2hlY2s6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9zb2Z0X2NyZWRpdF9jaGVjaycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgaWYgKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfcmV2aWV3X3VybCcgKSApOiA/PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXJldmlldyI+CgkJCQk8cCBjbGFzcz0ibGVuZGVyLXJldmlldy1oZWFkaW5nIj4KCQkJCQlSZXZpZXc6CgkJCQk8L3A+CgkJCQk8cD4KCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9yZXZpZXdfdXJsJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsZW5kZXItcmV2aWV3LWxpbmsiPjw/cGhwIHRoZV90aXRsZSgpOyA/PiBQZXJzb25hbCBMb2FuIFJldmlldzwvYT4KCQkJCTwvcD4KCQkJPC9kaXY+CgkJPD9waHAgZW5kaWY7ID8+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwCgllY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCSRsZW5kZXJfdmlld19kZXRhaWxzX2xpbmtfanNfdmFyID0gJ2xlbmRlcl92aWV3X2RldGFpbHNfbGlua18nIC4gZ2V0X3RoZV9pZCgpOwoJJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyID0gJ2xlbmRlcl9jb2xsYXBzaWJsZV9yb3dfJyAuIGdldF90aGVfaWQoKTsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibGVuZGVyLXZpZXctZGV0YWlscy1saW5rLScgLiBnZXRfdGhlX2lkKCkgLiAnIilbMF07JzsKCWVjaG8gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7JzsKCWVjaG8gJ3RoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7JzsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyIC4gJyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctJyAuIGdldF90aGVfaWQoKSAuICciKVswXTsnOwoJZWNobyAnaWYgKCcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCkgeyc7CgllY2hvICRsZW5kZXJfY29sbGFwc2libGVfcm93X2pzX3ZhciAuICcuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsnOwoJZWNobyAnfSBlbHNlIHsnOwoJZWNobyAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCA9ICcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnNjcm9sbEhlaWdodCArICJweCI7JzsKCWVjaG8gJ30nOwoJZWNobyAnfSk7JzsKCWVjaG8gJzwvc2NyaXB0Pic7Cj8+ PGRpdiBjbGFzcz0ibGVuZGVyLXJvdy13cmFwcGVyIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1wcmltYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28td3JhcHBlciBsZW5kZXItcHJpbWFyeS1yb3ctY2VsbCI+CgkJCTxhIGRhdGEtZXZlbnQtbGFiZWw9Ijw/cGhwIGVjaG8gJ1BMIC0gJyAuIGdldF90aGVfdGl0bGUoKTsgPz4iIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItbG9nby1saW5rIj4KCQkJCTxpbWcgc3JjPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2dvJyApWyd1cmwnXTsgPz4iIGFsdD0iPD9waHAgdGhlX3RpdGxlKCk7ID8+IiBjbGFzcz0ibGVuZGVyLWxvZ28iIC8+CgkJCTwvYT4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByIGxlbmRlci1wcmltYXJ5LXJvdy1jZWxsIj4KCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfYXByX2xvd2VyX2xpbWl0JyApOyA/PiUgLSA8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hcHJfdXBwZXJfbGltaXQnICk7ID8+JQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLXdyYXBwZXIgbGVuZGVyLXByaW1hcnktcm93LWNlbGwiPgoJCQk8YSBkYXRhLWV2ZW50LWxhYmVsPSI8P3BocCBlY2hvICdQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCk7ID8+IiBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hZmZpbGlhdGVfbGluaycgKTsgPz4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiBjbGFzcz0ibGVuZGVyLWFmZmlsaWF0ZS1idXR0b24iPgoJCQkJR2V0IE15IFJhdGUKCQkJPC9hPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItc2Vjb25kYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28tc2Vjb25kYXJ5LXJvdy1jZWxsIGxlbmRlci1zZWNvbmRhcnktcm93LWNlbGwiPgoJCQk8cCBjbGFzcz0ibGVuZGVyLXZpZXctZGV0YWlscy10cmlnZ2VyIj4KCQkJCTxzcGFuIGNsYXNzPSJsZW5kZXItdmlldy1kZXRhaWxzLWxpbmsgbGVuZGVyLXZpZXctZGV0YWlscy1saW5rLTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJCQkJPHNwYW4gY2xhc3M9ImxlbmRlci12aWV3LWRldGFpbHMtbGluay1hcnJvdyI+PC9zcGFuPlZpZXcgRGV0YWlscwoJCQkJPHNwYW4+CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByLXNlY29uZGFyeS1yb3ctY2VsbCBsZW5kZXItc2Vjb25kYXJ5LXJvdy1jZWxsIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1zZWNvbmRhcnktcm93LWNlbGwgbGVuZGVyLXNlY29uZGFyeS1yb3ctY2VsbCI+CgkJCTxwIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1oZWxwZXItdGV4dCI+CgkJCQk8P3BocAoJCQkJCWlmKCBzdHJfZW5kc193aXRoKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICksICdzJyApICkKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCcgd2Vic2l0ZSc7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCdzIHdlYnNpdGUnOwoJCQkJCX0KCQkJCT8+CgkJCTwvcD4KCQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdyBsZW5kZXItY29sbGFwc2libGUtcm93LTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtMSI+CgkJCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCQkJT3ZlcnZpZXcKCQkJCTwvaDM+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC1jb250ZW50Ij4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWluaW11bSBDcmVkaXQgU2NvcmU6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2NyZWRpdF9zY29yZScgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gTG9hbiBBbW91bnQ6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2xvYW5fYW1vdW50JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJCQlMb2FuIFRlcm1zOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbG9hbl90ZXJtcycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gSW5jb21lOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9pbmNvbWUnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQkJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJCQlEZXRhaWxzCgkJCQk8L2gzPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtY29udGVudCI+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU9yaWdpbmF0aW9uIEZlZXM6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9vcmlnaW5hdGlvbl9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTGF0ZSBGZWVzOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJUHJlcGF5bWVudCBQZW5hbHR5OgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfcHJlcGF5bWVudF9wZW5hbHR5JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJU29mdCBDcmVkaXQgQ2hlY2s6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9zb2Z0X2NyZWRpdF9jaGVjaycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgaWYgKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfcmV2aWV3X3VybCcgKSApOiA/PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXJldmlldyI+CgkJCQk8cCBjbGFzcz0ibGVuZGVyLXJldmlldy1oZWFkaW5nIj4KCQkJCQlSZXZpZXc6CgkJCQk8L3A+CgkJCQk8cD4KCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9yZXZpZXdfdXJsJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsZW5kZXItcmV2aWV3LWxpbmsiPjw/cGhwIHRoZV90aXRsZSgpOyA/PiBQZXJzb25hbCBMb2FuIFJldmlldzwvYT4KCQkJCTwvcD4KCQkJPC9kaXY+CgkJPD9waHAgZW5kaWY7ID8+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwCgllY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCSRsZW5kZXJfdmlld19kZXRhaWxzX2xpbmtfanNfdmFyID0gJ2xlbmRlcl92aWV3X2RldGFpbHNfbGlua18nIC4gZ2V0X3RoZV9pZCgpOwoJJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyID0gJ2xlbmRlcl9jb2xsYXBzaWJsZV9yb3dfJyAuIGdldF90aGVfaWQoKTsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibGVuZGVyLXZpZXctZGV0YWlscy1saW5rLScgLiBnZXRfdGhlX2lkKCkgLiAnIilbMF07JzsKCWVjaG8gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7JzsKCWVjaG8gJ3RoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7JzsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyIC4gJyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctJyAuIGdldF90aGVfaWQoKSAuICciKVswXTsnOwoJZWNobyAnaWYgKCcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCkgeyc7CgllY2hvICRsZW5kZXJfY29sbGFwc2libGVfcm93X2pzX3ZhciAuICcuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsnOwoJZWNobyAnfSBlbHNlIHsnOwoJZWNobyAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCA9ICcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnNjcm9sbEhlaWdodCArICJweCI7JzsKCWVjaG8gJ30nOwoJZWNobyAnfSk7JzsKCWVjaG8gJzwvc2NyaXB0Pic7Cj8+ PGRpdiBjbGFzcz0ibGVuZGVyLXJvdy13cmFwcGVyIj4KCTxkaXYgY2xhc3M9ImxlbmRlci1wcmltYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28td3JhcHBlciBsZW5kZXItcHJpbWFyeS1yb3ctY2VsbCI+CgkJCTxhIGRhdGEtZXZlbnQtbGFiZWw9Ijw/cGhwIGVjaG8gJ1BMIC0gJyAuIGdldF90aGVfdGl0bGUoKTsgPz4iIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX2FmZmlsaWF0ZV9saW5rJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciIGNsYXNzPSJsZW5kZXItbG9nby1saW5rIj4KCQkJCTxpbWcgc3JjPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9sb2dvJyApWyd1cmwnXTsgPz4iIGFsdD0iPD9waHAgdGhlX3RpdGxlKCk7ID8+IiBjbGFzcz0ibGVuZGVyLWxvZ28iIC8+CgkJCTwvYT4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByIGxlbmRlci1wcmltYXJ5LXJvdy1jZWxsIj4KCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfYXByX2xvd2VyX2xpbWl0JyApOyA/PiUgLSA8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hcHJfdXBwZXJfbGltaXQnICk7ID8+JQoJCTwvZGl2PgoJCTxkaXYgY2xhc3M9ImxlbmRlci1hZmZpbGlhdGUtYnV0dG9uLXdyYXBwZXIgbGVuZGVyLXByaW1hcnktcm93LWNlbGwiPgoJCQk8YSBkYXRhLWV2ZW50LWxhYmVsPSI8P3BocCBlY2hvICdQTCAtICcgLiBnZXRfdGhlX3RpdGxlKCk7ID8+IiBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9hZmZpbGlhdGVfbGluaycgKTsgPz4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93IiBjbGFzcz0ibGVuZGVyLWFmZmlsaWF0ZS1idXR0b24iPgoJCQkJR2V0IE15IFJhdGUKCQkJPC9hPgoJCTwvZGl2PgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJsZW5kZXItc2Vjb25kYXJ5LXJvdyI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWxvZ28tc2Vjb25kYXJ5LXJvdy1jZWxsIGxlbmRlci1zZWNvbmRhcnktcm93LWNlbGwiPgoJCQk8cCBjbGFzcz0ibGVuZGVyLXZpZXctZGV0YWlscy10cmlnZ2VyIj4KCQkJCTxzcGFuIGNsYXNzPSJsZW5kZXItdmlldy1kZXRhaWxzLWxpbmsgbGVuZGVyLXZpZXctZGV0YWlscy1saW5rLTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJCQkJPHNwYW4gY2xhc3M9ImxlbmRlci12aWV3LWRldGFpbHMtbGluay1hcnJvdyI+PC9zcGFuPlZpZXcgRGV0YWlscwoJCQkJPHNwYW4+CgkJCTwvcD4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYXByLXNlY29uZGFyeS1yb3ctY2VsbCBsZW5kZXItc2Vjb25kYXJ5LXJvdy1jZWxsIj4KCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1zZWNvbmRhcnktcm93LWNlbGwgbGVuZGVyLXNlY29uZGFyeS1yb3ctY2VsbCI+CgkJCTxwIGNsYXNzPSJsZW5kZXItYWZmaWxpYXRlLWJ1dHRvbi1oZWxwZXItdGV4dCI+CgkJCQk8P3BocAoJCQkJCWlmKCBzdHJfZW5kc193aXRoKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICksICdzJyApICkKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCcgd2Vic2l0ZSc7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCWVjaG8gJ29uICcgLiBnZXRfZmllbGQoICdwbF9sZW5kZXJfbmFtZV9iZWxvd19idXR0b24nICkgLiAnXCdzIHdlYnNpdGUnOwoJCQkJCX0KCQkJCT8+CgkJCTwvcD4KCQk8L2Rpdj4KCTwvZGl2PgoJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdyBsZW5kZXItY29sbGFwc2libGUtcm93LTw/cGhwIHRoZV9JRCgpOyA/PiI+CgkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2xzIj4KCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtMSI+CgkJCQk8aDMgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctY29sLWhlYWRlciI+CgkJCQkJT3ZlcnZpZXcKCQkJCTwvaDM+CgkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC1jb250ZW50Ij4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWluaW11bSBDcmVkaXQgU2NvcmU6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2NyZWRpdF9zY29yZScgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gTG9hbiBBbW91bnQ6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9taW5pbXVtX2xvYW5fYW1vdW50JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTWF4aW11bSBMb2FuIEFtb3VudDoKCQkJCQkJPC9kaXY+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctdmFsdWUtY29sIj4KCQkJCQkJCTw/cGhwIGVjaG8gZ2V0X2ZpZWxkKCAncGxfbGVuZGVyX21heGltdW1fbG9hbl9hbW91bnQnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LXZhbHVlLXJvdyI+CgkJCQkJCTxkaXYgY2xhc3M9ImxlbmRlci1jb2xsYXBzaWJsZS1yb3cta2V5LWNvbCI+CgkJCQkJCQlMb2FuIFRlcm1zOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbG9hbl90ZXJtcycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU1pbmltdW0gSW5jb21lOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbWluaW11bV9pbmNvbWUnICk7ID8+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWNvbC0yIj4KCQkJCTxoMyBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtaGVhZGVyIj4KCQkJCQlEZXRhaWxzCgkJCQk8L2gzPgoJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1jb2wtY29udGVudCI+CgkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktdmFsdWUtcm93Ij4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy1rZXktY29sIj4KCQkJCQkJCU9yaWdpbmF0aW9uIEZlZXM6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9vcmlnaW5hdGlvbl9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJTGF0ZSBGZWVzOgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfbGF0ZV9mZWVzJyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJUHJlcGF5bWVudCBQZW5hbHR5OgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibGVuZGVyLWNvbGxhcHNpYmxlLXJvdy12YWx1ZS1jb2wiPgoJCQkJCQkJPD9waHAgZWNobyBnZXRfZmllbGQoICdwbF9sZW5kZXJfcHJlcGF5bWVudF9wZW5hbHR5JyApOyA/PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS12YWx1ZS1yb3ciPgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LWtleS1jb2wiPgoJCQkJCQkJU29mdCBDcmVkaXQgQ2hlY2s6CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXZhbHVlLWNvbCI+CgkJCQkJCQk8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9zb2Z0X2NyZWRpdF9jaGVjaycgKTsgPz4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CgkJPD9waHAgaWYgKCBnZXRfZmllbGQoICdwbF9sZW5kZXJfcmV2aWV3X3VybCcgKSApOiA/PgoJCQk8ZGl2IGNsYXNzPSJsZW5kZXItY29sbGFwc2libGUtcm93LXJldmlldyI+CgkJCQk8cCBjbGFzcz0ibGVuZGVyLXJldmlldy1oZWFkaW5nIj4KCQkJCQlSZXZpZXc6CgkJCQk8L3A+CgkJCQk8cD4KCQkJCQk8YSBocmVmPSI8P3BocCBlY2hvIGdldF9maWVsZCggJ3BsX2xlbmRlcl9yZXZpZXdfdXJsJyApOyA/PiIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJsZW5kZXItcmV2aWV3LWxpbmsiPjw/cGhwIHRoZV90aXRsZSgpOyA/PiBQZXJzb25hbCBMb2FuIFJldmlldzwvYT4KCQkJCTwvcD4KCQkJPC9kaXY+CgkJPD9waHAgZW5kaWY7ID8+Cgk8L2Rpdj4KPC9kaXY+Cjw/cGhwCgllY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+JzsKCSRsZW5kZXJfdmlld19kZXRhaWxzX2xpbmtfanNfdmFyID0gJ2xlbmRlcl92aWV3X2RldGFpbHNfbGlua18nIC4gZ2V0X3RoZV9pZCgpOwoJJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyID0gJ2xlbmRlcl9jb2xsYXBzaWJsZV9yb3dfJyAuIGdldF90aGVfaWQoKTsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibGVuZGVyLXZpZXctZGV0YWlscy1saW5rLScgLiBnZXRfdGhlX2lkKCkgLiAnIilbMF07JzsKCWVjaG8gJGxlbmRlcl92aWV3X2RldGFpbHNfbGlua19qc192YXIgLiAnLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7JzsKCWVjaG8gJ3RoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7JzsKCWVjaG8gJ3ZhciAnIC4gJGxlbmRlcl9jb2xsYXBzaWJsZV9yb3dfanNfdmFyIC4gJyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlbmRlci1jb2xsYXBzaWJsZS1yb3ctJyAuIGdldF90aGVfaWQoKSAuICciKVswXTsnOwoJZWNobyAnaWYgKCcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCkgeyc7CgllY2hvICRsZW5kZXJfY29sbGFwc2libGVfcm93X2pzX3ZhciAuICcuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsnOwoJZWNobyAnfSBlbHNlIHsnOwoJZWNobyAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnN0eWxlLm1heEhlaWdodCA9ICcgLiAkbGVuZGVyX2NvbGxhcHNpYmxlX3Jvd19qc192YXIgLiAnLnNjcm9sbEhlaWdodCArICJweCI7JzsKCWVjaG8gJ30nOwoJZWNobyAnfSk7JzsKCWVjaG8gJzwvc2NyaXB0Pic7Cj8+

PD9waHAKCSRvdXRwdXQgPSAnJzsKCQoJJGFyZ3MgPSBhcnJheSgKICAgICAgICAncG9zdF90eXBlJyA9PiAncGxfbGVuZGVyJywKICAgICAgICAncG9zdHNfcGVyX3BhZ2UnID0+IC0xLAoJCSdtZXRhX3F1ZXJ5JyA9PiBhcnJheSgKCQkJCQkJCSdyZWxhdGlvbicgPT4gJ0FORCcsCgkJCQkJCQlhcnJheSgKCQkJCQkJCQkna2V5JyA9PiAncGxfbGVuZGVyX3Zpc2libGUnLAoJCQkJCQkJCSd2YWx1ZScgPT4gJzEnLAoJCQkJCQkJCSdjb21wYXJlJyA9PiAnPScsCgkJCQkJCQkpLAoJCQkJCQkJYXJyYXkoCgkJCQkJCQkJJ2tleScgPT4gJ3BsX2xlbmRlcl9kaXNjbG9zdXJlX3VybCcsCgkJCQkJCQkJJ2NvbXBhcmUnID0+ICdFWElTVFMnLAoJCQkJCQkJKSwKCQkJCQkJKSwKCQknbWV0YV9rZXknID0+ICdwbF9sZW5kZXJfcG9zaXRpb24nLAoJCSdvcmRlcmJ5JyA9PiAnbWV0YV92YWx1ZV9udW0nLAoJCSdvcmRlcicgPT4gJ0FTQycsCiAgICApOwoKCSRsb29wID0gbmV3IFdQX1F1ZXJ5KCAkYXJncyApOwoKCWlmICggJGxvb3AgLT4gaGF2ZV9wb3N0cygpICkgewoJCQoJCSRvdXRwdXQgPSAnRGlzY2xvc3VyZXM6ICc7CgkJCgkJd2hpbGUgKCAkbG9vcCAtPiBoYXZlX3Bvc3RzKCkgKSB7CgkJCQoJCQkkbG9vcCAtPiB0aGVfcG9zdCgpOwoJCQkKCQkJJG91dHB1dCAuPSAnPGEgaHJlZj0iJyAuIGdldF9maWVsZCggJ3BsX2xlbmRlcl9kaXNjbG9zdXJlX3VybCcgKSAuICciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93Ij4nIC4gZ2V0X3RoZV90aXRsZSgpIC4gJzwvYT4gfCAnOwoJCQkKCQl9CgkJCgl9CgoJd3BfcmVzZXRfcG9zdGRhdGEoKTsKCgkkb3V0cHV0ID0gc3Vic3RyKCAkb3V0cHV0LCAwLCBzdHJsZW4oICRvdXRwdXQgKSAtIDMgKTsKCgllY2hvICRvdXRwdXQ7Cj8+

Let's mentor your money

Get the latest personal finance advice delivered directly to your inbox.