WP GDPR Compliance - Version 2.0

Version Description

Release date: 18th October 2021 * Ground up rewrite of all core features. * New design for the admin dashboard, consent pop up, the consent bar. * Added live preview functionality to the consent bar editor. * Dashboard page with analytics. * Integration with Google fonts * Integration with Cookie Information

Download this release

Release Info

Developer merlijnvanlent
Plugin Icon 128x128 WP GDPR Compliance
Version 2.0
Comparing to
See all releases

Code changes from version 1.5.9 to 2.0

Files changed (1) hide show
  1. Assets/css/admin.css +13620 -0
Assets/css/admin.css ADDED
@@ -0,0 +1,13620 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Plugin Name: Cookie Information | Free WP GDPR Consent Plugin
3
+ * Plugin URI: http://www.van-ons.nl/
4
+ * Description: Cookie Information | Free WP GDPR Consent Plugin theme created by Van Ons.
5
+ * Author: Van Ons
6
+ * Author URI: http://www.van-ons.nl/
7
+ * Version: 2.0.0
8
+ * Text Domain: vo-wp-gdpr-compliance
9
+ */
10
+ @charset "UTF-8";
11
+ /**
12
+ * Admin-only styles
13
+ * ----------------------------------------------------------------------------
14
+ */
15
+ /*
16
+ * You can use this variable in other Sass files to only apply
17
+ * certain CSS inside Admin or the other way around.
18
+ */
19
+ /* Settings */
20
+ /**
21
+ * Custom fonts
22
+ * ----------------------------------------------------------------------------
23
+ */
24
+ @font-face {
25
+ font-family: 'Sofia Pro';
26
+ src: url("../fonts/sofia/SofiaPro.woff2") format("woff2"), url("../fonts/sofia/SofiaPro.woff") format("woff");
27
+ font-weight: 400;
28
+ font-style: normal;
29
+ font-display: swap; }
30
+
31
+ @font-face {
32
+ font-family: 'Sofia Pro';
33
+ src: url("../fonts/sofia/SofiaPro-Italic.woff2") format("woff2"), url("../fonts/sofia/SofiaPro-Italic.woff") format("woff");
34
+ font-weight: 400;
35
+ font-style: italic;
36
+ font-display: swap; }
37
+
38
+ @font-face {
39
+ font-family: 'Sofia Pro';
40
+ src: url("../fonts/sofia/SofiaPro-Medium.woff2") format("woff2"), url("../fonts/sofia/SofiaPro-Medium.woff") format("woff");
41
+ font-weight: 500;
42
+ font-style: normal;
43
+ font-display: swap; }
44
+
45
+ @font-face {
46
+ font-family: 'Sofia Pro';
47
+ src: url("../fonts/sofia/SofiaPro-SemiBold.woff2") format("woff2"), url("../fonts/sofia/SofiaPro-SemiBold.woff") format("woff");
48
+ font-weight: 600;
49
+ font-style: normal;
50
+ font-display: swap; }
51
+
52
+ @font-face {
53
+ font-family: 'Sofia Pro';
54
+ src: url("../fonts/sofia/SofiaPro-SemiBoldItalic.woff2") format("woff2"), url("../fonts/sofia/SofiaPro-SemiBoldItalic.woff") format("woff");
55
+ font-weight: 600;
56
+ font-style: italic;
57
+ font-display: swap; }
58
+
59
+ @font-face {
60
+ font-family: 'Sofia Pro';
61
+ src: url("../fonts/sofia/SofiaPro-Bold.woff2") format("woff2"), url("../fonts/sofia/SofiaPro-Bold.woff") format("woff");
62
+ font-weight: 700;
63
+ font-style: normal;
64
+ font-display: swap; }
65
+
66
+ /**
67
+ * Color scheme
68
+ * ----------------------------------------------------------------------------
69
+ */
70
+ /* @Lex, maybe find better color? */
71
+ /**
72
+ * Settings
73
+ * ----------------------------------------------------------------------------
74
+ */
75
+ /* Global */
76
+ /* Breakpoints */
77
+ /* Typography */
78
+ /* XY Grid */
79
+ /**
80
+ * Custom variables
81
+ * ----------------------------------------------------------------------------
82
+ */
83
+ /* Transitions */
84
+ /* z-index */
85
+ /* FontAwesome */
86
+ /* Spacing */
87
+ /* Border */
88
+ /* Border Radius */
89
+ /* Shadow */
90
+ /* WP breakpoints */
91
+ /* WP admin bar */
92
+ /**
93
+ * Custom mixins
94
+ * ----------------------------------------------------------------------------
95
+ */
96
+ /**
97
+ * Used to compile CSS to display retina images.
98
+ *
99
+ * Example:
100
+ * @include background-image-retina(logo, png, 210px, 70px);
101
+ *
102
+ */
103
+ /**
104
+ * Button
105
+ */
106
+ /**
107
+ * Headings
108
+ */
109
+ /**
110
+ * Custom placeholders
111
+ * ----------------------------------------------------------------------------
112
+ */
113
+ :root .wpgdprc-header__nav ul {
114
+ margin-bottom: 0;
115
+ margin-left: 0;
116
+ padding-left: 0;
117
+ list-style: none; }
118
+
119
+ /**
120
+ * Add styling to root (optional)
121
+ * ----------------------------------------------------------------------------
122
+ */
123
+ /**
124
+ * Form placeholder styling
125
+ * ----------------------------------------------------------------------------
126
+ */
127
+ /**
128
+ * Automatically include focus styles with hover
129
+ * ----------------------------------------------------------------------------
130
+ */
131
+ /* Global */
132
+ /**
133
+ * Reset.
134
+ * ----------------------------------------------------------------------------
135
+ */
136
+ /**
137
+ * A very simple reset that sits on top of Normalize.css.
138
+ */
139
+ .wpgdprc {
140
+ /**
141
+ * Remove trailing margins from nested lists.
142
+ */
143
+ /**
144
+ * Remove default table spacing.
145
+ */
146
+ /**
147
+ * 1. Reset Chrome and Firefox behaviour which sets a `min-width: min-content;`
148
+ * on fieldsets.
149
+ */
150
+ /**
151
+ * Reset button styles
152
+ */ }
153
+ .wpgdprc h1,
154
+ .wpgdprc h2,
155
+ .wpgdprc h3,
156
+ .wpgdprc h4,
157
+ .wpgdprc h5,
158
+ .wpgdprc h6,
159
+ .wpgdprc blockquote,
160
+ .wpgdprc p,
161
+ .wpgdprc pre,
162
+ .wpgdprc dl,
163
+ .wpgdprc dd,
164
+ .wpgdprc ol,
165
+ .wpgdprc ul,
166
+ .wpgdprc figure,
167
+ .wpgdprc hr,
168
+ .wpgdprc fieldset,
169
+ .wpgdprc legend {
170
+ margin: 0;
171
+ padding: 0; }
172
+ .wpgdprc li > ol,
173
+ .wpgdprc li > ul {
174
+ margin-bottom: 0; }
175
+ .wpgdprc table {
176
+ border-collapse: collapse;
177
+ border-spacing: 0; }
178
+ .wpgdprc fieldset {
179
+ min-width: 0;
180
+ /* [1] */
181
+ border: 0; }
182
+ .wpgdprc *, .wpgdprc *:before, .wpgdprc *:after {
183
+ box-sizing: inherit; }
184
+ .wpgdprc [type='button'],
185
+ .wpgdprc [type='reset'],
186
+ .wpgdprc [type='submit'] {
187
+ -webkit-appearance: none;
188
+ -moz-appearance: none;
189
+ border: 0;
190
+ margin: 0; }
191
+
192
+ /**
193
+ * Screen Reader Text
194
+ * ----------------------------------------------------------------------------
195
+ */
196
+ .screen-reader-text {
197
+ position: absolute !important;
198
+ width: 1px !important;
199
+ height: 1px !important;
200
+ padding: 0 !important;
201
+ overflow: hidden !important;
202
+ clip: rect(0, 0, 0, 0) !important;
203
+ white-space: nowrap !important;
204
+ border: 0 !important; }
205
+
206
+ /**
207
+ * Animations.
208
+ * ----------------------------------------------------------------------------
209
+ */
210
+ @keyframes fade-in {
211
+ 0% {
212
+ opacity: 0; }
213
+ 100% {
214
+ opacity: 1; } }
215
+
216
+ @keyframes fade-out {
217
+ 0% {
218
+ opacity: 1; }
219
+ 100% {
220
+ opacity: 0; } }
221
+
222
+ @keyframes slide-down {
223
+ 0% {
224
+ opacity: 0;
225
+ transform: translateY(-30px); }
226
+ 100% {
227
+ opacity: 1;
228
+ transform: none; } }
229
+
230
+ [data-animation] {
231
+ opacity: 0; }
232
+ [data-animation][data-animation-appearing] {
233
+ animation-name: fade-in;
234
+ animation-duration: 0.25s;
235
+ animation-timing-function: cubic-bezier(0, 0.6, 0.7, 1);
236
+ animation-fill-mode: forwards; }
237
+ [data-animation][data-animation-appearing][data-animation='slide-down'] {
238
+ animation-name: slide-down; }
239
+
240
+ @media print, screen and (min-width: 64em) {
241
+ [data-animation][data-animation-delay='100'][data-animation-delay='100'] {
242
+ animation-delay: 0.1s; }
243
+ [data-animation][data-animation-delay='200'][data-animation-delay='200'] {
244
+ animation-delay: 0.2s; }
245
+ [data-animation][data-animation-delay='300'][data-animation-delay='300'] {
246
+ animation-delay: 0.3s; }
247
+ [data-animation][data-animation-delay='400'][data-animation-delay='400'] {
248
+ animation-delay: 0.4s; }
249
+ [data-animation][data-animation-delay='500'][data-animation-delay='500'] {
250
+ animation-delay: 0.5s; }
251
+ [data-animation][data-animation-delay='600'][data-animation-delay='600'] {
252
+ animation-delay: 0.6s; }
253
+ [data-animation][data-animation-delay='700'][data-animation-delay='700'] {
254
+ animation-delay: 0.7s; }
255
+ [data-animation][data-animation-delay='800'][data-animation-delay='800'] {
256
+ animation-delay: 0.8s; }
257
+ [data-animation][data-animation-delay='900'][data-animation-delay='900'] {
258
+ animation-delay: 0.9s; }
259
+ [data-animation][data-animation-delay='1000'][data-animation-delay='1000'] {
260
+ animation-delay: 1s; }
261
+ [data-animation][data-animation-delay='1100'][data-animation-delay='1100'] {
262
+ animation-delay: 1.1s; }
263
+ [data-animation][data-animation-delay='1200'][data-animation-delay='1200'] {
264
+ animation-delay: 1.2s; }
265
+ [data-animation][data-animation-delay='1300'][data-animation-delay='1300'] {
266
+ animation-delay: 1.3s; }
267
+ [data-animation][data-animation-delay='1400'][data-animation-delay='1400'] {
268
+ animation-delay: 1.4s; }
269
+ [data-animation][data-animation-delay='1500'][data-animation-delay='1500'] {
270
+ animation-delay: 1.5s; }
271
+ [data-animation][data-animation-delay='1600'][data-animation-delay='1600'] {
272
+ animation-delay: 1.6s; }
273
+ [data-animation][data-animation-delay='1700'][data-animation-delay='1700'] {
274
+ animation-delay: 1.7s; }
275
+ [data-animation][data-animation-delay='1800'][data-animation-delay='1800'] {
276
+ animation-delay: 1.8s; }
277
+ [data-animation][data-animation-delay='1900'][data-animation-delay='1900'] {
278
+ animation-delay: 1.9s; }
279
+ [data-animation][data-animation-delay='2000'][data-animation-delay='2000'] {
280
+ animation-delay: 2s; }
281
+ [data-animation][data-animation-delay='2100'][data-animation-delay='2100'] {
282
+ animation-delay: 2.1s; }
283
+ [data-animation][data-animation-delay='2200'][data-animation-delay='2200'] {
284
+ animation-delay: 2.2s; }
285
+ [data-animation][data-animation-delay='2300'][data-animation-delay='2300'] {
286
+ animation-delay: 2.3s; }
287
+ [data-animation][data-animation-delay='2400'][data-animation-delay='2400'] {
288
+ animation-delay: 2.4s; }
289
+ [data-animation][data-animation-delay='2500'][data-animation-delay='2500'] {
290
+ animation-delay: 2.5s; }
291
+ [data-animation][data-animation-delay='2600'][data-animation-delay='2600'] {
292
+ animation-delay: 2.6s; }
293
+ [data-animation][data-animation-delay='2700'][data-animation-delay='2700'] {
294
+ animation-delay: 2.7s; }
295
+ [data-animation][data-animation-delay='2800'][data-animation-delay='2800'] {
296
+ animation-delay: 2.8s; }
297
+ [data-animation][data-animation-delay='2900'][data-animation-delay='2900'] {
298
+ animation-delay: 2.9s; }
299
+ [data-animation][data-animation-delay='3000'][data-animation-delay='3000'] {
300
+ animation-delay: 3s; }
301
+ [data-animation][data-animation-delay='3100'][data-animation-delay='3100'] {
302
+ animation-delay: 3.1s; }
303
+ [data-animation][data-animation-delay='3200'][data-animation-delay='3200'] {
304
+ animation-delay: 3.2s; }
305
+ [data-animation][data-animation-delay='3300'][data-animation-delay='3300'] {
306
+ animation-delay: 3.3s; }
307
+ [data-animation][data-animation-delay='3400'][data-animation-delay='3400'] {
308
+ animation-delay: 3.4s; }
309
+ [data-animation][data-animation-delay='3500'][data-animation-delay='3500'] {
310
+ animation-delay: 3.5s; }
311
+ [data-animation][data-animation-delay='3600'][data-animation-delay='3600'] {
312
+ animation-delay: 3.6s; }
313
+ [data-animation][data-animation-delay='3700'][data-animation-delay='3700'] {
314
+ animation-delay: 3.7s; }
315
+ [data-animation][data-animation-delay='3800'][data-animation-delay='3800'] {
316
+ animation-delay: 3.8s; }
317
+ [data-animation][data-animation-delay='3900'][data-animation-delay='3900'] {
318
+ animation-delay: 3.9s; }
319
+ [data-animation][data-animation-delay='4000'][data-animation-delay='4000'] {
320
+ animation-delay: 4s; } }
321
+
322
+ @media (prefers-reduced-motion: reduce) {
323
+ [data-animation] {
324
+ animation-duration: 0.001s !important;
325
+ animation-delay: 0.001s !important; } }
326
+
327
+ @keyframes barberpole {
328
+ 100% {
329
+ background-position: 100% 100%; } }
330
+
331
+ /**
332
+ * Global styles and elements used throughout the site.
333
+ * ----------------------------------------------------------------------------
334
+ */
335
+ .wpgdprc ::-moz-selection {
336
+ background: #3C7C96;
337
+ color: #ffffff; }
338
+
339
+ .wpgdprc ::selection {
340
+ background: #3C7C96;
341
+ color: #ffffff; }
342
+
343
+ .wpgdprc a {
344
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
345
+
346
+ .wpgdprc p:last-child {
347
+ margin-bottom: 0; }
348
+
349
+ .wpgdprc form {
350
+ margin-bottom: 0; }
351
+
352
+ .wpgdprc .no-bullet {
353
+ list-style: none; }
354
+
355
+ .wpgdprc .video-container {
356
+ position: relative;
357
+ padding-top: 25px;
358
+ padding-bottom: 56.25%;
359
+ height: 0;
360
+ opacity: 0;
361
+ transition: opacity 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
362
+ .wpgdprc .video-container iframe {
363
+ position: absolute;
364
+ top: 0;
365
+ left: 0;
366
+ width: 100%;
367
+ height: 100%; }
368
+ .wpgdprc .video-container.active {
369
+ opacity: 1; }
370
+
371
+ .wpgdprc img {
372
+ display: inline-block;
373
+ vertical-align: middle;
374
+ max-width: 100%;
375
+ height: auto;
376
+ -ms-interpolation-mode: bicubic;
377
+ box-sizing: inherit; }
378
+
379
+ /**
380
+ * Typography
381
+ * ----------------------------------------------------------------------------
382
+ */
383
+ .wpgdprc {
384
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
385
+ font-size: 1rem;
386
+ -webkit-font-smoothing: antialiased;
387
+ -moz-osx-font-smoothing: grayscale;
388
+ color: #5A5A5A; }
389
+ .wpgdprc h1,
390
+ .wpgdprc h2,
391
+ .wpgdprc h3,
392
+ .wpgdprc h4,
393
+ .wpgdprc h5,
394
+ .wpgdprc h6 {
395
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
396
+ margin-top: 0;
397
+ margin-bottom: 0.5rem; }
398
+ .wpgdprc h1, .wpgdprc .h1,
399
+ .wpgdprc h2, .wpgdprc .h2,
400
+ .wpgdprc h3, .wpgdprc .h3,
401
+ .wpgdprc h4, .wpgdprc .h4,
402
+ .wpgdprc h5, .wpgdprc .h5,
403
+ .wpgdprc h6, .wpgdprc .h6 {
404
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
405
+ font-weight: 700;
406
+ line-height: 1.2;
407
+ color: #000000; }
408
+ .wpgdprc h1,
409
+ .wpgdprc .h1 {
410
+ font-size: 3rem; }
411
+ .wpgdprc h2,
412
+ .wpgdprc .h2 {
413
+ font-size: 2rem; }
414
+ .wpgdprc h3,
415
+ .wpgdprc .h3 {
416
+ font-size: 1.5rem; }
417
+ .wpgdprc h4,
418
+ .wpgdprc .h4 {
419
+ font-size: 1.375rem; }
420
+ .wpgdprc h5,
421
+ .wpgdprc .h5 {
422
+ font-size: 1.25rem; }
423
+ .wpgdprc h6,
424
+ .wpgdprc .h6 {
425
+ font-size: 1.125rem; }
426
+ .wpgdprc p {
427
+ font-size: 1rem;
428
+ line-height: 1.625; }
429
+ .wpgdprc p:last-child {
430
+ margin-bottom: 0; }
431
+ .wpgdprc ul,
432
+ .wpgdprc ol {
433
+ margin: 0 0 1rem 1rem; }
434
+ .wpgdprc blockquote p:before {
435
+ content: '“'; }
436
+ .wpgdprc blockquote p:after {
437
+ content: '”'; }
438
+ .wpgdprc blockquote cite {
439
+ color: #5A5A5A; }
440
+
441
+ /* Foundation; The XY Grid is included by default; Documentation at <http://foundation.zurb.com/sites/docs/> */
442
+ /**
443
+ * Foundation for Sites
444
+ * Version 6.6.3
445
+ * https://get.foundation
446
+ * Licensed under MIT Open Source
447
+ */
448
+ .grid-container {
449
+ padding-right: 0.9375rem;
450
+ padding-left: 0.9375rem;
451
+ max-width: 75rem;
452
+ margin-left: auto;
453
+ margin-right: auto; }
454
+ .grid-container.fluid {
455
+ padding-right: 0.9375rem;
456
+ padding-left: 0.9375rem;
457
+ max-width: 100%;
458
+ margin-left: auto;
459
+ margin-right: auto; }
460
+ .grid-container.full {
461
+ padding-right: 0;
462
+ padding-left: 0;
463
+ max-width: 100%;
464
+ margin-left: auto;
465
+ margin-right: auto; }
466
+
467
+ .grid-x {
468
+ display: flex;
469
+ flex-flow: row wrap; }
470
+
471
+ .cell {
472
+ flex: 0 0 auto;
473
+ min-height: 0px;
474
+ min-width: 0px;
475
+ width: 100%; }
476
+ .cell.auto {
477
+ flex: 1 1 0px; }
478
+ .cell.shrink {
479
+ flex: 0 0 auto; }
480
+
481
+ .grid-x > .auto {
482
+ width: auto; }
483
+
484
+ .grid-x > .shrink {
485
+ width: auto; }
486
+
487
+ .grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
488
+ flex-basis: auto; }
489
+
490
+ @media print, screen and (min-width: 40em) {
491
+ .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
492
+ flex-basis: auto; } }
493
+
494
+ @media print, screen and (min-width: 64em) {
495
+ .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
496
+ flex-basis: auto; } }
497
+
498
+ @media screen and (min-width: 75em) {
499
+ .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
500
+ flex-basis: auto; } }
501
+
502
+ @media screen and (min-width: 90em) {
503
+ .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
504
+ flex-basis: auto; } }
505
+
506
+ @media screen and (min-width: 100em) {
507
+ .grid-x > .xxxlarge-shrink, .grid-x > .xxxlarge-full, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-12 {
508
+ flex-basis: auto; } }
509
+
510
+ .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
511
+ flex: 0 0 auto; }
512
+
513
+ .grid-x > .small-1 {
514
+ width: 8.33333%; }
515
+
516
+ .grid-x > .small-2 {
517
+ width: 16.66667%; }
518
+
519
+ .grid-x > .small-3 {
520
+ width: 25%; }
521
+
522
+ .grid-x > .small-4 {
523
+ width: 33.33333%; }
524
+
525
+ .grid-x > .small-5 {
526
+ width: 41.66667%; }
527
+
528
+ .grid-x > .small-6 {
529
+ width: 50%; }
530
+
531
+ .grid-x > .small-7 {
532
+ width: 58.33333%; }
533
+
534
+ .grid-x > .small-8 {
535
+ width: 66.66667%; }
536
+
537
+ .grid-x > .small-9 {
538
+ width: 75%; }
539
+
540
+ .grid-x > .small-10 {
541
+ width: 83.33333%; }
542
+
543
+ .grid-x > .small-11 {
544
+ width: 91.66667%; }
545
+
546
+ .grid-x > .small-12 {
547
+ width: 100%; }
548
+
549
+ @media print, screen and (min-width: 40em) {
550
+ .grid-x > .medium-auto {
551
+ flex: 1 1 0px;
552
+ width: auto; }
553
+ .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
554
+ flex: 0 0 auto; }
555
+ .grid-x > .medium-shrink {
556
+ width: auto; }
557
+ .grid-x > .medium-1 {
558
+ width: 8.33333%; }
559
+ .grid-x > .medium-2 {
560
+ width: 16.66667%; }
561
+ .grid-x > .medium-3 {
562
+ width: 25%; }
563
+ .grid-x > .medium-4 {
564
+ width: 33.33333%; }
565
+ .grid-x > .medium-5 {
566
+ width: 41.66667%; }
567
+ .grid-x > .medium-6 {
568
+ width: 50%; }
569
+ .grid-x > .medium-7 {
570
+ width: 58.33333%; }
571
+ .grid-x > .medium-8 {
572
+ width: 66.66667%; }
573
+ .grid-x > .medium-9 {
574
+ width: 75%; }
575
+ .grid-x > .medium-10 {
576
+ width: 83.33333%; }
577
+ .grid-x > .medium-11 {
578
+ width: 91.66667%; }
579
+ .grid-x > .medium-12 {
580
+ width: 100%; } }
581
+
582
+ @media print, screen and (min-width: 64em) {
583
+ .grid-x > .large-auto {
584
+ flex: 1 1 0px;
585
+ width: auto; }
586
+ .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
587
+ flex: 0 0 auto; }
588
+ .grid-x > .large-shrink {
589
+ width: auto; }
590
+ .grid-x > .large-1 {
591
+ width: 8.33333%; }
592
+ .grid-x > .large-2 {
593
+ width: 16.66667%; }
594
+ .grid-x > .large-3 {
595
+ width: 25%; }
596
+ .grid-x > .large-4 {
597
+ width: 33.33333%; }
598
+ .grid-x > .large-5 {
599
+ width: 41.66667%; }
600
+ .grid-x > .large-6 {
601
+ width: 50%; }
602
+ .grid-x > .large-7 {
603
+ width: 58.33333%; }
604
+ .grid-x > .large-8 {
605
+ width: 66.66667%; }
606
+ .grid-x > .large-9 {
607
+ width: 75%; }
608
+ .grid-x > .large-10 {
609
+ width: 83.33333%; }
610
+ .grid-x > .large-11 {
611
+ width: 91.66667%; }
612
+ .grid-x > .large-12 {
613
+ width: 100%; } }
614
+
615
+ @media screen and (min-width: 75em) {
616
+ .grid-x > .xlarge-auto {
617
+ flex: 1 1 0px;
618
+ width: auto; }
619
+ .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
620
+ flex: 0 0 auto; }
621
+ .grid-x > .xlarge-shrink {
622
+ width: auto; }
623
+ .grid-x > .xlarge-1 {
624
+ width: 8.33333%; }
625
+ .grid-x > .xlarge-2 {
626
+ width: 16.66667%; }
627
+ .grid-x > .xlarge-3 {
628
+ width: 25%; }
629
+ .grid-x > .xlarge-4 {
630
+ width: 33.33333%; }
631
+ .grid-x > .xlarge-5 {
632
+ width: 41.66667%; }
633
+ .grid-x > .xlarge-6 {
634
+ width: 50%; }
635
+ .grid-x > .xlarge-7 {
636
+ width: 58.33333%; }
637
+ .grid-x > .xlarge-8 {
638
+ width: 66.66667%; }
639
+ .grid-x > .xlarge-9 {
640
+ width: 75%; }
641
+ .grid-x > .xlarge-10 {
642
+ width: 83.33333%; }
643
+ .grid-x > .xlarge-11 {
644
+ width: 91.66667%; }
645
+ .grid-x > .xlarge-12 {
646
+ width: 100%; } }
647
+
648
+ @media screen and (min-width: 90em) {
649
+ .grid-x > .xxlarge-auto {
650
+ flex: 1 1 0px;
651
+ width: auto; }
652
+ .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
653
+ flex: 0 0 auto; }
654
+ .grid-x > .xxlarge-shrink {
655
+ width: auto; }
656
+ .grid-x > .xxlarge-1 {
657
+ width: 8.33333%; }
658
+ .grid-x > .xxlarge-2 {
659
+ width: 16.66667%; }
660
+ .grid-x > .xxlarge-3 {
661
+ width: 25%; }
662
+ .grid-x > .xxlarge-4 {
663
+ width: 33.33333%; }
664
+ .grid-x > .xxlarge-5 {
665
+ width: 41.66667%; }
666
+ .grid-x > .xxlarge-6 {
667
+ width: 50%; }
668
+ .grid-x > .xxlarge-7 {
669
+ width: 58.33333%; }
670
+ .grid-x > .xxlarge-8 {
671
+ width: 66.66667%; }
672
+ .grid-x > .xxlarge-9 {
673
+ width: 75%; }
674
+ .grid-x > .xxlarge-10 {
675
+ width: 83.33333%; }
676
+ .grid-x > .xxlarge-11 {
677
+ width: 91.66667%; }
678
+ .grid-x > .xxlarge-12 {
679
+ width: 100%; } }
680
+
681
+ @media screen and (min-width: 100em) {
682
+ .grid-x > .xxxlarge-auto {
683
+ flex: 1 1 0px;
684
+ width: auto; }
685
+ .grid-x > .xxxlarge-shrink, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-12 {
686
+ flex: 0 0 auto; }
687
+ .grid-x > .xxxlarge-shrink {
688
+ width: auto; }
689
+ .grid-x > .xxxlarge-1 {
690
+ width: 8.33333%; }
691
+ .grid-x > .xxxlarge-2 {
692
+ width: 16.66667%; }
693
+ .grid-x > .xxxlarge-3 {
694
+ width: 25%; }
695
+ .grid-x > .xxxlarge-4 {
696
+ width: 33.33333%; }
697
+ .grid-x > .xxxlarge-5 {
698
+ width: 41.66667%; }
699
+ .grid-x > .xxxlarge-6 {
700
+ width: 50%; }
701
+ .grid-x > .xxxlarge-7 {
702
+ width: 58.33333%; }
703
+ .grid-x > .xxxlarge-8 {
704
+ width: 66.66667%; }
705
+ .grid-x > .xxxlarge-9 {
706
+ width: 75%; }
707
+ .grid-x > .xxxlarge-10 {
708
+ width: 83.33333%; }
709
+ .grid-x > .xxxlarge-11 {
710
+ width: 91.66667%; }
711
+ .grid-x > .xxxlarge-12 {
712
+ width: 100%; } }
713
+
714
+ .grid-margin-x:not(.grid-x) > .cell {
715
+ width: auto; }
716
+
717
+ .grid-margin-y:not(.grid-y) > .cell {
718
+ height: auto; }
719
+
720
+ .grid-margin-x {
721
+ margin-left: -0.9375rem;
722
+ margin-right: -0.9375rem; }
723
+ .grid-margin-x > .cell {
724
+ width: calc(100% - 1.875rem);
725
+ margin-left: 0.9375rem;
726
+ margin-right: 0.9375rem; }
727
+ .grid-margin-x > .auto {
728
+ width: auto; }
729
+ .grid-margin-x > .shrink {
730
+ width: auto; }
731
+ .grid-margin-x > .small-1 {
732
+ width: calc(8.33333% - 1.875rem); }
733
+ .grid-margin-x > .small-2 {
734
+ width: calc(16.66667% - 1.875rem); }
735
+ .grid-margin-x > .small-3 {
736
+ width: calc(25% - 1.875rem); }
737
+ .grid-margin-x > .small-4 {
738
+ width: calc(33.33333% - 1.875rem); }
739
+ .grid-margin-x > .small-5 {
740
+ width: calc(41.66667% - 1.875rem); }
741
+ .grid-margin-x > .small-6 {
742
+ width: calc(50% - 1.875rem); }
743
+ .grid-margin-x > .small-7 {
744
+ width: calc(58.33333% - 1.875rem); }
745
+ .grid-margin-x > .small-8 {
746
+ width: calc(66.66667% - 1.875rem); }
747
+ .grid-margin-x > .small-9 {
748
+ width: calc(75% - 1.875rem); }
749
+ .grid-margin-x > .small-10 {
750
+ width: calc(83.33333% - 1.875rem); }
751
+ .grid-margin-x > .small-11 {
752
+ width: calc(91.66667% - 1.875rem); }
753
+ .grid-margin-x > .small-12 {
754
+ width: calc(100% - 1.875rem); }
755
+ @media print, screen and (min-width: 40em) {
756
+ .grid-margin-x > .medium-auto {
757
+ width: auto; }
758
+ .grid-margin-x > .medium-shrink {
759
+ width: auto; }
760
+ .grid-margin-x > .medium-1 {
761
+ width: calc(8.33333% - 1.875rem); }
762
+ .grid-margin-x > .medium-2 {
763
+ width: calc(16.66667% - 1.875rem); }
764
+ .grid-margin-x > .medium-3 {
765
+ width: calc(25% - 1.875rem); }
766
+ .grid-margin-x > .medium-4 {
767
+ width: calc(33.33333% - 1.875rem); }
768
+ .grid-margin-x > .medium-5 {
769
+ width: calc(41.66667% - 1.875rem); }
770
+ .grid-margin-x > .medium-6 {
771
+ width: calc(50% - 1.875rem); }
772
+ .grid-margin-x > .medium-7 {
773
+ width: calc(58.33333% - 1.875rem); }
774
+ .grid-margin-x > .medium-8 {
775
+ width: calc(66.66667% - 1.875rem); }
776
+ .grid-margin-x > .medium-9 {
777
+ width: calc(75% - 1.875rem); }
778
+ .grid-margin-x > .medium-10 {
779
+ width: calc(83.33333% - 1.875rem); }
780
+ .grid-margin-x > .medium-11 {
781
+ width: calc(91.66667% - 1.875rem); }
782
+ .grid-margin-x > .medium-12 {
783
+ width: calc(100% - 1.875rem); } }
784
+ @media print, screen and (min-width: 64em) {
785
+ .grid-margin-x > .large-auto {
786
+ width: auto; }
787
+ .grid-margin-x > .large-shrink {
788
+ width: auto; }
789
+ .grid-margin-x > .large-1 {
790
+ width: calc(8.33333% - 1.875rem); }
791
+ .grid-margin-x > .large-2 {
792
+ width: calc(16.66667% - 1.875rem); }
793
+ .grid-margin-x > .large-3 {
794
+ width: calc(25% - 1.875rem); }
795
+ .grid-margin-x > .large-4 {
796
+ width: calc(33.33333% - 1.875rem); }
797
+ .grid-margin-x > .large-5 {
798
+ width: calc(41.66667% - 1.875rem); }
799
+ .grid-margin-x > .large-6 {
800
+ width: calc(50% - 1.875rem); }
801
+ .grid-margin-x > .large-7 {
802
+ width: calc(58.33333% - 1.875rem); }
803
+ .grid-margin-x > .large-8 {
804
+ width: calc(66.66667% - 1.875rem); }
805
+ .grid-margin-x > .large-9 {
806
+ width: calc(75% - 1.875rem); }
807
+ .grid-margin-x > .large-10 {
808
+ width: calc(83.33333% - 1.875rem); }
809
+ .grid-margin-x > .large-11 {
810
+ width: calc(91.66667% - 1.875rem); }
811
+ .grid-margin-x > .large-12 {
812
+ width: calc(100% - 1.875rem); } }
813
+ @media screen and (min-width: 75em) {
814
+ .grid-margin-x > .xlarge-auto {
815
+ width: auto; }
816
+ .grid-margin-x > .xlarge-shrink {
817
+ width: auto; }
818
+ .grid-margin-x > .xlarge-1 {
819
+ width: calc(8.33333% - 1.875rem); }
820
+ .grid-margin-x > .xlarge-2 {
821
+ width: calc(16.66667% - 1.875rem); }
822
+ .grid-margin-x > .xlarge-3 {
823
+ width: calc(25% - 1.875rem); }
824
+ .grid-margin-x > .xlarge-4 {
825
+ width: calc(33.33333% - 1.875rem); }
826
+ .grid-margin-x > .xlarge-5 {
827
+ width: calc(41.66667% - 1.875rem); }
828
+ .grid-margin-x > .xlarge-6 {
829
+ width: calc(50% - 1.875rem); }
830
+ .grid-margin-x > .xlarge-7 {
831
+ width: calc(58.33333% - 1.875rem); }
832
+ .grid-margin-x > .xlarge-8 {
833
+ width: calc(66.66667% - 1.875rem); }
834
+ .grid-margin-x > .xlarge-9 {
835
+ width: calc(75% - 1.875rem); }
836
+ .grid-margin-x > .xlarge-10 {
837
+ width: calc(83.33333% - 1.875rem); }
838
+ .grid-margin-x > .xlarge-11 {
839
+ width: calc(91.66667% - 1.875rem); }
840
+ .grid-margin-x > .xlarge-12 {
841
+ width: calc(100% - 1.875rem); } }
842
+ @media screen and (min-width: 90em) {
843
+ .grid-margin-x > .xxlarge-auto {
844
+ width: auto; }
845
+ .grid-margin-x > .xxlarge-shrink {
846
+ width: auto; }
847
+ .grid-margin-x > .xxlarge-1 {
848
+ width: calc(8.33333% - 1.875rem); }
849
+ .grid-margin-x > .xxlarge-2 {
850
+ width: calc(16.66667% - 1.875rem); }
851
+ .grid-margin-x > .xxlarge-3 {
852
+ width: calc(25% - 1.875rem); }
853
+ .grid-margin-x > .xxlarge-4 {
854
+ width: calc(33.33333% - 1.875rem); }
855
+ .grid-margin-x > .xxlarge-5 {
856
+ width: calc(41.66667% - 1.875rem); }
857
+ .grid-margin-x > .xxlarge-6 {
858
+ width: calc(50% - 1.875rem); }
859
+ .grid-margin-x > .xxlarge-7 {
860
+ width: calc(58.33333% - 1.875rem); }
861
+ .grid-margin-x > .xxlarge-8 {
862
+ width: calc(66.66667% - 1.875rem); }
863
+ .grid-margin-x > .xxlarge-9 {
864
+ width: calc(75% - 1.875rem); }
865
+ .grid-margin-x > .xxlarge-10 {
866
+ width: calc(83.33333% - 1.875rem); }
867
+ .grid-margin-x > .xxlarge-11 {
868
+ width: calc(91.66667% - 1.875rem); }
869
+ .grid-margin-x > .xxlarge-12 {
870
+ width: calc(100% - 1.875rem); } }
871
+ @media screen and (min-width: 100em) {
872
+ .grid-margin-x > .xxxlarge-auto {
873
+ width: auto; }
874
+ .grid-margin-x > .xxxlarge-shrink {
875
+ width: auto; }
876
+ .grid-margin-x > .xxxlarge-1 {
877
+ width: calc(8.33333% - 1.875rem); }
878
+ .grid-margin-x > .xxxlarge-2 {
879
+ width: calc(16.66667% - 1.875rem); }
880
+ .grid-margin-x > .xxxlarge-3 {
881
+ width: calc(25% - 1.875rem); }
882
+ .grid-margin-x > .xxxlarge-4 {
883
+ width: calc(33.33333% - 1.875rem); }
884
+ .grid-margin-x > .xxxlarge-5 {
885
+ width: calc(41.66667% - 1.875rem); }
886
+ .grid-margin-x > .xxxlarge-6 {
887
+ width: calc(50% - 1.875rem); }
888
+ .grid-margin-x > .xxxlarge-7 {
889
+ width: calc(58.33333% - 1.875rem); }
890
+ .grid-margin-x > .xxxlarge-8 {
891
+ width: calc(66.66667% - 1.875rem); }
892
+ .grid-margin-x > .xxxlarge-9 {
893
+ width: calc(75% - 1.875rem); }
894
+ .grid-margin-x > .xxxlarge-10 {
895
+ width: calc(83.33333% - 1.875rem); }
896
+ .grid-margin-x > .xxxlarge-11 {
897
+ width: calc(91.66667% - 1.875rem); }
898
+ .grid-margin-x > .xxxlarge-12 {
899
+ width: calc(100% - 1.875rem); } }
900
+
901
+ .grid-padding-x .grid-padding-x {
902
+ margin-right: -0.9375rem;
903
+ margin-left: -0.9375rem; }
904
+
905
+ .grid-container:not(.full) > .grid-padding-x {
906
+ margin-right: -0.9375rem;
907
+ margin-left: -0.9375rem; }
908
+
909
+ .grid-padding-x > .cell {
910
+ padding-right: 0.9375rem;
911
+ padding-left: 0.9375rem; }
912
+
913
+ .small-up-1 > .cell {
914
+ width: 100%; }
915
+
916
+ .small-up-2 > .cell {
917
+ width: 50%; }
918
+
919
+ .small-up-3 > .cell {
920
+ width: 33.33333%; }
921
+
922
+ .small-up-4 > .cell {
923
+ width: 25%; }
924
+
925
+ .small-up-5 > .cell {
926
+ width: 20%; }
927
+
928
+ .small-up-6 > .cell {
929
+ width: 16.66667%; }
930
+
931
+ .small-up-7 > .cell {
932
+ width: 14.28571%; }
933
+
934
+ .small-up-8 > .cell {
935
+ width: 12.5%; }
936
+
937
+ @media print, screen and (min-width: 40em) {
938
+ .medium-up-1 > .cell {
939
+ width: 100%; }
940
+ .medium-up-2 > .cell {
941
+ width: 50%; }
942
+ .medium-up-3 > .cell {
943
+ width: 33.33333%; }
944
+ .medium-up-4 > .cell {
945
+ width: 25%; }
946
+ .medium-up-5 > .cell {
947
+ width: 20%; }
948
+ .medium-up-6 > .cell {
949
+ width: 16.66667%; }
950
+ .medium-up-7 > .cell {
951
+ width: 14.28571%; }
952
+ .medium-up-8 > .cell {
953
+ width: 12.5%; } }
954
+
955
+ @media print, screen and (min-width: 64em) {
956
+ .large-up-1 > .cell {
957
+ width: 100%; }
958
+ .large-up-2 > .cell {
959
+ width: 50%; }
960
+ .large-up-3 > .cell {
961
+ width: 33.33333%; }
962
+ .large-up-4 > .cell {
963
+ width: 25%; }
964
+ .large-up-5 > .cell {
965
+ width: 20%; }
966
+ .large-up-6 > .cell {
967
+ width: 16.66667%; }
968
+ .large-up-7 > .cell {
969
+ width: 14.28571%; }
970
+ .large-up-8 > .cell {
971
+ width: 12.5%; } }
972
+
973
+ @media screen and (min-width: 75em) {
974
+ .xlarge-up-1 > .cell {
975
+ width: 100%; }
976
+ .xlarge-up-2 > .cell {
977
+ width: 50%; }
978
+ .xlarge-up-3 > .cell {
979
+ width: 33.33333%; }
980
+ .xlarge-up-4 > .cell {
981
+ width: 25%; }
982
+ .xlarge-up-5 > .cell {
983
+ width: 20%; }
984
+ .xlarge-up-6 > .cell {
985
+ width: 16.66667%; }
986
+ .xlarge-up-7 > .cell {
987
+ width: 14.28571%; }
988
+ .xlarge-up-8 > .cell {
989
+ width: 12.5%; } }
990
+
991
+ @media screen and (min-width: 90em) {
992
+ .xxlarge-up-1 > .cell {
993
+ width: 100%; }
994
+ .xxlarge-up-2 > .cell {
995
+ width: 50%; }
996
+ .xxlarge-up-3 > .cell {
997
+ width: 33.33333%; }
998
+ .xxlarge-up-4 > .cell {
999
+ width: 25%; }
1000
+ .xxlarge-up-5 > .cell {
1001
+ width: 20%; }
1002
+ .xxlarge-up-6 > .cell {
1003
+ width: 16.66667%; }
1004
+ .xxlarge-up-7 > .cell {
1005
+ width: 14.28571%; }
1006
+ .xxlarge-up-8 > .cell {
1007
+ width: 12.5%; } }
1008
+
1009
+ @media screen and (min-width: 100em) {
1010
+ .xxxlarge-up-1 > .cell {
1011
+ width: 100%; }
1012
+ .xxxlarge-up-2 > .cell {
1013
+ width: 50%; }
1014
+ .xxxlarge-up-3 > .cell {
1015
+ width: 33.33333%; }
1016
+ .xxxlarge-up-4 > .cell {
1017
+ width: 25%; }
1018
+ .xxxlarge-up-5 > .cell {
1019
+ width: 20%; }
1020
+ .xxxlarge-up-6 > .cell {
1021
+ width: 16.66667%; }
1022
+ .xxxlarge-up-7 > .cell {
1023
+ width: 14.28571%; }
1024
+ .xxxlarge-up-8 > .cell {
1025
+ width: 12.5%; } }
1026
+
1027
+ .grid-margin-x.small-up-1 > .cell {
1028
+ width: calc(100% - 1.875rem); }
1029
+
1030
+ .grid-margin-x.small-up-2 > .cell {
1031
+ width: calc(50% - 1.875rem); }
1032
+
1033
+ .grid-margin-x.small-up-3 > .cell {
1034
+ width: calc(33.33333% - 1.875rem); }
1035
+
1036
+ .grid-margin-x.small-up-4 > .cell {
1037
+ width: calc(25% - 1.875rem); }
1038
+
1039
+ .grid-margin-x.small-up-5 > .cell {
1040
+ width: calc(20% - 1.875rem); }
1041
+
1042
+ .grid-margin-x.small-up-6 > .cell {
1043
+ width: calc(16.66667% - 1.875rem); }
1044
+
1045
+ .grid-margin-x.small-up-7 > .cell {
1046
+ width: calc(14.28571% - 1.875rem); }
1047
+
1048
+ .grid-margin-x.small-up-8 > .cell {
1049
+ width: calc(12.5% - 1.875rem); }
1050
+
1051
+ @media print, screen and (min-width: 40em) {
1052
+ .grid-margin-x.medium-up-1 > .cell {
1053
+ width: calc(100% - 1.875rem); }
1054
+ .grid-margin-x.medium-up-2 > .cell {
1055
+ width: calc(50% - 1.875rem); }
1056
+ .grid-margin-x.medium-up-3 > .cell {
1057
+ width: calc(33.33333% - 1.875rem); }
1058
+ .grid-margin-x.medium-up-4 > .cell {
1059
+ width: calc(25% - 1.875rem); }
1060
+ .grid-margin-x.medium-up-5 > .cell {
1061
+ width: calc(20% - 1.875rem); }
1062
+ .grid-margin-x.medium-up-6 > .cell {
1063
+ width: calc(16.66667% - 1.875rem); }
1064
+ .grid-margin-x.medium-up-7 > .cell {
1065
+ width: calc(14.28571% - 1.875rem); }
1066
+ .grid-margin-x.medium-up-8 > .cell {
1067
+ width: calc(12.5% - 1.875rem); } }
1068
+
1069
+ @media print, screen and (min-width: 64em) {
1070
+ .grid-margin-x.large-up-1 > .cell {
1071
+ width: calc(100% - 1.875rem); }
1072
+ .grid-margin-x.large-up-2 > .cell {
1073
+ width: calc(50% - 1.875rem); }
1074
+ .grid-margin-x.large-up-3 > .cell {
1075
+ width: calc(33.33333% - 1.875rem); }
1076
+ .grid-margin-x.large-up-4 > .cell {
1077
+ width: calc(25% - 1.875rem); }
1078
+ .grid-margin-x.large-up-5 > .cell {
1079
+ width: calc(20% - 1.875rem); }
1080
+ .grid-margin-x.large-up-6 > .cell {
1081
+ width: calc(16.66667% - 1.875rem); }
1082
+ .grid-margin-x.large-up-7 > .cell {
1083
+ width: calc(14.28571% - 1.875rem); }
1084
+ .grid-margin-x.large-up-8 > .cell {
1085
+ width: calc(12.5% - 1.875rem); } }
1086
+
1087
+ @media screen and (min-width: 75em) {
1088
+ .grid-margin-x.xlarge-up-1 > .cell {
1089
+ width: calc(100% - 1.875rem); }
1090
+ .grid-margin-x.xlarge-up-2 > .cell {
1091
+ width: calc(50% - 1.875rem); }
1092
+ .grid-margin-x.xlarge-up-3 > .cell {
1093
+ width: calc(33.33333% - 1.875rem); }
1094
+ .grid-margin-x.xlarge-up-4 > .cell {
1095
+ width: calc(25% - 1.875rem); }
1096
+ .grid-margin-x.xlarge-up-5 > .cell {
1097
+ width: calc(20% - 1.875rem); }
1098
+ .grid-margin-x.xlarge-up-6 > .cell {
1099
+ width: calc(16.66667% - 1.875rem); }
1100
+ .grid-margin-x.xlarge-up-7 > .cell {
1101
+ width: calc(14.28571% - 1.875rem); }
1102
+ .grid-margin-x.xlarge-up-8 > .cell {
1103
+ width: calc(12.5% - 1.875rem); } }
1104
+
1105
+ @media screen and (min-width: 90em) {
1106
+ .grid-margin-x.xxlarge-up-1 > .cell {
1107
+ width: calc(100% - 1.875rem); }
1108
+ .grid-margin-x.xxlarge-up-2 > .cell {
1109
+ width: calc(50% - 1.875rem); }
1110
+ .grid-margin-x.xxlarge-up-3 > .cell {
1111
+ width: calc(33.33333% - 1.875rem); }
1112
+ .grid-margin-x.xxlarge-up-4 > .cell {
1113
+ width: calc(25% - 1.875rem); }
1114
+ .grid-margin-x.xxlarge-up-5 > .cell {
1115
+ width: calc(20% - 1.875rem); }
1116
+ .grid-margin-x.xxlarge-up-6 > .cell {
1117
+ width: calc(16.66667% - 1.875rem); }
1118
+ .grid-margin-x.xxlarge-up-7 > .cell {
1119
+ width: calc(14.28571% - 1.875rem); }
1120
+ .grid-margin-x.xxlarge-up-8 > .cell {
1121
+ width: calc(12.5% - 1.875rem); } }
1122
+
1123
+ @media screen and (min-width: 100em) {
1124
+ .grid-margin-x.xxxlarge-up-1 > .cell {
1125
+ width: calc(100% - 1.875rem); }
1126
+ .grid-margin-x.xxxlarge-up-2 > .cell {
1127
+ width: calc(50% - 1.875rem); }
1128
+ .grid-margin-x.xxxlarge-up-3 > .cell {
1129
+ width: calc(33.33333% - 1.875rem); }
1130
+ .grid-margin-x.xxxlarge-up-4 > .cell {
1131
+ width: calc(25% - 1.875rem); }
1132
+ .grid-margin-x.xxxlarge-up-5 > .cell {
1133
+ width: calc(20% - 1.875rem); }
1134
+ .grid-margin-x.xxxlarge-up-6 > .cell {
1135
+ width: calc(16.66667% - 1.875rem); }
1136
+ .grid-margin-x.xxxlarge-up-7 > .cell {
1137
+ width: calc(14.28571% - 1.875rem); }
1138
+ .grid-margin-x.xxxlarge-up-8 > .cell {
1139
+ width: calc(12.5% - 1.875rem); } }
1140
+
1141
+ .small-margin-collapse {
1142
+ margin-right: 0;
1143
+ margin-left: 0; }
1144
+ .small-margin-collapse > .cell {
1145
+ margin-right: 0;
1146
+ margin-left: 0; }
1147
+ .small-margin-collapse > .small-1 {
1148
+ width: 8.33333%; }
1149
+ .small-margin-collapse > .small-2 {
1150
+ width: 16.66667%; }
1151
+ .small-margin-collapse > .small-3 {
1152
+ width: 25%; }
1153
+ .small-margin-collapse > .small-4 {
1154
+ width: 33.33333%; }
1155
+ .small-margin-collapse > .small-5 {
1156
+ width: 41.66667%; }
1157
+ .small-margin-collapse > .small-6 {
1158
+ width: 50%; }
1159
+ .small-margin-collapse > .small-7 {
1160
+ width: 58.33333%; }
1161
+ .small-margin-collapse > .small-8 {
1162
+ width: 66.66667%; }
1163
+ .small-margin-collapse > .small-9 {
1164
+ width: 75%; }
1165
+ .small-margin-collapse > .small-10 {
1166
+ width: 83.33333%; }
1167
+ .small-margin-collapse > .small-11 {
1168
+ width: 91.66667%; }
1169
+ .small-margin-collapse > .small-12 {
1170
+ width: 100%; }
1171
+ @media print, screen and (min-width: 40em) {
1172
+ .small-margin-collapse > .medium-1 {
1173
+ width: 8.33333%; }
1174
+ .small-margin-collapse > .medium-2 {
1175
+ width: 16.66667%; }
1176
+ .small-margin-collapse > .medium-3 {
1177
+ width: 25%; }
1178
+ .small-margin-collapse > .medium-4 {
1179
+ width: 33.33333%; }
1180
+ .small-margin-collapse > .medium-5 {
1181
+ width: 41.66667%; }
1182
+ .small-margin-collapse > .medium-6 {
1183
+ width: 50%; }
1184
+ .small-margin-collapse > .medium-7 {
1185
+ width: 58.33333%; }
1186
+ .small-margin-collapse > .medium-8 {
1187
+ width: 66.66667%; }
1188
+ .small-margin-collapse > .medium-9 {
1189
+ width: 75%; }
1190
+ .small-margin-collapse > .medium-10 {
1191
+ width: 83.33333%; }
1192
+ .small-margin-collapse > .medium-11 {
1193
+ width: 91.66667%; }
1194
+ .small-margin-collapse > .medium-12 {
1195
+ width: 100%; } }
1196
+ @media print, screen and (min-width: 64em) {
1197
+ .small-margin-collapse > .large-1 {
1198
+ width: 8.33333%; }
1199
+ .small-margin-collapse > .large-2 {
1200
+ width: 16.66667%; }
1201
+ .small-margin-collapse > .large-3 {
1202
+ width: 25%; }
1203
+ .small-margin-collapse > .large-4 {
1204
+ width: 33.33333%; }
1205
+ .small-margin-collapse > .large-5 {
1206
+ width: 41.66667%; }
1207
+ .small-margin-collapse > .large-6 {
1208
+ width: 50%; }
1209
+ .small-margin-collapse > .large-7 {
1210
+ width: 58.33333%; }
1211
+ .small-margin-collapse > .large-8 {
1212
+ width: 66.66667%; }
1213
+ .small-margin-collapse > .large-9 {
1214
+ width: 75%; }
1215
+ .small-margin-collapse > .large-10 {
1216
+ width: 83.33333%; }
1217
+ .small-margin-collapse > .large-11 {
1218
+ width: 91.66667%; }
1219
+ .small-margin-collapse > .large-12 {
1220
+ width: 100%; } }
1221
+ @media screen and (min-width: 75em) {
1222
+ .small-margin-collapse > .xlarge-1 {
1223
+ width: 8.33333%; }
1224
+ .small-margin-collapse > .xlarge-2 {
1225
+ width: 16.66667%; }
1226
+ .small-margin-collapse > .xlarge-3 {
1227
+ width: 25%; }
1228
+ .small-margin-collapse > .xlarge-4 {
1229
+ width: 33.33333%; }
1230
+ .small-margin-collapse > .xlarge-5 {
1231
+ width: 41.66667%; }
1232
+ .small-margin-collapse > .xlarge-6 {
1233
+ width: 50%; }
1234
+ .small-margin-collapse > .xlarge-7 {
1235
+ width: 58.33333%; }
1236
+ .small-margin-collapse > .xlarge-8 {
1237
+ width: 66.66667%; }
1238
+ .small-margin-collapse > .xlarge-9 {
1239
+ width: 75%; }
1240
+ .small-margin-collapse > .xlarge-10 {
1241
+ width: 83.33333%; }
1242
+ .small-margin-collapse > .xlarge-11 {
1243
+ width: 91.66667%; }
1244
+ .small-margin-collapse > .xlarge-12 {
1245
+ width: 100%; } }
1246
+ @media screen and (min-width: 90em) {
1247
+ .small-margin-collapse > .xxlarge-1 {
1248
+ width: 8.33333%; }
1249
+ .small-margin-collapse > .xxlarge-2 {
1250
+ width: 16.66667%; }
1251
+ .small-margin-collapse > .xxlarge-3 {
1252
+ width: 25%; }
1253
+ .small-margin-collapse > .xxlarge-4 {
1254
+ width: 33.33333%; }
1255
+ .small-margin-collapse > .xxlarge-5 {
1256
+ width: 41.66667%; }
1257
+ .small-margin-collapse > .xxlarge-6 {
1258
+ width: 50%; }
1259
+ .small-margin-collapse > .xxlarge-7 {
1260
+ width: 58.33333%; }
1261
+ .small-margin-collapse > .xxlarge-8 {
1262
+ width: 66.66667%; }
1263
+ .small-margin-collapse > .xxlarge-9 {
1264
+ width: 75%; }
1265
+ .small-margin-collapse > .xxlarge-10 {
1266
+ width: 83.33333%; }
1267
+ .small-margin-collapse > .xxlarge-11 {
1268
+ width: 91.66667%; }
1269
+ .small-margin-collapse > .xxlarge-12 {
1270
+ width: 100%; } }
1271
+ @media screen and (min-width: 100em) {
1272
+ .small-margin-collapse > .xxxlarge-1 {
1273
+ width: 8.33333%; }
1274
+ .small-margin-collapse > .xxxlarge-2 {
1275
+ width: 16.66667%; }
1276
+ .small-margin-collapse > .xxxlarge-3 {
1277
+ width: 25%; }
1278
+ .small-margin-collapse > .xxxlarge-4 {
1279
+ width: 33.33333%; }
1280
+ .small-margin-collapse > .xxxlarge-5 {
1281
+ width: 41.66667%; }
1282
+ .small-margin-collapse > .xxxlarge-6 {
1283
+ width: 50%; }
1284
+ .small-margin-collapse > .xxxlarge-7 {
1285
+ width: 58.33333%; }
1286
+ .small-margin-collapse > .xxxlarge-8 {
1287
+ width: 66.66667%; }
1288
+ .small-margin-collapse > .xxxlarge-9 {
1289
+ width: 75%; }
1290
+ .small-margin-collapse > .xxxlarge-10 {
1291
+ width: 83.33333%; }
1292
+ .small-margin-collapse > .xxxlarge-11 {
1293
+ width: 91.66667%; }
1294
+ .small-margin-collapse > .xxxlarge-12 {
1295
+ width: 100%; } }
1296
+
1297
+ .small-padding-collapse {
1298
+ margin-right: 0;
1299
+ margin-left: 0; }
1300
+ .small-padding-collapse > .cell {
1301
+ padding-right: 0;
1302
+ padding-left: 0; }
1303
+
1304
+ @media print, screen and (min-width: 40em) {
1305
+ .medium-margin-collapse {
1306
+ margin-right: 0;
1307
+ margin-left: 0; }
1308
+ .medium-margin-collapse > .cell {
1309
+ margin-right: 0;
1310
+ margin-left: 0; } }
1311
+
1312
+ @media print, screen and (min-width: 40em) {
1313
+ .medium-margin-collapse > .small-1 {
1314
+ width: 8.33333%; }
1315
+ .medium-margin-collapse > .small-2 {
1316
+ width: 16.66667%; }
1317
+ .medium-margin-collapse > .small-3 {
1318
+ width: 25%; }
1319
+ .medium-margin-collapse > .small-4 {
1320
+ width: 33.33333%; }
1321
+ .medium-margin-collapse > .small-5 {
1322
+ width: 41.66667%; }
1323
+ .medium-margin-collapse > .small-6 {
1324
+ width: 50%; }
1325
+ .medium-margin-collapse > .small-7 {
1326
+ width: 58.33333%; }
1327
+ .medium-margin-collapse > .small-8 {
1328
+ width: 66.66667%; }
1329
+ .medium-margin-collapse > .small-9 {
1330
+ width: 75%; }
1331
+ .medium-margin-collapse > .small-10 {
1332
+ width: 83.33333%; }
1333
+ .medium-margin-collapse > .small-11 {
1334
+ width: 91.66667%; }
1335
+ .medium-margin-collapse > .small-12 {
1336
+ width: 100%; } }
1337
+
1338
+ @media print, screen and (min-width: 40em) {
1339
+ .medium-margin-collapse > .medium-1 {
1340
+ width: 8.33333%; }
1341
+ .medium-margin-collapse > .medium-2 {
1342
+ width: 16.66667%; }
1343
+ .medium-margin-collapse > .medium-3 {
1344
+ width: 25%; }
1345
+ .medium-margin-collapse > .medium-4 {
1346
+ width: 33.33333%; }
1347
+ .medium-margin-collapse > .medium-5 {
1348
+ width: 41.66667%; }
1349
+ .medium-margin-collapse > .medium-6 {
1350
+ width: 50%; }
1351
+ .medium-margin-collapse > .medium-7 {
1352
+ width: 58.33333%; }
1353
+ .medium-margin-collapse > .medium-8 {
1354
+ width: 66.66667%; }
1355
+ .medium-margin-collapse > .medium-9 {
1356
+ width: 75%; }
1357
+ .medium-margin-collapse > .medium-10 {
1358
+ width: 83.33333%; }
1359
+ .medium-margin-collapse > .medium-11 {
1360
+ width: 91.66667%; }
1361
+ .medium-margin-collapse > .medium-12 {
1362
+ width: 100%; } }
1363
+
1364
+ @media print, screen and (min-width: 64em) {
1365
+ .medium-margin-collapse > .large-1 {
1366
+ width: 8.33333%; }
1367
+ .medium-margin-collapse > .large-2 {
1368
+ width: 16.66667%; }
1369
+ .medium-margin-collapse > .large-3 {
1370
+ width: 25%; }
1371
+ .medium-margin-collapse > .large-4 {
1372
+ width: 33.33333%; }
1373
+ .medium-margin-collapse > .large-5 {
1374
+ width: 41.66667%; }
1375
+ .medium-margin-collapse > .large-6 {
1376
+ width: 50%; }
1377
+ .medium-margin-collapse > .large-7 {
1378
+ width: 58.33333%; }
1379
+ .medium-margin-collapse > .large-8 {
1380
+ width: 66.66667%; }
1381
+ .medium-margin-collapse > .large-9 {
1382
+ width: 75%; }
1383
+ .medium-margin-collapse > .large-10 {
1384
+ width: 83.33333%; }
1385
+ .medium-margin-collapse > .large-11 {
1386
+ width: 91.66667%; }
1387
+ .medium-margin-collapse > .large-12 {
1388
+ width: 100%; } }
1389
+
1390
+ @media screen and (min-width: 75em) {
1391
+ .medium-margin-collapse > .xlarge-1 {
1392
+ width: 8.33333%; }
1393
+ .medium-margin-collapse > .xlarge-2 {
1394
+ width: 16.66667%; }
1395
+ .medium-margin-collapse > .xlarge-3 {
1396
+ width: 25%; }
1397
+ .medium-margin-collapse > .xlarge-4 {
1398
+ width: 33.33333%; }
1399
+ .medium-margin-collapse > .xlarge-5 {
1400
+ width: 41.66667%; }
1401
+ .medium-margin-collapse > .xlarge-6 {
1402
+ width: 50%; }
1403
+ .medium-margin-collapse > .xlarge-7 {
1404
+ width: 58.33333%; }
1405
+ .medium-margin-collapse > .xlarge-8 {
1406
+ width: 66.66667%; }
1407
+ .medium-margin-collapse > .xlarge-9 {
1408
+ width: 75%; }
1409
+ .medium-margin-collapse > .xlarge-10 {
1410
+ width: 83.33333%; }
1411
+ .medium-margin-collapse > .xlarge-11 {
1412
+ width: 91.66667%; }
1413
+ .medium-margin-collapse > .xlarge-12 {
1414
+ width: 100%; } }
1415
+
1416
+ @media screen and (min-width: 90em) {
1417
+ .medium-margin-collapse > .xxlarge-1 {
1418
+ width: 8.33333%; }
1419
+ .medium-margin-collapse > .xxlarge-2 {
1420
+ width: 16.66667%; }
1421
+ .medium-margin-collapse > .xxlarge-3 {
1422
+ width: 25%; }
1423
+ .medium-margin-collapse > .xxlarge-4 {
1424
+ width: 33.33333%; }
1425
+ .medium-margin-collapse > .xxlarge-5 {
1426
+ width: 41.66667%; }
1427
+ .medium-margin-collapse > .xxlarge-6 {
1428
+ width: 50%; }
1429
+ .medium-margin-collapse > .xxlarge-7 {
1430
+ width: 58.33333%; }
1431
+ .medium-margin-collapse > .xxlarge-8 {
1432
+ width: 66.66667%; }
1433
+ .medium-margin-collapse > .xxlarge-9 {
1434
+ width: 75%; }
1435
+ .medium-margin-collapse > .xxlarge-10 {
1436
+ width: 83.33333%; }
1437
+ .medium-margin-collapse > .xxlarge-11 {
1438
+ width: 91.66667%; }
1439
+ .medium-margin-collapse > .xxlarge-12 {
1440
+ width: 100%; } }
1441
+
1442
+ @media screen and (min-width: 100em) {
1443
+ .medium-margin-collapse > .xxxlarge-1 {
1444
+ width: 8.33333%; }
1445
+ .medium-margin-collapse > .xxxlarge-2 {
1446
+ width: 16.66667%; }
1447
+ .medium-margin-collapse > .xxxlarge-3 {
1448
+ width: 25%; }
1449
+ .medium-margin-collapse > .xxxlarge-4 {
1450
+ width: 33.33333%; }
1451
+ .medium-margin-collapse > .xxxlarge-5 {
1452
+ width: 41.66667%; }
1453
+ .medium-margin-collapse > .xxxlarge-6 {
1454
+ width: 50%; }
1455
+ .medium-margin-collapse > .xxxlarge-7 {
1456
+ width: 58.33333%; }
1457
+ .medium-margin-collapse > .xxxlarge-8 {
1458
+ width: 66.66667%; }
1459
+ .medium-margin-collapse > .xxxlarge-9 {
1460
+ width: 75%; }
1461
+ .medium-margin-collapse > .xxxlarge-10 {
1462
+ width: 83.33333%; }
1463
+ .medium-margin-collapse > .xxxlarge-11 {
1464
+ width: 91.66667%; }
1465
+ .medium-margin-collapse > .xxxlarge-12 {
1466
+ width: 100%; } }
1467
+
1468
+ @media print, screen and (min-width: 40em) {
1469
+ .medium-padding-collapse {
1470
+ margin-right: 0;
1471
+ margin-left: 0; }
1472
+ .medium-padding-collapse > .cell {
1473
+ padding-right: 0;
1474
+ padding-left: 0; } }
1475
+
1476
+ @media print, screen and (min-width: 64em) {
1477
+ .large-margin-collapse {
1478
+ margin-right: 0;
1479
+ margin-left: 0; }
1480
+ .large-margin-collapse > .cell {
1481
+ margin-right: 0;
1482
+ margin-left: 0; } }
1483
+
1484
+ @media print, screen and (min-width: 64em) {
1485
+ .large-margin-collapse > .small-1 {
1486
+ width: 8.33333%; }
1487
+ .large-margin-collapse > .small-2 {
1488
+ width: 16.66667%; }
1489
+ .large-margin-collapse > .small-3 {
1490
+ width: 25%; }
1491
+ .large-margin-collapse > .small-4 {
1492
+ width: 33.33333%; }
1493
+ .large-margin-collapse > .small-5 {
1494
+ width: 41.66667%; }
1495
+ .large-margin-collapse > .small-6 {
1496
+ width: 50%; }
1497
+ .large-margin-collapse > .small-7 {
1498
+ width: 58.33333%; }
1499
+ .large-margin-collapse > .small-8 {
1500
+ width: 66.66667%; }
1501
+ .large-margin-collapse > .small-9 {
1502
+ width: 75%; }
1503
+ .large-margin-collapse > .small-10 {
1504
+ width: 83.33333%; }
1505
+ .large-margin-collapse > .small-11 {
1506
+ width: 91.66667%; }
1507
+ .large-margin-collapse > .small-12 {
1508
+ width: 100%; } }
1509
+
1510
+ @media print, screen and (min-width: 64em) {
1511
+ .large-margin-collapse > .medium-1 {
1512
+ width: 8.33333%; }
1513
+ .large-margin-collapse > .medium-2 {
1514
+ width: 16.66667%; }
1515
+ .large-margin-collapse > .medium-3 {
1516
+ width: 25%; }
1517
+ .large-margin-collapse > .medium-4 {
1518
+ width: 33.33333%; }
1519
+ .large-margin-collapse > .medium-5 {
1520
+ width: 41.66667%; }
1521
+ .large-margin-collapse > .medium-6 {
1522
+ width: 50%; }
1523
+ .large-margin-collapse > .medium-7 {
1524
+ width: 58.33333%; }
1525
+ .large-margin-collapse > .medium-8 {
1526
+ width: 66.66667%; }
1527
+ .large-margin-collapse > .medium-9 {
1528
+ width: 75%; }
1529
+ .large-margin-collapse > .medium-10 {
1530
+ width: 83.33333%; }
1531
+ .large-margin-collapse > .medium-11 {
1532
+ width: 91.66667%; }
1533
+ .large-margin-collapse > .medium-12 {
1534
+ width: 100%; } }
1535
+
1536
+ @media print, screen and (min-width: 64em) {
1537
+ .large-margin-collapse > .large-1 {
1538
+ width: 8.33333%; }
1539
+ .large-margin-collapse > .large-2 {
1540
+ width: 16.66667%; }
1541
+ .large-margin-collapse > .large-3 {
1542
+ width: 25%; }
1543
+ .large-margin-collapse > .large-4 {
1544
+ width: 33.33333%; }
1545
+ .large-margin-collapse > .large-5 {
1546
+ width: 41.66667%; }
1547
+ .large-margin-collapse > .large-6 {
1548
+ width: 50%; }
1549
+ .large-margin-collapse > .large-7 {
1550
+ width: 58.33333%; }
1551
+ .large-margin-collapse > .large-8 {
1552
+ width: 66.66667%; }
1553
+ .large-margin-collapse > .large-9 {
1554
+ width: 75%; }
1555
+ .large-margin-collapse > .large-10 {
1556
+ width: 83.33333%; }
1557
+ .large-margin-collapse > .large-11 {
1558
+ width: 91.66667%; }
1559
+ .large-margin-collapse > .large-12 {
1560
+ width: 100%; } }
1561
+
1562
+ @media screen and (min-width: 75em) {
1563
+ .large-margin-collapse > .xlarge-1 {
1564
+ width: 8.33333%; }
1565
+ .large-margin-collapse > .xlarge-2 {
1566
+ width: 16.66667%; }
1567
+ .large-margin-collapse > .xlarge-3 {
1568
+ width: 25%; }
1569
+ .large-margin-collapse > .xlarge-4 {
1570
+ width: 33.33333%; }
1571
+ .large-margin-collapse > .xlarge-5 {
1572
+ width: 41.66667%; }
1573
+ .large-margin-collapse > .xlarge-6 {
1574
+ width: 50%; }
1575
+ .large-margin-collapse > .xlarge-7 {
1576
+ width: 58.33333%; }
1577
+ .large-margin-collapse > .xlarge-8 {
1578
+ width: 66.66667%; }
1579
+ .large-margin-collapse > .xlarge-9 {
1580
+ width: 75%; }
1581
+ .large-margin-collapse > .xlarge-10 {
1582
+ width: 83.33333%; }
1583
+ .large-margin-collapse > .xlarge-11 {
1584
+ width: 91.66667%; }
1585
+ .large-margin-collapse > .xlarge-12 {
1586
+ width: 100%; } }
1587
+
1588
+ @media screen and (min-width: 90em) {
1589
+ .large-margin-collapse > .xxlarge-1 {
1590
+ width: 8.33333%; }
1591
+ .large-margin-collapse > .xxlarge-2 {
1592
+ width: 16.66667%; }
1593
+ .large-margin-collapse > .xxlarge-3 {
1594
+ width: 25%; }
1595
+ .large-margin-collapse > .xxlarge-4 {
1596
+ width: 33.33333%; }
1597
+ .large-margin-collapse > .xxlarge-5 {
1598
+ width: 41.66667%; }
1599
+ .large-margin-collapse > .xxlarge-6 {
1600
+ width: 50%; }
1601
+ .large-margin-collapse > .xxlarge-7 {
1602
+ width: 58.33333%; }
1603
+ .large-margin-collapse > .xxlarge-8 {
1604
+ width: 66.66667%; }
1605
+ .large-margin-collapse > .xxlarge-9 {
1606
+ width: 75%; }
1607
+ .large-margin-collapse > .xxlarge-10 {
1608
+ width: 83.33333%; }
1609
+ .large-margin-collapse > .xxlarge-11 {
1610
+ width: 91.66667%; }
1611
+ .large-margin-collapse > .xxlarge-12 {
1612
+ width: 100%; } }
1613
+
1614
+ @media screen and (min-width: 100em) {
1615
+ .large-margin-collapse > .xxxlarge-1 {
1616
+ width: 8.33333%; }
1617
+ .large-margin-collapse > .xxxlarge-2 {
1618
+ width: 16.66667%; }
1619
+ .large-margin-collapse > .xxxlarge-3 {
1620
+ width: 25%; }
1621
+ .large-margin-collapse > .xxxlarge-4 {
1622
+ width: 33.33333%; }
1623
+ .large-margin-collapse > .xxxlarge-5 {
1624
+ width: 41.66667%; }
1625
+ .large-margin-collapse > .xxxlarge-6 {
1626
+ width: 50%; }
1627
+ .large-margin-collapse > .xxxlarge-7 {
1628
+ width: 58.33333%; }
1629
+ .large-margin-collapse > .xxxlarge-8 {
1630
+ width: 66.66667%; }
1631
+ .large-margin-collapse > .xxxlarge-9 {
1632
+ width: 75%; }
1633
+ .large-margin-collapse > .xxxlarge-10 {
1634
+ width: 83.33333%; }
1635
+ .large-margin-collapse > .xxxlarge-11 {
1636
+ width: 91.66667%; }
1637
+ .large-margin-collapse > .xxxlarge-12 {
1638
+ width: 100%; } }
1639
+
1640
+ @media print, screen and (min-width: 64em) {
1641
+ .large-padding-collapse {
1642
+ margin-right: 0;
1643
+ margin-left: 0; }
1644
+ .large-padding-collapse > .cell {
1645
+ padding-right: 0;
1646
+ padding-left: 0; } }
1647
+
1648
+ @media screen and (min-width: 75em) {
1649
+ .xlarge-margin-collapse {
1650
+ margin-right: 0;
1651
+ margin-left: 0; }
1652
+ .xlarge-margin-collapse > .cell {
1653
+ margin-right: 0;
1654
+ margin-left: 0; } }
1655
+
1656
+ @media screen and (min-width: 75em) {
1657
+ .xlarge-margin-collapse > .small-1 {
1658
+ width: 8.33333%; }
1659
+ .xlarge-margin-collapse > .small-2 {
1660
+ width: 16.66667%; }
1661
+ .xlarge-margin-collapse > .small-3 {
1662
+ width: 25%; }
1663
+ .xlarge-margin-collapse > .small-4 {
1664
+ width: 33.33333%; }
1665
+ .xlarge-margin-collapse > .small-5 {
1666
+ width: 41.66667%; }
1667
+ .xlarge-margin-collapse > .small-6 {
1668
+ width: 50%; }
1669
+ .xlarge-margin-collapse > .small-7 {
1670
+ width: 58.33333%; }
1671
+ .xlarge-margin-collapse > .small-8 {
1672
+ width: 66.66667%; }
1673
+ .xlarge-margin-collapse > .small-9 {
1674
+ width: 75%; }
1675
+ .xlarge-margin-collapse > .small-10 {
1676
+ width: 83.33333%; }
1677
+ .xlarge-margin-collapse > .small-11 {
1678
+ width: 91.66667%; }
1679
+ .xlarge-margin-collapse > .small-12 {
1680
+ width: 100%; } }
1681
+
1682
+ @media screen and (min-width: 75em) {
1683
+ .xlarge-margin-collapse > .medium-1 {
1684
+ width: 8.33333%; }
1685
+ .xlarge-margin-collapse > .medium-2 {
1686
+ width: 16.66667%; }
1687
+ .xlarge-margin-collapse > .medium-3 {
1688
+ width: 25%; }
1689
+ .xlarge-margin-collapse > .medium-4 {
1690
+ width: 33.33333%; }
1691
+ .xlarge-margin-collapse > .medium-5 {
1692
+ width: 41.66667%; }
1693
+ .xlarge-margin-collapse > .medium-6 {
1694
+ width: 50%; }
1695
+ .xlarge-margin-collapse > .medium-7 {
1696
+ width: 58.33333%; }
1697
+ .xlarge-margin-collapse > .medium-8 {
1698
+ width: 66.66667%; }
1699
+ .xlarge-margin-collapse > .medium-9 {
1700
+ width: 75%; }
1701
+ .xlarge-margin-collapse > .medium-10 {
1702
+ width: 83.33333%; }
1703
+ .xlarge-margin-collapse > .medium-11 {
1704
+ width: 91.66667%; }
1705
+ .xlarge-margin-collapse > .medium-12 {
1706
+ width: 100%; } }
1707
+
1708
+ @media screen and (min-width: 75em) {
1709
+ .xlarge-margin-collapse > .large-1 {
1710
+ width: 8.33333%; }
1711
+ .xlarge-margin-collapse > .large-2 {
1712
+ width: 16.66667%; }
1713
+ .xlarge-margin-collapse > .large-3 {
1714
+ width: 25%; }
1715
+ .xlarge-margin-collapse > .large-4 {
1716
+ width: 33.33333%; }
1717
+ .xlarge-margin-collapse > .large-5 {
1718
+ width: 41.66667%; }
1719
+ .xlarge-margin-collapse > .large-6 {
1720
+ width: 50%; }
1721
+ .xlarge-margin-collapse > .large-7 {
1722
+ width: 58.33333%; }
1723
+ .xlarge-margin-collapse > .large-8 {
1724
+ width: 66.66667%; }
1725
+ .xlarge-margin-collapse > .large-9 {
1726
+ width: 75%; }
1727
+ .xlarge-margin-collapse > .large-10 {
1728
+ width: 83.33333%; }
1729
+ .xlarge-margin-collapse > .large-11 {
1730
+ width: 91.66667%; }
1731
+ .xlarge-margin-collapse > .large-12 {
1732
+ width: 100%; } }
1733
+
1734
+ @media screen and (min-width: 75em) {
1735
+ .xlarge-margin-collapse > .xlarge-1 {
1736
+ width: 8.33333%; }
1737
+ .xlarge-margin-collapse > .xlarge-2 {
1738
+ width: 16.66667%; }
1739
+ .xlarge-margin-collapse > .xlarge-3 {
1740
+ width: 25%; }
1741
+ .xlarge-margin-collapse > .xlarge-4 {
1742
+ width: 33.33333%; }
1743
+ .xlarge-margin-collapse > .xlarge-5 {
1744
+ width: 41.66667%; }
1745
+ .xlarge-margin-collapse > .xlarge-6 {
1746
+ width: 50%; }
1747
+ .xlarge-margin-collapse > .xlarge-7 {
1748
+ width: 58.33333%; }
1749
+ .xlarge-margin-collapse > .xlarge-8 {
1750
+ width: 66.66667%; }
1751
+ .xlarge-margin-collapse > .xlarge-9 {
1752
+ width: 75%; }
1753
+ .xlarge-margin-collapse > .xlarge-10 {
1754
+ width: 83.33333%; }
1755
+ .xlarge-margin-collapse > .xlarge-11 {
1756
+ width: 91.66667%; }
1757
+ .xlarge-margin-collapse > .xlarge-12 {
1758
+ width: 100%; } }
1759
+
1760
+ @media screen and (min-width: 90em) {
1761
+ .xlarge-margin-collapse > .xxlarge-1 {
1762
+ width: 8.33333%; }
1763
+ .xlarge-margin-collapse > .xxlarge-2 {
1764
+ width: 16.66667%; }
1765
+ .xlarge-margin-collapse > .xxlarge-3 {
1766
+ width: 25%; }
1767
+ .xlarge-margin-collapse > .xxlarge-4 {
1768
+ width: 33.33333%; }
1769
+ .xlarge-margin-collapse > .xxlarge-5 {
1770
+ width: 41.66667%; }
1771
+ .xlarge-margin-collapse > .xxlarge-6 {
1772
+ width: 50%; }
1773
+ .xlarge-margin-collapse > .xxlarge-7 {
1774
+ width: 58.33333%; }
1775
+ .xlarge-margin-collapse > .xxlarge-8 {
1776
+ width: 66.66667%; }
1777
+ .xlarge-margin-collapse > .xxlarge-9 {
1778
+ width: 75%; }
1779
+ .xlarge-margin-collapse > .xxlarge-10 {
1780
+ width: 83.33333%; }
1781
+ .xlarge-margin-collapse > .xxlarge-11 {
1782
+ width: 91.66667%; }
1783
+ .xlarge-margin-collapse > .xxlarge-12 {
1784
+ width: 100%; } }
1785
+
1786
+ @media screen and (min-width: 100em) {
1787
+ .xlarge-margin-collapse > .xxxlarge-1 {
1788
+ width: 8.33333%; }
1789
+ .xlarge-margin-collapse > .xxxlarge-2 {
1790
+ width: 16.66667%; }
1791
+ .xlarge-margin-collapse > .xxxlarge-3 {
1792
+ width: 25%; }
1793
+ .xlarge-margin-collapse > .xxxlarge-4 {
1794
+ width: 33.33333%; }
1795
+ .xlarge-margin-collapse > .xxxlarge-5 {
1796
+ width: 41.66667%; }
1797
+ .xlarge-margin-collapse > .xxxlarge-6 {
1798
+ width: 50%; }
1799
+ .xlarge-margin-collapse > .xxxlarge-7 {
1800
+ width: 58.33333%; }
1801
+ .xlarge-margin-collapse > .xxxlarge-8 {
1802
+ width: 66.66667%; }
1803
+ .xlarge-margin-collapse > .xxxlarge-9 {
1804
+ width: 75%; }
1805
+ .xlarge-margin-collapse > .xxxlarge-10 {
1806
+ width: 83.33333%; }
1807
+ .xlarge-margin-collapse > .xxxlarge-11 {
1808
+ width: 91.66667%; }
1809
+ .xlarge-margin-collapse > .xxxlarge-12 {
1810
+ width: 100%; } }
1811
+
1812
+ @media screen and (min-width: 75em) {
1813
+ .xlarge-padding-collapse {
1814
+ margin-right: 0;
1815
+ margin-left: 0; }
1816
+ .xlarge-padding-collapse > .cell {
1817
+ padding-right: 0;
1818
+ padding-left: 0; } }
1819
+
1820
+ @media screen and (min-width: 90em) {
1821
+ .xxlarge-margin-collapse {
1822
+ margin-right: 0;
1823
+ margin-left: 0; }
1824
+ .xxlarge-margin-collapse > .cell {
1825
+ margin-right: 0;
1826
+ margin-left: 0; } }
1827
+
1828
+ @media screen and (min-width: 90em) {
1829
+ .xxlarge-margin-collapse > .small-1 {
1830
+ width: 8.33333%; }
1831
+ .xxlarge-margin-collapse > .small-2 {
1832
+ width: 16.66667%; }
1833
+ .xxlarge-margin-collapse > .small-3 {
1834
+ width: 25%; }
1835
+ .xxlarge-margin-collapse > .small-4 {
1836
+ width: 33.33333%; }
1837
+ .xxlarge-margin-collapse > .small-5 {
1838
+ width: 41.66667%; }
1839
+ .xxlarge-margin-collapse > .small-6 {
1840
+ width: 50%; }
1841
+ .xxlarge-margin-collapse > .small-7 {
1842
+ width: 58.33333%; }
1843
+ .xxlarge-margin-collapse > .small-8 {
1844
+ width: 66.66667%; }
1845
+ .xxlarge-margin-collapse > .small-9 {
1846
+ width: 75%; }
1847
+ .xxlarge-margin-collapse > .small-10 {
1848
+ width: 83.33333%; }
1849
+ .xxlarge-margin-collapse > .small-11 {
1850
+ width: 91.66667%; }
1851
+ .xxlarge-margin-collapse > .small-12 {
1852
+ width: 100%; } }
1853
+
1854
+ @media screen and (min-width: 90em) {
1855
+ .xxlarge-margin-collapse > .medium-1 {
1856
+ width: 8.33333%; }
1857
+ .xxlarge-margin-collapse > .medium-2 {
1858
+ width: 16.66667%; }
1859
+ .xxlarge-margin-collapse > .medium-3 {
1860
+ width: 25%; }
1861
+ .xxlarge-margin-collapse > .medium-4 {
1862
+ width: 33.33333%; }
1863
+ .xxlarge-margin-collapse > .medium-5 {
1864
+ width: 41.66667%; }
1865
+ .xxlarge-margin-collapse > .medium-6 {
1866
+ width: 50%; }
1867
+ .xxlarge-margin-collapse > .medium-7 {
1868
+ width: 58.33333%; }
1869
+ .xxlarge-margin-collapse > .medium-8 {
1870
+ width: 66.66667%; }
1871
+ .xxlarge-margin-collapse > .medium-9 {
1872
+ width: 75%; }
1873
+ .xxlarge-margin-collapse > .medium-10 {
1874
+ width: 83.33333%; }
1875
+ .xxlarge-margin-collapse > .medium-11 {
1876
+ width: 91.66667%; }
1877
+ .xxlarge-margin-collapse > .medium-12 {
1878
+ width: 100%; } }
1879
+
1880
+ @media screen and (min-width: 90em) {
1881
+ .xxlarge-margin-collapse > .large-1 {
1882
+ width: 8.33333%; }
1883
+ .xxlarge-margin-collapse > .large-2 {
1884
+ width: 16.66667%; }
1885
+ .xxlarge-margin-collapse > .large-3 {
1886
+ width: 25%; }
1887
+ .xxlarge-margin-collapse > .large-4 {
1888
+ width: 33.33333%; }
1889
+ .xxlarge-margin-collapse > .large-5 {
1890
+ width: 41.66667%; }
1891
+ .xxlarge-margin-collapse > .large-6 {
1892
+ width: 50%; }
1893
+ .xxlarge-margin-collapse > .large-7 {
1894
+ width: 58.33333%; }
1895
+ .xxlarge-margin-collapse > .large-8 {
1896
+ width: 66.66667%; }
1897
+ .xxlarge-margin-collapse > .large-9 {
1898
+ width: 75%; }
1899
+ .xxlarge-margin-collapse > .large-10 {
1900
+ width: 83.33333%; }
1901
+ .xxlarge-margin-collapse > .large-11 {
1902
+ width: 91.66667%; }
1903
+ .xxlarge-margin-collapse > .large-12 {
1904
+ width: 100%; } }
1905
+
1906
+ @media screen and (min-width: 90em) {
1907
+ .xxlarge-margin-collapse > .xlarge-1 {
1908
+ width: 8.33333%; }
1909
+ .xxlarge-margin-collapse > .xlarge-2 {
1910
+ width: 16.66667%; }
1911
+ .xxlarge-margin-collapse > .xlarge-3 {
1912
+ width: 25%; }
1913
+ .xxlarge-margin-collapse > .xlarge-4 {
1914
+ width: 33.33333%; }
1915
+ .xxlarge-margin-collapse > .xlarge-5 {
1916
+ width: 41.66667%; }
1917
+ .xxlarge-margin-collapse > .xlarge-6 {
1918
+ width: 50%; }
1919
+ .xxlarge-margin-collapse > .xlarge-7 {
1920
+ width: 58.33333%; }
1921
+ .xxlarge-margin-collapse > .xlarge-8 {
1922
+ width: 66.66667%; }
1923
+ .xxlarge-margin-collapse > .xlarge-9 {
1924
+ width: 75%; }
1925
+ .xxlarge-margin-collapse > .xlarge-10 {
1926
+ width: 83.33333%; }
1927
+ .xxlarge-margin-collapse > .xlarge-11 {
1928
+ width: 91.66667%; }
1929
+ .xxlarge-margin-collapse > .xlarge-12 {
1930
+ width: 100%; } }
1931
+
1932
+ @media screen and (min-width: 90em) {
1933
+ .xxlarge-margin-collapse > .xxlarge-1 {
1934
+ width: 8.33333%; }
1935
+ .xxlarge-margin-collapse > .xxlarge-2 {
1936
+ width: 16.66667%; }
1937
+ .xxlarge-margin-collapse > .xxlarge-3 {
1938
+ width: 25%; }
1939
+ .xxlarge-margin-collapse > .xxlarge-4 {
1940
+ width: 33.33333%; }
1941
+ .xxlarge-margin-collapse > .xxlarge-5 {
1942
+ width: 41.66667%; }
1943
+ .xxlarge-margin-collapse > .xxlarge-6 {
1944
+ width: 50%; }
1945
+ .xxlarge-margin-collapse > .xxlarge-7 {
1946
+ width: 58.33333%; }
1947
+ .xxlarge-margin-collapse > .xxlarge-8 {
1948
+ width: 66.66667%; }
1949
+ .xxlarge-margin-collapse > .xxlarge-9 {
1950
+ width: 75%; }
1951
+ .xxlarge-margin-collapse > .xxlarge-10 {
1952
+ width: 83.33333%; }
1953
+ .xxlarge-margin-collapse > .xxlarge-11 {
1954
+ width: 91.66667%; }
1955
+ .xxlarge-margin-collapse > .xxlarge-12 {
1956
+ width: 100%; } }
1957
+
1958
+ @media screen and (min-width: 100em) {
1959
+ .xxlarge-margin-collapse > .xxxlarge-1 {
1960
+ width: 8.33333%; }
1961
+ .xxlarge-margin-collapse > .xxxlarge-2 {
1962
+ width: 16.66667%; }
1963
+ .xxlarge-margin-collapse > .xxxlarge-3 {
1964
+ width: 25%; }
1965
+ .xxlarge-margin-collapse > .xxxlarge-4 {
1966
+ width: 33.33333%; }
1967
+ .xxlarge-margin-collapse > .xxxlarge-5 {
1968
+ width: 41.66667%; }
1969
+ .xxlarge-margin-collapse > .xxxlarge-6 {
1970
+ width: 50%; }
1971
+ .xxlarge-margin-collapse > .xxxlarge-7 {
1972
+ width: 58.33333%; }
1973
+ .xxlarge-margin-collapse > .xxxlarge-8 {
1974
+ width: 66.66667%; }
1975
+ .xxlarge-margin-collapse > .xxxlarge-9 {
1976
+ width: 75%; }
1977
+ .xxlarge-margin-collapse > .xxxlarge-10 {
1978
+ width: 83.33333%; }
1979
+ .xxlarge-margin-collapse > .xxxlarge-11 {
1980
+ width: 91.66667%; }
1981
+ .xxlarge-margin-collapse > .xxxlarge-12 {
1982
+ width: 100%; } }
1983
+
1984
+ @media screen and (min-width: 90em) {
1985
+ .xxlarge-padding-collapse {
1986
+ margin-right: 0;
1987
+ margin-left: 0; }
1988
+ .xxlarge-padding-collapse > .cell {
1989
+ padding-right: 0;
1990
+ padding-left: 0; } }
1991
+
1992
+ @media screen and (min-width: 100em) {
1993
+ .xxxlarge-margin-collapse {
1994
+ margin-right: 0;
1995
+ margin-left: 0; }
1996
+ .xxxlarge-margin-collapse > .cell {
1997
+ margin-right: 0;
1998
+ margin-left: 0; } }
1999
+
2000
+ @media screen and (min-width: 100em) {
2001
+ .xxxlarge-margin-collapse > .small-1 {
2002
+ width: 8.33333%; }
2003
+ .xxxlarge-margin-collapse > .small-2 {
2004
+ width: 16.66667%; }
2005
+ .xxxlarge-margin-collapse > .small-3 {
2006
+ width: 25%; }
2007
+ .xxxlarge-margin-collapse > .small-4 {
2008
+ width: 33.33333%; }
2009
+ .xxxlarge-margin-collapse > .small-5 {
2010
+ width: 41.66667%; }
2011
+ .xxxlarge-margin-collapse > .small-6 {
2012
+ width: 50%; }
2013
+ .xxxlarge-margin-collapse > .small-7 {
2014
+ width: 58.33333%; }
2015
+ .xxxlarge-margin-collapse > .small-8 {
2016
+ width: 66.66667%; }
2017
+ .xxxlarge-margin-collapse > .small-9 {
2018
+ width: 75%; }
2019
+ .xxxlarge-margin-collapse > .small-10 {
2020
+ width: 83.33333%; }
2021
+ .xxxlarge-margin-collapse > .small-11 {
2022
+ width: 91.66667%; }
2023
+ .xxxlarge-margin-collapse > .small-12 {
2024
+ width: 100%; } }
2025
+
2026
+ @media screen and (min-width: 100em) {
2027
+ .xxxlarge-margin-collapse > .medium-1 {
2028
+ width: 8.33333%; }
2029
+ .xxxlarge-margin-collapse > .medium-2 {
2030
+ width: 16.66667%; }
2031
+ .xxxlarge-margin-collapse > .medium-3 {
2032
+ width: 25%; }
2033
+ .xxxlarge-margin-collapse > .medium-4 {
2034
+ width: 33.33333%; }
2035
+ .xxxlarge-margin-collapse > .medium-5 {
2036
+ width: 41.66667%; }
2037
+ .xxxlarge-margin-collapse > .medium-6 {
2038
+ width: 50%; }
2039
+ .xxxlarge-margin-collapse > .medium-7 {
2040
+ width: 58.33333%; }
2041
+ .xxxlarge-margin-collapse > .medium-8 {
2042
+ width: 66.66667%; }
2043
+ .xxxlarge-margin-collapse > .medium-9 {
2044
+ width: 75%; }
2045
+ .xxxlarge-margin-collapse > .medium-10 {
2046
+ width: 83.33333%; }
2047
+ .xxxlarge-margin-collapse > .medium-11 {
2048
+ width: 91.66667%; }
2049
+ .xxxlarge-margin-collapse > .medium-12 {
2050
+ width: 100%; } }
2051
+
2052
+ @media screen and (min-width: 100em) {
2053
+ .xxxlarge-margin-collapse > .large-1 {
2054
+ width: 8.33333%; }
2055
+ .xxxlarge-margin-collapse > .large-2 {
2056
+ width: 16.66667%; }
2057
+ .xxxlarge-margin-collapse > .large-3 {
2058
+ width: 25%; }
2059
+ .xxxlarge-margin-collapse > .large-4 {
2060
+ width: 33.33333%; }
2061
+ .xxxlarge-margin-collapse > .large-5 {
2062
+ width: 41.66667%; }
2063
+ .xxxlarge-margin-collapse > .large-6 {
2064
+ width: 50%; }
2065
+ .xxxlarge-margin-collapse > .large-7 {
2066
+ width: 58.33333%; }
2067
+ .xxxlarge-margin-collapse > .large-8 {
2068
+ width: 66.66667%; }
2069
+ .xxxlarge-margin-collapse > .large-9 {
2070
+ width: 75%; }
2071
+ .xxxlarge-margin-collapse > .large-10 {
2072
+ width: 83.33333%; }
2073
+ .xxxlarge-margin-collapse > .large-11 {
2074
+ width: 91.66667%; }
2075
+ .xxxlarge-margin-collapse > .large-12 {
2076
+ width: 100%; } }
2077
+
2078
+ @media screen and (min-width: 100em) {
2079
+ .xxxlarge-margin-collapse > .xlarge-1 {
2080
+ width: 8.33333%; }
2081
+ .xxxlarge-margin-collapse > .xlarge-2 {
2082
+ width: 16.66667%; }
2083
+ .xxxlarge-margin-collapse > .xlarge-3 {
2084
+ width: 25%; }
2085
+ .xxxlarge-margin-collapse > .xlarge-4 {
2086
+ width: 33.33333%; }
2087
+ .xxxlarge-margin-collapse > .xlarge-5 {
2088
+ width: 41.66667%; }
2089
+ .xxxlarge-margin-collapse > .xlarge-6 {
2090
+ width: 50%; }
2091
+ .xxxlarge-margin-collapse > .xlarge-7 {
2092
+ width: 58.33333%; }
2093
+ .xxxlarge-margin-collapse > .xlarge-8 {
2094
+ width: 66.66667%; }
2095
+ .xxxlarge-margin-collapse > .xlarge-9 {
2096
+ width: 75%; }
2097
+ .xxxlarge-margin-collapse > .xlarge-10 {
2098
+ width: 83.33333%; }
2099
+ .xxxlarge-margin-collapse > .xlarge-11 {
2100
+ width: 91.66667%; }
2101
+ .xxxlarge-margin-collapse > .xlarge-12 {
2102
+ width: 100%; } }
2103
+
2104
+ @media screen and (min-width: 100em) {
2105
+ .xxxlarge-margin-collapse > .xxlarge-1 {
2106
+ width: 8.33333%; }
2107
+ .xxxlarge-margin-collapse > .xxlarge-2 {
2108
+ width: 16.66667%; }
2109
+ .xxxlarge-margin-collapse > .xxlarge-3 {
2110
+ width: 25%; }
2111
+ .xxxlarge-margin-collapse > .xxlarge-4 {
2112
+ width: 33.33333%; }
2113
+ .xxxlarge-margin-collapse > .xxlarge-5 {
2114
+ width: 41.66667%; }
2115
+ .xxxlarge-margin-collapse > .xxlarge-6 {
2116
+ width: 50%; }
2117
+ .xxxlarge-margin-collapse > .xxlarge-7 {
2118
+ width: 58.33333%; }
2119
+ .xxxlarge-margin-collapse > .xxlarge-8 {
2120
+ width: 66.66667%; }
2121
+ .xxxlarge-margin-collapse > .xxlarge-9 {
2122
+ width: 75%; }
2123
+ .xxxlarge-margin-collapse > .xxlarge-10 {
2124
+ width: 83.33333%; }
2125
+ .xxxlarge-margin-collapse > .xxlarge-11 {
2126
+ width: 91.66667%; }
2127
+ .xxxlarge-margin-collapse > .xxlarge-12 {
2128
+ width: 100%; } }
2129
+
2130
+ @media screen and (min-width: 100em) {
2131
+ .xxxlarge-margin-collapse > .xxxlarge-1 {
2132
+ width: 8.33333%; }
2133
+ .xxxlarge-margin-collapse > .xxxlarge-2 {
2134
+ width: 16.66667%; }
2135
+ .xxxlarge-margin-collapse > .xxxlarge-3 {
2136
+ width: 25%; }
2137
+ .xxxlarge-margin-collapse > .xxxlarge-4 {
2138
+ width: 33.33333%; }
2139
+ .xxxlarge-margin-collapse > .xxxlarge-5 {
2140
+ width: 41.66667%; }
2141
+ .xxxlarge-margin-collapse > .xxxlarge-6 {
2142
+ width: 50%; }
2143
+ .xxxlarge-margin-collapse > .xxxlarge-7 {
2144
+ width: 58.33333%; }
2145
+ .xxxlarge-margin-collapse > .xxxlarge-8 {
2146
+ width: 66.66667%; }
2147
+ .xxxlarge-margin-collapse > .xxxlarge-9 {
2148
+ width: 75%; }
2149
+ .xxxlarge-margin-collapse > .xxxlarge-10 {
2150
+ width: 83.33333%; }
2151
+ .xxxlarge-margin-collapse > .xxxlarge-11 {
2152
+ width: 91.66667%; }
2153
+ .xxxlarge-margin-collapse > .xxxlarge-12 {
2154
+ width: 100%; } }
2155
+
2156
+ @media screen and (min-width: 100em) {
2157
+ .xxxlarge-padding-collapse {
2158
+ margin-right: 0;
2159
+ margin-left: 0; }
2160
+ .xxxlarge-padding-collapse > .cell {
2161
+ padding-right: 0;
2162
+ padding-left: 0; } }
2163
+
2164
+ .small-offset-0 {
2165
+ margin-left: 0%; }
2166
+
2167
+ .grid-margin-x > .small-offset-0 {
2168
+ margin-left: calc(0% + 0.9375rem); }
2169
+
2170
+ .small-offset-1 {
2171
+ margin-left: 8.33333%; }
2172
+
2173
+ .grid-margin-x > .small-offset-1 {
2174
+ margin-left: calc(8.33333% + 0.9375rem); }
2175
+
2176
+ .small-offset-2 {
2177
+ margin-left: 16.66667%; }
2178
+
2179
+ .grid-margin-x > .small-offset-2 {
2180
+ margin-left: calc(16.66667% + 0.9375rem); }
2181
+
2182
+ .small-offset-3 {
2183
+ margin-left: 25%; }
2184
+
2185
+ .grid-margin-x > .small-offset-3 {
2186
+ margin-left: calc(25% + 0.9375rem); }
2187
+
2188
+ .small-offset-4 {
2189
+ margin-left: 33.33333%; }
2190
+
2191
+ .grid-margin-x > .small-offset-4 {
2192
+ margin-left: calc(33.33333% + 0.9375rem); }
2193
+
2194
+ .small-offset-5 {
2195
+ margin-left: 41.66667%; }
2196
+
2197
+ .grid-margin-x > .small-offset-5 {
2198
+ margin-left: calc(41.66667% + 0.9375rem); }
2199
+
2200
+ .small-offset-6 {
2201
+ margin-left: 50%; }
2202
+
2203
+ .grid-margin-x > .small-offset-6 {
2204
+ margin-left: calc(50% + 0.9375rem); }
2205
+
2206
+ .small-offset-7 {
2207
+ margin-left: 58.33333%; }
2208
+
2209
+ .grid-margin-x > .small-offset-7 {
2210
+ margin-left: calc(58.33333% + 0.9375rem); }
2211
+
2212
+ .small-offset-8 {
2213
+ margin-left: 66.66667%; }
2214
+
2215
+ .grid-margin-x > .small-offset-8 {
2216
+ margin-left: calc(66.66667% + 0.9375rem); }
2217
+
2218
+ .small-offset-9 {
2219
+ margin-left: 75%; }
2220
+
2221
+ .grid-margin-x > .small-offset-9 {
2222
+ margin-left: calc(75% + 0.9375rem); }
2223
+
2224
+ .small-offset-10 {
2225
+ margin-left: 83.33333%; }
2226
+
2227
+ .grid-margin-x > .small-offset-10 {
2228
+ margin-left: calc(83.33333% + 0.9375rem); }
2229
+
2230
+ .small-offset-11 {
2231
+ margin-left: 91.66667%; }
2232
+
2233
+ .grid-margin-x > .small-offset-11 {
2234
+ margin-left: calc(91.66667% + 0.9375rem); }
2235
+
2236
+ @media print, screen and (min-width: 40em) {
2237
+ .medium-offset-0 {
2238
+ margin-left: 0%; }
2239
+ .grid-margin-x > .medium-offset-0 {
2240
+ margin-left: calc(0% + 0.9375rem); }
2241
+ .medium-offset-1 {
2242
+ margin-left: 8.33333%; }
2243
+ .grid-margin-x > .medium-offset-1 {
2244
+ margin-left: calc(8.33333% + 0.9375rem); }
2245
+ .medium-offset-2 {
2246
+ margin-left: 16.66667%; }
2247
+ .grid-margin-x > .medium-offset-2 {
2248
+ margin-left: calc(16.66667% + 0.9375rem); }
2249
+ .medium-offset-3 {
2250
+ margin-left: 25%; }
2251
+ .grid-margin-x > .medium-offset-3 {
2252
+ margin-left: calc(25% + 0.9375rem); }
2253
+ .medium-offset-4 {
2254
+ margin-left: 33.33333%; }
2255
+ .grid-margin-x > .medium-offset-4 {
2256
+ margin-left: calc(33.33333% + 0.9375rem); }
2257
+ .medium-offset-5 {
2258
+ margin-left: 41.66667%; }
2259
+ .grid-margin-x > .medium-offset-5 {
2260
+ margin-left: calc(41.66667% + 0.9375rem); }
2261
+ .medium-offset-6 {
2262
+ margin-left: 50%; }
2263
+ .grid-margin-x > .medium-offset-6 {
2264
+ margin-left: calc(50% + 0.9375rem); }
2265
+ .medium-offset-7 {
2266
+ margin-left: 58.33333%; }
2267
+ .grid-margin-x > .medium-offset-7 {
2268
+ margin-left: calc(58.33333% + 0.9375rem); }
2269
+ .medium-offset-8 {
2270
+ margin-left: 66.66667%; }
2271
+ .grid-margin-x > .medium-offset-8 {
2272
+ margin-left: calc(66.66667% + 0.9375rem); }
2273
+ .medium-offset-9 {
2274
+ margin-left: 75%; }
2275
+ .grid-margin-x > .medium-offset-9 {
2276
+ margin-left: calc(75% + 0.9375rem); }
2277
+ .medium-offset-10 {
2278
+ margin-left: 83.33333%; }
2279
+ .grid-margin-x > .medium-offset-10 {
2280
+ margin-left: calc(83.33333% + 0.9375rem); }
2281
+ .medium-offset-11 {
2282
+ margin-left: 91.66667%; }
2283
+ .grid-margin-x > .medium-offset-11 {
2284
+ margin-left: calc(91.66667% + 0.9375rem); } }
2285
+
2286
+ @media print, screen and (min-width: 64em) {
2287
+ .large-offset-0 {
2288
+ margin-left: 0%; }
2289
+ .grid-margin-x > .large-offset-0 {
2290
+ margin-left: calc(0% + 0.9375rem); }
2291
+ .large-offset-1 {
2292
+ margin-left: 8.33333%; }
2293
+ .grid-margin-x > .large-offset-1 {
2294
+ margin-left: calc(8.33333% + 0.9375rem); }
2295
+ .large-offset-2 {
2296
+ margin-left: 16.66667%; }
2297
+ .grid-margin-x > .large-offset-2 {
2298
+ margin-left: calc(16.66667% + 0.9375rem); }
2299
+ .large-offset-3 {
2300
+ margin-left: 25%; }
2301
+ .grid-margin-x > .large-offset-3 {
2302
+ margin-left: calc(25% + 0.9375rem); }
2303
+ .large-offset-4 {
2304
+ margin-left: 33.33333%; }
2305
+ .grid-margin-x > .large-offset-4 {
2306
+ margin-left: calc(33.33333% + 0.9375rem); }
2307
+ .large-offset-5 {
2308
+ margin-left: 41.66667%; }
2309
+ .grid-margin-x > .large-offset-5 {
2310
+ margin-left: calc(41.66667% + 0.9375rem); }
2311
+ .large-offset-6 {
2312
+ margin-left: 50%; }
2313
+ .grid-margin-x > .large-offset-6 {
2314
+ margin-left: calc(50% + 0.9375rem); }
2315
+ .large-offset-7 {
2316
+ margin-left: 58.33333%; }
2317
+ .grid-margin-x > .large-offset-7 {
2318
+ margin-left: calc(58.33333% + 0.9375rem); }
2319
+ .large-offset-8 {
2320
+ margin-left: 66.66667%; }
2321
+ .grid-margin-x > .large-offset-8 {
2322
+ margin-left: calc(66.66667% + 0.9375rem); }
2323
+ .large-offset-9 {
2324
+ margin-left: 75%; }
2325
+ .grid-margin-x > .large-offset-9 {
2326
+ margin-left: calc(75% + 0.9375rem); }
2327
+ .large-offset-10 {
2328
+ margin-left: 83.33333%; }
2329
+ .grid-margin-x > .large-offset-10 {
2330
+ margin-left: calc(83.33333% + 0.9375rem); }
2331
+ .large-offset-11 {
2332
+ margin-left: 91.66667%; }
2333
+ .grid-margin-x > .large-offset-11 {
2334
+ margin-left: calc(91.66667% + 0.9375rem); } }
2335
+
2336
+ @media screen and (min-width: 75em) {
2337
+ .xlarge-offset-0 {
2338
+ margin-left: 0%; }
2339
+ .grid-margin-x > .xlarge-offset-0 {
2340
+ margin-left: calc(0% + 0.9375rem); }
2341
+ .xlarge-offset-1 {
2342
+ margin-left: 8.33333%; }
2343
+ .grid-margin-x > .xlarge-offset-1 {
2344
+ margin-left: calc(8.33333% + 0.9375rem); }
2345
+ .xlarge-offset-2 {
2346
+ margin-left: 16.66667%; }
2347
+ .grid-margin-x > .xlarge-offset-2 {
2348
+ margin-left: calc(16.66667% + 0.9375rem); }
2349
+ .xlarge-offset-3 {
2350
+ margin-left: 25%; }
2351
+ .grid-margin-x > .xlarge-offset-3 {
2352
+ margin-left: calc(25% + 0.9375rem); }
2353
+ .xlarge-offset-4 {
2354
+ margin-left: 33.33333%; }
2355
+ .grid-margin-x > .xlarge-offset-4 {
2356
+ margin-left: calc(33.33333% + 0.9375rem); }
2357
+ .xlarge-offset-5 {
2358
+ margin-left: 41.66667%; }
2359
+ .grid-margin-x > .xlarge-offset-5 {
2360
+ margin-left: calc(41.66667% + 0.9375rem); }
2361
+ .xlarge-offset-6 {
2362
+ margin-left: 50%; }
2363
+ .grid-margin-x > .xlarge-offset-6 {
2364
+ margin-left: calc(50% + 0.9375rem); }
2365
+ .xlarge-offset-7 {
2366
+ margin-left: 58.33333%; }
2367
+ .grid-margin-x > .xlarge-offset-7 {
2368
+ margin-left: calc(58.33333% + 0.9375rem); }
2369
+ .xlarge-offset-8 {
2370
+ margin-left: 66.66667%; }
2371
+ .grid-margin-x > .xlarge-offset-8 {
2372
+ margin-left: calc(66.66667% + 0.9375rem); }
2373
+ .xlarge-offset-9 {
2374
+ margin-left: 75%; }
2375
+ .grid-margin-x > .xlarge-offset-9 {
2376
+ margin-left: calc(75% + 0.9375rem); }
2377
+ .xlarge-offset-10 {
2378
+ margin-left: 83.33333%; }
2379
+ .grid-margin-x > .xlarge-offset-10 {
2380
+ margin-left: calc(83.33333% + 0.9375rem); }
2381
+ .xlarge-offset-11 {
2382
+ margin-left: 91.66667%; }
2383
+ .grid-margin-x > .xlarge-offset-11 {
2384
+ margin-left: calc(91.66667% + 0.9375rem); } }
2385
+
2386
+ @media screen and (min-width: 90em) {
2387
+ .xxlarge-offset-0 {
2388
+ margin-left: 0%; }
2389
+ .grid-margin-x > .xxlarge-offset-0 {
2390
+ margin-left: calc(0% + 0.9375rem); }
2391
+ .xxlarge-offset-1 {
2392
+ margin-left: 8.33333%; }
2393
+ .grid-margin-x > .xxlarge-offset-1 {
2394
+ margin-left: calc(8.33333% + 0.9375rem); }
2395
+ .xxlarge-offset-2 {
2396
+ margin-left: 16.66667%; }
2397
+ .grid-margin-x > .xxlarge-offset-2 {
2398
+ margin-left: calc(16.66667% + 0.9375rem); }
2399
+ .xxlarge-offset-3 {
2400
+ margin-left: 25%; }
2401
+ .grid-margin-x > .xxlarge-offset-3 {
2402
+ margin-left: calc(25% + 0.9375rem); }
2403
+ .xxlarge-offset-4 {
2404
+ margin-left: 33.33333%; }
2405
+ .grid-margin-x > .xxlarge-offset-4 {
2406
+ margin-left: calc(33.33333% + 0.9375rem); }
2407
+ .xxlarge-offset-5 {
2408
+ margin-left: 41.66667%; }
2409
+ .grid-margin-x > .xxlarge-offset-5 {
2410
+ margin-left: calc(41.66667% + 0.9375rem); }
2411
+ .xxlarge-offset-6 {
2412
+ margin-left: 50%; }
2413
+ .grid-margin-x > .xxlarge-offset-6 {
2414
+ margin-left: calc(50% + 0.9375rem); }
2415
+ .xxlarge-offset-7 {
2416
+ margin-left: 58.33333%; }
2417
+ .grid-margin-x > .xxlarge-offset-7 {
2418
+ margin-left: calc(58.33333% + 0.9375rem); }
2419
+ .xxlarge-offset-8 {
2420
+ margin-left: 66.66667%; }
2421
+ .grid-margin-x > .xxlarge-offset-8 {
2422
+ margin-left: calc(66.66667% + 0.9375rem); }
2423
+ .xxlarge-offset-9 {
2424
+ margin-left: 75%; }
2425
+ .grid-margin-x > .xxlarge-offset-9 {
2426
+ margin-left: calc(75% + 0.9375rem); }
2427
+ .xxlarge-offset-10 {
2428
+ margin-left: 83.33333%; }
2429
+ .grid-margin-x > .xxlarge-offset-10 {
2430
+ margin-left: calc(83.33333% + 0.9375rem); }
2431
+ .xxlarge-offset-11 {
2432
+ margin-left: 91.66667%; }
2433
+ .grid-margin-x > .xxlarge-offset-11 {
2434
+ margin-left: calc(91.66667% + 0.9375rem); } }
2435
+
2436
+ @media screen and (min-width: 100em) {
2437
+ .xxxlarge-offset-0 {
2438
+ margin-left: 0%; }
2439
+ .grid-margin-x > .xxxlarge-offset-0 {
2440
+ margin-left: calc(0% + 0.9375rem); }
2441
+ .xxxlarge-offset-1 {
2442
+ margin-left: 8.33333%; }
2443
+ .grid-margin-x > .xxxlarge-offset-1 {
2444
+ margin-left: calc(8.33333% + 0.9375rem); }
2445
+ .xxxlarge-offset-2 {
2446
+ margin-left: 16.66667%; }
2447
+ .grid-margin-x > .xxxlarge-offset-2 {
2448
+ margin-left: calc(16.66667% + 0.9375rem); }
2449
+ .xxxlarge-offset-3 {
2450
+ margin-left: 25%; }
2451
+ .grid-margin-x > .xxxlarge-offset-3 {
2452
+ margin-left: calc(25% + 0.9375rem); }
2453
+ .xxxlarge-offset-4 {
2454
+ margin-left: 33.33333%; }
2455
+ .grid-margin-x > .xxxlarge-offset-4 {
2456
+ margin-left: calc(33.33333% + 0.9375rem); }
2457
+ .xxxlarge-offset-5 {
2458
+ margin-left: 41.66667%; }
2459
+ .grid-margin-x > .xxxlarge-offset-5 {
2460
+ margin-left: calc(41.66667% + 0.9375rem); }
2461
+ .xxxlarge-offset-6 {
2462
+ margin-left: 50%; }
2463
+ .grid-margin-x > .xxxlarge-offset-6 {
2464
+ margin-left: calc(50% + 0.9375rem); }
2465
+ .xxxlarge-offset-7 {
2466
+ margin-left: 58.33333%; }
2467
+ .grid-margin-x > .xxxlarge-offset-7 {
2468
+ margin-left: calc(58.33333% + 0.9375rem); }
2469
+ .xxxlarge-offset-8 {
2470
+ margin-left: 66.66667%; }
2471
+ .grid-margin-x > .xxxlarge-offset-8 {
2472
+ margin-left: calc(66.66667% + 0.9375rem); }
2473
+ .xxxlarge-offset-9 {
2474
+ margin-left: 75%; }
2475
+ .grid-margin-x > .xxxlarge-offset-9 {
2476
+ margin-left: calc(75% + 0.9375rem); }
2477
+ .xxxlarge-offset-10 {
2478
+ margin-left: 83.33333%; }
2479
+ .grid-margin-x > .xxxlarge-offset-10 {
2480
+ margin-left: calc(83.33333% + 0.9375rem); }
2481
+ .xxxlarge-offset-11 {
2482
+ margin-left: 91.66667%; }
2483
+ .grid-margin-x > .xxxlarge-offset-11 {
2484
+ margin-left: calc(91.66667% + 0.9375rem); } }
2485
+
2486
+ .grid-y {
2487
+ display: flex;
2488
+ flex-flow: column nowrap; }
2489
+ .grid-y > .cell {
2490
+ height: auto;
2491
+ max-height: none; }
2492
+ .grid-y > .auto {
2493
+ height: auto; }
2494
+ .grid-y > .shrink {
2495
+ height: auto; }
2496
+ .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
2497
+ flex-basis: auto; }
2498
+ @media print, screen and (min-width: 40em) {
2499
+ .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
2500
+ flex-basis: auto; } }
2501
+ @media print, screen and (min-width: 64em) {
2502
+ .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
2503
+ flex-basis: auto; } }
2504
+ @media screen and (min-width: 75em) {
2505
+ .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
2506
+ flex-basis: auto; } }
2507
+ @media screen and (min-width: 90em) {
2508
+ .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
2509
+ flex-basis: auto; } }
2510
+ @media screen and (min-width: 100em) {
2511
+ .grid-y > .xxxlarge-shrink, .grid-y > .xxxlarge-full, .grid-y > .xxxlarge-1, .grid-y > .xxxlarge-2, .grid-y > .xxxlarge-3, .grid-y > .xxxlarge-4, .grid-y > .xxxlarge-5, .grid-y > .xxxlarge-6, .grid-y > .xxxlarge-7, .grid-y > .xxxlarge-8, .grid-y > .xxxlarge-9, .grid-y > .xxxlarge-10, .grid-y > .xxxlarge-11, .grid-y > .xxxlarge-12 {
2512
+ flex-basis: auto; } }
2513
+ .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
2514
+ flex: 0 0 auto; }
2515
+ .grid-y > .small-1 {
2516
+ height: 8.33333%; }
2517
+ .grid-y > .small-2 {
2518
+ height: 16.66667%; }
2519
+ .grid-y > .small-3 {
2520
+ height: 25%; }
2521
+ .grid-y > .small-4 {
2522
+ height: 33.33333%; }
2523
+ .grid-y > .small-5 {
2524
+ height: 41.66667%; }
2525
+ .grid-y > .small-6 {
2526
+ height: 50%; }
2527
+ .grid-y > .small-7 {
2528
+ height: 58.33333%; }
2529
+ .grid-y > .small-8 {
2530
+ height: 66.66667%; }
2531
+ .grid-y > .small-9 {
2532
+ height: 75%; }
2533
+ .grid-y > .small-10 {
2534
+ height: 83.33333%; }
2535
+ .grid-y > .small-11 {
2536
+ height: 91.66667%; }
2537
+ .grid-y > .small-12 {
2538
+ height: 100%; }
2539
+ @media print, screen and (min-width: 40em) {
2540
+ .grid-y > .medium-auto {
2541
+ flex: 1 1 0px;
2542
+ height: auto; }
2543
+ .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
2544
+ flex: 0 0 auto; }
2545
+ .grid-y > .medium-shrink {
2546
+ height: auto; }
2547
+ .grid-y > .medium-1 {
2548
+ height: 8.33333%; }
2549
+ .grid-y > .medium-2 {
2550
+ height: 16.66667%; }
2551
+ .grid-y > .medium-3 {
2552
+ height: 25%; }
2553
+ .grid-y > .medium-4 {
2554
+ height: 33.33333%; }
2555
+ .grid-y > .medium-5 {
2556
+ height: 41.66667%; }
2557
+ .grid-y > .medium-6 {
2558
+ height: 50%; }
2559
+ .grid-y > .medium-7 {
2560
+ height: 58.33333%; }
2561
+ .grid-y > .medium-8 {
2562
+ height: 66.66667%; }
2563
+ .grid-y > .medium-9 {
2564
+ height: 75%; }
2565
+ .grid-y > .medium-10 {
2566
+ height: 83.33333%; }
2567
+ .grid-y > .medium-11 {
2568
+ height: 91.66667%; }
2569
+ .grid-y > .medium-12 {
2570
+ height: 100%; } }
2571
+ @media print, screen and (min-width: 64em) {
2572
+ .grid-y > .large-auto {
2573
+ flex: 1 1 0px;
2574
+ height: auto; }
2575
+ .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
2576
+ flex: 0 0 auto; }
2577
+ .grid-y > .large-shrink {
2578
+ height: auto; }
2579
+ .grid-y > .large-1 {
2580
+ height: 8.33333%; }
2581
+ .grid-y > .large-2 {
2582
+ height: 16.66667%; }
2583
+ .grid-y > .large-3 {
2584
+ height: 25%; }
2585
+ .grid-y > .large-4 {
2586
+ height: 33.33333%; }
2587
+ .grid-y > .large-5 {
2588
+ height: 41.66667%; }
2589
+ .grid-y > .large-6 {
2590
+ height: 50%; }
2591
+ .grid-y > .large-7 {
2592
+ height: 58.33333%; }
2593
+ .grid-y > .large-8 {
2594
+ height: 66.66667%; }
2595
+ .grid-y > .large-9 {
2596
+ height: 75%; }
2597
+ .grid-y > .large-10 {
2598
+ height: 83.33333%; }
2599
+ .grid-y > .large-11 {
2600
+ height: 91.66667%; }
2601
+ .grid-y > .large-12 {
2602
+ height: 100%; } }
2603
+ @media screen and (min-width: 75em) {
2604
+ .grid-y > .xlarge-auto {
2605
+ flex: 1 1 0px;
2606
+ height: auto; }
2607
+ .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
2608
+ flex: 0 0 auto; }
2609
+ .grid-y > .xlarge-shrink {
2610
+ height: auto; }
2611
+ .grid-y > .xlarge-1 {
2612
+ height: 8.33333%; }
2613
+ .grid-y > .xlarge-2 {
2614
+ height: 16.66667%; }
2615
+ .grid-y > .xlarge-3 {
2616
+ height: 25%; }
2617
+ .grid-y > .xlarge-4 {
2618
+ height: 33.33333%; }
2619
+ .grid-y > .xlarge-5 {
2620
+ height: 41.66667%; }
2621
+ .grid-y > .xlarge-6 {
2622
+ height: 50%; }
2623
+ .grid-y > .xlarge-7 {
2624
+ height: 58.33333%; }
2625
+ .grid-y > .xlarge-8 {
2626
+ height: 66.66667%; }
2627
+ .grid-y > .xlarge-9 {
2628
+ height: 75%; }
2629
+ .grid-y > .xlarge-10 {
2630
+ height: 83.33333%; }
2631
+ .grid-y > .xlarge-11 {
2632
+ height: 91.66667%; }
2633
+ .grid-y > .xlarge-12 {
2634
+ height: 100%; } }
2635
+ @media screen and (min-width: 90em) {
2636
+ .grid-y > .xxlarge-auto {
2637
+ flex: 1 1 0px;
2638
+ height: auto; }
2639
+ .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
2640
+ flex: 0 0 auto; }
2641
+ .grid-y > .xxlarge-shrink {
2642
+ height: auto; }
2643
+ .grid-y > .xxlarge-1 {
2644
+ height: 8.33333%; }
2645
+ .grid-y > .xxlarge-2 {
2646
+ height: 16.66667%; }
2647
+ .grid-y > .xxlarge-3 {
2648
+ height: 25%; }
2649
+ .grid-y > .xxlarge-4 {
2650
+ height: 33.33333%; }
2651
+ .grid-y > .xxlarge-5 {
2652
+ height: 41.66667%; }
2653
+ .grid-y > .xxlarge-6 {
2654
+ height: 50%; }
2655
+ .grid-y > .xxlarge-7 {
2656
+ height: 58.33333%; }
2657
+ .grid-y > .xxlarge-8 {
2658
+ height: 66.66667%; }
2659
+ .grid-y > .xxlarge-9 {
2660
+ height: 75%; }
2661
+ .grid-y > .xxlarge-10 {
2662
+ height: 83.33333%; }
2663
+ .grid-y > .xxlarge-11 {
2664
+ height: 91.66667%; }
2665
+ .grid-y > .xxlarge-12 {
2666
+ height: 100%; } }
2667
+ @media screen and (min-width: 100em) {
2668
+ .grid-y > .xxxlarge-auto {
2669
+ flex: 1 1 0px;
2670
+ height: auto; }
2671
+ .grid-y > .xxxlarge-shrink, .grid-y > .xxxlarge-1, .grid-y > .xxxlarge-2, .grid-y > .xxxlarge-3, .grid-y > .xxxlarge-4, .grid-y > .xxxlarge-5, .grid-y > .xxxlarge-6, .grid-y > .xxxlarge-7, .grid-y > .xxxlarge-8, .grid-y > .xxxlarge-9, .grid-y > .xxxlarge-10, .grid-y > .xxxlarge-11, .grid-y > .xxxlarge-12 {
2672
+ flex: 0 0 auto; }
2673
+ .grid-y > .xxxlarge-shrink {
2674
+ height: auto; }
2675
+ .grid-y > .xxxlarge-1 {
2676
+ height: 8.33333%; }
2677
+ .grid-y > .xxxlarge-2 {
2678
+ height: 16.66667%; }
2679
+ .grid-y > .xxxlarge-3 {
2680
+ height: 25%; }
2681
+ .grid-y > .xxxlarge-4 {
2682
+ height: 33.33333%; }
2683
+ .grid-y > .xxxlarge-5 {
2684
+ height: 41.66667%; }
2685
+ .grid-y > .xxxlarge-6 {
2686
+ height: 50%; }
2687
+ .grid-y > .xxxlarge-7 {
2688
+ height: 58.33333%; }
2689
+ .grid-y > .xxxlarge-8 {
2690
+ height: 66.66667%; }
2691
+ .grid-y > .xxxlarge-9 {
2692
+ height: 75%; }
2693
+ .grid-y > .xxxlarge-10 {
2694
+ height: 83.33333%; }
2695
+ .grid-y > .xxxlarge-11 {
2696
+ height: 91.66667%; }
2697
+ .grid-y > .xxxlarge-12 {
2698
+ height: 100%; } }
2699
+
2700
+ .grid-padding-y .grid-padding-y {
2701
+ margin-top: -0.9375rem;
2702
+ margin-bottom: -0.9375rem; }
2703
+
2704
+ .grid-padding-y > .cell {
2705
+ padding-top: 0.9375rem;
2706
+ padding-bottom: 0.9375rem; }
2707
+
2708
+ .grid-margin-y {
2709
+ margin-top: -0.9375rem;
2710
+ margin-bottom: -0.9375rem; }
2711
+ .grid-margin-y > .cell {
2712
+ height: calc(100% - 1.875rem);
2713
+ margin-top: 0.9375rem;
2714
+ margin-bottom: 0.9375rem; }
2715
+ .grid-margin-y > .auto {
2716
+ height: auto; }
2717
+ .grid-margin-y > .shrink {
2718
+ height: auto; }
2719
+ .grid-margin-y > .small-1 {
2720
+ height: calc(8.33333% - 1.875rem); }
2721
+ .grid-margin-y > .small-2 {
2722
+ height: calc(16.66667% - 1.875rem); }
2723
+ .grid-margin-y > .small-3 {
2724
+ height: calc(25% - 1.875rem); }
2725
+ .grid-margin-y > .small-4 {
2726
+ height: calc(33.33333% - 1.875rem); }
2727
+ .grid-margin-y > .small-5 {
2728
+ height: calc(41.66667% - 1.875rem); }
2729
+ .grid-margin-y > .small-6 {
2730
+ height: calc(50% - 1.875rem); }
2731
+ .grid-margin-y > .small-7 {
2732
+ height: calc(58.33333% - 1.875rem); }
2733
+ .grid-margin-y > .small-8 {
2734
+ height: calc(66.66667% - 1.875rem); }
2735
+ .grid-margin-y > .small-9 {
2736
+ height: calc(75% - 1.875rem); }
2737
+ .grid-margin-y > .small-10 {
2738
+ height: calc(83.33333% - 1.875rem); }
2739
+ .grid-margin-y > .small-11 {
2740
+ height: calc(91.66667% - 1.875rem); }
2741
+ .grid-margin-y > .small-12 {
2742
+ height: calc(100% - 1.875rem); }
2743
+ @media print, screen and (min-width: 40em) {
2744
+ .grid-margin-y > .medium-auto {
2745
+ height: auto; }
2746
+ .grid-margin-y > .medium-shrink {
2747
+ height: auto; }
2748
+ .grid-margin-y > .medium-1 {
2749
+ height: calc(8.33333% - 1.875rem); }
2750
+ .grid-margin-y > .medium-2 {
2751
+ height: calc(16.66667% - 1.875rem); }
2752
+ .grid-margin-y > .medium-3 {
2753
+ height: calc(25% - 1.875rem); }
2754
+ .grid-margin-y > .medium-4 {
2755
+ height: calc(33.33333% - 1.875rem); }
2756
+ .grid-margin-y > .medium-5 {
2757
+ height: calc(41.66667% - 1.875rem); }
2758
+ .grid-margin-y > .medium-6 {
2759
+ height: calc(50% - 1.875rem); }
2760
+ .grid-margin-y > .medium-7 {
2761
+ height: calc(58.33333% - 1.875rem); }
2762
+ .grid-margin-y > .medium-8 {
2763
+ height: calc(66.66667% - 1.875rem); }
2764
+ .grid-margin-y > .medium-9 {
2765
+ height: calc(75% - 1.875rem); }
2766
+ .grid-margin-y > .medium-10 {
2767
+ height: calc(83.33333% - 1.875rem); }
2768
+ .grid-margin-y > .medium-11 {
2769
+ height: calc(91.66667% - 1.875rem); }
2770
+ .grid-margin-y > .medium-12 {
2771
+ height: calc(100% - 1.875rem); } }
2772
+ @media print, screen and (min-width: 64em) {
2773
+ .grid-margin-y > .large-auto {
2774
+ height: auto; }
2775
+ .grid-margin-y > .large-shrink {
2776
+ height: auto; }
2777
+ .grid-margin-y > .large-1 {
2778
+ height: calc(8.33333% - 1.875rem); }
2779
+ .grid-margin-y > .large-2 {
2780
+ height: calc(16.66667% - 1.875rem); }
2781
+ .grid-margin-y > .large-3 {
2782
+ height: calc(25% - 1.875rem); }
2783
+ .grid-margin-y > .large-4 {
2784
+ height: calc(33.33333% - 1.875rem); }
2785
+ .grid-margin-y > .large-5 {
2786
+ height: calc(41.66667% - 1.875rem); }
2787
+ .grid-margin-y > .large-6 {
2788
+ height: calc(50% - 1.875rem); }
2789
+ .grid-margin-y > .large-7 {
2790
+ height: calc(58.33333% - 1.875rem); }
2791
+ .grid-margin-y > .large-8 {
2792
+ height: calc(66.66667% - 1.875rem); }
2793
+ .grid-margin-y > .large-9 {
2794
+ height: calc(75% - 1.875rem); }
2795
+ .grid-margin-y > .large-10 {
2796
+ height: calc(83.33333% - 1.875rem); }
2797
+ .grid-margin-y > .large-11 {
2798
+ height: calc(91.66667% - 1.875rem); }
2799
+ .grid-margin-y > .large-12 {
2800
+ height: calc(100% - 1.875rem); } }
2801
+ @media screen and (min-width: 75em) {
2802
+ .grid-margin-y > .xlarge-auto {
2803
+ height: auto; }
2804
+ .grid-margin-y > .xlarge-shrink {
2805
+ height: auto; }
2806
+ .grid-margin-y > .xlarge-1 {
2807
+ height: calc(8.33333% - 1.875rem); }
2808
+ .grid-margin-y > .xlarge-2 {
2809
+ height: calc(16.66667% - 1.875rem); }
2810
+ .grid-margin-y > .xlarge-3 {
2811
+ height: calc(25% - 1.875rem); }
2812
+ .grid-margin-y > .xlarge-4 {
2813
+ height: calc(33.33333% - 1.875rem); }
2814
+ .grid-margin-y > .xlarge-5 {
2815
+ height: calc(41.66667% - 1.875rem); }
2816
+ .grid-margin-y > .xlarge-6 {
2817
+ height: calc(50% - 1.875rem); }
2818
+ .grid-margin-y > .xlarge-7 {
2819
+ height: calc(58.33333% - 1.875rem); }
2820
+ .grid-margin-y > .xlarge-8 {
2821
+ height: calc(66.66667% - 1.875rem); }
2822
+ .grid-margin-y > .xlarge-9 {
2823
+ height: calc(75% - 1.875rem); }
2824
+ .grid-margin-y > .xlarge-10 {
2825
+ height: calc(83.33333% - 1.875rem); }
2826
+ .grid-margin-y > .xlarge-11 {
2827
+ height: calc(91.66667% - 1.875rem); }
2828
+ .grid-margin-y > .xlarge-12 {
2829
+ height: calc(100% - 1.875rem); } }
2830
+ @media screen and (min-width: 90em) {
2831
+ .grid-margin-y > .xxlarge-auto {
2832
+ height: auto; }
2833
+ .grid-margin-y > .xxlarge-shrink {
2834
+ height: auto; }
2835
+ .grid-margin-y > .xxlarge-1 {
2836
+ height: calc(8.33333% - 1.875rem); }
2837
+ .grid-margin-y > .xxlarge-2 {
2838
+ height: calc(16.66667% - 1.875rem); }
2839
+ .grid-margin-y > .xxlarge-3 {
2840
+ height: calc(25% - 1.875rem); }
2841
+ .grid-margin-y > .xxlarge-4 {
2842
+ height: calc(33.33333% - 1.875rem); }
2843
+ .grid-margin-y > .xxlarge-5 {
2844
+ height: calc(41.66667% - 1.875rem); }
2845
+ .grid-margin-y > .xxlarge-6 {
2846
+ height: calc(50% - 1.875rem); }
2847
+ .grid-margin-y > .xxlarge-7 {
2848
+ height: calc(58.33333% - 1.875rem); }
2849
+ .grid-margin-y > .xxlarge-8 {
2850
+ height: calc(66.66667% - 1.875rem); }
2851
+ .grid-margin-y > .xxlarge-9 {
2852
+ height: calc(75% - 1.875rem); }
2853
+ .grid-margin-y > .xxlarge-10 {
2854
+ height: calc(83.33333% - 1.875rem); }
2855
+ .grid-margin-y > .xxlarge-11 {
2856
+ height: calc(91.66667% - 1.875rem); }
2857
+ .grid-margin-y > .xxlarge-12 {
2858
+ height: calc(100% - 1.875rem); } }
2859
+ @media screen and (min-width: 100em) {
2860
+ .grid-margin-y > .xxxlarge-auto {
2861
+ height: auto; }
2862
+ .grid-margin-y > .xxxlarge-shrink {
2863
+ height: auto; }
2864
+ .grid-margin-y > .xxxlarge-1 {
2865
+ height: calc(8.33333% - 1.875rem); }
2866
+ .grid-margin-y > .xxxlarge-2 {
2867
+ height: calc(16.66667% - 1.875rem); }
2868
+ .grid-margin-y > .xxxlarge-3 {
2869
+ height: calc(25% - 1.875rem); }
2870
+ .grid-margin-y > .xxxlarge-4 {
2871
+ height: calc(33.33333% - 1.875rem); }
2872
+ .grid-margin-y > .xxxlarge-5 {
2873
+ height: calc(41.66667% - 1.875rem); }
2874
+ .grid-margin-y > .xxxlarge-6 {
2875
+ height: calc(50% - 1.875rem); }
2876
+ .grid-margin-y > .xxxlarge-7 {
2877
+ height: calc(58.33333% - 1.875rem); }
2878
+ .grid-margin-y > .xxxlarge-8 {
2879
+ height: calc(66.66667% - 1.875rem); }
2880
+ .grid-margin-y > .xxxlarge-9 {
2881
+ height: calc(75% - 1.875rem); }
2882
+ .grid-margin-y > .xxxlarge-10 {
2883
+ height: calc(83.33333% - 1.875rem); }
2884
+ .grid-margin-y > .xxxlarge-11 {
2885
+ height: calc(91.66667% - 1.875rem); }
2886
+ .grid-margin-y > .xxxlarge-12 {
2887
+ height: calc(100% - 1.875rem); } }
2888
+
2889
+ .grid-frame {
2890
+ overflow: hidden;
2891
+ position: relative;
2892
+ flex-wrap: nowrap;
2893
+ align-items: stretch;
2894
+ width: 100vw; }
2895
+
2896
+ .cell .grid-frame {
2897
+ width: 100%; }
2898
+
2899
+ .cell-block {
2900
+ overflow-x: auto;
2901
+ max-width: 100%;
2902
+ -webkit-overflow-scrolling: touch;
2903
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
2904
+
2905
+ .cell-block-y {
2906
+ overflow-y: auto;
2907
+ max-height: 100%;
2908
+ min-height: 100%;
2909
+ -webkit-overflow-scrolling: touch;
2910
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
2911
+
2912
+ .cell-block-container {
2913
+ display: flex;
2914
+ flex-direction: column;
2915
+ max-height: 100%; }
2916
+ .cell-block-container > .grid-x {
2917
+ max-height: 100%;
2918
+ flex-wrap: nowrap; }
2919
+
2920
+ @media print, screen and (min-width: 40em) {
2921
+ .medium-grid-frame {
2922
+ overflow: hidden;
2923
+ position: relative;
2924
+ flex-wrap: nowrap;
2925
+ align-items: stretch;
2926
+ width: 100vw; }
2927
+ .cell .medium-grid-frame {
2928
+ width: 100%; }
2929
+ .medium-cell-block {
2930
+ overflow-x: auto;
2931
+ max-width: 100%;
2932
+ -webkit-overflow-scrolling: touch;
2933
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
2934
+ .medium-cell-block-container {
2935
+ display: flex;
2936
+ flex-direction: column;
2937
+ max-height: 100%; }
2938
+ .medium-cell-block-container > .grid-x {
2939
+ max-height: 100%;
2940
+ flex-wrap: nowrap; }
2941
+ .medium-cell-block-y {
2942
+ overflow-y: auto;
2943
+ max-height: 100%;
2944
+ min-height: 100%;
2945
+ -webkit-overflow-scrolling: touch;
2946
+ -ms-overflow-style: -ms-autohiding-scrollbar; } }
2947
+
2948
+ @media print, screen and (min-width: 64em) {
2949
+ .large-grid-frame {
2950
+ overflow: hidden;
2951
+ position: relative;
2952
+ flex-wrap: nowrap;
2953
+ align-items: stretch;
2954
+ width: 100vw; }
2955
+ .cell .large-grid-frame {
2956
+ width: 100%; }
2957
+ .large-cell-block {
2958
+ overflow-x: auto;
2959
+ max-width: 100%;
2960
+ -webkit-overflow-scrolling: touch;
2961
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
2962
+ .large-cell-block-container {
2963
+ display: flex;
2964
+ flex-direction: column;
2965
+ max-height: 100%; }
2966
+ .large-cell-block-container > .grid-x {
2967
+ max-height: 100%;
2968
+ flex-wrap: nowrap; }
2969
+ .large-cell-block-y {
2970
+ overflow-y: auto;
2971
+ max-height: 100%;
2972
+ min-height: 100%;
2973
+ -webkit-overflow-scrolling: touch;
2974
+ -ms-overflow-style: -ms-autohiding-scrollbar; } }
2975
+
2976
+ @media screen and (min-width: 75em) {
2977
+ .xlarge-grid-frame {
2978
+ overflow: hidden;
2979
+ position: relative;
2980
+ flex-wrap: nowrap;
2981
+ align-items: stretch;
2982
+ width: 100vw; }
2983
+ .cell .xlarge-grid-frame {
2984
+ width: 100%; }
2985
+ .xlarge-cell-block {
2986
+ overflow-x: auto;
2987
+ max-width: 100%;
2988
+ -webkit-overflow-scrolling: touch;
2989
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
2990
+ .xlarge-cell-block-container {
2991
+ display: flex;
2992
+ flex-direction: column;
2993
+ max-height: 100%; }
2994
+ .xlarge-cell-block-container > .grid-x {
2995
+ max-height: 100%;
2996
+ flex-wrap: nowrap; }
2997
+ .xlarge-cell-block-y {
2998
+ overflow-y: auto;
2999
+ max-height: 100%;
3000
+ min-height: 100%;
3001
+ -webkit-overflow-scrolling: touch;
3002
+ -ms-overflow-style: -ms-autohiding-scrollbar; } }
3003
+
3004
+ @media screen and (min-width: 90em) {
3005
+ .xxlarge-grid-frame {
3006
+ overflow: hidden;
3007
+ position: relative;
3008
+ flex-wrap: nowrap;
3009
+ align-items: stretch;
3010
+ width: 100vw; }
3011
+ .cell .xxlarge-grid-frame {
3012
+ width: 100%; }
3013
+ .xxlarge-cell-block {
3014
+ overflow-x: auto;
3015
+ max-width: 100%;
3016
+ -webkit-overflow-scrolling: touch;
3017
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
3018
+ .xxlarge-cell-block-container {
3019
+ display: flex;
3020
+ flex-direction: column;
3021
+ max-height: 100%; }
3022
+ .xxlarge-cell-block-container > .grid-x {
3023
+ max-height: 100%;
3024
+ flex-wrap: nowrap; }
3025
+ .xxlarge-cell-block-y {
3026
+ overflow-y: auto;
3027
+ max-height: 100%;
3028
+ min-height: 100%;
3029
+ -webkit-overflow-scrolling: touch;
3030
+ -ms-overflow-style: -ms-autohiding-scrollbar; } }
3031
+
3032
+ @media screen and (min-width: 100em) {
3033
+ .xxxlarge-grid-frame {
3034
+ overflow: hidden;
3035
+ position: relative;
3036
+ flex-wrap: nowrap;
3037
+ align-items: stretch;
3038
+ width: 100vw; }
3039
+ .cell .xxxlarge-grid-frame {
3040
+ width: 100%; }
3041
+ .xxxlarge-cell-block {
3042
+ overflow-x: auto;
3043
+ max-width: 100%;
3044
+ -webkit-overflow-scrolling: touch;
3045
+ -ms-overflow-style: -ms-autohiding-scrollbar; }
3046
+ .xxxlarge-cell-block-container {
3047
+ display: flex;
3048
+ flex-direction: column;
3049
+ max-height: 100%; }
3050
+ .xxxlarge-cell-block-container > .grid-x {
3051
+ max-height: 100%;
3052
+ flex-wrap: nowrap; }
3053
+ .xxxlarge-cell-block-y {
3054
+ overflow-y: auto;
3055
+ max-height: 100%;
3056
+ min-height: 100%;
3057
+ -webkit-overflow-scrolling: touch;
3058
+ -ms-overflow-style: -ms-autohiding-scrollbar; } }
3059
+
3060
+ .grid-y.grid-frame {
3061
+ width: auto;
3062
+ overflow: hidden;
3063
+ position: relative;
3064
+ flex-wrap: nowrap;
3065
+ align-items: stretch;
3066
+ height: 100vh; }
3067
+
3068
+ @media print, screen and (min-width: 40em) {
3069
+ .grid-y.medium-grid-frame {
3070
+ width: auto;
3071
+ overflow: hidden;
3072
+ position: relative;
3073
+ flex-wrap: nowrap;
3074
+ align-items: stretch;
3075
+ height: 100vh; } }
3076
+
3077
+ @media print, screen and (min-width: 64em) {
3078
+ .grid-y.large-grid-frame {
3079
+ width: auto;
3080
+ overflow: hidden;
3081
+ position: relative;
3082
+ flex-wrap: nowrap;
3083
+ align-items: stretch;
3084
+ height: 100vh; } }
3085
+
3086
+ @media screen and (min-width: 75em) {
3087
+ .grid-y.xlarge-grid-frame {
3088
+ width: auto;
3089
+ overflow: hidden;
3090
+ position: relative;
3091
+ flex-wrap: nowrap;
3092
+ align-items: stretch;
3093
+ height: 100vh; } }
3094
+
3095
+ @media screen and (min-width: 90em) {
3096
+ .grid-y.xxlarge-grid-frame {
3097
+ width: auto;
3098
+ overflow: hidden;
3099
+ position: relative;
3100
+ flex-wrap: nowrap;
3101
+ align-items: stretch;
3102
+ height: 100vh; } }
3103
+
3104
+ @media screen and (min-width: 100em) {
3105
+ .grid-y.xxxlarge-grid-frame {
3106
+ width: auto;
3107
+ overflow: hidden;
3108
+ position: relative;
3109
+ flex-wrap: nowrap;
3110
+ align-items: stretch;
3111
+ height: 100vh; } }
3112
+
3113
+ .cell .grid-y.grid-frame {
3114
+ height: 100%; }
3115
+
3116
+ @media print, screen and (min-width: 40em) {
3117
+ .cell .grid-y.medium-grid-frame {
3118
+ height: 100%; } }
3119
+
3120
+ @media print, screen and (min-width: 64em) {
3121
+ .cell .grid-y.large-grid-frame {
3122
+ height: 100%; } }
3123
+
3124
+ @media screen and (min-width: 75em) {
3125
+ .cell .grid-y.xlarge-grid-frame {
3126
+ height: 100%; } }
3127
+
3128
+ @media screen and (min-width: 90em) {
3129
+ .cell .grid-y.xxlarge-grid-frame {
3130
+ height: 100%; } }
3131
+
3132
+ @media screen and (min-width: 100em) {
3133
+ .cell .grid-y.xxxlarge-grid-frame {
3134
+ height: 100%; } }
3135
+
3136
+ .grid-margin-y {
3137
+ margin-top: -0.9375rem;
3138
+ margin-bottom: -0.9375rem; }
3139
+ .grid-margin-y > .cell {
3140
+ height: calc(100% - 1.875rem);
3141
+ margin-top: 0.9375rem;
3142
+ margin-bottom: 0.9375rem; }
3143
+ .grid-margin-y > .auto {
3144
+ height: auto; }
3145
+ .grid-margin-y > .shrink {
3146
+ height: auto; }
3147
+ .grid-margin-y > .small-1 {
3148
+ height: calc(8.33333% - 1.875rem); }
3149
+ .grid-margin-y > .small-2 {
3150
+ height: calc(16.66667% - 1.875rem); }
3151
+ .grid-margin-y > .small-3 {
3152
+ height: calc(25% - 1.875rem); }
3153
+ .grid-margin-y > .small-4 {
3154
+ height: calc(33.33333% - 1.875rem); }
3155
+ .grid-margin-y > .small-5 {
3156
+ height: calc(41.66667% - 1.875rem); }
3157
+ .grid-margin-y > .small-6 {
3158
+ height: calc(50% - 1.875rem); }
3159
+ .grid-margin-y > .small-7 {
3160
+ height: calc(58.33333% - 1.875rem); }
3161
+ .grid-margin-y > .small-8 {
3162
+ height: calc(66.66667% - 1.875rem); }
3163
+ .grid-margin-y > .small-9 {
3164
+ height: calc(75% - 1.875rem); }
3165
+ .grid-margin-y > .small-10 {
3166
+ height: calc(83.33333% - 1.875rem); }
3167
+ .grid-margin-y > .small-11 {
3168
+ height: calc(91.66667% - 1.875rem); }
3169
+ .grid-margin-y > .small-12 {
3170
+ height: calc(100% - 1.875rem); }
3171
+ @media print, screen and (min-width: 40em) {
3172
+ .grid-margin-y > .medium-auto {
3173
+ height: auto; }
3174
+ .grid-margin-y > .medium-shrink {
3175
+ height: auto; }
3176
+ .grid-margin-y > .medium-1 {
3177
+ height: calc(8.33333% - 1.875rem); }
3178
+ .grid-margin-y > .medium-2 {
3179
+ height: calc(16.66667% - 1.875rem); }
3180
+ .grid-margin-y > .medium-3 {
3181
+ height: calc(25% - 1.875rem); }
3182
+ .grid-margin-y > .medium-4 {
3183
+ height: calc(33.33333% - 1.875rem); }
3184
+ .grid-margin-y > .medium-5 {
3185
+ height: calc(41.66667% - 1.875rem); }
3186
+ .grid-margin-y > .medium-6 {
3187
+ height: calc(50% - 1.875rem); }
3188
+ .grid-margin-y > .medium-7 {
3189
+ height: calc(58.33333% - 1.875rem); }
3190
+ .grid-margin-y > .medium-8 {
3191
+ height: calc(66.66667% - 1.875rem); }
3192
+ .grid-margin-y > .medium-9 {
3193
+ height: calc(75% - 1.875rem); }
3194
+ .grid-margin-y > .medium-10 {
3195
+ height: calc(83.33333% - 1.875rem); }
3196
+ .grid-margin-y > .medium-11 {
3197
+ height: calc(91.66667% - 1.875rem); }
3198
+ .grid-margin-y > .medium-12 {
3199
+ height: calc(100% - 1.875rem); } }
3200
+ @media print, screen and (min-width: 64em) {
3201
+ .grid-margin-y > .large-auto {
3202
+ height: auto; }
3203
+ .grid-margin-y > .large-shrink {
3204
+ height: auto; }
3205
+ .grid-margin-y > .large-1 {
3206
+ height: calc(8.33333% - 1.875rem); }
3207
+ .grid-margin-y > .large-2 {
3208
+ height: calc(16.66667% - 1.875rem); }
3209
+ .grid-margin-y > .large-3 {
3210
+ height: calc(25% - 1.875rem); }
3211
+ .grid-margin-y > .large-4 {
3212
+ height: calc(33.33333% - 1.875rem); }
3213
+ .grid-margin-y > .large-5 {
3214
+ height: calc(41.66667% - 1.875rem); }
3215
+ .grid-margin-y > .large-6 {
3216
+ height: calc(50% - 1.875rem); }
3217
+ .grid-margin-y > .large-7 {
3218
+ height: calc(58.33333% - 1.875rem); }
3219
+ .grid-margin-y > .large-8 {
3220
+ height: calc(66.66667% - 1.875rem); }
3221
+ .grid-margin-y > .large-9 {
3222
+ height: calc(75% - 1.875rem); }
3223
+ .grid-margin-y > .large-10 {
3224
+ height: calc(83.33333% - 1.875rem); }
3225
+ .grid-margin-y > .large-11 {
3226
+ height: calc(91.66667% - 1.875rem); }
3227
+ .grid-margin-y > .large-12 {
3228
+ height: calc(100% - 1.875rem); } }
3229
+ @media screen and (min-width: 75em) {
3230
+ .grid-margin-y > .xlarge-auto {
3231
+ height: auto; }
3232
+ .grid-margin-y > .xlarge-shrink {
3233
+ height: auto; }
3234
+ .grid-margin-y > .xlarge-1 {
3235
+ height: calc(8.33333% - 1.875rem); }
3236
+ .grid-margin-y > .xlarge-2 {
3237
+ height: calc(16.66667% - 1.875rem); }
3238
+ .grid-margin-y > .xlarge-3 {
3239
+ height: calc(25% - 1.875rem); }
3240
+ .grid-margin-y > .xlarge-4 {
3241
+ height: calc(33.33333% - 1.875rem); }
3242
+ .grid-margin-y > .xlarge-5 {
3243
+ height: calc(41.66667% - 1.875rem); }
3244
+ .grid-margin-y > .xlarge-6 {
3245
+ height: calc(50% - 1.875rem); }
3246
+ .grid-margin-y > .xlarge-7 {
3247
+ height: calc(58.33333% - 1.875rem); }
3248
+ .grid-margin-y > .xlarge-8 {
3249
+ height: calc(66.66667% - 1.875rem); }
3250
+ .grid-margin-y > .xlarge-9 {
3251
+ height: calc(75% - 1.875rem); }
3252
+ .grid-margin-y > .xlarge-10 {
3253
+ height: calc(83.33333% - 1.875rem); }
3254
+ .grid-margin-y > .xlarge-11 {
3255
+ height: calc(91.66667% - 1.875rem); }
3256
+ .grid-margin-y > .xlarge-12 {
3257
+ height: calc(100% - 1.875rem); } }
3258
+ @media screen and (min-width: 90em) {
3259
+ .grid-margin-y > .xxlarge-auto {
3260
+ height: auto; }
3261
+ .grid-margin-y > .xxlarge-shrink {
3262
+ height: auto; }
3263
+ .grid-margin-y > .xxlarge-1 {
3264
+ height: calc(8.33333% - 1.875rem); }
3265
+ .grid-margin-y > .xxlarge-2 {
3266
+ height: calc(16.66667% - 1.875rem); }
3267
+ .grid-margin-y > .xxlarge-3 {
3268
+ height: calc(25% - 1.875rem); }
3269
+ .grid-margin-y > .xxlarge-4 {
3270
+ height: calc(33.33333% - 1.875rem); }
3271
+ .grid-margin-y > .xxlarge-5 {
3272
+ height: calc(41.66667% - 1.875rem); }
3273
+ .grid-margin-y > .xxlarge-6 {
3274
+ height: calc(50% - 1.875rem); }
3275
+ .grid-margin-y > .xxlarge-7 {
3276
+ height: calc(58.33333% - 1.875rem); }
3277
+ .grid-margin-y > .xxlarge-8 {
3278
+ height: calc(66.66667% - 1.875rem); }
3279
+ .grid-margin-y > .xxlarge-9 {
3280
+ height: calc(75% - 1.875rem); }
3281
+ .grid-margin-y > .xxlarge-10 {
3282
+ height: calc(83.33333% - 1.875rem); }
3283
+ .grid-margin-y > .xxlarge-11 {
3284
+ height: calc(91.66667% - 1.875rem); }
3285
+ .grid-margin-y > .xxlarge-12 {
3286
+ height: calc(100% - 1.875rem); } }
3287
+ @media screen and (min-width: 100em) {
3288
+ .grid-margin-y > .xxxlarge-auto {
3289
+ height: auto; }
3290
+ .grid-margin-y > .xxxlarge-shrink {
3291
+ height: auto; }
3292
+ .grid-margin-y > .xxxlarge-1 {
3293
+ height: calc(8.33333% - 1.875rem); }
3294
+ .grid-margin-y > .xxxlarge-2 {
3295
+ height: calc(16.66667% - 1.875rem); }
3296
+ .grid-margin-y > .xxxlarge-3 {
3297
+ height: calc(25% - 1.875rem); }
3298
+ .grid-margin-y > .xxxlarge-4 {
3299
+ height: calc(33.33333% - 1.875rem); }
3300
+ .grid-margin-y > .xxxlarge-5 {
3301
+ height: calc(41.66667% - 1.875rem); }
3302
+ .grid-margin-y > .xxxlarge-6 {
3303
+ height: calc(50% - 1.875rem); }
3304
+ .grid-margin-y > .xxxlarge-7 {
3305
+ height: calc(58.33333% - 1.875rem); }
3306
+ .grid-margin-y > .xxxlarge-8 {
3307
+ height: calc(66.66667% - 1.875rem); }
3308
+ .grid-margin-y > .xxxlarge-9 {
3309
+ height: calc(75% - 1.875rem); }
3310
+ .grid-margin-y > .xxxlarge-10 {
3311
+ height: calc(83.33333% - 1.875rem); }
3312
+ .grid-margin-y > .xxxlarge-11 {
3313
+ height: calc(91.66667% - 1.875rem); }
3314
+ .grid-margin-y > .xxxlarge-12 {
3315
+ height: calc(100% - 1.875rem); } }
3316
+
3317
+ .grid-frame.grid-margin-y {
3318
+ height: calc(100vh + 1.875rem); }
3319
+
3320
+ @media print, screen and (min-width: 40em) {
3321
+ .grid-margin-y.medium-grid-frame {
3322
+ height: calc(100vh + 1.875rem); } }
3323
+
3324
+ @media print, screen and (min-width: 64em) {
3325
+ .grid-margin-y.large-grid-frame {
3326
+ height: calc(100vh + 1.875rem); } }
3327
+
3328
+ @media screen and (min-width: 75em) {
3329
+ .grid-margin-y.xlarge-grid-frame {
3330
+ height: calc(100vh + 1.875rem); } }
3331
+
3332
+ @media screen and (min-width: 90em) {
3333
+ .grid-margin-y.xxlarge-grid-frame {
3334
+ height: calc(100vh + 1.875rem); } }
3335
+
3336
+ @media screen and (min-width: 100em) {
3337
+ .grid-margin-y.xxxlarge-grid-frame {
3338
+ height: calc(100vh + 1.875rem); } }
3339
+
3340
+ .align-left {
3341
+ justify-content: flex-start; }
3342
+
3343
+ .align-right {
3344
+ justify-content: flex-end; }
3345
+
3346
+ .align-center {
3347
+ justify-content: center; }
3348
+
3349
+ .align-justify {
3350
+ justify-content: space-between; }
3351
+
3352
+ .align-spaced {
3353
+ justify-content: space-around; }
3354
+
3355
+ .align-left.vertical.menu > li > a {
3356
+ justify-content: flex-start; }
3357
+
3358
+ .align-right.vertical.menu > li > a {
3359
+ justify-content: flex-end; }
3360
+
3361
+ .align-center.vertical.menu > li > a {
3362
+ justify-content: center; }
3363
+
3364
+ .align-top {
3365
+ align-items: flex-start; }
3366
+
3367
+ .align-self-top {
3368
+ align-self: flex-start; }
3369
+
3370
+ .align-bottom {
3371
+ align-items: flex-end; }
3372
+
3373
+ .align-self-bottom {
3374
+ align-self: flex-end; }
3375
+
3376
+ .align-middle {
3377
+ align-items: center; }
3378
+
3379
+ .align-self-middle {
3380
+ align-self: center; }
3381
+
3382
+ .align-stretch {
3383
+ align-items: stretch; }
3384
+
3385
+ .align-self-stretch {
3386
+ align-self: stretch; }
3387
+
3388
+ .align-center-middle {
3389
+ justify-content: center;
3390
+ align-items: center;
3391
+ align-content: center; }
3392
+
3393
+ .small-order-1 {
3394
+ order: 1; }
3395
+
3396
+ .small-order-2 {
3397
+ order: 2; }
3398
+
3399
+ .small-order-3 {
3400
+ order: 3; }
3401
+
3402
+ .small-order-4 {
3403
+ order: 4; }
3404
+
3405
+ .small-order-5 {
3406
+ order: 5; }
3407
+
3408
+ .small-order-6 {
3409
+ order: 6; }
3410
+
3411
+ @media print, screen and (min-width: 40em) {
3412
+ .medium-order-1 {
3413
+ order: 1; }
3414
+ .medium-order-2 {
3415
+ order: 2; }
3416
+ .medium-order-3 {
3417
+ order: 3; }
3418
+ .medium-order-4 {
3419
+ order: 4; }
3420
+ .medium-order-5 {
3421
+ order: 5; }
3422
+ .medium-order-6 {
3423
+ order: 6; } }
3424
+
3425
+ @media print, screen and (min-width: 64em) {
3426
+ .large-order-1 {
3427
+ order: 1; }
3428
+ .large-order-2 {
3429
+ order: 2; }
3430
+ .large-order-3 {
3431
+ order: 3; }
3432
+ .large-order-4 {
3433
+ order: 4; }
3434
+ .large-order-5 {
3435
+ order: 5; }
3436
+ .large-order-6 {
3437
+ order: 6; } }
3438
+
3439
+ @media screen and (min-width: 75em) {
3440
+ .xlarge-order-1 {
3441
+ order: 1; }
3442
+ .xlarge-order-2 {
3443
+ order: 2; }
3444
+ .xlarge-order-3 {
3445
+ order: 3; }
3446
+ .xlarge-order-4 {
3447
+ order: 4; }
3448
+ .xlarge-order-5 {
3449
+ order: 5; }
3450
+ .xlarge-order-6 {
3451
+ order: 6; } }
3452
+
3453
+ @media screen and (min-width: 90em) {
3454
+ .xxlarge-order-1 {
3455
+ order: 1; }
3456
+ .xxlarge-order-2 {
3457
+ order: 2; }
3458
+ .xxlarge-order-3 {
3459
+ order: 3; }
3460
+ .xxlarge-order-4 {
3461
+ order: 4; }
3462
+ .xxlarge-order-5 {
3463
+ order: 5; }
3464
+ .xxlarge-order-6 {
3465
+ order: 6; } }
3466
+
3467
+ @media screen and (min-width: 100em) {
3468
+ .xxxlarge-order-1 {
3469
+ order: 1; }
3470
+ .xxxlarge-order-2 {
3471
+ order: 2; }
3472
+ .xxxlarge-order-3 {
3473
+ order: 3; }
3474
+ .xxxlarge-order-4 {
3475
+ order: 4; }
3476
+ .xxxlarge-order-5 {
3477
+ order: 5; }
3478
+ .xxxlarge-order-6 {
3479
+ order: 6; } }
3480
+
3481
+ .flex-container {
3482
+ display: flex; }
3483
+
3484
+ .flex-child-auto {
3485
+ flex: 1 1 auto; }
3486
+
3487
+ .flex-child-grow {
3488
+ flex: 1 0 auto; }
3489
+
3490
+ .flex-child-shrink {
3491
+ flex: 0 1 auto; }
3492
+
3493
+ .flex-dir-row {
3494
+ flex-direction: row; }
3495
+
3496
+ .flex-dir-row-reverse {
3497
+ flex-direction: row-reverse; }
3498
+
3499
+ .flex-dir-column {
3500
+ flex-direction: column; }
3501
+
3502
+ .flex-dir-column-reverse {
3503
+ flex-direction: column-reverse; }
3504
+
3505
+ @media print, screen and (min-width: 40em) {
3506
+ .medium-flex-container {
3507
+ display: flex; }
3508
+ .medium-flex-child-auto {
3509
+ flex: 1 1 auto; }
3510
+ .medium-flex-child-grow {
3511
+ flex: 1 0 auto; }
3512
+ .medium-flex-child-shrink {
3513
+ flex: 0 1 auto; }
3514
+ .medium-flex-dir-row {
3515
+ flex-direction: row; }
3516
+ .medium-flex-dir-row-reverse {
3517
+ flex-direction: row-reverse; }
3518
+ .medium-flex-dir-column {
3519
+ flex-direction: column; }
3520
+ .medium-flex-dir-column-reverse {
3521
+ flex-direction: column-reverse; } }
3522
+
3523
+ @media print, screen and (min-width: 64em) {
3524
+ .large-flex-container {
3525
+ display: flex; }
3526
+ .large-flex-child-auto {
3527
+ flex: 1 1 auto; }
3528
+ .large-flex-child-grow {
3529
+ flex: 1 0 auto; }
3530
+ .large-flex-child-shrink {
3531
+ flex: 0 1 auto; }
3532
+ .large-flex-dir-row {
3533
+ flex-direction: row; }
3534
+ .large-flex-dir-row-reverse {
3535
+ flex-direction: row-reverse; }
3536
+ .large-flex-dir-column {
3537
+ flex-direction: column; }
3538
+ .large-flex-dir-column-reverse {
3539
+ flex-direction: column-reverse; } }
3540
+
3541
+ @media screen and (min-width: 75em) {
3542
+ .xlarge-flex-container {
3543
+ display: flex; }
3544
+ .xlarge-flex-child-auto {
3545
+ flex: 1 1 auto; }
3546
+ .xlarge-flex-child-grow {
3547
+ flex: 1 0 auto; }
3548
+ .xlarge-flex-child-shrink {
3549
+ flex: 0 1 auto; }
3550
+ .xlarge-flex-dir-row {
3551
+ flex-direction: row; }
3552
+ .xlarge-flex-dir-row-reverse {
3553
+ flex-direction: row-reverse; }
3554
+ .xlarge-flex-dir-column {
3555
+ flex-direction: column; }
3556
+ .xlarge-flex-dir-column-reverse {
3557
+ flex-direction: column-reverse; } }
3558
+
3559
+ @media screen and (min-width: 90em) {
3560
+ .xxlarge-flex-container {
3561
+ display: flex; }
3562
+ .xxlarge-flex-child-auto {
3563
+ flex: 1 1 auto; }
3564
+ .xxlarge-flex-child-grow {
3565
+ flex: 1 0 auto; }
3566
+ .xxlarge-flex-child-shrink {
3567
+ flex: 0 1 auto; }
3568
+ .xxlarge-flex-dir-row {
3569
+ flex-direction: row; }
3570
+ .xxlarge-flex-dir-row-reverse {
3571
+ flex-direction: row-reverse; }
3572
+ .xxlarge-flex-dir-column {
3573
+ flex-direction: column; }
3574
+ .xxlarge-flex-dir-column-reverse {
3575
+ flex-direction: column-reverse; } }
3576
+
3577
+ @media screen and (min-width: 100em) {
3578
+ .xxxlarge-flex-container {
3579
+ display: flex; }
3580
+ .xxxlarge-flex-child-auto {
3581
+ flex: 1 1 auto; }
3582
+ .xxxlarge-flex-child-grow {
3583
+ flex: 1 0 auto; }
3584
+ .xxxlarge-flex-child-shrink {
3585
+ flex: 0 1 auto; }
3586
+ .xxxlarge-flex-dir-row {
3587
+ flex-direction: row; }
3588
+ .xxxlarge-flex-dir-row-reverse {
3589
+ flex-direction: row-reverse; }
3590
+ .xxxlarge-flex-dir-column {
3591
+ flex-direction: column; }
3592
+ .xxxlarge-flex-dir-column-reverse {
3593
+ flex-direction: column-reverse; } }
3594
+
3595
+ .hide {
3596
+ display: none !important; }
3597
+
3598
+ .invisible {
3599
+ visibility: hidden; }
3600
+
3601
+ @media print, screen and (max-width: 39.99875em) {
3602
+ .hide-for-small-only {
3603
+ display: none !important; } }
3604
+
3605
+ @media screen and (max-width: 0em), screen and (min-width: 40em) {
3606
+ .show-for-small-only {
3607
+ display: none !important; } }
3608
+
3609
+ @media print, screen and (min-width: 40em) {
3610
+ .hide-for-medium {
3611
+ display: none !important; } }
3612
+
3613
+ @media screen and (max-width: 39.99875em) {
3614
+ .show-for-medium {
3615
+ display: none !important; } }
3616
+
3617
+ @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
3618
+ .hide-for-medium-only {
3619
+ display: none !important; } }
3620
+
3621
+ @media screen and (max-width: 39.99875em), screen and (min-width: 64em) {
3622
+ .show-for-medium-only {
3623
+ display: none !important; } }
3624
+
3625
+ @media print, screen and (min-width: 64em) {
3626
+ .hide-for-large {
3627
+ display: none !important; } }
3628
+
3629
+ @media screen and (max-width: 63.99875em) {
3630
+ .show-for-large {
3631
+ display: none !important; } }
3632
+
3633
+ @media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
3634
+ .hide-for-large-only {
3635
+ display: none !important; } }
3636
+
3637
+ @media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
3638
+ .show-for-large-only {
3639
+ display: none !important; } }
3640
+
3641
+ @media screen and (min-width: 75em) {
3642
+ .hide-for-xlarge {
3643
+ display: none !important; } }
3644
+
3645
+ @media screen and (max-width: 74.99875em) {
3646
+ .show-for-xlarge {
3647
+ display: none !important; } }
3648
+
3649
+ @media screen and (min-width: 75em) and (max-width: 89.99875em) {
3650
+ .hide-for-xlarge-only {
3651
+ display: none !important; } }
3652
+
3653
+ @media screen and (max-width: 74.99875em), screen and (min-width: 90em) {
3654
+ .show-for-xlarge-only {
3655
+ display: none !important; } }
3656
+
3657
+ @media screen and (min-width: 90em) {
3658
+ .hide-for-xxlarge {
3659
+ display: none !important; } }
3660
+
3661
+ @media screen and (max-width: 89.99875em) {
3662
+ .show-for-xxlarge {
3663
+ display: none !important; } }
3664
+
3665
+ @media screen and (min-width: 90em) and (max-width: 99.99875em) {
3666
+ .hide-for-xxlarge-only {
3667
+ display: none !important; } }
3668
+
3669
+ @media screen and (max-width: 89.99875em), screen and (min-width: 100em) {
3670
+ .show-for-xxlarge-only {
3671
+ display: none !important; } }
3672
+
3673
+ @media screen and (min-width: 100em) {
3674
+ .hide-for-xxxlarge {
3675
+ display: none !important; } }
3676
+
3677
+ @media screen and (max-width: 99.99875em) {
3678
+ .show-for-xxxlarge {
3679
+ display: none !important; } }
3680
+
3681
+ @media screen and (min-width: 100em) {
3682
+ .hide-for-xxxlarge-only {
3683
+ display: none !important; } }
3684
+
3685
+ @media screen and (max-width: 99.99875em) {
3686
+ .show-for-xxxlarge-only {
3687
+ display: none !important; } }
3688
+
3689
+ .show-for-sr,
3690
+ .show-on-focus {
3691
+ position: absolute !important;
3692
+ width: 1px !important;
3693
+ height: 1px !important;
3694
+ padding: 0 !important;
3695
+ overflow: hidden !important;
3696
+ clip: rect(0, 0, 0, 0) !important;
3697
+ white-space: nowrap !important;
3698
+ border: 0 !important; }
3699
+
3700
+ .show-on-focus:active, .show-on-focus:focus {
3701
+ position: static !important;
3702
+ width: auto !important;
3703
+ height: auto !important;
3704
+ overflow: visible !important;
3705
+ clip: auto !important;
3706
+ white-space: normal !important; }
3707
+
3708
+ .show-for-landscape,
3709
+ .hide-for-portrait {
3710
+ display: block !important; }
3711
+ @media screen and (orientation: landscape) {
3712
+ .show-for-landscape,
3713
+ .hide-for-portrait {
3714
+ display: block !important; } }
3715
+ @media screen and (orientation: portrait) {
3716
+ .show-for-landscape,
3717
+ .hide-for-portrait {
3718
+ display: none !important; } }
3719
+
3720
+ .hide-for-landscape,
3721
+ .show-for-portrait {
3722
+ display: none !important; }
3723
+ @media screen and (orientation: landscape) {
3724
+ .hide-for-landscape,
3725
+ .show-for-portrait {
3726
+ display: none !important; } }
3727
+ @media screen and (orientation: portrait) {
3728
+ .hide-for-landscape,
3729
+ .show-for-portrait {
3730
+ display: block !important; } }
3731
+
3732
+ .margin-0 {
3733
+ margin: 0rem !important; }
3734
+
3735
+ .margin-top-0 {
3736
+ margin-top: 0rem !important; }
3737
+
3738
+ .margin-right-0 {
3739
+ margin-right: 0rem !important; }
3740
+
3741
+ .margin-bottom-0 {
3742
+ margin-bottom: 0rem !important; }
3743
+
3744
+ .margin-left-0 {
3745
+ margin-left: 0rem !important; }
3746
+
3747
+ .margin-horizontal-0 {
3748
+ margin-right: 0rem !important;
3749
+ margin-left: 0rem !important; }
3750
+
3751
+ .margin-vertical-0 {
3752
+ margin-top: 0rem !important;
3753
+ margin-bottom: 0rem !important; }
3754
+
3755
+ .padding-0 {
3756
+ padding: 0rem !important; }
3757
+
3758
+ .padding-top-0 {
3759
+ padding-top: 0rem !important; }
3760
+
3761
+ .padding-right-0 {
3762
+ padding-right: 0rem !important; }
3763
+
3764
+ .padding-bottom-0 {
3765
+ padding-bottom: 0rem !important; }
3766
+
3767
+ .padding-left-0 {
3768
+ padding-left: 0rem !important; }
3769
+
3770
+ .padding-horizontal-0 {
3771
+ padding-right: 0rem !important;
3772
+ padding-left: 0rem !important; }
3773
+
3774
+ .padding-vertical-0 {
3775
+ padding-top: 0rem !important;
3776
+ padding-bottom: 0rem !important; }
3777
+
3778
+ .margin-1 {
3779
+ margin: 1rem !important; }
3780
+
3781
+ .margin-top-1 {
3782
+ margin-top: 1rem !important; }
3783
+
3784
+ .margin-right-1 {
3785
+ margin-right: 1rem !important; }
3786
+
3787
+ .margin-bottom-1 {
3788
+ margin-bottom: 1rem !important; }
3789
+
3790
+ .margin-left-1 {
3791
+ margin-left: 1rem !important; }
3792
+
3793
+ .margin-horizontal-1 {
3794
+ margin-right: 1rem !important;
3795
+ margin-left: 1rem !important; }
3796
+
3797
+ .margin-vertical-1 {
3798
+ margin-top: 1rem !important;
3799
+ margin-bottom: 1rem !important; }
3800
+
3801
+ .padding-1 {
3802
+ padding: 1rem !important; }
3803
+
3804
+ .padding-top-1 {
3805
+ padding-top: 1rem !important; }
3806
+
3807
+ .padding-right-1 {
3808
+ padding-right: 1rem !important; }
3809
+
3810
+ .padding-bottom-1 {
3811
+ padding-bottom: 1rem !important; }
3812
+
3813
+ .padding-left-1 {
3814
+ padding-left: 1rem !important; }
3815
+
3816
+ .padding-horizontal-1 {
3817
+ padding-right: 1rem !important;
3818
+ padding-left: 1rem !important; }
3819
+
3820
+ .padding-vertical-1 {
3821
+ padding-top: 1rem !important;
3822
+ padding-bottom: 1rem !important; }
3823
+
3824
+ .margin-2 {
3825
+ margin: 2rem !important; }
3826
+
3827
+ .margin-top-2 {
3828
+ margin-top: 2rem !important; }
3829
+
3830
+ .margin-right-2 {
3831
+ margin-right: 2rem !important; }
3832
+
3833
+ .margin-bottom-2 {
3834
+ margin-bottom: 2rem !important; }
3835
+
3836
+ .margin-left-2 {
3837
+ margin-left: 2rem !important; }
3838
+
3839
+ .margin-horizontal-2 {
3840
+ margin-right: 2rem !important;
3841
+ margin-left: 2rem !important; }
3842
+
3843
+ .margin-vertical-2 {
3844
+ margin-top: 2rem !important;
3845
+ margin-bottom: 2rem !important; }
3846
+
3847
+ .padding-2 {
3848
+ padding: 2rem !important; }
3849
+
3850
+ .padding-top-2 {
3851
+ padding-top: 2rem !important; }
3852
+
3853
+ .padding-right-2 {
3854
+ padding-right: 2rem !important; }
3855
+
3856
+ .padding-bottom-2 {
3857
+ padding-bottom: 2rem !important; }
3858
+
3859
+ .padding-left-2 {
3860
+ padding-left: 2rem !important; }
3861
+
3862
+ .padding-horizontal-2 {
3863
+ padding-right: 2rem !important;
3864
+ padding-left: 2rem !important; }
3865
+
3866
+ .padding-vertical-2 {
3867
+ padding-top: 2rem !important;
3868
+ padding-bottom: 2rem !important; }
3869
+
3870
+ .margin-3 {
3871
+ margin: 3rem !important; }
3872
+
3873
+ .margin-top-3 {
3874
+ margin-top: 3rem !important; }
3875
+
3876
+ .margin-right-3 {
3877
+ margin-right: 3rem !important; }
3878
+
3879
+ .margin-bottom-3 {
3880
+ margin-bottom: 3rem !important; }
3881
+
3882
+ .margin-left-3 {
3883
+ margin-left: 3rem !important; }
3884
+
3885
+ .margin-horizontal-3 {
3886
+ margin-right: 3rem !important;
3887
+ margin-left: 3rem !important; }
3888
+
3889
+ .margin-vertical-3 {
3890
+ margin-top: 3rem !important;
3891
+ margin-bottom: 3rem !important; }
3892
+
3893
+ .padding-3 {
3894
+ padding: 3rem !important; }
3895
+
3896
+ .padding-top-3 {
3897
+ padding-top: 3rem !important; }
3898
+
3899
+ .padding-right-3 {
3900
+ padding-right: 3rem !important; }
3901
+
3902
+ .padding-bottom-3 {
3903
+ padding-bottom: 3rem !important; }
3904
+
3905
+ .padding-left-3 {
3906
+ padding-left: 3rem !important; }
3907
+
3908
+ .padding-horizontal-3 {
3909
+ padding-right: 3rem !important;
3910
+ padding-left: 3rem !important; }
3911
+
3912
+ .padding-vertical-3 {
3913
+ padding-top: 3rem !important;
3914
+ padding-bottom: 3rem !important; }
3915
+
3916
+ /* Font Awesome 5 Pro; Uncomment if you want to use it */
3917
+ /*!
3918
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
3919
+ * License - https://fontawesome.com/license (Commercial License)
3920
+ */
3921
+ .fa,
3922
+ .fas,
3923
+ .far,
3924
+ .fal,
3925
+ .fad,
3926
+ .fab {
3927
+ -moz-osx-font-smoothing: grayscale;
3928
+ -webkit-font-smoothing: antialiased;
3929
+ display: inline-block;
3930
+ font-style: normal;
3931
+ font-variant: normal;
3932
+ text-rendering: auto;
3933
+ line-height: 1; }
3934
+
3935
+ .fa-lg {
3936
+ font-size: 1.33333em;
3937
+ line-height: 0.75em;
3938
+ vertical-align: -.0667em; }
3939
+
3940
+ .fa-xs {
3941
+ font-size: .75em; }
3942
+
3943
+ .fa-sm {
3944
+ font-size: .875em; }
3945
+
3946
+ .fa-1x {
3947
+ font-size: 1em; }
3948
+
3949
+ .fa-2x {
3950
+ font-size: 2em; }
3951
+
3952
+ .fa-3x {
3953
+ font-size: 3em; }
3954
+
3955
+ .fa-4x {
3956
+ font-size: 4em; }
3957
+
3958
+ .fa-5x {
3959
+ font-size: 5em; }
3960
+
3961
+ .fa-6x {
3962
+ font-size: 6em; }
3963
+
3964
+ .fa-7x {
3965
+ font-size: 7em; }
3966
+
3967
+ .fa-8x {
3968
+ font-size: 8em; }
3969
+
3970
+ .fa-9x {
3971
+ font-size: 9em; }
3972
+
3973
+ .fa-10x {
3974
+ font-size: 10em; }
3975
+
3976
+ .fa-fw {
3977
+ text-align: center;
3978
+ width: 1.25em; }
3979
+
3980
+ .fa-ul {
3981
+ list-style-type: none;
3982
+ margin-left: 2.5em;
3983
+ padding-left: 0; }
3984
+ .fa-ul > li {
3985
+ position: relative; }
3986
+
3987
+ .fa-li {
3988
+ left: -2em;
3989
+ position: absolute;
3990
+ text-align: center;
3991
+ width: 2em;
3992
+ line-height: inherit; }
3993
+
3994
+ .fa-border {
3995
+ border: solid 0.08em #eee;
3996
+ border-radius: .1em;
3997
+ padding: .2em .25em .15em; }
3998
+
3999
+ .fa-pull-left {
4000
+ float: left; }
4001
+
4002
+ .fa-pull-right {
4003
+ float: right; }
4004
+
4005
+ .fa.fa-pull-left,
4006
+ .fas.fa-pull-left,
4007
+ .far.fa-pull-left,
4008
+ .fal.fa-pull-left,
4009
+ .fab.fa-pull-left {
4010
+ margin-right: .3em; }
4011
+
4012
+ .fa.fa-pull-right,
4013
+ .fas.fa-pull-right,
4014
+ .far.fa-pull-right,
4015
+ .fal.fa-pull-right,
4016
+ .fab.fa-pull-right {
4017
+ margin-left: .3em; }
4018
+
4019
+ .fa-spin {
4020
+ animation: fa-spin 2s infinite linear; }
4021
+
4022
+ .fa-pulse {
4023
+ animation: fa-spin 1s infinite steps(8); }
4024
+
4025
+ @keyframes fa-spin {
4026
+ 0% {
4027
+ transform: rotate(0deg); }
4028
+ 100% {
4029
+ transform: rotate(360deg); } }
4030
+
4031
+ .fa-rotate-90 {
4032
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
4033
+ transform: rotate(90deg); }
4034
+
4035
+ .fa-rotate-180 {
4036
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
4037
+ transform: rotate(180deg); }
4038
+
4039
+ .fa-rotate-270 {
4040
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
4041
+ transform: rotate(270deg); }
4042
+
4043
+ .fa-flip-horizontal {
4044
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
4045
+ transform: scale(-1, 1); }
4046
+
4047
+ .fa-flip-vertical {
4048
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
4049
+ transform: scale(1, -1); }
4050
+
4051
+ .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
4052
+ -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
4053
+ transform: scale(-1, -1); }
4054
+
4055
+ :root .fa-rotate-90,
4056
+ :root .fa-rotate-180,
4057
+ :root .fa-rotate-270,
4058
+ :root .fa-flip-horizontal,
4059
+ :root .fa-flip-vertical,
4060
+ :root .fa-flip-both {
4061
+ filter: none; }
4062
+
4063
+ .fa-stack {
4064
+ display: inline-block;
4065
+ height: 2em;
4066
+ line-height: 2em;
4067
+ position: relative;
4068
+ vertical-align: middle;
4069
+ width: 2.5em; }
4070
+
4071
+ .fa-stack-1x,
4072
+ .fa-stack-2x {
4073
+ left: 0;
4074
+ position: absolute;
4075
+ text-align: center;
4076
+ width: 100%; }
4077
+
4078
+ .fa-stack-1x {
4079
+ line-height: inherit; }
4080
+
4081
+ .fa-stack-2x {
4082
+ font-size: 2em; }
4083
+
4084
+ .fa-inverse {
4085
+ color: #fff; }
4086
+
4087
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
4088
+ readers do not read off random characters that represent icons */
4089
+ .fa-500px:before {
4090
+ content: "\f26e"; }
4091
+
4092
+ .fa-abacus:before {
4093
+ content: "\f640"; }
4094
+
4095
+ .fa-accessible-icon:before {
4096
+ content: "\f368"; }
4097
+
4098
+ .fa-accusoft:before {
4099
+ content: "\f369"; }
4100
+
4101
+ .fa-acorn:before {
4102
+ content: "\f6ae"; }
4103
+
4104
+ .fa-acquisitions-incorporated:before {
4105
+ content: "\f6af"; }
4106
+
4107
+ .fa-ad:before {
4108
+ content: "\f641"; }
4109
+
4110
+ .fa-address-book:before {
4111
+ content: "\f2b9"; }
4112
+
4113
+ .fa-address-card:before {
4114
+ content: "\f2bb"; }
4115
+
4116
+ .fa-adjust:before {
4117
+ content: "\f042"; }
4118
+
4119
+ .fa-adn:before {
4120
+ content: "\f170"; }
4121
+
4122
+ .fa-adversal:before {
4123
+ content: "\f36a"; }
4124
+
4125
+ .fa-affiliatetheme:before {
4126
+ content: "\f36b"; }
4127
+
4128
+ .fa-air-conditioner:before {
4129
+ content: "\f8f4"; }
4130
+
4131
+ .fa-air-freshener:before {
4132
+ content: "\f5d0"; }
4133
+
4134
+ .fa-airbnb:before {
4135
+ content: "\f834"; }
4136
+
4137
+ .fa-alarm-clock:before {
4138
+ content: "\f34e"; }
4139
+
4140
+ .fa-alarm-exclamation:before {
4141
+ content: "\f843"; }
4142
+
4143
+ .fa-alarm-plus:before {
4144
+ content: "\f844"; }
4145
+
4146
+ .fa-alarm-snooze:before {
4147
+ content: "\f845"; }
4148
+
4149
+ .fa-album:before {
4150
+ content: "\f89f"; }
4151
+
4152
+ .fa-album-collection:before {
4153
+ content: "\f8a0"; }
4154
+
4155
+ .fa-algolia:before {
4156
+ content: "\f36c"; }
4157
+
4158
+ .fa-alicorn:before {
4159
+ content: "\f6b0"; }
4160
+
4161
+ .fa-alien:before {
4162
+ content: "\f8f5"; }
4163
+
4164
+ .fa-alien-monster:before {
4165
+ content: "\f8f6"; }
4166
+
4167
+ .fa-align-center:before {
4168
+ content: "\f037"; }
4169
+
4170
+ .fa-align-justify:before {
4171
+ content: "\f039"; }
4172
+
4173
+ .fa-align-left:before {
4174
+ content: "\f036"; }
4175
+
4176
+ .fa-align-right:before {
4177
+ content: "\f038"; }
4178
+
4179
+ .fa-align-slash:before {
4180
+ content: "\f846"; }
4181
+
4182
+ .fa-alipay:before {
4183
+ content: "\f642"; }
4184
+
4185
+ .fa-allergies:before {
4186
+ content: "\f461"; }
4187
+
4188
+ .fa-amazon:before {
4189
+ content: "\f270"; }
4190
+
4191
+ .fa-amazon-pay:before {
4192
+ content: "\f42c"; }
4193
+
4194
+ .fa-ambulance:before {
4195
+ content: "\f0f9"; }
4196
+
4197
+ .fa-american-sign-language-interpreting:before {
4198
+ content: "\f2a3"; }
4199
+
4200
+ .fa-amilia:before {
4201
+ content: "\f36d"; }
4202
+
4203
+ .fa-amp-guitar:before {
4204
+ content: "\f8a1"; }
4205
+
4206
+ .fa-analytics:before {
4207
+ content: "\f643"; }
4208
+
4209
+ .fa-anchor:before {
4210
+ content: "\f13d"; }
4211
+
4212
+ .fa-android:before {
4213
+ content: "\f17b"; }
4214
+
4215
+ .fa-angel:before {
4216
+ content: "\f779"; }
4217
+
4218
+ .fa-angellist:before {
4219
+ content: "\f209"; }
4220
+
4221
+ .fa-angle-double-down:before {
4222
+ content: "\f103"; }
4223
+
4224
+ .fa-angle-double-left:before {
4225
+ content: "\f100"; }
4226
+
4227
+ .fa-angle-double-right:before {
4228
+ content: "\f101"; }
4229
+
4230
+ .fa-angle-double-up:before {
4231
+ content: "\f102"; }
4232
+
4233
+ .fa-angle-down:before {
4234
+ content: "\f107"; }
4235
+
4236
+ .fa-angle-left:before {
4237
+ content: "\f104"; }
4238
+
4239
+ .fa-angle-right:before {
4240
+ content: "\f105"; }
4241
+
4242
+ .fa-angle-up:before {
4243
+ content: "\f106"; }
4244
+
4245
+ .fa-angry:before {
4246
+ content: "\f556"; }
4247
+
4248
+ .fa-angrycreative:before {
4249
+ content: "\f36e"; }
4250
+
4251
+ .fa-angular:before {
4252
+ content: "\f420"; }
4253
+
4254
+ .fa-ankh:before {
4255
+ content: "\f644"; }
4256
+
4257
+ .fa-app-store:before {
4258
+ content: "\f36f"; }
4259
+
4260
+ .fa-app-store-ios:before {
4261
+ content: "\f370"; }
4262
+
4263
+ .fa-apper:before {
4264
+ content: "\f371"; }
4265
+
4266
+ .fa-apple:before {
4267
+ content: "\f179"; }
4268
+
4269
+ .fa-apple-alt:before {
4270
+ content: "\f5d1"; }
4271
+
4272
+ .fa-apple-crate:before {
4273
+ content: "\f6b1"; }
4274
+
4275
+ .fa-apple-pay:before {
4276
+ content: "\f415"; }
4277
+
4278
+ .fa-archive:before {
4279
+ content: "\f187"; }
4280
+
4281
+ .fa-archway:before {
4282
+ content: "\f557"; }
4283
+
4284
+ .fa-arrow-alt-circle-down:before {
4285
+ content: "\f358"; }
4286
+
4287
+ .fa-arrow-alt-circle-left:before {
4288
+ content: "\f359"; }
4289
+
4290
+ .fa-arrow-alt-circle-right:before {
4291
+ content: "\f35a"; }
4292
+
4293
+ .fa-arrow-alt-circle-up:before {
4294
+ content: "\f35b"; }
4295
+
4296
+ .fa-arrow-alt-down:before {
4297
+ content: "\f354"; }
4298
+
4299
+ .fa-arrow-alt-from-bottom:before {
4300
+ content: "\f346"; }
4301
+
4302
+ .fa-arrow-alt-from-left:before {
4303
+ content: "\f347"; }
4304
+
4305
+ .fa-arrow-alt-from-right:before {
4306
+ content: "\f348"; }
4307
+
4308
+ .fa-arrow-alt-from-top:before {
4309
+ content: "\f349"; }
4310
+
4311
+ .fa-arrow-alt-left:before {
4312
+ content: "\f355"; }
4313
+
4314
+ .fa-arrow-alt-right:before {
4315
+ content: "\f356"; }
4316
+
4317
+ .fa-arrow-alt-square-down:before {
4318
+ content: "\f350"; }
4319
+
4320
+ .fa-arrow-alt-square-left:before {
4321
+ content: "\f351"; }
4322
+
4323
+ .fa-arrow-alt-square-right:before {
4324
+ content: "\f352"; }
4325
+
4326
+ .fa-arrow-alt-square-up:before {
4327
+ content: "\f353"; }
4328
+
4329
+ .fa-arrow-alt-to-bottom:before {
4330
+ content: "\f34a"; }
4331
+
4332
+ .fa-arrow-alt-to-left:before {
4333
+ content: "\f34b"; }
4334
+
4335
+ .fa-arrow-alt-to-right:before {
4336
+ content: "\f34c"; }
4337
+
4338
+ .fa-arrow-alt-to-top:before {
4339
+ content: "\f34d"; }
4340
+
4341
+ .fa-arrow-alt-up:before {
4342
+ content: "\f357"; }
4343
+
4344
+ .fa-arrow-circle-down:before {
4345
+ content: "\f0ab"; }
4346
+
4347
+ .fa-arrow-circle-left:before {
4348
+ content: "\f0a8"; }
4349
+
4350
+ .fa-arrow-circle-right:before {
4351
+ content: "\f0a9"; }
4352
+
4353
+ .fa-arrow-circle-up:before {
4354
+ content: "\f0aa"; }
4355
+
4356
+ .fa-arrow-down:before {
4357
+ content: "\f063"; }
4358
+
4359
+ .fa-arrow-from-bottom:before {
4360
+ content: "\f342"; }
4361
+
4362
+ .fa-arrow-from-left:before {
4363
+ content: "\f343"; }
4364
+
4365
+ .fa-arrow-from-right:before {
4366
+ content: "\f344"; }
4367
+
4368
+ .fa-arrow-from-top:before {
4369
+ content: "\f345"; }
4370
+
4371
+ .fa-arrow-left:before {
4372
+ content: "\f060"; }
4373
+
4374
+ .fa-arrow-right:before {
4375
+ content: "\f061"; }
4376
+
4377
+ .fa-arrow-square-down:before {
4378
+ content: "\f339"; }
4379
+
4380
+ .fa-arrow-square-left:before {
4381
+ content: "\f33a"; }
4382
+
4383
+ .fa-arrow-square-right:before {
4384
+ content: "\f33b"; }
4385
+
4386
+ .fa-arrow-square-up:before {
4387
+ content: "\f33c"; }
4388
+
4389
+ .fa-arrow-to-bottom:before {
4390
+ content: "\f33d"; }
4391
+
4392
+ .fa-arrow-to-left:before {
4393
+ content: "\f33e"; }
4394
+
4395
+ .fa-arrow-to-right:before {
4396
+ content: "\f340"; }
4397
+
4398
+ .fa-arrow-to-top:before {
4399
+ content: "\f341"; }
4400
+
4401
+ .fa-arrow-up:before {
4402
+ content: "\f062"; }
4403
+
4404
+ .fa-arrows:before {
4405
+ content: "\f047"; }
4406
+
4407
+ .fa-arrows-alt:before {
4408
+ content: "\f0b2"; }
4409
+
4410
+ .fa-arrows-alt-h:before {
4411
+ content: "\f337"; }
4412
+
4413
+ .fa-arrows-alt-v:before {
4414
+ content: "\f338"; }
4415
+
4416
+ .fa-arrows-h:before {
4417
+ content: "\f07e"; }
4418
+
4419
+ .fa-arrows-v:before {
4420
+ content: "\f07d"; }
4421
+
4422
+ .fa-artstation:before {
4423
+ content: "\f77a"; }
4424
+
4425
+ .fa-assistive-listening-systems:before {
4426
+ content: "\f2a2"; }
4427
+
4428
+ .fa-asterisk:before {
4429
+ content: "\f069"; }
4430
+
4431
+ .fa-asymmetrik:before {
4432
+ content: "\f372"; }
4433
+
4434
+ .fa-at:before {
4435
+ content: "\f1fa"; }
4436
+
4437
+ .fa-atlas:before {
4438
+ content: "\f558"; }
4439
+
4440
+ .fa-atlassian:before {
4441
+ content: "\f77b"; }
4442
+
4443
+ .fa-atom:before {
4444
+ content: "\f5d2"; }
4445
+
4446
+ .fa-atom-alt:before {
4447
+ content: "\f5d3"; }
4448
+
4449
+ .fa-audible:before {
4450
+ content: "\f373"; }
4451
+
4452
+ .fa-audio-description:before {
4453
+ content: "\f29e"; }
4454
+
4455
+ .fa-autoprefixer:before {
4456
+ content: "\f41c"; }
4457
+
4458
+ .fa-avianex:before {
4459
+ content: "\f374"; }
4460
+
4461
+ .fa-aviato:before {
4462
+ content: "\f421"; }
4463
+
4464
+ .fa-award:before {
4465
+ content: "\f559"; }
4466
+
4467
+ .fa-aws:before {
4468
+ content: "\f375"; }
4469
+
4470
+ .fa-axe:before {
4471
+ content: "\f6b2"; }
4472
+
4473
+ .fa-axe-battle:before {
4474
+ content: "\f6b3"; }
4475
+
4476
+ .fa-baby:before {
4477
+ content: "\f77c"; }
4478
+
4479
+ .fa-baby-carriage:before {
4480
+ content: "\f77d"; }
4481
+
4482
+ .fa-backpack:before {
4483
+ content: "\f5d4"; }
4484
+
4485
+ .fa-backspace:before {
4486
+ content: "\f55a"; }
4487
+
4488
+ .fa-backward:before {
4489
+ content: "\f04a"; }
4490
+
4491
+ .fa-bacon:before {
4492
+ content: "\f7e5"; }
4493
+
4494
+ .fa-bacteria:before {
4495
+ content: "\e059"; }
4496
+
4497
+ .fa-bacterium:before {
4498
+ content: "\e05a"; }
4499
+
4500
+ .fa-badge:before {
4501
+ content: "\f335"; }
4502
+
4503
+ .fa-badge-check:before {
4504
+ content: "\f336"; }
4505
+
4506
+ .fa-badge-dollar:before {
4507
+ content: "\f645"; }
4508
+
4509
+ .fa-badge-percent:before {
4510
+ content: "\f646"; }
4511
+
4512
+ .fa-badge-sheriff:before {
4513
+ content: "\f8a2"; }
4514
+
4515
+ .fa-badger-honey:before {
4516
+ content: "\f6b4"; }
4517
+
4518
+ .fa-bags-shopping:before {
4519
+ content: "\f847"; }
4520
+
4521
+ .fa-bahai:before {
4522
+ content: "\f666"; }
4523
+
4524
+ .fa-balance-scale:before {
4525
+ content: "\f24e"; }
4526
+
4527
+ .fa-balance-scale-left:before {
4528
+ content: "\f515"; }
4529
+
4530
+ .fa-balance-scale-right:before {
4531
+ content: "\f516"; }
4532
+
4533
+ .fa-ball-pile:before {
4534
+ content: "\f77e"; }
4535
+
4536
+ .fa-ballot:before {
4537
+ content: "\f732"; }
4538
+
4539
+ .fa-ballot-check:before {
4540
+ content: "\f733"; }
4541
+
4542
+ .fa-ban:before {
4543
+ content: "\f05e"; }
4544
+
4545
+ .fa-band-aid:before {
4546
+ content: "\f462"; }
4547
+
4548
+ .fa-bandcamp:before {
4549
+ content: "\f2d5"; }
4550
+
4551
+ .fa-banjo:before {
4552
+ content: "\f8a3"; }
4553
+
4554
+ .fa-barcode:before {
4555
+ content: "\f02a"; }
4556
+
4557
+ .fa-barcode-alt:before {
4558
+ content: "\f463"; }
4559
+
4560
+ .fa-barcode-read:before {
4561
+ content: "\f464"; }
4562
+
4563
+ .fa-barcode-scan:before {
4564
+ content: "\f465"; }
4565
+
4566
+ .fa-bars:before {
4567
+ content: "\f0c9"; }
4568
+
4569
+ .fa-baseball:before {
4570
+ content: "\f432"; }
4571
+
4572
+ .fa-baseball-ball:before {
4573
+ content: "\f433"; }
4574
+
4575
+ .fa-basketball-ball:before {
4576
+ content: "\f434"; }
4577
+
4578
+ .fa-basketball-hoop:before {
4579
+ content: "\f435"; }
4580
+
4581
+ .fa-bat:before {
4582
+ content: "\f6b5"; }
4583
+
4584
+ .fa-bath:before {
4585
+ content: "\f2cd"; }
4586
+
4587
+ .fa-battery-bolt:before {
4588
+ content: "\f376"; }
4589
+
4590
+ .fa-battery-empty:before {
4591
+ content: "\f244"; }
4592
+
4593
+ .fa-battery-full:before {
4594
+ content: "\f240"; }
4595
+
4596
+ .fa-battery-half:before {
4597
+ content: "\f242"; }
4598
+
4599
+ .fa-battery-quarter:before {
4600
+ content: "\f243"; }
4601
+
4602
+ .fa-battery-slash:before {
4603
+ content: "\f377"; }
4604
+
4605
+ .fa-battery-three-quarters:before {
4606
+ content: "\f241"; }
4607
+
4608
+ .fa-battle-net:before {
4609
+ content: "\f835"; }
4610
+
4611
+ .fa-bed:before {
4612
+ content: "\f236"; }
4613
+
4614
+ .fa-bed-alt:before {
4615
+ content: "\f8f7"; }
4616
+
4617
+ .fa-bed-bunk:before {
4618
+ content: "\f8f8"; }
4619
+
4620
+ .fa-bed-empty:before {
4621
+ content: "\f8f9"; }
4622
+
4623
+ .fa-beer:before {
4624
+ content: "\f0fc"; }
4625
+
4626
+ .fa-behance:before {
4627
+ content: "\f1b4"; }
4628
+
4629
+ .fa-behance-square:before {
4630
+ content: "\f1b5"; }
4631
+
4632
+ .fa-bell:before {
4633
+ content: "\f0f3"; }
4634
+
4635
+ .fa-bell-exclamation:before {
4636
+ content: "\f848"; }
4637
+
4638
+ .fa-bell-on:before {
4639
+ content: "\f8fa"; }
4640
+
4641
+ .fa-bell-plus:before {
4642
+ content: "\f849"; }
4643
+
4644
+ .fa-bell-school:before {
4645
+ content: "\f5d5"; }
4646
+
4647
+ .fa-bell-school-slash:before {
4648
+ content: "\f5d6"; }
4649
+
4650
+ .fa-bell-slash:before {
4651
+ content: "\f1f6"; }
4652
+
4653
+ .fa-bells:before {
4654
+ content: "\f77f"; }
4655
+
4656
+ .fa-betamax:before {
4657
+ content: "\f8a4"; }
4658
+
4659
+ .fa-bezier-curve:before {
4660
+ content: "\f55b"; }
4661
+
4662
+ .fa-bible:before {
4663
+ content: "\f647"; }
4664
+
4665
+ .fa-bicycle:before {
4666
+ content: "\f206"; }
4667
+
4668
+ .fa-biking:before {
4669
+ content: "\f84a"; }
4670
+
4671
+ .fa-biking-mountain:before {
4672
+ content: "\f84b"; }
4673
+
4674
+ .fa-bimobject:before {
4675
+ content: "\f378"; }
4676
+
4677
+ .fa-binoculars:before {
4678
+ content: "\f1e5"; }
4679
+
4680
+ .fa-biohazard:before {
4681
+ content: "\f780"; }
4682
+
4683
+ .fa-birthday-cake:before {
4684
+ content: "\f1fd"; }
4685
+
4686
+ .fa-bitbucket:before {
4687
+ content: "\f171"; }
4688
+
4689
+ .fa-bitcoin:before {
4690
+ content: "\f379"; }
4691
+
4692
+ .fa-bity:before {
4693
+ content: "\f37a"; }
4694
+
4695
+ .fa-black-tie:before {
4696
+ content: "\f27e"; }
4697
+
4698
+ .fa-blackberry:before {
4699
+ content: "\f37b"; }
4700
+
4701
+ .fa-blanket:before {
4702
+ content: "\f498"; }
4703
+
4704
+ .fa-blender:before {
4705
+ content: "\f517"; }
4706
+
4707
+ .fa-blender-phone:before {
4708
+ content: "\f6b6"; }
4709
+
4710
+ .fa-blind:before {
4711
+ content: "\f29d"; }
4712
+
4713
+ .fa-blinds:before {
4714
+ content: "\f8fb"; }
4715
+
4716
+ .fa-blinds-open:before {
4717
+ content: "\f8fc"; }
4718
+
4719
+ .fa-blinds-raised:before {
4720
+ content: "\f8fd"; }
4721
+
4722
+ .fa-blog:before {
4723
+ content: "\f781"; }
4724
+
4725
+ .fa-blogger:before {
4726
+ content: "\f37c"; }
4727
+
4728
+ .fa-blogger-b:before {
4729
+ content: "\f37d"; }
4730
+
4731
+ .fa-bluetooth:before {
4732
+ content: "\f293"; }
4733
+
4734
+ .fa-bluetooth-b:before {
4735
+ content: "\f294"; }
4736
+
4737
+ .fa-bold:before {
4738
+ content: "\f032"; }
4739
+
4740
+ .fa-bolt:before {
4741
+ content: "\f0e7"; }
4742
+
4743
+ .fa-bomb:before {
4744
+ content: "\f1e2"; }
4745
+
4746
+ .fa-bone:before {
4747
+ content: "\f5d7"; }
4748
+
4749
+ .fa-bone-break:before {
4750
+ content: "\f5d8"; }
4751
+
4752
+ .fa-bong:before {
4753
+ content: "\f55c"; }
4754
+
4755
+ .fa-book:before {
4756
+ content: "\f02d"; }
4757
+
4758
+ .fa-book-alt:before {
4759
+ content: "\f5d9"; }
4760
+
4761
+ .fa-book-dead:before {
4762
+ content: "\f6b7"; }
4763
+
4764
+ .fa-book-heart:before {
4765
+ content: "\f499"; }
4766
+
4767
+ .fa-book-medical:before {
4768
+ content: "\f7e6"; }
4769
+
4770
+ .fa-book-open:before {
4771
+ content: "\f518"; }
4772
+
4773
+ .fa-book-reader:before {
4774
+ content: "\f5da"; }
4775
+
4776
+ .fa-book-spells:before {
4777
+ content: "\f6b8"; }
4778
+
4779
+ .fa-book-user:before {
4780
+ content: "\f7e7"; }
4781
+
4782
+ .fa-bookmark:before {
4783
+ content: "\f02e"; }
4784
+
4785
+ .fa-books:before {
4786
+ content: "\f5db"; }
4787
+
4788
+ .fa-books-medical:before {
4789
+ content: "\f7e8"; }
4790
+
4791
+ .fa-boombox:before {
4792
+ content: "\f8a5"; }
4793
+
4794
+ .fa-boot:before {
4795
+ content: "\f782"; }
4796
+
4797
+ .fa-booth-curtain:before {
4798
+ content: "\f734"; }
4799
+
4800
+ .fa-bootstrap:before {
4801
+ content: "\f836"; }
4802
+
4803
+ .fa-border-all:before {
4804
+ content: "\f84c"; }
4805
+
4806
+ .fa-border-bottom:before {
4807
+ content: "\f84d"; }
4808
+
4809
+ .fa-border-center-h:before {
4810
+ content: "\f89c"; }
4811
+
4812
+ .fa-border-center-v:before {
4813
+ content: "\f89d"; }
4814
+
4815
+ .fa-border-inner:before {
4816
+ content: "\f84e"; }
4817
+
4818
+ .fa-border-left:before {
4819
+ content: "\f84f"; }
4820
+
4821
+ .fa-border-none:before {
4822
+ content: "\f850"; }
4823
+
4824
+ .fa-border-outer:before {
4825
+ content: "\f851"; }
4826
+
4827
+ .fa-border-right:before {
4828
+ content: "\f852"; }
4829
+
4830
+ .fa-border-style:before {
4831
+ content: "\f853"; }
4832
+
4833
+ .fa-border-style-alt:before {
4834
+ content: "\f854"; }
4835
+
4836
+ .fa-border-top:before {
4837
+ content: "\f855"; }
4838
+
4839
+ .fa-bow-arrow:before {
4840
+ content: "\f6b9"; }
4841
+
4842
+ .fa-bowling-ball:before {
4843
+ content: "\f436"; }
4844
+
4845
+ .fa-bowling-pins:before {
4846
+ content: "\f437"; }
4847
+
4848
+ .fa-box:before {
4849
+ content: "\f466"; }
4850
+
4851
+ .fa-box-alt:before {
4852
+ content: "\f49a"; }
4853
+
4854
+ .fa-box-ballot:before {
4855
+ content: "\f735"; }
4856
+
4857
+ .fa-box-check:before {
4858
+ content: "\f467"; }
4859
+
4860
+ .fa-box-fragile:before {
4861
+ content: "\f49b"; }
4862
+
4863
+ .fa-box-full:before {
4864
+ content: "\f49c"; }
4865
+
4866
+ .fa-box-heart:before {
4867
+ content: "\f49d"; }
4868
+
4869
+ .fa-box-open:before {
4870
+ content: "\f49e"; }
4871
+
4872
+ .fa-box-tissue:before {
4873
+ content: "\e05b"; }
4874
+
4875
+ .fa-box-up:before {
4876
+ content: "\f49f"; }
4877
+
4878
+ .fa-box-usd:before {
4879
+ content: "\f4a0"; }
4880
+
4881
+ .fa-boxes:before {
4882
+ content: "\f468"; }
4883
+
4884
+ .fa-boxes-alt:before {
4885
+ content: "\f4a1"; }
4886
+
4887
+ .fa-boxing-glove:before {
4888
+ content: "\f438"; }
4889
+
4890
+ .fa-brackets:before {
4891
+ content: "\f7e9"; }
4892
+
4893
+ .fa-brackets-curly:before {
4894
+ content: "\f7ea"; }
4895
+
4896
+ .fa-braille:before {
4897
+ content: "\f2a1"; }
4898
+
4899
+ .fa-brain:before {
4900
+ content: "\f5dc"; }
4901
+
4902
+ .fa-bread-loaf:before {
4903
+ content: "\f7eb"; }
4904
+
4905
+ .fa-bread-slice:before {
4906
+ content: "\f7ec"; }
4907
+
4908
+ .fa-briefcase:before {
4909
+ content: "\f0b1"; }
4910
+
4911
+ .fa-briefcase-medical:before {
4912
+ content: "\f469"; }
4913
+
4914
+ .fa-bring-forward:before {
4915
+ content: "\f856"; }
4916
+
4917
+ .fa-bring-front:before {
4918
+ content: "\f857"; }
4919
+
4920
+ .fa-broadcast-tower:before {
4921
+ content: "\f519"; }
4922
+
4923
+ .fa-broom:before {
4924
+ content: "\f51a"; }
4925
+
4926
+ .fa-browser:before {
4927
+ content: "\f37e"; }
4928
+
4929
+ .fa-brush:before {
4930
+ content: "\f55d"; }
4931
+
4932
+ .fa-btc:before {
4933
+ content: "\f15a"; }
4934
+
4935
+ .fa-buffer:before {
4936
+ content: "\f837"; }
4937
+
4938
+ .fa-bug:before {
4939
+ content: "\f188"; }
4940
+
4941
+ .fa-building:before {
4942
+ content: "\f1ad"; }
4943
+
4944
+ .fa-bullhorn:before {
4945
+ content: "\f0a1"; }
4946
+
4947
+ .fa-bullseye:before {
4948
+ content: "\f140"; }
4949
+
4950
+ .fa-bullseye-arrow:before {
4951
+ content: "\f648"; }
4952
+
4953
+ .fa-bullseye-pointer:before {
4954
+ content: "\f649"; }
4955
+
4956
+ .fa-burger-soda:before {
4957
+ content: "\f858"; }
4958
+
4959
+ .fa-burn:before {
4960
+ content: "\f46a"; }
4961
+
4962
+ .fa-buromobelexperte:before {
4963
+ content: "\f37f"; }
4964
+
4965
+ .fa-burrito:before {
4966
+ content: "\f7ed"; }
4967
+
4968
+ .fa-bus:before {
4969
+ content: "\f207"; }
4970
+
4971
+ .fa-bus-alt:before {
4972
+ content: "\f55e"; }
4973
+
4974
+ .fa-bus-school:before {
4975
+ content: "\f5dd"; }
4976
+
4977
+ .fa-business-time:before {
4978
+ content: "\f64a"; }
4979
+
4980
+ .fa-buy-n-large:before {
4981
+ content: "\f8a6"; }
4982
+
4983
+ .fa-buysellads:before {
4984
+ content: "\f20d"; }
4985
+
4986
+ .fa-cabinet-filing:before {
4987
+ content: "\f64b"; }
4988
+
4989
+ .fa-cactus:before {
4990
+ content: "\f8a7"; }
4991
+
4992
+ .fa-calculator:before {
4993
+ content: "\f1ec"; }
4994
+
4995
+ .fa-calculator-alt:before {
4996
+ content: "\f64c"; }
4997
+
4998
+ .fa-calendar:before {
4999
+ content: "\f133"; }
5000
+
5001
+ .fa-calendar-alt:before {
5002
+ content: "\f073"; }
5003
+
5004
+ .fa-calendar-check:before {
5005
+ content: "\f274"; }
5006
+
5007
+ .fa-calendar-day:before {
5008
+ content: "\f783"; }
5009
+
5010
+ .fa-calendar-edit:before {
5011
+ content: "\f333"; }
5012
+
5013
+ .fa-calendar-exclamation:before {
5014
+ content: "\f334"; }
5015
+
5016
+ .fa-calendar-minus:before {
5017
+ content: "\f272"; }
5018
+
5019
+ .fa-calendar-plus:before {
5020
+ content: "\f271"; }
5021
+
5022
+ .fa-calendar-star:before {
5023
+ content: "\f736"; }
5024
+
5025
+ .fa-calendar-times:before {
5026
+ content: "\f273"; }
5027
+
5028
+ .fa-calendar-week:before {
5029
+ content: "\f784"; }
5030
+
5031
+ .fa-camcorder:before {
5032
+ content: "\f8a8"; }
5033
+
5034
+ .fa-camera:before {
5035
+ content: "\f030"; }
5036
+
5037
+ .fa-camera-alt:before {
5038
+ content: "\f332"; }
5039
+
5040
+ .fa-camera-home:before {
5041
+ content: "\f8fe"; }
5042
+
5043
+ .fa-camera-movie:before {
5044
+ content: "\f8a9"; }
5045
+
5046
+ .fa-camera-polaroid:before {
5047
+ content: "\f8aa"; }
5048
+
5049
+ .fa-camera-retro:before {
5050
+ content: "\f083"; }
5051
+
5052
+ .fa-campfire:before {
5053
+ content: "\f6ba"; }
5054
+
5055
+ .fa-campground:before {
5056
+ content: "\f6bb"; }
5057
+
5058
+ .fa-canadian-maple-leaf:before {
5059
+ content: "\f785"; }
5060
+
5061
+ .fa-candle-holder:before {
5062
+ content: "\f6bc"; }
5063
+
5064
+ .fa-candy-cane:before {
5065
+ content: "\f786"; }
5066
+
5067
+ .fa-candy-corn:before {
5068
+ content: "\f6bd"; }
5069
+
5070
+ .fa-cannabis:before {
5071
+ content: "\f55f"; }
5072
+
5073
+ .fa-capsules:before {
5074
+ content: "\f46b"; }
5075
+
5076
+ .fa-car:before {
5077
+ content: "\f1b9"; }
5078
+
5079
+ .fa-car-alt:before {
5080
+ content: "\f5de"; }
5081
+
5082
+ .fa-car-battery:before {
5083
+ content: "\f5df"; }
5084
+
5085
+ .fa-car-building:before {
5086
+ content: "\f859"; }
5087
+
5088
+ .fa-car-bump:before {
5089
+ content: "\f5e0"; }
5090
+
5091
+ .fa-car-bus:before {
5092
+ content: "\f85a"; }
5093
+
5094
+ .fa-car-crash:before {
5095
+ content: "\f5e1"; }
5096
+
5097
+ .fa-car-garage:before {
5098
+ content: "\f5e2"; }
5099
+
5100
+ .fa-car-mechanic:before {
5101
+ content: "\f5e3"; }
5102
+
5103
+ .fa-car-side:before {
5104
+ content: "\f5e4"; }
5105
+
5106
+ .fa-car-tilt:before {
5107
+ content: "\f5e5"; }
5108
+
5109
+ .fa-car-wash:before {
5110
+ content: "\f5e6"; }
5111
+
5112
+ .fa-caravan:before {
5113
+ content: "\f8ff"; }
5114
+
5115
+ .fa-caravan-alt:before {
5116
+ content: "\e000"; }
5117
+
5118
+ .fa-caret-circle-down:before {
5119
+ content: "\f32d"; }
5120
+
5121
+ .fa-caret-circle-left:before {
5122
+ content: "\f32e"; }
5123
+
5124
+ .fa-caret-circle-right:before {
5125
+ content: "\f330"; }
5126
+
5127
+ .fa-caret-circle-up:before {
5128
+ content: "\f331"; }
5129
+
5130
+ .fa-caret-down:before {
5131
+ content: "\f0d7"; }
5132
+
5133
+ .fa-caret-left:before {
5134
+ content: "\f0d9"; }
5135
+
5136
+ .fa-caret-right:before {
5137
+ content: "\f0da"; }
5138
+
5139
+ .fa-caret-square-down:before {
5140
+ content: "\f150"; }
5141
+
5142
+ .fa-caret-square-left:before {
5143
+ content: "\f191"; }
5144
+
5145
+ .fa-caret-square-right:before {
5146
+ content: "\f152"; }
5147
+
5148
+ .fa-caret-square-up:before {
5149
+ content: "\f151"; }
5150
+
5151
+ .fa-caret-up:before {
5152
+ content: "\f0d8"; }
5153
+
5154
+ .fa-carrot:before {
5155
+ content: "\f787"; }
5156
+
5157
+ .fa-cars:before {
5158
+ content: "\f85b"; }
5159
+
5160
+ .fa-cart-arrow-down:before {
5161
+ content: "\f218"; }
5162
+
5163
+ .fa-cart-plus:before {
5164
+ content: "\f217"; }
5165
+
5166
+ .fa-cash-register:before {
5167
+ content: "\f788"; }
5168
+
5169
+ .fa-cassette-tape:before {
5170
+ content: "\f8ab"; }
5171
+
5172
+ .fa-cat:before {
5173
+ content: "\f6be"; }
5174
+
5175
+ .fa-cat-space:before {
5176
+ content: "\e001"; }
5177
+
5178
+ .fa-cauldron:before {
5179
+ content: "\f6bf"; }
5180
+
5181
+ .fa-cc-amazon-pay:before {
5182
+ content: "\f42d"; }
5183
+
5184
+ .fa-cc-amex:before {
5185
+ content: "\f1f3"; }
5186
+
5187
+ .fa-cc-apple-pay:before {
5188
+ content: "\f416"; }
5189
+
5190
+ .fa-cc-diners-club:before {
5191
+ content: "\f24c"; }
5192
+
5193
+ .fa-cc-discover:before {
5194
+ content: "\f1f2"; }
5195
+
5196
+ .fa-cc-jcb:before {
5197
+ content: "\f24b"; }
5198
+
5199
+ .fa-cc-mastercard:before {
5200
+ content: "\f1f1"; }
5201
+
5202
+ .fa-cc-paypal:before {
5203
+ content: "\f1f4"; }
5204
+
5205
+ .fa-cc-stripe:before {
5206
+ content: "\f1f5"; }
5207
+
5208
+ .fa-cc-visa:before {
5209
+ content: "\f1f0"; }
5210
+
5211
+ .fa-cctv:before {
5212
+ content: "\f8ac"; }
5213
+
5214
+ .fa-centercode:before {
5215
+ content: "\f380"; }
5216
+
5217
+ .fa-centos:before {
5218
+ content: "\f789"; }
5219
+
5220
+ .fa-certificate:before {
5221
+ content: "\f0a3"; }
5222
+
5223
+ .fa-chair:before {
5224
+ content: "\f6c0"; }
5225
+
5226
+ .fa-chair-office:before {
5227
+ content: "\f6c1"; }
5228
+
5229
+ .fa-chalkboard:before {
5230
+ content: "\f51b"; }
5231
+
5232
+ .fa-chalkboard-teacher:before {
5233
+ content: "\f51c"; }
5234
+
5235
+ .fa-charging-station:before {
5236
+ content: "\f5e7"; }
5237
+
5238
+ .fa-chart-area:before {
5239
+ content: "\f1fe"; }
5240
+
5241
+ .fa-chart-bar:before {
5242
+ content: "\f080"; }
5243
+
5244
+ .fa-chart-line:before {
5245
+ content: "\f201"; }
5246
+
5247
+ .fa-chart-line-down:before {
5248
+ content: "\f64d"; }
5249
+
5250
+ .fa-chart-network:before {
5251
+ content: "\f78a"; }
5252
+
5253
+ .fa-chart-pie:before {
5254
+ content: "\f200"; }
5255
+
5256
+ .fa-chart-pie-alt:before {
5257
+ content: "\f64e"; }
5258
+
5259
+ .fa-chart-scatter:before {
5260
+ content: "\f7ee"; }
5261
+
5262
+ .fa-check:before {
5263
+ content: "\f00c"; }
5264
+
5265
+ .fa-check-circle:before {
5266
+ content: "\f058"; }
5267
+
5268
+ .fa-check-double:before {
5269
+ content: "\f560"; }
5270
+
5271
+ .fa-check-square:before {
5272
+ content: "\f14a"; }
5273
+
5274
+ .fa-cheese:before {
5275
+ content: "\f7ef"; }
5276
+
5277
+ .fa-cheese-swiss:before {
5278
+ content: "\f7f0"; }
5279
+
5280
+ .fa-cheeseburger:before {
5281
+ content: "\f7f1"; }
5282
+
5283
+ .fa-chess:before {
5284
+ content: "\f439"; }
5285
+
5286
+ .fa-chess-bishop:before {
5287
+ content: "\f43a"; }
5288
+
5289
+ .fa-chess-bishop-alt:before {
5290
+ content: "\f43b"; }
5291
+
5292
+ .fa-chess-board:before {
5293
+ content: "\f43c"; }
5294
+
5295
+ .fa-chess-clock:before {
5296
+ content: "\f43d"; }
5297
+
5298
+ .fa-chess-clock-alt:before {
5299
+ content: "\f43e"; }
5300
+
5301
+ .fa-chess-king:before {
5302
+ content: "\f43f"; }
5303
+
5304
+ .fa-chess-king-alt:before {
5305
+ content: "\f440"; }
5306
+
5307
+ .fa-chess-knight:before {
5308
+ content: "\f441"; }
5309
+
5310
+ .fa-chess-knight-alt:before {
5311
+ content: "\f442"; }
5312
+
5313
+ .fa-chess-pawn:before {
5314
+ content: "\f443"; }
5315
+
5316
+ .fa-chess-pawn-alt:before {
5317
+ content: "\f444"; }
5318
+
5319
+ .fa-chess-queen:before {
5320
+ content: "\f445"; }
5321
+
5322
+ .fa-chess-queen-alt:before {
5323
+ content: "\f446"; }
5324
+
5325
+ .fa-chess-rook:before {
5326
+ content: "\f447"; }
5327
+
5328
+ .fa-chess-rook-alt:before {
5329
+ content: "\f448"; }
5330
+
5331
+ .fa-chevron-circle-down:before {
5332
+ content: "\f13a"; }
5333
+
5334
+ .fa-chevron-circle-left:before {
5335
+ content: "\f137"; }
5336
+
5337
+ .fa-chevron-circle-right:before {
5338
+ content: "\f138"; }
5339
+
5340
+ .fa-chevron-circle-up:before {
5341
+ content: "\f139"; }
5342
+
5343
+ .fa-chevron-double-down:before {
5344
+ content: "\f322"; }
5345
+
5346
+ .fa-chevron-double-left:before {
5347
+ content: "\f323"; }
5348
+
5349
+ .fa-chevron-double-right:before {
5350
+ content: "\f324"; }
5351
+
5352
+ .fa-chevron-double-up:before {
5353
+ content: "\f325"; }
5354
+
5355
+ .fa-chevron-down:before {
5356
+ content: "\f078"; }
5357
+
5358
+ .fa-chevron-left:before {
5359
+ content: "\f053"; }
5360
+
5361
+ .fa-chevron-right:before {
5362
+ content: "\f054"; }
5363
+
5364
+ .fa-chevron-square-down:before {
5365
+ content: "\f329"; }
5366
+
5367
+ .fa-chevron-square-left:before {
5368
+ content: "\f32a"; }
5369
+
5370
+ .fa-chevron-square-right:before {
5371
+ content: "\f32b"; }
5372
+
5373
+ .fa-chevron-square-up:before {
5374
+ content: "\f32c"; }
5375
+
5376
+ .fa-chevron-up:before {
5377
+ content: "\f077"; }
5378
+
5379
+ .fa-child:before {
5380
+ content: "\f1ae"; }
5381
+
5382
+ .fa-chimney:before {
5383
+ content: "\f78b"; }
5384
+
5385
+ .fa-chrome:before {
5386
+ content: "\f268"; }
5387
+
5388
+ .fa-chromecast:before {
5389
+ content: "\f838"; }
5390
+
5391
+ .fa-church:before {
5392
+ content: "\f51d"; }
5393
+
5394
+ .fa-circle:before {
5395
+ content: "\f111"; }
5396
+
5397
+ .fa-circle-notch:before {
5398
+ content: "\f1ce"; }
5399
+
5400
+ .fa-city:before {
5401
+ content: "\f64f"; }
5402
+
5403
+ .fa-clarinet:before {
5404
+ content: "\f8ad"; }
5405
+
5406
+ .fa-claw-marks:before {
5407
+ content: "\f6c2"; }
5408
+
5409
+ .fa-clinic-medical:before {
5410
+ content: "\f7f2"; }
5411
+
5412
+ .fa-clipboard:before {
5413
+ content: "\f328"; }
5414
+
5415
+ .fa-clipboard-check:before {
5416
+ content: "\f46c"; }
5417
+
5418
+ .fa-clipboard-list:before {
5419
+ content: "\f46d"; }
5420
+
5421
+ .fa-clipboard-list-check:before {
5422
+ content: "\f737"; }
5423
+
5424
+ .fa-clipboard-prescription:before {
5425
+ content: "\f5e8"; }
5426
+
5427
+ .fa-clipboard-user:before {
5428
+ content: "\f7f3"; }
5429
+
5430
+ .fa-clock:before {
5431
+ content: "\f017"; }
5432
+
5433
+ .fa-clone:before {
5434
+ content: "\f24d"; }
5435
+
5436
+ .fa-closed-captioning:before {
5437
+ content: "\f20a"; }
5438
+
5439
+ .fa-cloud:before {
5440
+ content: "\f0c2"; }
5441
+
5442
+ .fa-cloud-download:before {
5443
+ content: "\f0ed"; }
5444
+
5445
+ .fa-cloud-download-alt:before {
5446
+ content: "\f381"; }
5447
+
5448
+ .fa-cloud-drizzle:before {
5449
+ content: "\f738"; }
5450
+
5451
+ .fa-cloud-hail:before {
5452
+ content: "\f739"; }
5453
+
5454
+ .fa-cloud-hail-mixed:before {
5455
+ content: "\f73a"; }
5456
+
5457
+ .fa-cloud-meatball:before {
5458
+ content: "\f73b"; }
5459
+
5460
+ .fa-cloud-moon:before {
5461
+ content: "\f6c3"; }
5462
+
5463
+ .fa-cloud-moon-rain:before {
5464
+ content: "\f73c"; }
5465
+
5466
+ .fa-cloud-music:before {
5467
+ content: "\f8ae"; }
5468
+
5469
+ .fa-cloud-rain:before {
5470
+ content: "\f73d"; }
5471
+
5472
+ .fa-cloud-rainbow:before {
5473
+ content: "\f73e"; }
5474
+
5475
+ .fa-cloud-showers:before {
5476
+ content: "\f73f"; }
5477
+
5478
+ .fa-cloud-showers-heavy:before {
5479
+ content: "\f740"; }
5480
+
5481
+ .fa-cloud-sleet:before {
5482
+ content: "\f741"; }
5483
+
5484
+ .fa-cloud-snow:before {
5485
+ content: "\f742"; }
5486
+
5487
+ .fa-cloud-sun:before {
5488
+ content: "\f6c4"; }
5489
+
5490
+ .fa-cloud-sun-rain:before {
5491
+ content: "\f743"; }
5492
+
5493
+ .fa-cloud-upload:before {
5494
+ content: "\f0ee"; }
5495
+
5496
+ .fa-cloud-upload-alt:before {
5497
+ content: "\f382"; }
5498
+
5499
+ .fa-cloudflare:before {
5500
+ content: "\e07d"; }
5501
+
5502
+ .fa-clouds:before {
5503
+ content: "\f744"; }
5504
+
5505
+ .fa-clouds-moon:before {
5506
+ content: "\f745"; }
5507
+
5508
+ .fa-clouds-sun:before {
5509
+ content: "\f746"; }
5510
+
5511
+ .fa-cloudscale:before {
5512
+ content: "\f383"; }
5513
+
5514
+ .fa-cloudsmith:before {
5515
+ content: "\f384"; }
5516
+
5517
+ .fa-cloudversify:before {
5518
+ content: "\f385"; }
5519
+
5520
+ .fa-club:before {
5521
+ content: "\f327"; }
5522
+
5523
+ .fa-cocktail:before {
5524
+ content: "\f561"; }
5525
+
5526
+ .fa-code:before {
5527
+ content: "\f121"; }
5528
+
5529
+ .fa-code-branch:before {
5530
+ content: "\f126"; }
5531
+
5532
+ .fa-code-commit:before {
5533
+ content: "\f386"; }
5534
+
5535
+ .fa-code-merge:before {
5536
+ content: "\f387"; }
5537
+
5538
+ .fa-codepen:before {
5539
+ content: "\f1cb"; }
5540
+
5541
+ .fa-codiepie:before {
5542
+ content: "\f284"; }
5543
+
5544
+ .fa-coffee:before {
5545
+ content: "\f0f4"; }
5546
+
5547
+ .fa-coffee-pot:before {
5548
+ content: "\e002"; }
5549
+
5550
+ .fa-coffee-togo:before {
5551
+ content: "\f6c5"; }
5552
+
5553
+ .fa-coffin:before {
5554
+ content: "\f6c6"; }
5555
+
5556
+ .fa-coffin-cross:before {
5557
+ content: "\e051"; }
5558
+
5559
+ .fa-cog:before {
5560
+ content: "\f013"; }
5561
+
5562
+ .fa-cogs:before {
5563
+ content: "\f085"; }
5564
+
5565
+ .fa-coin:before {
5566
+ content: "\f85c"; }
5567
+
5568
+ .fa-coins:before {
5569
+ content: "\f51e"; }
5570
+
5571
+ .fa-columns:before {
5572
+ content: "\f0db"; }
5573
+
5574
+ .fa-comet:before {
5575
+ content: "\e003"; }
5576
+
5577
+ .fa-comment:before {
5578
+ content: "\f075"; }
5579
+
5580
+ .fa-comment-alt:before {
5581
+ content: "\f27a"; }
5582
+
5583
+ .fa-comment-alt-check:before {
5584
+ content: "\f4a2"; }
5585
+
5586
+ .fa-comment-alt-dollar:before {
5587
+ content: "\f650"; }
5588
+
5589
+ .fa-comment-alt-dots:before {
5590
+ content: "\f4a3"; }
5591
+
5592
+ .fa-comment-alt-edit:before {
5593
+ content: "\f4a4"; }
5594
+
5595
+ .fa-comment-alt-exclamation:before {
5596
+ content: "\f4a5"; }
5597
+
5598
+ .fa-comment-alt-lines:before {
5599
+ content: "\f4a6"; }
5600
+
5601
+ .fa-comment-alt-medical:before {
5602
+ content: "\f7f4"; }
5603
+
5604
+ .fa-comment-alt-minus:before {
5605
+ content: "\f4a7"; }
5606
+
5607
+ .fa-comment-alt-music:before {
5608
+ content: "\f8af"; }
5609
+
5610
+ .fa-comment-alt-plus:before {
5611
+ content: "\f4a8"; }
5612
+
5613
+ .fa-comment-alt-slash:before {
5614
+ content: "\f4a9"; }
5615
+
5616
+ .fa-comment-alt-smile:before {
5617
+ content: "\f4aa"; }
5618
+
5619
+ .fa-comment-alt-times:before {
5620
+ content: "\f4ab"; }
5621
+
5622
+ .fa-comment-check:before {
5623
+ content: "\f4ac"; }
5624
+
5625
+ .fa-comment-dollar:before {
5626
+ content: "\f651"; }
5627
+
5628
+ .fa-comment-dots:before {
5629
+ content: "\f4ad"; }
5630
+
5631
+ .fa-comment-edit:before {
5632
+ content: "\f4ae"; }
5633
+
5634
+ .fa-comment-exclamation:before {
5635
+ content: "\f4af"; }
5636
+
5637
+ .fa-comment-lines:before {
5638
+ content: "\f4b0"; }
5639
+
5640
+ .fa-comment-medical:before {
5641
+ content: "\f7f5"; }
5642
+
5643
+ .fa-comment-minus:before {
5644
+ content: "\f4b1"; }
5645
+
5646
+ .fa-comment-music:before {
5647
+ content: "\f8b0"; }
5648
+
5649
+ .fa-comment-plus:before {
5650
+ content: "\f4b2"; }
5651
+
5652
+ .fa-comment-slash:before {
5653
+ content: "\f4b3"; }
5654
+
5655
+ .fa-comment-smile:before {
5656
+ content: "\f4b4"; }
5657
+
5658
+ .fa-comment-times:before {
5659
+ content: "\f4b5"; }
5660
+
5661
+ .fa-comments:before {
5662
+ content: "\f086"; }
5663
+
5664
+ .fa-comments-alt:before {
5665
+ content: "\f4b6"; }
5666
+
5667
+ .fa-comments-alt-dollar:before {
5668
+ content: "\f652"; }
5669
+
5670
+ .fa-comments-dollar:before {
5671
+ content: "\f653"; }
5672
+
5673
+ .fa-compact-disc:before {
5674
+ content: "\f51f"; }
5675
+
5676
+ .fa-compass:before {
5677
+ content: "\f14e"; }
5678
+
5679
+ .fa-compass-slash:before {
5680
+ content: "\f5e9"; }
5681
+
5682
+ .fa-compress:before {
5683
+ content: "\f066"; }
5684
+
5685
+ .fa-compress-alt:before {
5686
+ content: "\f422"; }
5687
+
5688
+ .fa-compress-arrows-alt:before {
5689
+ content: "\f78c"; }
5690
+
5691
+ .fa-compress-wide:before {
5692
+ content: "\f326"; }
5693
+
5694
+ .fa-computer-classic:before {
5695
+ content: "\f8b1"; }
5696
+
5697
+ .fa-computer-speaker:before {
5698
+ content: "\f8b2"; }
5699
+
5700
+ .fa-concierge-bell:before {
5701
+ content: "\f562"; }
5702
+
5703
+ .fa-confluence:before {
5704
+ content: "\f78d"; }
5705
+
5706
+ .fa-connectdevelop:before {
5707
+ content: "\f20e"; }
5708
+
5709
+ .fa-construction:before {
5710
+ content: "\f85d"; }
5711
+
5712
+ .fa-container-storage:before {
5713
+ content: "\f4b7"; }
5714
+
5715
+ .fa-contao:before {
5716
+ content: "\f26d"; }
5717
+
5718
+ .fa-conveyor-belt:before {
5719
+ content: "\f46e"; }
5720
+
5721
+ .fa-conveyor-belt-alt:before {
5722
+ content: "\f46f"; }
5723
+
5724
+ .fa-cookie:before {
5725
+ content: "\f563"; }
5726
+
5727
+ .fa-cookie-bite:before {
5728
+ content: "\f564"; }
5729
+
5730
+ .fa-copy:before {
5731
+ content: "\f0c5"; }
5732
+
5733
+ .fa-copyright:before {
5734
+ content: "\f1f9"; }
5735
+
5736
+ .fa-corn:before {
5737
+ content: "\f6c7"; }
5738
+
5739
+ .fa-cotton-bureau:before {
5740
+ content: "\f89e"; }
5741
+
5742
+ .fa-couch:before {
5743
+ content: "\f4b8"; }
5744
+
5745
+ .fa-cow:before {
5746
+ content: "\f6c8"; }
5747
+
5748
+ .fa-cowbell:before {
5749
+ content: "\f8b3"; }
5750
+
5751
+ .fa-cowbell-more:before {
5752
+ content: "\f8b4"; }
5753
+
5754
+ .fa-cpanel:before {
5755
+ content: "\f388"; }
5756
+
5757
+ .fa-creative-commons:before {
5758
+ content: "\f25e"; }
5759
+
5760
+ .fa-creative-commons-by:before {
5761
+ content: "\f4e7"; }
5762
+
5763
+ .fa-creative-commons-nc:before {
5764
+ content: "\f4e8"; }
5765
+
5766
+ .fa-creative-commons-nc-eu:before {
5767
+ content: "\f4e9"; }
5768
+
5769
+ .fa-creative-commons-nc-jp:before {
5770
+ content: "\f4ea"; }
5771
+
5772
+ .fa-creative-commons-nd:before {
5773
+ content: "\f4eb"; }
5774
+
5775
+ .fa-creative-commons-pd:before {
5776
+ content: "\f4ec"; }
5777
+
5778
+ .fa-creative-commons-pd-alt:before {
5779
+ content: "\f4ed"; }
5780
+
5781
+ .fa-creative-commons-remix:before {
5782
+ content: "\f4ee"; }
5783
+
5784
+ .fa-creative-commons-sa:before {
5785
+ content: "\f4ef"; }
5786
+
5787
+ .fa-creative-commons-sampling:before {
5788
+ content: "\f4f0"; }
5789
+
5790
+ .fa-creative-commons-sampling-plus:before {
5791
+ content: "\f4f1"; }
5792
+
5793
+ .fa-creative-commons-share:before {
5794
+ content: "\f4f2"; }
5795
+
5796
+ .fa-creative-commons-zero:before {
5797
+ content: "\f4f3"; }
5798
+
5799
+ .fa-credit-card:before {
5800
+ content: "\f09d"; }
5801
+
5802
+ .fa-credit-card-blank:before {
5803
+ content: "\f389"; }
5804
+
5805
+ .fa-credit-card-front:before {
5806
+ content: "\f38a"; }
5807
+
5808
+ .fa-cricket:before {
5809
+ content: "\f449"; }
5810
+
5811
+ .fa-critical-role:before {
5812
+ content: "\f6c9"; }
5813
+
5814
+ .fa-croissant:before {
5815
+ content: "\f7f6"; }
5816
+
5817
+ .fa-crop:before {
5818
+ content: "\f125"; }
5819
+
5820
+ .fa-crop-alt:before {
5821
+ content: "\f565"; }
5822
+
5823
+ .fa-cross:before {
5824
+ content: "\f654"; }
5825
+
5826
+ .fa-crosshairs:before {
5827
+ content: "\f05b"; }
5828
+
5829
+ .fa-crow:before {
5830
+ content: "\f520"; }
5831
+
5832
+ .fa-crown:before {
5833
+ content: "\f521"; }
5834
+
5835
+ .fa-crutch:before {
5836
+ content: "\f7f7"; }
5837
+
5838
+ .fa-crutches:before {
5839
+ content: "\f7f8"; }
5840
+
5841
+ .fa-css3:before {
5842
+ content: "\f13c"; }
5843
+
5844
+ .fa-css3-alt:before {
5845
+ content: "\f38b"; }
5846
+
5847
+ .fa-cube:before {
5848
+ content: "\f1b2"; }
5849
+
5850
+ .fa-cubes:before {
5851
+ content: "\f1b3"; }
5852
+
5853
+ .fa-curling:before {
5854
+ content: "\f44a"; }
5855
+
5856
+ .fa-cut:before {
5857
+ content: "\f0c4"; }
5858
+
5859
+ .fa-cuttlefish:before {
5860
+ content: "\f38c"; }
5861
+
5862
+ .fa-d-and-d:before {
5863
+ content: "\f38d"; }
5864
+
5865
+ .fa-d-and-d-beyond:before {
5866
+ content: "\f6ca"; }
5867
+
5868
+ .fa-dagger:before {
5869
+ content: "\f6cb"; }
5870
+
5871
+ .fa-dailymotion:before {
5872
+ content: "\e052"; }
5873
+
5874
+ .fa-dashcube:before {
5875
+ content: "\f210"; }
5876
+
5877
+ .fa-database:before {
5878
+ content: "\f1c0"; }
5879
+
5880
+ .fa-deaf:before {
5881
+ content: "\f2a4"; }
5882
+
5883
+ .fa-debug:before {
5884
+ content: "\f7f9"; }
5885
+
5886
+ .fa-deer:before {
5887
+ content: "\f78e"; }
5888
+
5889
+ .fa-deer-rudolph:before {
5890
+ content: "\f78f"; }
5891
+
5892
+ .fa-deezer:before {
5893
+ content: "\e077"; }
5894
+
5895
+ .fa-delicious:before {
5896
+ content: "\f1a5"; }
5897
+
5898
+ .fa-democrat:before {
5899
+ content: "\f747"; }
5900
+
5901
+ .fa-deploydog:before {
5902
+ content: "\f38e"; }
5903
+
5904
+ .fa-deskpro:before {
5905
+ content: "\f38f"; }
5906
+
5907
+ .fa-desktop:before {
5908
+ content: "\f108"; }
5909
+
5910
+ .fa-desktop-alt:before {
5911
+ content: "\f390"; }
5912
+
5913
+ .fa-dev:before {
5914
+ content: "\f6cc"; }
5915
+
5916
+ .fa-deviantart:before {
5917
+ content: "\f1bd"; }
5918
+
5919
+ .fa-dewpoint:before {
5920
+ content: "\f748"; }
5921
+
5922
+ .fa-dharmachakra:before {
5923
+ content: "\f655"; }
5924
+
5925
+ .fa-dhl:before {
5926
+ content: "\f790"; }
5927
+
5928
+ .fa-diagnoses:before {
5929
+ content: "\f470"; }
5930
+
5931
+ .fa-diamond:before {
5932
+ content: "\f219"; }
5933
+
5934
+ .fa-diaspora:before {
5935
+ content: "\f791"; }
5936
+
5937
+ .fa-dice:before {
5938
+ content: "\f522"; }
5939
+
5940
+ .fa-dice-d10:before {
5941
+ content: "\f6cd"; }
5942
+
5943
+ .fa-dice-d12:before {
5944
+ content: "\f6ce"; }
5945
+
5946
+ .fa-dice-d20:before {
5947
+ content: "\f6cf"; }
5948
+
5949
+ .fa-dice-d4:before {
5950
+ content: "\f6d0"; }
5951
+
5952
+ .fa-dice-d6:before {
5953
+ content: "\f6d1"; }
5954
+
5955
+ .fa-dice-d8:before {
5956
+ content: "\f6d2"; }
5957
+
5958
+ .fa-dice-five:before {
5959
+ content: "\f523"; }
5960
+
5961
+ .fa-dice-four:before {
5962
+ content: "\f524"; }
5963
+
5964
+ .fa-dice-one:before {
5965
+ content: "\f525"; }
5966
+
5967
+ .fa-dice-six:before {
5968
+ content: "\f526"; }
5969
+
5970
+ .fa-dice-three:before {
5971
+ content: "\f527"; }
5972
+
5973
+ .fa-dice-two:before {
5974
+ content: "\f528"; }
5975
+
5976
+ .fa-digg:before {
5977
+ content: "\f1a6"; }
5978
+
5979
+ .fa-digging:before {
5980
+ content: "\f85e"; }
5981
+
5982
+ .fa-digital-ocean:before {
5983
+ content: "\f391"; }
5984
+
5985
+ .fa-digital-tachograph:before {
5986
+ content: "\f566"; }
5987
+
5988
+ .fa-diploma:before {
5989
+ content: "\f5ea"; }
5990
+
5991
+ .fa-directions:before {
5992
+ content: "\f5eb"; }
5993
+
5994
+ .fa-disc-drive:before {
5995
+ content: "\f8b5"; }
5996
+
5997
+ .fa-discord:before {
5998
+ content: "\f392"; }
5999
+
6000
+ .fa-discourse:before {
6001
+ content: "\f393"; }
6002
+
6003
+ .fa-disease:before {
6004
+ content: "\f7fa"; }
6005
+
6006
+ .fa-divide:before {
6007
+ content: "\f529"; }
6008
+
6009
+ .fa-dizzy:before {
6010
+ content: "\f567"; }
6011
+
6012
+ .fa-dna:before {
6013
+ content: "\f471"; }
6014
+
6015
+ .fa-do-not-enter:before {
6016
+ content: "\f5ec"; }
6017
+
6018
+ .fa-dochub:before {
6019
+ content: "\f394"; }
6020
+
6021
+ .fa-docker:before {
6022
+ content: "\f395"; }
6023
+
6024
+ .fa-dog:before {
6025
+ content: "\f6d3"; }
6026
+
6027
+ .fa-dog-leashed:before {
6028
+ content: "\f6d4"; }
6029
+
6030
+ .fa-dollar-sign:before {
6031
+ content: "\f155"; }
6032
+
6033
+ .fa-dolly:before {
6034
+ content: "\f472"; }
6035
+
6036
+ .fa-dolly-empty:before {
6037
+ content: "\f473"; }
6038
+
6039
+ .fa-dolly-flatbed:before {
6040
+ content: "\f474"; }
6041
+
6042
+ .fa-dolly-flatbed-alt:before {
6043
+ content: "\f475"; }
6044
+
6045
+ .fa-dolly-flatbed-empty:before {
6046
+ content: "\f476"; }
6047
+
6048
+ .fa-donate:before {
6049
+ content: "\f4b9"; }
6050
+
6051
+ .fa-door-closed:before {
6052
+ content: "\f52a"; }
6053
+
6054
+ .fa-door-open:before {
6055
+ content: "\f52b"; }
6056
+
6057
+ .fa-dot-circle:before {
6058
+ content: "\f192"; }
6059
+
6060
+ .fa-dove:before {
6061
+ content: "\f4ba"; }
6062
+
6063
+ .fa-download:before {
6064
+ content: "\f019"; }
6065
+
6066
+ .fa-draft2digital:before {
6067
+ content: "\f396"; }
6068
+
6069
+ .fa-drafting-compass:before {
6070
+ content: "\f568"; }
6071
+
6072
+ .fa-dragon:before {
6073
+ content: "\f6d5"; }
6074
+
6075
+ .fa-draw-circle:before {
6076
+ content: "\f5ed"; }
6077
+
6078
+ .fa-draw-polygon:before {
6079
+ content: "\f5ee"; }
6080
+
6081
+ .fa-draw-square:before {
6082
+ content: "\f5ef"; }
6083
+
6084
+ .fa-dreidel:before {
6085
+ content: "\f792"; }
6086
+
6087
+ .fa-dribbble:before {
6088
+ content: "\f17d"; }
6089
+
6090
+ .fa-dribbble-square:before {
6091
+ content: "\f397"; }
6092
+
6093
+ .fa-drone:before {
6094
+ content: "\f85f"; }
6095
+
6096
+ .fa-drone-alt:before {
6097
+ content: "\f860"; }
6098
+
6099
+ .fa-dropbox:before {
6100
+ content: "\f16b"; }
6101
+
6102
+ .fa-drum:before {
6103
+ content: "\f569"; }
6104
+
6105
+ .fa-drum-steelpan:before {
6106
+ content: "\f56a"; }
6107
+
6108
+ .fa-drumstick:before {
6109
+ content: "\f6d6"; }
6110
+
6111
+ .fa-drumstick-bite:before {
6112
+ content: "\f6d7"; }
6113
+
6114
+ .fa-drupal:before {
6115
+ content: "\f1a9"; }
6116
+
6117
+ .fa-dryer:before {
6118
+ content: "\f861"; }
6119
+
6120
+ .fa-dryer-alt:before {
6121
+ content: "\f862"; }
6122
+
6123
+ .fa-duck:before {
6124
+ content: "\f6d8"; }
6125
+
6126
+ .fa-dumbbell:before {
6127
+ content: "\f44b"; }
6128
+
6129
+ .fa-dumpster:before {
6130
+ content: "\f793"; }
6131
+
6132
+ .fa-dumpster-fire:before {
6133
+ content: "\f794"; }
6134
+
6135
+ .fa-dungeon:before {
6136
+ content: "\f6d9"; }
6137
+
6138
+ .fa-dyalog:before {
6139
+ content: "\f399"; }
6140
+
6141
+ .fa-ear:before {
6142
+ content: "\f5f0"; }
6143
+
6144
+ .fa-ear-muffs:before {
6145
+ content: "\f795"; }
6146
+
6147
+ .fa-earlybirds:before {
6148
+ content: "\f39a"; }
6149
+
6150
+ .fa-ebay:before {
6151
+ content: "\f4f4"; }
6152
+
6153
+ .fa-eclipse:before {
6154
+ content: "\f749"; }
6155
+
6156
+ .fa-eclipse-alt:before {
6157
+ content: "\f74a"; }
6158
+
6159
+ .fa-edge:before {
6160
+ content: "\f282"; }
6161
+
6162
+ .fa-edge-legacy:before {
6163
+ content: "\e078"; }
6164
+
6165
+ .fa-edit:before {
6166
+ content: "\f044"; }
6167
+
6168
+ .fa-egg:before {
6169
+ content: "\f7fb"; }
6170
+
6171
+ .fa-egg-fried:before {
6172
+ content: "\f7fc"; }
6173
+
6174
+ .fa-eject:before {
6175
+ content: "\f052"; }
6176
+
6177
+ .fa-elementor:before {
6178
+ content: "\f430"; }
6179
+
6180
+ .fa-elephant:before {
6181
+ content: "\f6da"; }
6182
+
6183
+ .fa-ellipsis-h:before {
6184
+ content: "\f141"; }
6185
+
6186
+ .fa-ellipsis-h-alt:before {
6187
+ content: "\f39b"; }
6188
+
6189
+ .fa-ellipsis-v:before {
6190
+ content: "\f142"; }
6191
+
6192
+ .fa-ellipsis-v-alt:before {
6193
+ content: "\f39c"; }
6194
+
6195
+ .fa-ello:before {
6196
+ content: "\f5f1"; }
6197
+
6198
+ .fa-ember:before {
6199
+ content: "\f423"; }
6200
+
6201
+ .fa-empire:before {
6202
+ content: "\f1d1"; }
6203
+
6204
+ .fa-empty-set:before {
6205
+ content: "\f656"; }
6206
+
6207
+ .fa-engine-warning:before {
6208
+ content: "\f5f2"; }
6209
+
6210
+ .fa-envelope:before {
6211
+ content: "\f0e0"; }
6212
+
6213
+ .fa-envelope-open:before {
6214
+ content: "\f2b6"; }
6215
+
6216
+ .fa-envelope-open-dollar:before {
6217
+ content: "\f657"; }
6218
+
6219
+ .fa-envelope-open-text:before {
6220
+ content: "\f658"; }
6221
+
6222
+ .fa-envelope-square:before {
6223
+ content: "\f199"; }
6224
+
6225
+ .fa-envira:before {
6226
+ content: "\f299"; }
6227
+
6228
+ .fa-equals:before {
6229
+ content: "\f52c"; }
6230
+
6231
+ .fa-eraser:before {
6232
+ content: "\f12d"; }
6233
+
6234
+ .fa-erlang:before {
6235
+ content: "\f39d"; }
6236
+
6237
+ .fa-ethereum:before {
6238
+ content: "\f42e"; }
6239
+
6240
+ .fa-ethernet:before {
6241
+ content: "\f796"; }
6242
+
6243
+ .fa-etsy:before {
6244
+ content: "\f2d7"; }
6245
+
6246
+ .fa-euro-sign:before {
6247
+ content: "\f153"; }
6248
+
6249
+ .fa-evernote:before {
6250
+ content: "\f839"; }
6251
+
6252
+ .fa-exchange:before {
6253
+ content: "\f0ec"; }
6254
+
6255
+ .fa-exchange-alt:before {
6256
+ content: "\f362"; }
6257
+
6258
+ .fa-exclamation:before {
6259
+ content: "\f12a"; }
6260
+
6261
+ .fa-exclamation-circle:before {
6262
+ content: "\f06a"; }
6263
+
6264
+ .fa-exclamation-square:before {
6265
+ content: "\f321"; }
6266
+
6267
+ .fa-exclamation-triangle:before {
6268
+ content: "\f071"; }
6269
+
6270
+ .fa-expand:before {
6271
+ content: "\f065"; }
6272
+
6273
+ .fa-expand-alt:before {
6274
+ content: "\f424"; }
6275
+
6276
+ .fa-expand-arrows:before {
6277
+ content: "\f31d"; }
6278
+
6279
+ .fa-expand-arrows-alt:before {
6280
+ content: "\f31e"; }
6281
+
6282
+ .fa-expand-wide:before {
6283
+ content: "\f320"; }
6284
+
6285
+ .fa-expeditedssl:before {
6286
+ content: "\f23e"; }
6287
+
6288
+ .fa-external-link:before {
6289
+ content: "\f08e"; }
6290
+
6291
+ .fa-external-link-alt:before {
6292
+ content: "\f35d"; }
6293
+
6294
+ .fa-external-link-square:before {
6295
+ content: "\f14c"; }
6296
+
6297
+ .fa-external-link-square-alt:before {
6298
+ content: "\f360"; }
6299
+
6300
+ .fa-eye:before {
6301
+ content: "\f06e"; }
6302
+
6303
+ .fa-eye-dropper:before {
6304
+ content: "\f1fb"; }
6305
+
6306
+ .fa-eye-evil:before {
6307
+ content: "\f6db"; }
6308
+
6309
+ .fa-eye-slash:before {
6310
+ content: "\f070"; }
6311
+
6312
+ .fa-facebook:before {
6313
+ content: "\f09a"; }
6314
+
6315
+ .fa-facebook-f:before {
6316
+ content: "\f39e"; }
6317
+
6318
+ .fa-facebook-messenger:before {
6319
+ content: "\f39f"; }
6320
+
6321
+ .fa-facebook-square:before {
6322
+ content: "\f082"; }
6323
+
6324
+ .fa-fan:before {
6325
+ content: "\f863"; }
6326
+
6327
+ .fa-fan-table:before {
6328
+ content: "\e004"; }
6329
+
6330
+ .fa-fantasy-flight-games:before {
6331
+ content: "\f6dc"; }
6332
+
6333
+ .fa-farm:before {
6334
+ content: "\f864"; }
6335
+
6336
+ .fa-fast-backward:before {
6337
+ content: "\f049"; }
6338
+
6339
+ .fa-fast-forward:before {
6340
+ content: "\f050"; }
6341
+
6342
+ .fa-faucet:before {
6343
+ content: "\e005"; }
6344
+
6345
+ .fa-faucet-drip:before {
6346
+ content: "\e006"; }
6347
+
6348
+ .fa-fax:before {
6349
+ content: "\f1ac"; }
6350
+
6351
+ .fa-feather:before {
6352
+ content: "\f52d"; }
6353
+
6354
+ .fa-feather-alt:before {
6355
+ content: "\f56b"; }
6356
+
6357
+ .fa-fedex:before {
6358
+ content: "\f797"; }
6359
+
6360
+ .fa-fedora:before {
6361
+ content: "\f798"; }
6362
+
6363
+ .fa-female:before {
6364
+ content: "\f182"; }
6365
+
6366
+ .fa-field-hockey:before {
6367
+ content: "\f44c"; }
6368
+
6369
+ .fa-fighter-jet:before {
6370
+ content: "\f0fb"; }
6371
+
6372
+ .fa-figma:before {
6373
+ content: "\f799"; }
6374
+
6375
+ .fa-file:before {
6376
+ content: "\f15b"; }
6377
+
6378
+ .fa-file-alt:before {
6379
+ content: "\f15c"; }
6380
+
6381
+ .fa-file-archive:before {
6382
+ content: "\f1c6"; }
6383
+
6384
+ .fa-file-audio:before {
6385
+ content: "\f1c7"; }
6386
+
6387
+ .fa-file-certificate:before {
6388
+ content: "\f5f3"; }
6389
+
6390
+ .fa-file-chart-line:before {
6391
+ content: "\f659"; }
6392
+
6393
+ .fa-file-chart-pie:before {
6394
+ content: "\f65a"; }
6395
+
6396
+ .fa-file-check:before {
6397
+ content: "\f316"; }
6398
+
6399
+ .fa-file-code:before {
6400
+ content: "\f1c9"; }
6401
+
6402
+ .fa-file-contract:before {
6403
+ content: "\f56c"; }
6404
+
6405
+ .fa-file-csv:before {
6406
+ content: "\f6dd"; }
6407
+
6408
+ .fa-file-download:before {
6409
+ content: "\f56d"; }
6410
+
6411
+ .fa-file-edit:before {
6412
+ content: "\f31c"; }
6413
+
6414
+ .fa-file-excel:before {
6415
+ content: "\f1c3"; }
6416
+
6417
+ .fa-file-exclamation:before {
6418
+ content: "\f31a"; }
6419
+
6420
+ .fa-file-export:before {
6421
+ content: "\f56e"; }
6422
+
6423
+ .fa-file-image:before {
6424
+ content: "\f1c5"; }
6425
+
6426
+ .fa-file-import:before {
6427
+ content: "\f56f"; }
6428
+
6429
+ .fa-file-invoice:before {
6430
+ content: "\f570"; }
6431
+
6432
+ .fa-file-invoice-dollar:before {
6433
+ content: "\f571"; }
6434
+
6435
+ .fa-file-medical:before {
6436
+ content: "\f477"; }
6437
+
6438
+ .fa-file-medical-alt:before {
6439
+ content: "\f478"; }
6440
+
6441
+ .fa-file-minus:before {
6442
+ content: "\f318"; }
6443
+
6444
+ .fa-file-music:before {
6445
+ content: "\f8b6"; }
6446
+
6447
+ .fa-file-pdf:before {
6448
+ content: "\f1c1"; }
6449
+
6450
+ .fa-file-plus:before {
6451
+ content: "\f319"; }
6452
+
6453
+ .fa-file-powerpoint:before {
6454
+ content: "\f1c4"; }
6455
+
6456
+ .fa-file-prescription:before {
6457
+ content: "\f572"; }
6458
+
6459
+ .fa-file-search:before {
6460
+ content: "\f865"; }
6461
+
6462
+ .fa-file-signature:before {
6463
+ content: "\f573"; }
6464
+
6465
+ .fa-file-spreadsheet:before {
6466
+ content: "\f65b"; }
6467
+
6468
+ .fa-file-times:before {
6469
+ content: "\f317"; }
6470
+
6471
+ .fa-file-upload:before {
6472
+ content: "\f574"; }
6473
+
6474
+ .fa-file-user:before {
6475
+ content: "\f65c"; }
6476
+
6477
+ .fa-file-video:before {
6478
+ content: "\f1c8"; }
6479
+
6480
+ .fa-file-word:before {
6481
+ content: "\f1c2"; }
6482
+
6483
+ .fa-files-medical:before {
6484
+ content: "\f7fd"; }
6485
+
6486
+ .fa-fill:before {
6487
+ content: "\f575"; }
6488
+
6489
+ .fa-fill-drip:before {
6490
+ content: "\f576"; }
6491
+
6492
+ .fa-film:before {
6493
+ content: "\f008"; }
6494
+
6495
+ .fa-film-alt:before {
6496
+ content: "\f3a0"; }
6497
+
6498
+ .fa-film-canister:before {
6499
+ content: "\f8b7"; }
6500
+
6501
+ .fa-filter:before {
6502
+ content: "\f0b0"; }
6503
+
6504
+ .fa-fingerprint:before {
6505
+ content: "\f577"; }
6506
+
6507
+ .fa-fire:before {
6508
+ content: "\f06d"; }
6509
+
6510
+ .fa-fire-alt:before {
6511
+ content: "\f7e4"; }
6512
+
6513
+ .fa-fire-extinguisher:before {
6514
+ content: "\f134"; }
6515
+
6516
+ .fa-fire-smoke:before {
6517
+ content: "\f74b"; }
6518
+
6519
+ .fa-firefox:before {
6520
+ content: "\f269"; }
6521
+
6522
+ .fa-firefox-browser:before {
6523
+ content: "\e007"; }
6524
+
6525
+ .fa-fireplace:before {
6526
+ content: "\f79a"; }
6527
+
6528
+ .fa-first-aid:before {
6529
+ content: "\f479"; }
6530
+
6531
+ .fa-first-order:before {
6532
+ content: "\f2b0"; }
6533
+
6534
+ .fa-first-order-alt:before {
6535
+ content: "\f50a"; }
6536
+
6537
+ .fa-firstdraft:before {
6538
+ content: "\f3a1"; }
6539
+
6540
+ .fa-fish:before {
6541
+ content: "\f578"; }
6542
+
6543
+ .fa-fish-cooked:before {
6544
+ content: "\f7fe"; }
6545
+
6546
+ .fa-fist-raised:before {
6547
+ content: "\f6de"; }
6548
+
6549
+ .fa-flag:before {
6550
+ content: "\f024"; }
6551
+
6552
+ .fa-flag-alt:before {
6553
+ content: "\f74c"; }
6554
+
6555
+ .fa-flag-checkered:before {
6556
+ content: "\f11e"; }
6557
+
6558
+ .fa-flag-usa:before {
6559
+ content: "\f74d"; }
6560
+
6561
+ .fa-flame:before {
6562
+ content: "\f6df"; }
6563
+
6564
+ .fa-flashlight:before {
6565
+ content: "\f8b8"; }
6566
+
6567
+ .fa-flask:before {
6568
+ content: "\f0c3"; }
6569
+
6570
+ .fa-flask-poison:before {
6571
+ content: "\f6e0"; }
6572
+
6573
+ .fa-flask-potion:before {
6574
+ content: "\f6e1"; }
6575
+
6576
+ .fa-flickr:before {
6577
+ content: "\f16e"; }
6578
+
6579
+ .fa-flipboard:before {
6580
+ content: "\f44d"; }
6581
+
6582
+ .fa-flower:before {
6583
+ content: "\f7ff"; }
6584
+
6585
+ .fa-flower-daffodil:before {
6586
+ content: "\f800"; }
6587
+
6588
+ .fa-flower-tulip:before {
6589
+ content: "\f801"; }
6590
+
6591
+ .fa-flushed:before {
6592
+ content: "\f579"; }
6593
+
6594
+ .fa-flute:before {
6595
+ content: "\f8b9"; }
6596
+
6597
+ .fa-flux-capacitor:before {
6598
+ content: "\f8ba"; }
6599
+
6600
+ .fa-fly:before {
6601
+ content: "\f417"; }
6602
+
6603
+ .fa-fog:before {
6604
+ content: "\f74e"; }
6605
+
6606
+ .fa-folder:before {
6607
+ content: "\f07b"; }
6608
+
6609
+ .fa-folder-download:before {
6610
+ content: "\e053"; }
6611
+
6612
+ .fa-folder-minus:before {
6613
+ content: "\f65d"; }
6614
+
6615
+ .fa-folder-open:before {
6616
+ content: "\f07c"; }
6617
+
6618
+ .fa-folder-plus:before {
6619
+ content: "\f65e"; }
6620
+
6621
+ .fa-folder-times:before {
6622
+ content: "\f65f"; }
6623
+
6624
+ .fa-folder-tree:before {
6625
+ content: "\f802"; }
6626
+
6627
+ .fa-folder-upload:before {
6628
+ content: "\e054"; }
6629
+
6630
+ .fa-folders:before {
6631
+ content: "\f660"; }
6632
+
6633
+ .fa-font:before {
6634
+ content: "\f031"; }
6635
+
6636
+ .fa-font-awesome:before {
6637
+ content: "\f2b4"; }
6638
+
6639
+ .fa-font-awesome-alt:before {
6640
+ content: "\f35c"; }
6641
+
6642
+ .fa-font-awesome-flag:before {
6643
+ content: "\f425"; }
6644
+
6645
+ .fa-font-awesome-logo-full:before {
6646
+ content: "\f4e6"; }
6647
+
6648
+ .fa-font-case:before {
6649
+ content: "\f866"; }
6650
+
6651
+ .fa-fonticons:before {
6652
+ content: "\f280"; }
6653
+
6654
+ .fa-fonticons-fi:before {
6655
+ content: "\f3a2"; }
6656
+
6657
+ .fa-football-ball:before {
6658
+ content: "\f44e"; }
6659
+
6660
+ .fa-football-helmet:before {
6661
+ content: "\f44f"; }
6662
+
6663
+ .fa-forklift:before {
6664
+ content: "\f47a"; }
6665
+
6666
+ .fa-fort-awesome:before {
6667
+ content: "\f286"; }
6668
+
6669
+ .fa-fort-awesome-alt:before {
6670
+ content: "\f3a3"; }
6671
+
6672
+ .fa-forumbee:before {
6673
+ content: "\f211"; }
6674
+
6675
+ .fa-forward:before {
6676
+ content: "\f04e"; }
6677
+
6678
+ .fa-foursquare:before {
6679
+ content: "\f180"; }
6680
+
6681
+ .fa-fragile:before {
6682
+ content: "\f4bb"; }
6683
+
6684
+ .fa-free-code-camp:before {
6685
+ content: "\f2c5"; }
6686
+
6687
+ .fa-freebsd:before {
6688
+ content: "\f3a4"; }
6689
+
6690
+ .fa-french-fries:before {
6691
+ content: "\f803"; }
6692
+
6693
+ .fa-frog:before {
6694
+ content: "\f52e"; }
6695
+
6696
+ .fa-frosty-head:before {
6697
+ content: "\f79b"; }
6698
+
6699
+ .fa-frown:before {
6700
+ content: "\f119"; }
6701
+
6702
+ .fa-frown-open:before {
6703
+ content: "\f57a"; }
6704
+
6705
+ .fa-fulcrum:before {
6706
+ content: "\f50b"; }
6707
+
6708
+ .fa-function:before {
6709
+ content: "\f661"; }
6710
+
6711
+ .fa-funnel-dollar:before {
6712
+ content: "\f662"; }
6713
+
6714
+ .fa-futbol:before {
6715
+ content: "\f1e3"; }
6716
+
6717
+ .fa-galactic-republic:before {
6718
+ content: "\f50c"; }
6719
+
6720
+ .fa-galactic-senate:before {
6721
+ content: "\f50d"; }
6722
+
6723
+ .fa-galaxy:before {
6724
+ content: "\e008"; }
6725
+
6726
+ .fa-game-board:before {
6727
+ content: "\f867"; }
6728
+
6729
+ .fa-game-board-alt:before {
6730
+ content: "\f868"; }
6731
+
6732
+ .fa-game-console-handheld:before {
6733
+ content: "\f8bb"; }
6734
+
6735
+ .fa-gamepad:before {
6736
+ content: "\f11b"; }
6737
+
6738
+ .fa-gamepad-alt:before {
6739
+ content: "\f8bc"; }
6740
+
6741
+ .fa-garage:before {
6742
+ content: "\e009"; }
6743
+
6744
+ .fa-garage-car:before {
6745
+ content: "\e00a"; }
6746
+
6747
+ .fa-garage-open:before {
6748
+ content: "\e00b"; }
6749
+
6750
+ .fa-gas-pump:before {
6751
+ content: "\f52f"; }
6752
+
6753
+ .fa-gas-pump-slash:before {
6754
+ content: "\f5f4"; }
6755
+
6756
+ .fa-gavel:before {
6757
+ content: "\f0e3"; }
6758
+
6759
+ .fa-gem:before {
6760
+ content: "\f3a5"; }
6761
+
6762
+ .fa-genderless:before {
6763
+ content: "\f22d"; }
6764
+
6765
+ .fa-get-pocket:before {
6766
+ content: "\f265"; }
6767
+
6768
+ .fa-gg:before {
6769
+ content: "\f260"; }
6770
+
6771
+ .fa-gg-circle:before {
6772
+ content: "\f261"; }
6773
+
6774
+ .fa-ghost:before {
6775
+ content: "\f6e2"; }
6776
+
6777
+ .fa-gift:before {
6778
+ content: "\f06b"; }
6779
+
6780
+ .fa-gift-card:before {
6781
+ content: "\f663"; }
6782
+
6783
+ .fa-gifts:before {
6784
+ content: "\f79c"; }
6785
+
6786
+ .fa-gingerbread-man:before {
6787
+ content: "\f79d"; }
6788
+
6789
+ .fa-git:before {
6790
+ content: "\f1d3"; }
6791
+
6792
+ .fa-git-alt:before {
6793
+ content: "\f841"; }
6794
+
6795
+ .fa-git-square:before {
6796
+ content: "\f1d2"; }
6797
+
6798
+ .fa-github:before {
6799
+ content: "\f09b"; }
6800
+
6801
+ .fa-github-alt:before {
6802
+ content: "\f113"; }
6803
+
6804
+ .fa-github-square:before {
6805
+ content: "\f092"; }
6806
+
6807
+ .fa-gitkraken:before {
6808
+ content: "\f3a6"; }
6809
+
6810
+ .fa-gitlab:before {
6811
+ content: "\f296"; }
6812
+
6813
+ .fa-gitter:before {
6814
+ content: "\f426"; }
6815
+
6816
+ .fa-glass:before {
6817
+ content: "\f804"; }
6818
+
6819
+ .fa-glass-champagne:before {
6820
+ content: "\f79e"; }
6821
+
6822
+ .fa-glass-cheers:before {
6823
+ content: "\f79f"; }
6824
+
6825
+ .fa-glass-citrus:before {
6826
+ content: "\f869"; }
6827
+
6828
+ .fa-glass-martini:before {
6829
+ content: "\f000"; }
6830
+
6831
+ .fa-glass-martini-alt:before {
6832
+ content: "\f57b"; }
6833
+
6834
+ .fa-glass-whiskey:before {
6835
+ content: "\f7a0"; }
6836
+
6837
+ .fa-glass-whiskey-rocks:before {
6838
+ content: "\f7a1"; }
6839
+
6840
+ .fa-glasses:before {
6841
+ content: "\f530"; }
6842
+
6843
+ .fa-glasses-alt:before {
6844
+ content: "\f5f5"; }
6845
+
6846
+ .fa-glide:before {
6847
+ content: "\f2a5"; }
6848
+
6849
+ .fa-glide-g:before {
6850
+ content: "\f2a6"; }
6851
+
6852
+ .fa-globe:before {
6853
+ content: "\f0ac"; }
6854
+
6855
+ .fa-globe-africa:before {
6856
+ content: "\f57c"; }
6857
+
6858
+ .fa-globe-americas:before {
6859
+ content: "\f57d"; }
6860
+
6861
+ .fa-globe-asia:before {
6862
+ content: "\f57e"; }
6863
+
6864
+ .fa-globe-europe:before {
6865
+ content: "\f7a2"; }
6866
+
6867
+ .fa-globe-snow:before {
6868
+ content: "\f7a3"; }
6869
+
6870
+ .fa-globe-stand:before {
6871
+ content: "\f5f6"; }
6872
+
6873
+ .fa-gofore:before {
6874
+ content: "\f3a7"; }
6875
+
6876
+ .fa-golf-ball:before {
6877
+ content: "\f450"; }
6878
+
6879
+ .fa-golf-club:before {
6880
+ content: "\f451"; }
6881
+
6882
+ .fa-goodreads:before {
6883
+ content: "\f3a8"; }
6884
+
6885
+ .fa-goodreads-g:before {
6886
+ content: "\f3a9"; }
6887
+
6888
+ .fa-google:before {
6889
+ content: "\f1a0"; }
6890
+
6891
+ .fa-google-drive:before {
6892
+ content: "\f3aa"; }
6893
+
6894
+ .fa-google-pay:before {
6895
+ content: "\e079"; }
6896
+
6897
+ .fa-google-play:before {
6898
+ content: "\f3ab"; }
6899
+
6900
+ .fa-google-plus:before {
6901
+ content: "\f2b3"; }
6902
+
6903
+ .fa-google-plus-g:before {
6904
+ content: "\f0d5"; }
6905
+
6906
+ .fa-google-plus-square:before {
6907
+ content: "\f0d4"; }
6908
+
6909
+ .fa-google-wallet:before {
6910
+ content: "\f1ee"; }
6911
+
6912
+ .fa-gopuram:before {
6913
+ content: "\f664"; }
6914
+
6915
+ .fa-graduation-cap:before {
6916
+ content: "\f19d"; }
6917
+
6918
+ .fa-gramophone:before {
6919
+ content: "\f8bd"; }
6920
+
6921
+ .fa-gratipay:before {
6922
+ content: "\f184"; }
6923
+
6924
+ .fa-grav:before {
6925
+ content: "\f2d6"; }
6926
+
6927
+ .fa-greater-than:before {
6928
+ content: "\f531"; }
6929
+
6930
+ .fa-greater-than-equal:before {
6931
+ content: "\f532"; }
6932
+
6933
+ .fa-grimace:before {
6934
+ content: "\f57f"; }
6935
+
6936
+ .fa-grin:before {
6937
+ content: "\f580"; }
6938
+
6939
+ .fa-grin-alt:before {
6940
+ content: "\f581"; }
6941
+
6942
+ .fa-grin-beam:before {
6943
+ content: "\f582"; }
6944
+
6945
+ .fa-grin-beam-sweat:before {
6946
+ content: "\f583"; }
6947
+
6948
+ .fa-grin-hearts:before {
6949
+ content: "\f584"; }
6950
+
6951
+ .fa-grin-squint:before {
6952
+ content: "\f585"; }
6953
+
6954
+ .fa-grin-squint-tears:before {
6955
+ content: "\f586"; }
6956
+
6957
+ .fa-grin-stars:before {
6958
+ content: "\f587"; }
6959
+
6960
+ .fa-grin-tears:before {
6961
+ content: "\f588"; }
6962
+
6963
+ .fa-grin-tongue:before {
6964
+ content: "\f589"; }
6965
+
6966
+ .fa-grin-tongue-squint:before {
6967
+ content: "\f58a"; }
6968
+
6969
+ .fa-grin-tongue-wink:before {
6970
+ content: "\f58b"; }
6971
+
6972
+ .fa-grin-wink:before {
6973
+ content: "\f58c"; }
6974
+
6975
+ .fa-grip-horizontal:before {
6976
+ content: "\f58d"; }
6977
+
6978
+ .fa-grip-lines:before {
6979
+ content: "\f7a4"; }
6980
+
6981
+ .fa-grip-lines-vertical:before {
6982
+ content: "\f7a5"; }
6983
+
6984
+ .fa-grip-vertical:before {
6985
+ content: "\f58e"; }
6986
+
6987
+ .fa-gripfire:before {
6988
+ content: "\f3ac"; }
6989
+
6990
+ .fa-grunt:before {
6991
+ content: "\f3ad"; }
6992
+
6993
+ .fa-guilded:before {
6994
+ content: "\e07e"; }
6995
+
6996
+ .fa-guitar:before {
6997
+ content: "\f7a6"; }
6998
+
6999
+ .fa-guitar-electric:before {
7000
+ content: "\f8be"; }
7001
+
7002
+ .fa-guitars:before {
7003
+ content: "\f8bf"; }
7004
+
7005
+ .fa-gulp:before {
7006
+ content: "\f3ae"; }
7007
+
7008
+ .fa-h-square:before {
7009
+ content: "\f0fd"; }
7010
+
7011
+ .fa-h1:before {
7012
+ content: "\f313"; }
7013
+
7014
+ .fa-h2:before {
7015
+ content: "\f314"; }
7016
+
7017
+ .fa-h3:before {
7018
+ content: "\f315"; }
7019
+
7020
+ .fa-h4:before {
7021
+ content: "\f86a"; }
7022
+
7023
+ .fa-hacker-news:before {
7024
+ content: "\f1d4"; }
7025
+
7026
+ .fa-hacker-news-square:before {
7027
+ content: "\f3af"; }
7028
+
7029
+ .fa-hackerrank:before {
7030
+ content: "\f5f7"; }
7031
+
7032
+ .fa-hamburger:before {
7033
+ content: "\f805"; }
7034
+
7035
+ .fa-hammer:before {
7036
+ content: "\f6e3"; }
7037
+
7038
+ .fa-hammer-war:before {
7039
+ content: "\f6e4"; }
7040
+
7041
+ .fa-hamsa:before {
7042
+ content: "\f665"; }
7043
+
7044
+ .fa-hand-heart:before {
7045
+ content: "\f4bc"; }
7046
+
7047
+ .fa-hand-holding:before {
7048
+ content: "\f4bd"; }
7049
+
7050
+ .fa-hand-holding-box:before {
7051
+ content: "\f47b"; }
7052
+
7053
+ .fa-hand-holding-heart:before {
7054
+ content: "\f4be"; }
7055
+
7056
+ .fa-hand-holding-magic:before {
7057
+ content: "\f6e5"; }
7058
+
7059
+ .fa-hand-holding-medical:before {
7060
+ content: "\e05c"; }
7061
+
7062
+ .fa-hand-holding-seedling:before {
7063
+ content: "\f4bf"; }
7064
+
7065
+ .fa-hand-holding-usd:before {
7066
+ content: "\f4c0"; }
7067
+
7068
+ .fa-hand-holding-water:before {
7069
+ content: "\f4c1"; }
7070
+
7071
+ .fa-hand-lizard:before {
7072
+ content: "\f258"; }
7073
+
7074
+ .fa-hand-middle-finger:before {
7075
+ content: "\f806"; }
7076
+
7077
+ .fa-hand-paper:before {
7078
+ content: "\f256"; }
7079
+
7080
+ .fa-hand-peace:before {
7081
+ content: "\f25b"; }
7082
+
7083
+ .fa-hand-point-down:before {
7084
+ content: "\f0a7"; }
7085
+
7086
+ .fa-hand-point-left:before {
7087
+ content: "\f0a5"; }
7088
+
7089
+ .fa-hand-point-right:before {
7090
+ content: "\f0a4"; }
7091
+
7092
+ .fa-hand-point-up:before {
7093
+ content: "\f0a6"; }
7094
+
7095
+ .fa-hand-pointer:before {
7096
+ content: "\f25a"; }
7097
+
7098
+ .fa-hand-receiving:before {
7099
+ content: "\f47c"; }
7100
+
7101
+ .fa-hand-rock:before {
7102
+ content: "\f255"; }
7103
+
7104
+ .fa-hand-scissors:before {
7105
+ content: "\f257"; }
7106
+
7107
+ .fa-hand-sparkles:before {
7108
+ content: "\e05d"; }
7109
+
7110
+ .fa-hand-spock:before {
7111
+ content: "\f259"; }
7112
+
7113
+ .fa-hands:before {
7114
+ content: "\f4c2"; }
7115
+
7116
+ .fa-hands-heart:before {
7117
+ content: "\f4c3"; }
7118
+
7119
+ .fa-hands-helping:before {
7120
+ content: "\f4c4"; }
7121
+
7122
+ .fa-hands-usd:before {
7123
+ content: "\f4c5"; }
7124
+
7125
+ .fa-hands-wash:before {
7126
+ content: "\e05e"; }
7127
+
7128
+ .fa-handshake:before {
7129
+ content: "\f2b5"; }
7130
+
7131
+ .fa-handshake-alt:before {
7132
+ content: "\f4c6"; }
7133
+
7134
+ .fa-handshake-alt-slash:before {
7135
+ content: "\e05f"; }
7136
+
7137
+ .fa-handshake-slash:before {
7138
+ content: "\e060"; }
7139
+
7140
+ .fa-hanukiah:before {
7141
+ content: "\f6e6"; }
7142
+
7143
+ .fa-hard-hat:before {
7144
+ content: "\f807"; }
7145
+
7146
+ .fa-hashtag:before {
7147
+ content: "\f292"; }
7148
+
7149
+ .fa-hat-chef:before {
7150
+ content: "\f86b"; }
7151
+
7152
+ .fa-hat-cowboy:before {
7153
+ content: "\f8c0"; }
7154
+
7155
+ .fa-hat-cowboy-side:before {
7156
+ content: "\f8c1"; }
7157
+
7158
+ .fa-hat-santa:before {
7159
+ content: "\f7a7"; }
7160
+
7161
+ .fa-hat-winter:before {
7162
+ content: "\f7a8"; }
7163
+
7164
+ .fa-hat-witch:before {
7165
+ content: "\f6e7"; }
7166
+
7167
+ .fa-hat-wizard:before {
7168
+ content: "\f6e8"; }
7169
+
7170
+ .fa-hdd:before {
7171
+ content: "\f0a0"; }
7172
+
7173
+ .fa-head-side:before {
7174
+ content: "\f6e9"; }
7175
+
7176
+ .fa-head-side-brain:before {
7177
+ content: "\f808"; }
7178
+
7179
+ .fa-head-side-cough:before {
7180
+ content: "\e061"; }
7181
+
7182
+ .fa-head-side-cough-slash:before {
7183
+ content: "\e062"; }
7184
+
7185
+ .fa-head-side-headphones:before {
7186
+ content: "\f8c2"; }
7187
+
7188
+ .fa-head-side-mask:before {
7189
+ content: "\e063"; }
7190
+
7191
+ .fa-head-side-medical:before {
7192
+ content: "\f809"; }
7193
+
7194
+ .fa-head-side-virus:before {
7195
+ content: "\e064"; }
7196
+
7197
+ .fa-head-vr:before {
7198
+ content: "\f6ea"; }
7199
+
7200
+ .fa-heading:before {
7201
+ content: "\f1dc"; }
7202
+
7203
+ .fa-headphones:before {
7204
+ content: "\f025"; }
7205
+
7206
+ .fa-headphones-alt:before {
7207
+ content: "\f58f"; }
7208
+
7209
+ .fa-headset:before {
7210
+ content: "\f590"; }
7211
+
7212
+ .fa-heart:before {
7213
+ content: "\f004"; }
7214
+
7215
+ .fa-heart-broken:before {
7216
+ content: "\f7a9"; }
7217
+
7218
+ .fa-heart-circle:before {
7219
+ content: "\f4c7"; }
7220
+
7221
+ .fa-heart-rate:before {
7222
+ content: "\f5f8"; }
7223
+
7224
+ .fa-heart-square:before {
7225
+ content: "\f4c8"; }
7226
+
7227
+ .fa-heartbeat:before {
7228
+ content: "\f21e"; }
7229
+
7230
+ .fa-heat:before {
7231
+ content: "\e00c"; }
7232
+
7233
+ .fa-helicopter:before {
7234
+ content: "\f533"; }
7235
+
7236
+ .fa-helmet-battle:before {
7237
+ content: "\f6eb"; }
7238
+
7239
+ .fa-hexagon:before {
7240
+ content: "\f312"; }
7241
+
7242
+ .fa-highlighter:before {
7243
+ content: "\f591"; }
7244
+
7245
+ .fa-hiking:before {
7246
+ content: "\f6ec"; }
7247
+
7248
+ .fa-hippo:before {
7249
+ content: "\f6ed"; }
7250
+
7251
+ .fa-hips:before {
7252
+ content: "\f452"; }
7253
+
7254
+ .fa-hire-a-helper:before {
7255
+ content: "\f3b0"; }
7256
+
7257
+ .fa-history:before {
7258
+ content: "\f1da"; }
7259
+
7260
+ .fa-hive:before {
7261
+ content: "\e07f"; }
7262
+
7263
+ .fa-hockey-mask:before {
7264
+ content: "\f6ee"; }
7265
+
7266
+ .fa-hockey-puck:before {
7267
+ content: "\f453"; }
7268
+
7269
+ .fa-hockey-sticks:before {
7270
+ content: "\f454"; }
7271
+
7272
+ .fa-holly-berry:before {
7273
+ content: "\f7aa"; }
7274
+
7275
+ .fa-home:before {
7276
+ content: "\f015"; }
7277
+
7278
+ .fa-home-alt:before {
7279
+ content: "\f80a"; }
7280
+
7281
+ .fa-home-heart:before {
7282
+ content: "\f4c9"; }
7283
+
7284
+ .fa-home-lg:before {
7285
+ content: "\f80b"; }
7286
+
7287
+ .fa-home-lg-alt:before {
7288
+ content: "\f80c"; }
7289
+
7290
+ .fa-hood-cloak:before {
7291
+ content: "\f6ef"; }
7292
+
7293
+ .fa-hooli:before {
7294
+ content: "\f427"; }
7295
+
7296
+ .fa-horizontal-rule:before {
7297
+ content: "\f86c"; }
7298
+
7299
+ .fa-hornbill:before {
7300
+ content: "\f592"; }
7301
+
7302
+ .fa-horse:before {
7303
+ content: "\f6f0"; }
7304
+
7305
+ .fa-horse-head:before {
7306
+ content: "\f7ab"; }
7307
+
7308
+ .fa-horse-saddle:before {
7309
+ content: "\f8c3"; }
7310
+
7311
+ .fa-hospital:before {
7312
+ content: "\f0f8"; }
7313
+
7314
+ .fa-hospital-alt:before {
7315
+ content: "\f47d"; }
7316
+
7317
+ .fa-hospital-symbol:before {
7318
+ content: "\f47e"; }
7319
+
7320
+ .fa-hospital-user:before {
7321
+ content: "\f80d"; }
7322
+
7323
+ .fa-hospitals:before {
7324
+ content: "\f80e"; }
7325
+
7326
+ .fa-hot-tub:before {
7327
+ content: "\f593"; }
7328
+
7329
+ .fa-hotdog:before {
7330
+ content: "\f80f"; }
7331
+
7332
+ .fa-hotel:before {
7333
+ content: "\f594"; }
7334
+
7335
+ .fa-hotjar:before {
7336
+ content: "\f3b1"; }
7337
+
7338
+ .fa-hourglass:before {
7339
+ content: "\f254"; }
7340
+
7341
+ .fa-hourglass-end:before {
7342
+ content: "\f253"; }
7343
+
7344
+ .fa-hourglass-half:before {
7345
+ content: "\f252"; }
7346
+
7347
+ .fa-hourglass-start:before {
7348
+ content: "\f251"; }
7349
+
7350
+ .fa-house:before {
7351
+ content: "\e00d"; }
7352
+
7353
+ .fa-house-damage:before {
7354
+ content: "\f6f1"; }
7355
+
7356
+ .fa-house-day:before {
7357
+ content: "\e00e"; }
7358
+
7359
+ .fa-house-flood:before {
7360
+ content: "\f74f"; }
7361
+
7362
+ .fa-house-leave:before {
7363
+ content: "\e00f"; }
7364
+
7365
+ .fa-house-night:before {
7366
+ content: "\e010"; }
7367
+
7368
+ .fa-house-return:before {
7369
+ content: "\e011"; }
7370
+
7371
+ .fa-house-signal:before {
7372
+ content: "\e012"; }
7373
+
7374
+ .fa-house-user:before {
7375
+ content: "\e065"; }
7376
+
7377
+ .fa-houzz:before {
7378
+ content: "\f27c"; }
7379
+
7380
+ .fa-hryvnia:before {
7381
+ content: "\f6f2"; }
7382
+
7383
+ .fa-html5:before {
7384
+ content: "\f13b"; }
7385
+
7386
+ .fa-hubspot:before {
7387
+ content: "\f3b2"; }
7388
+
7389
+ .fa-humidity:before {
7390
+ content: "\f750"; }
7391
+
7392
+ .fa-hurricane:before {
7393
+ content: "\f751"; }
7394
+
7395
+ .fa-i-cursor:before {
7396
+ content: "\f246"; }
7397
+
7398
+ .fa-ice-cream:before {
7399
+ content: "\f810"; }
7400
+
7401
+ .fa-ice-skate:before {
7402
+ content: "\f7ac"; }
7403
+
7404
+ .fa-icicles:before {
7405
+ content: "\f7ad"; }
7406
+
7407
+ .fa-icons:before {
7408
+ content: "\f86d"; }
7409
+
7410
+ .fa-icons-alt:before {
7411
+ content: "\f86e"; }
7412
+
7413
+ .fa-id-badge:before {
7414
+ content: "\f2c1"; }
7415
+
7416
+ .fa-id-card:before {
7417
+ content: "\f2c2"; }
7418
+
7419
+ .fa-id-card-alt:before {
7420
+ content: "\f47f"; }
7421
+
7422
+ .fa-ideal:before {
7423
+ content: "\e013"; }
7424
+
7425
+ .fa-igloo:before {
7426
+ content: "\f7ae"; }
7427
+
7428
+ .fa-image:before {
7429
+ content: "\f03e"; }
7430
+
7431
+ .fa-image-polaroid:before {
7432
+ content: "\f8c4"; }
7433
+
7434
+ .fa-images:before {
7435
+ content: "\f302"; }
7436
+
7437
+ .fa-imdb:before {
7438
+ content: "\f2d8"; }
7439
+
7440
+ .fa-inbox:before {
7441
+ content: "\f01c"; }
7442
+
7443
+ .fa-inbox-in:before {
7444
+ content: "\f310"; }
7445
+
7446
+ .fa-inbox-out:before {
7447
+ content: "\f311"; }
7448
+
7449
+ .fa-indent:before {
7450
+ content: "\f03c"; }
7451
+
7452
+ .fa-industry:before {
7453
+ content: "\f275"; }
7454
+
7455
+ .fa-industry-alt:before {
7456
+ content: "\f3b3"; }
7457
+
7458
+ .fa-infinity:before {
7459
+ content: "\f534"; }
7460
+
7461
+ .fa-info:before {
7462
+ content: "\f129"; }
7463
+
7464
+ .fa-info-circle:before {
7465
+ content: "\f05a"; }
7466
+
7467
+ .fa-info-square:before {
7468
+ content: "\f30f"; }
7469
+
7470
+ .fa-inhaler:before {
7471
+ content: "\f5f9"; }
7472
+
7473
+ .fa-innosoft:before {
7474
+ content: "\e080"; }
7475
+
7476
+ .fa-instagram:before {
7477
+ content: "\f16d"; }
7478
+
7479
+ .fa-instagram-square:before {
7480
+ content: "\e055"; }
7481
+
7482
+ .fa-instalod:before {
7483
+ content: "\e081"; }
7484
+
7485
+ .fa-integral:before {
7486
+ content: "\f667"; }
7487
+
7488
+ .fa-intercom:before {
7489
+ content: "\f7af"; }
7490
+
7491
+ .fa-internet-explorer:before {
7492
+ content: "\f26b"; }
7493
+
7494
+ .fa-intersection:before {
7495
+ content: "\f668"; }
7496
+
7497
+ .fa-inventory:before {
7498
+ content: "\f480"; }
7499
+
7500
+ .fa-invision:before {
7501
+ content: "\f7b0"; }
7502
+
7503
+ .fa-ioxhost:before {
7504
+ content: "\f208"; }
7505
+
7506
+ .fa-island-tropical:before {
7507
+ content: "\f811"; }
7508
+
7509
+ .fa-italic:before {
7510
+ content: "\f033"; }
7511
+
7512
+ .fa-itch-io:before {
7513
+ content: "\f83a"; }
7514
+
7515
+ .fa-itunes:before {
7516
+ content: "\f3b4"; }
7517
+
7518
+ .fa-itunes-note:before {
7519
+ content: "\f3b5"; }
7520
+
7521
+ .fa-jack-o-lantern:before {
7522
+ content: "\f30e"; }
7523
+
7524
+ .fa-java:before {
7525
+ content: "\f4e4"; }
7526
+
7527
+ .fa-jedi:before {
7528
+ content: "\f669"; }
7529
+
7530
+ .fa-jedi-order:before {
7531
+ content: "\f50e"; }
7532
+
7533
+ .fa-jenkins:before {
7534
+ content: "\f3b6"; }
7535
+
7536
+ .fa-jira:before {
7537
+ content: "\f7b1"; }
7538
+
7539
+ .fa-joget:before {
7540
+ content: "\f3b7"; }
7541
+
7542
+ .fa-joint:before {
7543
+ content: "\f595"; }
7544
+
7545
+ .fa-joomla:before {
7546
+ content: "\f1aa"; }
7547
+
7548
+ .fa-journal-whills:before {
7549
+ content: "\f66a"; }
7550
+
7551
+ .fa-joystick:before {
7552
+ content: "\f8c5"; }
7553
+
7554
+ .fa-js:before {
7555
+ content: "\f3b8"; }
7556
+
7557
+ .fa-js-square:before {
7558
+ content: "\f3b9"; }
7559
+
7560
+ .fa-jsfiddle:before {
7561
+ content: "\f1cc"; }
7562
+
7563
+ .fa-jug:before {
7564
+ content: "\f8c6"; }
7565
+
7566
+ .fa-kaaba:before {
7567
+ content: "\f66b"; }
7568
+
7569
+ .fa-kaggle:before {
7570
+ content: "\f5fa"; }
7571
+
7572
+ .fa-kazoo:before {
7573
+ content: "\f8c7"; }
7574
+
7575
+ .fa-kerning:before {
7576
+ content: "\f86f"; }
7577
+
7578
+ .fa-key:before {
7579
+ content: "\f084"; }
7580
+
7581
+ .fa-key-skeleton:before {
7582
+ content: "\f6f3"; }
7583
+
7584
+ .fa-keybase:before {
7585
+ content: "\f4f5"; }
7586
+
7587
+ .fa-keyboard:before {
7588
+ content: "\f11c"; }
7589
+
7590
+ .fa-keycdn:before {
7591
+ content: "\f3ba"; }
7592
+
7593
+ .fa-keynote:before {
7594
+ content: "\f66c"; }
7595
+
7596
+ .fa-khanda:before {
7597
+ content: "\f66d"; }
7598
+
7599
+ .fa-kickstarter:before {
7600
+ content: "\f3bb"; }
7601
+
7602
+ .fa-kickstarter-k:before {
7603
+ content: "\f3bc"; }
7604
+
7605
+ .fa-kidneys:before {
7606
+ content: "\f5fb"; }
7607
+
7608
+ .fa-kiss:before {
7609
+ content: "\f596"; }
7610
+
7611
+ .fa-kiss-beam:before {
7612
+ content: "\f597"; }
7613
+
7614
+ .fa-kiss-wink-heart:before {
7615
+ content: "\f598"; }
7616
+
7617
+ .fa-kite:before {
7618
+ content: "\f6f4"; }
7619
+
7620
+ .fa-kiwi-bird:before {
7621
+ content: "\f535"; }
7622
+
7623
+ .fa-knife-kitchen:before {
7624
+ content: "\f6f5"; }
7625
+
7626
+ .fa-korvue:before {
7627
+ content: "\f42f"; }
7628
+
7629
+ .fa-lambda:before {
7630
+ content: "\f66e"; }
7631
+
7632
+ .fa-lamp:before {
7633
+ content: "\f4ca"; }
7634
+
7635
+ .fa-lamp-desk:before {
7636
+ content: "\e014"; }
7637
+
7638
+ .fa-lamp-floor:before {
7639
+ content: "\e015"; }
7640
+
7641
+ .fa-landmark:before {
7642
+ content: "\f66f"; }
7643
+
7644
+ .fa-landmark-alt:before {
7645
+ content: "\f752"; }
7646
+
7647
+ .fa-language:before {
7648
+ content: "\f1ab"; }
7649
+
7650
+ .fa-laptop:before {
7651
+ content: "\f109"; }
7652
+
7653
+ .fa-laptop-code:before {
7654
+ content: "\f5fc"; }
7655
+
7656
+ .fa-laptop-house:before {
7657
+ content: "\e066"; }
7658
+
7659
+ .fa-laptop-medical:before {
7660
+ content: "\f812"; }
7661
+
7662
+ .fa-laravel:before {
7663
+ content: "\f3bd"; }
7664
+
7665
+ .fa-lasso:before {
7666
+ content: "\f8c8"; }
7667
+
7668
+ .fa-lastfm:before {
7669
+ content: "\f202"; }
7670
+
7671
+ .fa-lastfm-square:before {
7672
+ content: "\f203"; }
7673
+
7674
+ .fa-laugh:before {
7675
+ content: "\f599"; }
7676
+
7677
+ .fa-laugh-beam:before {
7678
+ content: "\f59a"; }
7679
+
7680
+ .fa-laugh-squint:before {
7681
+ content: "\f59b"; }
7682
+
7683
+ .fa-laugh-wink:before {
7684
+ content: "\f59c"; }
7685
+
7686
+ .fa-layer-group:before {
7687
+ content: "\f5fd"; }
7688
+
7689
+ .fa-layer-minus:before {
7690
+ content: "\f5fe"; }
7691
+
7692
+ .fa-layer-plus:before {
7693
+ content: "\f5ff"; }
7694
+
7695
+ .fa-leaf:before {
7696
+ content: "\f06c"; }
7697
+
7698
+ .fa-leaf-heart:before {
7699
+ content: "\f4cb"; }
7700
+
7701
+ .fa-leaf-maple:before {
7702
+ content: "\f6f6"; }
7703
+
7704
+ .fa-leaf-oak:before {
7705
+ content: "\f6f7"; }
7706
+
7707
+ .fa-leanpub:before {
7708
+ content: "\f212"; }
7709
+
7710
+ .fa-lemon:before {
7711
+ content: "\f094"; }
7712
+
7713
+ .fa-less:before {
7714
+ content: "\f41d"; }
7715
+
7716
+ .fa-less-than:before {
7717
+ content: "\f536"; }
7718
+
7719
+ .fa-less-than-equal:before {
7720
+ content: "\f537"; }
7721
+
7722
+ .fa-level-down:before {
7723
+ content: "\f149"; }
7724
+
7725
+ .fa-level-down-alt:before {
7726
+ content: "\f3be"; }
7727
+
7728
+ .fa-level-up:before {
7729
+ content: "\f148"; }
7730
+
7731
+ .fa-level-up-alt:before {
7732
+ content: "\f3bf"; }
7733
+
7734
+ .fa-life-ring:before {
7735
+ content: "\f1cd"; }
7736
+
7737
+ .fa-light-ceiling:before {
7738
+ content: "\e016"; }
7739
+
7740
+ .fa-light-switch:before {
7741
+ content: "\e017"; }
7742
+
7743
+ .fa-light-switch-off:before {
7744
+ content: "\e018"; }
7745
+
7746
+ .fa-light-switch-on:before {
7747
+ content: "\e019"; }
7748
+
7749
+ .fa-lightbulb:before {
7750
+ content: "\f0eb"; }
7751
+
7752
+ .fa-lightbulb-dollar:before {
7753
+ content: "\f670"; }
7754
+
7755
+ .fa-lightbulb-exclamation:before {
7756
+ content: "\f671"; }
7757
+
7758
+ .fa-lightbulb-on:before {
7759
+ content: "\f672"; }
7760
+
7761
+ .fa-lightbulb-slash:before {
7762
+ content: "\f673"; }
7763
+
7764
+ .fa-lights-holiday:before {
7765
+ content: "\f7b2"; }
7766
+
7767
+ .fa-line:before {
7768
+ content: "\f3c0"; }
7769
+
7770
+ .fa-line-columns:before {
7771
+ content: "\f870"; }
7772
+
7773
+ .fa-line-height:before {
7774
+ content: "\f871"; }
7775
+
7776
+ .fa-link:before {
7777
+ content: "\f0c1"; }
7778
+
7779
+ .fa-linkedin:before {
7780
+ content: "\f08c"; }
7781
+
7782
+ .fa-linkedin-in:before {
7783
+ content: "\f0e1"; }
7784
+
7785
+ .fa-linode:before {
7786
+ content: "\f2b8"; }
7787
+
7788
+ .fa-linux:before {
7789
+ content: "\f17c"; }
7790
+
7791
+ .fa-lips:before {
7792
+ content: "\f600"; }
7793
+
7794
+ .fa-lira-sign:before {
7795
+ content: "\f195"; }
7796
+
7797
+ .fa-list:before {
7798
+ content: "\f03a"; }
7799
+
7800
+ .fa-list-alt:before {
7801
+ content: "\f022"; }
7802
+
7803
+ .fa-list-music:before {
7804
+ content: "\f8c9"; }
7805
+
7806
+ .fa-list-ol:before {
7807
+ content: "\f0cb"; }
7808
+
7809
+ .fa-list-ul:before {
7810
+ content: "\f0ca"; }
7811
+
7812
+ .fa-location:before {
7813
+ content: "\f601"; }
7814
+
7815
+ .fa-location-arrow:before {
7816
+ content: "\f124"; }
7817
+
7818
+ .fa-location-circle:before {
7819
+ content: "\f602"; }
7820
+
7821
+ .fa-location-slash:before {
7822
+ content: "\f603"; }
7823
+
7824
+ .fa-lock:before {
7825
+ content: "\f023"; }
7826
+
7827
+ .fa-lock-alt:before {
7828
+ content: "\f30d"; }
7829
+
7830
+ .fa-lock-open:before {
7831
+ content: "\f3c1"; }
7832
+
7833
+ .fa-lock-open-alt:before {
7834
+ content: "\f3c2"; }
7835
+
7836
+ .fa-long-arrow-alt-down:before {
7837
+ content: "\f309"; }
7838
+
7839
+ .fa-long-arrow-alt-left:before {
7840
+ content: "\f30a"; }
7841
+
7842
+ .fa-long-arrow-alt-right:before {
7843
+ content: "\f30b"; }
7844
+
7845
+ .fa-long-arrow-alt-up:before {
7846
+ content: "\f30c"; }
7847
+
7848
+ .fa-long-arrow-down:before {
7849
+ content: "\f175"; }
7850
+
7851
+ .fa-long-arrow-left:before {
7852
+ content: "\f177"; }
7853
+
7854
+ .fa-long-arrow-right:before {
7855
+ content: "\f178"; }
7856
+
7857
+ .fa-long-arrow-up:before {
7858
+ content: "\f176"; }
7859
+
7860
+ .fa-loveseat:before {
7861
+ content: "\f4cc"; }
7862
+
7863
+ .fa-low-vision:before {
7864
+ content: "\f2a8"; }
7865
+
7866
+ .fa-luchador:before {
7867
+ content: "\f455"; }
7868
+
7869
+ .fa-luggage-cart:before {
7870
+ content: "\f59d"; }
7871
+
7872
+ .fa-lungs:before {
7873
+ content: "\f604"; }
7874
+
7875
+ .fa-lungs-virus:before {
7876
+ content: "\e067"; }
7877
+
7878
+ .fa-lyft:before {
7879
+ content: "\f3c3"; }
7880
+
7881
+ .fa-mace:before {
7882
+ content: "\f6f8"; }
7883
+
7884
+ .fa-magento:before {
7885
+ content: "\f3c4"; }
7886
+
7887
+ .fa-magic:before {
7888
+ content: "\f0d0"; }
7889
+
7890
+ .fa-magnet:before {
7891
+ content: "\f076"; }
7892
+
7893
+ .fa-mail-bulk:before {
7894
+ content: "\f674"; }
7895
+
7896
+ .fa-mailbox:before {
7897
+ content: "\f813"; }
7898
+
7899
+ .fa-mailchimp:before {
7900
+ content: "\f59e"; }
7901
+
7902
+ .fa-male:before {
7903
+ content: "\f183"; }
7904
+
7905
+ .fa-mandalorian:before {
7906
+ content: "\f50f"; }
7907
+
7908
+ .fa-mandolin:before {
7909
+ content: "\f6f9"; }
7910
+
7911
+ .fa-map:before {
7912
+ content: "\f279"; }
7913
+
7914
+ .fa-map-marked:before {
7915
+ content: "\f59f"; }
7916
+
7917
+ .fa-map-marked-alt:before {
7918
+ content: "\f5a0"; }
7919
+
7920
+ .fa-map-marker:before {
7921
+ content: "\f041"; }
7922
+
7923
+ .fa-map-marker-alt:before {
7924
+ content: "\f3c5"; }
7925
+
7926
+ .fa-map-marker-alt-slash:before {
7927
+ content: "\f605"; }
7928
+
7929
+ .fa-map-marker-check:before {
7930
+ content: "\f606"; }
7931
+
7932
+ .fa-map-marker-edit:before {
7933
+ content: "\f607"; }
7934
+
7935
+ .fa-map-marker-exclamation:before {
7936
+ content: "\f608"; }
7937
+
7938
+ .fa-map-marker-minus:before {
7939
+ content: "\f609"; }
7940
+
7941
+ .fa-map-marker-plus:before {
7942
+ content: "\f60a"; }
7943
+
7944
+ .fa-map-marker-question:before {
7945
+ content: "\f60b"; }
7946
+
7947
+ .fa-map-marker-slash:before {
7948
+ content: "\f60c"; }
7949
+
7950
+ .fa-map-marker-smile:before {
7951
+ content: "\f60d"; }
7952
+
7953
+ .fa-map-marker-times:before {
7954
+ content: "\f60e"; }
7955
+
7956
+ .fa-map-pin:before {
7957
+ content: "\f276"; }
7958
+
7959
+ .fa-map-signs:before {
7960
+ content: "\f277"; }
7961
+
7962
+ .fa-markdown:before {
7963
+ content: "\f60f"; }
7964
+
7965
+ .fa-marker:before {
7966
+ content: "\f5a1"; }
7967
+
7968
+ .fa-mars:before {
7969
+ content: "\f222"; }
7970
+
7971
+ .fa-mars-double:before {
7972
+ content: "\f227"; }
7973
+
7974
+ .fa-mars-stroke:before {
7975
+ content: "\f229"; }
7976
+
7977
+ .fa-mars-stroke-h:before {
7978
+ content: "\f22b"; }
7979
+
7980
+ .fa-mars-stroke-v:before {
7981
+ content: "\f22a"; }
7982
+
7983
+ .fa-mask:before {
7984
+ content: "\f6fa"; }
7985
+
7986
+ .fa-mastodon:before {
7987
+ content: "\f4f6"; }
7988
+
7989
+ .fa-maxcdn:before {
7990
+ content: "\f136"; }
7991
+
7992
+ .fa-mdb:before {
7993
+ content: "\f8ca"; }
7994
+
7995
+ .fa-meat:before {
7996
+ content: "\f814"; }
7997
+
7998
+ .fa-medal:before {
7999
+ content: "\f5a2"; }
8000
+
8001
+ .fa-medapps:before {
8002
+ content: "\f3c6"; }
8003
+
8004
+ .fa-medium:before {
8005
+ content: "\f23a"; }
8006
+
8007
+ .fa-medium-m:before {
8008
+ content: "\f3c7"; }
8009
+
8010
+ .fa-medkit:before {
8011
+ content: "\f0fa"; }
8012
+
8013
+ .fa-medrt:before {
8014
+ content: "\f3c8"; }
8015
+
8016
+ .fa-meetup:before {
8017
+ content: "\f2e0"; }
8018
+
8019
+ .fa-megaphone:before {
8020
+ content: "\f675"; }
8021
+
8022
+ .fa-megaport:before {
8023
+ content: "\f5a3"; }
8024
+
8025
+ .fa-meh:before {
8026
+ content: "\f11a"; }
8027
+
8028
+ .fa-meh-blank:before {
8029
+ content: "\f5a4"; }
8030
+
8031
+ .fa-meh-rolling-eyes:before {
8032
+ content: "\f5a5"; }
8033
+
8034
+ .fa-memory:before {
8035
+ content: "\f538"; }
8036
+
8037
+ .fa-mendeley:before {
8038
+ content: "\f7b3"; }
8039
+
8040
+ .fa-menorah:before {
8041
+ content: "\f676"; }
8042
+
8043
+ .fa-mercury:before {
8044
+ content: "\f223"; }
8045
+
8046
+ .fa-meteor:before {
8047
+ content: "\f753"; }
8048
+
8049
+ .fa-microblog:before {
8050
+ content: "\e01a"; }
8051
+
8052
+ .fa-microchip:before {
8053
+ content: "\f2db"; }
8054
+
8055
+ .fa-microphone:before {
8056
+ content: "\f130"; }
8057
+
8058
+ .fa-microphone-alt:before {
8059
+ content: "\f3c9"; }
8060
+
8061
+ .fa-microphone-alt-slash:before {
8062
+ content: "\f539"; }
8063
+
8064
+ .fa-microphone-slash:before {
8065
+ content: "\f131"; }
8066
+
8067
+ .fa-microphone-stand:before {
8068
+ content: "\f8cb"; }
8069
+
8070
+ .fa-microscope:before {
8071
+ content: "\f610"; }
8072
+
8073
+ .fa-microsoft:before {
8074
+ content: "\f3ca"; }
8075
+
8076
+ .fa-microwave:before {
8077
+ content: "\e01b"; }
8078
+
8079
+ .fa-mind-share:before {
8080
+ content: "\f677"; }
8081
+
8082
+ .fa-minus:before {
8083
+ content: "\f068"; }
8084
+
8085
+ .fa-minus-circle:before {
8086
+ content: "\f056"; }
8087
+
8088
+ .fa-minus-hexagon:before {
8089
+ content: "\f307"; }
8090
+
8091
+ .fa-minus-octagon:before {
8092
+ content: "\f308"; }
8093
+
8094
+ .fa-minus-square:before {
8095
+ content: "\f146"; }
8096
+
8097
+ .fa-mistletoe:before {
8098
+ content: "\f7b4"; }
8099
+
8100
+ .fa-mitten:before {
8101
+ content: "\f7b5"; }
8102
+
8103
+ .fa-mix:before {
8104
+ content: "\f3cb"; }
8105
+
8106
+ .fa-mixcloud:before {
8107
+ content: "\f289"; }
8108
+
8109
+ .fa-mixer:before {
8110
+ content: "\e056"; }
8111
+
8112
+ .fa-mizuni:before {
8113
+ content: "\f3cc"; }
8114
+
8115
+ .fa-mobile:before {
8116
+ content: "\f10b"; }
8117
+
8118
+ .fa-mobile-alt:before {
8119
+ content: "\f3cd"; }
8120
+
8121
+ .fa-mobile-android:before {
8122
+ content: "\f3ce"; }
8123
+
8124
+ .fa-mobile-android-alt:before {
8125
+ content: "\f3cf"; }
8126
+
8127
+ .fa-modx:before {
8128
+ content: "\f285"; }
8129
+
8130
+ .fa-monero:before {
8131
+ content: "\f3d0"; }
8132
+
8133
+ .fa-money-bill:before {
8134
+ content: "\f0d6"; }
8135
+
8136
+ .fa-money-bill-alt:before {
8137
+ content: "\f3d1"; }
8138
+
8139
+ .fa-money-bill-wave:before {
8140
+ content: "\f53a"; }
8141
+
8142
+ .fa-money-bill-wave-alt:before {
8143
+ content: "\f53b"; }
8144
+
8145
+ .fa-money-check:before {
8146
+ content: "\f53c"; }
8147
+
8148
+ .fa-money-check-alt:before {
8149
+ content: "\f53d"; }
8150
+
8151
+ .fa-money-check-edit:before {
8152
+ content: "\f872"; }
8153
+
8154
+ .fa-money-check-edit-alt:before {
8155
+ content: "\f873"; }
8156
+
8157
+ .fa-monitor-heart-rate:before {
8158
+ content: "\f611"; }
8159
+
8160
+ .fa-monkey:before {
8161
+ content: "\f6fb"; }
8162
+
8163
+ .fa-monument:before {
8164
+ content: "\f5a6"; }
8165
+
8166
+ .fa-moon:before {
8167
+ content: "\f186"; }
8168
+
8169
+ .fa-moon-cloud:before {
8170
+ content: "\f754"; }
8171
+
8172
+ .fa-moon-stars:before {
8173
+ content: "\f755"; }
8174
+
8175
+ .fa-mortar-pestle:before {
8176
+ content: "\f5a7"; }
8177
+
8178
+ .fa-mosque:before {
8179
+ content: "\f678"; }
8180
+
8181
+ .fa-motorcycle:before {
8182
+ content: "\f21c"; }
8183
+
8184
+ .fa-mountain:before {
8185
+ content: "\f6fc"; }
8186
+
8187
+ .fa-mountains:before {
8188
+ content: "\f6fd"; }
8189
+
8190
+ .fa-mouse:before {
8191
+ content: "\f8cc"; }
8192
+
8193
+ .fa-mouse-alt:before {
8194
+ content: "\f8cd"; }
8195
+
8196
+ .fa-mouse-pointer:before {
8197
+ content: "\f245"; }
8198
+
8199
+ .fa-mp3-player:before {
8200
+ content: "\f8ce"; }
8201
+
8202
+ .fa-mug:before {
8203
+ content: "\f874"; }
8204
+
8205
+ .fa-mug-hot:before {
8206
+ content: "\f7b6"; }
8207
+
8208
+ .fa-mug-marshmallows:before {
8209
+ content: "\f7b7"; }
8210
+
8211
+ .fa-mug-tea:before {
8212
+ content: "\f875"; }
8213
+
8214
+ .fa-music:before {
8215
+ content: "\f001"; }
8216
+
8217
+ .fa-music-alt:before {
8218
+ content: "\f8cf"; }
8219
+
8220
+ .fa-music-alt-slash:before {
8221
+ content: "\f8d0"; }
8222
+
8223
+ .fa-music-slash:before {
8224
+ content: "\f8d1"; }
8225
+
8226
+ .fa-napster:before {
8227
+ content: "\f3d2"; }
8228
+
8229
+ .fa-narwhal:before {
8230
+ content: "\f6fe"; }
8231
+
8232
+ .fa-neos:before {
8233
+ content: "\f612"; }
8234
+
8235
+ .fa-network-wired:before {
8236
+ content: "\f6ff"; }
8237
+
8238
+ .fa-neuter:before {
8239
+ content: "\f22c"; }
8240
+
8241
+ .fa-newspaper:before {
8242
+ content: "\f1ea"; }
8243
+
8244
+ .fa-nimblr:before {
8245
+ content: "\f5a8"; }
8246
+
8247
+ .fa-node:before {
8248
+ content: "\f419"; }
8249
+
8250
+ .fa-node-js:before {
8251
+ content: "\f3d3"; }
8252
+
8253
+ .fa-not-equal:before {
8254
+ content: "\f53e"; }
8255
+
8256
+ .fa-notes-medical:before {
8257
+ content: "\f481"; }
8258
+
8259
+ .fa-npm:before {
8260
+ content: "\f3d4"; }
8261
+
8262
+ .fa-ns8:before {
8263
+ content: "\f3d5"; }
8264
+
8265
+ .fa-nutritionix:before {
8266
+ content: "\f3d6"; }
8267
+
8268
+ .fa-object-group:before {
8269
+ content: "\f247"; }
8270
+
8271
+ .fa-object-ungroup:before {
8272
+ content: "\f248"; }
8273
+
8274
+ .fa-octagon:before {
8275
+ content: "\f306"; }
8276
+
8277
+ .fa-octopus-deploy:before {
8278
+ content: "\e082"; }
8279
+
8280
+ .fa-odnoklassniki:before {
8281
+ content: "\f263"; }
8282
+
8283
+ .fa-odnoklassniki-square:before {
8284
+ content: "\f264"; }
8285
+
8286
+ .fa-oil-can:before {
8287
+ content: "\f613"; }
8288
+
8289
+ .fa-oil-temp:before {
8290
+ content: "\f614"; }
8291
+
8292
+ .fa-old-republic:before {
8293
+ content: "\f510"; }
8294
+
8295
+ .fa-om:before {
8296
+ content: "\f679"; }
8297
+
8298
+ .fa-omega:before {
8299
+ content: "\f67a"; }
8300
+
8301
+ .fa-opencart:before {
8302
+ content: "\f23d"; }
8303
+
8304
+ .fa-openid:before {
8305
+ content: "\f19b"; }
8306
+
8307
+ .fa-opera:before {
8308
+ content: "\f26a"; }
8309
+
8310
+ .fa-optin-monster:before {
8311
+ content: "\f23c"; }
8312
+
8313
+ .fa-orcid:before {
8314
+ content: "\f8d2"; }
8315
+
8316
+ .fa-ornament:before {
8317
+ content: "\f7b8"; }
8318
+
8319
+ .fa-osi:before {
8320
+ content: "\f41a"; }
8321
+
8322
+ .fa-otter:before {
8323
+ content: "\f700"; }
8324
+
8325
+ .fa-outdent:before {
8326
+ content: "\f03b"; }
8327
+
8328
+ .fa-outlet:before {
8329
+ content: "\e01c"; }
8330
+
8331
+ .fa-oven:before {
8332
+ content: "\e01d"; }
8333
+
8334
+ .fa-overline:before {
8335
+ content: "\f876"; }
8336
+
8337
+ .fa-page-break:before {
8338
+ content: "\f877"; }
8339
+
8340
+ .fa-page4:before {
8341
+ content: "\f3d7"; }
8342
+
8343
+ .fa-pagelines:before {
8344
+ content: "\f18c"; }
8345
+
8346
+ .fa-pager:before {
8347
+ content: "\f815"; }
8348
+
8349
+ .fa-paint-brush:before {
8350
+ content: "\f1fc"; }
8351
+
8352
+ .fa-paint-brush-alt:before {
8353
+ content: "\f5a9"; }
8354
+
8355
+ .fa-paint-roller:before {
8356
+ content: "\f5aa"; }
8357
+
8358
+ .fa-palette:before {
8359
+ content: "\f53f"; }
8360
+
8361
+ .fa-palfed:before {
8362
+ content: "\f3d8"; }
8363
+
8364
+ .fa-pallet:before {
8365
+ content: "\f482"; }
8366
+
8367
+ .fa-pallet-alt:before {
8368
+ content: "\f483"; }
8369
+
8370
+ .fa-paper-plane:before {
8371
+ content: "\f1d8"; }
8372
+
8373
+ .fa-paperclip:before {
8374
+ content: "\f0c6"; }
8375
+
8376
+ .fa-parachute-box:before {
8377
+ content: "\f4cd"; }
8378
+
8379
+ .fa-paragraph:before {
8380
+ content: "\f1dd"; }
8381
+
8382
+ .fa-paragraph-rtl:before {
8383
+ content: "\f878"; }
8384
+
8385
+ .fa-parking:before {
8386
+ content: "\f540"; }
8387
+
8388
+ .fa-parking-circle:before {
8389
+ content: "\f615"; }
8390
+
8391
+ .fa-parking-circle-slash:before {
8392
+ content: "\f616"; }
8393
+
8394
+ .fa-parking-slash:before {
8395
+ content: "\f617"; }
8396
+
8397
+ .fa-passport:before {
8398
+ content: "\f5ab"; }
8399
+
8400
+ .fa-pastafarianism:before {
8401
+ content: "\f67b"; }
8402
+
8403
+ .fa-paste:before {
8404
+ content: "\f0ea"; }
8405
+
8406
+ .fa-patreon:before {
8407
+ content: "\f3d9"; }
8408
+
8409
+ .fa-pause:before {
8410
+ content: "\f04c"; }
8411
+
8412
+ .fa-pause-circle:before {
8413
+ content: "\f28b"; }
8414
+
8415
+ .fa-paw:before {
8416
+ content: "\f1b0"; }
8417
+
8418
+ .fa-paw-alt:before {
8419
+ content: "\f701"; }
8420
+
8421
+ .fa-paw-claws:before {
8422
+ content: "\f702"; }
8423
+
8424
+ .fa-paypal:before {
8425
+ content: "\f1ed"; }
8426
+
8427
+ .fa-peace:before {
8428
+ content: "\f67c"; }
8429
+
8430
+ .fa-pegasus:before {
8431
+ content: "\f703"; }
8432
+
8433
+ .fa-pen:before {
8434
+ content: "\f304"; }
8435
+
8436
+ .fa-pen-alt:before {
8437
+ content: "\f305"; }
8438
+
8439
+ .fa-pen-fancy:before {
8440
+ content: "\f5ac"; }
8441
+
8442
+ .fa-pen-nib:before {
8443
+ content: "\f5ad"; }
8444
+
8445
+ .fa-pen-square:before {
8446
+ content: "\f14b"; }
8447
+
8448
+ .fa-pencil:before {
8449
+ content: "\f040"; }
8450
+
8451
+ .fa-pencil-alt:before {
8452
+ content: "\f303"; }
8453
+
8454
+ .fa-pencil-paintbrush:before {
8455
+ content: "\f618"; }
8456
+
8457
+ .fa-pencil-ruler:before {
8458
+ content: "\f5ae"; }
8459
+
8460
+ .fa-pennant:before {
8461
+ content: "\f456"; }
8462
+
8463
+ .fa-penny-arcade:before {
8464
+ content: "\f704"; }
8465
+
8466
+ .fa-people-arrows:before {
8467
+ content: "\e068"; }
8468
+
8469
+ .fa-people-carry:before {
8470
+ content: "\f4ce"; }
8471
+
8472
+ .fa-pepper-hot:before {
8473
+ content: "\f816"; }
8474
+
8475
+ .fa-perbyte:before {
8476
+ content: "\e083"; }
8477
+
8478
+ .fa-percent:before {
8479
+ content: "\f295"; }
8480
+
8481
+ .fa-percentage:before {
8482
+ content: "\f541"; }
8483
+
8484
+ .fa-periscope:before {
8485
+ content: "\f3da"; }
8486
+
8487
+ .fa-person-booth:before {
8488
+ content: "\f756"; }
8489
+
8490
+ .fa-person-carry:before {
8491
+ content: "\f4cf"; }
8492
+
8493
+ .fa-person-dolly:before {
8494
+ content: "\f4d0"; }
8495
+
8496
+ .fa-person-dolly-empty:before {
8497
+ content: "\f4d1"; }
8498
+
8499
+ .fa-person-sign:before {
8500
+ content: "\f757"; }
8501
+
8502
+ .fa-phabricator:before {
8503
+ content: "\f3db"; }
8504
+
8505
+ .fa-phoenix-framework:before {
8506
+ content: "\f3dc"; }
8507
+
8508
+ .fa-phoenix-squadron:before {
8509
+ content: "\f511"; }
8510
+
8511
+ .fa-phone:before {
8512
+ content: "\f095"; }
8513
+
8514
+ .fa-phone-alt:before {
8515
+ content: "\f879"; }
8516
+
8517
+ .fa-phone-laptop:before {
8518
+ content: "\f87a"; }
8519
+
8520
+ .fa-phone-office:before {
8521
+ content: "\f67d"; }
8522
+
8523
+ .fa-phone-plus:before {
8524
+ content: "\f4d2"; }
8525
+
8526
+ .fa-phone-rotary:before {
8527
+ content: "\f8d3"; }
8528
+
8529
+ .fa-phone-slash:before {
8530
+ content: "\f3dd"; }
8531
+
8532
+ .fa-phone-square:before {
8533
+ content: "\f098"; }
8534
+
8535
+ .fa-phone-square-alt:before {
8536
+ content: "\f87b"; }
8537
+
8538
+ .fa-phone-volume:before {
8539
+ content: "\f2a0"; }
8540
+
8541
+ .fa-photo-video:before {
8542
+ content: "\f87c"; }
8543
+
8544
+ .fa-php:before {
8545
+ content: "\f457"; }
8546
+
8547
+ .fa-pi:before {
8548
+ content: "\f67e"; }
8549
+
8550
+ .fa-piano:before {
8551
+ content: "\f8d4"; }
8552
+
8553
+ .fa-piano-keyboard:before {
8554
+ content: "\f8d5"; }
8555
+
8556
+ .fa-pie:before {
8557
+ content: "\f705"; }
8558
+
8559
+ .fa-pied-piper:before {
8560
+ content: "\f2ae"; }
8561
+
8562
+ .fa-pied-piper-alt:before {
8563
+ content: "\f1a8"; }
8564
+
8565
+ .fa-pied-piper-hat:before {
8566
+ content: "\f4e5"; }
8567
+
8568
+ .fa-pied-piper-pp:before {
8569
+ content: "\f1a7"; }
8570
+
8571
+ .fa-pied-piper-square:before {
8572
+ content: "\e01e"; }
8573
+
8574
+ .fa-pig:before {
8575
+ content: "\f706"; }
8576
+
8577
+ .fa-piggy-bank:before {
8578
+ content: "\f4d3"; }
8579
+
8580
+ .fa-pills:before {
8581
+ content: "\f484"; }
8582
+
8583
+ .fa-pinterest:before {
8584
+ content: "\f0d2"; }
8585
+
8586
+ .fa-pinterest-p:before {
8587
+ content: "\f231"; }
8588
+
8589
+ .fa-pinterest-square:before {
8590
+ content: "\f0d3"; }
8591
+
8592
+ .fa-pizza:before {
8593
+ content: "\f817"; }
8594
+
8595
+ .fa-pizza-slice:before {
8596
+ content: "\f818"; }
8597
+
8598
+ .fa-place-of-worship:before {
8599
+ content: "\f67f"; }
8600
+
8601
+ .fa-plane:before {
8602
+ content: "\f072"; }
8603
+
8604
+ .fa-plane-alt:before {
8605
+ content: "\f3de"; }
8606
+
8607
+ .fa-plane-arrival:before {
8608
+ content: "\f5af"; }
8609
+
8610
+ .fa-plane-departure:before {
8611
+ content: "\f5b0"; }
8612
+
8613
+ .fa-plane-slash:before {
8614
+ content: "\e069"; }
8615
+
8616
+ .fa-planet-moon:before {
8617
+ content: "\e01f"; }
8618
+
8619
+ .fa-planet-ringed:before {
8620
+ content: "\e020"; }
8621
+
8622
+ .fa-play:before {
8623
+ content: "\f04b"; }
8624
+
8625
+ .fa-play-circle:before {
8626
+ content: "\f144"; }
8627
+
8628
+ .fa-playstation:before {
8629
+ content: "\f3df"; }
8630
+
8631
+ .fa-plug:before {
8632
+ content: "\f1e6"; }
8633
+
8634
+ .fa-plus:before {
8635
+ content: "\f067"; }
8636
+
8637
+ .fa-plus-circle:before {
8638
+ content: "\f055"; }
8639
+
8640
+ .fa-plus-hexagon:before {
8641
+ content: "\f300"; }
8642
+
8643
+ .fa-plus-octagon:before {
8644
+ content: "\f301"; }
8645
+
8646
+ .fa-plus-square:before {
8647
+ content: "\f0fe"; }
8648
+
8649
+ .fa-podcast:before {
8650
+ content: "\f2ce"; }
8651
+
8652
+ .fa-podium:before {
8653
+ content: "\f680"; }
8654
+
8655
+ .fa-podium-star:before {
8656
+ content: "\f758"; }
8657
+
8658
+ .fa-police-box:before {
8659
+ content: "\e021"; }
8660
+
8661
+ .fa-poll:before {
8662
+ content: "\f681"; }
8663
+
8664
+ .fa-poll-h:before {
8665
+ content: "\f682"; }
8666
+
8667
+ .fa-poll-people:before {
8668
+ content: "\f759"; }
8669
+
8670
+ .fa-poo:before {
8671
+ content: "\f2fe"; }
8672
+
8673
+ .fa-poo-storm:before {
8674
+ content: "\f75a"; }
8675
+
8676
+ .fa-poop:before {
8677
+ content: "\f619"; }
8678
+
8679
+ .fa-popcorn:before {
8680
+ content: "\f819"; }
8681
+
8682
+ .fa-portal-enter:before {
8683
+ content: "\e022"; }
8684
+
8685
+ .fa-portal-exit:before {
8686
+ content: "\e023"; }
8687
+
8688
+ .fa-portrait:before {
8689
+ content: "\f3e0"; }
8690
+
8691
+ .fa-pound-sign:before {
8692
+ content: "\f154"; }
8693
+
8694
+ .fa-power-off:before {
8695
+ content: "\f011"; }
8696
+
8697
+ .fa-pray:before {
8698
+ content: "\f683"; }
8699
+
8700
+ .fa-praying-hands:before {
8701
+ content: "\f684"; }
8702
+
8703
+ .fa-prescription:before {
8704
+ content: "\f5b1"; }
8705
+
8706
+ .fa-prescription-bottle:before {
8707
+ content: "\f485"; }
8708
+
8709
+ .fa-prescription-bottle-alt:before {
8710
+ content: "\f486"; }
8711
+
8712
+ .fa-presentation:before {
8713
+ content: "\f685"; }
8714
+
8715
+ .fa-print:before {
8716
+ content: "\f02f"; }
8717
+
8718
+ .fa-print-search:before {
8719
+ content: "\f81a"; }
8720
+
8721
+ .fa-print-slash:before {
8722
+ content: "\f686"; }
8723
+
8724
+ .fa-procedures:before {
8725
+ content: "\f487"; }
8726
+
8727
+ .fa-product-hunt:before {
8728
+ content: "\f288"; }
8729
+
8730
+ .fa-project-diagram:before {
8731
+ content: "\f542"; }
8732
+
8733
+ .fa-projector:before {
8734
+ content: "\f8d6"; }
8735
+
8736
+ .fa-pump-medical:before {
8737
+ content: "\e06a"; }
8738
+
8739
+ .fa-pump-soap:before {
8740
+ content: "\e06b"; }
8741
+
8742
+ .fa-pumpkin:before {
8743
+ content: "\f707"; }
8744
+
8745
+ .fa-pushed:before {
8746
+ content: "\f3e1"; }
8747
+
8748
+ .fa-puzzle-piece:before {
8749
+ content: "\f12e"; }
8750
+
8751
+ .fa-python:before {
8752
+ content: "\f3e2"; }
8753
+
8754
+ .fa-qq:before {
8755
+ content: "\f1d6"; }
8756
+
8757
+ .fa-qrcode:before {
8758
+ content: "\f029"; }
8759
+
8760
+ .fa-question:before {
8761
+ content: "\f128"; }
8762
+
8763
+ .fa-question-circle:before {
8764
+ content: "\f059"; }
8765
+
8766
+ .fa-question-square:before {
8767
+ content: "\f2fd"; }
8768
+
8769
+ .fa-quidditch:before {
8770
+ content: "\f458"; }
8771
+
8772
+ .fa-quinscape:before {
8773
+ content: "\f459"; }
8774
+
8775
+ .fa-quora:before {
8776
+ content: "\f2c4"; }
8777
+
8778
+ .fa-quote-left:before {
8779
+ content: "\f10d"; }
8780
+
8781
+ .fa-quote-right:before {
8782
+ content: "\f10e"; }
8783
+
8784
+ .fa-quran:before {
8785
+ content: "\f687"; }
8786
+
8787
+ .fa-r-project:before {
8788
+ content: "\f4f7"; }
8789
+
8790
+ .fa-rabbit:before {
8791
+ content: "\f708"; }
8792
+
8793
+ .fa-rabbit-fast:before {
8794
+ content: "\f709"; }
8795
+
8796
+ .fa-racquet:before {
8797
+ content: "\f45a"; }
8798
+
8799
+ .fa-radar:before {
8800
+ content: "\e024"; }
8801
+
8802
+ .fa-radiation:before {
8803
+ content: "\f7b9"; }
8804
+
8805
+ .fa-radiation-alt:before {
8806
+ content: "\f7ba"; }
8807
+
8808
+ .fa-radio:before {
8809
+ content: "\f8d7"; }
8810
+
8811
+ .fa-radio-alt:before {
8812
+ content: "\f8d8"; }
8813
+
8814
+ .fa-rainbow:before {
8815
+ content: "\f75b"; }
8816
+
8817
+ .fa-raindrops:before {
8818
+ content: "\f75c"; }
8819
+
8820
+ .fa-ram:before {
8821
+ content: "\f70a"; }
8822
+
8823
+ .fa-ramp-loading:before {
8824
+ content: "\f4d4"; }
8825
+
8826
+ .fa-random:before {
8827
+ content: "\f074"; }
8828
+
8829
+ .fa-raspberry-pi:before {
8830
+ content: "\f7bb"; }
8831
+
8832
+ .fa-ravelry:before {
8833
+ content: "\f2d9"; }
8834
+
8835
+ .fa-raygun:before {
8836
+ content: "\e025"; }
8837
+
8838
+ .fa-react:before {
8839
+ content: "\f41b"; }
8840
+
8841
+ .fa-reacteurope:before {
8842
+ content: "\f75d"; }
8843
+
8844
+ .fa-readme:before {
8845
+ content: "\f4d5"; }
8846
+
8847
+ .fa-rebel:before {
8848
+ content: "\f1d0"; }
8849
+
8850
+ .fa-receipt:before {
8851
+ content: "\f543"; }
8852
+
8853
+ .fa-record-vinyl:before {
8854
+ content: "\f8d9"; }
8855
+
8856
+ .fa-rectangle-landscape:before {
8857
+ content: "\f2fa"; }
8858
+
8859
+ .fa-rectangle-portrait:before {
8860
+ content: "\f2fb"; }
8861
+
8862
+ .fa-rectangle-wide:before {
8863
+ content: "\f2fc"; }
8864
+
8865
+ .fa-recycle:before {
8866
+ content: "\f1b8"; }
8867
+
8868
+ .fa-red-river:before {
8869
+ content: "\f3e3"; }
8870
+
8871
+ .fa-reddit:before {
8872
+ content: "\f1a1"; }
8873
+
8874
+ .fa-reddit-alien:before {
8875
+ content: "\f281"; }
8876
+
8877
+ .fa-reddit-square:before {
8878
+ content: "\f1a2"; }
8879
+
8880
+ .fa-redhat:before {
8881
+ content: "\f7bc"; }
8882
+
8883
+ .fa-redo:before {
8884
+ content: "\f01e"; }
8885
+
8886
+ .fa-redo-alt:before {
8887
+ content: "\f2f9"; }
8888
+
8889
+ .fa-refrigerator:before {
8890
+ content: "\e026"; }
8891
+
8892
+ .fa-registered:before {
8893
+ content: "\f25d"; }
8894
+
8895
+ .fa-remove-format:before {
8896
+ content: "\f87d"; }
8897
+
8898
+ .fa-renren:before {
8899
+ content: "\f18b"; }
8900
+
8901
+ .fa-repeat:before {
8902
+ content: "\f363"; }
8903
+
8904
+ .fa-repeat-1:before {
8905
+ content: "\f365"; }
8906
+
8907
+ .fa-repeat-1-alt:before {
8908
+ content: "\f366"; }
8909
+
8910
+ .fa-repeat-alt:before {
8911
+ content: "\f364"; }
8912
+
8913
+ .fa-reply:before {
8914
+ content: "\f3e5"; }
8915
+
8916
+ .fa-reply-all:before {
8917
+ content: "\f122"; }
8918
+
8919
+ .fa-replyd:before {
8920
+ content: "\f3e6"; }
8921
+
8922
+ .fa-republican:before {
8923
+ content: "\f75e"; }
8924
+
8925
+ .fa-researchgate:before {
8926
+ content: "\f4f8"; }
8927
+
8928
+ .fa-resolving:before {
8929
+ content: "\f3e7"; }
8930
+
8931
+ .fa-restroom:before {
8932
+ content: "\f7bd"; }
8933
+
8934
+ .fa-retweet:before {
8935
+ content: "\f079"; }
8936
+
8937
+ .fa-retweet-alt:before {
8938
+ content: "\f361"; }
8939
+
8940
+ .fa-rev:before {
8941
+ content: "\f5b2"; }
8942
+
8943
+ .fa-ribbon:before {
8944
+ content: "\f4d6"; }
8945
+
8946
+ .fa-ring:before {
8947
+ content: "\f70b"; }
8948
+
8949
+ .fa-rings-wedding:before {
8950
+ content: "\f81b"; }
8951
+
8952
+ .fa-road:before {
8953
+ content: "\f018"; }
8954
+
8955
+ .fa-robot:before {
8956
+ content: "\f544"; }
8957
+
8958
+ .fa-rocket:before {
8959
+ content: "\f135"; }
8960
+
8961
+ .fa-rocket-launch:before {
8962
+ content: "\e027"; }
8963
+
8964
+ .fa-rocketchat:before {
8965
+ content: "\f3e8"; }
8966
+
8967
+ .fa-rockrms:before {
8968
+ content: "\f3e9"; }
8969
+
8970
+ .fa-route:before {
8971
+ content: "\f4d7"; }
8972
+
8973
+ .fa-route-highway:before {
8974
+ content: "\f61a"; }
8975
+
8976
+ .fa-route-interstate:before {
8977
+ content: "\f61b"; }
8978
+
8979
+ .fa-router:before {
8980
+ content: "\f8da"; }
8981
+
8982
+ .fa-rss:before {
8983
+ content: "\f09e"; }
8984
+
8985
+ .fa-rss-square:before {
8986
+ content: "\f143"; }
8987
+
8988
+ .fa-ruble-sign:before {
8989
+ content: "\f158"; }
8990
+
8991
+ .fa-ruler:before {
8992
+ content: "\f545"; }
8993
+
8994
+ .fa-ruler-combined:before {
8995
+ content: "\f546"; }
8996
+
8997
+ .fa-ruler-horizontal:before {
8998
+ content: "\f547"; }
8999
+
9000
+ .fa-ruler-triangle:before {
9001
+ content: "\f61c"; }
9002
+
9003
+ .fa-ruler-vertical:before {
9004
+ content: "\f548"; }
9005
+
9006
+ .fa-running:before {
9007
+ content: "\f70c"; }
9008
+
9009
+ .fa-rupee-sign:before {
9010
+ content: "\f156"; }
9011
+
9012
+ .fa-rust:before {
9013
+ content: "\e07a"; }
9014
+
9015
+ .fa-rv:before {
9016
+ content: "\f7be"; }
9017
+
9018
+ .fa-sack:before {
9019
+ content: "\f81c"; }
9020
+
9021
+ .fa-sack-dollar:before {
9022
+ content: "\f81d"; }
9023
+
9024
+ .fa-sad-cry:before {
9025
+ content: "\f5b3"; }
9026
+
9027
+ .fa-sad-tear:before {
9028
+ content: "\f5b4"; }
9029
+
9030
+ .fa-safari:before {
9031
+ content: "\f267"; }
9032
+
9033
+ .fa-salad:before {
9034
+ content: "\f81e"; }
9035
+
9036
+ .fa-salesforce:before {
9037
+ content: "\f83b"; }
9038
+
9039
+ .fa-sandwich:before {
9040
+ content: "\f81f"; }
9041
+
9042
+ .fa-sass:before {
9043
+ content: "\f41e"; }
9044
+
9045
+ .fa-satellite:before {
9046
+ content: "\f7bf"; }
9047
+
9048
+ .fa-satellite-dish:before {
9049
+ content: "\f7c0"; }
9050
+
9051
+ .fa-sausage:before {
9052
+ content: "\f820"; }
9053
+
9054
+ .fa-save:before {
9055
+ content: "\f0c7"; }
9056
+
9057
+ .fa-sax-hot:before {
9058
+ content: "\f8db"; }
9059
+
9060
+ .fa-saxophone:before {
9061
+ content: "\f8dc"; }
9062
+
9063
+ .fa-scalpel:before {
9064
+ content: "\f61d"; }
9065
+
9066
+ .fa-scalpel-path:before {
9067
+ content: "\f61e"; }
9068
+
9069
+ .fa-scanner:before {
9070
+ content: "\f488"; }
9071
+
9072
+ .fa-scanner-image:before {
9073
+ content: "\f8f3"; }
9074
+
9075
+ .fa-scanner-keyboard:before {
9076
+ content: "\f489"; }
9077
+
9078
+ .fa-scanner-touchscreen:before {
9079
+ content: "\f48a"; }
9080
+
9081
+ .fa-scarecrow:before {
9082
+ content: "\f70d"; }
9083
+
9084
+ .fa-scarf:before {
9085
+ content: "\f7c1"; }
9086
+
9087
+ .fa-schlix:before {
9088
+ content: "\f3ea"; }
9089
+
9090
+ .fa-school:before {
9091
+ content: "\f549"; }
9092
+
9093
+ .fa-screwdriver:before {
9094
+ content: "\f54a"; }
9095
+
9096
+ .fa-scribd:before {
9097
+ content: "\f28a"; }
9098
+
9099
+ .fa-scroll:before {
9100
+ content: "\f70e"; }
9101
+
9102
+ .fa-scroll-old:before {
9103
+ content: "\f70f"; }
9104
+
9105
+ .fa-scrubber:before {
9106
+ content: "\f2f8"; }
9107
+
9108
+ .fa-scythe:before {
9109
+ content: "\f710"; }
9110
+
9111
+ .fa-sd-card:before {
9112
+ content: "\f7c2"; }
9113
+
9114
+ .fa-search:before {
9115
+ content: "\f002"; }
9116
+
9117
+ .fa-search-dollar:before {
9118
+ content: "\f688"; }
9119
+
9120
+ .fa-search-location:before {
9121
+ content: "\f689"; }
9122
+
9123
+ .fa-search-minus:before {
9124
+ content: "\f010"; }
9125
+
9126
+ .fa-search-plus:before {
9127
+ content: "\f00e"; }
9128
+
9129
+ .fa-searchengin:before {
9130
+ content: "\f3eb"; }
9131
+
9132
+ .fa-seedling:before {
9133
+ content: "\f4d8"; }
9134
+
9135
+ .fa-sellcast:before {
9136
+ content: "\f2da"; }
9137
+
9138
+ .fa-sellsy:before {
9139
+ content: "\f213"; }
9140
+
9141
+ .fa-send-back:before {
9142
+ content: "\f87e"; }
9143
+
9144
+ .fa-send-backward:before {
9145
+ content: "\f87f"; }
9146
+
9147
+ .fa-sensor:before {
9148
+ content: "\e028"; }
9149
+
9150
+ .fa-sensor-alert:before {
9151
+ content: "\e029"; }
9152
+
9153
+ .fa-sensor-fire:before {
9154
+ content: "\e02a"; }
9155
+
9156
+ .fa-sensor-on:before {
9157
+ content: "\e02b"; }
9158
+
9159
+ .fa-sensor-smoke:before {
9160
+ content: "\e02c"; }
9161
+
9162
+ .fa-server:before {
9163
+ content: "\f233"; }
9164
+
9165
+ .fa-servicestack:before {
9166
+ content: "\f3ec"; }
9167
+
9168
+ .fa-shapes:before {
9169
+ content: "\f61f"; }
9170
+
9171
+ .fa-share:before {
9172
+ content: "\f064"; }
9173
+
9174
+ .fa-share-all:before {
9175
+ content: "\f367"; }
9176
+
9177
+ .fa-share-alt:before {
9178
+ content: "\f1e0"; }
9179
+
9180
+ .fa-share-alt-square:before {
9181
+ content: "\f1e1"; }
9182
+
9183
+ .fa-share-square:before {
9184
+ content: "\f14d"; }
9185
+
9186
+ .fa-sheep:before {
9187
+ content: "\f711"; }
9188
+
9189
+ .fa-shekel-sign:before {
9190
+ content: "\f20b"; }
9191
+
9192
+ .fa-shield:before {
9193
+ content: "\f132"; }
9194
+
9195
+ .fa-shield-alt:before {
9196
+ content: "\f3ed"; }
9197
+
9198
+ .fa-shield-check:before {
9199
+ content: "\f2f7"; }
9200
+
9201
+ .fa-shield-cross:before {
9202
+ content: "\f712"; }
9203
+
9204
+ .fa-shield-virus:before {
9205
+ content: "\e06c"; }
9206
+
9207
+ .fa-ship:before {
9208
+ content: "\f21a"; }
9209
+
9210
+ .fa-shipping-fast:before {
9211
+ content: "\f48b"; }
9212
+
9213
+ .fa-shipping-timed:before {
9214
+ content: "\f48c"; }
9215
+
9216
+ .fa-shirtsinbulk:before {
9217
+ content: "\f214"; }
9218
+
9219
+ .fa-shish-kebab:before {
9220
+ content: "\f821"; }
9221
+
9222
+ .fa-shoe-prints:before {
9223
+ content: "\f54b"; }
9224
+
9225
+ .fa-shopify:before {
9226
+ content: "\e057"; }
9227
+
9228
+ .fa-shopping-bag:before {
9229
+ content: "\f290"; }
9230
+
9231
+ .fa-shopping-basket:before {
9232
+ content: "\f291"; }
9233
+
9234
+ .fa-shopping-cart:before {
9235
+ content: "\f07a"; }
9236
+
9237
+ .fa-shopware:before {
9238
+ content: "\f5b5"; }
9239
+
9240
+ .fa-shovel:before {
9241
+ content: "\f713"; }
9242
+
9243
+ .fa-shovel-snow:before {
9244
+ content: "\f7c3"; }
9245
+
9246
+ .fa-shower:before {
9247
+ content: "\f2cc"; }
9248
+
9249
+ .fa-shredder:before {
9250
+ content: "\f68a"; }
9251
+
9252
+ .fa-shuttle-van:before {
9253
+ content: "\f5b6"; }
9254
+
9255
+ .fa-shuttlecock:before {
9256
+ content: "\f45b"; }
9257
+
9258
+ .fa-sickle:before {
9259
+ content: "\f822"; }
9260
+
9261
+ .fa-sigma:before {
9262
+ content: "\f68b"; }
9263
+
9264
+ .fa-sign:before {
9265
+ content: "\f4d9"; }
9266
+
9267
+ .fa-sign-in:before {
9268
+ content: "\f090"; }
9269
+
9270
+ .fa-sign-in-alt:before {
9271
+ content: "\f2f6"; }
9272
+
9273
+ .fa-sign-language:before {
9274
+ content: "\f2a7"; }
9275
+
9276
+ .fa-sign-out:before {
9277
+ content: "\f08b"; }
9278
+
9279
+ .fa-sign-out-alt:before {
9280
+ content: "\f2f5"; }
9281
+
9282
+ .fa-signal:before {
9283
+ content: "\f012"; }
9284
+
9285
+ .fa-signal-1:before {
9286
+ content: "\f68c"; }
9287
+
9288
+ .fa-signal-2:before {
9289
+ content: "\f68d"; }
9290
+
9291
+ .fa-signal-3:before {
9292
+ content: "\f68e"; }
9293
+
9294
+ .fa-signal-4:before {
9295
+ content: "\f68f"; }
9296
+
9297
+ .fa-signal-alt:before {
9298
+ content: "\f690"; }
9299
+
9300
+ .fa-signal-alt-1:before {
9301
+ content: "\f691"; }
9302
+
9303
+ .fa-signal-alt-2:before {
9304
+ content: "\f692"; }
9305
+
9306
+ .fa-signal-alt-3:before {
9307
+ content: "\f693"; }
9308
+
9309
+ .fa-signal-alt-slash:before {
9310
+ content: "\f694"; }
9311
+
9312
+ .fa-signal-slash:before {
9313
+ content: "\f695"; }
9314
+
9315
+ .fa-signal-stream:before {
9316
+ content: "\f8dd"; }
9317
+
9318
+ .fa-signature:before {
9319
+ content: "\f5b7"; }
9320
+
9321
+ .fa-sim-card:before {
9322
+ content: "\f7c4"; }
9323
+
9324
+ .fa-simplybuilt:before {
9325
+ content: "\f215"; }
9326
+
9327
+ .fa-sink:before {
9328
+ content: "\e06d"; }
9329
+
9330
+ .fa-siren:before {
9331
+ content: "\e02d"; }
9332
+
9333
+ .fa-siren-on:before {
9334
+ content: "\e02e"; }
9335
+
9336
+ .fa-sistrix:before {
9337
+ content: "\f3ee"; }
9338
+
9339
+ .fa-sitemap:before {
9340
+ content: "\f0e8"; }
9341
+
9342
+ .fa-sith:before {
9343
+ content: "\f512"; }
9344
+
9345
+ .fa-skating:before {
9346
+ content: "\f7c5"; }
9347
+
9348
+ .fa-skeleton:before {
9349
+ content: "\f620"; }
9350
+
9351
+ .fa-sketch:before {
9352
+ content: "\f7c6"; }
9353
+
9354
+ .fa-ski-jump:before {
9355
+ content: "\f7c7"; }
9356
+
9357
+ .fa-ski-lift:before {
9358
+ content: "\f7c8"; }
9359
+
9360
+ .fa-skiing:before {
9361
+ content: "\f7c9"; }
9362
+
9363
+ .fa-skiing-nordic:before {
9364
+ content: "\f7ca"; }
9365
+
9366
+ .fa-skull:before {
9367
+ content: "\f54c"; }
9368
+
9369
+ .fa-skull-cow:before {
9370
+ content: "\f8de"; }
9371
+
9372
+ .fa-skull-crossbones:before {
9373
+ content: "\f714"; }
9374
+
9375
+ .fa-skyatlas:before {
9376
+ content: "\f216"; }
9377
+
9378
+ .fa-skype:before {
9379
+ content: "\f17e"; }
9380
+
9381
+ .fa-slack:before {
9382
+ content: "\f198"; }
9383
+
9384
+ .fa-slack-hash:before {
9385
+ content: "\f3ef"; }
9386
+
9387
+ .fa-slash:before {
9388
+ content: "\f715"; }
9389
+
9390
+ .fa-sledding:before {
9391
+ content: "\f7cb"; }
9392
+
9393
+ .fa-sleigh:before {
9394
+ content: "\f7cc"; }
9395
+
9396
+ .fa-sliders-h:before {
9397
+ content: "\f1de"; }
9398
+
9399
+ .fa-sliders-h-square:before {
9400
+ content: "\f3f0"; }
9401
+
9402
+ .fa-sliders-v:before {
9403
+ content: "\f3f1"; }
9404
+
9405
+ .fa-sliders-v-square:before {
9406
+ content: "\f3f2"; }
9407
+
9408
+ .fa-slideshare:before {
9409
+ content: "\f1e7"; }
9410
+
9411
+ .fa-smile:before {
9412
+ content: "\f118"; }
9413
+
9414
+ .fa-smile-beam:before {
9415
+ content: "\f5b8"; }
9416
+
9417
+ .fa-smile-plus:before {
9418
+ content: "\f5b9"; }
9419
+
9420
+ .fa-smile-wink:before {
9421
+ content: "\f4da"; }
9422
+
9423
+ .fa-smog:before {
9424
+ content: "\f75f"; }
9425
+
9426
+ .fa-smoke:before {
9427
+ content: "\f760"; }
9428
+
9429
+ .fa-smoking:before {
9430
+ content: "\f48d"; }
9431
+
9432
+ .fa-smoking-ban:before {
9433
+ content: "\f54d"; }
9434
+
9435
+ .fa-sms:before {
9436
+ content: "\f7cd"; }
9437
+
9438
+ .fa-snake:before {
9439
+ content: "\f716"; }
9440
+
9441
+ .fa-snapchat:before {
9442
+ content: "\f2ab"; }
9443
+
9444
+ .fa-snapchat-ghost:before {
9445
+ content: "\f2ac"; }
9446
+
9447
+ .fa-snapchat-square:before {
9448
+ content: "\f2ad"; }
9449
+
9450
+ .fa-snooze:before {
9451
+ content: "\f880"; }
9452
+
9453
+ .fa-snow-blowing:before {
9454
+ content: "\f761"; }
9455
+
9456
+ .fa-snowboarding:before {
9457
+ content: "\f7ce"; }
9458
+
9459
+ .fa-snowflake:before {
9460
+ content: "\f2dc"; }
9461
+
9462
+ .fa-snowflakes:before {
9463
+ content: "\f7cf"; }
9464
+
9465
+ .fa-snowman:before {
9466
+ content: "\f7d0"; }
9467
+
9468
+ .fa-snowmobile:before {
9469
+ content: "\f7d1"; }
9470
+
9471
+ .fa-snowplow:before {
9472
+ content: "\f7d2"; }
9473
+
9474
+ .fa-soap:before {
9475
+ content: "\e06e"; }
9476
+
9477
+ .fa-socks:before {
9478
+ content: "\f696"; }
9479
+
9480
+ .fa-solar-panel:before {
9481
+ content: "\f5ba"; }
9482
+
9483
+ .fa-solar-system:before {
9484
+ content: "\e02f"; }
9485
+
9486
+ .fa-sort:before {
9487
+ content: "\f0dc"; }
9488
+
9489
+ .fa-sort-alpha-down:before {
9490
+ content: "\f15d"; }
9491
+
9492
+ .fa-sort-alpha-down-alt:before {
9493
+ content: "\f881"; }
9494
+
9495
+ .fa-sort-alpha-up:before {
9496
+ content: "\f15e"; }
9497
+
9498
+ .fa-sort-alpha-up-alt:before {
9499
+ content: "\f882"; }
9500
+
9501
+ .fa-sort-alt:before {
9502
+ content: "\f883"; }
9503
+
9504
+ .fa-sort-amount-down:before {
9505
+ content: "\f160"; }
9506
+
9507
+ .fa-sort-amount-down-alt:before {
9508
+ content: "\f884"; }
9509
+
9510
+ .fa-sort-amount-up:before {
9511
+ content: "\f161"; }
9512
+
9513
+ .fa-sort-amount-up-alt:before {
9514
+ content: "\f885"; }
9515
+
9516
+ .fa-sort-circle:before {
9517
+ content: "\e030"; }
9518
+
9519
+ .fa-sort-circle-down:before {
9520
+ content: "\e031"; }
9521
+
9522
+ .fa-sort-circle-up:before {
9523
+ content: "\e032"; }
9524
+
9525
+ .fa-sort-down:before {
9526
+ content: "\f0dd"; }
9527
+
9528
+ .fa-sort-numeric-down:before {
9529
+ content: "\f162"; }
9530
+
9531
+ .fa-sort-numeric-down-alt:before {
9532
+ content: "\f886"; }
9533
+
9534
+ .fa-sort-numeric-up:before {
9535
+ content: "\f163"; }
9536
+
9537
+ .fa-sort-numeric-up-alt:before {
9538
+ content: "\f887"; }
9539
+
9540
+ .fa-sort-shapes-down:before {
9541
+ content: "\f888"; }
9542
+
9543
+ .fa-sort-shapes-down-alt:before {
9544
+ content: "\f889"; }
9545
+
9546
+ .fa-sort-shapes-up:before {
9547
+ content: "\f88a"; }
9548
+
9549
+ .fa-sort-shapes-up-alt:before {
9550
+ content: "\f88b"; }
9551
+
9552
+ .fa-sort-size-down:before {
9553
+ content: "\f88c"; }
9554
+
9555
+ .fa-sort-size-down-alt:before {
9556
+ content: "\f88d"; }
9557
+
9558
+ .fa-sort-size-up:before {
9559
+ content: "\f88e"; }
9560
+
9561
+ .fa-sort-size-up-alt:before {
9562
+ content: "\f88f"; }
9563
+
9564
+ .fa-sort-up:before {
9565
+ content: "\f0de"; }
9566
+
9567
+ .fa-soundcloud:before {
9568
+ content: "\f1be"; }
9569
+
9570
+ .fa-soup:before {
9571
+ content: "\f823"; }
9572
+
9573
+ .fa-sourcetree:before {
9574
+ content: "\f7d3"; }
9575
+
9576
+ .fa-spa:before {
9577
+ content: "\f5bb"; }
9578
+
9579
+ .fa-space-shuttle:before {
9580
+ content: "\f197"; }
9581
+
9582
+ .fa-space-station-moon:before {
9583
+ content: "\e033"; }
9584
+
9585
+ .fa-space-station-moon-alt:before {
9586
+ content: "\e034"; }
9587
+
9588
+ .fa-spade:before {
9589
+ content: "\f2f4"; }
9590
+
9591
+ .fa-sparkles:before {
9592
+ content: "\f890"; }
9593
+
9594
+ .fa-speakap:before {
9595
+ content: "\f3f3"; }
9596
+
9597
+ .fa-speaker:before {
9598
+ content: "\f8df"; }
9599
+
9600
+ .fa-speaker-deck:before {
9601
+ content: "\f83c"; }
9602
+
9603
+ .fa-speakers:before {
9604
+ content: "\f8e0"; }
9605
+
9606
+ .fa-spell-check:before {
9607
+ content: "\f891"; }
9608
+
9609
+ .fa-spider:before {
9610
+ content: "\f717"; }
9611
+
9612
+ .fa-spider-black-widow:before {
9613
+ content: "\f718"; }
9614
+
9615
+ .fa-spider-web:before {
9616
+ content: "\f719"; }
9617
+
9618
+ .fa-spinner:before {
9619
+ content: "\f110"; }
9620
+
9621
+ .fa-spinner-third:before {
9622
+ content: "\f3f4"; }
9623
+
9624
+ .fa-splotch:before {
9625
+ content: "\f5bc"; }
9626
+
9627
+ .fa-spotify:before {
9628
+ content: "\f1bc"; }
9629
+
9630
+ .fa-spray-can:before {
9631
+ content: "\f5bd"; }
9632
+
9633
+ .fa-sprinkler:before {
9634
+ content: "\e035"; }
9635
+
9636
+ .fa-square:before {
9637
+ content: "\f0c8"; }
9638
+
9639
+ .fa-square-full:before {
9640
+ content: "\f45c"; }
9641
+
9642
+ .fa-square-root:before {
9643
+ content: "\f697"; }
9644
+
9645
+ .fa-square-root-alt:before {
9646
+ content: "\f698"; }
9647
+
9648
+ .fa-squarespace:before {
9649
+ content: "\f5be"; }
9650
+
9651
+ .fa-squirrel:before {
9652
+ content: "\f71a"; }
9653
+
9654
+ .fa-stack-exchange:before {
9655
+ content: "\f18d"; }
9656
+
9657
+ .fa-stack-overflow:before {
9658
+ content: "\f16c"; }
9659
+
9660
+ .fa-stackpath:before {
9661
+ content: "\f842"; }
9662
+
9663
+ .fa-staff:before {
9664
+ content: "\f71b"; }
9665
+
9666
+ .fa-stamp:before {
9667
+ content: "\f5bf"; }
9668
+
9669
+ .fa-star:before {
9670
+ content: "\f005"; }
9671
+
9672
+ .fa-star-and-crescent:before {
9673
+ content: "\f699"; }
9674
+
9675
+ .fa-star-christmas:before {
9676
+ content: "\f7d4"; }
9677
+
9678
+ .fa-star-exclamation:before {
9679
+ content: "\f2f3"; }
9680
+
9681
+ .fa-star-half:before {
9682
+ content: "\f089"; }
9683
+
9684
+ .fa-star-half-alt:before {
9685
+ content: "\f5c0"; }
9686
+
9687
+ .fa-star-of-david:before {
9688
+ content: "\f69a"; }
9689
+
9690
+ .fa-star-of-life:before {
9691
+ content: "\f621"; }
9692
+
9693
+ .fa-star-shooting:before {
9694
+ content: "\e036"; }
9695
+
9696
+ .fa-starfighter:before {
9697
+ content: "\e037"; }
9698
+
9699
+ .fa-starfighter-alt:before {
9700
+ content: "\e038"; }
9701
+
9702
+ .fa-stars:before {
9703
+ content: "\f762"; }
9704
+
9705
+ .fa-starship:before {
9706
+ content: "\e039"; }
9707
+
9708
+ .fa-starship-freighter:before {
9709
+ content: "\e03a"; }
9710
+
9711
+ .fa-staylinked:before {
9712
+ content: "\f3f5"; }
9713
+
9714
+ .fa-steak:before {
9715
+ content: "\f824"; }
9716
+
9717
+ .fa-steam:before {
9718
+ content: "\f1b6"; }
9719
+
9720
+ .fa-steam-square:before {
9721
+ content: "\f1b7"; }
9722
+
9723
+ .fa-steam-symbol:before {
9724
+ content: "\f3f6"; }
9725
+
9726
+ .fa-steering-wheel:before {
9727
+ content: "\f622"; }
9728
+
9729
+ .fa-step-backward:before {
9730
+ content: "\f048"; }
9731
+
9732
+ .fa-step-forward:before {
9733
+ content: "\f051"; }
9734
+
9735
+ .fa-stethoscope:before {
9736
+ content: "\f0f1"; }
9737
+
9738
+ .fa-sticker-mule:before {
9739
+ content: "\f3f7"; }
9740
+
9741
+ .fa-sticky-note:before {
9742
+ content: "\f249"; }
9743
+
9744
+ .fa-stocking:before {
9745
+ content: "\f7d5"; }
9746
+
9747
+ .fa-stomach:before {
9748
+ content: "\f623"; }
9749
+
9750
+ .fa-stop:before {
9751
+ content: "\f04d"; }
9752
+
9753
+ .fa-stop-circle:before {
9754
+ content: "\f28d"; }
9755
+
9756
+ .fa-stopwatch:before {
9757
+ content: "\f2f2"; }
9758
+
9759
+ .fa-stopwatch-20:before {
9760
+ content: "\e06f"; }
9761
+
9762
+ .fa-store:before {
9763
+ content: "\f54e"; }
9764
+
9765
+ .fa-store-alt:before {
9766
+ content: "\f54f"; }
9767
+
9768
+ .fa-store-alt-slash:before {
9769
+ content: "\e070"; }
9770
+
9771
+ .fa-store-slash:before {
9772
+ content: "\e071"; }
9773
+
9774
+ .fa-strava:before {
9775
+ content: "\f428"; }
9776
+
9777
+ .fa-stream:before {
9778
+ content: "\f550"; }
9779
+
9780
+ .fa-street-view:before {
9781
+ content: "\f21d"; }
9782
+
9783
+ .fa-stretcher:before {
9784
+ content: "\f825"; }
9785
+
9786
+ .fa-strikethrough:before {
9787
+ content: "\f0cc"; }
9788
+
9789
+ .fa-stripe:before {
9790
+ content: "\f429"; }
9791
+
9792
+ .fa-stripe-s:before {
9793
+ content: "\f42a"; }
9794
+
9795
+ .fa-stroopwafel:before {
9796
+ content: "\f551"; }
9797
+
9798
+ .fa-studiovinari:before {
9799
+ content: "\f3f8"; }
9800
+
9801
+ .fa-stumbleupon:before {
9802
+ content: "\f1a4"; }
9803
+
9804
+ .fa-stumbleupon-circle:before {
9805
+ content: "\f1a3"; }
9806
+
9807
+ .fa-subscript:before {
9808
+ content: "\f12c"; }
9809
+
9810
+ .fa-subway:before {
9811
+ content: "\f239"; }
9812
+
9813
+ .fa-suitcase:before {
9814
+ content: "\f0f2"; }
9815
+
9816
+ .fa-suitcase-rolling:before {
9817
+ content: "\f5c1"; }
9818
+
9819
+ .fa-sun:before {
9820
+ content: "\f185"; }
9821
+
9822
+ .fa-sun-cloud:before {
9823
+ content: "\f763"; }
9824
+
9825
+ .fa-sun-dust:before {
9826
+ content: "\f764"; }
9827
+
9828
+ .fa-sun-haze:before {
9829
+ content: "\f765"; }
9830
+
9831
+ .fa-sunglasses:before {
9832
+ content: "\f892"; }
9833
+
9834
+ .fa-sunrise:before {
9835
+ content: "\f766"; }
9836
+
9837
+ .fa-sunset:before {
9838
+ content: "\f767"; }
9839
+
9840
+ .fa-superpowers:before {
9841
+ content: "\f2dd"; }
9842
+
9843
+ .fa-superscript:before {
9844
+ content: "\f12b"; }
9845
+
9846
+ .fa-supple:before {
9847
+ content: "\f3f9"; }
9848
+
9849
+ .fa-surprise:before {
9850
+ content: "\f5c2"; }
9851
+
9852
+ .fa-suse:before {
9853
+ content: "\f7d6"; }
9854
+
9855
+ .fa-swatchbook:before {
9856
+ content: "\f5c3"; }
9857
+
9858
+ .fa-swift:before {
9859
+ content: "\f8e1"; }
9860
+
9861
+ .fa-swimmer:before {
9862
+ content: "\f5c4"; }
9863
+
9864
+ .fa-swimming-pool:before {
9865
+ content: "\f5c5"; }
9866
+
9867
+ .fa-sword:before {
9868
+ content: "\f71c"; }
9869
+
9870
+ .fa-sword-laser:before {
9871
+ content: "\e03b"; }
9872
+
9873
+ .fa-sword-laser-alt:before {
9874
+ content: "\e03c"; }
9875
+
9876
+ .fa-swords:before {
9877
+ content: "\f71d"; }
9878
+
9879
+ .fa-swords-laser:before {
9880
+ content: "\e03d"; }
9881
+
9882
+ .fa-symfony:before {
9883
+ content: "\f83d"; }
9884
+
9885
+ .fa-synagogue:before {
9886
+ content: "\f69b"; }
9887
+
9888
+ .fa-sync:before {
9889
+ content: "\f021"; }
9890
+
9891
+ .fa-sync-alt:before {
9892
+ content: "\f2f1"; }
9893
+
9894
+ .fa-syringe:before {
9895
+ content: "\f48e"; }
9896
+
9897
+ .fa-table:before {
9898
+ content: "\f0ce"; }
9899
+
9900
+ .fa-table-tennis:before {
9901
+ content: "\f45d"; }
9902
+
9903
+ .fa-tablet:before {
9904
+ content: "\f10a"; }
9905
+
9906
+ .fa-tablet-alt:before {
9907
+ content: "\f3fa"; }
9908
+
9909
+ .fa-tablet-android:before {
9910
+ content: "\f3fb"; }
9911
+
9912
+ .fa-tablet-android-alt:before {
9913
+ content: "\f3fc"; }
9914
+
9915
+ .fa-tablet-rugged:before {
9916
+ content: "\f48f"; }
9917
+
9918
+ .fa-tablets:before {
9919
+ content: "\f490"; }
9920
+
9921
+ .fa-tachometer:before {
9922
+ content: "\f0e4"; }
9923
+
9924
+ .fa-tachometer-alt:before {
9925
+ content: "\f3fd"; }
9926
+
9927
+ .fa-tachometer-alt-average:before {
9928
+ content: "\f624"; }
9929
+
9930
+ .fa-tachometer-alt-fast:before {
9931
+ content: "\f625"; }
9932
+
9933
+ .fa-tachometer-alt-fastest:before {
9934
+ content: "\f626"; }
9935
+
9936
+ .fa-tachometer-alt-slow:before {
9937
+ content: "\f627"; }
9938
+
9939
+ .fa-tachometer-alt-slowest:before {
9940
+ content: "\f628"; }
9941
+
9942
+ .fa-tachometer-average:before {
9943
+ content: "\f629"; }
9944
+
9945
+ .fa-tachometer-fast:before {
9946
+ content: "\f62a"; }
9947
+
9948
+ .fa-tachometer-fastest:before {
9949
+ content: "\f62b"; }
9950
+
9951
+ .fa-tachometer-slow:before {
9952
+ content: "\f62c"; }
9953
+
9954
+ .fa-tachometer-slowest:before {
9955
+ content: "\f62d"; }
9956
+
9957
+ .fa-taco:before {
9958
+ content: "\f826"; }
9959
+
9960
+ .fa-tag:before {
9961
+ content: "\f02b"; }
9962
+
9963
+ .fa-tags:before {
9964
+ content: "\f02c"; }
9965
+
9966
+ .fa-tally:before {
9967
+ content: "\f69c"; }
9968
+
9969
+ .fa-tanakh:before {
9970
+ content: "\f827"; }
9971
+
9972
+ .fa-tape:before {
9973
+ content: "\f4db"; }
9974
+
9975
+ .fa-tasks:before {
9976
+ content: "\f0ae"; }
9977
+
9978
+ .fa-tasks-alt:before {
9979
+ content: "\f828"; }
9980
+
9981
+ .fa-taxi:before {
9982
+ content: "\f1ba"; }
9983
+
9984
+ .fa-teamspeak:before {
9985
+ content: "\f4f9"; }
9986
+
9987
+ .fa-teeth:before {
9988
+ content: "\f62e"; }
9989
+
9990
+ .fa-teeth-open:before {
9991
+ content: "\f62f"; }
9992
+
9993
+ .fa-telegram:before {
9994
+ content: "\f2c6"; }
9995
+
9996
+ .fa-telegram-plane:before {
9997
+ content: "\f3fe"; }
9998
+
9999
+ .fa-telescope:before {
10000
+ content: "\e03e"; }
10001
+
10002
+ .fa-temperature-down:before {
10003
+ content: "\e03f"; }
10004
+
10005
+ .fa-temperature-frigid:before {
10006
+ content: "\f768"; }
10007
+
10008
+ .fa-temperature-high:before {
10009
+ content: "\f769"; }
10010
+
10011
+ .fa-temperature-hot:before {
10012
+ content: "\f76a"; }
10013
+
10014
+ .fa-temperature-low:before {
10015
+ content: "\f76b"; }
10016
+
10017
+ .fa-temperature-up:before {
10018
+ content: "\e040"; }
10019
+
10020
+ .fa-tencent-weibo:before {
10021
+ content: "\f1d5"; }
10022
+
10023
+ .fa-tenge:before {
10024
+ content: "\f7d7"; }
10025
+
10026
+ .fa-tennis-ball:before {
10027
+ content: "\f45e"; }
10028
+
10029
+ .fa-terminal:before {
10030
+ content: "\f120"; }
10031
+
10032
+ .fa-text:before {
10033
+ content: "\f893"; }
10034
+
10035
+ .fa-text-height:before {
10036
+ content: "\f034"; }
10037
+
10038
+ .fa-text-size:before {
10039
+ content: "\f894"; }
10040
+
10041
+ .fa-text-width:before {
10042
+ content: "\f035"; }
10043
+
10044
+ .fa-th:before {
10045
+ content: "\f00a"; }
10046
+
10047
+ .fa-th-large:before {
10048
+ content: "\f009"; }
10049
+
10050
+ .fa-th-list:before {
10051
+ content: "\f00b"; }
10052
+
10053
+ .fa-the-red-yeti:before {
10054
+ content: "\f69d"; }
10055
+
10056
+ .fa-theater-masks:before {
10057
+ content: "\f630"; }
10058
+
10059
+ .fa-themeco:before {
10060
+ content: "\f5c6"; }
10061
+
10062
+ .fa-themeisle:before {
10063
+ content: "\f2b2"; }
10064
+
10065
+ .fa-thermometer:before {
10066
+ content: "\f491"; }
10067
+
10068
+ .fa-thermometer-empty:before {
10069
+ content: "\f2cb"; }
10070
+
10071
+ .fa-thermometer-full:before {
10072
+ content: "\f2c7"; }
10073
+
10074
+ .fa-thermometer-half:before {
10075
+ content: "\f2c9"; }
10076
+
10077
+ .fa-thermometer-quarter:before {
10078
+ content: "\f2ca"; }
10079
+
10080
+ .fa-thermometer-three-quarters:before {
10081
+ content: "\f2c8"; }
10082
+
10083
+ .fa-theta:before {
10084
+ content: "\f69e"; }
10085
+
10086
+ .fa-think-peaks:before {
10087
+ content: "\f731"; }
10088
+
10089
+ .fa-thumbs-down:before {
10090
+ content: "\f165"; }
10091
+
10092
+ .fa-thumbs-up:before {
10093
+ content: "\f164"; }
10094
+
10095
+ .fa-thumbtack:before {
10096
+ content: "\f08d"; }
10097
+
10098
+ .fa-thunderstorm:before {
10099
+ content: "\f76c"; }
10100
+
10101
+ .fa-thunderstorm-moon:before {
10102
+ content: "\f76d"; }
10103
+
10104
+ .fa-thunderstorm-sun:before {
10105
+ content: "\f76e"; }
10106
+
10107
+ .fa-ticket:before {
10108
+ content: "\f145"; }
10109
+
10110
+ .fa-ticket-alt:before {
10111
+ content: "\f3ff"; }
10112
+
10113
+ .fa-tiktok:before {
10114
+ content: "\e07b"; }
10115
+
10116
+ .fa-tilde:before {
10117
+ content: "\f69f"; }
10118
+
10119
+ .fa-times:before {
10120
+ content: "\f00d"; }
10121
+
10122
+ .fa-times-circle:before {
10123
+ content: "\f057"; }
10124
+
10125
+ .fa-times-hexagon:before {
10126
+ content: "\f2ee"; }
10127
+
10128
+ .fa-times-octagon:before {
10129
+ content: "\f2f0"; }
10130
+
10131
+ .fa-times-square:before {
10132
+ content: "\f2d3"; }
10133
+
10134
+ .fa-tint:before {
10135
+ content: "\f043"; }
10136
+
10137
+ .fa-tint-slash:before {
10138
+ content: "\f5c7"; }
10139
+
10140
+ .fa-tire:before {
10141
+ content: "\f631"; }
10142
+
10143
+ .fa-tire-flat:before {
10144
+ content: "\f632"; }
10145
+
10146
+ .fa-tire-pressure-warning:before {
10147
+ content: "\f633"; }
10148
+
10149
+ .fa-tire-rugged:before {
10150
+ content: "\f634"; }
10151
+
10152
+ .fa-tired:before {
10153
+ content: "\f5c8"; }
10154
+
10155
+ .fa-toggle-off:before {
10156
+ content: "\f204"; }
10157
+
10158
+ .fa-toggle-on:before {
10159
+ content: "\f205"; }
10160
+
10161
+ .fa-toilet:before {
10162
+ content: "\f7d8"; }
10163
+
10164
+ .fa-toilet-paper:before {
10165
+ content: "\f71e"; }
10166
+
10167
+ .fa-toilet-paper-alt:before {
10168
+ content: "\f71f"; }
10169
+
10170
+ .fa-toilet-paper-slash:before {
10171
+ content: "\e072"; }
10172
+
10173
+ .fa-tombstone:before {
10174
+ content: "\f720"; }
10175
+
10176
+ .fa-tombstone-alt:before {
10177
+ content: "\f721"; }
10178
+
10179
+ .fa-toolbox:before {
10180
+ content: "\f552"; }
10181
+
10182
+ .fa-tools:before {
10183
+ content: "\f7d9"; }
10184
+
10185
+ .fa-tooth:before {
10186
+ content: "\f5c9"; }
10187
+
10188
+ .fa-toothbrush:before {
10189
+ content: "\f635"; }
10190
+
10191
+ .fa-torah:before {
10192
+ content: "\f6a0"; }
10193
+
10194
+ .fa-torii-gate:before {
10195
+ content: "\f6a1"; }
10196
+
10197
+ .fa-tornado:before {
10198
+ content: "\f76f"; }
10199
+
10200
+ .fa-tractor:before {
10201
+ content: "\f722"; }
10202
+
10203
+ .fa-trade-federation:before {
10204
+ content: "\f513"; }
10205
+
10206
+ .fa-trademark:before {
10207
+ content: "\f25c"; }
10208
+
10209
+ .fa-traffic-cone:before {
10210
+ content: "\f636"; }
10211
+
10212
+ .fa-traffic-light:before {
10213
+ content: "\f637"; }
10214
+
10215
+ .fa-traffic-light-go:before {
10216
+ content: "\f638"; }
10217
+
10218
+ .fa-traffic-light-slow:before {
10219
+ content: "\f639"; }
10220
+
10221
+ .fa-traffic-light-stop:before {
10222
+ content: "\f63a"; }
10223
+
10224
+ .fa-trailer:before {
10225
+ content: "\e041"; }
10226
+
10227
+ .fa-train:before {
10228
+ content: "\f238"; }
10229
+
10230
+ .fa-tram:before {
10231
+ content: "\f7da"; }
10232
+
10233
+ .fa-transgender:before {
10234
+ content: "\f224"; }
10235
+
10236
+ .fa-transgender-alt:before {
10237
+ content: "\f225"; }
10238
+
10239
+ .fa-transporter:before {
10240
+ content: "\e042"; }
10241
+
10242
+ .fa-transporter-1:before {
10243
+ content: "\e043"; }
10244
+
10245
+ .fa-transporter-2:before {
10246
+ content: "\e044"; }
10247
+
10248
+ .fa-transporter-3:before {
10249
+ content: "\e045"; }
10250
+
10251
+ .fa-transporter-empty:before {
10252
+ content: "\e046"; }
10253
+
10254
+ .fa-trash:before {
10255
+ content: "\f1f8"; }
10256
+
10257
+ .fa-trash-alt:before {
10258
+ content: "\f2ed"; }
10259
+
10260
+ .fa-trash-restore:before {
10261
+ content: "\f829"; }
10262
+
10263
+ .fa-trash-restore-alt:before {
10264
+ content: "\f82a"; }
10265
+
10266
+ .fa-trash-undo:before {
10267
+ content: "\f895"; }
10268
+
10269
+ .fa-trash-undo-alt:before {
10270
+ content: "\f896"; }
10271
+
10272
+ .fa-treasure-chest:before {
10273
+ content: "\f723"; }
10274
+
10275
+ .fa-tree:before {
10276
+ content: "\f1bb"; }
10277
+
10278
+ .fa-tree-alt:before {
10279
+ content: "\f400"; }
10280
+
10281
+ .fa-tree-christmas:before {
10282
+ content: "\f7db"; }
10283
+
10284
+ .fa-tree-decorated:before {
10285
+ content: "\f7dc"; }
10286
+
10287
+ .fa-tree-large:before {
10288
+ content: "\f7dd"; }
10289
+
10290
+ .fa-tree-palm:before {
10291
+ content: "\f82b"; }
10292
+
10293
+ .fa-trees:before {
10294
+ content: "\f724"; }
10295
+
10296
+ .fa-trello:before {
10297
+ content: "\f181"; }
10298
+
10299
+ .fa-triangle:before {
10300
+ content: "\f2ec"; }
10301
+
10302
+ .fa-triangle-music:before {
10303
+ content: "\f8e2"; }
10304
+
10305
+ .fa-trophy:before {
10306
+ content: "\f091"; }
10307
+
10308
+ .fa-trophy-alt:before {
10309
+ content: "\f2eb"; }
10310
+
10311
+ .fa-truck:before {
10312
+ content: "\f0d1"; }
10313
+
10314
+ .fa-truck-container:before {
10315
+ content: "\f4dc"; }
10316
+
10317
+ .fa-truck-couch:before {
10318
+ content: "\f4dd"; }
10319
+
10320
+ .fa-truck-loading:before {
10321
+ content: "\f4de"; }
10322
+
10323
+ .fa-truck-monster:before {
10324
+ content: "\f63b"; }
10325
+
10326
+ .fa-truck-moving:before {
10327
+ content: "\f4df"; }
10328
+
10329
+ .fa-truck-pickup:before {
10330
+ content: "\f63c"; }
10331
+
10332
+ .fa-truck-plow:before {
10333
+ content: "\f7de"; }
10334
+
10335
+ .fa-truck-ramp:before {
10336
+ content: "\f4e0"; }
10337
+
10338
+ .fa-trumpet:before {
10339
+ content: "\f8e3"; }
10340
+
10341
+ .fa-tshirt:before {
10342
+ content: "\f553"; }
10343
+
10344
+ .fa-tty:before {
10345
+ content: "\f1e4"; }
10346
+
10347
+ .fa-tumblr:before {
10348
+ content: "\f173"; }
10349
+
10350
+ .fa-tumblr-square:before {
10351
+ content: "\f174"; }
10352
+
10353
+ .fa-turkey:before {
10354
+ content: "\f725"; }
10355
+
10356
+ .fa-turntable:before {
10357
+ content: "\f8e4"; }
10358
+
10359
+ .fa-turtle:before {
10360
+ content: "\f726"; }
10361
+
10362
+ .fa-tv:before {
10363
+ content: "\f26c"; }
10364
+
10365
+ .fa-tv-alt:before {
10366
+ content: "\f8e5"; }
10367
+
10368
+ .fa-tv-music:before {
10369
+ content: "\f8e6"; }
10370
+
10371
+ .fa-tv-retro:before {
10372
+ content: "\f401"; }
10373
+
10374
+ .fa-twitch:before {
10375
+ content: "\f1e8"; }
10376
+
10377
+ .fa-twitter:before {
10378
+ content: "\f099"; }
10379
+
10380
+ .fa-twitter-square:before {
10381
+ content: "\f081"; }
10382
+
10383
+ .fa-typewriter:before {
10384
+ content: "\f8e7"; }
10385
+
10386
+ .fa-typo3:before {
10387
+ content: "\f42b"; }
10388
+
10389
+ .fa-uber:before {
10390
+ content: "\f402"; }
10391
+
10392
+ .fa-ubuntu:before {
10393
+ content: "\f7df"; }
10394
+
10395
+ .fa-ufo:before {
10396
+ content: "\e047"; }
10397
+
10398
+ .fa-ufo-beam:before {
10399
+ content: "\e048"; }
10400
+
10401
+ .fa-uikit:before {
10402
+ content: "\f403"; }
10403
+
10404
+ .fa-umbraco:before {
10405
+ content: "\f8e8"; }
10406
+
10407
+ .fa-umbrella:before {
10408
+ content: "\f0e9"; }
10409
+
10410
+ .fa-umbrella-beach:before {
10411
+ content: "\f5ca"; }
10412
+
10413
+ .fa-uncharted:before {
10414
+ content: "\e084"; }
10415
+
10416
+ .fa-underline:before {
10417
+ content: "\f0cd"; }
10418
+
10419
+ .fa-undo:before {
10420
+ content: "\f0e2"; }
10421
+
10422
+ .fa-undo-alt:before {
10423
+ content: "\f2ea"; }
10424
+
10425
+ .fa-unicorn:before {
10426
+ content: "\f727"; }
10427
+
10428
+ .fa-union:before {
10429
+ content: "\f6a2"; }
10430
+
10431
+ .fa-uniregistry:before {
10432
+ content: "\f404"; }
10433
+
10434
+ .fa-unity:before {
10435
+ content: "\e049"; }
10436
+
10437
+ .fa-universal-access:before {
10438
+ content: "\f29a"; }
10439
+
10440
+ .fa-university:before {
10441
+ content: "\f19c"; }
10442
+
10443
+ .fa-unlink:before {
10444
+ content: "\f127"; }
10445
+
10446
+ .fa-unlock:before {
10447
+ content: "\f09c"; }
10448
+
10449
+ .fa-unlock-alt:before {
10450
+ content: "\f13e"; }
10451
+
10452
+ .fa-unsplash:before {
10453
+ content: "\e07c"; }
10454
+
10455
+ .fa-untappd:before {
10456
+ content: "\f405"; }
10457
+
10458
+ .fa-upload:before {
10459
+ content: "\f093"; }
10460
+
10461
+ .fa-ups:before {
10462
+ content: "\f7e0"; }
10463
+
10464
+ .fa-usb:before {
10465
+ content: "\f287"; }
10466
+
10467
+ .fa-usb-drive:before {
10468
+ content: "\f8e9"; }
10469
+
10470
+ .fa-usd-circle:before {
10471
+ content: "\f2e8"; }
10472
+
10473
+ .fa-usd-square:before {
10474
+ content: "\f2e9"; }
10475
+
10476
+ .fa-user:before {
10477
+ content: "\f007"; }
10478
+
10479
+ .fa-user-alien:before {
10480
+ content: "\e04a"; }
10481
+
10482
+ .fa-user-alt:before {
10483
+ content: "\f406"; }
10484
+
10485
+ .fa-user-alt-slash:before {
10486
+ content: "\f4fa"; }
10487
+
10488
+ .fa-user-astronaut:before {
10489
+ content: "\f4fb"; }
10490
+
10491
+ .fa-user-chart:before {
10492
+ content: "\f6a3"; }
10493
+
10494
+ .fa-user-check:before {
10495
+ content: "\f4fc"; }
10496
+
10497
+ .fa-user-circle:before {
10498
+ content: "\f2bd"; }
10499
+
10500
+ .fa-user-clock:before {
10501
+ content: "\f4fd"; }
10502
+
10503
+ .fa-user-cog:before {
10504
+ content: "\f4fe"; }
10505
+
10506
+ .fa-user-cowboy:before {
10507
+ content: "\f8ea"; }
10508
+
10509
+ .fa-user-crown:before {
10510
+ content: "\f6a4"; }
10511
+
10512
+ .fa-user-edit:before {
10513
+ content: "\f4ff"; }
10514
+
10515
+ .fa-user-friends:before {
10516
+ content: "\f500"; }
10517
+
10518
+ .fa-user-graduate:before {
10519
+ content: "\f501"; }
10520
+
10521
+ .fa-user-hard-hat:before {
10522
+ content: "\f82c"; }
10523
+
10524
+ .fa-user-headset:before {
10525
+ content: "\f82d"; }
10526
+
10527
+ .fa-user-injured:before {
10528
+ content: "\f728"; }
10529
+
10530
+ .fa-user-lock:before {
10531
+ content: "\f502"; }
10532
+
10533
+ .fa-user-md:before {
10534
+ content: "\f0f0"; }
10535
+
10536
+ .fa-user-md-chat:before {
10537
+ content: "\f82e"; }
10538
+
10539
+ .fa-user-minus:before {
10540
+ content: "\f503"; }
10541
+
10542
+ .fa-user-music:before {
10543
+ content: "\f8eb"; }
10544
+
10545
+ .fa-user-ninja:before {
10546
+ content: "\f504"; }
10547
+
10548
+ .fa-user-nurse:before {
10549
+ content: "\f82f"; }
10550
+
10551
+ .fa-user-plus:before {
10552
+ content: "\f234"; }
10553
+
10554
+ .fa-user-robot:before {
10555
+ content: "\e04b"; }
10556
+
10557
+ .fa-user-secret:before {
10558
+ content: "\f21b"; }
10559
+
10560
+ .fa-user-shield:before {
10561
+ content: "\f505"; }
10562
+
10563
+ .fa-user-slash:before {
10564
+ content: "\f506"; }
10565
+
10566
+ .fa-user-tag:before {
10567
+ content: "\f507"; }
10568
+
10569
+ .fa-user-tie:before {
10570
+ content: "\f508"; }
10571
+
10572
+ .fa-user-times:before {
10573
+ content: "\f235"; }
10574
+
10575
+ .fa-user-unlock:before {
10576
+ content: "\e058"; }
10577
+
10578
+ .fa-user-visor:before {
10579
+ content: "\e04c"; }
10580
+
10581
+ .fa-users:before {
10582
+ content: "\f0c0"; }
10583
+
10584
+ .fa-users-class:before {
10585
+ content: "\f63d"; }
10586
+
10587
+ .fa-users-cog:before {
10588
+ content: "\f509"; }
10589
+
10590
+ .fa-users-crown:before {
10591
+ content: "\f6a5"; }
10592
+
10593
+ .fa-users-medical:before {
10594
+ content: "\f830"; }
10595
+
10596
+ .fa-users-slash:before {
10597
+ content: "\e073"; }
10598
+
10599
+ .fa-usps:before {
10600
+ content: "\f7e1"; }
10601
+
10602
+ .fa-ussunnah:before {
10603
+ content: "\f407"; }
10604
+
10605
+ .fa-utensil-fork:before {
10606
+ content: "\f2e3"; }
10607
+
10608
+ .fa-utensil-knife:before {
10609
+ content: "\f2e4"; }
10610
+
10611
+ .fa-utensil-spoon:before {
10612
+ content: "\f2e5"; }
10613
+
10614
+ .fa-utensils:before {
10615
+ content: "\f2e7"; }
10616
+
10617
+ .fa-utensils-alt:before {
10618
+ content: "\f2e6"; }
10619
+
10620
+ .fa-vaadin:before {
10621
+ content: "\f408"; }
10622
+
10623
+ .fa-vacuum:before {
10624
+ content: "\e04d"; }
10625
+
10626
+ .fa-vacuum-robot:before {
10627
+ content: "\e04e"; }
10628
+
10629
+ .fa-value-absolute:before {
10630
+ content: "\f6a6"; }
10631
+
10632
+ .fa-vector-square:before {
10633
+ content: "\f5cb"; }
10634
+
10635
+ .fa-venus:before {
10636
+ content: "\f221"; }
10637
+
10638
+ .fa-venus-double:before {
10639
+ content: "\f226"; }
10640
+
10641
+ .fa-venus-mars:before {
10642
+ content: "\f228"; }
10643
+
10644
+ .fa-vest:before {
10645
+ content: "\e085"; }
10646
+
10647
+ .fa-vest-patches:before {
10648
+ content: "\e086"; }
10649
+
10650
+ .fa-vhs:before {
10651
+ content: "\f8ec"; }
10652
+
10653
+ .fa-viacoin:before {
10654
+ content: "\f237"; }
10655
+
10656
+ .fa-viadeo:before {
10657
+ content: "\f2a9"; }
10658
+
10659
+ .fa-viadeo-square:before {
10660
+ content: "\f2aa"; }
10661
+
10662
+ .fa-vial:before {
10663
+ content: "\f492"; }
10664
+
10665
+ .fa-vials:before {
10666
+ content: "\f493"; }
10667
+
10668
+ .fa-viber:before {
10669
+ content: "\f409"; }
10670
+
10671
+ .fa-video:before {
10672
+ content: "\f03d"; }
10673
+
10674
+ .fa-video-plus:before {
10675
+ content: "\f4e1"; }
10676
+
10677
+ .fa-video-slash:before {
10678
+ content: "\f4e2"; }
10679
+
10680
+ .fa-vihara:before {
10681
+ content: "\f6a7"; }
10682
+
10683
+ .fa-vimeo:before {
10684
+ content: "\f40a"; }
10685
+
10686
+ .fa-vimeo-square:before {
10687
+ content: "\f194"; }
10688
+
10689
+ .fa-vimeo-v:before {
10690
+ content: "\f27d"; }
10691
+
10692
+ .fa-vine:before {
10693
+ content: "\f1ca"; }
10694
+
10695
+ .fa-violin:before {
10696
+ content: "\f8ed"; }
10697
+
10698
+ .fa-virus:before {
10699
+ content: "\e074"; }
10700
+
10701
+ .fa-virus-slash:before {
10702
+ content: "\e075"; }
10703
+
10704
+ .fa-viruses:before {
10705
+ content: "\e076"; }
10706
+
10707
+ .fa-vk:before {
10708
+ content: "\f189"; }
10709
+
10710
+ .fa-vnv:before {
10711
+ content: "\f40b"; }
10712
+
10713
+ .fa-voicemail:before {
10714
+ content: "\f897"; }
10715
+
10716
+ .fa-volcano:before {
10717
+ content: "\f770"; }
10718
+
10719
+ .fa-volleyball-ball:before {
10720
+ content: "\f45f"; }
10721
+
10722
+ .fa-volume:before {
10723
+ content: "\f6a8"; }
10724
+
10725
+ .fa-volume-down:before {
10726
+ content: "\f027"; }
10727
+
10728
+ .fa-volume-mute:before {
10729
+ content: "\f6a9"; }
10730
+
10731
+ .fa-volume-off:before {
10732
+ content: "\f026"; }
10733
+
10734
+ .fa-volume-slash:before {
10735
+ content: "\f2e2"; }
10736
+
10737
+ .fa-volume-up:before {
10738
+ content: "\f028"; }
10739
+
10740
+ .fa-vote-nay:before {
10741
+ content: "\f771"; }
10742
+
10743
+ .fa-vote-yea:before {
10744
+ content: "\f772"; }
10745
+
10746
+ .fa-vr-cardboard:before {
10747
+ content: "\f729"; }
10748
+
10749
+ .fa-vuejs:before {
10750
+ content: "\f41f"; }
10751
+
10752
+ .fa-wagon-covered:before {
10753
+ content: "\f8ee"; }
10754
+
10755
+ .fa-walker:before {
10756
+ content: "\f831"; }
10757
+
10758
+ .fa-walkie-talkie:before {
10759
+ content: "\f8ef"; }
10760
+
10761
+ .fa-walking:before {
10762
+ content: "\f554"; }
10763
+
10764
+ .fa-wallet:before {
10765
+ content: "\f555"; }
10766
+
10767
+ .fa-wand:before {
10768
+ content: "\f72a"; }
10769
+
10770
+ .fa-wand-magic:before {
10771
+ content: "\f72b"; }
10772
+
10773
+ .fa-warehouse:before {
10774
+ content: "\f494"; }
10775
+
10776
+ .fa-warehouse-alt:before {
10777
+ content: "\f495"; }
10778
+
10779
+ .fa-washer:before {
10780
+ content: "\f898"; }
10781
+
10782
+ .fa-watch:before {
10783
+ content: "\f2e1"; }
10784
+
10785
+ .fa-watch-calculator:before {
10786
+ content: "\f8f0"; }
10787
+
10788
+ .fa-watch-fitness:before {
10789
+ content: "\f63e"; }
10790
+
10791
+ .fa-watchman-monitoring:before {
10792
+ content: "\e087"; }
10793
+
10794
+ .fa-water:before {
10795
+ content: "\f773"; }
10796
+
10797
+ .fa-water-lower:before {
10798
+ content: "\f774"; }
10799
+
10800
+ .fa-water-rise:before {
10801
+ content: "\f775"; }
10802
+
10803
+ .fa-wave-sine:before {
10804
+ content: "\f899"; }
10805
+
10806
+ .fa-wave-square:before {
10807
+ content: "\f83e"; }
10808
+
10809
+ .fa-wave-triangle:before {
10810
+ content: "\f89a"; }
10811
+
10812
+ .fa-waveform:before {
10813
+ content: "\f8f1"; }
10814
+
10815
+ .fa-waveform-path:before {
10816
+ content: "\f8f2"; }
10817
+
10818
+ .fa-waze:before {
10819
+ content: "\f83f"; }
10820
+
10821
+ .fa-webcam:before {
10822
+ content: "\f832"; }
10823
+
10824
+ .fa-webcam-slash:before {
10825
+ content: "\f833"; }
10826
+
10827
+ .fa-weebly:before {
10828
+ content: "\f5cc"; }
10829
+
10830
+ .fa-weibo:before {
10831
+ content: "\f18a"; }
10832
+
10833
+ .fa-weight:before {
10834
+ content: "\f496"; }
10835
+
10836
+ .fa-weight-hanging:before {
10837
+ content: "\f5cd"; }
10838
+
10839
+ .fa-weixin:before {
10840
+ content: "\f1d7"; }
10841
+
10842
+ .fa-whale:before {
10843
+ content: "\f72c"; }
10844
+
10845
+ .fa-whatsapp:before {
10846
+ content: "\f232"; }
10847
+
10848
+ .fa-whatsapp-square:before {
10849
+ content: "\f40c"; }
10850
+
10851
+ .fa-wheat:before {
10852
+ content: "\f72d"; }
10853
+
10854
+ .fa-wheelchair:before {
10855
+ content: "\f193"; }
10856
+
10857
+ .fa-whistle:before {
10858
+ content: "\f460"; }
10859
+
10860
+ .fa-whmcs:before {
10861
+ content: "\f40d"; }
10862
+
10863
+ .fa-wifi:before {
10864
+ content: "\f1eb"; }
10865
+
10866
+ .fa-wifi-1:before {
10867
+ content: "\f6aa"; }
10868
+
10869
+ .fa-wifi-2:before {
10870
+ content: "\f6ab"; }
10871
+
10872
+ .fa-wifi-slash:before {
10873
+ content: "\f6ac"; }
10874
+
10875
+ .fa-wikipedia-w:before {
10876
+ content: "\f266"; }
10877
+
10878
+ .fa-wind:before {
10879
+ content: "\f72e"; }
10880
+
10881
+ .fa-wind-turbine:before {
10882
+ content: "\f89b"; }
10883
+
10884
+ .fa-wind-warning:before {
10885
+ content: "\f776"; }
10886
+
10887
+ .fa-window:before {
10888
+ content: "\f40e"; }
10889
+
10890
+ .fa-window-alt:before {
10891
+ content: "\f40f"; }
10892
+
10893
+ .fa-window-close:before {
10894
+ content: "\f410"; }
10895
+
10896
+ .fa-window-frame:before {
10897
+ content: "\e04f"; }
10898
+
10899
+ .fa-window-frame-open:before {
10900
+ content: "\e050"; }
10901
+
10902
+ .fa-window-maximize:before {
10903
+ content: "\f2d0"; }
10904
+
10905
+ .fa-window-minimize:before {
10906
+ content: "\f2d1"; }
10907
+
10908
+ .fa-window-restore:before {
10909
+ content: "\f2d2"; }
10910
+
10911
+ .fa-windows:before {
10912
+ content: "\f17a"; }
10913
+
10914
+ .fa-windsock:before {
10915
+ content: "\f777"; }
10916
+
10917
+ .fa-wine-bottle:before {
10918
+ content: "\f72f"; }
10919
+
10920
+ .fa-wine-glass:before {
10921
+ content: "\f4e3"; }
10922
+
10923
+ .fa-wine-glass-alt:before {
10924
+ content: "\f5ce"; }
10925
+
10926
+ .fa-wix:before {
10927
+ content: "\f5cf"; }
10928
+
10929
+ .fa-wizards-of-the-coast:before {
10930
+ content: "\f730"; }
10931
+
10932
+ .fa-wodu:before {
10933
+ content: "\e088"; }
10934
+
10935
+ .fa-wolf-pack-battalion:before {
10936
+ content: "\f514"; }
10937
+
10938
+ .fa-won-sign:before {
10939
+ content: "\f159"; }
10940
+
10941
+ .fa-wordpress:before {
10942
+ content: "\f19a"; }
10943
+
10944
+ .fa-wordpress-simple:before {
10945
+ content: "\f411"; }
10946
+
10947
+ .fa-wpbeginner:before {
10948
+ content: "\f297"; }
10949
+
10950
+ .fa-wpexplorer:before {
10951
+ content: "\f2de"; }
10952
+
10953
+ .fa-wpforms:before {
10954
+ content: "\f298"; }
10955
+
10956
+ .fa-wpressr:before {
10957
+ content: "\f3e4"; }
10958
+
10959
+ .fa-wreath:before {
10960
+ content: "\f7e2"; }
10961
+
10962
+ .fa-wrench:before {
10963
+ content: "\f0ad"; }
10964
+
10965
+ .fa-x-ray:before {
10966
+ content: "\f497"; }
10967
+
10968
+ .fa-xbox:before {
10969
+ content: "\f412"; }
10970
+
10971
+ .fa-xing:before {
10972
+ content: "\f168"; }
10973
+
10974
+ .fa-xing-square:before {
10975
+ content: "\f169"; }
10976
+
10977
+ .fa-y-combinator:before {
10978
+ content: "\f23b"; }
10979
+
10980
+ .fa-yahoo:before {
10981
+ content: "\f19e"; }
10982
+
10983
+ .fa-yammer:before {
10984
+ content: "\f840"; }
10985
+
10986
+ .fa-yandex:before {
10987
+ content: "\f413"; }
10988
+
10989
+ .fa-yandex-international:before {
10990
+ content: "\f414"; }
10991
+
10992
+ .fa-yarn:before {
10993
+ content: "\f7e3"; }
10994
+
10995
+ .fa-yelp:before {
10996
+ content: "\f1e9"; }
10997
+
10998
+ .fa-yen-sign:before {
10999
+ content: "\f157"; }
11000
+
11001
+ .fa-yin-yang:before {
11002
+ content: "\f6ad"; }
11003
+
11004
+ .fa-yoast:before {
11005
+ content: "\f2b1"; }
11006
+
11007
+ .fa-youtube:before {
11008
+ content: "\f167"; }
11009
+
11010
+ .fa-youtube-square:before {
11011
+ content: "\f431"; }
11012
+
11013
+ .fa-zhihu:before {
11014
+ content: "\f63f"; }
11015
+
11016
+ .sr-only {
11017
+ border: 0;
11018
+ clip: rect(0, 0, 0, 0);
11019
+ height: 1px;
11020
+ margin: -1px;
11021
+ overflow: hidden;
11022
+ padding: 0;
11023
+ position: absolute;
11024
+ width: 1px; }
11025
+
11026
+ .sr-only-focusable:active, .sr-only-focusable:focus {
11027
+ clip: auto;
11028
+ height: auto;
11029
+ margin: 0;
11030
+ overflow: visible;
11031
+ position: static;
11032
+ width: auto; }
11033
+
11034
+ /*!
11035
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11036
+ * License - https://fontawesome.com/license (Commercial License)
11037
+ */
11038
+ @font-face {
11039
+ font-family: 'Font Awesome 5 Pro';
11040
+ font-style: normal;
11041
+ font-weight: 900;
11042
+ font-display: swap;
11043
+ src: url("../fonts/fa-solid-900.eot");
11044
+ src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); }
11045
+
11046
+ .fa,
11047
+ .fas {
11048
+ font-family: 'Font Awesome 5 Pro';
11049
+ font-weight: 900; }
11050
+
11051
+ /*!
11052
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11053
+ * License - https://fontawesome.com/license (Commercial License)
11054
+ */
11055
+ @font-face {
11056
+ font-family: 'Font Awesome 5 Pro';
11057
+ font-style: normal;
11058
+ font-weight: 400;
11059
+ font-display: swap;
11060
+ src: url("../fonts/fa-regular-400.eot");
11061
+ src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg"); }
11062
+
11063
+ .far {
11064
+ font-family: 'Font Awesome 5 Pro';
11065
+ font-weight: 400; }
11066
+
11067
+ /*!
11068
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11069
+ * License - https://fontawesome.com/license (Commercial License)
11070
+ */
11071
+ @font-face {
11072
+ font-family: 'Font Awesome 5 Pro';
11073
+ font-style: normal;
11074
+ font-weight: 300;
11075
+ font-display: swap;
11076
+ src: url("../fonts/fa-light-300.eot");
11077
+ src: url("../fonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-light-300.woff2") format("woff2"), url("../fonts/fa-light-300.woff") format("woff"), url("../fonts/fa-light-300.ttf") format("truetype"), url("../fonts/fa-light-300.svg#fontawesome") format("svg"); }
11078
+
11079
+ .fal {
11080
+ font-family: 'Font Awesome 5 Pro';
11081
+ font-weight: 300; }
11082
+
11083
+ /*!
11084
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11085
+ * License - https://fontawesome.com/license (Commercial License)
11086
+ */
11087
+ @font-face {
11088
+ font-family: 'Font Awesome 5 Brands';
11089
+ font-style: normal;
11090
+ font-weight: 400;
11091
+ font-display: swap;
11092
+ src: url("../fonts/fa-brands-400.eot");
11093
+ src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); }
11094
+
11095
+ .fab {
11096
+ font-family: 'Font Awesome 5 Brands';
11097
+ font-weight: 400; }
11098
+
11099
+ /* Shared (styles used in both website and editor) */
11100
+ /* Modules */
11101
+ /* BASICS */
11102
+ .CodeMirror {
11103
+ /* Set height, width, borders, and global font properties here */
11104
+ font-family: monospace;
11105
+ height: 300px;
11106
+ color: black;
11107
+ direction: ltr; }
11108
+
11109
+ /* PADDING */
11110
+ .CodeMirror-lines {
11111
+ padding: 4px 0;
11112
+ /* Vertical padding around content */ }
11113
+
11114
+ .CodeMirror pre.CodeMirror-line,
11115
+ .CodeMirror pre.CodeMirror-line-like {
11116
+ padding: 0 4px;
11117
+ /* Horizontal padding of content */ }
11118
+
11119
+ .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
11120
+ background-color: white;
11121
+ /* The little square between H and V scrollbars */ }
11122
+
11123
+ /* GUTTER */
11124
+ .CodeMirror-gutters {
11125
+ border-right: 1px solid #ddd;
11126
+ background-color: #f7f7f7;
11127
+ white-space: nowrap; }
11128
+
11129
+ .CodeMirror-linenumber {
11130
+ padding: 0 3px 0 5px;
11131
+ min-width: 20px;
11132
+ text-align: right;
11133
+ color: #999;
11134
+ white-space: nowrap; }
11135
+
11136
+ .CodeMirror-guttermarker {
11137
+ color: black; }
11138
+
11139
+ .CodeMirror-guttermarker-subtle {
11140
+ color: #999; }
11141
+
11142
+ /* CURSOR */
11143
+ .CodeMirror-cursor {
11144
+ border-left: 1px solid black;
11145
+ border-right: none;
11146
+ width: 0; }
11147
+
11148
+ /* Shown when moving in bi-directional text */
11149
+ .CodeMirror div.CodeMirror-secondarycursor {
11150
+ border-left: 1px solid silver; }
11151
+
11152
+ .cm-fat-cursor .CodeMirror-cursor {
11153
+ width: auto;
11154
+ border: 0 !important;
11155
+ background: #7e7; }
11156
+
11157
+ .cm-fat-cursor div.CodeMirror-cursors {
11158
+ z-index: 1; }
11159
+
11160
+ .cm-fat-cursor-mark {
11161
+ background-color: rgba(20, 255, 20, 0.5);
11162
+ -webkit-animation: blink 1.06s steps(1) infinite;
11163
+ -moz-animation: blink 1.06s steps(1) infinite;
11164
+ animation: blink 1.06s steps(1) infinite; }
11165
+
11166
+ .cm-animate-fat-cursor {
11167
+ width: auto;
11168
+ -webkit-animation: blink 1.06s steps(1) infinite;
11169
+ -moz-animation: blink 1.06s steps(1) infinite;
11170
+ animation: blink 1.06s steps(1) infinite;
11171
+ background-color: #7e7; }
11172
+
11173
+ @-moz-keyframes blink {
11174
+ 0% { }
11175
+ 50% {
11176
+ background-color: transparent; }
11177
+ 100% { } }
11178
+
11179
+ @-webkit-keyframes blink {
11180
+ 0% { }
11181
+ 50% {
11182
+ background-color: transparent; }
11183
+ 100% { } }
11184
+
11185
+ @keyframes blink {
11186
+ 0% { }
11187
+ 50% {
11188
+ background-color: transparent; }
11189
+ 100% { } }
11190
+
11191
+ /* Can style cursor different in overwrite (non-insert) mode */
11192
+ .cm-tab {
11193
+ display: inline-block;
11194
+ text-decoration: inherit; }
11195
+
11196
+ .CodeMirror-rulers {
11197
+ position: absolute;
11198
+ left: 0;
11199
+ right: 0;
11200
+ top: -50px;
11201
+ bottom: 0;
11202
+ overflow: hidden; }
11203
+
11204
+ .CodeMirror-ruler {
11205
+ border-left: 1px solid #ccc;
11206
+ top: 0;
11207
+ bottom: 0;
11208
+ position: absolute; }
11209
+
11210
+ /* DEFAULT THEME */
11211
+ .cm-s-default .cm-header {
11212
+ color: blue; }
11213
+
11214
+ .cm-s-default .cm-quote {
11215
+ color: #090; }
11216
+
11217
+ .cm-negative {
11218
+ color: #d44; }
11219
+
11220
+ .cm-positive {
11221
+ color: #292; }
11222
+
11223
+ .cm-header, .cm-strong {
11224
+ font-weight: bold; }
11225
+
11226
+ .cm-em {
11227
+ font-style: italic; }
11228
+
11229
+ .cm-link {
11230
+ text-decoration: underline; }
11231
+
11232
+ .cm-strikethrough {
11233
+ text-decoration: line-through; }
11234
+
11235
+ .cm-s-default .cm-keyword {
11236
+ color: #708; }
11237
+
11238
+ .cm-s-default .cm-atom {
11239
+ color: #219; }
11240
+
11241
+ .cm-s-default .cm-number {
11242
+ color: #164; }
11243
+
11244
+ .cm-s-default .cm-def {
11245
+ color: #00f; }
11246
+
11247
+ .cm-s-default .cm-variable-2 {
11248
+ color: #05a; }
11249
+
11250
+ .cm-s-default .cm-variable-3, .cm-s-default .cm-type {
11251
+ color: #085; }
11252
+
11253
+ .cm-s-default .cm-comment {
11254
+ color: #a50; }
11255
+
11256
+ .cm-s-default .cm-string {
11257
+ color: #a11; }
11258
+
11259
+ .cm-s-default .cm-string-2 {
11260
+ color: #f50; }
11261
+
11262
+ .cm-s-default .cm-meta {
11263
+ color: #555; }
11264
+
11265
+ .cm-s-default .cm-qualifier {
11266
+ color: #555; }
11267
+
11268
+ .cm-s-default .cm-builtin {
11269
+ color: #30a; }
11270
+
11271
+ .cm-s-default .cm-bracket {
11272
+ color: #997; }
11273
+
11274
+ .cm-s-default .cm-tag {
11275
+ color: #170; }
11276
+
11277
+ .cm-s-default .cm-attribute {
11278
+ color: #00c; }
11279
+
11280
+ .cm-s-default .cm-hr {
11281
+ color: #999; }
11282
+
11283
+ .cm-s-default .cm-link {
11284
+ color: #00c; }
11285
+
11286
+ .cm-s-default .cm-error {
11287
+ color: #f00; }
11288
+
11289
+ .cm-invalidchar {
11290
+ color: #f00; }
11291
+
11292
+ .CodeMirror-composing {
11293
+ border-bottom: 2px solid; }
11294
+
11295
+ /* Default styles for common addons */
11296
+ div.CodeMirror span.CodeMirror-matchingbracket {
11297
+ color: #0b0; }
11298
+
11299
+ div.CodeMirror span.CodeMirror-nonmatchingbracket {
11300
+ color: #a22; }
11301
+
11302
+ .CodeMirror-matchingtag {
11303
+ background: rgba(255, 150, 0, 0.3); }
11304
+
11305
+ .CodeMirror-activeline-background {
11306
+ background: #e8f2ff; }
11307
+
11308
+ /* STOP */
11309
+ /* The rest of this file contains styles related to the mechanics of
11310
+ the editor. You probably shouldn't touch them. */
11311
+ .CodeMirror {
11312
+ position: relative;
11313
+ overflow: hidden;
11314
+ background: white; }
11315
+
11316
+ .CodeMirror-scroll {
11317
+ overflow: scroll !important;
11318
+ /* Things will break if this is overridden */
11319
+ /* 50px is the magic margin used to hide the element's real scrollbars */
11320
+ /* See overflow: hidden in .CodeMirror */
11321
+ margin-bottom: -50px;
11322
+ margin-right: -50px;
11323
+ padding-bottom: 50px;
11324
+ height: 100%;
11325
+ outline: none;
11326
+ /* Prevent dragging from highlighting the element */
11327
+ position: relative; }
11328
+
11329
+ .CodeMirror-sizer {
11330
+ position: relative;
11331
+ border-right: 50px solid transparent; }
11332
+
11333
+ /* The fake, visible scrollbars. Used to force redraw during scrolling
11334
+ before actual scrolling happens, thus preventing shaking and
11335
+ flickering artifacts. */
11336
+ .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
11337
+ position: absolute;
11338
+ z-index: 6;
11339
+ display: none;
11340
+ outline: none; }
11341
+
11342
+ .CodeMirror-vscrollbar {
11343
+ right: 0;
11344
+ top: 0;
11345
+ overflow-x: hidden;
11346
+ overflow-y: scroll; }
11347
+
11348
+ .CodeMirror-hscrollbar {
11349
+ bottom: 0;
11350
+ left: 0;
11351
+ overflow-y: hidden;
11352
+ overflow-x: scroll; }
11353
+
11354
+ .CodeMirror-scrollbar-filler {
11355
+ right: 0;
11356
+ bottom: 0; }
11357
+
11358
+ .CodeMirror-gutter-filler {
11359
+ left: 0;
11360
+ bottom: 0; }
11361
+
11362
+ .CodeMirror-gutters {
11363
+ position: absolute;
11364
+ left: 0;
11365
+ top: 0;
11366
+ min-height: 100%;
11367
+ z-index: 3; }
11368
+
11369
+ .CodeMirror-gutter {
11370
+ white-space: normal;
11371
+ height: 100%;
11372
+ display: inline-block;
11373
+ vertical-align: top;
11374
+ margin-bottom: -50px; }
11375
+
11376
+ .CodeMirror-gutter-wrapper {
11377
+ position: absolute;
11378
+ z-index: 4;
11379
+ background: none !important;
11380
+ border: none !important; }
11381
+
11382
+ .CodeMirror-gutter-background {
11383
+ position: absolute;
11384
+ top: 0;
11385
+ bottom: 0;
11386
+ z-index: 4; }
11387
+
11388
+ .CodeMirror-gutter-elt {
11389
+ position: absolute;
11390
+ cursor: default;
11391
+ z-index: 4; }
11392
+
11393
+ .CodeMirror-gutter-wrapper ::selection {
11394
+ background-color: transparent; }
11395
+
11396
+ .CodeMirror-gutter-wrapper ::-moz-selection {
11397
+ background-color: transparent; }
11398
+
11399
+ .CodeMirror-lines {
11400
+ cursor: text;
11401
+ min-height: 1px;
11402
+ /* prevents collapsing before first draw */ }
11403
+
11404
+ .CodeMirror pre.CodeMirror-line,
11405
+ .CodeMirror pre.CodeMirror-line-like {
11406
+ /* Reset some styles that the rest of the page might have set */
11407
+ -moz-border-radius: 0;
11408
+ -webkit-border-radius: 0;
11409
+ border-radius: 0;
11410
+ border-width: 0;
11411
+ background: transparent;
11412
+ font-family: inherit;
11413
+ font-size: inherit;
11414
+ margin: 0;
11415
+ white-space: pre;
11416
+ word-wrap: normal;
11417
+ line-height: inherit;
11418
+ color: inherit;
11419
+ z-index: 2;
11420
+ position: relative;
11421
+ overflow: visible;
11422
+ -webkit-tap-highlight-color: transparent;
11423
+ -webkit-font-variant-ligatures: contextual;
11424
+ font-variant-ligatures: contextual; }
11425
+
11426
+ .CodeMirror-wrap pre.CodeMirror-line,
11427
+ .CodeMirror-wrap pre.CodeMirror-line-like {
11428
+ word-wrap: break-word;
11429
+ white-space: pre-wrap;
11430
+ word-break: normal; }
11431
+
11432
+ .CodeMirror-linebackground {
11433
+ position: absolute;
11434
+ left: 0;
11435
+ right: 0;
11436
+ top: 0;
11437
+ bottom: 0;
11438
+ z-index: 0; }
11439
+
11440
+ .CodeMirror-linewidget {
11441
+ position: relative;
11442
+ z-index: 2;
11443
+ padding: 0.1px;
11444
+ /* Force widget margins to stay inside of the container */ }
11445
+
11446
+ .CodeMirror-rtl pre {
11447
+ direction: rtl; }
11448
+
11449
+ .CodeMirror-code {
11450
+ outline: none; }
11451
+
11452
+ /* Force content-box sizing for the elements where we expect it */
11453
+ .CodeMirror-scroll,
11454
+ .CodeMirror-sizer,
11455
+ .CodeMirror-gutter,
11456
+ .CodeMirror-gutters,
11457
+ .CodeMirror-linenumber {
11458
+ -moz-box-sizing: content-box;
11459
+ box-sizing: content-box; }
11460
+
11461
+ .CodeMirror-measure {
11462
+ position: absolute;
11463
+ width: 100%;
11464
+ height: 0;
11465
+ overflow: hidden;
11466
+ visibility: hidden; }
11467
+
11468
+ .CodeMirror-cursor {
11469
+ position: absolute;
11470
+ pointer-events: none; }
11471
+
11472
+ .CodeMirror-measure pre {
11473
+ position: static; }
11474
+
11475
+ div.CodeMirror-cursors {
11476
+ visibility: hidden;
11477
+ position: relative;
11478
+ z-index: 3; }
11479
+
11480
+ div.CodeMirror-dragcursors {
11481
+ visibility: visible; }
11482
+
11483
+ .CodeMirror-focused div.CodeMirror-cursors {
11484
+ visibility: visible; }
11485
+
11486
+ .CodeMirror-selected {
11487
+ background: #d9d9d9; }
11488
+
11489
+ .CodeMirror-focused .CodeMirror-selected {
11490
+ background: #d7d4f0; }
11491
+
11492
+ .CodeMirror-crosshair {
11493
+ cursor: crosshair; }
11494
+
11495
+ .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection {
11496
+ background: #d7d4f0; }
11497
+
11498
+ .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection {
11499
+ background: #d7d4f0; }
11500
+
11501
+ .cm-searching {
11502
+ background-color: #ffa;
11503
+ background-color: rgba(255, 255, 0, 0.4); }
11504
+
11505
+ /* Used to force a border model for a node */
11506
+ .cm-force-border {
11507
+ padding-right: .1px; }
11508
+
11509
+ @media print {
11510
+ /* Hide the cursor when printing */
11511
+ .CodeMirror div.CodeMirror-cursors {
11512
+ visibility: hidden; } }
11513
+
11514
+ /* See issue #2901 */
11515
+ .cm-tab-wrap-hack:after {
11516
+ content: ''; }
11517
+
11518
+ /* Help users use markselection to safely style text background */
11519
+ span.CodeMirror-selectedtext {
11520
+ background: none; }
11521
+
11522
+ .CodeMirror {
11523
+ font-size: 0.875rem;
11524
+ color: #5A5A5A;
11525
+ border: 1px solid #D8D8D8;
11526
+ border-radius: 3px;
11527
+ min-height: 12.1875rem;
11528
+ box-shadow: none;
11529
+ box-sizing: border-box;
11530
+ line-height: 1.625;
11531
+ outline: none;
11532
+ -webkit-appearance: none;
11533
+ -moz-appearance: none;
11534
+ appearance: none;
11535
+ width: 100%; }
11536
+ .CodeMirror:focus, .CodeMirror:focus-within {
11537
+ border-color: #3C7C96; }
11538
+ .CodeMirror::-webkit-input-placeholder {
11539
+ color: #888888; }
11540
+ .CodeMirror:-moz-placeholder {
11541
+ color: #888888; }
11542
+ .CodeMirror::-moz-placeholder {
11543
+ color: #888888; }
11544
+ .CodeMirror:-ms-input-placeholder {
11545
+ color: #888888; }
11546
+ .CodeMirror .CodeMirror-selected {
11547
+ height: 21px !important; }
11548
+
11549
+ /* Components */
11550
+ /**
11551
+ * Forms
11552
+ * ----------------------------------------------------------------------------
11553
+ */
11554
+ /**
11555
+ * Basic styling
11556
+ */
11557
+ .wpgdprc {
11558
+ /**
11559
+ * Textarea
11560
+ */
11561
+ /**
11562
+ * Checkbox and radio
11563
+ */
11564
+ /**
11565
+ * Buttons
11566
+ */
11567
+ /**
11568
+ * Select with dropdown marker
11569
+ */
11570
+ /**
11571
+ * Disabled
11572
+ */
11573
+ /**
11574
+ * Search
11575
+ */
11576
+ /**
11577
+ * Color
11578
+ */ }
11579
+ .wpgdprc input, .wpgdprc select {
11580
+ margin: 0; }
11581
+ .wpgdprc input:not([type]),
11582
+ .wpgdprc input[type='text'],
11583
+ .wpgdprc input[type='password'],
11584
+ .wpgdprc input[type='email'],
11585
+ .wpgdprc input[type='url'],
11586
+ .wpgdprc input[type='date'],
11587
+ .wpgdprc input[type='month'],
11588
+ .wpgdprc input[type='time'],
11589
+ .wpgdprc input[type='datetime'],
11590
+ .wpgdprc input[type='datetime-local'],
11591
+ .wpgdprc input[type='week'],
11592
+ .wpgdprc input[type='number'],
11593
+ .wpgdprc input[type='search'],
11594
+ .wpgdprc input[type='tel'],
11595
+ .wpgdprc select,
11596
+ .wpgdprc textarea {
11597
+ font-size: 0.875rem;
11598
+ background: #ffffff;
11599
+ border: 1px solid #D8D8D8;
11600
+ padding: 0.625rem 0.75rem;
11601
+ border-radius: 3px;
11602
+ color: #5A5A5A;
11603
+ min-height: 2.8125rem;
11604
+ box-shadow: none;
11605
+ box-sizing: border-box;
11606
+ line-height: 1.625;
11607
+ outline: none;
11608
+ -webkit-appearance: none;
11609
+ -moz-appearance: none;
11610
+ appearance: none;
11611
+ width: 100%; }
11612
+ .wpgdprc input:not([type]):focus, .wpgdprc input:not([type]):focus-within,
11613
+ .wpgdprc input[type='text']:focus,
11614
+ .wpgdprc input[type='text']:focus-within,
11615
+ .wpgdprc input[type='password']:focus,
11616
+ .wpgdprc input[type='password']:focus-within,
11617
+ .wpgdprc input[type='email']:focus,
11618
+ .wpgdprc input[type='email']:focus-within,
11619
+ .wpgdprc input[type='url']:focus,
11620
+ .wpgdprc input[type='url']:focus-within,
11621
+ .wpgdprc input[type='date']:focus,
11622
+ .wpgdprc input[type='date']:focus-within,
11623
+ .wpgdprc input[type='month']:focus,
11624
+ .wpgdprc input[type='month']:focus-within,
11625
+ .wpgdprc input[type='time']:focus,
11626
+ .wpgdprc input[type='time']:focus-within,
11627
+ .wpgdprc input[type='datetime']:focus,
11628
+ .wpgdprc input[type='datetime']:focus-within,
11629
+ .wpgdprc input[type='datetime-local']:focus,
11630
+ .wpgdprc input[type='datetime-local']:focus-within,
11631
+ .wpgdprc input[type='week']:focus,
11632
+ .wpgdprc input[type='week']:focus-within,
11633
+ .wpgdprc input[type='number']:focus,
11634
+ .wpgdprc input[type='number']:focus-within,
11635
+ .wpgdprc input[type='search']:focus,
11636
+ .wpgdprc input[type='search']:focus-within,
11637
+ .wpgdprc input[type='tel']:focus,
11638
+ .wpgdprc input[type='tel']:focus-within,
11639
+ .wpgdprc select:focus,
11640
+ .wpgdprc select:focus-within,
11641
+ .wpgdprc textarea:focus,
11642
+ .wpgdprc textarea:focus-within {
11643
+ border: 1px solid #3C7C96;
11644
+ box-shadow: 0 0 0 1px #3C7C96; }
11645
+ .wpgdprc input:not([type])::-webkit-input-placeholder, .wpgdprc input[type='text']::-webkit-input-placeholder, .wpgdprc input[type='password']::-webkit-input-placeholder, .wpgdprc input[type='email']::-webkit-input-placeholder, .wpgdprc input[type='url']::-webkit-input-placeholder, .wpgdprc input[type='date']::-webkit-input-placeholder, .wpgdprc input[type='month']::-webkit-input-placeholder, .wpgdprc input[type='time']::-webkit-input-placeholder, .wpgdprc input[type='datetime']::-webkit-input-placeholder, .wpgdprc input[type='datetime-local']::-webkit-input-placeholder, .wpgdprc input[type='week']::-webkit-input-placeholder, .wpgdprc input[type='number']::-webkit-input-placeholder, .wpgdprc input[type='search']::-webkit-input-placeholder, .wpgdprc input[type='tel']::-webkit-input-placeholder, .wpgdprc select::-webkit-input-placeholder, .wpgdprc textarea::-webkit-input-placeholder {
11646
+ color: #888888; }
11647
+ .wpgdprc input:not([type]):-moz-placeholder, .wpgdprc input[type='text']:-moz-placeholder, .wpgdprc input[type='password']:-moz-placeholder, .wpgdprc input[type='email']:-moz-placeholder, .wpgdprc input[type='url']:-moz-placeholder, .wpgdprc input[type='date']:-moz-placeholder, .wpgdprc input[type='month']:-moz-placeholder, .wpgdprc input[type='time']:-moz-placeholder, .wpgdprc input[type='datetime']:-moz-placeholder, .wpgdprc input[type='datetime-local']:-moz-placeholder, .wpgdprc input[type='week']:-moz-placeholder, .wpgdprc input[type='number']:-moz-placeholder, .wpgdprc input[type='search']:-moz-placeholder, .wpgdprc input[type='tel']:-moz-placeholder, .wpgdprc select:-moz-placeholder, .wpgdprc textarea:-moz-placeholder {
11648
+ color: #888888; }
11649
+ .wpgdprc input:not([type])::-moz-placeholder, .wpgdprc input[type='text']::-moz-placeholder, .wpgdprc input[type='password']::-moz-placeholder, .wpgdprc input[type='email']::-moz-placeholder, .wpgdprc input[type='url']::-moz-placeholder, .wpgdprc input[type='date']::-moz-placeholder, .wpgdprc input[type='month']::-moz-placeholder, .wpgdprc input[type='time']::-moz-placeholder, .wpgdprc input[type='datetime']::-moz-placeholder, .wpgdprc input[type='datetime-local']::-moz-placeholder, .wpgdprc input[type='week']::-moz-placeholder, .wpgdprc input[type='number']::-moz-placeholder, .wpgdprc input[type='search']::-moz-placeholder, .wpgdprc input[type='tel']::-moz-placeholder, .wpgdprc select::-moz-placeholder, .wpgdprc textarea::-moz-placeholder {
11650
+ color: #888888; }
11651
+ .wpgdprc input:not([type]):-ms-input-placeholder, .wpgdprc input[type='text']:-ms-input-placeholder, .wpgdprc input[type='password']:-ms-input-placeholder, .wpgdprc input[type='email']:-ms-input-placeholder, .wpgdprc input[type='url']:-ms-input-placeholder, .wpgdprc input[type='date']:-ms-input-placeholder, .wpgdprc input[type='month']:-ms-input-placeholder, .wpgdprc input[type='time']:-ms-input-placeholder, .wpgdprc input[type='datetime']:-ms-input-placeholder, .wpgdprc input[type='datetime-local']:-ms-input-placeholder, .wpgdprc input[type='week']:-ms-input-placeholder, .wpgdprc input[type='number']:-ms-input-placeholder, .wpgdprc input[type='search']:-ms-input-placeholder, .wpgdprc input[type='tel']:-ms-input-placeholder, .wpgdprc select:-ms-input-placeholder, .wpgdprc textarea:-ms-input-placeholder {
11652
+ color: #888888; }
11653
+ .wpgdprc textarea {
11654
+ min-height: 12.1875rem;
11655
+ line-height: 1.25rem; }
11656
+ .wpgdprc input[type='checkbox'],
11657
+ .wpgdprc input[type='radio'] {
11658
+ box-sizing: border-box;
11659
+ padding: 0;
11660
+ display: block;
11661
+ margin-right: 0.25rem;
11662
+ margin-top: 2px;
11663
+ clear: both; }
11664
+ .wpgdprc button,
11665
+ .wpgdprc input[type='button'],
11666
+ .wpgdprc input[type='reset'],
11667
+ .wpgdprc input[type='submit'] {
11668
+ cursor: pointer; }
11669
+ .wpgdprc select {
11670
+ background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 13 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.357 7.515l5.726-5.726a.328.328 0 000-.464l-.541-.542a.328.328 0 00-.465 0L6.125 5.724 1.173.784a.328.328 0 00-.465 0l-.541.54a.328.328 0 000 .465l5.726 5.726a.328.328 0 00.464 0z' fill='%235A5A5A' fill-rule='nonzero'/%3E%3C/svg%3E%0A");
11671
+ background-position: right 1rem center;
11672
+ background-repeat: no-repeat;
11673
+ background-size: 0.75rem;
11674
+ padding-right: 2.8125rem;
11675
+ max-width: 100%; }
11676
+ .wpgdprc button[disabled],
11677
+ .wpgdprc input[disabled],
11678
+ .wpgdprc select[disabled] {
11679
+ cursor: default; }
11680
+ .wpgdprc input[type='search'] {
11681
+ -webkit-appearance: textfield;
11682
+ box-sizing: content-box; }
11683
+ .wpgdprc input[type='search']::-webkit-search-cancel-button,
11684
+ .wpgdprc input[type='search']::-webkit-search-decoration {
11685
+ -webkit-appearance: none; }
11686
+ .wpgdprc input[type='color'] {
11687
+ background: #ffffff;
11688
+ border: 1px solid #D8D8D8; }
11689
+
11690
+ .wpgdprc .wpgdprc-form {
11691
+ margin-bottom: 1rem; }
11692
+ .wpgdprc .wpgdprc-form:last-child {
11693
+ margin-bottom: 0; }
11694
+
11695
+ .wpgdprc .wpgdprc-form__label,
11696
+ .wpgdprc .wpgdprc-form__legend {
11697
+ display: block;
11698
+ font-weight: 700;
11699
+ color: #000000;
11700
+ margin-bottom: 1rem; }
11701
+
11702
+ .wpgdprc .wpgdprc-form__fields {
11703
+ margin-left: 0;
11704
+ margin-bottom: 0;
11705
+ list-style: none; }
11706
+
11707
+ .wpgdprc-form__field {
11708
+ margin-bottom: 1.4375rem; }
11709
+ .wpgdprc-form__field:last-child {
11710
+ margin-bottom: 0; }
11711
+
11712
+ .wpgdprc-form__field--switch .wpgdprc-switch {
11713
+ margin-bottom: 0;
11714
+ min-height: 2.8125rem; }
11715
+
11716
+ .wpgdprc-form__field--switch-no-text .wpgdprc-switch__text {
11717
+ margin: 0; }
11718
+
11719
+ .wpgdprc .wpgdprc-form__description {
11720
+ color: #888888;
11721
+ font-size: 0.875rem;
11722
+ margin-top: 0.75rem; }
11723
+
11724
+ .wpgdprc .wpgdprc-form__field--checkbox,
11725
+ .wpgdprc .wpgdprc-form__field--radio {
11726
+ display: flex;
11727
+ align-items: center;
11728
+ margin-bottom: 0; }
11729
+ .wpgdprc .wpgdprc-form__field--checkbox input,
11730
+ .wpgdprc .wpgdprc-form__field--radio input {
11731
+ aspect-ratio: 1/1; }
11732
+ .wpgdprc .wpgdprc-form__field--checkbox .wpgdprc-form__input,
11733
+ .wpgdprc .wpgdprc-form__field--radio .wpgdprc-form__input {
11734
+ flex-shrink: 0;
11735
+ align-self: flex-start;
11736
+ margin-right: 0.5rem;
11737
+ width: auto; }
11738
+ .wpgdprc .wpgdprc-form__field--checkbox .wpgdprc-form__label,
11739
+ .wpgdprc .wpgdprc-form__field--radio .wpgdprc-form__label {
11740
+ padding-left: 0;
11741
+ margin-bottom: 0;
11742
+ margin-left: 0; }
11743
+
11744
+ .wpgdprc-form__input {
11745
+ width: 100%; }
11746
+
11747
+ .wpgdprc .wpgdprc-form__input--textarea {
11748
+ min-height: 12.1875rem;
11749
+ line-height: 1.85714; }
11750
+
11751
+ .wpgdprc .wpgdprc-form__input--submit {
11752
+ width: auto; }
11753
+
11754
+ .wpgdprc-form__field--submit, .wpgdprc-form__field--submit p {
11755
+ text-align: right; }
11756
+
11757
+ .wpgdprc-form__submit {
11758
+ text-align: right; }
11759
+
11760
+ .wpgdprc-form__footer {
11761
+ margin-top: 1.4375rem; }
11762
+
11763
+ .wpgdprc-form__title-container {
11764
+ display: flex;
11765
+ flex-wrap: wrap;
11766
+ justify-content: space-between; }
11767
+ .wpgdprc-form__title-container > *:first-child {
11768
+ margin-right: 0.9375rem; }
11769
+
11770
+ .wpgdprc-form__text {
11771
+ max-width: 46.875rem; }
11772
+
11773
+ .wpgdprc-form--fields {
11774
+ position: relative; }
11775
+
11776
+ .wpgdprc-form--overlay {
11777
+ background-color: transparent;
11778
+ bottom: 0;
11779
+ height: 0;
11780
+ left: 0;
11781
+ position: absolute;
11782
+ right: 0;
11783
+ top: 0;
11784
+ transition: background-color ease-in-out .6s;
11785
+ width: 0; }
11786
+ [data-mode="premium"] .wpgdprc-form--overlay {
11787
+ background-color: rgba(255, 255, 255, 0.75);
11788
+ height: 100%;
11789
+ width: 100%;
11790
+ z-index: 1; }
11791
+
11792
+ .wpgdprc-form__field--colorpicker {
11793
+ position: relative;
11794
+ display: flex;
11795
+ flex-wrap: wrap;
11796
+ align-items: center; }
11797
+ .wpgdprc-form__field--colorpicker label {
11798
+ width: 100%; }
11799
+ .wpgdprc-form__field--colorpicker input[type="color"] {
11800
+ position: absolute;
11801
+ bottom: 0;
11802
+ width: 2.4375rem;
11803
+ height: 2.5625rem;
11804
+ -webkit-appearance: none;
11805
+ -moz-appearance: none;
11806
+ appearance: none; }
11807
+ .wpgdprc-form__field--colorpicker input[type="text"] {
11808
+ margin-left: 4.375rem; }
11809
+
11810
+ .wpgdprc-form__field .wpgdprc-link--edit + .wpgdprc-form__description {
11811
+ margin-top: 0.375rem; }
11812
+
11813
+ .wpgdprc-form__block--modal-settings .h3 {
11814
+ margin-bottom: 1.5rem; }
11815
+
11816
+ /**
11817
+ * Variation
11818
+ */
11819
+ .wpgdprc-form--privacy-policy .wpgdprc-form__field .wpgdprc-link--edit {
11820
+ margin-top: 0.75rem; }
11821
+
11822
+ .wpgdprc-form--edit-consent .cell--aside {
11823
+ display: flex;
11824
+ flex-direction: column; }
11825
+
11826
+ .wpgdprc-form--edit-consent .wpgdprc-form__field--code {
11827
+ display: flex;
11828
+ flex-direction: column;
11829
+ flex-grow: 1; }
11830
+ .wpgdprc-form--edit-consent .wpgdprc-form__field--code textarea, .wpgdprc-form--edit-consent .wpgdprc-form__field--code .CodeMirror {
11831
+ flex-grow: 1; }
11832
+
11833
+ @media print, screen and (min-width: 64em) {
11834
+ .wpgdprc-form--edit-consent .wpgdprc-form__field--submit {
11835
+ margin-top: 1.25rem; } }
11836
+
11837
+ .wpgdprc-form--request-user .wpgdprc-form__field select {
11838
+ width: auto;
11839
+ margin-right: 0.9375rem; }
11840
+
11841
+ .wpgdprc-label {
11842
+ font-size: 0.75rem;
11843
+ font-weight: 700;
11844
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
11845
+ line-height: 1.16667;
11846
+ display: inline-block;
11847
+ align-items: center;
11848
+ height: fit-content;
11849
+ color: #888888;
11850
+ background-color: #E1E1E1;
11851
+ border-radius: 6.25rem;
11852
+ padding: 0.375rem 0.8125rem;
11853
+ margin-top: 0;
11854
+ margin-bottom: 0; }
11855
+ .wpgdprc-label strong {
11856
+ font-weight: 700; }
11857
+
11858
+ .wpgdprc-label__info {
11859
+ border-radius: 100%;
11860
+ border: #000000 0.0625rem solid;
11861
+ background-color: #ffffff;
11862
+ display: inline-flex;
11863
+ height: calc(1rem - 0.0625rem * 2);
11864
+ width: calc(1rem - 0.0625rem * 2);
11865
+ justify-content: center;
11866
+ align-items: center;
11867
+ font-size: 0.875rem;
11868
+ font-family: Garamond; }
11869
+
11870
+ .wpgdprc-label--large {
11871
+ font-size: 0.875rem;
11872
+ line-height: 1.28571; }
11873
+
11874
+ .wpgdprc-label--success {
11875
+ color: #176F3E;
11876
+ background-color: #C1EED5; }
11877
+
11878
+ .wpgdprc-label--warning {
11879
+ color: #D03343;
11880
+ background-color: #FFEBED; }
11881
+
11882
+ .wpgdprc-label--gray-light {
11883
+ color: #5A5A5A;
11884
+ background-color: #F8F8F9; }
11885
+
11886
+ .wpgdprc-label.is-hidden {
11887
+ display: none; }
11888
+
11889
+ /**
11890
+ * Button.
11891
+ * ----------------------------------------------------------------------------
11892
+ */
11893
+ .wpgdprc-button,
11894
+ .button.wpgdprc-button {
11895
+ color: #ffffff;
11896
+ background-color: #3C7C96;
11897
+ border: 1px solid #3C7C96;
11898
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
11899
+ font-size: 1rem;
11900
+ line-height: 1.125;
11901
+ font-weight: 700;
11902
+ text-decoration: none;
11903
+ padding: 0.8125rem 1.125rem;
11904
+ border-radius: 3px;
11905
+ position: relative;
11906
+ display: inline-flex;
11907
+ width: auto;
11908
+ align-items: center;
11909
+ justify-content: center;
11910
+ cursor: pointer;
11911
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
11912
+ .wpgdprc-button.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--outline:not(:focus),
11913
+ .button.wpgdprc-button.wpgdprc-button--outline:not(:hover),
11914
+ .button.wpgdprc-button.wpgdprc-button--outline:not(:focus) {
11915
+ color: #3C7C96;
11916
+ background-color: transparent; }
11917
+ .wpgdprc-button.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--outline:focus,
11918
+ .button.wpgdprc-button.wpgdprc-button--outline:hover,
11919
+ .button.wpgdprc-button.wpgdprc-button--outline:focus {
11920
+ color: #ffffff;
11921
+ background-color: #2d5e72;
11922
+ border-color: #2d5e72;
11923
+ border-width: 1px; }
11924
+ .wpgdprc-button:hover, .wpgdprc-button:focus,
11925
+ :root .wpgdprc-button.wpgdprc-button--active,
11926
+ .button.wpgdprc-button:hover,
11927
+ .button.wpgdprc-button:focus,
11928
+ :root
11929
+ .button.wpgdprc-button.wpgdprc-button--active {
11930
+ color: #ffffff;
11931
+ background-color: #2d5e72;
11932
+ border-color: #2d5e72; }
11933
+
11934
+ .wpgdprc-button.wpgdprc-button--alert {
11935
+ color: #ffffff;
11936
+ background-color: #D03343;
11937
+ border: 1px solid #D03343;
11938
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
11939
+ font-size: 1rem;
11940
+ line-height: 1.125;
11941
+ font-weight: 700;
11942
+ text-decoration: none;
11943
+ padding: 0.8125rem 1.125rem;
11944
+ border-radius: 3px;
11945
+ position: relative;
11946
+ display: inline-flex;
11947
+ width: auto;
11948
+ align-items: center;
11949
+ justify-content: center;
11950
+ cursor: pointer;
11951
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
11952
+ .wpgdprc-button.wpgdprc-button--alert.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--alert.wpgdprc-button--outline:not(:focus) {
11953
+ color: #D03343;
11954
+ background-color: transparent; }
11955
+ .wpgdprc-button.wpgdprc-button--alert.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--alert.wpgdprc-button--outline:focus {
11956
+ color: #ffffff;
11957
+ background-color: #a92734;
11958
+ border-color: #a92734;
11959
+ border-width: 1px; }
11960
+ .wpgdprc-button.wpgdprc-button--alert:hover, .wpgdprc-button.wpgdprc-button--alert:focus,
11961
+ :root .wpgdprc-button.wpgdprc-button--alert.wpgdprc-button--active {
11962
+ color: #ffffff;
11963
+ background-color: #a92734;
11964
+ border-color: #a92734; }
11965
+
11966
+ .wpgdprc-button.wpgdprc-button--white {
11967
+ color: #5A5A5A;
11968
+ background-color: #ffffff;
11969
+ border: 1px solid #ffffff;
11970
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
11971
+ font-size: 1rem;
11972
+ line-height: 1.125;
11973
+ font-weight: 700;
11974
+ text-decoration: none;
11975
+ padding: 0.8125rem 1.125rem;
11976
+ border-radius: 3px;
11977
+ position: relative;
11978
+ display: inline-flex;
11979
+ width: auto;
11980
+ align-items: center;
11981
+ justify-content: center;
11982
+ cursor: pointer;
11983
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
11984
+ .wpgdprc-button.wpgdprc-button--white.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--white.wpgdprc-button--outline:not(:focus) {
11985
+ color: #ffffff;
11986
+ background-color: transparent; }
11987
+ .wpgdprc-button.wpgdprc-button--white.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--white.wpgdprc-button--outline:focus {
11988
+ color: #ffffff;
11989
+ background-color: #3C7C96;
11990
+ border-color: #3C7C96;
11991
+ border-width: 1px; }
11992
+ .wpgdprc-button.wpgdprc-button--white:hover, .wpgdprc-button.wpgdprc-button--white:focus,
11993
+ :root .wpgdprc-button.wpgdprc-button--white.wpgdprc-button--active {
11994
+ color: #ffffff;
11995
+ background-color: #3C7C96;
11996
+ border-color: #3C7C96; }
11997
+
11998
+ .wpgdprc-button.wpgdprc-button--white-primary {
11999
+ color: #3C7C96;
12000
+ background-color: #ffffff;
12001
+ border: 1px solid #ffffff;
12002
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12003
+ font-size: 1rem;
12004
+ line-height: 1.125;
12005
+ font-weight: 700;
12006
+ text-decoration: none;
12007
+ padding: 0.8125rem 1.125rem;
12008
+ border-radius: 3px;
12009
+ position: relative;
12010
+ display: inline-flex;
12011
+ width: auto;
12012
+ align-items: center;
12013
+ justify-content: center;
12014
+ cursor: pointer;
12015
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12016
+ .wpgdprc-button.wpgdprc-button--white-primary.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--white-primary.wpgdprc-button--outline:not(:focus) {
12017
+ color: #ffffff;
12018
+ background-color: transparent; }
12019
+ .wpgdprc-button.wpgdprc-button--white-primary.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--white-primary.wpgdprc-button--outline:focus {
12020
+ color: #ffffff;
12021
+ background-color: #3C7C96;
12022
+ border-color: #3C7C96;
12023
+ border-width: 1px; }
12024
+ .wpgdprc-button.wpgdprc-button--white-primary:hover, .wpgdprc-button.wpgdprc-button--white-primary:focus,
12025
+ :root .wpgdprc-button.wpgdprc-button--white-primary.wpgdprc-button--active {
12026
+ color: #ffffff;
12027
+ background-color: #3C7C96;
12028
+ border-color: #3C7C96; }
12029
+
12030
+ .wpgdprc-button.wpgdprc-button--white-alert {
12031
+ color: #D03343;
12032
+ background-color: #ffffff;
12033
+ border: 1px solid #ffffff;
12034
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12035
+ font-size: 1rem;
12036
+ line-height: 1.125;
12037
+ font-weight: 700;
12038
+ text-decoration: none;
12039
+ padding: 0.8125rem 1.125rem;
12040
+ border-radius: 3px;
12041
+ position: relative;
12042
+ display: inline-flex;
12043
+ width: auto;
12044
+ align-items: center;
12045
+ justify-content: center;
12046
+ cursor: pointer;
12047
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12048
+ .wpgdprc-button.wpgdprc-button--white-alert.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--white-alert.wpgdprc-button--outline:not(:focus) {
12049
+ color: #ffffff;
12050
+ background-color: transparent; }
12051
+ .wpgdprc-button.wpgdprc-button--white-alert.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--white-alert.wpgdprc-button--outline:focus {
12052
+ color: #ffffff;
12053
+ background-color: #D03343;
12054
+ border-color: #D03343;
12055
+ border-width: 1px; }
12056
+ .wpgdprc-button.wpgdprc-button--white-alert:hover, .wpgdprc-button.wpgdprc-button--white-alert:focus,
12057
+ :root .wpgdprc-button.wpgdprc-button--white-alert.wpgdprc-button--active {
12058
+ color: #ffffff;
12059
+ background-color: #D03343;
12060
+ border-color: #D03343; }
12061
+
12062
+ .wpgdprc-button.wpgdprc-button--transparent {
12063
+ color: #5A5A5A;
12064
+ background-color: transparent;
12065
+ border: 1px solid transparent;
12066
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12067
+ font-size: 1rem;
12068
+ line-height: 1.125;
12069
+ font-weight: 700;
12070
+ text-decoration: none;
12071
+ padding: 0.8125rem 1.125rem;
12072
+ border-radius: 3px;
12073
+ position: relative;
12074
+ display: inline-flex;
12075
+ width: auto;
12076
+ align-items: center;
12077
+ justify-content: center;
12078
+ cursor: pointer;
12079
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1);
12080
+ box-shadow: none; }
12081
+ .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--outline:not(:hover), .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--outline:not(:focus) {
12082
+ color: transparent;
12083
+ background-color: transparent; }
12084
+ .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--outline:hover, .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--outline:focus {
12085
+ color: #3C7C96;
12086
+ background-color: transparent;
12087
+ border-color: transparent;
12088
+ border-width: 1px; }
12089
+ .wpgdprc-button.wpgdprc-button--transparent:hover, .wpgdprc-button.wpgdprc-button--transparent:focus,
12090
+ :root .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--active {
12091
+ color: #3C7C96;
12092
+ background-color: transparent;
12093
+ border-color: transparent; }
12094
+
12095
+ .wpgdprc-button[disabled] {
12096
+ color: #AFAFAF;
12097
+ background-color: #F8F8F9;
12098
+ border: 1px solid #F8F8F9;
12099
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12100
+ font-size: 1rem;
12101
+ line-height: 1.125;
12102
+ font-weight: 700;
12103
+ text-decoration: none;
12104
+ padding: 0.8125rem 1.125rem;
12105
+ border-radius: 3px;
12106
+ position: relative;
12107
+ display: inline-flex;
12108
+ width: auto;
12109
+ align-items: center;
12110
+ justify-content: center;
12111
+ cursor: pointer;
12112
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1);
12113
+ cursor: not-allowed; }
12114
+ .wpgdprc-button[disabled].wpgdprc-button--outline:not(:hover), .wpgdprc-button[disabled].wpgdprc-button--outline:not(:focus) {
12115
+ color: #F8F8F9;
12116
+ background-color: transparent; }
12117
+ .wpgdprc-button[disabled].wpgdprc-button--outline:hover, .wpgdprc-button[disabled].wpgdprc-button--outline:focus {
12118
+ color: #AFAFAF;
12119
+ background-color: #F8F8F9;
12120
+ border-color: #F8F8F9;
12121
+ border-width: 1px; }
12122
+ .wpgdprc-button[disabled]:hover, .wpgdprc-button[disabled]:focus,
12123
+ :root .wpgdprc-button[disabled].wpgdprc-button--active {
12124
+ color: #AFAFAF;
12125
+ background-color: #F8F8F9;
12126
+ border-color: #F8F8F9; }
12127
+
12128
+ :root .wpgdprc-button.wpgdprc-button--small {
12129
+ font-weight: 700;
12130
+ font-size: 0.875rem;
12131
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
12132
+ line-height: 1.14286;
12133
+ padding: 0.5rem 0.875rem 0.3125rem 0.875rem;
12134
+ min-width: 4.3125rem; }
12135
+ :root .wpgdprc-button.wpgdprc-button--small.wpgdprc-button--transparent {
12136
+ box-shadow: none; }
12137
+
12138
+ .wpgdprc-button--transparent.wpgdprc-button--delete {
12139
+ color: #888888; }
12140
+ .wpgdprc-button--transparent.wpgdprc-button--delete:hover, .wpgdprc-button--transparent.wpgdprc-button--delete:focus {
12141
+ color: #3C7C96; }
12142
+
12143
+ .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--white {
12144
+ color: #ffffff; }
12145
+ .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--white:hover, .wpgdprc-button.wpgdprc-button--transparent.wpgdprc-button--white:focus {
12146
+ color: rgba(255, 255, 255, 0.6); }
12147
+
12148
+ :root .wpgdprc-button.wpgdprc-button--icon {
12149
+ padding: 0.5rem 1.125rem 0.3125rem 2.25rem;
12150
+ min-width: 0; }
12151
+ :root .wpgdprc-button.wpgdprc-button--icon .far {
12152
+ font-size: 0.875rem;
12153
+ position: absolute;
12154
+ top: 50%;
12155
+ left: 0.75rem;
12156
+ transform: translateY(-50%); }
12157
+
12158
+ .wpgdprc-button.wpgdprc-button--border {
12159
+ border-color: #D6D6D6; }
12160
+
12161
+ .wpgdprc-button.is-hidden {
12162
+ display: none; }
12163
+
12164
+ .wpgdprc-link {
12165
+ font-size: 0.875rem;
12166
+ font-weight: 700;
12167
+ position: relative;
12168
+ display: inline-flex;
12169
+ align-items: center;
12170
+ text-decoration: none;
12171
+ color: #3C7C96; }
12172
+ .wpgdprc-link::before {
12173
+ content: "\f061";
12174
+ font-family: "Font Awesome 5 Pro";
12175
+ font-weight: 300;
12176
+ position: relative;
12177
+ top: -0.125rem;
12178
+ font-size: 1rem;
12179
+ display: flex;
12180
+ align-items: center;
12181
+ justify-content: center;
12182
+ color: inherit;
12183
+ height: 1rem;
12184
+ width: 1rem;
12185
+ margin-right: 0.625rem;
12186
+ transition: transform 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12187
+ .wpgdprc-link:hover, .wpgdprc-link:focus {
12188
+ color: #2d5e72;
12189
+ opacity: .7; }
12190
+ .wpgdprc-link:hover::before, .wpgdprc-link:focus::before {
12191
+ transform: translateX(4px); }
12192
+
12193
+ .wpgdprc-link.is-hidden {
12194
+ display: none; }
12195
+
12196
+ .wpgdprc-link--white {
12197
+ color: #ffffff; }
12198
+ .wpgdprc-link--white:hover, .wpgdprc-link--white:focus {
12199
+ color: #ffffff; }
12200
+
12201
+ .wpgdprc-link--edit {
12202
+ font-size: 1rem;
12203
+ font-style: italic;
12204
+ text-decoration: none; }
12205
+ .wpgdprc-link--edit::before {
12206
+ display: none; }
12207
+
12208
+ .wpgdprc-switch {
12209
+ display: inline-flex;
12210
+ align-items: center; }
12211
+ :root .wpgdprc-switch .wpgdprc-form__label {
12212
+ margin-bottom: 0; }
12213
+ .wpgdprc-switch.regular-text {
12214
+ width: auto; }
12215
+
12216
+ .wpgdprc-switch__text {
12217
+ font-size: 0.875rem;
12218
+ font-weight: 700;
12219
+ margin-right: 0.9375rem; }
12220
+
12221
+ .wpgdprc-switch__switch {
12222
+ position: relative;
12223
+ display: inline-block;
12224
+ width: 5.125rem;
12225
+ height: 2.25rem; }
12226
+
12227
+ .wpgdprc-switch__input {
12228
+ opacity: 0;
12229
+ width: 0;
12230
+ height: 0; }
12231
+ .wpgdprc-switch__input:focus + .wpgdprc-switch__slider {
12232
+ box-shadow: 0 0 8px 0 #3C7C96; }
12233
+ .wpgdprc-switch__input:disabled {
12234
+ border: 0px; }
12235
+ .wpgdprc-switch__input:disabled + .wpgdprc-switch__slider::after {
12236
+ opacity: 1; }
12237
+
12238
+ .wpgdprc-switch__slider {
12239
+ position: absolute;
12240
+ cursor: pointer;
12241
+ top: 0;
12242
+ left: 0;
12243
+ right: 0;
12244
+ bottom: 0;
12245
+ background-color: #ffffff;
12246
+ border-radius: 6.25rem;
12247
+ box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
12248
+ overflow: hidden;
12249
+ transition: .4s; }
12250
+ .wpgdprc-switch__slider::before {
12251
+ position: absolute;
12252
+ content: "\f00d";
12253
+ font-family: "Font Awesome 5 Pro";
12254
+ font-size: 0.875rem;
12255
+ font-weight: bold;
12256
+ display: flex;
12257
+ justify-content: center;
12258
+ align-items: center;
12259
+ height: 1.75rem;
12260
+ width: 2.4375rem;
12261
+ left: 4px;
12262
+ bottom: calc((100% - 1.75rem) / 2);
12263
+ color: #ffffff;
12264
+ background-color: #888888;
12265
+ border-radius: 6.25rem;
12266
+ -webkit-transition: .4s;
12267
+ transition: .4s; }
12268
+ .wpgdprc-switch__slider::after {
12269
+ content: ' ';
12270
+ position: absolute;
12271
+ top: 0;
12272
+ left: 0;
12273
+ height: 100%;
12274
+ width: 100%;
12275
+ background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4) 0.5rem, rgba(136, 136, 136, 0.4) 0.5rem, rgba(136, 136, 136, 0.4) 1rem);
12276
+ background-size: 200% 200%;
12277
+ animation: barberpole 1s linear infinite;
12278
+ opacity: 0;
12279
+ transition: opacity 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12280
+
12281
+ .wpgdprc-switch__input:checked + .wpgdprc-switch__slider::before {
12282
+ content: "\f00c";
12283
+ background-color: #176F3E; }
12284
+
12285
+ .wpgdprc-switch__input:checked + .wpgdprc-switch__slider:before {
12286
+ transform: translateX(35px); }
12287
+
12288
+ /**
12289
+ * Variations
12290
+ */
12291
+ .wpgdprc-switch--border .wpgdprc-switch__slider {
12292
+ border: 1px solid #D8D8D8; }
12293
+
12294
+ .wpgdprc-switch--column {
12295
+ flex-direction: column;
12296
+ align-items: flex-start; }
12297
+ .wpgdprc-switch--column .wpgdprc-switch__text {
12298
+ font-size: 1.125rem;
12299
+ color: #000000;
12300
+ margin-right: 0;
12301
+ margin-bottom: 0.625rem; }
12302
+
12303
+ .wpgdprc-switch--no-margin-right .wpgdprc-switch__text {
12304
+ margin-right: 0; }
12305
+
12306
+ /**
12307
+ * Message (admin/font)
12308
+ */
12309
+ .wpgdprc-message {
12310
+ display: flex;
12311
+ position: relative;
12312
+ margin-bottom: 1rem; }
12313
+ .wpgdprc-message:last-child {
12314
+ margin-bottom: 0; }
12315
+ .wpgdprc-message.fade-out {
12316
+ animation-name: fade-out;
12317
+ animation-duration: 0.25s;
12318
+ animation-timing-function: cubic-bezier(0, 0.6, 0.7, 1);
12319
+ animation-fill-mode: forwards; }
12320
+
12321
+ .wpgdprc-message__icon {
12322
+ order: 0;
12323
+ margin-top: unset;
12324
+ align-self: flex-start; }
12325
+ .wpgdprc-message__icon svg {
12326
+ width: 1.5rem; }
12327
+
12328
+ .wpgdprc-message__content {
12329
+ order: 1; }
12330
+
12331
+ .wpgdprc-message.is-hidden {
12332
+ display: none; }
12333
+
12334
+ .wpgdprc-message {
12335
+ color: #3C7C96;
12336
+ background-color: #ECF3F6;
12337
+ border: 1px solid #ADCBD8;
12338
+ border-radius: 5px;
12339
+ padding: 0.625rem; }
12340
+ .wpgdprc-message > * {
12341
+ padding: 0.625rem; }
12342
+
12343
+ .wpgdprc-message__container {
12344
+ display: flex;
12345
+ align-items: center; }
12346
+ .wpgdprc-message__container .wpgdprc-button {
12347
+ color: #ffffff !important; }
12348
+
12349
+ .wpgdprc-message__content a:not(.wpgdprc-button) {
12350
+ font-weight: 700;
12351
+ color: #3C7C96;
12352
+ text-underline-position: auto;
12353
+ text-underline-offset: 0.0625rem; }
12354
+ .wpgdprc-message__content a:not(.wpgdprc-button):hover, .wpgdprc-message__content a:not(.wpgdprc-button):focus {
12355
+ color: #2d5e72; }
12356
+
12357
+ .wpgdprc .wpgdprc-message__title {
12358
+ color: #3C7C96;
12359
+ padding-right: 2.1875rem; }
12360
+
12361
+ .wpgdprc-message__action {
12362
+ position: absolute;
12363
+ top: 0;
12364
+ right: 0; }
12365
+
12366
+ .wpgdprc .wpgdprc-message__button {
12367
+ font-size: 0.875rem;
12368
+ align-items: center;
12369
+ background-color: transparent;
12370
+ border: none;
12371
+ color: #3C7C96;
12372
+ cursor: pointer;
12373
+ display: flex;
12374
+ margin-left: -0.8125rem;
12375
+ position: relative;
12376
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12377
+ .wpgdprc .wpgdprc-message__button::before {
12378
+ font-weight: 400;
12379
+ content: "\f00d";
12380
+ font-family: "Font Awesome 5 Pro";
12381
+ font-size: 0.875rem;
12382
+ display: flex;
12383
+ align-items: center;
12384
+ justify-content: center;
12385
+ color: inherit;
12386
+ height: 2rem;
12387
+ width: 2rem; }
12388
+ .wpgdprc .wpgdprc-message__button span {
12389
+ display: none; }
12390
+ .wpgdprc .wpgdprc-message__button:hover, .wpgdprc .wpgdprc-message__button:focus {
12391
+ opacity: 1;
12392
+ color: #2d5e72; }
12393
+
12394
+ .wpgdprc-message--large-icon .wpgdprc-message__icon {
12395
+ margin-right: 1rem; }
12396
+ .wpgdprc-message--large-icon .wpgdprc-message__icon svg {
12397
+ width: 4.5rem; }
12398
+
12399
+ .wpgdprc-message__icon path {
12400
+ fill: #3C7C96; }
12401
+
12402
+ @media screen and (min-width: 75em) {
12403
+ .wpgdprc-message {
12404
+ flex-wrap: unset;
12405
+ justify-content: space-between; }
12406
+ .wpgdprc-message__container {
12407
+ padding: 1.25rem; }
12408
+ :root .wpgdprc-message__title {
12409
+ padding-right: 0; }
12410
+ .wpgdprc-message__icon {
12411
+ padding: 0 0.4375rem; }
12412
+ .wpgdprc-message__action {
12413
+ flex-shrink: 0;
12414
+ position: relative;
12415
+ top: unset;
12416
+ right: unset; }
12417
+ :root .wpgdprc-message__button {
12418
+ margin-top: -0.625rem; }
12419
+ :root .wpgdprc-message__button span {
12420
+ display: inline; } }
12421
+
12422
+ /**
12423
+ * Variation
12424
+ */
12425
+ .wpgdprc-message--warning {
12426
+ color: #733312;
12427
+ background-color: #FEF8EA;
12428
+ border-color: #F6E1C0; }
12429
+ .wpgdprc .wpgdprc-message--warning .wpgdprc-message__title {
12430
+ color: #733312; }
12431
+ .wpgdprc .wpgdprc-message--warning .wpgdprc-message__button {
12432
+ color: #733312; }
12433
+ .wpgdprc .wpgdprc-message--warning .wpgdprc-message__button:hover, .wpgdprc .wpgdprc-message--warning .wpgdprc-message__button:focus {
12434
+ color: #471f0b; }
12435
+ .wpgdprc-message--warning .wpgdprc-message__icon path {
12436
+ fill: #733312; }
12437
+
12438
+ .wpgdprc-message--error {
12439
+ color: #600404;
12440
+ background-color: #FFEBED;
12441
+ border-color: #F1CEC6; }
12442
+ .wpgdprc .wpgdprc-message--error .wpgdprc-message__title {
12443
+ color: #600404; }
12444
+ .wpgdprc .wpgdprc-message--error .wpgdprc-message__button {
12445
+ color: #600404; }
12446
+ .wpgdprc .wpgdprc-message--error .wpgdprc-message__button:hover, .wpgdprc .wpgdprc-message--error .wpgdprc-message__button:focus {
12447
+ color: #2f0202; }
12448
+ .wpgdprc-message--error .wpgdprc-message__icon path {
12449
+ fill: #600404; }
12450
+
12451
+ .wpgdprc-tile {
12452
+ position: relative;
12453
+ background-color: #F8F8F9;
12454
+ padding: 1.5625rem;
12455
+ border-radius: 5px;
12456
+ display: flex;
12457
+ flex-direction: column;
12458
+ height: calc(100% - 50px); }
12459
+
12460
+ .wpgdprc-tile__content {
12461
+ margin-bottom: 1.875rem; }
12462
+
12463
+ p.wpgdprc-tile__title {
12464
+ margin-bottom: 0.625rem; }
12465
+
12466
+ .wpgdprc-tile__text {
12467
+ font-size: 1rem; }
12468
+ .wpgdprc-tile__text--success {
12469
+ color: #176F3E; }
12470
+ .wpgdprc-tile__text--warning {
12471
+ color: #ffae00; }
12472
+
12473
+ .wpgdprc-tile__footer {
12474
+ margin-top: auto; }
12475
+
12476
+ :root .wpgdprc-tile__message {
12477
+ font-size: 0.75rem;
12478
+ line-height: 1.125rem; }
12479
+
12480
+ .wpgdprc-tile__check {
12481
+ margin-top: 0.8125rem; }
12482
+
12483
+ .wpgdprc-tile--primary {
12484
+ color: #ffffff;
12485
+ background-color: #3C7C96; }
12486
+ .wpgdprc-tile--primary .wpgdprc-tile__title {
12487
+ color: #ffffff; }
12488
+ .wpgdprc-tile--primary .wpgdprc-tile__text {
12489
+ opacity: .8; }
12490
+
12491
+ .wpgdprc-tile--manage .wpgdprc-tile__title {
12492
+ font-size: 1rem;
12493
+ font-weight: 400;
12494
+ color: #5A5A5A;
12495
+ margin-bottom: 0; }
12496
+ .wpgdprc-tile--manage .wpgdprc-tile__title span {
12497
+ display: block; }
12498
+
12499
+ .wpgdprc-tile--manage .wpgdprc-tile__text {
12500
+ font-size: 0.875rem;
12501
+ color: #888888;
12502
+ margin-top: 0.9375rem;
12503
+ padding-top: 0.5625rem;
12504
+ border-top: 0.0625rem solid #D8D8D8; }
12505
+
12506
+ .wpgdprc-tile--manage .wpgdprc-link::before {
12507
+ content: "\f013"; }
12508
+
12509
+ .wpgdprc-tile--manage .wpgdprc-link:hover::before, .wpgdprc-tile--manage .wpgdprc-link:focus::before {
12510
+ transform: rotate(180deg); }
12511
+
12512
+ .wpgdprc-tile--text {
12513
+ color: #888888; }
12514
+ .wpgdprc-tile--text .wpgdprc-tile__content {
12515
+ margin-bottom: 1.25rem; }
12516
+ .wpgdprc-tile--text .wpgdprc-tile__text {
12517
+ font-size: 0.875rem; }
12518
+
12519
+ .wpgdprc-tile--green-light {
12520
+ color: #176F3E;
12521
+ background-color: #C1EED5; }
12522
+ .wpgdprc-tile--green-light .wpgdprc-tile__title {
12523
+ color: #176F3E; }
12524
+
12525
+ .wpgdprc-badge {
12526
+ position: relative;
12527
+ background-color: #F8F8F9;
12528
+ padding: 1.5625rem;
12529
+ border-radius: 5px;
12530
+ display: flex;
12531
+ align-items: center;
12532
+ height: calc(100% - 50px); }
12533
+
12534
+ .wpgdprc-badge__content {
12535
+ order: 1;
12536
+ flex-grow: 1; }
12537
+
12538
+ .wpgdprc .wpgdprc-badge__title {
12539
+ margin-bottom: 0.25rem; }
12540
+
12541
+ .wpgdprc-badge__text {
12542
+ font-size: 0.875rem; }
12543
+
12544
+ .wpgdprc-badge__icon {
12545
+ order: 0;
12546
+ flex-shrink: 0;
12547
+ margin-right: 0.9375rem; }
12548
+ .wpgdprc-badge__icon svg {
12549
+ width: 1.75rem; }
12550
+ .wpgdprc-badge__icon path {
12551
+ fill: #3C7C96; }
12552
+
12553
+ /**
12554
+ * Variations
12555
+ */
12556
+ .wpgdprc-badge--woocommerce .wpgdprc-badge__icon svg {
12557
+ width: 2.6875rem;
12558
+ max-height: 1.75rem; }
12559
+
12560
+ .wpgdprc-text--warning {
12561
+ color: red; }
12562
+
12563
+ .wpgdprc pre,
12564
+ span.wpgdprc-pre {
12565
+ display: inline;
12566
+ font-family: monospace;
12567
+ font-style: normal;
12568
+ white-space: pre-wrap;
12569
+ white-space: -moz-pre-wrap;
12570
+ white-space: -pre-wrap;
12571
+ white-space: -o-pre-wrap;
12572
+ word-wrap: break-word; }
12573
+
12574
+ span.wpgdprc-pre--strong {
12575
+ font-weight: bold; }
12576
+
12577
+ /**
12578
+ * Consent bar.
12579
+ * ----------------------------------------------------------------------------
12580
+ */
12581
+ .wpgdprc-consent-bar {
12582
+ position: fixed;
12583
+ bottom: 0;
12584
+ right: 0;
12585
+ left: 0;
12586
+ margin: 0.9375rem;
12587
+ font-family: var(--wp-gdpr--bar--font-family, inherit);
12588
+ z-index: 99999; }
12589
+
12590
+ .wpgdprc-consent-bar__inner {
12591
+ color: var(--wp-gdpr--bar--color);
12592
+ background-color: var(--wp-gdpr--bar--background-color);
12593
+ padding: 1.25rem 0.625rem;
12594
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12595
+ text-align: center;
12596
+ z-index: 999;
12597
+ animation: wpgdprcFadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
12598
+ border-radius: 5px;
12599
+ max-width: 75rem;
12600
+ margin: 0 auto; }
12601
+
12602
+ .wpgdprc-consent-bar__container {
12603
+ position: relative;
12604
+ display: flex;
12605
+ flex-wrap: wrap; }
12606
+
12607
+ .wpgdprc-consent-bar__column {
12608
+ padding: 0 10px; }
12609
+
12610
+ .wpgdprc-consent-bar__column:first-child {
12611
+ flex-grow: 1; }
12612
+
12613
+ .wpgdprc-consent-bar__content {
12614
+ display: -webkit-box;
12615
+ display: -ms-flexbox;
12616
+ display: flex;
12617
+ -webkit-box-align: center;
12618
+ -ms-flex-align: center;
12619
+ align-items: center;
12620
+ width: 100%;
12621
+ text-align: left;
12622
+ flex-wrap: wrap; }
12623
+
12624
+ .wpgdprc-consent-bar__column--notice {
12625
+ flex-grow: 1;
12626
+ margin-bottom: 0.5rem; }
12627
+
12628
+ .wpgdprc-consent-bar__column--settings {
12629
+ margin-left: auto; }
12630
+
12631
+ .wpgdprc-consent-bar__notice {
12632
+ font-size: 1rem; }
12633
+ .wpgdprc-consent-bar__notice p {
12634
+ margin-bottom: 0; }
12635
+
12636
+ :root .wpgdprc-consent-bar button.wpgdprc-button--accept {
12637
+ color: var(--wp-gdpr--button--color);
12638
+ background-color: var(--wp-gdpr--button--background-color);
12639
+ border-color: var(--wp-gdpr--button--background-color);
12640
+ padding: 5px 10px;
12641
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
12642
+ font-size: 1rem;
12643
+ line-height: 1.16667;
12644
+ font-weight: 700;
12645
+ text-decoration: none;
12646
+ padding: 0.8125rem 1.125rem;
12647
+ border-radius: 3px;
12648
+ position: relative;
12649
+ display: inline-flex;
12650
+ width: auto;
12651
+ align-items: center;
12652
+ justify-content: center;
12653
+ cursor: pointer;
12654
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12655
+ :root .wpgdprc-consent-bar button.wpgdprc-button--accept:hover, :root .wpgdprc-consent-bar button.wpgdprc-button--accept:focus {
12656
+ background-color: var(--wp-gdpr--button--background-color--darken);
12657
+ border-color: var(--wp-gdpr--button--background-color--darken); }
12658
+
12659
+ :root .wpgdprc-consent-bar button.wpgdprc-button--settings {
12660
+ color: var(--wp-gdpr--bar--color);
12661
+ background-color: transparent;
12662
+ box-shadow: none;
12663
+ border-color: transparent; }
12664
+ :root .wpgdprc-consent-bar button.wpgdprc-button--settings:hover, :root .wpgdprc-consent-bar button.wpgdprc-button--settings:focus {
12665
+ background-color: transparent;
12666
+ box-shadow: none;
12667
+ border-color: transparent;
12668
+ opacity: .75; }
12669
+
12670
+ @media print, screen and (min-width: 40em) {
12671
+ .wpgdprc-consent-bar__column--notice {
12672
+ flex-grow: 0;
12673
+ margin-bottom: 0; }
12674
+ .wpgdprc-consent-bar__column--settings {
12675
+ margin-left: 0; }
12676
+ .wpgdprc-consent-bar__content {
12677
+ flex-wrap: nowrap; } }
12678
+
12679
+ /**
12680
+ * Variation
12681
+ */
12682
+ .wpgdprc-consent-bar--position-top {
12683
+ bottom: auto;
12684
+ top: 0; }
12685
+ .admin-bar .wpgdprc-consent-bar--position-top {
12686
+ top: 2.875rem; }
12687
+ @media screen and (min-width: 48.9375em) {
12688
+ .admin-bar .wpgdprc-consent-bar--position-top {
12689
+ top: 2rem; } }
12690
+
12691
+ .wpgdprc-consent-bar--admin {
12692
+ margin: 0;
12693
+ position: relative; }
12694
+ .wpgdprc-consent-bar--admin .wpgdprc-consent-bar__notice {
12695
+ max-width: 100%; }
12696
+
12697
+ .text-with-icon {
12698
+ background-color: #ECF3F6;
12699
+ padding: 1.9375rem 1.5625rem;
12700
+ margin-top: 1.5rem;
12701
+ display: flex; }
12702
+ .text-with-icon *, .text-with-icon p, .text-with-icon .text-with-icon__title {
12703
+ color: #3C7C96; }
12704
+ .text-with-icon .text-with-icon__icon {
12705
+ width: 3rem;
12706
+ margin-right: 1.25rem;
12707
+ stroke-color: #3C7C96; }
12708
+ .text-with-icon .text-with-icon__icon svg {
12709
+ width: 48px; }
12710
+
12711
+ .spinner {
12712
+ margin-right: .5rem;
12713
+ height: 100%;
12714
+ width: auto; }
12715
+
12716
+ .spinner__spin {
12717
+ height: 1.2rem;
12718
+ aspect-ratio: 1 / 1;
12719
+ display: block;
12720
+ vertical-align: text-bottom;
12721
+ border: 0.2em solid #ffffff;
12722
+ border-right-color: transparent;
12723
+ border-radius: 50%;
12724
+ animation: spinner .75s linear infinite; }
12725
+
12726
+ @keyframes spinner {
12727
+ to {
12728
+ transform: rotate(360deg); } }
12729
+
12730
+ /* Admin Components */
12731
+ body.wp-admin pre.debug {
12732
+ background-color: #DDD;
12733
+ border: 1px solid #999;
12734
+ padding: 10px;
12735
+ width: 95%; }
12736
+ body.wp-admin pre.debug::before {
12737
+ color: #999;
12738
+ content: 'DEBUGGING INFO:';
12739
+ display: block; }
12740
+
12741
+ .wpgdprc-integration-item {
12742
+ display: flex;
12743
+ flex-wrap: wrap;
12744
+ align-items: center;
12745
+ padding: 1.5625rem;
12746
+ margin: 0.625rem 0;
12747
+ background-color: #F8F8F9; }
12748
+
12749
+ .wpgdprc-integration-item__header {
12750
+ display: flex;
12751
+ flex-wrap: wrap;
12752
+ flex-grow: 1; }
12753
+
12754
+ .wpgdprc-integration-item__header-inner {
12755
+ display: flex; }
12756
+
12757
+ .wpgdprc-integration-item__content {
12758
+ order: 2; }
12759
+ .wpgdprc-integration-item__content a {
12760
+ font-weight: 700;
12761
+ color: #3C7C96;
12762
+ text-underline-position: auto;
12763
+ text-underline-offset: 0.0625rem; }
12764
+ .wpgdprc-integration-item__content a:hover, .wpgdprc-integration-item__content a:focus {
12765
+ color: #2d5e72; }
12766
+
12767
+ :root .wpgdprc-integration-item__title {
12768
+ font-size: 1rem;
12769
+ line-height: 1.625;
12770
+ display: flex;
12771
+ align-items: center;
12772
+ margin-bottom: 0.25rem; }
12773
+ :root .wpgdprc-integration-item__title span {
12774
+ margin-left: 0.625rem; }
12775
+
12776
+ :root p.wpgdprc-integration-item__text {
12777
+ font-size: 0.875rem;
12778
+ max-width: 50.4375rem; }
12779
+
12780
+ .wpgdprc-integration-item__icon {
12781
+ order: 1;
12782
+ flex-shrink: 0;
12783
+ width: 4.25rem;
12784
+ height: 2.8125rem;
12785
+ display: flex;
12786
+ align-items: center;
12787
+ justify-content: center;
12788
+ flex-shrink: 0;
12789
+ margin: 0;
12790
+ margin-left: -1.5625rem; }
12791
+ .wpgdprc-integration-item__icon svg {
12792
+ width: 1.625rem; }
12793
+ .wpgdprc-integration-item__icon svg path {
12794
+ fill: #3C7C96; }
12795
+
12796
+ .wpgdprc-integration-item__icon--woocommerce svg {
12797
+ width: 2.375rem; }
12798
+
12799
+ .wpgdprc-integration-item__action {
12800
+ flex-shrink: 0;
12801
+ margin-top: 0.9375rem;
12802
+ margin-left: 2.6875rem; }
12803
+
12804
+ .wpgdprc-integration-item__container {
12805
+ width: 100%;
12806
+ max-height: 0;
12807
+ padding: 0;
12808
+ opacity: 0;
12809
+ overflow: hidden;
12810
+ transition: max-height 0.25s ease-out, opacity 0.25s ease-out, padding-top 0.25s ease-out; }
12811
+
12812
+ .wpgdprc-integration-item__container.is-expanded {
12813
+ overflow: hidden;
12814
+ padding-top: 1.25rem;
12815
+ opacity: 1; }
12816
+
12817
+ .wpgdprc-integration-item__form {
12818
+ background-color: #F0F0F0;
12819
+ border-radius: 5px;
12820
+ padding: 1.25rem;
12821
+ margin-bottom: 1.25rem; }
12822
+ .wpgdprc-integration-item__form:last-child {
12823
+ margin-bottom: 0; }
12824
+
12825
+ .wpgdprc-integration-item__form-field {
12826
+ width: 100%;
12827
+ margin-bottom: 1.25rem; }
12828
+
12829
+ .wpgdprc-integration-item__form-label {
12830
+ font-weight: 700;
12831
+ font-size: 0.875rem;
12832
+ display: inline-block;
12833
+ color: #000000;
12834
+ margin-bottom: 0.625rem; }
12835
+
12836
+ .wpgdprc-integration-item__form-label--large {
12837
+ font-size: 1rem; }
12838
+
12839
+ .wpgdprc-integration-item__form-input-container--main {
12840
+ position: relative;
12841
+ display: flex;
12842
+ align-items: center; }
12843
+ .wpgdprc-integration-item__form-input-container--main::before {
12844
+ content: "\f14a";
12845
+ font-family: "Font Awesome 5 Pro";
12846
+ font-size: 1.25rem;
12847
+ color: #3C7C96;
12848
+ display: flex;
12849
+ align-items: center;
12850
+ flex-shrink: 0;
12851
+ justify-content: left;
12852
+ height: 2.125rem;
12853
+ width: 2.125rem;
12854
+ transition: transform 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12855
+
12856
+ :root input.wpgdprc-integration-item__form-input {
12857
+ font-size: 0.875rem;
12858
+ padding: 0.375rem 0.75rem; }
12859
+ :root input.wpgdprc-integration-item__form-input:disabled {
12860
+ opacity: .5; }
12861
+
12862
+ :root p.wpgdprc-integration-item__form-description {
12863
+ font-size: 0.75rem;
12864
+ color: #888888; }
12865
+
12866
+ .wpgdprc-integration-item__grid {
12867
+ display: flex;
12868
+ flex-flow: row wrap;
12869
+ margin: 0 -0.9375rem; }
12870
+
12871
+ .wpgdprc-integration-item__cell {
12872
+ position: relative;
12873
+ display: flex;
12874
+ flex: 0 0 auto;
12875
+ min-height: 0px;
12876
+ min-width: 0px;
12877
+ width: calc(100% - 1.875rem);
12878
+ margin-left: 0.9375rem;
12879
+ margin-right: 0.9375rem; }
12880
+
12881
+ .wpgdprc-integration-item__submit {
12882
+ margin-top: 1.125rem; }
12883
+
12884
+ :root .wpgdprc-integration-item__submit .wpgdprc-button {
12885
+ padding: 0;
12886
+ font-weight: normal;
12887
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
12888
+ color: #888888; }
12889
+ :root .wpgdprc-integration-item__submit .wpgdprc-button:hover, :root .wpgdprc-integration-item__submit .wpgdprc-button:focus {
12890
+ color: #3C7C96; }
12891
+
12892
+ @media screen and (min-width: 48.9375em) {
12893
+ .wpgdprc-integration-item__header {
12894
+ flex-wrap: unset; }
12895
+ .wpgdprc-integration-item__header-inner {
12896
+ margin-right: 1.875rem; }
12897
+ .wpgdprc-integration-item__content {
12898
+ margin-bottom: 0; }
12899
+ .wpgdprc-integration-item__action {
12900
+ margin-top: unset;
12901
+ margin-left: auto; } }
12902
+
12903
+ @media print, screen and (min-width: 40em) {
12904
+ .wpgdprc-integration-item__cell {
12905
+ flex: 0 0 auto;
12906
+ width: calc(50% - 1.875rem);
12907
+ margin-left: 0.9375rem;
12908
+ margin-right: 0.9375rem; }
12909
+ .wpgdprc-integration-item__form-group {
12910
+ padding-left: 2.125rem; } }
12911
+
12912
+ @media screen and (min-width: 60.0625em) {
12913
+ .wpgdprc-integration-item__container {
12914
+ padding-left: 2.6875rem; } }
12915
+
12916
+ /**
12917
+ * Banner item for [consent, requests]
12918
+ */
12919
+ .wpgdprc-banner-item {
12920
+ padding: 0.75rem 1.375rem;
12921
+ background-color: #F8F8F9;
12922
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12923
+ .wpgdprc-banner-item:not(:last-child) {
12924
+ margin-bottom: 1.25rem; }
12925
+
12926
+ .wpgdprc-banner-item__inner {
12927
+ display: flex;
12928
+ flex-wrap: wrap;
12929
+ align-items: center;
12930
+ justify-content: space-between; }
12931
+
12932
+ .wpgdprc-banner-item__header {
12933
+ display: flex;
12934
+ flex-wrap: wrap;
12935
+ align-items: center;
12936
+ margin: 0.625rem 0; }
12937
+
12938
+ :root .wpgdprc-banner-item__title {
12939
+ margin-right: 0.9375rem;
12940
+ transition: color 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
12941
+
12942
+ .wpgdprc-banner-item__edited {
12943
+ font-size: 0.875rem;
12944
+ color: #888888;
12945
+ font-style: italic; }
12946
+
12947
+ .wpgdprc-banner-item__container {
12948
+ display: flex;
12949
+ flex-wrap: wrap;
12950
+ align-items: center;
12951
+ margin: 0.625rem 0;
12952
+ flex-grow: 1;
12953
+ justify-content: flex-end; }
12954
+
12955
+ .wpgdprc-banner-item__content {
12956
+ display: flex;
12957
+ flex-wrap: wrap;
12958
+ align-items: center;
12959
+ justify-content: space-between; }
12960
+
12961
+ .wpgdprc-banner-item__content-wrap {
12962
+ display: flex;
12963
+ flex-wrap: wrap;
12964
+ align-items: center;
12965
+ flex-grow: 1;
12966
+ justify-content: space-between; }
12967
+
12968
+ .wpgdprc-banner-item__content[aria-hidden="true"] {
12969
+ display: none; }
12970
+
12971
+ .wpgdprc-banner-item__actions-wrap {
12972
+ display: flex;
12973
+ flex-wrap: wrap;
12974
+ align-items: center;
12975
+ margin-top: 0.625rem;
12976
+ margin-bottom: 0.625rem;
12977
+ flex-grow: 1;
12978
+ justify-content: flex-end; }
12979
+
12980
+ :root .wpgdprc-banner-item__label {
12981
+ margin-right: 1.25rem; }
12982
+
12983
+ :root .wpgdprc-banner-item__actions {
12984
+ display: flex;
12985
+ flex-wrap: wrap;
12986
+ align-items: center;
12987
+ margin: 0 -0.875rem 0 0; }
12988
+ :root .wpgdprc-banner-item__actions li {
12989
+ margin: 0; }
12990
+
12991
+ :root .wpgdprc-banner-item__list {
12992
+ display: flex;
12993
+ flex-wrap: wrap;
12994
+ align-items: center;
12995
+ margin: -0.3125rem -0.9375rem;
12996
+ list-style: none;
12997
+ flex-grow: 1;
12998
+ justify-content: space-between; }
12999
+
13000
+ :root .wpgdprc-banner-item__item {
13001
+ margin: 0.3125rem 0.9375rem;
13002
+ font-size: 0.875rem;
13003
+ line-height: 1.85714; }
13004
+ :root .wpgdprc-banner-item__item span {
13005
+ font-weight: bold;
13006
+ display: block; }
13007
+
13008
+ /**
13009
+ * Variation
13010
+ */
13011
+ .wpgdprc-banner-item--request .wpgdprc-banner-item__header {
13012
+ width: 375px;
13013
+ max-width: 375px; }
13014
+
13015
+ .wpgdprc-banner-item--request .wpgdprc-banner-item__container {
13016
+ margin: 0; }
13017
+
13018
+ .wpgdprc-banner-item--request .wpgdprc-banner-item__content {
13019
+ flex-grow: 1; }
13020
+
13021
+ .wpgdprc-banner-item.will-delete {
13022
+ color: #ffffff;
13023
+ background-color: #D03343; }
13024
+ .wpgdprc-banner-item.will-delete .wpgdprc-banner-item__title {
13025
+ color: #ffffff; }
13026
+ .wpgdprc-banner-item.will-delete .wpgdprc-banner-item__text {
13027
+ font-weight: 700;
13028
+ margin-right: 1.25rem; }
13029
+ .wpgdprc-banner-item.will-delete .wpgdprc-banner-item__edited {
13030
+ display: none; }
13031
+
13032
+ @media screen and (min-width: 81.25em) {
13033
+ .wpgdprc-banner-item.will-delete .wpgdprc-banner-item__text {
13034
+ margin-right: 2.625rem; } }
13035
+
13036
+ .wpgdprc-request-item {
13037
+ padding: 0.75rem 1.375rem;
13038
+ background-color: #F8F8F9;
13039
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
13040
+ .wpgdprc-request-item:not(:last-child) {
13041
+ margin-bottom: 1.25rem; }
13042
+
13043
+ .wpgdprc-section__header {
13044
+ margin-bottom: 1.25rem; }
13045
+
13046
+ .wpgdprc-section__title {
13047
+ margin-bottom: 0; }
13048
+
13049
+ .wpgdprc-tiles__header {
13050
+ margin-bottom: 1.25rem; }
13051
+
13052
+ .wpgdprc-tiles__title {
13053
+ margin-bottom: 0; }
13054
+
13055
+ .wpgdprc-tabs__header {
13056
+ display: flex;
13057
+ flex-wrap: wrap;
13058
+ align-items: center;
13059
+ justify-content: space-between;
13060
+ margin-bottom: 0.625rem; }
13061
+
13062
+ .wpgdprc-tabs__title-container {
13063
+ display: flex;
13064
+ flex-wrap: wrap;
13065
+ align-items: center;
13066
+ margin-right: 1.25rem;
13067
+ margin-bottom: 0.625rem; }
13068
+
13069
+ :root .wpgdprc-tabs__title {
13070
+ margin-right: 1.25rem;
13071
+ margin-bottom: 0; }
13072
+
13073
+ :root .wpgdprc-tabs__list {
13074
+ display: flex;
13075
+ flex-wrap: wrap;
13076
+ align-items: center;
13077
+ margin: -0.625rem -0.625rem 0 -0.625rem; }
13078
+
13079
+ .wpgdprc-tabs__item {
13080
+ margin: 0.625rem;
13081
+ text-align: center; }
13082
+
13083
+ a.wpgdprc-tabs__anchor,
13084
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor {
13085
+ display: inline-block;
13086
+ position: relative;
13087
+ font-size: 0.875rem;
13088
+ text-decoration: none;
13089
+ color: #AFAFAF;
13090
+ transition: color 0.25s cubic-bezier(0, 0.6, 0.7, 1);
13091
+ text-align: center; }
13092
+ a.wpgdprc-tabs__anchor::after,
13093
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor::after {
13094
+ content: attr(data-title);
13095
+ height: 0;
13096
+ transition: opacity 0.25s cubic-bezier(0, 0.6, 0.7, 1);
13097
+ display: block;
13098
+ font-weight: 600;
13099
+ overflow: hidden;
13100
+ visibility: hidden; }
13101
+ a.wpgdprc-tabs__anchor:hover, a.wpgdprc-tabs__anchor:focus,
13102
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor:hover,
13103
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor:focus {
13104
+ color: #3C7C96;
13105
+ font-weight: 600; }
13106
+
13107
+ a.wpgdprc-tabs__anchor[aria-selected="true"],
13108
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor[aria-selected="true"] {
13109
+ color: #5A5A5A;
13110
+ font-weight: 600; }
13111
+
13112
+ a.wpgdprc-tabs__anchor[aria-selected="false"],
13113
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor[aria-selected="false"] {
13114
+ font-weight: 400; }
13115
+ a.wpgdprc-tabs__anchor[aria-selected="false"]:hover, a.wpgdprc-tabs__anchor[aria-selected="false"]:focus,
13116
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor[aria-selected="false"]:hover,
13117
+ .wpgdprc-tabs__item button.wpgdprc-tabs__anchor[aria-selected="false"]:focus {
13118
+ font-weight: 600; }
13119
+
13120
+ .wpgdprc-tabs__block[aria-hidden="false"] {
13121
+ animation-name: fade-in;
13122
+ animation-duration: 0.25s;
13123
+ animation-timing-function: cubic-bezier(0, 0.6, 0.7, 1);
13124
+ animation-fill-mode: forwards; }
13125
+
13126
+ .wpgdprc-tabs__block[aria-hidden="true"] {
13127
+ display: none; }
13128
+
13129
+ /**
13130
+ * Variation
13131
+ */
13132
+ .wpgdprc-tabs--alt .wpgdprc-tabs__header {
13133
+ border-bottom: 0.0625rem solid #D8D8D8;
13134
+ margin-bottom: 1.5rem; }
13135
+
13136
+ :root .wpgdprc-tabs--alt .wpgdprc-tabs__list {
13137
+ margin: -0.75rem -0.75rem 0 -0.75rem; }
13138
+
13139
+ .wpgdprc-tabs--alt .wpgdprc-tabs__item {
13140
+ margin: 0 0.75rem; }
13141
+
13142
+ .wpgdprc-tabs--alt .wpgdprc-tabs__anchor {
13143
+ display: block;
13144
+ font-size: 1rem;
13145
+ color: #5A5A5A;
13146
+ padding: 0.75rem 0;
13147
+ text-decoration: underline;
13148
+ text-decoration-thickness: 0.1875rem;
13149
+ text-decoration-skip-ink: auto;
13150
+ text-decoration-color: transparent;
13151
+ text-underline-offset: 0.75rem; }
13152
+ .wpgdprc-tabs--alt .wpgdprc-tabs__anchor:hover, .wpgdprc-tabs--alt .wpgdprc-tabs__anchor:focus {
13153
+ color: #3C7C96;
13154
+ font-weight: 600; }
13155
+
13156
+ .wpgdprc-tabs--alt .wpgdprc-tabs__anchor[aria-selected="true"] {
13157
+ color: #3C7C96;
13158
+ text-decoration-color: currentColor; }
13159
+
13160
+ .wpgdprc-banner {
13161
+ display: flex;
13162
+ flex-wrap: wrap;
13163
+ align-items: center;
13164
+ padding: 1.5625rem 0;
13165
+ border-top: 0.0625rem solid #D8D8D8; }
13166
+
13167
+ .wpgdprc-banner__container {
13168
+ display: flex; }
13169
+
13170
+ .wpgdprc-banner__content {
13171
+ order: 2;
13172
+ margin-bottom: 0.9375rem; }
13173
+ .wpgdprc-banner__content a {
13174
+ font-weight: 700;
13175
+ color: #3C7C96;
13176
+ text-underline-position: auto;
13177
+ text-underline-offset: 0.0625rem; }
13178
+ .wpgdprc-banner__content a:hover, .wpgdprc-banner__content a:focus {
13179
+ color: #2d5e72; }
13180
+
13181
+ :root .wpgdprc-banner__title {
13182
+ font-size: 1rem;
13183
+ margin-bottom: 0.25rem; }
13184
+
13185
+ :root .wpgdprc-banner__pre-title {
13186
+ font-size: 0.875rem;
13187
+ color: #888888;
13188
+ margin-bottom: 0.25rem; }
13189
+
13190
+ .wpgdprc-banner__text {
13191
+ max-width: 50.4375rem; }
13192
+
13193
+ .wpgdprc-banner__icon {
13194
+ order: 1;
13195
+ flex-shrink: 0;
13196
+ margin-right: 0.9375rem; }
13197
+ .wpgdprc-banner__icon svg {
13198
+ width: 3.25rem; }
13199
+
13200
+ .wpgdprc-banner__action {
13201
+ flex-shrink: 0;
13202
+ margin-left: 4.1875rem; }
13203
+
13204
+ @media screen and (min-width: 48.9375em) {
13205
+ .wpgdprc-banner {
13206
+ flex-wrap: unset; }
13207
+ .wpgdprc-banner__container {
13208
+ margin-right: 1.875rem; }
13209
+ .wpgdprc-banner__content {
13210
+ margin-bottom: 0; }
13211
+ .wpgdprc-banner__icon {
13212
+ margin-right: 1.25rem; }
13213
+ .wpgdprc-banner__action {
13214
+ margin-left: auto; } }
13215
+
13216
+ @media screen and (min-width: 60.0625em) {
13217
+ .wpgdprc-banner {
13218
+ padding-bottom: 0.3125rem; } }
13219
+
13220
+ .wpgdprc-welcome a {
13221
+ color: #3C7C96; }
13222
+
13223
+ .wpgdprc {
13224
+ padding: 0 0.625rem 0 0;
13225
+ max-width: 87.5rem; }
13226
+
13227
+ .wpgdprc-main {
13228
+ display: flex; }
13229
+
13230
+ @media screen and (min-width: 48.9375em) {
13231
+ .wpgdprc {
13232
+ padding: 0 1.25rem 0 0; }
13233
+ .wpgdprc-main {
13234
+ flex-wrap: unset; } }
13235
+
13236
+ @media screen and (min-width: 75em) {
13237
+ .wpgdprc {
13238
+ padding: 0 1.875rem 0 1.875rem; } }
13239
+
13240
+ .wpgdprc-header {
13241
+ padding: 2.25rem 0;
13242
+ display: flex;
13243
+ flex-wrap: wrap;
13244
+ align-items: center;
13245
+ justify-content: space-between; }
13246
+ .wpgdprc-header .wpgdprc-label {
13247
+ font-weight: 500;
13248
+ padding: 0.5rem 0.8125rem;
13249
+ margin-right: 0.9375rem; }
13250
+ .wpgdprc-header .wpgdprc-label span {
13251
+ font-weight: 700; }
13252
+
13253
+ .wpgdprc-header__left {
13254
+ display: flex;
13255
+ flex-wrap: wrap;
13256
+ align-items: center;
13257
+ margin-right: 0.9375rem; }
13258
+
13259
+ .wpgdprc-header__title {
13260
+ margin: 0.3125rem 0.9375rem 0.3125rem 0; }
13261
+
13262
+ :root .wpgdprc-header__logos {
13263
+ display: flex;
13264
+ align-items: center;
13265
+ margin: 0; }
13266
+
13267
+ .wpgdprc-header__logo {
13268
+ margin-bottom: 0;
13269
+ list-style: none; }
13270
+
13271
+ .wpgdprc-header__logo--lock {
13272
+ margin-right: 0.9375rem; }
13273
+ .wpgdprc-header__logo--lock svg {
13274
+ width: 2.5rem; }
13275
+
13276
+ .wpgdprc-header__logo--name {
13277
+ display: flex;
13278
+ flex-direction: column; }
13279
+
13280
+ .wpgdprc-header__logo--name svg {
13281
+ width: 9.5rem; }
13282
+
13283
+ .wpgdprc-header__link--premium {
13284
+ font-size: 0.875rem;
13285
+ font-weight: 500;
13286
+ color: #5A5A5A;
13287
+ text-underline-position: auto;
13288
+ text-underline-offset: 0.0625rem; }
13289
+ .wpgdprc-header__link--premium:hover, .wpgdprc-header__link--premium:focus {
13290
+ color: #3C7C96; }
13291
+
13292
+ :root p.wpgdprc-header__message {
13293
+ margin: 0.3125rem 0; }
13294
+
13295
+ .wpgdprc-header__manage {
13296
+ font-size: 0.875rem;
13297
+ font-weight: 500;
13298
+ display: inline-block;
13299
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
13300
+ text-decoration: underline;
13301
+ color: #5A5A5A;
13302
+ margin: 0.3125rem 0; }
13303
+ .wpgdprc-header__manage:hover, .wpgdprc-header__manage:focus {
13304
+ color: #3C7C96; }
13305
+
13306
+ :root .wpgdprc-header__nav {
13307
+ display: flex;
13308
+ flex-wrap: wrap;
13309
+ margin: 0.3125rem 0; }
13310
+ :root .wpgdprc-header__nav ul {
13311
+ display: flex;
13312
+ flex-wrap: wrap; }
13313
+ :root .wpgdprc-header__nav li {
13314
+ margin-right: 2.1875rem;
13315
+ margin-bottom: 0; }
13316
+ :root .wpgdprc-header__nav li:last-child {
13317
+ margin-right: 0; }
13318
+ :root .wpgdprc-header__nav a {
13319
+ font-size: 0.875rem;
13320
+ color: #888888;
13321
+ text-decoration: none; }
13322
+ :root .wpgdprc-header__nav a[target="_blank"]::after {
13323
+ content: "\f08e";
13324
+ font-family: "Font Awesome 5 Pro";
13325
+ font-size: 1rem;
13326
+ color: inherit;
13327
+ height: 1rem;
13328
+ width: 1rem;
13329
+ margin-left: 0.625rem; }
13330
+ :root .wpgdprc-header__nav a:hover, :root .wpgdprc-header__nav a:focus {
13331
+ color: #3C7C96; }
13332
+
13333
+ .wpgdprc p.wp-notice {
13334
+ margin: .5em 0;
13335
+ padding: 2px; }
13336
+
13337
+ [data-mode="premium"] .wpgdprc-header__link--premium {
13338
+ display: none; }
13339
+
13340
+ .wpgdprc-container {
13341
+ order: 2;
13342
+ width: 100%;
13343
+ background-color: #ffffff;
13344
+ padding: 0.9375rem;
13345
+ box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); }
13346
+
13347
+ @media screen and (min-width: 48.9375em) {
13348
+ .wpgdprc-container {
13349
+ padding: 1.25rem; } }
13350
+
13351
+ @media screen and (min-width: 60.0625em) {
13352
+ .wpgdprc-container {
13353
+ padding: 1.875rem; } }
13354
+
13355
+ .wpgdprc-content > *, .wpgdprc-content__container > * {
13356
+ margin-bottom: 1.875rem; }
13357
+ .wpgdprc-content > *:last-child, .wpgdprc-content__container > *:last-child {
13358
+ margin-bottom: 0; }
13359
+
13360
+ .wpgdprc-content__header {
13361
+ margin-bottom: 1.25rem; }
13362
+
13363
+ :root .wpgdprc-content__title {
13364
+ margin-bottom: 0.625rem; }
13365
+
13366
+ .wpgdprc-content__text {
13367
+ max-width: 46.875rem; }
13368
+ .wpgdprc-content__text p {
13369
+ margin-bottom: 1em; }
13370
+
13371
+ :root .wpgdprc-content__actions {
13372
+ display: flex;
13373
+ flex-wrap: wrap;
13374
+ align-items: center;
13375
+ margin: 0; }
13376
+ :root .wpgdprc-content__actions li {
13377
+ margin-right: 1.25rem;
13378
+ margin-bottom: 0;
13379
+ list-style: none; }
13380
+ :root .wpgdprc-content__actions li:last-child {
13381
+ margin-right: 0; }
13382
+
13383
+ .wpgdprc-content__header--justify {
13384
+ display: flex;
13385
+ flex-wrap: wrap;
13386
+ align-items: center;
13387
+ justify-content: space-between; }
13388
+
13389
+ .wpgdprc-content__container {
13390
+ padding-top: 1.25rem;
13391
+ border-top: 0.0625rem solid #D8D8D8; }
13392
+
13393
+ .wpgdprc-content__container--no-border {
13394
+ border: none; }
13395
+
13396
+ .wpgdprc-sidebar {
13397
+ order: 1; }
13398
+
13399
+ :root .wpgdprc-sidebar__list {
13400
+ margin: 0; }
13401
+
13402
+ .wpgdprc-sidebar__item {
13403
+ margin: 0; }
13404
+
13405
+ .wpgdprc-sidebar__anchor {
13406
+ position: relative;
13407
+ width: 100%;
13408
+ display: flex;
13409
+ align-items: center;
13410
+ color: #888888;
13411
+ text-decoration: none;
13412
+ border-radius: 3px; }
13413
+ .wpgdprc-sidebar__anchor::before {
13414
+ content: '';
13415
+ font-family: "Font Awesome 5 Pro";
13416
+ font-weight: 300;
13417
+ font-size: 1.25rem;
13418
+ display: flex;
13419
+ align-items: center;
13420
+ justify-content: center;
13421
+ color: inherit;
13422
+ height: 3.625rem;
13423
+ width: 3.625rem; }
13424
+ .wpgdprc-sidebar__anchor::after {
13425
+ content: '';
13426
+ position: absolute;
13427
+ height: 0;
13428
+ width: 0;
13429
+ border-left: 0.6875rem solid #3C7C96;
13430
+ border-top: 1.6875rem solid transparent;
13431
+ border-bottom: 1.6875rem solid transparent;
13432
+ right: -0.6875rem;
13433
+ top: 0.125rem;
13434
+ opacity: 0;
13435
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
13436
+ .wpgdprc-sidebar__anchor .wpgdprc-sidebar__anchor-svg svg path {
13437
+ fill: #888888; }
13438
+ .wpgdprc-sidebar__anchor:hover, .wpgdprc-sidebar__anchor:focus, .wpgdprc-sidebar__anchor.active {
13439
+ color: #ffffff;
13440
+ background-color: #3C7C96; }
13441
+ .wpgdprc-sidebar__anchor:hover::after, .wpgdprc-sidebar__anchor:focus::after, .wpgdprc-sidebar__anchor.active::after {
13442
+ opacity: 1; }
13443
+ .wpgdprc-sidebar__anchor:hover .wpgdprc-sidebar__anchor-svg svg path, .wpgdprc-sidebar__anchor:focus .wpgdprc-sidebar__anchor-svg svg path, .wpgdprc-sidebar__anchor.active .wpgdprc-sidebar__anchor-svg svg path {
13444
+ fill: #ffffff; }
13445
+ .wpgdprc-sidebar__anchor:focus span {
13446
+ border-bottom: 3px solid currentColor; }
13447
+ .wpgdprc-sidebar__anchor.active {
13448
+ box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1); }
13449
+ .wpgdprc-sidebar__anchor.active .wpgdprc-sidebar__anchor-text {
13450
+ font-weight: 700; }
13451
+
13452
+ .wpgdprc-sidebar__anchor-svg {
13453
+ display: flex;
13454
+ align-items: center;
13455
+ justify-content: center;
13456
+ height: 3.625rem;
13457
+ width: 3.625rem; }
13458
+
13459
+ .wpgdprc-sidebar__anchor-text {
13460
+ font-weight: 600;
13461
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
13462
+ line-height: 1.25;
13463
+ position: relative;
13464
+ top: 0.0625rem;
13465
+ display: none; }
13466
+
13467
+ .wpgdprc-sidebar__anchor--dashboard::before {
13468
+ content: "\f625"; }
13469
+
13470
+ .wpgdprc-sidebar__anchor--consent-pop-up::before {
13471
+ content: "\f0ca"; }
13472
+
13473
+ .wpgdprc-sidebar__anchor--business::before {
13474
+ content: "\f762"; }
13475
+
13476
+ .wpgdprc-sidebar__anchor--checklist::before {
13477
+ content: '';
13478
+ display: none; }
13479
+
13480
+ .wpgdprc-sidebar__anchor--checklist .wpgdprc-sidebar__anchor-svg svg {
13481
+ width: 0.5625rem; }
13482
+
13483
+ .wpgdprc-sidebar__anchor--settings::before {
13484
+ content: "\f013"; }
13485
+
13486
+ @media screen and (min-width: 48.9375em) {
13487
+ .wpgdprc-sidebar {
13488
+ flex-shrink: 0;
13489
+ width: 100%;
13490
+ max-width: 12.8125rem; }
13491
+ .wpgdprc-sidebar__anchor-text {
13492
+ display: inline; } }
13493
+
13494
+ .wpgdprc-footer {
13495
+ font-size: 0.875rem;
13496
+ font-weight: 500;
13497
+ font-family: "Sofia Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
13498
+ display: flex;
13499
+ flex-wrap: wrap;
13500
+ justify-content: flex-end;
13501
+ padding-top: 1.375rem;
13502
+ margin-left: 3.625rem; }
13503
+
13504
+ p.wpgdprc-footer__developer {
13505
+ margin: 0; }
13506
+ p.wpgdprc-footer__developer a {
13507
+ align-items: flex-start;
13508
+ color: #5A5A5A;
13509
+ display: flex;
13510
+ flex-direction: column;
13511
+ flex-wrap: wrap;
13512
+ text-decoration: none; }
13513
+ p.wpgdprc-footer__developer a:hover, p.wpgdprc-footer__developer a:focus {
13514
+ color: #3C7C96; }
13515
+ p.wpgdprc-footer__developer svg {
13516
+ order: 1;
13517
+ width: 14.6875rem;
13518
+ margin-top: 0.375rem; }
13519
+
13520
+ @media screen and (min-width: 48.9375em) {
13521
+ .wpgdprc-footer {
13522
+ margin-left: 12.8125rem; } }
13523
+
13524
+ body.fts.wpgdprc {
13525
+ background: #F1F1F1;
13526
+ opacity: 1;
13527
+ visibility: visible;
13528
+ padding: 0;
13529
+ max-width: 100%; }
13530
+
13531
+ #wp-gdpr-fts {
13532
+ box-sizing: border-box;
13533
+ margin: 2rem 0; }
13534
+ @media screen and (min-width: 48.9375em) {
13535
+ #wp-gdpr-fts {
13536
+ margin: 4.875rem auto;
13537
+ width: 80%;
13538
+ max-width: 80em; } }
13539
+ #wp-gdpr-fts .step__title {
13540
+ display: flex;
13541
+ justify-content: space-between;
13542
+ align-items: flex-end; }
13543
+ #wp-gdpr-fts .step__title span {
13544
+ color: #5A5A5A;
13545
+ font-size: 1rem; }
13546
+ #wp-gdpr-fts form:not(.default-width) .cell {
13547
+ width: calc(100% - 1.875rem); }
13548
+ #wp-gdpr-fts form .wpgdprc-form__field.wpgdprc-form__field--submit,
13549
+ #wp-gdpr-fts form .wpgdprc-form__field wpgdprc-form__field--submit {
13550
+ display: none; }
13551
+ #wp-gdpr-fts .hidden {
13552
+ display: none; }
13553
+ #wp-gdpr-fts a:not(.button) {
13554
+ color: #3C7C96; }
13555
+ #wp-gdpr-fts .questionnaire label {
13556
+ margin: .6rem 0 .4rem .4rem; }
13557
+ #wp-gdpr-fts p {
13558
+ margin-bottom: .5rem; }
13559
+ #wp-gdpr-fts hr {
13560
+ margin: 0.5rem -1rem; }
13561
+ #wp-gdpr-fts .list li {
13562
+ margin: .25rem 0; }
13563
+
13564
+ #step-container > .step {
13565
+ min-height: 340px; }
13566
+ #step-container > .step:not(.active) {
13567
+ display: none; }
13568
+
13569
+ #step-container .step-container__footer {
13570
+ margin-top: 2rem; }
13571
+ #step-container .step-container__footer button {
13572
+ padding: 0.8125rem 1.125rem; }
13573
+ #step-container .step-container__footer button:not([data-step=next])[disabled] {
13574
+ visibility: hidden;
13575
+ transition: none; }
13576
+ #step-container .step-container__footer button[data-step=prev] span {
13577
+ margin-right: .5rem; }
13578
+ #step-container .step-container__footer button[data-step=next][disabled] .spinner-wrapper {
13579
+ display: block !important; }
13580
+
13581
+ #step-to-buttons button {
13582
+ padding-right: 0;
13583
+ position: relative;
13584
+ padding-left: calc(1rem + 12px);
13585
+ font-weight: 400;
13586
+ text-align: left;
13587
+ line-height: 1.9375rem;
13588
+ border: 0px;
13589
+ background-color: transparent;
13590
+ transition: all 0.25s cubic-bezier(0, 0.6, 0.7, 1); }
13591
+ #step-to-buttons button:not(:last-child) {
13592
+ margin: 0 0 0.3825rem 0; }
13593
+ #step-to-buttons button[disabled] {
13594
+ opacity: 1; }
13595
+ #step-to-buttons button:before {
13596
+ display: inline-block;
13597
+ position: absolute;
13598
+ width: 12px;
13599
+ height: 12px;
13600
+ border: 1px solid #888888;
13601
+ border-radius: 100%;
13602
+ background-color: #888888;
13603
+ content: ' ';
13604
+ top: 50%;
13605
+ left: 0;
13606
+ transform: translateY(-65%); }
13607
+ #step-to-buttons button.active {
13608
+ color: #3C7C96;
13609
+ font-size: 1.25rem;
13610
+ font-weight: 700; }
13611
+ #step-to-buttons button.active ~ button:before {
13612
+ background-color: transparent; }
13613
+ #step-to-buttons button.active:before {
13614
+ background-color: #3C7C96;
13615
+ border-color: #3C7C96; }
13616
+
13617
+ .wp-gdpr-fts__footer {
13618
+ margin: 1rem auto 0; }
13619
+
13620
+ /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uY3NzIiwic291cmNlcyI6WyJhZG1pbi5zY3NzIiwiZ2xvYmFsL19mb250cy5zY3NzIiwic2V0dGluZ3MvX2NvbG9ycy5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsInNldHRpbmdzL19taXhpbnMuc2NzcyIsImdsb2JhbC9fcmVzZXQuc2NzcyIsImdsb2JhbC9fc2NyZWVuLXJlYWRlci10ZXh0LnNjc3MiLCJnbG9iYWwvX2FuaW1hdGlvbnMuc2NzcyIsImdsb2JhbC9fZ2xvYmFsLnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX21pc3NpbmctZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3RydWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHVyZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZW1vdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdG8tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wcm90b3R5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yZWxhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdGF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2ZvbnRhd2Vzb21lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fbGFyZ2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19hbmltYXRlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19zdGFja2VkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19pY29ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9zb2xpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2xpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2JyYW5kcy5zY3NzIiwibW9kdWxlcy9fY29kZW1pcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbGliL2NvZGVtaXJyb3IuY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiY29tcG9uZW50cy9fbWVzc2FnZS5zY3NzIiwiY29tcG9uZW50cy9fdGlsZS5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3RleHQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnNlbnQtYmFyLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LXdpdGgtaWNvbi5zY3NzIiwiY29tcG9uZW50cy9fc3Bpbm5lci5zY3NzIiwiYWRtaW4vX2RlYnVnLnNjc3MiLCJhZG1pbi9faW50ZWdyYXRpb24taXRlbS5zY3NzIiwiYWRtaW4vX2Jhbm5lci1pdGVtLnNjc3MiLCJhZG1pbi9fcmVxdWVzdC1pdGVtLnNjc3MiLCJhZG1pbi9fc2VjdGlvbi5zY3NzIiwiYWRtaW4vX3RpbGVzLnNjc3MiLCJhZG1pbi9fdGFicy5zY3NzIiwiYWRtaW4vX2Jhbm5lci5zY3NzIiwiYWRtaW4vX3dlbGNvbWUuc2NzcyIsImFkbWluL19tYWluLnNjc3MiLCJhZG1pbi9faGVhZGVyLnNjc3MiLCJhZG1pbi9fY29udGFpbmVyLnNjc3MiLCJhZG1pbi9fY29udGVudC5zY3NzIiwiYWRtaW4vX3NpZGViYXIuc2NzcyIsImFkbWluL19mb290ZXIuc2NzcyIsImFkbWluL193aXphcmQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkbWluLW9ubHkgc3R5bGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLypcbiAqIFlvdSBjYW4gdXNlIHRoaXMgdmFyaWFibGUgaW4gb3RoZXIgU2FzcyBmaWxlcyB0byBvbmx5IGFwcGx5XG4gKiBjZXJ0YWluIENTUyBpbnNpZGUgQWRtaW4gb3IgdGhlIG90aGVyIHdheSBhcm91bmQuXG4gKi9cbiRhZG1pbjogdHJ1ZTtcblxuLyogU2V0dGluZ3MgKi9cbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9jb2xvcnMnO1xuQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuQGltcG9ydCAnc2V0dGluZ3MvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3NldHRpbmdzL21peGlucyc7XG5cbi8qIEdsb2JhbCAqL1xuQGltcG9ydCAnZ2xvYmFsL3Jlc2V0JztcbkBpbXBvcnQgJ2dsb2JhbC9zY3JlZW4tcmVhZGVyLXRleHQnO1xuQGltcG9ydCAnZ2xvYmFsL2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnZ2xvYmFsL2dsb2JhbCc7XG5AaW1wb3J0ICdnbG9iYWwvdHlwb2dyYXBoeSc7XG5cbi8qIEZvdW5kYXRpb247IFRoZSBYWSBHcmlkIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQ7IERvY3VtZW50YXRpb24gYXQgPGh0dHA6Ly9mb3VuZGF0aW9uLnp1cmIuY29tL3NpdGVzL2RvY3MvPiAqL1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xuXG4vKiBGb250IEF3ZXNvbWUgNSBQcm87IFVuY29tbWVudCBpZiB5b3Ugd2FudCB0byB1c2UgaXQgKi9cbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL2ZvbnRhd2Vzb21lJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL3NvbGlkJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL3JlZ3VsYXInO1xuQGltcG9ydCAnZm9udGF3ZXNvbWUtcHJvL3Njc3MvbGlnaHQnO1xuLy9AaW1wb3J0ICdmb250YXdlc29tZS1wcm8vc2Nzcy9kdW90b25lJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL2JyYW5kcyc7XG5cbi8qIFNoYXJlZCAoc3R5bGVzIHVzZWQgaW4gYm90aCB3ZWJzaXRlIGFuZCBlZGl0b3IpICovXG4vL0BpbXBvcnQgJ3NoYXJlZCc7XG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgJ21vZHVsZXMvY29kZW1pcnJvcic7XG5cbi8qIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9saW5rJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVzc2FnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpbGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb25zZW50LWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQtd2l0aC1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3Bpbm5lcic7XG5cbi8qIEFkbWluIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgJ2FkbWluL2RlYnVnJztcblxuLy8gQ29tcG9uZW50XG5AaW1wb3J0ICdhZG1pbi9pbnRlZ3JhdGlvbi1pdGVtJztcbkBpbXBvcnQgJ2FkbWluL2Jhbm5lci1pdGVtJztcbkBpbXBvcnQgJ2FkbWluL3JlcXVlc3QtaXRlbSc7XG5cbi8vIEJsb2Nrc1xuQGltcG9ydCAnYWRtaW4vc2VjdGlvbic7XG5AaW1wb3J0ICdhZG1pbi90aWxlcyc7XG5AaW1wb3J0ICdhZG1pbi90YWJzJztcbkBpbXBvcnQgJ2FkbWluL2Jhbm5lcic7XG5AaW1wb3J0IFwiYWRtaW4vd2VsY29tZVwiO1xuXG4vLyBTZWN0aW9uc1xuQGltcG9ydCAnYWRtaW4vbWFpbic7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vY29udGFpbmVyJztcbkBpbXBvcnQgJ2FkbWluL2NvbnRlbnQnO1xuQGltcG9ydCAnYWRtaW4vc2lkZWJhcic7XG5AaW1wb3J0ICdhZG1pbi9mb290ZXInO1xuQGltcG9ydCAnYWRtaW4vd2l6YXJkJztcbiIsIi8qKlxuICogQ3VzdG9tIGZvbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiRmb250LXByaW1hcnk6ICdTb2ZpYSBQcm8nLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vIFJlZ3VsYXJcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb2ZpYSBQcm8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8vIEl0YWxpY1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NvZmlhIFBybyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLUl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBNZWRpdW1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnU29maWEgUHJvJztcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0dXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBTZW1pQm9sZFxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NvZmlhIFBybyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLy8gU2VtaUJvbGQgSXRhbGljXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU29maWEgUHJvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tU2VtaUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1TZW1pQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cbi8vIEJvbGRcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb2ZpYSBQcm8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiLyoqXG4gKiBDb2xvciBzY2hlbWVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuJGNvbG9yLWdyYXk6ICNGMUYxRjE7XG4kY29sb3ItZ3JheS1saWdodDogI0Y4RjhGOTtcbiRjb2xvci1ncmF5LWxpZ2h0LXg6ICNEOEQ4RDg7XG4kY29sb3ItZ3JheS1saWdodC14eDogI0FGQUZBRjtcbiRjb2xvci1ncmF5LW1lZGl1bTogIzg4ODg4ODtcbiRjb2xvci1ncmF5LWRhcms6ICM1QTVBNUE7XG5cbiRjb2xvci1ibGFjazogIzAwMDAwMDtcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcblxuJGNvbG9yLXB1cnBsZTogIzU4NDNCRTtcbiRjb2xvci1wdXJwbGUtbGlnaHQ6ICNGNkY0RkY7XG4kY29sb3ItdHVycXVvaXNlOiAjM0VDREI3O1xuJGNvbG9yLWdyZWVuOiAjMTc2RjNFO1xuJGNvbG9yLWdyZWVuLWxpZ2h0OiAjQzFFRUQ1O1xuJGNvbG9yLXJlZDogI0QwMzM0MztcbiRjb2xvci1yZWQtbWVkaXVtOiAjRjFDRUM2O1xuJGNvbG9yLXJlZC1kYXJrOiAjNjAwNDA0O1xuJGNvbG9yLXJlZC1saWdodDogI0ZGRUJFRDsgLyogQExleCwgbWF5YmUgZmluZCBiZXR0ZXIgY29sb3I/ICovXG4kY29sb3ItYmx1ZTogIzNDN0M5NjtcbiRjb2xvci1ibHVlLWxpZ2h0OiAjRUNGM0Y2O1xuJGNvbG9yLWJsdWUtbWVkaXVtOiAjQURDQkQ4O1xuJGNvbG9yLW9yYW5nZTogI0ZBQTIxQjtcbiRjb2xvci1vcmFuZ2UtZGFyazogIzczMzMxMjtcbiRjb2xvci1vcmFuZ2UtbWVkaXVtOiAjRjZFMUMwO1xuJGNvbG9yLW9yYW5nZS1saWdodDogI0ZFRjhFQTtcblxuJGNvbG9yLXByaW1hcnk6ICRjb2xvci1ibHVlO1xuJGNvbG9yLXByaW1hcnktbGlnaHQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xuJGNvbG9yLXByaW1hcnktbWVkaXVtOiAkY29sb3ItYmx1ZS1tZWRpdW07XG4kY29sb3Itc2Vjb25kYXJ5OiAjNzY3Njc2O1xuJGNvbG9yLXN1Y2Nlc3M6ICRjb2xvci1ncmVlbjtcbiRjb2xvci13YXJuaW5nOiAjZmZhZTAwO1xuJGNvbG9yLWFsZXJ0OiAkY29sb3ItcmVkO1xuIiwiLyoqXG4gKiBTZXR0aW5nc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8qIEdsb2JhbCAqL1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG5cbi8qIEJyZWFrcG9pbnRzICovXG4kYnJlYWtwb2ludHM6IChcblx0XHRzbWFsbDogMCxcblx0XHRtZWRpdW06IDY0MHB4LFxuXHRcdGxhcmdlOiAxMDI0cHgsXG5cdFx0eGxhcmdlOiAxMjAwcHgsXG5cdFx0eHhsYXJnZTogMTQ0MHB4LFxuXHRcdHh4eGxhcmdlOiAxNjAwcHhcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4eGxhcmdlKTtcblxuLyogVHlwb2dyYXBoeSAqL1xuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuXG4vKiBYWSBHcmlkICovXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IHJlbS1jYWxjKDMwKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFJldHVybiBhIGpvaW4gb2YgdGhlIHR3byBnaXZlbiBzdHJpbmdzIGAkc3RyMWAgYW5kIGAkc3RyMmAuXG4vLy8gSWYgdGhlIHR3byBzdHJpbmdzIGFyZSBub3QgZW1wdHksIHRoZXkgYXJlIHNlcGFyYXRlZCBieSBgJGRlbGltaXRlcmAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cjEgW251bGxdIC0gRmlyc3Qgc3RyaW5nIHRvIGpvaW4uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHIxIFtudWxsXSAtIFNlY29uZCBzdHJpbmcgdG8gam9pbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbbnVsbF0gLSBEZWxpbWlldGVyIGJldHdlZW4gYCRzdHIxYCBhbmQgYCRzdHIyYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEpvaW4gb2YgYCRzdHIxYCwgYCRkZWxpbWl0ZXJgIGFuZCBgJHN0cjJgLlxuQGZ1bmN0aW9uIHpmLXN0ci1qb2luKFxuICAkc3RyMTogbnVsbCxcbiAgJHN0cjI6IG51bGwsXG4gICRkZWxpbWl0ZXI6IG51bGxcbikge1xuICAkcmV0OiAnJztcblxuICBAaWYgJHN0cjEgYW5kIHN0ci1sZW5ndGgoJHN0cjEpID4gMCB7XG4gICAgJHJldDogJHJldCArICRzdHIxO1xuXG4gICAgQGlmICRkZWxpbWl0ZXIgYW5kIHN0ci1sZW5ndGgoJGRlbGltaXRlcikgPiAwIGFuZCAkc3RyMiBhbmQgc3RyLWxlbmd0aCgkc3RyMikgPiAwIHtcbiAgICAgICRyZXQ6ICRyZXQgKyAkZGVsaW1pdGVyO1xuICAgIH1cbiAgfVxuICBAaWYgJHN0cjIgYW5kIHN0ci1sZW5ndGgoJHN0cjIpID4gMCB7XG4gICAgJHJldDogJHJldCArICRzdHIyO1xuICB9XG5cbiAgQHJldHVybiAkcmV0O1xufVxuXG4vLy8gU2FmZWx5IHJldHVybiBhIHZhbHVlIGZyb20gYSBtYXAuXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSBtYXAga2V5LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1zYWZlLWdldCgkbWFwLCAka2V5KSB7XG4gIEBpZiAodHlwZS1vZigkbWFwKSA9PSAnbWFwJyBvciAodHlwZS1vZigkbWFwKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkbWFwKSA9PSAwKSkge1xuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdLZXk6IGAjeyRrZXl9YCBpcyBub3QgYXZhaWxhYmxlIGluIGAjeyRtYXB9YCc7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2AjeyRtYXB9YCBpcyBub3QgYSB2YWxpZCBtYXAnO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0IHRoZSBnaXZlbiBgJHZhbGAgdG8gYSBCb29sZWFuLiBFbXB0eSB2YWx1ZXMgYXJlIGNvbnNpZGVyZWQgYXMgZmFsc2UuXG4vLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWwgLSBWYWx1ZSB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IENvbnZlcnRlZCBCb29sZWFuIHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1ib29sKCR2YWwpIHtcbiAgQHJldHVybiAkdmFsICE9IGZhbHNlIGFuZCBoYXMtdmFsdWUoJHZhbCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8qKlxuICogQ3VzdG9tIHZhcmlhYmxlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qIFRyYW5zaXRpb25zICovXG4kZHVyYXRpb246IDAuMjVzO1xuJGVhc2luZzogY3ViaWMtYmV6aWVyKDAsIDAuNiwgMC43LCAxKTtcbiR0cmFuc2l0aW9uOiAkZHVyYXRpb24gJGVhc2luZztcblxuLyogei1pbmRleCAqL1xuJHotaW5kZXgtbmVnYXRpdmU6IC0xO1xuJHotaW5kZXgtZGVmYXVsdDogMDtcbiR6LWluZGV4LW92ZXJsYXk6IDE7XG4kei1pbmRleC1zY3JlZW4tcmVhZGVyOiAxMDAwO1xuXG4vKiBGb250QXdlc29tZSAqL1xuJGZhLWZvbnQtcGF0aDogJy4uL2ZvbnRzJztcbiRmYS1mb250LWRpc3BsYXk6IHN3YXA7XG5cbi8qIFNwYWNpbmcgKi9cbiRzcGFjaW5nOiAwLjkzNzVyZW07XG4kc3BhY2luZy14czogJHNwYWNpbmcgKiAwLjI1O1xuJHNwYWNpbmctczogJHNwYWNpbmcgKiAwLjU7XG4kc3BhY2luZy1tOiAkc3BhY2luZyAqIDEuNTtcbiRzcGFjaW5nLWw6ICRzcGFjaW5nICogMjtcbiRzcGFjaW5nLXhsOiAkc3BhY2luZyAqIDM7XG4kc3BhY2luZy14eGw6ICRzcGFjaW5nICogNDtcbiRzcGFjaW5nLXh4eGw6ICRzcGFjaW5nICogNjtcblxuLyogQm9yZGVyICovXG4kYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkY29sb3ItZ3JheS1saWdodC14O1xuXG4vKiBCb3JkZXIgUmFkaXVzICovXG4kcmFkaXVzOiAzcHg7XG4kcmFkaXVzLWw6IDVweDtcblxuLyogU2hhZG93ICovXG4kc2hhZG93LXM6IDAgMnB4IDVweCAwIHJnYmEoJGNvbG9yLWJsYWNrLCAwLjEpO1xuJHNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG4kc2hhZG93LWw6IDAgNXB4IDEwcHggMCByZ2JhKCRjb2xvci1ibGFjaywgMC4xKTtcblxuLyogV1AgYnJlYWtwb2ludHMgKi9cbiR3cC1tZWRpdW06IDc4MztcbiR3cC1sYXJnZTogOTYxO1xuXG4vKiBXUCBhZG1pbiBiYXIgKi9cbiR3cC1hZG1pbi1iYXItaGVpZ2h0LW1vYmlsZTogcmVtLWNhbGMoNDYpO1xuJHdwLWFkbWluLWJhci1oZWlnaHQtZGVza3RvcDogcmVtLWNhbGMoMzIpO1xuJHdwLWJyZWFrcG9pbnQtYWRtaW4tYmFyOiA3ODM7XG4iLCIvKipcbiAqIEN1c3RvbSBtaXhpbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFVzZWQgdG8gY29tcGlsZSBDU1MgdG8gZGlzcGxheSByZXRpbmEgaW1hZ2VzLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlLXJldGluYShsb2dvLCBwbmcsIDIxMHB4LCA3MHB4KTtcbiAqXG4gKi9cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlLXJldGluYSgkZmlsZSwgJHR5cGUsICR3aWR0aCwgJGhlaWdodCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWFnZXMvXCIgKyAkZmlsZSArIFwiLlwiICsgJHR5cGUpO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW1vei1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyIC8gMSksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltYWdlcy9cIiArICRmaWxlICsgXCJAMnguXCIgKyAkdHlwZSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgICAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBCdXR0b25cbiAqL1xuQG1peGluIHZvLWJ1dHRvbihcbiAgICAkY29sb3I6ICRjb2xvci13aGl0ZSxcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnksXG4gICAgJGNvbG9yLWhvdmVyOiAkY29sb3Itd2hpdGUsXG4gICAgJGJhY2tncm91bmQtY29sb3ItaG92ZXI6IGRhcmtlbigkYmFja2dyb3VuZC1jb2xvciwgMTAlKSxcbiAgICAkY29sb3Itb3V0bGluZTogJGJhY2tncm91bmQtY29sb3Jcbikge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogKDE4LzE2KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMyAxOCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uO1xuXG4gICAgJi53cGdkcHJjLWJ1dHRvbi0tb3V0bGluZSB7XG4gICAgICAgICY6bm90KDpob3ZlciksXG4gICAgICAgICY6bm90KDpmb2N1cykge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vdXRsaW5lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICA6cm9vdCAmLndwZ2RwcmMtYnV0dG9uLS1hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICB9XG59XG5cbi8qKlxuICogSGVhZGluZ3NcbiAqL1xuQG1peGluIGhlYWRpbmdzIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEN1c3RvbSBwbGFjZWhvbGRlcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ldW5zdHlsZWQtbGlzdCB7XG4gICAgbWFyZ2luOiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9O1xuICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIEhlYWRpbmdzXG5cbkBtaXhpbiBoMSgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbn1cblxuQG1peGluIGgyKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xufVxuXG5AbWl4aW4gaDMoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG59XG5cbkBtaXhpbiBoNCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbn1cblxuQG1peGluIGg1KCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xufVxuXG5AbWl4aW4gaDYoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cblxuLy8gVGV4dCBzdHlsZXNcblxuQG1peGluIHRleHQteHhsKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xufVxuXG5AbWl4aW4gdGV4dC14bCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbn1cblxuQG1peGluIHRleHQtbCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbn1cblxuQG1peGluIHRleHQoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbkBtaXhpbiB0ZXh0LXMoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbkBtaXhpbiB0ZXh0LXhzKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xufVxuXG4vLyBGb250IFdlaWdodFxuXG5AbWl4aW4gZm9udC13ZWlnaHQtbGlnaHQoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQG1peGluIGZvbnQtd2VpZ2h0LW5vcm1hbCgpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gZm9udC13ZWlnaHQtbWVkaXVtKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBmb250LXdlaWdodC1zZW1pYm9sZCgpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWl4aW4gZm9udC13ZWlnaHQtYm9sZCgpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vLyBMaW5rXG5cbkBtaXhpbiBsaW5rKCRjb2xvcjogJGNvbG9yLXByaW1hcnksICRjb2xvci1ob3ZlcjogZGFya2VuKCRjb2xvciwgMTAlKSkge1xuICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0LWJvbGQoKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBhdXRvO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogcmVtLWNhbGMoMSk7XG5cblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBZGQgc3R5bGluZyB0byByb290IChvcHRpb25hbClcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5AbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XG4gICAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBwbGFjZWhvbGRlciBzdHlsaW5nXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbW96LXBsYWNlaG9sZGVyJykge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi1tb3otcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbXMtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBBdXRvbWF0aWNhbGx5IGluY2x1ZGUgZm9jdXMgc3R5bGVzIHdpdGggaG92ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5AbWl4aW4gaG9jdXMge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8qKlxuICogUmVzZXQuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cbiAqL1xuLndwZ2RwcmMge1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIGJsb2NrcXVvdGUsXG4gICAgcCxcbiAgICBwcmUsXG4gICAgZGwsXG4gICAgZGQsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgZmlndXJlLFxuICAgIGhyLFxuICAgIGZpZWxkc2V0LFxuICAgIGxlZ2VuZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdHJhaWxpbmcgbWFyZ2lucyBmcm9tIG5lc3RlZCBsaXN0cy5cbiAgICAgKi9cblxuICAgIGxpID4ge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHRhYmxlIHNwYWNpbmcuXG4gICAgICovXG5cbiAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFJlc2V0IENocm9tZSBhbmQgRmlyZWZveCBiZWhhdmlvdXIgd2hpY2ggc2V0cyBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2BcbiAgICAgKiAgICBvbiBmaWVsZHNldHMuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIG1pbi13aWR0aDogMDsgLyogWzFdICovXG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAqIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IGJ1dHRvbiBzdHlsZXNcbiAgICAgKi9cbiAgICBbdHlwZT0nYnV0dG9uJ10sXG4gICAgW3R5cGU9J3Jlc2V0J10sXG4gICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogU2NyZWVuIFJlYWRlciBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG59XG4iLCIvKipcbiAqIEFuaW1hdGlvbnMuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uXSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICZbZGF0YS1hbmltYXRpb24tYXBwZWFyaW5nXSB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2luZztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj0nc2xpZGUtZG93biddIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS1kb3duO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0MCB7XG4gICAgICAgIFtkYXRhLWFuaW1hdGlvbl1bZGF0YS1hbmltYXRpb24tZGVsYXk9JyN7JGkgKiAxMDB9J11bZGF0YS1hbmltYXRpb24tZGVsYXk9JyN7JGkgKiAxMDB9J10ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAjeyRpIC8gMTB9cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBbZGF0YS1hbmltYXRpb25dIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAwMXMgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjAwMXMgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYmFyYmVycG9sZSB7XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEdsb2JhbCBzdHlsZXMgYW5kIGVsZW1lbnRzIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ud3BnZHByYyB7XG4gICAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cblxuICAgIDo6c2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubm8tYnVsbGV0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgICAgICBib3R0b206IDU2LjI1JTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbn1cbiIsIi8qKlxuICogVHlwb2dyYXBoeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi53cGdkcHJjIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgaDEsIC5oMSxcbiAgICBoMiwgLmgyLFxuICAgIGgzLCAuaDMsXG4gICAgaDQsIC5oNCxcbiAgICBoNSwgLmg1LFxuICAgIGg2LCAuaDYge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0LWJvbGQoKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgICBAaW5jbHVkZSBoMSgpO1xuICAgIH1cblxuICAgIGgyLFxuICAgIC5oMiB7XG4gICAgICAgIEBpbmNsdWRlIGgyKCk7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgLmgzIHtcbiAgICAgICAgQGluY2x1ZGUgaDMoKTtcbiAgICB9XG5cbiAgICBoNCxcbiAgICAuaDQge1xuICAgICAgICBAaW5jbHVkZSBoNCgpO1xuICAgIH1cblxuICAgIGg1LFxuICAgIC5oNSB7XG4gICAgICAgIEBpbmNsdWRlIGg1KCk7XG4gICAgfVxuXG4gICAgaDYsXG4gICAgLmg2IHtcbiAgICAgICAgQGluY2x1ZGUgaDYoKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dCgpO1xuICAgICAgICBsaW5lLWhlaWdodDogKDI2IC8gMTYpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDFyZW07XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfigJwnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oCdJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNpdGUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1jb250YWluXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gY2hlY2tcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIHZhbHVlIHRvIGxvb2sgZm9yXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIGEpXG4vLy8gLy8gdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCB6KVxuLy8vIC8vIGZhbHNlXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtY29udGFpblxuLy8vIEBhbGlhcyBzbC1jb250YWluXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pbmNsdWRlKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vIFJlbW92ZXMgYWxsIGZhbHNlIGFuZCBudWxsIHZhbHVlcyBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcHVyZ2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBsaXN0IHRvIHB1cmdlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXB1cmdlKG51bGwgYSBmYWxzZSBiKVxuLy8vIC8vIGEgYlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcHVyZ2UoJGxpc3QpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXRvLWxpc3QnKTtcbiAgXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgc2wtaXMtdHJ1ZSgkaXRlbSkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtLCBsaXN0LXNlcGFyYXRvcigkbGlzdCkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQGFsaWFzIHNsLXB1cmdlXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1jbGVhbigkbGlzdCkge1xuICBAcmV0dXJuIHNsLXB1cmdlKCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIFJlbW92ZXMgdmFsdWUocykgYCR2YWx1ZWAgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlbW92ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlcGxhY2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgICAgICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgICAgIC0gdmFsdWUgdG8gcmVtb3ZlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlbW92ZShhIGIgYywgYSlcbi8vLyAvLyBiIGNcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtcmVwbGFjZScpO1xuXG4gIEByZXR1cm4gc2wtcmVwbGFjZSgkbGlzdCwgJHZhbHVlLCBudWxsKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlbW92ZVxuLy8vIEBhbGlhcyBzbC1yZW1vdmVcbi8vL1xuXG5AZnVuY3Rpb24gc2wtd2l0aG91dCgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vXG4vLy8gUmVwbGFjZXMgYCRvbGRgIGJ5IGAkbmV3YCBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlcGxhY2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICRvbGQgICAtIHZhbHVlIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIG5ldyB2YWx1ZSBmb3IgJG9sZFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCBiLCB6KVxuLy8vIC8vIGEgeiBjXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIHksIHopXG4vLy8gLy8gYSBiIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtcmVwbGFjZSgkbGlzdCwgJG9sZCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC1wdXJnZScsICdzbC10by1saXN0Jyk7XG5cbiAgJHJ1bm5pbmc6IHRydWU7XG5cbiAgQHdoaWxlICRydW5uaW5nIHtcbiAgICAkaW5kZXg6IGluZGV4KCRsaXN0LCAkb2xkKTtcblxuICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICRydW5uaW5nOiBmYWxzZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgJGxpc3Q6IGlmKHNsLWlzLXRydWUoJHZhbHVlKSwgJGxpc3QsIHNsLXB1cmdlKCRsaXN0KSk7XG4gIFxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gQ2FzdHMgYCR2YWx1ZWAgaW50byBhIGxpc3QuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjYXN0IHRvIGxpc3Rcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciBbc3BhY2VdIC0gc2VwYXJhdG9yIHRvIHVzZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC10by1saXN0KGEgYiBjLCBjb21tYSlcbi8vLyAvLyBhLCBiLCBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtdG8tbGlzdCgkdmFsdWUsICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZSkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkdmFsdWUsICRzZXBhcmF0b3IpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vIEBhbGlhcyBzbC10by1saXN0XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWxpc3RpZnkoJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkdmFsdWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgLy8gQ2hyb21lL1NhZmFyaS9FZGdlXG4gICAgJjo6LXdlYmtpdC1tZXRlci1iYXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSByb3cuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBjb2x1bW4gY291bnQgb2YgYSBncmlkLiBDaGFuZ2luZyB0aGlzIHZhbHVlIGFmZmVjdHMgdGhlIGxvZ2ljIG9mIHRoZSBncmlkIG1peGlucywgYW5kIHRoZSBudW1iZXIgb2YgQ1NTIGNsYXNzZXMgb3V0cHV0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBjb2x1bW5zIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4vLy8gQHNpbmNlIDYuMS4wXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgd2lsbCBhbGlnbiB0byB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgcm93LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgdXNlZCBmb3IgYW4gYWxpYXMgb2YgY29sdW1uICh3aXRoIEBleHRlbmQpLiBJZiBgZmFsc2VgLCBubyBhbGlhcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucycgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIEVuYWJsZXMgdGhlIFhZIGdyaWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIGdyaWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgbWFyZ2luIGJldHdlZW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBtYXJnaW4gZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgaW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBwYWRkaW5nIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIHRvIHVzZSB3aGVuIHBhZGRpbmcgdGhlIGdyaWQtY29udGFpbmVyLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIHRvIGFwcGx5IHRvIGEgZ3JpZCBjb250YWluZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2VsbHMgaW4gYW4gWFkgYmxvY2sgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR4eS1ibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuQGltcG9ydCAnZ3V0dGVycyc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2NlbGwnO1xuQGltcG9ydCAnZnJhbWUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZVxuLy8vL1xuXG4vLyBSZWxhdGlvbmFsIE1peGluc1xuQGltcG9ydCAncmVsYXRpb24nO1xuXG4vLyBCb3ggTWl4aW5cbkBpbXBvcnQgJ2JveCc7XG5cbi8vIFJvdGF0ZSBNaXhpblxuQGltcG9ydCAncm90YXRlJztcblxuLy8gVGV4dCB1dGlsaXRpZXNcbkBpbXBvcnQgJ3RleHQtdXRpbGl0aWVzJztcblxuLy8gVGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LXRyYW5zZm9ybWF0aW9uJztcblxuLy8gVGV4dCBEZWNvcmF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtZGVjb3JhdGlvbic7XG5cbi8vIEZvbnQgU3R5bGluZ1xuQGltcG9ydCAnZm9udC1zdHlsaW5nJztcblxuLy8gTGlzdCBTdHlsZSB0eXBlXG5AaW1wb3J0ICdsaXN0LXN0eWxlLXR5cGUnO1xuXG4vLyBSb3VuZGVkIFV0aWxpdHlcbkBpbXBvcnQgJ3JvdW5kZWQnO1xuXG4vLyBCb3JkZXJlZCBVdGlsaXR5XG5AaW1wb3J0ICdib3JkZXJlZCc7XG5cbi8vIFNoYWRvdyBVdGlsaXR5XG5AaW1wb3J0ICdzaGFkb3cnO1xuXG4vLyBBcnJvdyBVdGlsaXR5XG5AaW1wb3J0ICdhcnJvdyc7XG5cbi8vIFNlcGFyYXRvciBVdGlsaXR5XG5AaW1wb3J0ICdzZXBhcmF0b3InO1xuXG4vLyBPdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuQGltcG9ydCAnb3ZlcmZsb3cnO1xuXG4vLyBEaXNwbGF5IGNsYXNzZXNcbkBpbXBvcnQgJ2Rpc3BsYXknO1xuXG4vLyBQb3NpdGlvbiBIZWxwZXJzXG5AaW1wb3J0ICdwb3NpdGlvbic7XG5cbi8vIEJvcmRlciBib3hcbkBpbXBvcnQgJ2JvcmRlci1ib3gnO1xuXG4vLyBCb3JkZXIgbm9uZSBVdGlsdHlcbkBpbXBvcnQgJ2JvcmRlci1ub25lJztcblxuLy8gU2l6aW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc2l6aW5nJztcblxuLy8gU3BhY2luZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmc7XG59XG4iLCIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gIEBpZiAkbnVtID09IDEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBmaXJzdCBleGFjdCBjaGlsZFxuQG1peGluIGZpcnN0LWNoaWxkIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgbGFzdCBleGFjdCBjaGlsZFxuQG1peGluIGxhc3QtY2hpbGQge1xuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBldmVyeSBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIG9mIGFsbCBjaGlsZHJlblxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuQG1peGluIGZpcnN0LWxhc3Qge1xuICAmOmZpcnN0LWNoaWxkLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGFmdGVyIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBBZnRlciBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZyb20gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmcm9tLWxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgZmlyc3QgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgY2FsbGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgXG5AbWl4aW4gZnJvbS1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfSksXG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJ1dCBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gYWxsIG90aGVyIGNoaWxkcmVuIFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYCRudW1gIGZpcnN0IGFuZCB0aGUgYCRudW1gIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGV4Y2x1ZGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW5cbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXQncyB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgbm90IGJlIGFwcGxpZWQuXG5AbWl4aW4gdW5pcXVlIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIGJlIGFwcGxpZWQuXG5AbWl4aW4gbm90LXVuaXF1ZSgpIHtcbiAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG5AbWl4aW4gZXZlbiB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gZXZlbi1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoZXZlbik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuQG1peGluIG9kZCB7XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIG9kZC1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBgJG51bWAgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG5gIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG5gIG51bWJlclxuQG1peGluIG51bWJlci1iZXR3ZWVuKCRudW0sICRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdGF0ZVxuLy8vL1xuXG4vLy8gUm90YXRlIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGUoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWCBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBYLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVgoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWCgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVkgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWS1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVZKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVkoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVaIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFotQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWigkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVaKCRkZWcgKyBkZWcpO1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG5cbiAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIFBybyA1LjE1LjQgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdsYXJnZXInO1xuQGltcG9ydCAnZml4ZWQtd2lkdGgnO1xuQGltcG9ydCAnbGlzdCc7XG5AaW1wb3J0ICdib3JkZXJlZC1wdWxsZWQnO1xuQGltcG9ydCAnYW5pbWF0ZWQnO1xuQGltcG9ydCAncm90YXRlZC1mbGlwcGVkJztcbkBpbXBvcnQgJ3N0YWNrZWQnO1xuQGltcG9ydCAnaWNvbnMnO1xuQGltcG9ydCAnc2NyZWVuLXJlYWRlcic7XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICAgXCIuLi93ZWJmb250c1wiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgICAxNnB4ICFkZWZhdWx0O1xuJGZhLWZvbnQtZGlzcGxheTogICAgICBibG9jayAhZGVmYXVsdDtcbiRmYS1jc3MtcHJlZml4OiAgICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgIFwiNS4xNS40XCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZmEtbGktd2lkdGg6ICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmYS1mdy13aWR0aDogICAgICAgICAgKDIwZW0gLyAxNik7XG4kZmEtcHJpbWFyeS1vcGFjaXR5OiAgIDEgIWRlZmF1bHQ7XG4kZmEtc2Vjb25kYXJ5LW9wYWNpdHk6IC40ICFkZWZhdWx0O1xuXG4vLyBDb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLWFiYWN1czogXFxmNjQwO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNvcm46IFxcZjZhZTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWNvbmRpdGlvbmVyOiBcXGY4ZjQ7XG4kZmEtdmFyLWFpci1mcmVzaGVuZXI6IFxcZjVkMDtcbiRmYS12YXItYWlyYm5iOiBcXGY4MzQ7XG4kZmEtdmFyLWFsYXJtLWNsb2NrOiBcXGYzNGU7XG4kZmEtdmFyLWFsYXJtLWV4Y2xhbWF0aW9uOiBcXGY4NDM7XG4kZmEtdmFyLWFsYXJtLXBsdXM6IFxcZjg0NDtcbiRmYS12YXItYWxhcm0tc25vb3plOiBcXGY4NDU7XG4kZmEtdmFyLWFsYnVtOiBcXGY4OWY7XG4kZmEtdmFyLWFsYnVtLWNvbGxlY3Rpb246IFxcZjhhMDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGljb3JuOiBcXGY2YjA7XG4kZmEtdmFyLWFsaWVuOiBcXGY4ZjU7XG4kZmEtdmFyLWFsaWVuLW1vbnN0ZXI6IFxcZjhmNjtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcXGYwMzc7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFxcZjAzOTtcbiRmYS12YXItYWxpZ24tbGVmdDogXFxmMDM2O1xuJGZhLXZhci1hbGlnbi1yaWdodDogXFxmMDM4O1xuJGZhLXZhci1hbGlnbi1zbGFzaDogXFxmODQ2O1xuJGZhLXZhci1hbGlwYXk6IFxcZjY0MjtcbiRmYS12YXItYWxsZXJnaWVzOiBcXGY0NjE7XG4kZmEtdmFyLWFtYXpvbjogXFxmMjcwO1xuJGZhLXZhci1hbWF6b24tcGF5OiBcXGY0MmM7XG4kZmEtdmFyLWFtYnVsYW5jZTogXFxmMGY5O1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hbWlsaWE6IFxcZjM2ZDtcbiRmYS12YXItYW1wLWd1aXRhcjogXFxmOGExO1xuJGZhLXZhci1hbmFseXRpY3M6IFxcZjY0MztcbiRmYS12YXItYW5jaG9yOiBcXGYxM2Q7XG4kZmEtdmFyLWFuZHJvaWQ6IFxcZjE3YjtcbiRmYS12YXItYW5nZWw6IFxcZjc3OTtcbiRmYS12YXItYW5nZWxsaXN0OiBcXGYyMDk7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFxcZjEwMjtcbiRmYS12YXItYW5nbGUtZG93bjogXFxmMTA3O1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcXGYxMDQ7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcXGYxMDU7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcXGYxMDY7XG4kZmEtdmFyLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWFuZ3J5Y3JlYXRpdmU6IFxcZjM2ZTtcbiRmYS12YXItYW5ndWxhcjogXFxmNDIwO1xuJGZhLXZhci1hbmtoOiBcXGY2NDQ7XG4kZmEtdmFyLWFwcC1zdG9yZTogXFxmMzZmO1xuJGZhLXZhci1hcHAtc3RvcmUtaW9zOiBcXGYzNzA7XG4kZmEtdmFyLWFwcGVyOiBcXGYzNzE7XG4kZmEtdmFyLWFwcGxlOiBcXGYxNzk7XG4kZmEtdmFyLWFwcGxlLWFsdDogXFxmNWQxO1xuJGZhLXZhci1hcHBsZS1jcmF0ZTogXFxmNmIxO1xuJGZhLXZhci1hcHBsZS1wYXk6IFxcZjQxNTtcbiRmYS12YXItYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1hcmNod2F5OiBcXGY1NTc7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLWFycm93LWFsdC1kb3duOiBcXGYzNTQ7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLWJvdHRvbTogXFxmMzQ2O1xuJGZhLXZhci1hcnJvdy1hbHQtZnJvbS1sZWZ0OiBcXGYzNDc7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLXJpZ2h0OiBcXGYzNDg7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLXRvcDogXFxmMzQ5O1xuJGZhLXZhci1hcnJvdy1hbHQtbGVmdDogXFxmMzU1O1xuJGZhLXZhci1hcnJvdy1hbHQtcmlnaHQ6IFxcZjM1NjtcbiRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1kb3duOiBcXGYzNTA7XG4kZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtbGVmdDogXFxmMzUxO1xuJGZhLXZhci1hcnJvdy1hbHQtc3F1YXJlLXJpZ2h0OiBcXGYzNTI7XG4kZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtdXA6IFxcZjM1MztcbiRmYS12YXItYXJyb3ctYWx0LXRvLWJvdHRvbTogXFxmMzRhO1xuJGZhLXZhci1hcnJvdy1hbHQtdG8tbGVmdDogXFxmMzRiO1xuJGZhLXZhci1hcnJvdy1hbHQtdG8tcmlnaHQ6IFxcZjM0YztcbiRmYS12YXItYXJyb3ctYWx0LXRvLXRvcDogXFxmMzRkO1xuJGZhLXZhci1hcnJvdy1hbHQtdXA6IFxcZjM1NztcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWZyb20tYm90dG9tOiBcXGYzNDI7XG4kZmEtdmFyLWFycm93LWZyb20tbGVmdDogXFxmMzQzO1xuJGZhLXZhci1hcnJvdy1mcm9tLXJpZ2h0OiBcXGYzNDQ7XG4kZmEtdmFyLWFycm93LWZyb20tdG9wOiBcXGYzNDU7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLWRvd246IFxcZjMzOTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLWxlZnQ6IFxcZjMzYTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLXJpZ2h0OiBcXGYzM2I7XG4kZmEtdmFyLWFycm93LXNxdWFyZS11cDogXFxmMzNjO1xuJGZhLXZhci1hcnJvdy10by1ib3R0b206IFxcZjMzZDtcbiRmYS12YXItYXJyb3ctdG8tbGVmdDogXFxmMzNlO1xuJGZhLXZhci1hcnJvdy10by1yaWdodDogXFxmMzQwO1xuJGZhLXZhci1hcnJvdy10by10b3A6IFxcZjM0MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzOiBcXGYwNDc7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFxcZjBiMjtcbiRmYS12YXItYXJyb3dzLWFsdC1oOiBcXGYzMzc7XG4kZmEtdmFyLWFycm93cy1hbHQtdjogXFxmMzM4O1xuJGZhLXZhci1hcnJvd3MtaDogXFxmMDdlO1xuJGZhLXZhci1hcnJvd3MtdjogXFxmMDdkO1xuJGZhLXZhci1hcnRzdGF0aW9uOiBcXGY3N2E7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXFxmMmEyO1xuJGZhLXZhci1hc3RlcmlzazogXFxmMDY5O1xuJGZhLXZhci1hc3ltbWV0cmlrOiBcXGYzNzI7XG4kZmEtdmFyLWF0OiBcXGYxZmE7XG4kZmEtdmFyLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLWF0bGFzc2lhbjogXFxmNzdiO1xuJGZhLXZhci1hdG9tOiBcXGY1ZDI7XG4kZmEtdmFyLWF0b20tYWx0OiBcXGY1ZDM7XG4kZmEtdmFyLWF1ZGlibGU6IFxcZjM3MztcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFxcZjI5ZTtcbiRmYS12YXItYXV0b3ByZWZpeGVyOiBcXGY0MWM7XG4kZmEtdmFyLWF2aWFuZXg6IFxcZjM3NDtcbiRmYS12YXItYXZpYXRvOiBcXGY0MjE7XG4kZmEtdmFyLWF3YXJkOiBcXGY1NTk7XG4kZmEtdmFyLWF3czogXFxmMzc1O1xuJGZhLXZhci1heGU6IFxcZjZiMjtcbiRmYS12YXItYXhlLWJhdHRsZTogXFxmNmIzO1xuJGZhLXZhci1iYWJ5OiBcXGY3N2M7XG4kZmEtdmFyLWJhYnktY2FycmlhZ2U6IFxcZjc3ZDtcbiRmYS12YXItYmFja3BhY2s6IFxcZjVkNDtcbiRmYS12YXItYmFja3NwYWNlOiBcXGY1NWE7XG4kZmEtdmFyLWJhY2t3YXJkOiBcXGYwNGE7XG4kZmEtdmFyLWJhY29uOiBcXGY3ZTU7XG4kZmEtdmFyLWJhY3RlcmlhOiBcXGUwNTk7XG4kZmEtdmFyLWJhY3Rlcml1bTogXFxlMDVhO1xuJGZhLXZhci1iYWRnZTogXFxmMzM1O1xuJGZhLXZhci1iYWRnZS1jaGVjazogXFxmMzM2O1xuJGZhLXZhci1iYWRnZS1kb2xsYXI6IFxcZjY0NTtcbiRmYS12YXItYmFkZ2UtcGVyY2VudDogXFxmNjQ2O1xuJGZhLXZhci1iYWRnZS1zaGVyaWZmOiBcXGY4YTI7XG4kZmEtdmFyLWJhZGdlci1ob25leTogXFxmNmI0O1xuJGZhLXZhci1iYWdzLXNob3BwaW5nOiBcXGY4NDc7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFsbC1waWxlOiBcXGY3N2U7XG4kZmEtdmFyLWJhbGxvdDogXFxmNzMyO1xuJGZhLXZhci1iYWxsb3QtY2hlY2s6IFxcZjczMztcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhbmpvOiBcXGY4YTM7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyY29kZS1hbHQ6IFxcZjQ2MztcbiRmYS12YXItYmFyY29kZS1yZWFkOiBcXGY0NjQ7XG4kZmEtdmFyLWJhcmNvZGUtc2NhbjogXFxmNDY1O1xuJGZhLXZhci1iYXJzOiBcXGYwYzk7XG4kZmEtdmFyLWJhc2ViYWxsOiBcXGY0MzI7XG4kZmEtdmFyLWJhc2ViYWxsLWJhbGw6IFxcZjQzMztcbiRmYS12YXItYmFza2V0YmFsbC1iYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLWJhc2tldGJhbGwtaG9vcDogXFxmNDM1O1xuJGZhLXZhci1iYXQ6IFxcZjZiNTtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXR0ZXJ5LWJvbHQ6IFxcZjM3NjtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXFxmMjQ0O1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcXGYyNDI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXFxmMjQzO1xuJGZhLXZhci1iYXR0ZXJ5LXNsYXNoOiBcXGYzNzc7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItYmVkLWFsdDogXFxmOGY3O1xuJGZhLXZhci1iZWQtYnVuazogXFxmOGY4O1xuJGZhLXZhci1iZWQtZW1wdHk6IFxcZjhmOTtcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItYmVsbC1leGNsYW1hdGlvbjogXFxmODQ4O1xuJGZhLXZhci1iZWxsLW9uOiBcXGY4ZmE7XG4kZmEtdmFyLWJlbGwtcGx1czogXFxmODQ5O1xuJGZhLXZhci1iZWxsLXNjaG9vbDogXFxmNWQ1O1xuJGZhLXZhci1iZWxsLXNjaG9vbC1zbGFzaDogXFxmNWQ2O1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlbGxzOiBcXGY3N2Y7XG4kZmEtdmFyLWJldGFtYXg6IFxcZjhhNDtcbiRmYS12YXItYmV6aWVyLWN1cnZlOiBcXGY1NWI7XG4kZmEtdmFyLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLWJpY3ljbGU6IFxcZjIwNjtcbiRmYS12YXItYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJpa2luZy1tb3VudGFpbjogXFxmODRiO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsYW5rZXQ6IFxcZjQ5ODtcbiRmYS12YXItYmxlbmRlcjogXFxmNTE3O1xuJGZhLXZhci1ibGVuZGVyLXBob25lOiBcXGY2YjY7XG4kZmEtdmFyLWJsaW5kOiBcXGYyOWQ7XG4kZmEtdmFyLWJsaW5kczogXFxmOGZiO1xuJGZhLXZhci1ibGluZHMtb3BlbjogXFxmOGZjO1xuJGZhLXZhci1ibGluZHMtcmFpc2VkOiBcXGY4ZmQ7XG4kZmEtdmFyLWJsb2c6IFxcZjc4MTtcbiRmYS12YXItYmxvZ2dlcjogXFxmMzdjO1xuJGZhLXZhci1ibG9nZ2VyLWI6IFxcZjM3ZDtcbiRmYS12YXItYmx1ZXRvb3RoOiBcXGYyOTM7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcXGYyOTQ7XG4kZmEtdmFyLWJvbGQ6IFxcZjAzMjtcbiRmYS12YXItYm9sdDogXFxmMGU3O1xuJGZhLXZhci1ib21iOiBcXGYxZTI7XG4kZmEtdmFyLWJvbmU6IFxcZjVkNztcbiRmYS12YXItYm9uZS1icmVhazogXFxmNWQ4O1xuJGZhLXZhci1ib25nOiBcXGY1NWM7XG4kZmEtdmFyLWJvb2s6IFxcZjAyZDtcbiRmYS12YXItYm9vay1hbHQ6IFxcZjVkOTtcbiRmYS12YXItYm9vay1kZWFkOiBcXGY2Yjc7XG4kZmEtdmFyLWJvb2staGVhcnQ6IFxcZjQ5OTtcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rLXNwZWxsczogXFxmNmI4O1xuJGZhLXZhci1ib29rLXVzZXI6IFxcZjdlNztcbiRmYS12YXItYm9va21hcms6IFxcZjAyZTtcbiRmYS12YXItYm9va3M6IFxcZjVkYjtcbiRmYS12YXItYm9va3MtbWVkaWNhbDogXFxmN2U4O1xuJGZhLXZhci1ib29tYm94OiBcXGY4YTU7XG4kZmEtdmFyLWJvb3Q6IFxcZjc4MjtcbiRmYS12YXItYm9vdGgtY3VydGFpbjogXFxmNzM0O1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItYm90dG9tOiBcXGY4NGQ7XG4kZmEtdmFyLWJvcmRlci1jZW50ZXItaDogXFxmODljO1xuJGZhLXZhci1ib3JkZXItY2VudGVyLXY6IFxcZjg5ZDtcbiRmYS12YXItYm9yZGVyLWlubmVyOiBcXGY4NGU7XG4kZmEtdmFyLWJvcmRlci1sZWZ0OiBcXGY4NGY7XG4kZmEtdmFyLWJvcmRlci1ub25lOiBcXGY4NTA7XG4kZmEtdmFyLWJvcmRlci1vdXRlcjogXFxmODUxO1xuJGZhLXZhci1ib3JkZXItcmlnaHQ6IFxcZjg1MjtcbiRmYS12YXItYm9yZGVyLXN0eWxlOiBcXGY4NTM7XG4kZmEtdmFyLWJvcmRlci1zdHlsZS1hbHQ6IFxcZjg1NDtcbiRmYS12YXItYm9yZGVyLXRvcDogXFxmODU1O1xuJGZhLXZhci1ib3ctYXJyb3c6IFxcZjZiOTtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJvd2xpbmctcGluczogXFxmNDM3O1xuJGZhLXZhci1ib3g6IFxcZjQ2NjtcbiRmYS12YXItYm94LWFsdDogXFxmNDlhO1xuJGZhLXZhci1ib3gtYmFsbG90OiBcXGY3MzU7XG4kZmEtdmFyLWJveC1jaGVjazogXFxmNDY3O1xuJGZhLXZhci1ib3gtZnJhZ2lsZTogXFxmNDliO1xuJGZhLXZhci1ib3gtZnVsbDogXFxmNDljO1xuJGZhLXZhci1ib3gtaGVhcnQ6IFxcZjQ5ZDtcbiRmYS12YXItYm94LW9wZW46IFxcZjQ5ZTtcbiRmYS12YXItYm94LXRpc3N1ZTogXFxlMDViO1xuJGZhLXZhci1ib3gtdXA6IFxcZjQ5ZjtcbiRmYS12YXItYm94LXVzZDogXFxmNGEwO1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1ib3hlcy1hbHQ6IFxcZjRhMTtcbiRmYS12YXItYm94aW5nLWdsb3ZlOiBcXGY0Mzg7XG4kZmEtdmFyLWJyYWNrZXRzOiBcXGY3ZTk7XG4kZmEtdmFyLWJyYWNrZXRzLWN1cmx5OiBcXGY3ZWE7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtbG9hZjogXFxmN2ViO1xuJGZhLXZhci1icmVhZC1zbGljZTogXFxmN2VjO1xuJGZhLXZhci1icmllZmNhc2U6IFxcZjBiMTtcbiRmYS12YXItYnJpZWZjYXNlLW1lZGljYWw6IFxcZjQ2OTtcbiRmYS12YXItYnJpbmctZm9yd2FyZDogXFxmODU2O1xuJGZhLXZhci1icmluZy1mcm9udDogXFxmODU3O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItYnJvd3NlcjogXFxmMzdlO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idWxsc2V5ZS1hcnJvdzogXFxmNjQ4O1xuJGZhLXZhci1idWxsc2V5ZS1wb2ludGVyOiBcXGY2NDk7XG4kZmEtdmFyLWJ1cmdlci1zb2RhOiBcXGY4NTg7XG4kZmEtdmFyLWJ1cm46IFxcZjQ2YTtcbiRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZTogXFxmMzdmO1xuJGZhLXZhci1idXJyaXRvOiBcXGY3ZWQ7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWJ1cy1zY2hvb2w6IFxcZjVkZDtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhYmluZXQtZmlsaW5nOiBcXGY2NGI7XG4kZmEtdmFyLWNhY3R1czogXFxmOGE3O1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLWNhbGN1bGF0b3ItYWx0OiBcXGY2NGM7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItY2FsZW5kYXItZWRpdDogXFxmMzMzO1xuJGZhLXZhci1jYWxlbmRhci1leGNsYW1hdGlvbjogXFxmMzM0O1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXN0YXI6IFxcZjczNjtcbiRmYS12YXItY2FsZW5kYXItdGltZXM6IFxcZjI3MztcbiRmYS12YXItY2FsZW5kYXItd2VlazogXFxmNzg0O1xuJGZhLXZhci1jYW1jb3JkZXI6IFxcZjhhODtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1hbHQ6IFxcZjMzMjtcbiRmYS12YXItY2FtZXJhLWhvbWU6IFxcZjhmZTtcbiRmYS12YXItY2FtZXJhLW1vdmllOiBcXGY4YTk7XG4kZmEtdmFyLWNhbWVyYS1wb2xhcm9pZDogXFxmOGFhO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2FtcGZpcmU6IFxcZjZiYTtcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLWNhbmRsZS1ob2xkZXI6IFxcZjZiYztcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5keS1jb3JuOiBcXGY2YmQ7XG4kZmEtdmFyLWNhbm5hYmlzOiBcXGY1NWY7XG4kZmEtdmFyLWNhcHN1bGVzOiBcXGY0NmI7XG4kZmEtdmFyLWNhcjogXFxmMWI5O1xuJGZhLXZhci1jYXItYWx0OiBcXGY1ZGU7XG4kZmEtdmFyLWNhci1iYXR0ZXJ5OiBcXGY1ZGY7XG4kZmEtdmFyLWNhci1idWlsZGluZzogXFxmODU5O1xuJGZhLXZhci1jYXItYnVtcDogXFxmNWUwO1xuJGZhLXZhci1jYXItYnVzOiBcXGY4NWE7XG4kZmEtdmFyLWNhci1jcmFzaDogXFxmNWUxO1xuJGZhLXZhci1jYXItZ2FyYWdlOiBcXGY1ZTI7XG4kZmEtdmFyLWNhci1tZWNoYW5pYzogXFxmNWUzO1xuJGZhLXZhci1jYXItc2lkZTogXFxmNWU0O1xuJGZhLXZhci1jYXItdGlsdDogXFxmNWU1O1xuJGZhLXZhci1jYXItd2FzaDogXFxmNWU2O1xuJGZhLXZhci1jYXJhdmFuOiBcXGY4ZmY7XG4kZmEtdmFyLWNhcmF2YW4tYWx0OiBcXGUwMDA7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1kb3duOiBcXGYzMmQ7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1sZWZ0OiBcXGYzMmU7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1yaWdodDogXFxmMzMwO1xuJGZhLXZhci1jYXJldC1jaXJjbGUtdXA6IFxcZjMzMTtcbiRmYS12YXItY2FyZXQtZG93bjogXFxmMGQ3O1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcXGYwZDk7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcXGYwZGE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtdXA6IFxcZjE1MTtcbiRmYS12YXItY2FyZXQtdXA6IFxcZjBkODtcbiRmYS12YXItY2Fycm90OiBcXGY3ODc7XG4kZmEtdmFyLWNhcnM6IFxcZjg1YjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhc3NldHRlLXRhcGU6IFxcZjhhYjtcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWNhdC1zcGFjZTogXFxlMDAxO1xuJGZhLXZhci1jYXVsZHJvbjogXFxmNmJmO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jY3R2OiBcXGY4YWM7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNoYWlyLW9mZmljZTogXFxmNmMxO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtbGluZS1kb3duOiBcXGY2NGQ7XG4kZmEtdmFyLWNoYXJ0LW5ldHdvcms6IFxcZjc4YTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoYXJ0LXBpZS1hbHQ6IFxcZjY0ZTtcbiRmYS12YXItY2hhcnQtc2NhdHRlcjogXFxmN2VlO1xuJGZhLXZhci1jaGVjazogXFxmMDBjO1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFxcZjA1ODtcbiRmYS12YXItY2hlY2stZG91YmxlOiBcXGY1NjA7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXFxmMTRhO1xuJGZhLXZhci1jaGVlc2U6IFxcZjdlZjtcbiRmYS12YXItY2hlZXNlLXN3aXNzOiBcXGY3ZjA7XG4kZmEtdmFyLWNoZWVzZWJ1cmdlcjogXFxmN2YxO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYmlzaG9wLWFsdDogXFxmNDNiO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1jaGVzcy1jbG9jazogXFxmNDNkO1xuJGZhLXZhci1jaGVzcy1jbG9jay1hbHQ6IFxcZjQzZTtcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1raW5nLWFsdDogXFxmNDQwO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3Mta25pZ2h0LWFsdDogXFxmNDQyO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWNoZXNzLXBhd24tYWx0OiBcXGY0NDQ7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuLWFsdDogXFxmNDQ2O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXNzLXJvb2stYWx0OiBcXGY0NDg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvdWJsZS1kb3duOiBcXGYzMjI7XG4kZmEtdmFyLWNoZXZyb24tZG91YmxlLWxlZnQ6IFxcZjMyMztcbiRmYS12YXItY2hldnJvbi1kb3VibGUtcmlnaHQ6IFxcZjMyNDtcbiRmYS12YXItY2hldnJvbi1kb3VibGUtdXA6IFxcZjMyNTtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcXGYwNzg7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXFxmMDUzO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcXGYwNTQ7XG4kZmEtdmFyLWNoZXZyb24tc3F1YXJlLWRvd246IFxcZjMyOTtcbiRmYS12YXItY2hldnJvbi1zcXVhcmUtbGVmdDogXFxmMzJhO1xuJGZhLXZhci1jaGV2cm9uLXNxdWFyZS1yaWdodDogXFxmMzJiO1xuJGZhLXZhci1jaGV2cm9uLXNxdWFyZS11cDogXFxmMzJjO1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWNoaW1uZXk6IFxcZjc4YjtcbiRmYS12YXItY2hyb21lOiBcXGYyNjg7XG4kZmEtdmFyLWNocm9tZWNhc3Q6IFxcZjgzODtcbiRmYS12YXItY2h1cmNoOiBcXGY1MWQ7XG4kZmEtdmFyLWNpcmNsZTogXFxmMTExO1xuJGZhLXZhci1jaXJjbGUtbm90Y2g6IFxcZjFjZTtcbiRmYS12YXItY2l0eTogXFxmNjRmO1xuJGZhLXZhci1jbGFyaW5ldDogXFxmOGFkO1xuJGZhLXZhci1jbGF3LW1hcmtzOiBcXGY2YzI7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xpcGJvYXJkLWxpc3QtY2hlY2s6IFxcZjczNztcbiRmYS12YXItY2xpcGJvYXJkLXByZXNjcmlwdGlvbjogXFxmNWU4O1xuJGZhLXZhci1jbGlwYm9hcmQtdXNlcjogXFxmN2YzO1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjM4MTtcbiRmYS12YXItY2xvdWQtZHJpenpsZTogXFxmNzM4O1xuJGZhLXZhci1jbG91ZC1oYWlsOiBcXGY3Mzk7XG4kZmEtdmFyLWNsb3VkLWhhaWwtbWl4ZWQ6IFxcZjczYTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2xvdWQtbXVzaWM6IFxcZjhhZTtcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1jbG91ZC1yYWluYm93OiBcXGY3M2U7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnM6IFxcZjczZjtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zbGVldDogXFxmNzQxO1xuJGZhLXZhci1jbG91ZC1zbm93OiBcXGY3NDI7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3VkczogXFxmNzQ0O1xuJGZhLXZhci1jbG91ZHMtbW9vbjogXFxmNzQ1O1xuJGZhLXZhci1jbG91ZHMtc3VuOiBcXGY3NDY7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY2x1YjogXFxmMzI3O1xuJGZhLXZhci1jb2NrdGFpbDogXFxmNTYxO1xuJGZhLXZhci1jb2RlOiBcXGYxMjE7XG4kZmEtdmFyLWNvZGUtYnJhbmNoOiBcXGYxMjY7XG4kZmEtdmFyLWNvZGUtY29tbWl0OiBcXGYzODY7XG4kZmEtdmFyLWNvZGUtbWVyZ2U6IFxcZjM4NztcbiRmYS12YXItY29kZXBlbjogXFxmMWNiO1xuJGZhLXZhci1jb2RpZXBpZTogXFxmMjg0O1xuJGZhLXZhci1jb2ZmZWU6IFxcZjBmNDtcbiRmYS12YXItY29mZmVlLXBvdDogXFxlMDAyO1xuJGZhLXZhci1jb2ZmZWUtdG9nbzogXFxmNmM1O1xuJGZhLXZhci1jb2ZmaW46IFxcZjZjNjtcbiRmYS12YXItY29mZmluLWNyb3NzOiBcXGUwNTE7XG4kZmEtdmFyLWNvZzogXFxmMDEzO1xuJGZhLXZhci1jb2dzOiBcXGYwODU7XG4kZmEtdmFyLWNvaW46IFxcZjg1YztcbiRmYS12YXItY29pbnM6IFxcZjUxZTtcbiRmYS12YXItY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1jb21ldDogXFxlMDAzO1xuJGZhLXZhci1jb21tZW50OiBcXGYwNzU7XG4kZmEtdmFyLWNvbW1lbnQtYWx0OiBcXGYyN2E7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWNoZWNrOiBcXGY0YTI7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWRvbGxhcjogXFxmNjUwO1xuJGZhLXZhci1jb21tZW50LWFsdC1kb3RzOiBcXGY0YTM7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWVkaXQ6IFxcZjRhNDtcbiRmYS12YXItY29tbWVudC1hbHQtZXhjbGFtYXRpb246IFxcZjRhNTtcbiRmYS12YXItY29tbWVudC1hbHQtbGluZXM6IFxcZjRhNjtcbiRmYS12YXItY29tbWVudC1hbHQtbWVkaWNhbDogXFxmN2Y0O1xuJGZhLXZhci1jb21tZW50LWFsdC1taW51czogXFxmNGE3O1xuJGZhLXZhci1jb21tZW50LWFsdC1tdXNpYzogXFxmOGFmO1xuJGZhLXZhci1jb21tZW50LWFsdC1wbHVzOiBcXGY0YTg7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXNsYXNoOiBcXGY0YTk7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXNtaWxlOiBcXGY0YWE7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXRpbWVzOiBcXGY0YWI7XG4kZmEtdmFyLWNvbW1lbnQtY2hlY2s6IFxcZjRhYztcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtZWRpdDogXFxmNGFlO1xuJGZhLXZhci1jb21tZW50LWV4Y2xhbWF0aW9uOiBcXGY0YWY7XG4kZmEtdmFyLWNvbW1lbnQtbGluZXM6IFxcZjRiMDtcbiRmYS12YXItY29tbWVudC1tZWRpY2FsOiBcXGY3ZjU7XG4kZmEtdmFyLWNvbW1lbnQtbWludXM6IFxcZjRiMTtcbiRmYS12YXItY29tbWVudC1tdXNpYzogXFxmOGIwO1xuJGZhLXZhci1jb21tZW50LXBsdXM6IFxcZjRiMjtcbiRmYS12YXItY29tbWVudC1zbGFzaDogXFxmNGIzO1xuJGZhLXZhci1jb21tZW50LXNtaWxlOiBcXGY0YjQ7XG4kZmEtdmFyLWNvbW1lbnQtdGltZXM6IFxcZjRiNTtcbiRmYS12YXItY29tbWVudHM6IFxcZjA4NjtcbiRmYS12YXItY29tbWVudHMtYWx0OiBcXGY0YjY7XG4kZmEtdmFyLWNvbW1lbnRzLWFsdC1kb2xsYXI6IFxcZjY1MjtcbiRmYS12YXItY29tbWVudHMtZG9sbGFyOiBcXGY2NTM7XG4kZmEtdmFyLWNvbXBhY3QtZGlzYzogXFxmNTFmO1xuJGZhLXZhci1jb21wYXNzOiBcXGYxNGU7XG4kZmEtdmFyLWNvbXBhc3Mtc2xhc2g6IFxcZjVlOTtcbiRmYS12YXItY29tcHJlc3M6IFxcZjA2NjtcbiRmYS12YXItY29tcHJlc3MtYWx0OiBcXGY0MjI7XG4kZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQ6IFxcZjc4YztcbiRmYS12YXItY29tcHJlc3Mtd2lkZTogXFxmMzI2O1xuJGZhLXZhci1jb21wdXRlci1jbGFzc2ljOiBcXGY4YjE7XG4kZmEtdmFyLWNvbXB1dGVyLXNwZWFrZXI6IFxcZjhiMjtcbiRmYS12YXItY29uY2llcmdlLWJlbGw6IFxcZjU2MjtcbiRmYS12YXItY29uZmx1ZW5jZTogXFxmNzhkO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXFxmMjBlO1xuJGZhLXZhci1jb25zdHJ1Y3Rpb246IFxcZjg1ZDtcbiRmYS12YXItY29udGFpbmVyLXN0b3JhZ2U6IFxcZjRiNztcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLWNvbnZleW9yLWJlbHQ6IFxcZjQ2ZTtcbiRmYS12YXItY29udmV5b3ItYmVsdC1hbHQ6IFxcZjQ2ZjtcbiRmYS12YXItY29va2llOiBcXGY1NjM7XG4kZmEtdmFyLWNvb2tpZS1iaXRlOiBcXGY1NjQ7XG4kZmEtdmFyLWNvcHk6IFxcZjBjNTtcbiRmYS12YXItY29weXJpZ2h0OiBcXGYxZjk7XG4kZmEtdmFyLWNvcm46IFxcZjZjNztcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jb3c6IFxcZjZjODtcbiRmYS12YXItY293YmVsbDogXFxmOGIzO1xuJGZhLXZhci1jb3diZWxsLW1vcmU6IFxcZjhiNDtcbiRmYS12YXItY3BhbmVsOiBcXGYzODg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFxcZjI1ZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieTogXFxmNGU3O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jOiBcXGY0ZTg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6IFxcZjRlOTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcDogXFxmNGVhO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kOiBcXGY0ZWI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQ6IFxcZjRlYztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6IFxcZjRlZDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peDogXFxmNGVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhOiBcXGY0ZWY7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6IFxcZjRmMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOiBcXGY0ZjE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6IFxcZjRmMjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvOiBcXGY0ZjM7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcXGYwOWQ7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWJsYW5rOiBcXGYzODk7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWZyb250OiBcXGYzOGE7XG4kZmEtdmFyLWNyaWNrZXQ6IFxcZjQ0OTtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9pc3NhbnQ6IFxcZjdmNjtcbiRmYS12YXItY3JvcDogXFxmMTI1O1xuJGZhLXZhci1jcm9wLWFsdDogXFxmNTY1O1xuJGZhLXZhci1jcm9zczogXFxmNjU0O1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcXGYwNWI7XG4kZmEtdmFyLWNyb3c6IFxcZjUyMDtcbiRmYS12YXItY3Jvd246IFxcZjUyMTtcbiRmYS12YXItY3J1dGNoOiBcXGY3Zjc7XG4kZmEtdmFyLWNydXRjaGVzOiBcXGY3Zjg7XG4kZmEtdmFyLWNzczM6IFxcZjEzYztcbiRmYS12YXItY3NzMy1hbHQ6IFxcZjM4YjtcbiRmYS12YXItY3ViZTogXFxmMWIyO1xuJGZhLXZhci1jdWJlczogXFxmMWIzO1xuJGZhLXZhci1jdXJsaW5nOiBcXGY0NGE7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFnZ2VyOiBcXGY2Y2I7XG4kZmEtdmFyLWRhaWx5bW90aW9uOiBcXGUwNTI7XG4kZmEtdmFyLWRhc2hjdWJlOiBcXGYyMTA7XG4kZmEtdmFyLWRhdGFiYXNlOiBcXGYxYzA7XG4kZmEtdmFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVidWc6IFxcZjdmOTtcbiRmYS12YXItZGVlcjogXFxmNzhlO1xuJGZhLXZhci1kZWVyLXJ1ZG9scGg6IFxcZjc4ZjtcbiRmYS12YXItZGVlemVyOiBcXGUwNzc7XG4kZmEtdmFyLWRlbGljaW91czogXFxmMWE1O1xuJGZhLXZhci1kZW1vY3JhdDogXFxmNzQ3O1xuJGZhLXZhci1kZXBsb3lkb2c6IFxcZjM4ZTtcbiRmYS12YXItZGVza3BybzogXFxmMzhmO1xuJGZhLXZhci1kZXNrdG9wOiBcXGYxMDg7XG4kZmEtdmFyLWRlc2t0b3AtYWx0OiBcXGYzOTA7XG4kZmEtdmFyLWRldjogXFxmNmNjO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcXGYxYmQ7XG4kZmEtdmFyLWRld3BvaW50OiBcXGY3NDg7XG4kZmEtdmFyLWRoYXJtYWNoYWtyYTogXFxmNjU1O1xuJGZhLXZhci1kaGw6IFxcZjc5MDtcbiRmYS12YXItZGlhZ25vc2VzOiBcXGY0NzA7XG4kZmEtdmFyLWRpYW1vbmQ6IFxcZjIxOTtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQxMDogXFxmNmNkO1xuJGZhLXZhci1kaWNlLWQxMjogXFxmNmNlO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ0OiBcXGY2ZDA7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItZGljZS1kODogXFxmNmQyO1xuJGZhLXZhci1kaWNlLWZpdmU6IFxcZjUyMztcbiRmYS12YXItZGljZS1mb3VyOiBcXGY1MjQ7XG4kZmEtdmFyLWRpY2Utb25lOiBcXGY1MjU7XG4kZmEtdmFyLWRpY2Utc2l4OiBcXGY1MjY7XG4kZmEtdmFyLWRpY2UtdGhyZWU6IFxcZjUyNztcbiRmYS12YXItZGljZS10d286IFxcZjUyODtcbiRmYS12YXItZGlnZzogXFxmMWE2O1xuJGZhLXZhci1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcGxvbWE6IFxcZjVlYTtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1kaXNjLWRyaXZlOiBcXGY4YjU7XG4kZmEtdmFyLWRpc2NvcmQ6IFxcZjM5MjtcbiRmYS12YXItZGlzY291cnNlOiBcXGYzOTM7XG4kZmEtdmFyLWRpc2Vhc2U6IFxcZjdmYTtcbiRmYS12YXItZGl2aWRlOiBcXGY1Mjk7XG4kZmEtdmFyLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWRuYTogXFxmNDcxO1xuJGZhLXZhci1kby1ub3QtZW50ZXI6IFxcZjVlYztcbiRmYS12YXItZG9jaHViOiBcXGYzOTQ7XG4kZmEtdmFyLWRvY2tlcjogXFxmMzk1O1xuJGZhLXZhci1kb2c6IFxcZjZkMztcbiRmYS12YXItZG9nLWxlYXNoZWQ6IFxcZjZkNDtcbiRmYS12YXItZG9sbGFyLXNpZ246IFxcZjE1NTtcbiRmYS12YXItZG9sbHk6IFxcZjQ3MjtcbiRmYS12YXItZG9sbHktZW1wdHk6IFxcZjQ3MztcbiRmYS12YXItZG9sbHktZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkLWFsdDogXFxmNDc1O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkLWVtcHR5OiBcXGY0NzY7XG4kZmEtdmFyLWRvbmF0ZTogXFxmNGI5O1xuJGZhLXZhci1kb29yLWNsb3NlZDogXFxmNTJhO1xuJGZhLXZhci1kb29yLW9wZW46IFxcZjUyYjtcbiRmYS12YXItZG90LWNpcmNsZTogXFxmMTkyO1xuJGZhLXZhci1kb3ZlOiBcXGY0YmE7XG4kZmEtdmFyLWRvd25sb2FkOiBcXGYwMTk7XG4kZmEtdmFyLWRyYWZ0MmRpZ2l0YWw6IFxcZjM5NjtcbiRmYS12YXItZHJhZnRpbmctY29tcGFzczogXFxmNTY4O1xuJGZhLXZhci1kcmFnb246IFxcZjZkNTtcbiRmYS12YXItZHJhdy1jaXJjbGU6IFxcZjVlZDtcbiRmYS12YXItZHJhdy1wb2x5Z29uOiBcXGY1ZWU7XG4kZmEtdmFyLWRyYXctc3F1YXJlOiBcXGY1ZWY7XG4kZmEtdmFyLWRyZWlkZWw6IFxcZjc5MjtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb25lOiBcXGY4NWY7XG4kZmEtdmFyLWRyb25lLWFsdDogXFxmODYwO1xuJGZhLXZhci1kcm9wYm94OiBcXGYxNmI7XG4kZmEtdmFyLWRydW06IFxcZjU2OTtcbiRmYS12YXItZHJ1bS1zdGVlbHBhbjogXFxmNTZhO1xuJGZhLXZhci1kcnVtc3RpY2s6IFxcZjZkNjtcbiRmYS12YXItZHJ1bXN0aWNrLWJpdGU6IFxcZjZkNztcbiRmYS12YXItZHJ1cGFsOiBcXGYxYTk7XG4kZmEtdmFyLWRyeWVyOiBcXGY4NjE7XG4kZmEtdmFyLWRyeWVyLWFsdDogXFxmODYyO1xuJGZhLXZhci1kdWNrOiBcXGY2ZDg7XG4kZmEtdmFyLWR1bWJiZWxsOiBcXGY0NGI7XG4kZmEtdmFyLWR1bXBzdGVyOiBcXGY3OTM7XG4kZmEtdmFyLWR1bXBzdGVyLWZpcmU6IFxcZjc5NDtcbiRmYS12YXItZHVuZ2VvbjogXFxmNmQ5O1xuJGZhLXZhci1keWFsb2c6IFxcZjM5OTtcbiRmYS12YXItZWFyOiBcXGY1ZjA7XG4kZmEtdmFyLWVhci1tdWZmczogXFxmNzk1O1xuJGZhLXZhci1lYXJseWJpcmRzOiBcXGYzOWE7XG4kZmEtdmFyLWViYXk6IFxcZjRmNDtcbiRmYS12YXItZWNsaXBzZTogXFxmNzQ5O1xuJGZhLXZhci1lY2xpcHNlLWFsdDogXFxmNzRhO1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVnZy1mcmllZDogXFxmN2ZjO1xuJGZhLXZhci1lamVjdDogXFxmMDUyO1xuJGZhLXZhci1lbGVtZW50b3I6IFxcZjQzMDtcbiRmYS12YXItZWxlcGhhbnQ6IFxcZjZkYTtcbiRmYS12YXItZWxsaXBzaXMtaDogXFxmMTQxO1xuJGZhLXZhci1lbGxpcHNpcy1oLWFsdDogXFxmMzliO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcXGYxNDI7XG4kZmEtdmFyLWVsbGlwc2lzLXYtYWx0OiBcXGYzOWM7XG4kZmEtdmFyLWVsbG86IFxcZjVmMTtcbiRmYS12YXItZW1iZXI6IFxcZjQyMztcbiRmYS12YXItZW1waXJlOiBcXGYxZDE7XG4kZmEtdmFyLWVtcHR5LXNldDogXFxmNjU2O1xuJGZhLXZhci1lbmdpbmUtd2FybmluZzogXFxmNWYyO1xuJGZhLXZhci1lbnZlbG9wZTogXFxmMGUwO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcXGYyYjY7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tZG9sbGFyOiBcXGY2NTc7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dDogXFxmNjU4O1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFxcZjE5OTtcbiRmYS12YXItZW52aXJhOiBcXGYyOTk7XG4kZmEtdmFyLWVxdWFsczogXFxmNTJjO1xuJGZhLXZhci1lcmFzZXI6IFxcZjEyZDtcbiRmYS12YXItZXJsYW5nOiBcXGYzOWQ7XG4kZmEtdmFyLWV0aGVyZXVtOiBcXGY0MmU7XG4kZmEtdmFyLWV0aGVybmV0OiBcXGY3OTY7XG4kZmEtdmFyLWV0c3k6IFxcZjJkNztcbiRmYS12YXItZXVyby1zaWduOiBcXGYxNTM7XG4kZmEtdmFyLWV2ZXJub3RlOiBcXGY4Mzk7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcXGYwZWM7XG4kZmEtdmFyLWV4Y2hhbmdlLWFsdDogXFxmMzYyO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXFxmMTJhO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFxcZjA2YTtcbiRmYS12YXItZXhjbGFtYXRpb24tc3F1YXJlOiBcXGYzMjE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3M6IFxcZjMxZDtcbiRmYS12YXItZXhwYW5kLWFycm93cy1hbHQ6IFxcZjMxZTtcbiRmYS12YXItZXhwYW5kLXdpZGU6IFxcZjMyMDtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcXGYyM2U7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFxcZjA4ZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFxcZjE0YztcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtZXZpbDogXFxmNmRiO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLWZhbjogXFxmODYzO1xuJGZhLXZhci1mYW4tdGFibGU6IFxcZTAwNDtcbiRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXM6IFxcZjZkYztcbiRmYS12YXItZmFybTogXFxmODY0O1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcXGYwNDk7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXFxmMDUwO1xuJGZhLXZhci1mYXVjZXQ6IFxcZTAwNTtcbiRmYS12YXItZmF1Y2V0LWRyaXA6IFxcZTAwNjtcbiRmYS12YXItZmF4OiBcXGYxYWM7XG4kZmEtdmFyLWZlYXRoZXI6IFxcZjUyZDtcbiRmYS12YXItZmVhdGhlci1hbHQ6IFxcZjU2YjtcbiRmYS12YXItZmVkZXg6IFxcZjc5NztcbiRmYS12YXItZmVkb3JhOiBcXGY3OTg7XG4kZmEtdmFyLWZlbWFsZTogXFxmMTgyO1xuJGZhLXZhci1maWVsZC1ob2NrZXk6IFxcZjQ0YztcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1maWxlLWNlcnRpZmljYXRlOiBcXGY1ZjM7XG4kZmEtdmFyLWZpbGUtY2hhcnQtbGluZTogXFxmNjU5O1xuJGZhLXZhci1maWxlLWNoYXJ0LXBpZTogXFxmNjVhO1xuJGZhLXZhci1maWxlLWNoZWNrOiBcXGYzMTY7XG4kZmEtdmFyLWZpbGUtY29kZTogXFxmMWM5O1xuJGZhLXZhci1maWxlLWNvbnRyYWN0OiBcXGY1NmM7XG4kZmEtdmFyLWZpbGUtY3N2OiBcXGY2ZGQ7XG4kZmEtdmFyLWZpbGUtZG93bmxvYWQ6IFxcZjU2ZDtcbiRmYS12YXItZmlsZS1lZGl0OiBcXGYzMWM7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1leGNsYW1hdGlvbjogXFxmMzFhO1xuJGZhLXZhci1maWxlLWV4cG9ydDogXFxmNTZlO1xuJGZhLXZhci1maWxlLWltYWdlOiBcXGYxYzU7XG4kZmEtdmFyLWZpbGUtaW1wb3J0OiBcXGY1NmY7XG4kZmEtdmFyLWZpbGUtaW52b2ljZTogXFxmNTcwO1xuJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyOiBcXGY1NzE7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbDogXFxmNDc3O1xuJGZhLXZhci1maWxlLW1lZGljYWwtYWx0OiBcXGY0Nzg7XG4kZmEtdmFyLWZpbGUtbWludXM6IFxcZjMxODtcbiRmYS12YXItZmlsZS1tdXNpYzogXFxmOGI2O1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1maWxlLXBsdXM6IFxcZjMxOTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2VhcmNoOiBcXGY4NjU7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtc3ByZWFkc2hlZXQ6IFxcZjY1YjtcbiRmYS12YXItZmlsZS10aW1lczogXFxmMzE3O1xuJGZhLXZhci1maWxlLXVwbG9hZDogXFxmNTc0O1xuJGZhLXZhci1maWxlLXVzZXI6IFxcZjY1YztcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsZXMtbWVkaWNhbDogXFxmN2ZkO1xuJGZhLXZhci1maWxsOiBcXGY1NzU7XG4kZmEtdmFyLWZpbGwtZHJpcDogXFxmNTc2O1xuJGZhLXZhci1maWxtOiBcXGYwMDg7XG4kZmEtdmFyLWZpbG0tYWx0OiBcXGYzYTA7XG4kZmEtdmFyLWZpbG0tY2FuaXN0ZXI6IFxcZjhiNztcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZS1zbW9rZTogXFxmNzRiO1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWZpcmVmb3gtYnJvd3NlcjogXFxlMDA3O1xuJGZhLXZhci1maXJlcGxhY2U6IFxcZjc5YTtcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzaC1jb29rZWQ6IFxcZjdmZTtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWFsdDogXFxmNzRjO1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFtZTogXFxmNmRmO1xuJGZhLXZhci1mbGFzaGxpZ2h0OiBcXGY4Yjg7XG4kZmEtdmFyLWZsYXNrOiBcXGYwYzM7XG4kZmEtdmFyLWZsYXNrLXBvaXNvbjogXFxmNmUwO1xuJGZhLXZhci1mbGFzay1wb3Rpb246IFxcZjZlMTtcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci1mbG93ZXI6IFxcZjdmZjtcbiRmYS12YXItZmxvd2VyLWRhZmZvZGlsOiBcXGY4MDA7XG4kZmEtdmFyLWZsb3dlci10dWxpcDogXFxmODAxO1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZsdXRlOiBcXGY4Yjk7XG4kZmEtdmFyLWZsdXgtY2FwYWNpdG9yOiBcXGY4YmE7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1mb2c6IFxcZjc0ZTtcbiRmYS12YXItZm9sZGVyOiBcXGYwN2I7XG4kZmEtdmFyLWZvbGRlci1kb3dubG9hZDogXFxlMDUzO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9sZGVyLXRpbWVzOiBcXGY2NWY7XG4kZmEtdmFyLWZvbGRlci10cmVlOiBcXGY4MDI7XG4kZmEtdmFyLWZvbGRlci11cGxvYWQ6IFxcZTA1NDtcbiRmYS12YXItZm9sZGVyczogXFxmNjYwO1xuJGZhLXZhci1mb250OiBcXGYwMzE7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0OiBcXGYzNWM7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnOiBcXGY0MjU7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6IFxcZjRlNjtcbiRmYS12YXItZm9udC1jYXNlOiBcXGY4NjY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb290YmFsbC1oZWxtZXQ6IFxcZjQ0ZjtcbiRmYS12YXItZm9ya2xpZnQ6IFxcZjQ3YTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLWZyYWdpbGU6IFxcZjRiYjtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcmVuY2gtZnJpZXM6IFxcZjgwMztcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1mcm9zdHktaGVhZDogXFxmNzliO1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItZnVuY3Rpb246IFxcZjY2MTtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLWdhbGF4eTogXFxlMDA4O1xuJGZhLXZhci1nYW1lLWJvYXJkOiBcXGY4Njc7XG4kZmEtdmFyLWdhbWUtYm9hcmQtYWx0OiBcXGY4Njg7XG4kZmEtdmFyLWdhbWUtY29uc29sZS1oYW5kaGVsZDogXFxmOGJiO1xuJGZhLXZhci1nYW1lcGFkOiBcXGYxMWI7XG4kZmEtdmFyLWdhbWVwYWQtYWx0OiBcXGY4YmM7XG4kZmEtdmFyLWdhcmFnZTogXFxlMDA5O1xuJGZhLXZhci1nYXJhZ2UtY2FyOiBcXGUwMGE7XG4kZmEtdmFyLWdhcmFnZS1vcGVuOiBcXGUwMGI7XG4kZmEtdmFyLWdhcy1wdW1wOiBcXGY1MmY7XG4kZmEtdmFyLWdhcy1wdW1wLXNsYXNoOiBcXGY1ZjQ7XG4kZmEtdmFyLWdhdmVsOiBcXGYwZTM7XG4kZmEtdmFyLWdlbTogXFxmM2E1O1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcXGYyMmQ7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFxcZjI2NTtcbiRmYS12YXItZ2c6IFxcZjI2MDtcbiRmYS12YXItZ2ctY2lyY2xlOiBcXGYyNjE7XG4kZmEtdmFyLWdob3N0OiBcXGY2ZTI7XG4kZmEtdmFyLWdpZnQ6IFxcZjA2YjtcbiRmYS12YXItZ2lmdC1jYXJkOiBcXGY2NjM7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpbmdlcmJyZWFkLW1hbjogXFxmNzlkO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZ2l0LWFsdDogXFxmODQxO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcXGYxZDI7XG4kZmEtdmFyLWdpdGh1YjogXFxmMDliO1xuJGZhLXZhci1naXRodWItYWx0OiBcXGYxMTM7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFxcZjA5MjtcbiRmYS12YXItZ2l0a3Jha2VuOiBcXGYzYTY7XG4kZmEtdmFyLWdpdGxhYjogXFxmMjk2O1xuJGZhLXZhci1naXR0ZXI6IFxcZjQyNjtcbiRmYS12YXItZ2xhc3M6IFxcZjgwNDtcbiRmYS12YXItZ2xhc3MtY2hhbXBhZ25lOiBcXGY3OWU7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1jaXRydXM6IFxcZjg2OTtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXktcm9ja3M6IFxcZjdhMTtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1nbGFzc2VzLWFsdDogXFxmNWY1O1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nbG9iZS1zbm93OiBcXGY3YTM7XG4kZmEtdmFyLWdsb2JlLXN0YW5kOiBcXGY1ZjY7XG4kZmEtdmFyLWdvZm9yZTogXFxmM2E3O1xuJGZhLXZhci1nb2xmLWJhbGw6IFxcZjQ1MDtcbiRmYS12YXItZ29sZi1jbHViOiBcXGY0NTE7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLWdvb2dsZS1wYXk6IFxcZTA3OTtcbiRmYS12YXItZ29vZ2xlLXBsYXk6IFxcZjNhYjtcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFxcZjJiMztcbiRmYS12YXItZ29vZ2xlLXBsdXMtZzogXFxmMGQ1O1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFxcZjBkNDtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXFxmMWVlO1xuJGZhLXZhci1nb3B1cmFtOiBcXGY2NjQ7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcXGYxOWQ7XG4kZmEtdmFyLWdyYW1vcGhvbmU6IFxcZjhiZDtcbiRmYS12YXItZ3JhdGlwYXk6IFxcZjE4NDtcbiRmYS12YXItZ3JhdjogXFxmMmQ2O1xuJGZhLXZhci1ncmVhdGVyLXRoYW46IFxcZjUzMTtcbiRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsOiBcXGY1MzI7XG4kZmEtdmFyLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1ncmluLWFsdDogXFxmNTgxO1xuJGZhLXZhci1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZ3JpcC1ob3Jpem9udGFsOiBcXGY1OGQ7XG4kZmEtdmFyLWdyaXAtbGluZXM6IFxcZjdhNDtcbiRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbDogXFxmN2E1O1xuJGZhLXZhci1ncmlwLXZlcnRpY2FsOiBcXGY1OGU7XG4kZmEtdmFyLWdyaXBmaXJlOiBcXGYzYWM7XG4kZmEtdmFyLWdydW50OiBcXGYzYWQ7XG4kZmEtdmFyLWd1aWxkZWQ6IFxcZTA3ZTtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWd1aXRhci1lbGVjdHJpYzogXFxmOGJlO1xuJGZhLXZhci1ndWl0YXJzOiBcXGY4YmY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItaDE6IFxcZjMxMztcbiRmYS12YXItaDI6IFxcZjMxNDtcbiRmYS12YXItaDM6IFxcZjMxNTtcbiRmYS12YXItaDQ6IFxcZjg2YTtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW1tZXItd2FyOiBcXGY2ZTQ7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaGVhcnQ6IFxcZjRiYztcbiRmYS12YXItaGFuZC1ob2xkaW5nOiBcXGY0YmQ7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1ib3g6IFxcZjQ3YjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1tYWdpYzogXFxmNmU1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbDogXFxlMDVjO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctc2VlZGxpbmc6IFxcZjRiZjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yZWNlaXZpbmc6IFxcZjQ3YztcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlYXJ0OiBcXGY0YzM7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtdXNkOiBcXGY0YzU7XG4kZmEtdmFyLWhhbmRzLXdhc2g6IFxcZTA1ZTtcbiRmYS12YXItaGFuZHNoYWtlOiBcXGYyYjU7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQ6IFxcZjRjNjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY2hlZjogXFxmODZiO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtc2FudGE6IFxcZjdhNztcbiRmYS12YXItaGF0LXdpbnRlcjogXFxmN2E4O1xuJGZhLXZhci1oYXQtd2l0Y2g6IFxcZjZlNztcbiRmYS12YXItaGF0LXdpemFyZDogXFxmNmU4O1xuJGZhLXZhci1oZGQ6IFxcZjBhMDtcbiRmYS12YXItaGVhZC1zaWRlOiBcXGY2ZTk7XG4kZmEtdmFyLWhlYWQtc2lkZS1icmFpbjogXFxmODA4O1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1oZWFkcGhvbmVzOiBcXGY4YzI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS1tZWRpY2FsOiBcXGY4MDk7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkLXZyOiBcXGY2ZWE7XG4kZmEtdmFyLWhlYWRpbmc6IFxcZjFkYztcbiRmYS12YXItaGVhZHBob25lczogXFxmMDI1O1xuJGZhLXZhci1oZWFkcGhvbmVzLWFsdDogXFxmNThmO1xuJGZhLXZhci1oZWFkc2V0OiBcXGY1OTA7XG4kZmEtdmFyLWhlYXJ0OiBcXGYwMDQ7XG4kZmEtdmFyLWhlYXJ0LWJyb2tlbjogXFxmN2E5O1xuJGZhLXZhci1oZWFydC1jaXJjbGU6IFxcZjRjNztcbiRmYS12YXItaGVhcnQtcmF0ZTogXFxmNWY4O1xuJGZhLXZhci1oZWFydC1zcXVhcmU6IFxcZjRjODtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlYXQ6IFxcZTAwYztcbiRmYS12YXItaGVsaWNvcHRlcjogXFxmNTMzO1xuJGZhLXZhci1oZWxtZXQtYmF0dGxlOiBcXGY2ZWI7XG4kZmEtdmFyLWhleGFnb246IFxcZjMxMjtcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LW1hc2s6IFxcZjZlZTtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9ja2V5LXN0aWNrczogXFxmNDU0O1xuJGZhLXZhci1ob2xseS1iZXJyeTogXFxmN2FhO1xuJGZhLXZhci1ob21lOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtYWx0OiBcXGY4MGE7XG4kZmEtdmFyLWhvbWUtaGVhcnQ6IFxcZjRjOTtcbiRmYS12YXItaG9tZS1sZzogXFxmODBiO1xuJGZhLXZhci1ob21lLWxnLWFsdDogXFxmODBjO1xuJGZhLXZhci1ob29kLWNsb2FrOiBcXGY2ZWY7XG4kZmEtdmFyLWhvb2xpOiBcXGY0Mjc7XG4kZmEtdmFyLWhvcml6b250YWwtcnVsZTogXFxmODZjO1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvcnNlLXNhZGRsZTogXFxmOGMzO1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjQ3ZDtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLWhvc3BpdGFsLXVzZXI6IFxcZjgwZDtcbiRmYS12YXItaG9zcGl0YWxzOiBcXGY4MGU7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91c2U6IFxcZTAwZDtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXNlLWRheTogXFxlMDBlO1xuJGZhLXZhci1ob3VzZS1mbG9vZDogXFxmNzRmO1xuJGZhLXZhci1ob3VzZS1sZWF2ZTogXFxlMDBmO1xuJGZhLXZhci1ob3VzZS1uaWdodDogXFxlMDEwO1xuJGZhLXZhci1ob3VzZS1yZXR1cm46IFxcZTAxMTtcbiRmYS12YXItaG91c2Utc2lnbmFsOiBcXGUwMTI7XG4kZmEtdmFyLWhvdXNlLXVzZXI6IFxcZTA2NTtcbiRmYS12YXItaG91eno6IFxcZjI3YztcbiRmYS12YXItaHJ5dm5pYTogXFxmNmYyO1xuJGZhLXZhci1odG1sNTogXFxmMTNiO1xuJGZhLXZhci1odWJzcG90OiBcXGYzYjI7XG4kZmEtdmFyLWh1bWlkaXR5OiBcXGY3NTA7XG4kZmEtdmFyLWh1cnJpY2FuZTogXFxmNzUxO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNlLXNrYXRlOiBcXGY3YWM7XG4kZmEtdmFyLWljaWNsZXM6IFxcZjdhZDtcbiRmYS12YXItaWNvbnM6IFxcZjg2ZDtcbiRmYS12YXItaWNvbnMtYWx0OiBcXGY4NmU7XG4kZmEtdmFyLWlkLWJhZGdlOiBcXGYyYzE7XG4kZmEtdmFyLWlkLWNhcmQ6IFxcZjJjMjtcbiRmYS12YXItaWQtY2FyZC1hbHQ6IFxcZjQ3ZjtcbiRmYS12YXItaWRlYWw6IFxcZTAxMztcbiRmYS12YXItaWdsb286IFxcZjdhZTtcbiRmYS12YXItaW1hZ2U6IFxcZjAzZTtcbiRmYS12YXItaW1hZ2UtcG9sYXJvaWQ6IFxcZjhjNDtcbiRmYS12YXItaW1hZ2VzOiBcXGYzMDI7XG4kZmEtdmFyLWltZGI6IFxcZjJkODtcbiRmYS12YXItaW5ib3g6IFxcZjAxYztcbiRmYS12YXItaW5ib3gtaW46IFxcZjMxMDtcbiRmYS12YXItaW5ib3gtb3V0OiBcXGYzMTE7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmR1c3RyeS1hbHQ6IFxcZjNiMztcbiRmYS12YXItaW5maW5pdHk6IFxcZjUzNDtcbiRmYS12YXItaW5mbzogXFxmMTI5O1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXFxmMDVhO1xuJGZhLXZhci1pbmZvLXNxdWFyZTogXFxmMzBmO1xuJGZhLXZhci1pbmhhbGVyOiBcXGY1Zjk7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVncmFsOiBcXGY2Njc7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludGVyc2VjdGlvbjogXFxmNjY4O1xuJGZhLXZhci1pbnZlbnRvcnk6IFxcZjQ4MDtcbiRmYS12YXItaW52aXNpb246IFxcZjdiMDtcbiRmYS12YXItaW94aG9zdDogXFxmMjA4O1xuJGZhLXZhci1pc2xhbmQtdHJvcGljYWw6IFxcZjgxMTtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphY2stby1sYW50ZXJuOiBcXGYzMGU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItam95c3RpY2s6IFxcZjhjNTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWp1ZzogXFxmOGM2O1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXIta2F6b286IFxcZjhjNztcbiRmYS12YXIta2VybmluZzogXFxmODZmO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5LXNrZWxldG9uOiBcXGY2ZjM7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLWtleW5vdGU6IFxcZjY2YztcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lkbmV5czogXFxmNWZiO1xuJGZhLXZhci1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXIta2l0ZTogXFxmNmY0O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXIta25pZmUta2l0Y2hlbjogXFxmNmY1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFtYmRhOiBcXGY2NmU7XG4kZmEtdmFyLWxhbXA6IFxcZjRjYTtcbiRmYS12YXItbGFtcC1kZXNrOiBcXGUwMTQ7XG4kZmEtdmFyLWxhbXAtZmxvb3I6IFxcZTAxNTtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZG1hcmstYWx0OiBcXGY3NTI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1sYXB0b3AtaG91c2U6IFxcZTA2NjtcbiRmYS12YXItbGFwdG9wLW1lZGljYWw6IFxcZjgxMjtcbiRmYS12YXItbGFyYXZlbDogXFxmM2JkO1xuJGZhLXZhci1sYXNzbzogXFxmOGM4O1xuJGZhLXZhci1sYXN0Zm06IFxcZjIwMjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXFxmMjAzO1xuJGZhLXZhci1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWxheWVyLWdyb3VwOiBcXGY1ZmQ7XG4kZmEtdmFyLWxheWVyLW1pbnVzOiBcXGY1ZmU7XG4kZmEtdmFyLWxheWVyLXBsdXM6IFxcZjVmZjtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFmLWhlYXJ0OiBcXGY0Y2I7XG4kZmEtdmFyLWxlYWYtbWFwbGU6IFxcZjZmNjtcbiRmYS12YXItbGVhZi1vYWs6IFxcZjZmNztcbiRmYS12YXItbGVhbnB1YjogXFxmMjEyO1xuJGZhLXZhci1sZW1vbjogXFxmMDk0O1xuJGZhLXZhci1sZXNzOiBcXGY0MWQ7XG4kZmEtdmFyLWxlc3MtdGhhbjogXFxmNTM2O1xuJGZhLXZhci1sZXNzLXRoYW4tZXF1YWw6IFxcZjUzNztcbiRmYS12YXItbGV2ZWwtZG93bjogXFxmMTQ5O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cDogXFxmMTQ4O1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0LWNlaWxpbmc6IFxcZTAxNjtcbiRmYS12YXItbGlnaHQtc3dpdGNoOiBcXGUwMTc7XG4kZmEtdmFyLWxpZ2h0LXN3aXRjaC1vZmY6IFxcZTAxODtcbiRmYS12YXItbGlnaHQtc3dpdGNoLW9uOiBcXGUwMTk7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saWdodGJ1bGItZG9sbGFyOiBcXGY2NzA7XG4kZmEtdmFyLWxpZ2h0YnVsYi1leGNsYW1hdGlvbjogXFxmNjcxO1xuJGZhLXZhci1saWdodGJ1bGItb246IFxcZjY3MjtcbiRmYS12YXItbGlnaHRidWxiLXNsYXNoOiBcXGY2NzM7XG4kZmEtdmFyLWxpZ2h0cy1ob2xpZGF5OiBcXGY3YjI7XG4kZmEtdmFyLWxpbmU6IFxcZjNjMDtcbiRmYS12YXItbGluZS1jb2x1bW5zOiBcXGY4NzA7XG4kZmEtdmFyLWxpbmUtaGVpZ2h0OiBcXGY4NzE7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcHM6IFxcZjYwMDtcbiRmYS12YXItbGlyYS1zaWduOiBcXGYxOTU7XG4kZmEtdmFyLWxpc3Q6IFxcZjAzYTtcbiRmYS12YXItbGlzdC1hbHQ6IFxcZjAyMjtcbiRmYS12YXItbGlzdC1tdXNpYzogXFxmOGM5O1xuJGZhLXZhci1saXN0LW9sOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtdWw6IFxcZjBjYTtcbiRmYS12YXItbG9jYXRpb246IFxcZjYwMTtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFxcZjEyNDtcbiRmYS12YXItbG9jYXRpb24tY2lyY2xlOiBcXGY2MDI7XG4kZmEtdmFyLWxvY2F0aW9uLXNsYXNoOiBcXGY2MDM7XG4kZmEtdmFyLWxvY2s6IFxcZjAyMztcbiRmYS12YXItbG9jay1hbHQ6IFxcZjMwZDtcbiRmYS12YXItbG9jay1vcGVuOiBcXGYzYzE7XG4kZmEtdmFyLWxvY2stb3Blbi1hbHQ6IFxcZjNjMjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bjogXFxmMzA5O1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0OiBcXGYzMGE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0OiBcXGYzMGI7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwOiBcXGYzMGM7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXFxmMTc1O1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFxcZjE3NztcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXFxmMTc4O1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcXGYxNzY7XG4kZmEtdmFyLWxvdmVzZWF0OiBcXGY0Y2M7XG4kZmEtdmFyLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItbHVjaGFkb3I6IFxcZjQ1NTtcbiRmYS12YXItbHVnZ2FnZS1jYXJ0OiBcXGY1OWQ7XG4kZmEtdmFyLWx1bmdzOiBcXGY2MDQ7XG4kZmEtdmFyLWx1bmdzLXZpcnVzOiBcXGUwNjc7XG4kZmEtdmFyLWx5ZnQ6IFxcZjNjMztcbiRmYS12YXItbWFjZTogXFxmNmY4O1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGJveDogXFxmODEzO1xuJGZhLXZhci1tYWlsY2hpbXA6IFxcZjU5ZTtcbiRmYS12YXItbWFsZTogXFxmMTgzO1xuJGZhLXZhci1tYW5kYWxvcmlhbjogXFxmNTBmO1xuJGZhLXZhci1tYW5kb2xpbjogXFxmNmY5O1xuJGZhLXZhci1tYXA6IFxcZjI3OTtcbiRmYS12YXItbWFwLW1hcmtlZDogXFxmNTlmO1xuJGZhLXZhci1tYXAtbWFya2VkLWFsdDogXFxmNWEwO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcXGYwNDE7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0OiBcXGYzYzU7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0LXNsYXNoOiBcXGY2MDU7XG4kZmEtdmFyLW1hcC1tYXJrZXItY2hlY2s6IFxcZjYwNjtcbiRmYS12YXItbWFwLW1hcmtlci1lZGl0OiBcXGY2MDc7XG4kZmEtdmFyLW1hcC1tYXJrZXItZXhjbGFtYXRpb246IFxcZjYwODtcbiRmYS12YXItbWFwLW1hcmtlci1taW51czogXFxmNjA5O1xuJGZhLXZhci1tYXAtbWFya2VyLXBsdXM6IFxcZjYwYTtcbiRmYS12YXItbWFwLW1hcmtlci1xdWVzdGlvbjogXFxmNjBiO1xuJGZhLXZhci1tYXAtbWFya2VyLXNsYXNoOiBcXGY2MGM7XG4kZmEtdmFyLW1hcC1tYXJrZXItc21pbGU6IFxcZjYwZDtcbiRmYS12YXItbWFwLW1hcmtlci10aW1lczogXFxmNjBlO1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lYXQ6IFxcZjgxNDtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjNjNztcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1tZWdhcGhvbmU6IFxcZjY3NTtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc3RhbmQ6IFxcZjhjYjtcbiRmYS12YXItbWljcm9zY29wZTogXFxmNjEwO1xuJGZhLXZhci1taWNyb3NvZnQ6IFxcZjNjYTtcbiRmYS12YXItbWljcm93YXZlOiBcXGUwMWI7XG4kZmEtdmFyLW1pbmQtc2hhcmU6IFxcZjY3NztcbiRmYS12YXItbWludXM6IFxcZjA2ODtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcXGYwNTY7XG4kZmEtdmFyLW1pbnVzLWhleGFnb246IFxcZjMwNztcbiRmYS12YXItbWludXMtb2N0YWdvbjogXFxmMzA4O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWlzdGxldG9lOiBcXGY3YjQ7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItbWl4ZXI6IFxcZTA1NjtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLW1vYmlsZTogXFxmMTBiO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdDogXFxmM2NmO1xuJGZhLXZhci1tb2R4OiBcXGYyODU7XG4kZmEtdmFyLW1vbmVybzogXFxmM2QwO1xuJGZhLXZhci1tb25leS1iaWxsOiBcXGYwZDY7XG4kZmEtdmFyLW1vbmV5LWJpbGwtYWx0OiBcXGYzZDE7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZTogXFxmNTNhO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0OiBcXGY1M2I7XG4kZmEtdmFyLW1vbmV5LWNoZWNrOiBcXGY1M2M7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWFsdDogXFxmNTNkO1xuJGZhLXZhci1tb25leS1jaGVjay1lZGl0OiBcXGY4NzI7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWVkaXQtYWx0OiBcXGY4NzM7XG4kZmEtdmFyLW1vbml0b3ItaGVhcnQtcmF0ZTogXFxmNjExO1xuJGZhLXZhci1tb25rZXk6IFxcZjZmYjtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb29uLWNsb3VkOiBcXGY3NTQ7XG4kZmEtdmFyLW1vb24tc3RhcnM6IFxcZjc1NTtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci1tb3VudGFpbnM6IFxcZjZmZDtcbiRmYS12YXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItbW91c2UtYWx0OiBcXGY4Y2Q7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXAzLXBsYXllcjogXFxmOGNlO1xuJGZhLXZhci1tdWc6IFxcZjg3NDtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdWctbWFyc2htYWxsb3dzOiBcXGY3Yjc7XG4kZmEtdmFyLW11Zy10ZWE6IFxcZjg3NTtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItbXVzaWMtYWx0OiBcXGY4Y2Y7XG4kZmEtdmFyLW11c2ljLWFsdC1zbGFzaDogXFxmOGQwO1xuJGZhLXZhci1tdXNpYy1zbGFzaDogXFxmOGQxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5hcndoYWw6IFxcZjZmZTtcbiRmYS12YXItbmVvczogXFxmNjEyO1xuJGZhLXZhci1uZXR3b3JrLXdpcmVkOiBcXGY2ZmY7XG4kZmEtdmFyLW5ldXRlcjogXFxmMjJjO1xuJGZhLXZhci1uZXdzcGFwZXI6IFxcZjFlYTtcbiRmYS12YXItbmltYmxyOiBcXGY1YTg7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1vY3RhZ29uOiBcXGYzMDY7XG4kZmEtdmFyLW9jdG9wdXMtZGVwbG95OiBcXGUwODI7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFxcZjI2MztcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFxcZjI2NDtcbiRmYS12YXItb2lsLWNhbjogXFxmNjEzO1xuJGZhLXZhci1vaWwtdGVtcDogXFxmNjE0O1xuJGZhLXZhci1vbGQtcmVwdWJsaWM6IFxcZjUxMDtcbiRmYS12YXItb206IFxcZjY3OTtcbiRmYS12YXItb21lZ2E6IFxcZjY3YTtcbiRmYS12YXItb3BlbmNhcnQ6IFxcZjIzZDtcbiRmYS12YXItb3BlbmlkOiBcXGYxOWI7XG4kZmEtdmFyLW9wZXJhOiBcXGYyNmE7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFxcZjIzYztcbiRmYS12YXItb3JjaWQ6IFxcZjhkMjtcbiRmYS12YXItb3JuYW1lbnQ6IFxcZjdiODtcbiRmYS12YXItb3NpOiBcXGY0MWE7XG4kZmEtdmFyLW90dGVyOiBcXGY3MDA7XG4kZmEtdmFyLW91dGRlbnQ6IFxcZjAzYjtcbiRmYS12YXItb3V0bGV0OiBcXGUwMWM7XG4kZmEtdmFyLW92ZW46IFxcZTAxZDtcbiRmYS12YXItb3ZlcmxpbmU6IFxcZjg3NjtcbiRmYS12YXItcGFnZS1icmVhazogXFxmODc3O1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtYnJ1c2gtYWx0OiBcXGY1YTk7XG4kZmEtdmFyLXBhaW50LXJvbGxlcjogXFxmNWFhO1xuJGZhLXZhci1wYWxldHRlOiBcXGY1M2Y7XG4kZmEtdmFyLXBhbGZlZDogXFxmM2Q4O1xuJGZhLXZhci1wYWxsZXQ6IFxcZjQ4MjtcbiRmYS12YXItcGFsbGV0LWFsdDogXFxmNDgzO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFyYWdyYXBoLXJ0bDogXFxmODc4O1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhcmtpbmctY2lyY2xlOiBcXGY2MTU7XG4kZmEtdmFyLXBhcmtpbmctY2lyY2xlLXNsYXNoOiBcXGY2MTY7XG4kZmEtdmFyLXBhcmtpbmctc2xhc2g6IFxcZjYxNztcbiRmYS12YXItcGFzc3BvcnQ6IFxcZjVhYjtcbiRmYS12YXItcGFzdGFmYXJpYW5pc206IFxcZjY3YjtcbiRmYS12YXItcGFzdGU6IFxcZjBlYTtcbiRmYS12YXItcGF0cmVvbjogXFxmM2Q5O1xuJGZhLXZhci1wYXVzZTogXFxmMDRjO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFxcZjI4YjtcbiRmYS12YXItcGF3OiBcXGYxYjA7XG4kZmEtdmFyLXBhdy1hbHQ6IFxcZjcwMTtcbiRmYS12YXItcGF3LWNsYXdzOiBcXGY3MDI7XG4kZmEtdmFyLXBheXBhbDogXFxmMWVkO1xuJGZhLXZhci1wZWFjZTogXFxmNjdjO1xuJGZhLXZhci1wZWdhc3VzOiBcXGY3MDM7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsOiBcXGYwNDA7XG4kZmEtdmFyLXBlbmNpbC1hbHQ6IFxcZjMwMztcbiRmYS12YXItcGVuY2lsLXBhaW50YnJ1c2g6IFxcZjYxODtcbiRmYS12YXItcGVuY2lsLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlbm5hbnQ6IFxcZjQ1NjtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1wZXJzb24tY2Fycnk6IFxcZjRjZjtcbiRmYS12YXItcGVyc29uLWRvbGx5OiBcXGY0ZDA7XG4kZmEtdmFyLXBlcnNvbi1kb2xseS1lbXB0eTogXFxmNGQxO1xuJGZhLXZhci1wZXJzb24tc2lnbjogXFxmNzU3O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1sYXB0b3A6IFxcZjg3YTtcbiRmYS12YXItcGhvbmUtb2ZmaWNlOiBcXGY2N2Q7XG4kZmEtdmFyLXBob25lLXBsdXM6IFxcZjRkMjtcbiRmYS12YXItcGhvbmUtcm90YXJ5OiBcXGY4ZDM7XG4kZmEtdmFyLXBob25lLXNsYXNoOiBcXGYzZGQ7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXFxmMDk4O1xuJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0OiBcXGY4N2I7XG4kZmEtdmFyLXBob25lLXZvbHVtZTogXFxmMmEwO1xuJGZhLXZhci1waG90by12aWRlbzogXFxmODdjO1xuJGZhLXZhci1waHA6IFxcZjQ1NztcbiRmYS12YXItcGk6IFxcZjY3ZTtcbiRmYS12YXItcGlhbm86IFxcZjhkNDtcbiRmYS12YXItcGlhbm8ta2V5Ym9hcmQ6IFxcZjhkNTtcbiRmYS12YXItcGllOiBcXGY3MDU7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWc6IFxcZjcwNjtcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci1waXp6YTogXFxmODE3O1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXBsYW5lLWFsdDogXFxmM2RlO1xuJGZhLXZhci1wbGFuZS1hcnJpdmFsOiBcXGY1YWY7XG4kZmEtdmFyLXBsYW5lLWRlcGFydHVyZTogXFxmNWIwO1xuJGZhLXZhci1wbGFuZS1zbGFzaDogXFxlMDY5O1xuJGZhLXZhci1wbGFuZXQtbW9vbjogXFxlMDFmO1xuJGZhLXZhci1wbGFuZXQtcmluZ2VkOiBcXGUwMjA7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1wbHVzOiBcXGYwNjc7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtaGV4YWdvbjogXFxmMzAwO1xuJGZhLXZhci1wbHVzLW9jdGFnb246IFxcZjMwMTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2RpdW06IFxcZjY4MDtcbiRmYS12YXItcG9kaXVtLXN0YXI6IFxcZjc1ODtcbiRmYS12YXItcG9saWNlLWJveDogXFxlMDIxO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb2xsLXBlb3BsZTogXFxmNzU5O1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9wY29ybjogXFxmODE5O1xuJGZhLXZhci1wb3J0YWwtZW50ZXI6IFxcZTAyMjtcbiRmYS12YXItcG9ydGFsLWV4aXQ6IFxcZTAyMztcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByZXNlbnRhdGlvbjogXFxmNjg1O1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci1wcmludC1zZWFyY2g6IFxcZjgxYTtcbiRmYS12YXItcHJpbnQtc2xhc2g6IFxcZjY4NjtcbiRmYS12YXItcHJvY2VkdXJlczogXFxmNDg3O1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFxcZjI4ODtcbiRmYS12YXItcHJvamVjdC1kaWFncmFtOiBcXGY1NDI7XG4kZmEtdmFyLXByb2plY3RvcjogXFxmOGQ2O1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1bXBraW46IFxcZjcwNztcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXGYxMjg7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1xdWVzdGlvbi1zcXVhcmU6IFxcZjJmZDtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWJiaXQ6IFxcZjcwODtcbiRmYS12YXItcmFiYml0LWZhc3Q6IFxcZjcwOTtcbiRmYS12YXItcmFjcXVldDogXFxmNDVhO1xuJGZhLXZhci1yYWRhcjogXFxlMDI0O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWRpbzogXFxmOGQ3O1xuJGZhLXZhci1yYWRpby1hbHQ6IFxcZjhkODtcbiRmYS12YXItcmFpbmJvdzogXFxmNzViO1xuJGZhLXZhci1yYWluZHJvcHM6IFxcZjc1YztcbiRmYS12YXItcmFtOiBcXGY3MGE7XG4kZmEtdmFyLXJhbXAtbG9hZGluZzogXFxmNGQ0O1xuJGZhLXZhci1yYW5kb206IFxcZjA3NDtcbiRmYS12YXItcmFzcGJlcnJ5LXBpOiBcXGY3YmI7XG4kZmEtdmFyLXJhdmVscnk6IFxcZjJkOTtcbiRmYS12YXItcmF5Z3VuOiBcXGUwMjU7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXJlY29yZC12aW55bDogXFxmOGQ5O1xuJGZhLXZhci1yZWN0YW5nbGUtbGFuZHNjYXBlOiBcXGYyZmE7XG4kZmEtdmFyLXJlY3RhbmdsZS1wb3J0cmFpdDogXFxmMmZiO1xuJGZhLXZhci1yZWN0YW5nbGUtd2lkZTogXFxmMmZjO1xuJGZhLXZhci1yZWN5Y2xlOiBcXGYxYjg7XG4kZmEtdmFyLXJlZC1yaXZlcjogXFxmM2UzO1xuJGZhLXZhci1yZWRkaXQ6IFxcZjFhMTtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcXGYyODE7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFxcZjFhMjtcbiRmYS12YXItcmVkaGF0OiBcXGY3YmM7XG4kZmEtdmFyLXJlZG86IFxcZjAxZTtcbiRmYS12YXItcmVkby1hbHQ6IFxcZjJmOTtcbiRmYS12YXItcmVmcmlnZXJhdG9yOiBcXGUwMjY7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwZWF0OiBcXGYzNjM7XG4kZmEtdmFyLXJlcGVhdC0xOiBcXGYzNjU7XG4kZmEtdmFyLXJlcGVhdC0xLWFsdDogXFxmMzY2O1xuJGZhLXZhci1yZXBlYXQtYWx0OiBcXGYzNjQ7XG4kZmEtdmFyLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1yZXBseWQ6IFxcZjNlNjtcbiRmYS12YXItcmVwdWJsaWNhbjogXFxmNzVlO1xuJGZhLXZhci1yZXNlYXJjaGdhdGU6IFxcZjRmODtcbiRmYS12YXItcmVzb2x2aW5nOiBcXGYzZTc7XG4kZmEtdmFyLXJlc3Ryb29tOiBcXGY3YmQ7XG4kZmEtdmFyLXJldHdlZXQ6IFxcZjA3OTtcbiRmYS12YXItcmV0d2VldC1hbHQ6IFxcZjM2MTtcbiRmYS12YXItcmV2OiBcXGY1YjI7XG4kZmEtdmFyLXJpYmJvbjogXFxmNGQ2O1xuJGZhLXZhci1yaW5nOiBcXGY3MGI7XG4kZmEtdmFyLXJpbmdzLXdlZGRpbmc6IFxcZjgxYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0LWxhdW5jaDogXFxlMDI3O1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItcm91dGUtaGlnaHdheTogXFxmNjFhO1xuJGZhLXZhci1yb3V0ZS1pbnRlcnN0YXRlOiBcXGY2MWI7XG4kZmEtdmFyLXJvdXRlcjogXFxmOGRhO1xuJGZhLXZhci1yc3M6IFxcZjA5ZTtcbiRmYS12YXItcnNzLXNxdWFyZTogXFxmMTQzO1xuJGZhLXZhci1ydWJsZS1zaWduOiBcXGYxNTg7XG4kZmEtdmFyLXJ1bGVyOiBcXGY1NDU7XG4kZmEtdmFyLXJ1bGVyLWNvbWJpbmVkOiBcXGY1NDY7XG4kZmEtdmFyLXJ1bGVyLWhvcml6b250YWw6IFxcZjU0NztcbiRmYS12YXItcnVsZXItdHJpYW5nbGU6IFxcZjYxYztcbiRmYS12YXItcnVsZXItdmVydGljYWw6IFxcZjU0ODtcbiRmYS12YXItcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1ydXBlZS1zaWduOiBcXGYxNTY7XG4kZmEtdmFyLXJ1c3Q6IFxcZTA3YTtcbiRmYS12YXItcnY6IFxcZjdiZTtcbiRmYS12YXItc2FjazogXFxmODFjO1xuJGZhLXZhci1zYWNrLWRvbGxhcjogXFxmODFkO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxhZDogXFxmODFlO1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhbmR3aWNoOiBcXGY4MWY7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdXNhZ2U6IFxcZjgyMDtcbiRmYS12YXItc2F2ZTogXFxmMGM3O1xuJGZhLXZhci1zYXgtaG90OiBcXGY4ZGI7XG4kZmEtdmFyLXNheG9waG9uZTogXFxmOGRjO1xuJGZhLXZhci1zY2FscGVsOiBcXGY2MWQ7XG4kZmEtdmFyLXNjYWxwZWwtcGF0aDogXFxmNjFlO1xuJGZhLXZhci1zY2FubmVyOiBcXGY0ODg7XG4kZmEtdmFyLXNjYW5uZXItaW1hZ2U6IFxcZjhmMztcbiRmYS12YXItc2Nhbm5lci1rZXlib2FyZDogXFxmNDg5O1xuJGZhLXZhci1zY2FubmVyLXRvdWNoc2NyZWVuOiBcXGY0OGE7XG4kZmEtdmFyLXNjYXJlY3JvdzogXFxmNzBkO1xuJGZhLXZhci1zY2FyZjogXFxmN2MxO1xuJGZhLXZhci1zY2hsaXg6IFxcZjNlYTtcbiRmYS12YXItc2Nob29sOiBcXGY1NDk7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyOiBcXGY1NGE7XG4kZmEtdmFyLXNjcmliZDogXFxmMjhhO1xuJGZhLXZhci1zY3JvbGw6IFxcZjcwZTtcbiRmYS12YXItc2Nyb2xsLW9sZDogXFxmNzBmO1xuJGZhLXZhci1zY3J1YmJlcjogXFxmMmY4O1xuJGZhLXZhci1zY3l0aGU6IFxcZjcxMDtcbiRmYS12YXItc2QtY2FyZDogXFxmN2MyO1xuJGZhLXZhci1zZWFyY2g6IFxcZjAwMjtcbiRmYS12YXItc2VhcmNoLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci1zZWFyY2gtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXNlYXJjaGVuZ2luOiBcXGYzZWI7XG4kZmEtdmFyLXNlZWRsaW5nOiBcXGY0ZDg7XG4kZmEtdmFyLXNlbGxjYXN0OiBcXGYyZGE7XG4kZmEtdmFyLXNlbGxzeTogXFxmMjEzO1xuJGZhLXZhci1zZW5kLWJhY2s6IFxcZjg3ZTtcbiRmYS12YXItc2VuZC1iYWNrd2FyZDogXFxmODdmO1xuJGZhLXZhci1zZW5zb3I6IFxcZTAyODtcbiRmYS12YXItc2Vuc29yLWFsZXJ0OiBcXGUwMjk7XG4kZmEtdmFyLXNlbnNvci1maXJlOiBcXGUwMmE7XG4kZmEtdmFyLXNlbnNvci1vbjogXFxlMDJiO1xuJGZhLXZhci1zZW5zb3Itc21va2U6IFxcZTAyYztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWxsOiBcXGYzNjc7XG4kZmEtdmFyLXNoYXJlLWFsdDogXFxmMWUwO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcXGYxZTE7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1zaGVlcDogXFxmNzExO1xuJGZhLXZhci1zaGVrZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1zaGllbGQ6IFxcZjEzMjtcbiRmYS12YXItc2hpZWxkLWFsdDogXFxmM2VkO1xuJGZhLXZhci1zaGllbGQtY2hlY2s6IFxcZjJmNztcbiRmYS12YXItc2hpZWxkLWNyb3NzOiBcXGY3MTI7XG4kZmEtdmFyLXNoaWVsZC12aXJ1czogXFxlMDZjO1xuJGZhLXZhci1zaGlwOiBcXGYyMWE7XG4kZmEtdmFyLXNoaXBwaW5nLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItc2hpcHBpbmctdGltZWQ6IFxcZjQ4YztcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcXGYyMTQ7XG4kZmEtdmFyLXNoaXNoLWtlYmFiOiBcXGY4MjE7XG4kZmEtdmFyLXNob2UtcHJpbnRzOiBcXGY1NGI7XG4kZmEtdmFyLXNob3BpZnk6IFxcZTA1NztcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcXGYyOTA7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXFxmMjkxO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcXGYwN2E7XG4kZmEtdmFyLXNob3B3YXJlOiBcXGY1YjU7XG4kZmEtdmFyLXNob3ZlbDogXFxmNzEzO1xuJGZhLXZhci1zaG92ZWwtc25vdzogXFxmN2MzO1xuJGZhLXZhci1zaG93ZXI6IFxcZjJjYztcbiRmYS12YXItc2hyZWRkZXI6IFxcZjY4YTtcbiRmYS12YXItc2h1dHRsZS12YW46IFxcZjViNjtcbiRmYS12YXItc2h1dHRsZWNvY2s6IFxcZjQ1YjtcbiRmYS12YXItc2lja2xlOiBcXGY4MjI7XG4kZmEtdmFyLXNpZ21hOiBcXGY2OGI7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbjogXFxmMDkwO1xuJGZhLXZhci1zaWduLWluLWFsdDogXFxmMmY2O1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ24tb3V0OiBcXGYwOGI7XG4kZmEtdmFyLXNpZ24tb3V0LWFsdDogXFxmMmY1O1xuJGZhLXZhci1zaWduYWw6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLTE6IFxcZjY4YztcbiRmYS12YXItc2lnbmFsLTI6IFxcZjY4ZDtcbiRmYS12YXItc2lnbmFsLTM6IFxcZjY4ZTtcbiRmYS12YXItc2lnbmFsLTQ6IFxcZjY4ZjtcbiRmYS12YXItc2lnbmFsLWFsdDogXFxmNjkwO1xuJGZhLXZhci1zaWduYWwtYWx0LTE6IFxcZjY5MTtcbiRmYS12YXItc2lnbmFsLWFsdC0yOiBcXGY2OTI7XG4kZmEtdmFyLXNpZ25hbC1hbHQtMzogXFxmNjkzO1xuJGZhLXZhci1zaWduYWwtYWx0LXNsYXNoOiBcXGY2OTQ7XG4kZmEtdmFyLXNpZ25hbC1zbGFzaDogXFxmNjk1O1xuJGZhLXZhci1zaWduYWwtc3RyZWFtOiBcXGY4ZGQ7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpcmVuOiBcXGUwMmQ7XG4kZmEtdmFyLXNpcmVuLW9uOiBcXGUwMmU7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tlbGV0b246IFxcZjYyMDtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraS1qdW1wOiBcXGY3Yzc7XG4kZmEtdmFyLXNraS1saWZ0OiBcXGY3Yzg7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNvdzogXFxmOGRlO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjNlZjtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItc2xlZGRpbmc6IFxcZjdjYjtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXJzLWgtc3F1YXJlOiBcXGYzZjA7XG4kZmEtdmFyLXNsaWRlcnMtdjogXFxmM2YxO1xuJGZhLXZhci1zbGlkZXJzLXYtc3F1YXJlOiBcXGYzZjI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS1wbHVzOiBcXGY1Yjk7XG4kZmEtdmFyLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItc21vZzogXFxmNzVmO1xuJGZhLXZhci1zbW9rZTogXFxmNzYwO1xuJGZhLXZhci1zbW9raW5nOiBcXGY0OGQ7XG4kZmEtdmFyLXNtb2tpbmctYmFuOiBcXGY1NGQ7XG4kZmEtdmFyLXNtczogXFxmN2NkO1xuJGZhLXZhci1zbmFrZTogXFxmNzE2O1xuJGZhLXZhci1zbmFwY2hhdDogXFxmMmFiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXFxmMmFjO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFxcZjJhZDtcbiRmYS12YXItc25vb3plOiBcXGY4ODA7XG4kZmEtdmFyLXNub3ctYmxvd2luZzogXFxmNzYxO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLXNub3dmbGFrZXM6IFxcZjdjZjtcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93bW9iaWxlOiBcXGY3ZDE7XG4kZmEtdmFyLXNub3dwbG93OiBcXGY3ZDI7XG4kZmEtdmFyLXNvYXA6IFxcZTA2ZTtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItc29sYXItc3lzdGVtOiBcXGUwMmY7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFsdDogXFxmODgzO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWNpcmNsZTogXFxlMDMwO1xuJGZhLXZhci1zb3J0LWNpcmNsZS1kb3duOiBcXGUwMzE7XG4kZmEtdmFyLXNvcnQtY2lyY2xlLXVwOiBcXGUwMzI7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQ6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLXVwOiBcXGYxNjM7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQ6IFxcZjg4NztcbiRmYS12YXItc29ydC1zaGFwZXMtZG93bjogXFxmODg4O1xuJGZhLXZhci1zb3J0LXNoYXBlcy1kb3duLWFsdDogXFxmODg5O1xuJGZhLXZhci1zb3J0LXNoYXBlcy11cDogXFxmODhhO1xuJGZhLXZhci1zb3J0LXNoYXBlcy11cC1hbHQ6IFxcZjg4YjtcbiRmYS12YXItc29ydC1zaXplLWRvd246IFxcZjg4YztcbiRmYS12YXItc29ydC1zaXplLWRvd24tYWx0OiBcXGY4OGQ7XG4kZmEtdmFyLXNvcnQtc2l6ZS11cDogXFxmODhlO1xuJGZhLXZhci1zb3J0LXNpemUtdXAtYWx0OiBcXGY4OGY7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VwOiBcXGY4MjM7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItc3BhY2Utc3RhdGlvbi1tb29uOiBcXGUwMzM7XG4kZmEtdmFyLXNwYWNlLXN0YXRpb24tbW9vbi1hbHQ6IFxcZTAzNDtcbiRmYS12YXItc3BhZGU6IFxcZjJmNDtcbiRmYS12YXItc3BhcmtsZXM6IFxcZjg5MDtcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1zcGVha2VyOiBcXGY4ZGY7XG4kZmEtdmFyLXNwZWFrZXItZGVjazogXFxmODNjO1xuJGZhLXZhci1zcGVha2VyczogXFxmOGUwO1xuJGZhLXZhci1zcGVsbC1jaGVjazogXFxmODkxO1xuJGZhLXZhci1zcGlkZXI6IFxcZjcxNztcbiRmYS12YXItc3BpZGVyLWJsYWNrLXdpZG93OiBcXGY3MTg7XG4kZmEtdmFyLXNwaWRlci13ZWI6IFxcZjcxOTtcbiRmYS12YXItc3Bpbm5lcjogXFxmMTEwO1xuJGZhLXZhci1zcGlubmVyLXRoaXJkOiBcXGYzZjQ7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3ByaW5rbGVyOiBcXGUwMzU7XG4kZmEtdmFyLXNxdWFyZTogXFxmMGM4O1xuJGZhLXZhci1zcXVhcmUtZnVsbDogXFxmNDVjO1xuJGZhLXZhci1zcXVhcmUtcm9vdDogXFxmNjk3O1xuJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQ6IFxcZjY5ODtcbiRmYS12YXItc3F1YXJlc3BhY2U6IFxcZjViZTtcbiRmYS12YXItc3F1aXJyZWw6IFxcZjcxYTtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFxcZjE4ZDtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFxcZjE2YztcbiRmYS12YXItc3RhY2twYXRoOiBcXGY4NDI7XG4kZmEtdmFyLXN0YWZmOiBcXGY3MWI7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItc3Rhci1jaHJpc3RtYXM6IFxcZjdkNDtcbiRmYS12YXItc3Rhci1leGNsYW1hdGlvbjogXFxmMmYzO1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGFyLXNob290aW5nOiBcXGUwMzY7XG4kZmEtdmFyLXN0YXJmaWdodGVyOiBcXGUwMzc7XG4kZmEtdmFyLXN0YXJmaWdodGVyLWFsdDogXFxlMDM4O1xuJGZhLXZhci1zdGFyczogXFxmNzYyO1xuJGZhLXZhci1zdGFyc2hpcDogXFxlMDM5O1xuJGZhLXZhci1zdGFyc2hpcC1mcmVpZ2h0ZXI6IFxcZTAzYTtcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1zdGVhazogXFxmODI0O1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG4kZmEtdmFyLXN0ZWVyaW5nLXdoZWVsOiBcXGY2MjI7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1zdG9ja2luZzogXFxmN2Q1O1xuJGZhLXZhci1zdG9tYWNoOiBcXGY2MjM7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyZXRjaGVyOiBcXGY4MjU7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFxcZjBjYztcbiRmYS12YXItc3RyaXBlOiBcXGY0Mjk7XG4kZmEtdmFyLXN0cmlwZS1zOiBcXGY0MmE7XG4kZmEtdmFyLXN0cm9vcHdhZmVsOiBcXGY1NTE7XG4kZmEtdmFyLXN0dWRpb3ZpbmFyaTogXFxmM2Y4O1xuJGZhLXZhci1zdHVtYmxldXBvbjogXFxmMWE0O1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFxcZjFhMztcbiRmYS12YXItc3Vic2NyaXB0OiBcXGYxMmM7XG4kZmEtdmFyLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1zdWl0Y2FzZTogXFxmMGYyO1xuJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nOiBcXGY1YzE7XG4kZmEtdmFyLXN1bjogXFxmMTg1O1xuJGZhLXZhci1zdW4tY2xvdWQ6IFxcZjc2MztcbiRmYS12YXItc3VuLWR1c3Q6IFxcZjc2NDtcbiRmYS12YXItc3VuLWhhemU6IFxcZjc2NTtcbiRmYS12YXItc3VuZ2xhc3NlczogXFxmODkyO1xuJGZhLXZhci1zdW5yaXNlOiBcXGY3NjY7XG4kZmEtdmFyLXN1bnNldDogXFxmNzY3O1xuJGZhLXZhci1zdXBlcnBvd2VyczogXFxmMmRkO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXFxmMTJiO1xuJGZhLXZhci1zdXBwbGU6IFxcZjNmOTtcbiRmYS12YXItc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItc3VzZTogXFxmN2Q2O1xuJGZhLXZhci1zd2F0Y2hib29rOiBcXGY1YzM7XG4kZmEtdmFyLXN3aWZ0OiBcXGY4ZTE7XG4kZmEtdmFyLXN3aW1tZXI6IFxcZjVjNDtcbiRmYS12YXItc3dpbW1pbmctcG9vbDogXFxmNWM1O1xuJGZhLXZhci1zd29yZDogXFxmNzFjO1xuJGZhLXZhci1zd29yZC1sYXNlcjogXFxlMDNiO1xuJGZhLXZhci1zd29yZC1sYXNlci1hbHQ6IFxcZTAzYztcbiRmYS12YXItc3dvcmRzOiBcXGY3MWQ7XG4kZmEtdmFyLXN3b3Jkcy1sYXNlcjogXFxlMDNkO1xuJGZhLXZhci1zeW1mb255OiBcXGY4M2Q7XG4kZmEtdmFyLXN5bmFnb2d1ZTogXFxmNjliO1xuJGZhLXZhci1zeW5jOiBcXGYwMjE7XG4kZmEtdmFyLXN5bmMtYWx0OiBcXGYyZjE7XG4kZmEtdmFyLXN5cmluZ2U6IFxcZjQ4ZTtcbiRmYS12YXItdGFibGU6IFxcZjBjZTtcbiRmYS12YXItdGFibGUtdGVubmlzOiBcXGY0NWQ7XG4kZmEtdmFyLXRhYmxldDogXFxmMTBhO1xuJGZhLXZhci10YWJsZXQtYWx0OiBcXGYzZmE7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkOiBcXGYzZmI7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkLWFsdDogXFxmM2ZjO1xuJGZhLXZhci10YWJsZXQtcnVnZ2VkOiBcXGY0OGY7XG4kZmEtdmFyLXRhYmxldHM6IFxcZjQ5MDtcbiRmYS12YXItdGFjaG9tZXRlcjogXFxmMGU0O1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlOiBcXGY2MjQ7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3Q6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdGVzdDogXFxmNjI2O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1zbG93OiBcXGY2Mjc7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LXNsb3dlc3Q6IFxcZjYyODtcbiRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlOiBcXGY2Mjk7XG4kZmEtdmFyLXRhY2hvbWV0ZXItZmFzdDogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyLWZhc3Rlc3Q6IFxcZjYyYjtcbiRmYS12YXItdGFjaG9tZXRlci1zbG93OiBcXGY2MmM7XG4kZmEtdmFyLXRhY2hvbWV0ZXItc2xvd2VzdDogXFxmNjJkO1xuJGZhLXZhci10YWNvOiBcXGY4MjY7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXRhbGx5OiBcXGY2OWM7XG4kZmEtdmFyLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRhc2tzLWFsdDogXFxmODI4O1xuJGZhLXZhci10YXhpOiBcXGYxYmE7XG4kZmEtdmFyLXRlYW1zcGVhazogXFxmNGY5O1xuJGZhLXZhci10ZWV0aDogXFxmNjJlO1xuJGZhLXZhci10ZWV0aC1vcGVuOiBcXGY2MmY7XG4kZmEtdmFyLXRlbGVncmFtOiBcXGYyYzY7XG4kZmEtdmFyLXRlbGVncmFtLXBsYW5lOiBcXGYzZmU7XG4kZmEtdmFyLXRlbGVzY29wZTogXFxlMDNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWZyaWdpZDogXFxmNzY4O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhvdDogXFxmNzZhO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVtcGVyYXR1cmUtdXA6IFxcZTA0MDtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZW5uaXMtYmFsbDogXFxmNDVlO1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0OiBcXGY4OTM7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXRleHQtc2l6ZTogXFxmODk0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhldGE6IFxcZjY5ZTtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aHVuZGVyc3Rvcm06IFxcZjc2YztcbiRmYS12YXItdGh1bmRlcnN0b3JtLW1vb246IFxcZjc2ZDtcbiRmYS12YXItdGh1bmRlcnN0b3JtLXN1bjogXFxmNzZlO1xuJGZhLXZhci10aWNrZXQ6IFxcZjE0NTtcbiRmYS12YXItdGlja2V0LWFsdDogXFxmM2ZmO1xuJGZhLXZhci10aWt0b2s6IFxcZTA3YjtcbiRmYS12YXItdGlsZGU6IFxcZjY5ZjtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXRpbWVzLWhleGFnb246IFxcZjJlZTtcbiRmYS12YXItdGltZXMtb2N0YWdvbjogXFxmMmYwO1xuJGZhLXZhci10aW1lcy1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmU6IFxcZjYzMTtcbiRmYS12YXItdGlyZS1mbGF0OiBcXGY2MzI7XG4kZmEtdmFyLXRpcmUtcHJlc3N1cmUtd2FybmluZzogXFxmNjMzO1xuJGZhLXZhci10aXJlLXJ1Z2dlZDogXFxmNjM0O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLXRvaWxldC1wYXBlci1hbHQ6IFxcZjcxZjtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvbWJzdG9uZTogXFxmNzIwO1xuJGZhLXZhci10b21ic3RvbmUtYWx0OiBcXGY3MjE7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9vdGhicnVzaDogXFxmNjM1O1xuJGZhLXZhci10b3JhaDogXFxmNmEwO1xuJGZhLXZhci10b3JpaS1nYXRlOiBcXGY2YTE7XG4kZmEtdmFyLXRvcm5hZG86IFxcZjc2ZjtcbiRmYS12YXItdHJhY3RvcjogXFxmNzIyO1xuJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uOiBcXGY1MTM7XG4kZmEtdmFyLXRyYWRlbWFyazogXFxmMjVjO1xuJGZhLXZhci10cmFmZmljLWNvbmU6IFxcZjYzNjtcbiRmYS12YXItdHJhZmZpYy1saWdodDogXFxmNjM3O1xuJGZhLXZhci10cmFmZmljLWxpZ2h0LWdvOiBcXGY2Mzg7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQtc2xvdzogXFxmNjM5O1xuJGZhLXZhci10cmFmZmljLWxpZ2h0LXN0b3A6IFxcZjYzYTtcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFuc3BvcnRlcjogXFxlMDQyO1xuJGZhLXZhci10cmFuc3BvcnRlci0xOiBcXGUwNDM7XG4kZmEtdmFyLXRyYW5zcG9ydGVyLTI6IFxcZTA0NDtcbiRmYS12YXItdHJhbnNwb3J0ZXItMzogXFxlMDQ1O1xuJGZhLXZhci10cmFuc3BvcnRlci1lbXB0eTogXFxlMDQ2O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmFzaC11bmRvOiBcXGY4OTU7XG4kZmEtdmFyLXRyYXNoLXVuZG8tYWx0OiBcXGY4OTY7XG4kZmEtdmFyLXRyZWFzdXJlLWNoZXN0OiBcXGY3MjM7XG4kZmEtdmFyLXRyZWU6IFxcZjFiYjtcbiRmYS12YXItdHJlZS1hbHQ6IFxcZjQwMDtcbiRmYS12YXItdHJlZS1jaHJpc3RtYXM6IFxcZjdkYjtcbiRmYS12YXItdHJlZS1kZWNvcmF0ZWQ6IFxcZjdkYztcbiRmYS12YXItdHJlZS1sYXJnZTogXFxmN2RkO1xuJGZhLXZhci10cmVlLXBhbG06IFxcZjgyYjtcbiRmYS12YXItdHJlZXM6IFxcZjcyNDtcbiRmYS12YXItdHJlbGxvOiBcXGYxODE7XG4kZmEtdmFyLXRyaWFuZ2xlOiBcXGYyZWM7XG4kZmEtdmFyLXRyaWFuZ2xlLW11c2ljOiBcXGY4ZTI7XG4kZmEtdmFyLXRyb3BoeTogXFxmMDkxO1xuJGZhLXZhci10cm9waHktYWx0OiBcXGYyZWI7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLXRydWNrLWNvbnRhaW5lcjogXFxmNGRjO1xuJGZhLXZhci10cnVjay1jb3VjaDogXFxmNGRkO1xuJGZhLXZhci10cnVjay1sb2FkaW5nOiBcXGY0ZGU7XG4kZmEtdmFyLXRydWNrLW1vbnN0ZXI6IFxcZjYzYjtcbiRmYS12YXItdHJ1Y2stbW92aW5nOiBcXGY0ZGY7XG4kZmEtdmFyLXRydWNrLXBpY2t1cDogXFxmNjNjO1xuJGZhLXZhci10cnVjay1wbG93OiBcXGY3ZGU7XG4kZmEtdmFyLXRydWNrLXJhbXA6IFxcZjRlMDtcbiRmYS12YXItdHJ1bXBldDogXFxmOGUzO1xuJGZhLXZhci10c2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdHR5OiBcXGYxZTQ7XG4kZmEtdmFyLXR1bWJscjogXFxmMTczO1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcXGYxNzQ7XG4kZmEtdmFyLXR1cmtleTogXFxmNzI1O1xuJGZhLXZhci10dXJudGFibGU6IFxcZjhlNDtcbiRmYS12YXItdHVydGxlOiBcXGY3MjY7XG4kZmEtdmFyLXR2OiBcXGYyNmM7XG4kZmEtdmFyLXR2LWFsdDogXFxmOGU1O1xuJGZhLXZhci10di1tdXNpYzogXFxmOGU2O1xuJGZhLXZhci10di1yZXRybzogXFxmNDAxO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBld3JpdGVyOiBcXGY4ZTc7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLXVmbzogXFxlMDQ3O1xuJGZhLXZhci11Zm8tYmVhbTogXFxlMDQ4O1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmljb3JuOiBcXGY3Mjc7XG4kZmEtdmFyLXVuaW9uOiBcXGY2YTI7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLXVuaXR5OiBcXGUwNDk7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItdW5zcGxhc2g6IFxcZTA3YztcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci11c2ItZHJpdmU6IFxcZjhlOTtcbiRmYS12YXItdXNkLWNpcmNsZTogXFxmMmU4O1xuJGZhLXZhci11c2Qtc3F1YXJlOiBcXGYyZTk7XG4kZmEtdmFyLXVzZXI6IFxcZjAwNztcbiRmYS12YXItdXNlci1hbGllbjogXFxlMDRhO1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoYXJ0OiBcXGY2YTM7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci11c2VyLWNvd2JveTogXFxmOGVhO1xuJGZhLXZhci11c2VyLWNyb3duOiBcXGY2YTQ7XG4kZmEtdmFyLXVzZXItZWRpdDogXFxmNGZmO1xuJGZhLXZhci11c2VyLWZyaWVuZHM6IFxcZjUwMDtcbiRmYS12YXItdXNlci1ncmFkdWF0ZTogXFxmNTAxO1xuJGZhLXZhci11c2VyLWhhcmQtaGF0OiBcXGY4MmM7XG4kZmEtdmFyLXVzZXItaGVhZHNldDogXFxmODJkO1xuJGZhLXZhci11c2VyLWluanVyZWQ6IFxcZjcyODtcbiRmYS12YXItdXNlci1sb2NrOiBcXGY1MDI7XG4kZmEtdmFyLXVzZXItbWQ6IFxcZjBmMDtcbiRmYS12YXItdXNlci1tZC1jaGF0OiBcXGY4MmU7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItdXNlci1tdXNpYzogXFxmOGViO1xuJGZhLXZhci11c2VyLW5pbmphOiBcXGY1MDQ7XG4kZmEtdmFyLXVzZXItbnVyc2U6IFxcZjgyZjtcbiRmYS12YXItdXNlci1wbHVzOiBcXGYyMzQ7XG4kZmEtdmFyLXVzZXItcm9ib3Q6IFxcZTA0YjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXItdW5sb2NrOiBcXGUwNTg7XG4kZmEtdmFyLXVzZXItdmlzb3I6IFxcZTA0YztcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItdXNlcnMtY2xhc3M6IFxcZjYzZDtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXVzZXJzLWNyb3duOiBcXGY2YTU7XG4kZmEtdmFyLXVzZXJzLW1lZGljYWw6IFxcZjgzMDtcbiRmYS12YXItdXNlcnMtc2xhc2g6IFxcZTA3MztcbiRmYS12YXItdXNwczogXFxmN2UxO1xuJGZhLXZhci11c3N1bm5haDogXFxmNDA3O1xuJGZhLXZhci11dGVuc2lsLWZvcms6IFxcZjJlMztcbiRmYS12YXItdXRlbnNpbC1rbmlmZTogXFxmMmU0O1xuJGZhLXZhci11dGVuc2lsLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLXV0ZW5zaWxzOiBcXGYyZTc7XG4kZmEtdmFyLXV0ZW5zaWxzLWFsdDogXFxmMmU2O1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItdmFjdXVtOiBcXGUwNGQ7XG4kZmEtdmFyLXZhY3V1bS1yb2JvdDogXFxlMDRlO1xuJGZhLXZhci12YWx1ZS1hYnNvbHV0ZTogXFxmNmE2O1xuJGZhLXZhci12ZWN0b3Itc3F1YXJlOiBcXGY1Y2I7XG4kZmEtdmFyLXZlbnVzOiBcXGYyMjE7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXFxmMjI2O1xuJGZhLXZhci12ZW51cy1tYXJzOiBcXGYyMjg7XG4kZmEtdmFyLXZlc3Q6IFxcZTA4NTtcbiRmYS12YXItdmVzdC1wYXRjaGVzOiBcXGUwODY7XG4kZmEtdmFyLXZoczogXFxmOGVjO1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tcGx1czogXFxmNGUxO1xuJGZhLXZhci12aWRlby1zbGFzaDogXFxmNGUyO1xuJGZhLXZhci12aWhhcmE6IFxcZjZhNztcbiRmYS12YXItdmltZW86IFxcZjQwYTtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcXGYxOTQ7XG4kZmEtdmFyLXZpbWVvLXY6IFxcZjI3ZDtcbiRmYS12YXItdmluZTogXFxmMWNhO1xuJGZhLXZhci12aW9saW46IFxcZjhlZDtcbiRmYS12YXItdmlydXM6IFxcZTA3NDtcbiRmYS12YXItdmlydXMtc2xhc2g6IFxcZTA3NTtcbiRmYS12YXItdmlydXNlczogXFxlMDc2O1xuJGZhLXZhci12azogXFxmMTg5O1xuJGZhLXZhci12bnY6IFxcZjQwYjtcbiRmYS12YXItdm9pY2VtYWlsOiBcXGY4OTc7XG4kZmEtdmFyLXZvbGNhbm86IFxcZjc3MDtcbiRmYS12YXItdm9sbGV5YmFsbC1iYWxsOiBcXGY0NWY7XG4kZmEtdmFyLXZvbHVtZTogXFxmNmE4O1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLXZvbHVtZS1zbGFzaDogXFxmMmUyO1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS1uYXk6IFxcZjc3MTtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhZ29uLWNvdmVyZWQ6IFxcZjhlZTtcbiRmYS12YXItd2Fsa2VyOiBcXGY4MzE7XG4kZmEtdmFyLXdhbGtpZS10YWxraWU6IFxcZjhlZjtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItd2FuZDogXFxmNzJhO1xuJGZhLXZhci13YW5kLW1hZ2ljOiBcXGY3MmI7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXJlaG91c2UtYWx0OiBcXGY0OTU7XG4kZmEtdmFyLXdhc2hlcjogXFxmODk4O1xuJGZhLXZhci13YXRjaDogXFxmMmUxO1xuJGZhLXZhci13YXRjaC1jYWxjdWxhdG9yOiBcXGY4ZjA7XG4kZmEtdmFyLXdhdGNoLWZpdG5lc3M6IFxcZjYzZTtcbiRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZzogXFxlMDg3O1xuJGZhLXZhci13YXRlcjogXFxmNzczO1xuJGZhLXZhci13YXRlci1sb3dlcjogXFxmNzc0O1xuJGZhLXZhci13YXRlci1yaXNlOiBcXGY3NzU7XG4kZmEtdmFyLXdhdmUtc2luZTogXFxmODk5O1xuJGZhLXZhci13YXZlLXNxdWFyZTogXFxmODNlO1xuJGZhLXZhci13YXZlLXRyaWFuZ2xlOiBcXGY4OWE7XG4kZmEtdmFyLXdhdmVmb3JtOiBcXGY4ZjE7XG4kZmEtdmFyLXdhdmVmb3JtLXBhdGg6IFxcZjhmMjtcbiRmYS12YXItd2F6ZTogXFxmODNmO1xuJGZhLXZhci13ZWJjYW06IFxcZjgzMjtcbiRmYS12YXItd2ViY2FtLXNsYXNoOiBcXGY4MzM7XG4kZmEtdmFyLXdlZWJseTogXFxmNWNjO1xuJGZhLXZhci13ZWlibzogXFxmMThhO1xuJGZhLXZhci13ZWlnaHQ6IFxcZjQ5NjtcbiRmYS12YXItd2VpZ2h0LWhhbmdpbmc6IFxcZjVjZDtcbiRmYS12YXItd2VpeGluOiBcXGYxZDc7XG4kZmEtdmFyLXdoYWxlOiBcXGY3MmM7XG4kZmEtdmFyLXdoYXRzYXBwOiBcXGYyMzI7XG4kZmEtdmFyLXdoYXRzYXBwLXNxdWFyZTogXFxmNDBjO1xuJGZhLXZhci13aGVhdDogXFxmNzJkO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcXGYxOTM7XG4kZmEtdmFyLXdoaXN0bGU6IFxcZjQ2MDtcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWZpLTE6IFxcZjZhYTtcbiRmYS12YXItd2lmaS0yOiBcXGY2YWI7XG4kZmEtdmFyLXdpZmktc2xhc2g6IFxcZjZhYztcbiRmYS12YXItd2lraXBlZGlhLXc6IFxcZjI2NjtcbiRmYS12YXItd2luZDogXFxmNzJlO1xuJGZhLXZhci13aW5kLXR1cmJpbmU6IFxcZjg5YjtcbiRmYS12YXItd2luZC13YXJuaW5nOiBcXGY3NzY7XG4kZmEtdmFyLXdpbmRvdzogXFxmNDBlO1xuJGZhLXZhci13aW5kb3ctYWx0OiBcXGY0MGY7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctZnJhbWU6IFxcZTA0ZjtcbiRmYS12YXItd2luZG93LWZyYW1lLW9wZW46IFxcZTA1MDtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcXGYyZDA7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXFxmMmQxO1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXFxmMmQyO1xuJGZhLXZhci13aW5kb3dzOiBcXGYxN2E7XG4kZmEtdmFyLXdpbmRzb2NrOiBcXGY3Nzc7XG4kZmEtdmFyLXdpbmUtYm90dGxlOiBcXGY3MmY7XG4kZmEtdmFyLXdpbmUtZ2xhc3M6IFxcZjRlMztcbiRmYS12YXItd2luZS1nbGFzcy1hbHQ6IFxcZjVjZTtcbiRmYS12YXItd2l4OiBcXGY1Y2Y7XG4kZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0OiBcXGY3MzA7XG4kZmEtdmFyLXdvZHU6IFxcZTA4ODtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXdyZWF0aDogXFxmN2UyO1xuJGZhLXZhci13cmVuY2g6IFxcZjBhZDtcbiRmYS12YXIteC1yYXk6IFxcZjQ5NztcbiRmYS12YXIteGJveDogXFxmNDEyO1xuJGZhLXZhci14aW5nOiBcXGYxNjg7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcXGYxNjk7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXFxmMjNiO1xuJGZhLXZhci15YWhvbzogXFxmMTllO1xuJGZhLXZhci15YW1tZXI6IFxcZjg0MDtcbiRmYS12YXIteWFuZGV4OiBcXGY0MTM7XG4kZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsOiBcXGY0MTQ7XG4kZmEtdmFyLXlhcm46IFxcZjdlMztcbiRmYS12YXIteWVscDogXFxmMWU5O1xuJGZhLXZhci15ZW4tc2lnbjogXFxmMTU3O1xuJGZhLXZhci15aW4teWFuZzogXFxmNmFkO1xuJGZhLXZhci15b2FzdDogXFxmMmIxO1xuJGZhLXZhci15b3V0dWJlOiBcXGYxNjc7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcXGY0MzE7XG4kZmEtdmFyLXpoaWh1OiBcXGY2M2Y7XG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmYS1pY29uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBmYS1pY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259LCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVycy4gQSBsYSBCb290c3RyYXAgNC5cbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuQG1peGluIHNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAoJGZhLWZ3LXdpZHRoKjIpO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2Uge1xuICBjb2xvcjogJGZhLWludmVyc2U7XG59XG4iLCIvKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItNTAwcHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWJhY3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hYmFjdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2Nlc3NpYmxlLWljb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjdXNvZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY3Vzb2Z0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFjb3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkanVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZHZlcnNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWR2ZXJzYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFmZmlsaWF0ZXRoZW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpci1jb25kaXRpb25lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyLWNvbmRpdGlvbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpci1mcmVzaGVuZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpci1mcmVzaGVuZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyYm5iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXJibmIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxhcm0tY2xvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsYXJtLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYXJtLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGFybS1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGFybS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGFybS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYXJtLXNub296ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxhcm0tc25vb3plKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGJ1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGJ1bS1jb2xsZWN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGJ1bS1jb2xsZWN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZW4tbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWNlbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1qdXN0aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbXAtZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbXAtZ3VpdGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5hbHl0aWNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5jaG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZHJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2VsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1jcmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUtY3JhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tYm90dG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtZnJvbS1ib3R0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWZyb20tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtZnJvbS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWZyb20tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtZnJvbS10b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LXNxdWFyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tYm90dG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tYm90dG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC10by1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC10by1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1mcm9tLWJvdHRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS1ib3R0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZnJvbS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1mcm9tLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZnJvbS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1mcm9tLXRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS10b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctc3F1YXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXNxdWFyZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1zcXVhcmUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1zcXVhcmUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1zcXVhcmUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by1ib3R0b206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXRvLWJvdHRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy10by1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXRvLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy10by1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by10b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXRvLXRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFydHN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFydHN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzdGVyaXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzeW1tZXRyaWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzeW1tZXRyaWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhc3NpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzc2lhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0b20tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdG9tLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1heGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF4ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1heGUtYmF0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1heGUtYmF0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieS1jYXJyaWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieS1jYXJyaWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrcGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3BhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhZGdlLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZS1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWRnZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWRnZS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZS1wZXJjZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhZGdlLXNoZXJpZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlLXNoZXJpZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFkZ2VyLWhvbmV5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZXItaG9uZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFncy1zaG9wcGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFncy1zaG9wcGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWhhaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFoYWkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGwtcGlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbC1waWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGxvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGxvdC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbG90LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbmQtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYW5kLWFpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZGNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuam86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmpvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGUtcmVhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFyY29kZS1yZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGUtc2NhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFyY29kZS1zY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFzZWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2ViYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2ViYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2ViYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFza2V0YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNrZXRiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFza2V0YmFsbC1ob29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNrZXRiYWxsLWhvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktYm9sdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0bGUtbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0bGUtbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkLWJ1bms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZC1idW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZC1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVkLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zY2hvb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2Nob29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2Nob29sLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNjaG9vbC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZXRhbWF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXRhbWF4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlemllci1jdXJ2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmV6aWVyLWN1cnZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpa2luZy1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlraW5nLW1vdW50YWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbW9iamVjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmltb2JqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbm9jdWxhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpbm9jdWxhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlvaGF6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW9oYXphcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlydGhkYXktY2FrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGJ1Y2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFjay10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2tiZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxhY2tiZXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFua2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFua2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGluZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmRzLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsaW5kcy1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kcy1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsaW5kcy1yYWlzZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmUtYnJlYWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmUtYnJlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9uZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9uZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stcmVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLXJlYWRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXNwZWxsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1zcGVsbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rcy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb21ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb21ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib290aC1jdXJ0YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib290aC1jdXJ0YWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLWJvdHRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLWJvdHRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItY2VudGVyLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1jZW50ZXItaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItY2VudGVyLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1jZW50ZXItdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1pbm5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1vdXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLW91dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1zdHlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLXRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3ctYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvdy1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3dsaW5nLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvd2xpbmctYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3dsaW5nLXBpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvd2xpbmctcGlucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1iYWxsb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1iYWxsb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LWZyYWdpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1mcmFnaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LXRpc3N1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LXRpc3N1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hlcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveGVzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hpbmctZ2xvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveGluZy1nbG92ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFja2V0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhY2tldHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhY2tldHMtY3VybHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWNrZXRzLWN1cmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWlsbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyZWFkLWxvYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLWxvYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJlYWQtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmluZy1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmluZy1mb3J3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaW5nLWZyb250OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmluZy1mcm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb2FkY2FzdC10b3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvd3Nlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWUtYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyZ2VyLXNvZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cmdlci1zb2RhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJyaXRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJyaXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzLXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzLXNjaG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXNpbmVzcy10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXNpbmVzcy10aW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eS1uLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXktbi1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXlzZWxsYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXlzZWxsYWRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYmluZXQtZmlsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWJpbmV0LWZpbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWN0dXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhY3R1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3ItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWRheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItZGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXN0YXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXN0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtY29yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1jb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmEtaG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhLWhvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLW1vdmllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtbW92aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXBvbGFyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcG9sYXJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbXBmaXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbXBncm91bmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbXBncm91bmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5kbGUtaG9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5kbGUtaG9sZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuZHktY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuZHktY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5uYWJpczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FubmFiaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Fwc3VsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcHN1bGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLWJhdHRlcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1iYXR0ZXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1idW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYnVtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1jcmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWNyYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1nYXJhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1nYXJhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLW1lY2hhbmljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItbWVjaGFuaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci10aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItdGlsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItd2FzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJhdmFuLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1jaXJjbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FzaC1yZWdpc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FzaC1yZWdpc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXNzZXR0ZS10YXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXNzZXR0ZS10YXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdC1zcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0LXNwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdWxkcm9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXVsZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpbmVycy1jbHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaXNjb3Zlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWpjYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1tYXN0ZXJjYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Mtc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXZpc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2N0djpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2N0dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50ZXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50ZXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudG9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZXJ0aWZpY2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaXItb2ZmaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpci1vZmZpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWFyZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWxpbmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1uZXR3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1uZXR3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtc2NhdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtc2NhdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlLXN3aXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2Utc3dpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2VidXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYmlzaG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJpc2hvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1jbG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWNsb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmctYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtuaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1rbmlnaHQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXBhd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXF1ZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1xdWVlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXF1ZWVuLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1yb29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1yb29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXJvb2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1yb29rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvdWJsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG91YmxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvdWJsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tc3F1YXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tc3F1YXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1zcXVhcmUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXNxdWFyZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1zcXVhcmUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tc3F1YXJlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaW1uZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaW1uZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHVyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNodXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbm90Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZS1ub3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsYXJpbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGFyaW5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGF3LW1hcmtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGF3LW1hcmtzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaW5pYy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGluaWMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3QtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZHJpenpsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZHJpenpsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1oYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1oYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWhhaWwtbWl4ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWhhaWwtbWl4ZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1lYXRiYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtcmFpbmJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtcmFpbmJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zaG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zaG93ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc2xlZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNsZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNub3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNub3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHMtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzLXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzLXN1bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2x1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ja3RhaWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1jb21taXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtY29tbWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtbWVyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtbWVyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kaWVwaWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlLXBvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlLXBvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWUtdG9nbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlLXRvZ28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmluLWNyb3NzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmaW4tY3Jvc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvaW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2x1bW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtZG90cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1saW5lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1zbWlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb3RzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tdXNpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc21pbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtYWx0LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtYWx0LWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYWN0LWRpc2M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhY3QtZGlzYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3Mtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3Mtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3Mtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3Mtd2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wdXRlci1jbGFzc2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wdXRlci1jbGFzc2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXB1dGVyLXNwZWFrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXB1dGVyLXNwZWFrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnN0cnVjdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uc3RydWN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhaW5lci1zdG9yYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb250YWluZXItc3RvcmFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbnRhbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb252ZXlvci1iZWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb252ZXlvci1iZWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnZleW9yLWJlbHQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb252ZXlvci1iZWx0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWUtYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5cmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHlyaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3JuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY293KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvd2JlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvd2JlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY293YmVsbC1tb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3diZWxsLW1vcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3BhbmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlZGl0LWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQtYmxhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkLWJsYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWZyb250OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVkaXQtY2FyZC1mcm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmlja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvaXNzYW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9pc3NhbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNydXRjaGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1cmxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1cmxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWdnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhZ2dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWJ1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXItcnVkb2xwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlci1ydWRvbHBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3AtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldmlhbnRhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV3cG9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRld3BvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRoYXJtYWNoYWtyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhhcm1hY2hha3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRobDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYWdub3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhZ25vc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYW1vbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhc3BvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYXNwb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kMTA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDEwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDEyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQxMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQ2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1maXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1mb3VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZvdXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utc2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXNpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXRocmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXRocmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdHdvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXR3byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2dpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2dpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXBsb21hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXBsb21hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpcmVjdGlvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpcmVjdGlvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzYy1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzYy1kcml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3JkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvdXJzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY291cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2Vhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2Vhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl2aWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXZpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl6enk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpenp5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRuYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG5hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvLW5vdC1lbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG8tbm90LWVudGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2h1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9jaHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2tlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9ja2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvZy1sZWFzaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2ctbGVhc2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXItc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9sbGFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5LWZsYXRiZWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhdy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhdy1wb2x5Z29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmF3LXBvbHlnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhdy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyZWlkZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyZWlkZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyaWJiYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcm9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyb25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcm9wYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bS1zdGVlbHBhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bS1zdGVlbHBhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtc3RpY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtc3RpY2stYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bXN0aWNrLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ5ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyeWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyeWVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ5ZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtYmJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bWJiZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bXBzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlci1maXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bmdlb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bmdlb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHlhbG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1keWFsb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFyLW11ZmZzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYXItbXVmZnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFybHliaXJkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWFybHliaXJkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lYmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVjbGlwc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVjbGlwc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWNsaXBzZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVjbGlwc2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRnZS1sZWdhY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UtbGVnYWN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnLWZyaWVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2ctZnJpZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxlbWVudG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZXBoYW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGVwaGFudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWgtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXYtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy12LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXB0eS1zZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcHR5LXNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbmdpbmUtd2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW5naW5lLXdhcm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4tZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52aXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVxdWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXF1YWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJhc2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVybGFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJsYW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVyZXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcmV1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcm5ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJuZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRzeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV1cm8tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldmVybm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXZlcm5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjaGFuZ2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYXJyb3dzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLXdpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBlZGl0ZWRzc2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1kcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtZHJvcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZXZpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWV2aWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuLXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4tdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhcm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFzdC1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtZm9yd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXVjZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhdWNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXVjZXQtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmF1Y2V0LWRyaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZWxkLWhvY2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmllbGQtaG9ja2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY2hhcnQtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNoYXJ0LXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29udHJhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29udHJhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jc3Y6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY3N2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leGNlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4cG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1wb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltcG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBkZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcG93ZXJwb2ludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtc2VhcmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNwcmVhZHNoZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNwcmVhZHNoZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXdvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZXMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG0tY2FuaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0tY2FuaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLXNtb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLXNtb2tlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmVmb3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveC1icm93c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94LWJyb3dzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZXBsYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlcGxhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3QtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3Qtb3JkZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0ZHJhZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0ZHJhZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXNoLWNvb2tlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzaC1jb29rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLWNoZWNrZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLXVzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZy11c2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNobGlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYXNobGlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrLXBvaXNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2stcG9pc29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrLXBvdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2stcG90aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpY2tyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlci1kYWZmb2RpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyLWRhZmZvZGlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlci10dWxpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyLXR1bGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsdXNoZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsdXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsdXgtY2FwYWNpdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbHV4LWNhcGFjaXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1kb3dubG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1jYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29ucy1maTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zLWZpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvb3RiYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvb3RiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9vdGJhbGwtaGVsbWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1oZWxtZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ya2xpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcmtsaWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmFnaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmFnaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlLWNvZGUtY2FtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlYnNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlYnNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZW5jaC1mcmllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlbmNoLWZyaWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvc3R5LWhlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb3N0eS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVuY3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bmN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bm5lbC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnV0Ym9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mdXRib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbGFjdGljLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtc2VuYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGF4eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYXh5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWUtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWUtYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZS1ib2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWUtYm9hcmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWUtY29uc29sZS1oYW5kaGVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZS1jb25zb2xlLWhhbmRoZWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWVwYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWVwYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcmFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FyYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcmFnZS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhcmFnZS1jYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FyYWdlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhcmFnZS1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcy1wdW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYXMtcHVtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXAtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naWZ0LWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpbmdlcmJyZWFkLW1hbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2luZ2VyYnJlYWQtbWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoYW1wYWduZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hhbXBhZ25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoZWVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hlZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNpdHJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2l0cnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLXdoaXNrZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleS1yb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleS1yb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzZXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYWZyaWNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hZnJpY2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFtZXJpY2FzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFzaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFzaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1ldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtc25vdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtc25vdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1zdGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtc3RhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2ZvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWNsdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLWRyaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29wdXJhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29wdXJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhZHVhdGlvbi1jYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhbW9waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhbW9waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyLWVsZWN0cmljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXItZWxlY3RyaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VpdGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ndWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaDEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taDI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWgyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaDQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyLXdhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtbWVyLXdhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctc2VlZGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcmVjZWl2aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXJlY2VpdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcm9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNjaXNzb3JzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BhcmtsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BhcmtsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLWhlbHBpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLWhlbHBpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy11c2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtd2FzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMtd2FzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2Utc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFudWtpYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbnVraWFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhcmQtaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXJkLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXNodGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jaGVmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY2hlZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY293Ym95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jb3dib3ktc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveS1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1zYW50YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LXNhbnRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC13aW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC13aW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LXdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LXdpemFyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LXdpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhkZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtYnJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtaGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLW1hc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXZyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXZyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1icm9rZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtcmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtcmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0YmVhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVsbWV0LWJhdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVsbWV0LWJhdHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZXhhZ29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZXhhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpZ2hsaWdodGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWdobGlnaHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpa2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBwbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXJlLWEtaGVscGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpc3RvcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2NrZXktbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9ja2V5LW1hc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ja2V5LXB1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvY2tleS1wdWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1zdGlja3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvY2tleS1zdGlja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9sbHktYmVycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbGx5LWJlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWUtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUtaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZS1sZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZS1sZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lLWxnLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZS1sZy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9vZC1jbG9hazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vZC1jbG9hayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9yaXpvbnRhbC1ydWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Jpem9udGFsLXJ1bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlLXNhZGRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9yc2Utc2FkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRhbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1mbG9vZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZmxvb2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91c2UtbGVhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWxlYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLW5pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS1uaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1yZXR1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXJldHVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXNpZ25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3V6eik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ocnl2bmlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ocnl2bmlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odG1sNSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odWJzcG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odWJzcG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1bWlkaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odW1pZGl0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odXJyaWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1cnJpY2FuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaS1jdXJzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLWNyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2UtY3JlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLXNrYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2Utc2thdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNpY2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNpY2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY29ucy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWJhZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkZWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZGVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZ2xvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWdsb28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlLXBvbGFyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZS1wb2xhcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmJveC1pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ib3gtaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3gtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveC1vdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZHVzdHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZmluaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZpbml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5mby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5oYWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5oYWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbm5vc29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ub3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWxvZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFsb2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZWdyYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVncmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyY29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcmNvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZWN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcnNlY3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZW50b3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZlbnRvcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlveGhvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXNsYW5kLXRyb3BpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pc2xhbmQtdHJvcGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGFsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRjaC1pbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRjaC1pbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXMtbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzLW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamFjay1vLWxhbnRlcm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphY2stby1sYW50ZXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb3lzdGljazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam95c3RpY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qc2ZpZGRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWp1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWFiYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FhYmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FnZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWdnbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2F6b286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthem9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtlcm5pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtlcm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5LXNrZWxldG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXktc2tlbGV0b24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5YmFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5YmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXlib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Ym9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXljZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5bm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5bm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWRuZXlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWRuZXlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLXdpbmstaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2l0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXdpLWJpcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpd2ktYmlyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rbmlmZS1raXRjaGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rbmlmZS1raXRjaGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbWJkYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFtYmRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFtcC1kZXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW1wLWRlc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFtcC1mbG9vcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFtcC1mbG9vcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5kbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZG1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZG1hcmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtaG91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1ob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFyYXZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFyYXZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXNzbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzc28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxheWVyLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXllci1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF5ZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWYtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYWYtaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZi1tYXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZi1tYXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmLW9hazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZi1vYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhbnB1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHQtY2VpbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHQtY2VpbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodC1zd2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0LXN3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodC1zd2l0Y2gtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodC1zd2l0Y2gtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0LXN3aXRjaC1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHQtc3dpdGNoLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHRidWxiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYi1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRzLWhvbGlkYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0cy1ob2xpZGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUtaGVpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXJhLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpcmEtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3Qtb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC11bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2F0aW9uLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jYXRpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrLW9wZW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLW9wZW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3Zlc2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG92ZXNlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG93LXZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdWNoYWRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHVjaGFkb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnZW50bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnZW50byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWduZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWlsLWJ1bGspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsY2hpbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1haWxjaGltcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbmRhbG9yaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYW5kYWxvcmlhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYW5kb2xpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFuZG9saW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLXNtaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXBpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLXBpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtc2lnbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1zaWducyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJrZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2Rvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1zdHJva2Utdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hc3RvZG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXN0b2Rvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1heGNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1kYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRhcHBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhcHBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bS1tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0tbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWV0dXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWdhcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVnYXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZ2Fwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1ibGFuazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLWJsYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVtb3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZW1vcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVuZGVsZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbmRlbGV5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lbm9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbm9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVyY3VyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXRlb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1ldGVvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2Jsb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvY2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXN0YW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXN0YW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm93YXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3dhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWluZC1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWluZC1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtaGV4YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtaGV4YWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1vY3RhZ29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1vY3RhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pc3RsZXRvZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWlzdGxldG9lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFuZHJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFuZHJvaWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9keDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9keCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25lcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjay1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWVkaXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1lZGl0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25pdG9yLWhlYXJ0LXJhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbml0b3ItaGVhcnQtcmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb251bWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9udW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uLWNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLXBlc3RsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9ydGFyLXBlc3RsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3NxdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vc3F1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3RvcmN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdW50YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VudGFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdW50YWlucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UtcG9pbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tcDMtcGxheWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tcDMtcGxheWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11Zy1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11Zy1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLW1hcnNobWFsbG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLW1hcnNobWFsbG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdWctdGVhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdWctdGVhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdXNpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uYXJ3aGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uYXJ3aGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5lb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5lb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV0d29yay13aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV0d29yay13aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ld3NwYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uaW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5pbWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGUtanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUtanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90LWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3QtZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90ZXMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90ZXMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ucG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5wbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uczg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5zOCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1udXRyaXRpb25peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnV0cml0aW9uaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC11bmdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9jdGFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9jdGFnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9jdG9wdXMtZGVwbG95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9pbC1jYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9pbC1jYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLXRlbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9pbC10ZW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9sZC1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2xkLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbWVnYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb21lZ2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcm5hbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3JuYW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3NpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vc2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3R0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW90dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW91dGRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0bGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdXRsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3ZlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3Zlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdmVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3ZlcmxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZS1icmVhazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZS1icmVhayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1icnVzaC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LWJydXNoLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGxldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXJjbGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFjaHV0ZS1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoLXJ0bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoLXJ0bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJraW5nLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJraW5nLWNpcmNsZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZy1jaXJjbGUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFya2luZy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZy1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXNzcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzc3BvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGFmYXJpYW5pc206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RhZmFyaWFuaXNtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXRyZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXRyZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXctYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXctYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdy1jbGF3czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF3LWNsYXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZWdhc3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZWdhc3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXBhaW50YnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1wYWludGJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1ydWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbm5hbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbm5hbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1jYXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWNhcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1kb2xseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWRvbGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1kb2xseS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWRvbGx5LWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJzb24tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waGFicmljYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhhYnJpY2F0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtbGFwdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLW9mZmljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtb2ZmaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtcm90YXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1yb3RhcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWFubzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGlhbm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGlhbm8ta2V5Ym9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpYW5vLWtleWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGl6emEtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpenphLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWFycml2YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWFycml2YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZS1kZXBhcnR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5ldC1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZXQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZXQtcmluZ2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZXQtcmluZ2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXktY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXlzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtaGV4YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1oZXhhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtb2N0YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1vY3RhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2RjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGl1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9kaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGl1bS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2RpdW0tc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xpY2UtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xpY2UtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbC1wZW9wbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtcGVvcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvby1zdG9ybTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vLXN0b3JtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9wY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9wY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3J0YWwtZW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRhbC1lbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3J0YWwtZXhpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9ydGFsLWV4aXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRyYWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvdW5kLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3dlci1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5aW5nLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNlbnRhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2VudGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludC1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByaW50LXNlYXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3Rvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wa2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdW1wa2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHV6emxlLXBpZWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHl0aG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWlkZGl0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpbnNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWluc2NhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1cmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdXJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yLXByb2plY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXItcHJvamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWJiaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhYmJpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWJiaXQtZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFiYml0LWZhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFjcXVldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFjcXVldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaW8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFpbmJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFpbmJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluZHJvcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhaW5kcm9wcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW1wLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbXAtbG9hZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbmRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXNwYmVycnktcGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhc3BiZXJyeS1waSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXZlbHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJheWd1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmF5Z3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdGV1cm9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3RldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhZG1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFkbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY2VpcHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY2VpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjb3JkLXZpbnlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNvcmQtdmlueWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjdGFuZ2xlLWxhbmRzY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjdGFuZ2xlLWxhbmRzY2FwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN0YW5nbGUtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY3RhbmdsZS1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN0YW5nbGUtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjdGFuZ2xlLXdpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWQtcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZC1yaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1hbGllbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJpZ2VyYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVmcmlnZXJhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZ2lzdGVyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlLWZvcm1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVtb3ZlLWZvcm1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlbnJlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGVhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQtMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwZWF0LTEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0LTEtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBlYXQtMS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwZWF0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb25