From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id bBUHK5OtomblzDEAWB0awg (envelope-from ) for ; Thu, 25 Jul 2024 15:54:59 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=D9mJjQ0k; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9CB5A1E0D0; Thu, 25 Jul 2024 15:54:59 -0400 (EDT) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 6F8581E097 for ; Thu, 25 Jul 2024 15:54:57 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1721937297; bh=RJ5G4/tYuR9FqlabLrxx0/gs2kgN+2T7pm5l3qOu/7w=; h=References:In-Reply-To:Date:To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=D9mJjQ0kYAj4q4BSawqP3YgqDsUA5ZQFrNJ4XMcd3XZJD7dKusw3RoIQaQoRnFkzv 239OFcgY704Y5ksnqvacCnbup1F3XZlVDRPyQbsKcCYESv6Vu9VXIe1I9Syr18QQqm JnDu0nHcSpRcUjfgOOtprvPGHkcMj4RJTDLt/vM+eaBeqK7dn/IhBWGhRX4+NLYnON +J+jer61Ep3kl2ru5K9vxi9l28iMqKo8ynP4Y8OogPqRZsMwFWh4sMA7Tial25R/kX FBxUzT0XykA62ldDgh5SPh41RwAkFuaFOW8aUv69MIUFNr8LlqeMnXDRzzweDpOuYH fXQvfMQeK44xg== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4WVM6m6MqWz14BV; Thu, 25 Jul 2024 15:54:56 -0400 (EDT) Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lists.lttng.org (Postfix) with ESMTPS id 4WVM6l3PXKz14LF for ; Thu, 25 Jul 2024 15:54:55 -0400 (EDT) Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-2cd5e3c27c5so172525a91.3 for ; Thu, 25 Jul 2024 12:54:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721937294; x=1722542094; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DW3qX7pluSG/kE1GSgQx+Fl2RtlplKVu1kHAG/+lP1U=; b=CjIf8YWOcWO2sUw1EtFLUQ/8SUFopbs2oj8y+Kq3Pl2TvzDbcMLzGDgHeQIiRL4XFa 29VLo+GlK/gAepHX20J1v9pJiGhdAhGuqDm3AF0zV0lmlj6+KsV4rCbnkZZe0y+66zMY CKKm5h69S5Thf7onweoNo/I/yi1P6bijkVnA5Kpu6wxsv7y5zU8L2owhpwBMNUg4WyDQ DALujrBR5zCkfCUzvDgikJ75S01DH6JGmHwQxaQCvN/3kRhdMJSHQu0eRnLx072Vtefs +/Hrxj9Opvn5BO9FyPDFQ9tm+JkYWjj+ydCyDC95eW5mp9NaAFoLa8vkPVyf6bX7Ajc4 34BQ== X-Gm-Message-State: AOJu0Yzz5i+9BlhztC6WZid7yTByiMvVhpQzJ8SnfDL8VofoTHiSYFD5 cfVDGScT1YIOEEqNmV/iAEQDKiCvLMOLPoM6Cx5KRd26e3T8AG9hmVRXaU3FQb8nl6W2/sWeZax 9CVdA8Pc4W0mLaQyamaQdUdk9aNZIPJGT X-Google-Smtp-Source: AGHT+IFB0LKqlULr406DBj4jYkTQGseP0AdZ2hUFngZAp0iXqkGcLIMoBrMrfcHabPX0gWXE3AsFpQO0D1DHtwNLtXk= X-Received: by 2002:a17:90b:4ad1:b0:2c9:7803:1cf6 with SMTP id 98e67ed59e1d1-2cf2ea14a02mr3295142a91.20.1721937293743; Thu, 25 Jul 2024 12:54:53 -0700 (PDT) MIME-Version: 1.0 References: <33527830-3bf3-4bc3-a53d-55eaefb74902@efficios.com> <09087915-9e15-4485-b3d3-f48b245690ec@efficios.com> In-Reply-To: Date: Thu, 25 Jul 2024 15:54:42 -0400 Message-ID: To: Kienan Stewart Cc: lttng-dev@lists.lttng.org, yocto@lists.yoctoproject.org Subject: Re: [lttng-dev] Using lttng-ust 2.13.6 from Yocto Kirkstone and getting weird segfault saying strlen_asimd.S can't be found. X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Hutchinson via lttng-dev Reply-To: Brian Hutchinson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" SGkgS2llbmFuLAoKSSdsbCBhbnN3ZXIgeW91ciBxdWVzdGlvbnMgYmVsb3csIGJ1dCBJJ3ZlIGdv dCBxdWVzdGlvbnMgb24gd2hhdCBJIHNhdwpidWlsZGluZyBhbmQgaW5zdGFsbGluZyBsdHRuZy10 b29scyAoMi4xMy4xMykgYW5kIGx0dG5nLXVzdCAoMi4xMy44KS4KCkJhc2VkIG9uIHRoZSBzdHJ1 Z2dsZXMgSSd2ZSBoYWQgdHJ5aW5nIHRvIGdldCBsdHRuZyB0byB3b3JrIHdpdGggbXkKYXBwIG92 ZXIgdmFyaW91cyBZb2N0byB2ZXJzaW9ucyAoRHVuZmVsbCAmIEtpcmtzdG9uZSkgYW5kIGx0dG5n CnZlcnNpb24sIEkgdGhpbmsgdGhlIHByb2JsZW1zIEknbSBmYWNpbmcgYXJlIG1vc3RseSBhcm91 bmQgQysrIGFuZAp3ZWFrIGFuZCBoaWRkZW4gc3ltYm9scyBpbiBZb2N0byB0b29sY2hhaW4uCgpX aGVuIEkgc3RhcnRlZCBteSBhcHAgd2l0aCB0aGUgb3B0aW9ucyB5b3UgbWVudGlvbmVkIHByZXZp b3VzbHkgYQp3aGlsZSBiYWNrLCBJZCBzZWUgdGhpbmdzIGxpa2U6CgojIExUVE5HX1VTVF9ERUJV Rz0xIExUVE5HX1VTVF9SRUdJU1RFUl9USU1FT1VUPS0xIC9vcHQvdGMvVHJhZmZpY0NvbnRyb2xs ZXIKbGlibHR0bmdfdXN0X3RyYWNlcG9pbnRbNDAxMi80MDEyXTogWW91ciBjb21waWxlciB0cmVh dHMgd2VhayBzeW1ib2xzCndpdGggaGlkZGVuIHZpc2liaWxpdHkgZm9yIGludGVnZXIgb2JqZWN0 cyBhcyBTQU1FIGFkZHJlc3MgYmV0d2Vlbgpjb21waWxlIHVuaXRzIHBhcnQgb2YgdGhlIHNhbWUg bW9kdWxlLiAoaW4gY2hlY2tfd2Vha19oaWRkZW4oKSBhdAp0cmFjZXBvaW50LmM6MTAxMikKbGli bHR0bmdfdXN0X3RyYWNlcG9pbnRbNDAxMi80MDEyXTogWW91ciBjb21waWxlciB0cmVhdHMgd2Vh ayBzeW1ib2xzCndpdGggaGlkZGVuIHZpc2liaWxpdHkgZm9yIHBvaW50ZXIgb2JqZWN0cyBhcyBT QU1FIGFkZHJlc3MgYmV0d2Vlbgpjb21waWxlIHVuaXRzIHBhcnQgb2YgdGhlIHNhbWUgbW9kdWxl LiAoaW4gY2hlY2tfd2Vha19oaWRkZW4oKSBhdAp0cmFjZXBvaW50LmM6MTAxNikKbGlibHR0bmdf dXN0X3RyYWNlcG9pbnRbNDAxMi80MDEyXTogWW91ciBjb21waWxlciB0cmVhdHMgd2VhayBzeW1i b2xzCndpdGggaGlkZGVuIHZpc2liaWxpdHkgZm9yIDI0LWJ5dGUgc3RydWN0dXJlIG9iamVjdHMg YXMgU0FNRSBhZGRyZXNzCmJldHdlZW4gY29tcGlsZSB1bml0cyBwYXJ0IG9mIHRoZSBzYW1lIG1v ZHVsZS4gKGluIGNoZWNrX3dlYWtfaGlkZGVuKCkKYXQgdHJhY2Vwb2ludC5jOjEwMjApCgpJIGZ1 cnRoZXIgcmVzZWFyY2hlZCB0aGlzIHdob2xlICd3ZWFrIHN5bWJvbCcgYW5kICdoaWRkZW4gdmlz aWJpbGl0eScKdG9waWMgaW4gdGhlIGx0dG5nLWRldiBhcmNoaXZlcyBhbmQgaXQgc21lbGxzIGEg bG90IGxpa2Ugd2hhdCBJJ3ZlCmJlZW4gc2VlaW5nLiAgWW91IHNob3VsZCBiZSBhYmxlIHRvIG1p eCBib3RoIHRyYWNlZiBhbmQgdHJhY2Vwb2ludApjYWxscyBpbiBzb3VjZSBjb2RlIC4uLiBidXQg SSBjb3VsZCBub3QuICBJIGNvdWxkIGdldCBhIHRyYWNlZiBjYWxsIHRvCndvcmsgYnV0IGlmIEkg cHV0IGEgdHJhY2Vwb2ludCBjYWxsIGluIHRoZSBzYW1lIGNvZGUgdGhlbiBub3RoaW5nCndvdWxk IHdvcmsuICBUaGlzIHdhcyB3aXRoIER1bmZlbGwgMy4xLjcgYW5kIGVhcmxpZXIgdmVyc2lvbnMg b2YKbHR0bmcuCgpBdCBvbmUgcG9pbnQgSSBjb3VsZCBnZXQgYSB0cmFjZXBvaW50IGNhbGwgdG8g d29yayBidXQgSSdkIGhhdmUgdG8gbGV0Cm91ciBjbWFrZSBidWlsZCBzeXN0ZW0gYnVpbGQgYW5k IGxpbmsgdGhlIHRwcC5jIGZpbGUgYW5kIHRoZW4gdHVybgphcm91bmQgYW5kIHVzZSBnY2MgdG8g cmVjb21waWxlIGl0IGFuZCBjb3B5IGl0IHRvIHdoZXJlIGFsbCB0aGUKb2JqZWN0cyB3ZXJlIHRv IGNyZWF0ZSB0aGUgaHVnZSAuYSBsaWJyYXJ5IHRoZSBhcHAgd2FzIGJ1aWx0IGFnYWluc3QuClRo YXQncyB3aGVuIEkgZmlyc3QgbGVhcm5lZCB0aGVyZSBhcmUgaXNzdWVzIHdpdGggQysrLiAgSSB0 aGluayBnKysgaXMKdXNlZCB0byBidWlsZCBldmVuIC5jIGZpbGVzIHRoYXQgYXJlbid0IGMrKy4K ClRoZW4gaWYgSSB0cmllZCB0byBwdXQgYSB0cmFjZXBvaW50IGluIGFub3RoZXIgc3ViIHByb2pl Y3QsIG5vbmUgb2YKdGhlIHRyYWNlcG9pbnRzIHdvdWxkIHdvcmsgYW5kIEknZCBnZXQgZW1wdHkg dHJhY2VzLiAgVGhpcyBpcyBhCnN5bXB0b20gb2YgdGhlICd3ZWFrIHN5bWJvbHMgd2l0aCBoaWRk ZW4gdmlzaWJpbGl0eScgaXNzdWUgLi4uIGFuZCBJCmZpbmFsbHkgZm91bmQgb3RoZXJzIHRoYXQg d2VyZSBoYXZpbmcgc2FtZSBpc3N1ZSBpbiB0aGUgYXJjaGl2ZXMuICBJCmRvbid0IGZ1bGx5IHVu ZGVyc3RhbmQgdGhlIGlzc3VlcyBoZXJlLCBhbHRob3VnaCBJIGRvIHVuZGVyc3RhbmQgc29tZQpv ZiB3aGF0J3MgZ29pbmcgb24gLi4uIEkganVzdCBkb24ndCBrbm93IHdoYXQgdG8gZG8gYWJvdXQg aXQuCgpBdCB0aGlzIHBvaW50IEkgd2FzIGJlaW5nIGVuY291cmFnZWQgdG8ga2VlcCB1cGdyYWRp bmcgdG8gbmV3ZXIKdmVyc2lvbnMgb2YgbHR0bmcuICBPdXIgYXBwIG5ldmVyIGNoYW5nZWQsIGdj YyAmIGx0dG5nIGV0Yy4sIGtlcHQKY2hhbmdpbmcuICBOb3cgd2l0aCBuZXdlciB2ZXJzaW9ucyBu b3RoaW5nIHJ1bnMsIGFsbCBJIGdldCBpcyBhbgppbW1lZGlhdGUgc2VnZmF1bHQuICBBZ2Fpbiwg SSdtIGJ1aWxkaW5nIGp1c3QgbGlrZSBJIGRpZCBiZWZvcmUgYSB5ZWFyCm9yIHNvIGFnbyB3aXRo IG9sZGVyIHZlcnNpb25zIG9mIFlvY3RvIGFuZCBsdHRuZy4gIEkgc2F5IGFsbCBvZiB0aGF0CnRv IGdpdmUgcGVyc3BlY3RpdmUgYW5kIGhpc3Rvcnkgb2Ygd2hhdCBJJ3ZlIHNlZW4gYW5kIGV4cGVy aWVuY2VkLgpOb3cgdGhpcyBUTFMgdGhpbmcgaGFzIGVudGVyZWQgdGhlIHBpY3R1cmUgdG9vIGFu ZCBzbyBmYXIgSSd2ZSBvbmx5CmNoYW5nZWQgbHR0bmcsIEkgZG9uJ3Qga25vdyBpZiBJIHNob3Vs ZCBiZSBhcHBseWluZyBwYXRjaGVzIHRvIG15IGdjYwpmb3IgdGhhdCBpc3N1ZS4gIExpa2UgSSBz YWlkLCBJJ20gY3VycmVudGx5IHVzaW5nIFlvY3RvIEtpcmtzdG9uZQo0LjAuMTggYW5kIDYuMS4z OCBrZXJuZWwuCgpOb3cgSSdsbCBtb3ZlIGludG8gdGhlIGFyZWEgb2YgdGhpbmdzIEkndmUgc2Vl biBidWlsZGluZy9pbnN0YWxsaW5nCmx0dG5nLXRvb2xzIGFuZCBsdHRuZy11c3QgbmF0aXZlbHkg b24gdGhlIHRhcmdldCBlbnZpcm9ubWVudCBJJ3ZlCnNldHVwIHdoZXJlIEkgY2FuIHJ1biAnbWFr ZSBjaGVjaycgZXRjLiAgVGhlc2UgYXJlIGluIHRoZSBjYXRlZ29yeSBvZgoiaGV5LCBpcyB0aGlz IG9rLCBzaG91bGQgSSBiZSB3b3JyaWVkIGFib3V0IHRoaXMiOgoKV2hpbGUgYnVpbGRpbmcgbHR0 bmctdG9vbHMgSSBzZWUgdGhpbmdzIGxpa2U6CgoqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhl Y3V0YWJsZSB1c2Vyc3BhY2UtcHJvYmUtZWxmLWJpbmFyeSBhZ2FpbnN0CnRoZSBsb2FkYWJsZSBt b2R1bGUKKioqIGxpYmZvby5zbyBpcyBub3QgcG9ydGFibGUhCgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi4vLi4vLi4vc3JjL2NvbW1vbi9tYWNyb3MuaDoxNSwKICAgICAgICAgICAgICAgIGZyb20g Li4vLi4vLi4vaW5jbHVkZS9sdHRuZy9oZWFsdGgtaW50ZXJuYWwuaDoxOSwKICAgICAgICAgICAg ICAgIGZyb20gbHR0bmctY3RsLWhlYWx0aC5jOjE5OgpJbiBmdW5jdGlvbiAnbHR0bmdfc3Rybmxl bicsCiAgIGlubGluZWQgZnJvbSAnbHR0bmdfc3RybmNweScgYXQgLi4vLi4vLi4vc3JjL2NvbW1v bi9tYWNyb3MuaDoxMjg6NiwKICAgaW5saW5lZCBmcm9tICdzZXRfaGVhbHRoX3NvY2tldF9wYXRo JyBhdCBsdHRuZy1jdGwtaGVhbHRoLmM6MTQ2OjksCiAgIGlubGluZWQgZnJvbSAnbHR0bmdfaGVh bHRoX3F1ZXJ5JyBhdCBsdHRuZy1jdGwtaGVhbHRoLmM6MjY0Ojg6Ci4uLy4uLy4uL3NyYy9jb21t b24vY29tcGF0L3N0cmluZy5oOjE5OjE2OiB3YXJuaW5nOiAnc3RybmxlbicKc3BlY2lmaWVkIGJv dW5kIDQwOTYgbWF5IGV4Y2VlZCBzb3VyY2Ugc2l6ZSAzNyBbLVdzdHJpbmdvcC1vdmVycmVhZF0K ICAxOSB8ICAgICAgICAgcmV0dXJuIHN0cm5sZW4oc3RyLCBtYXgpOwogICAgIHwgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KbHR0bmctY3RsLWhlYWx0aC5jOiBBdCB0b3AgbGV2ZWw6 CmNjMTogbm90ZTogdW5yZWNvZ25pemVkIGNvbW1hbmQtbGluZSBvcHRpb24KJy1Xbm8taW5jb21w bGV0ZS1zZXRqbXAtZGVjbGFyYXRpb24nIG1heSBoYXZlIGJlZW4gaW50ZW5kZWQgdG8gc2lsZW5j ZQplYXJsaWVyIGRpYWdub3N0aWNzCgoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQgbGli cmFyeSBsaWJiYXIubGEgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlCioqKiBsaWJ6enouc28g aXMgbm90IHBvcnRhYmxlIQoKKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5 IGxpYmZvby5sYSBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1bGUKKioqIGxpYmJhci5zbyBpcyBu b3QgcG9ydGFibGUhCgpXaGlsZSBpbnN0YWxsaW5nIGx0dG5nLXRvb2xzIEkgc2VlIHRoaW5ncyBs aWtlIHRoaXM6CgptYWtlWzRdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy9vcHQvbHR0bmcvbHR0bmct dG9vbHMtMi4xMy4xMy9zcmMvbGliL2x0dG5nLWN0bCcKIENDICAgICAgIGx0dG5nLWN0bC5sbwog Q0MgICAgICAgc25hcHNob3QubG8KIENDICAgICAgIGx0dG5nLWN0bC1oZWFsdGgubG8KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL3NyYy9jb21tb24vbWFjcm9zLmg6MTUsCiAgICAgICAg ICAgICAgICBmcm9tIC4uLy4uLy4uL2luY2x1ZGUvbHR0bmcvaGVhbHRoLWludGVybmFsLmg6MTks CiAgICAgICAgICAgICAgICBmcm9tIGx0dG5nLWN0bC1oZWFsdGguYzoxOToKSW4gZnVuY3Rpb24g J2x0dG5nX3N0cm5sZW4nLAogICBpbmxpbmVkIGZyb20gJ2x0dG5nX3N0cm5jcHknIGF0IC4uLy4u Ly4uL3NyYy9jb21tb24vbWFjcm9zLmg6MTI4OjYsCiAgIGlubGluZWQgZnJvbSAnc2V0X2hlYWx0 aF9zb2NrZXRfcGF0aCcgYXQgbHR0bmctY3RsLWhlYWx0aC5jOjE0Njo5LAogICBpbmxpbmVkIGZy b20gJ2x0dG5nX2hlYWx0aF9xdWVyeScgYXQgbHR0bmctY3RsLWhlYWx0aC5jOjI2NDo4OgouLi8u Li8uLi9zcmMvY29tbW9uL2NvbXBhdC9zdHJpbmcuaDoxOToxNjogd2FybmluZzogJ3N0cm5sZW4n CnNwZWNpZmllZCBib3VuZCA0MDk2IG1heSBleGNlZWQgc291cmNlIHNpemUgMzcgWy1Xc3RyaW5n b3Atb3ZlcnJlYWRdCiAgMTkgfCAgICAgICAgIHJldHVybiBzdHJubGVuKHN0ciwgbWF4KTsKICAg ICB8ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Cmx0dG5nLWN0bC1oZWFsdGguYzog QXQgdG9wIGxldmVsOgpjYzE6IG5vdGU6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0aW9u CictV25vLWluY29tcGxldGUtc2V0am1wLWRlY2xhcmF0aW9uJyBtYXkgaGF2ZSBiZWVuIGludGVu ZGVkIHRvIHNpbGVuY2UKZWFybGllciBkaWFnbm9zdGljcwoKTWFraW5nIGluc3RhbGwgaW4gdHJp Z2dlci1jb25kaXRpb24tZXZlbnQtbWF0Y2hlcwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkK Jy9vcHQvbHR0bmcvbHR0bmctdG9vbHMtMi4xMy4xMy9kb2MvZXhhbXBsZXMvdHJpZ2dlci1jb25k aXRpb24tZXZlbnQtbWF0Y2hlcycKIENDICAgICAgIGluc3RydW1lbnRlZC1hcHAubwogQ0MgICAg ICAgdHJhY2Vwb2ludC10cmlnZ2VyLWV4YW1wbGUubwogQVIgICAgICAgbGlidHJhY2Vwb2ludC10 cmlnZ2VyLWV4YW1wbGUuYQphcjogYHUnIG1vZGlmaWVyIGlnbm9yZWQgc2luY2UgYEQnIGlzIHRo ZSBkZWZhdWx0IChzZWUgYFUnKQoKV2hpbGUgYnVpbGRpbmcgbHR0bmctdXN0IEkgc2VlIHRoaW5n cyBsaWtlOgoKTWFraW5nIGFsbCBpbiB1dGlscwptYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkK Jy9ob21lL2lhZG1pbi9sdHRuZy11c3QvbHR0bmctdXN0LTIuMTMuOC90ZXN0cy91dGlscycKIEND ICAgICAgIHRhcC5vCiBBUiAgICAgICBsaWJ0YXAuYQphcjogYHUnIG1vZGlmaWVyIGlnbm9yZWQg c2luY2UgYEQnIGlzIHRoZSBkZWZhdWx0IChzZWUgYFUnKQoKKioqIFdhcm5pbmc6IExpbmtpbmcg dGhlIHNoYXJlZCBsaWJyYXJ5IGxpYnplcm8ubGEgYWdhaW5zdCB0aGUKbG9hZGFibGUgbW9kdWxl CioqKiBsaWJmYWtldXN0MC5zbyBpcyBub3QgcG9ydGFibGUhCiBDQ0xEICAgICBhcHBfbm91c3Rf aW5kaXJlY3RfYWJpMAoKKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX25v dXN0X2luZGlyZWN0X2FiaTAgYWdhaW5zdAp0aGUgbG9hZGFibGUgbW9kdWxlCioqKiBsaWJ6ZXJv LnNvIGlzIG5vdCBwb3J0YWJsZSEKIENDICAgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkwX2Fi aTEtYXBwX25vdXN0Lm8KIENDICAgICAgIGxpYm9uZS5sbwogQ0NMRCAgICAgbGlib25lLmxhCiBD Q0xEICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCgoqKiogV2FybmluZzogTGlua2lu ZyB0aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCmFnYWluc3QgdGhl IGxvYWRhYmxlIG1vZHVsZQoqKiogbGliemVyby5zbyBpcyBub3QgcG9ydGFibGUhCgoqKiogV2Fy bmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkx CmFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVsZQoqKiogbGlib25lLnNvIGlzIG5vdCBwb3J0YWJs ZSEKIENDICAgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkxLWFwcF9ub3VzdC5vCiBDQ0xEICAg ICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMQoKKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1 dGFibGUgYXBwX25vdXN0X2luZGlyZWN0X2FiaTBfYWJpMQphZ2FpbnN0IHRoZSBsb2FkYWJsZSBt b2R1bGUKKioqIGxpYm9uZS5zbyBpcyBub3QgcG9ydGFibGUhCiBDQyAgICAgICBhcHBfbm91c3Rf aW5kaXJlY3RfYWJpMS1hcHBfbm91c3QubwogQ0NMRCAgICAgYXBwX25vdXN0X2luZGlyZWN0X2Fi aTEKCioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF9ub3VzdF9pbmRpcmVj dF9hYmkxIGFnYWluc3QKdGhlIGxvYWRhYmxlIG1vZHVsZQoqKiogbGlib25lLnNvIGlzIG5vdCBw b3J0YWJsZSEKIENDICAgICAgIGFwcF91c3QubwogQ0MgICAgICAgdHAubwogQ0NMRCAgICAgYXBw X3VzdAogQ0MgICAgICAgYXBwX3VzdF9kbG9wZW4ubwogQ0NMRCAgICAgYXBwX3VzdF9kbG9wZW4K IENDICAgICAgIGFwcF91c3RfaW5kaXJlY3RfYWJpMC1hcHBfdXN0Lm8KIENDICAgICAgIGFwcF91 c3RfaW5kaXJlY3RfYWJpMC10cC5vCiBDQ0xEICAgICBhcHBfdXN0X2luZGlyZWN0X2FiaTAKCioq KiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF91c3RfaW5kaXJlY3RfYWJpMCBh Z2FpbnN0IHRoZQpsb2FkYWJsZSBtb2R1bGUKKioqIGxpYnplcm8uc28gaXMgbm90IHBvcnRhYmxl IQogQ0MgICAgICAgYXBwX3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEtYXBwX3VzdC5vCiBDQyAgICAg ICBhcHBfdXN0X2luZGlyZWN0X2FiaTBfYWJpMS10cC5vCiBDQ0xEICAgICBhcHBfdXN0X2luZGly ZWN0X2FiaTBfYWJpMQoKKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX3Vz dF9pbmRpcmVjdF9hYmkwX2FiaTEgYWdhaW5zdAp0aGUgbG9hZGFibGUgbW9kdWxlCioqKiBsaWJ6 ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKCkkgZG9uJ3Qga25vdyBpZiB0aGVzZSBhcmUgb2sgb3Ig aWYgSSBzaG91bGQgYmUgd29ycmllZCBhYm91dCBhbnkgb2YgdGhhdC4KCi4uLiBub3cgb24gdG8g eW91ciBxdWVzdGlvbnMgYmVsb3cuCgoKCk9uIFdlZCwgSnVsIDI0LCAyMDI0IGF0IDEyOjA04oCv UE0gS2llbmFuIFN0ZXdhcnQgPGtzdGV3YXJ0QGVmZmljaW9zLmNvbT4gd3JvdGU6Cj4KPiBIaSBC cmlhbiwKPgo+IE9uIDcvMjIvMjQgNjowMCBQTSwgQnJpYW4gSHV0Y2hpbnNvbiB3cm90ZToKPiA+ IEhpIEtpZW5hbiwKPiA+Cj4gPiBUb29rIGEgd2hpbGUgdG8gZ2F0aGVyIHlvdXIgZ3JvY2VyeSBs aXN0IGJ1dCBJIHRoaW5rIEkgaGF2ZSBtb3N0IG9mIGl0Cj4gPiBiZWxvdyA7KQo+Cj4gdGhhbmtz IGZvciBhbGwgdGhlIGV4dHJhIGluZm8uIFJlcGxpZXMgaW5saW5lIGJlbG93LCBidXQgSSdsbCBj dXQgYSBsb3QKPiBvZiB0aGUgbG9uZyBvdXRwdXQgZm9yIHJlYWRhYmlsaXR5Lgo+Cj4gdGw7ZHIg dGhlIGVudmlyb25tZW50IGNvbnRpbnVlcyB0byBiZSB3ZWlyZCwgYnV0IG15IHByZXNlbnQgc3Vz cGljaW9uIGlzCj4gdGhhdCBzb21ldGhpbmcgaW4gZWl0aGVyIGNvbXBpbGF0aW9uLCB0aGUgbGlu a2luZyBvZiB5b3VyIGFwcCAoZWcuIHdpdGgKPiBsZCB3aGVuIHByb2R1Y2luZyB0aGUgZXhlY3V0 YWJsZSksIG9yIHNvbWUgcG9zdCBsaW5raW5nIHN0cmlwcGluZyBtaWdodAo+IGJlIGNhdXNpbmcg aXNzdWVzLgoKSSdtIG5vdCBhd2FyZSBvZiBhbnkgc3RyaXBwaW5nIHRoYXQncyBnb2luZyBvbi4g IEluIGZhY3QgZXZlcnl0aGluZyBpcwpiZWluZyBidWlsdCB3aXRoIGRlYnVnIHN5bWJvbHMgYXQg dGhlIG1vbWVudCBhbmQgSSBldmVuIHR1cm5lZCBvZmYKb3B0aW1pemF0aW9uIC4uLiBldmVuIHVz ZWQgdGhlIGRlYnVnIGZyaWVuZGx5IC1PIGZsYWcgdG8gc2VlIGlmIHRoYXQKbWFkZSBhIGRpZmZl cmVuY2UuCgo+Cj4gSSB3aWxsIHN0b3AgZGlnZ2luZyBpbnRvIGZ1cnRoZXIgaHlwb3RoZXRpY2Fs cyBvbiBteSBzaWRlIGFzIHRoZXJlIGlzIG5vCj4gcmVwcm9kdWNlciBmb3IgYm90aCB0aGUgZW52 aXJvbm1lbnQgYW5kIHRoZSBhcHBsaWNhdGlvbi4gSWYgeW91IGV2ZXIgZW5kCj4gdXAgd2l0aCBh IG1pbmltYWwgcmVwcm9kdWNlciB0aGF0IHlvdSBjYW4gc2hhcmUsIEknZCBiZSBtb3JlIHRoYW4g aGFwcHkKPiB0byBleGFtaW5lIGl0LgoKSSdtIHBsYW5uaW5nIG9uIHRyeWluZyB0byBtYWtlIGEg c21hbGwgcmVwcm9kdWNlciBJIGNhbiBzaGFyZSBidXQgbm90IHRoZXJlIHlldC4KCj4KPiA+Cj4g PiBJIG1heSBoYXZlIG5vdCBiZWVuIGNsZWFyLiAgTW9zdCBvZiB0aGUgYXBwbGljYXRpb24gY29t cG9uZW50cyBhcmUKPiA+IHN0YXRpY2FsbHkgbGlua2VkIGJ1dCBJIHRoaW5rIHRoZXJlIGFyZSBz b21lIHRoYXQgYXJlIGJ1aWx0IGFzIHNoYXJlZAo+ID4gb2JqZWN0cyAoLnNvJ3MpIHNvIHRoYXQn cyB3aGF0IEkgd2FzIHJlZmVycmluZyB0by4gIEkga25vdyB0aGF0Cj4gPiBsdHRuZy11c3QgaXMg ZHluYW1pY2FsbHkgbGlua2VkIC4uLiBJIHRoaW5rIHRoZSBsdHRuZy11c3QgZG9jcyBzYXkgdGhp cwo+ID4gaXMgb25seSBvcHRpb24gYnV0IGFsc28gbWFrZXMgcmVmZXJlbmNlIHRvIHRoZSBmYWN0 IHN0YXRpYyBsaW5raW5nIHdhcwo+ID4gb25jZSBwb3NzaWJsZSAoaW4gc29tZSB2ZXJzaW9ucyBv ZiB0aGUgZG9jdW1lbnRhdGlvbikgYnV0IG5vdCBzdXBwb3J0ZWQKPiA+IGFueW1vcmUgKEkgcHJv YmFibHkgaGF2ZSB0aGUgZG9jcyBtZW1vcml6ZWQgYnkgbm93IGhhLCBoYSAuLi4gSSd2ZQo+ID4g bG9va2VkIGF0IG1hbnksIG1hbnkgdmVyc2lvbnMgb2YgdGhlbSkuCj4gPgo+ID4gSnVzdCBmb3Ig ZnVsbCBkaXNjbG9zdXJlIG15IGxkZCBsb29rcyBsaWtlOgo+ID4KPiA+ICAgICAgICAgbGludXgt dmRzby5zby4xICgweDAwMDBmZmZmYWIxOTYwMDApCj4gPiAgICAgICAgIGxpYmZjZ2kuc28uMCA9 PiAvdXNyL2xpYi9saWJmY2dpLnNvLjAgKDB4MDAwMGZmZmZhNTdmMDAwMCkKPiA+ICAgICAgICAg bGlibHR0bmctdXN0LnNvLjEgPT4gL3Vzci9saWIvbGlibHR0bmctdXN0LnNvLjEKPiA+ICgweDAw MDBmZmZmYTU3NTAwMDApCj4gPiAgICAgICAgIGxpYnhtbDIuc28uMiA9PiAvdXNyL2xpYi9saWJ4 bWwyLnNvLjIgKDB4MDAwMGZmZmZhNTVkMDAwMCkKPiA+ICAgICAgICAgbGlicnQuc28uMSA9PiAv bGliL2xpYnJ0LnNvLjEgKDB4MDAwMGZmZmZhNTViMDAwMCkKPiA+ICAgICAgICAgbGlibS5zby42 ID0+IC9saWIvbGlibS5zby42ICgweDAwMDBmZmZmYTU1MTAwMDApCj4gPiAgICAgICAgIGxpYnN0 ZGMrKy5zby42ID0+IC91c3IvbGliL2xpYnN0ZGMrKy5zby42ICgweDAwMDBmZmZmYTUyZjAwMDAp Cj4gPiAgICAgICAgIGxpYmdjY19zLnNvLjEgPT4gL2xpYi9saWJnY2Nfcy5zby4xICgweDAwMDBm ZmZmYTUyYzAwMDApCj4gPiAgICAgICAgIGxpYmMuc28uNiA9PiAvbGliL2xpYmMuc28uNiAoMHgw MDAwZmZmZmE1MTEwMDAwKQo+ID4gICAgICAgICAvbGliL2xkLWxpbnV4LWFhcmNoNjQuc28uMSAo MHgwMDAwZmZmZmFiMTVkMDAwKQo+ID4gICAgICAgICBsaWJsdHRuZy11c3QtY29tbW9uLnNvLjEg PT4KPiA+IC91c3IvbG9jYWwvbGliL2xpYmx0dG5nLXVzdC1jb21tb24uc28uMSAoMHgwMDAwZmZm ZmE1MGUwMDAwKQo+ID4gICAgICAgICBsaWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xID0+Cj4g PiAvdXNyL2xvY2FsL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xICgweDAwMDBmZmZm YTUwYTAwMDApCj4gPiAgICAgICAgIGxpYnB0aHJlYWQuc28uMCA9PiAvbGliL2xpYnB0aHJlYWQu c28uMCAoMHgwMDAwZmZmZmE1MDgwMDAwKQo+ID4gICAgICAgICBsaWJ6LnNvLjEgPT4gL2xpYi9s aWJ6LnNvLjEgKDB4MDAwMGZmZmZhNTA1MDAwMCkKPiA+Cj4gPgo+Cj4gSSBmaW5kIGl0IHZlcnkg c3VzcGljaW91cyB0aGF0IGBsaWJsdHRuZy11c3Quc28uMWAgaXMgaW4gYC91c3IvbGliYCwKPiB3 aGlsZSB0aGUgb3RoZXIgbHR0bmctdXN0IGxpYnJhcmllcyBhcmUgYmVpbmcgbG9hZGVkIGZyb20g YC91c3IvbG9jYWwvbGliYC4KClNvIFlvY3RvIHB1dHMgYWxsIG9mIHRoZSBsdHRuZyBsaWJzIGlu dG8gL3Vzci9saWIuICBXaGVuIEkgc2VudCB0aGUKcHJldmlvdXMgaW5mbyBJIHdhcyB1c2luZyBs dHRuZy10b29scyBhbmQgbW9kdWxlcyBidWlsdCBieSBZb2N0by9PRQphbmQgSSBzZXR1cCBhIG5h dGl2ZSBidWlsZCBlbnZpcm9ubWVudCBvbiB0aGUgdGFyZ2V0IHNvIEkgY291bGQgcnVuCidtYWtl IGNoZWNrJyBldGMuLCBhbmQgdGhhdCdzIHdoeSB0aGVyZSB3ZXJlIHRoaW5ncyBpbiAvdXNyL2xv Y2FsL2xpYgpiZWNhdXNlIHRoYXQncyB3aGVyZSB5b3UgZ3V5cyB3YW50IHN0dWZmIHRvIGJlLiAg U28gSSBhY3R1YWxseSBsZWZ0CnRoZSBsdHRuZy11c3QgaW5zdGFsbGFibGVzIGluIC91c3IvbG9j YWwvYnVpbGQgYnV0IGFsc28gY29waWVkIHRoZW0gdG8KL3Vzci9saWIgdG8gb3ZlcndyaXRlIG9s ZCBZb2N0byB2ZXJzaW9ucyB0aGVyZS4KCj4KPiBUaGlzIGluZm9ybWF0aW9uIGFsc28gbWF0Y2hl cyB0aGUgc3RhdGVkdW1wIGFuZCB0aGUgTERfREVCVUcgaW5mbyBmcm9tCj4gbGF0ZXIgb24uCj4K PiBDb3VsZCB5b3UgdmVyaWZ5IHNvbWUgb2YgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoKPgo+ IDEuIEluIHlvdXIgYnVpbGQgcm9vdCBmb3IgbHR0bmctdXN0LCBlbnVtZXJhdGUgYWxsIHRoZSBs aWJsdHRuZypzbwo+IGZpbGVzLiBGb3IgZWFjaCBzaGFyZWQgb2JqZWN0LCBydW4gYGZpbGUgJGxp Ym5hbWVgIGFuZCByZWNvcmQgdGhlIHZhbHVlCj4gb2YgdGhlIEJ1aWxkSUQgaGFzaC4KClNvcnJ5 LCBJJ20gbm90IGZvbGxvd2luZyB5b3UgaGVyZS4gIFRoZSBvbmx5IGJ1aWxkSUQgaGFzaCBJIGNh biB0aGluawpvZiBpcyB3aXRoICdldS11bnN0cmlwIC1uJyBidXQgdGhhdCdzIG9uIGNvcmUgZmls ZXMsIG5vdCBpbmRpdmlkdWFsCmxpYnMuICBBbmQgbG9va2luZyBhdCB0aGUgb3B0aW9ucyBJIGhh dmUgZm9yICdmaWxlJyBvbiBteSB0YXJnZXQsIEkKZG9uJ3Qgc2VlIGFueXRoaW5nIHRoYXQgbG9v a3MgbGlrZSB3aGF0IHlvdSBhcmUgYXNraW5nLgoKPgo+IDIuIEluIHlvdXIgZGVwbG95ZWQgZW52 aXJvbm1lbnQsIGVudW1lcmF0ZSBhbGwgdGhlIGxpYmx0dG5nKnNvIGZpbGVzIGluCj4gL3Vzci9s b2NhbC9saWIgYW5kIHJlY29yZCB0aGUgdmFsdWUgb2YgdGhlIEJ1aWxkSUQgaGFzaC4KPgo+IDMu IEluIHlvdXIgZGVwbG95ZWQgZW52aXJvbm1lbnQsIGVudW1lcmF0ZSBhbGwgdGhlIGxpYmx0dG5n KnNvIGZpbGVzIGluCj4gL3Vzci9saWIgYW5kIHJlY29yZCB0aGUgdmFsdWUgb2YgdGhlIEJ1aWxk SUQgaGFzaC4KPgo+IFRoZSBCdWlsZElEIHdpbGwgdmFyeSBmcm9tIG9uZSBvYmplY3QgdG8gdGhl IG5leHQsIGJ1dCB0aGUgZGVwbG95ZWQKPiBlbnZpcm9ubWVudCBCdWlsZElEcyBzaG91bGQgbWF0 Y2ggdGhlIEJ1aWxkSURzIG9mIHRoZSBjb3JyZXNwb25kaW5nCj4gbGlicmFyeSBmcm9tIHRoZSBi dWlsZCByb290Lgo+Cj4gSW4gcGFydGljdWxhciBteSBpbnRlcmVzdCBpcyB0aGUgYGxpYmx0dG5n LXVzdC5zby4xYCBsaWJyYXJ5ICB0aGF0IGlzCj4gbG9hZGVkICBmcm9tIGAvdXNyL2xpYmAgaW4g eW91ciBkZXBsb3llZCBlbnZpcm9ubWVudCwgYW5kIGlmIHRoZXJlIGFyZQo+IGFueSBpbiBgL3Vz ci9sb2NhbC9saWJgLgoKQXMgSSBzYWlkIGFib3ZlLCB3aGVuIEkgYnVpbHQgbHR0bmctdXN0IGZy b20gc291cmNlIG5hdGl2ZWx5IG9uIHRoZQp0YXJnZXQgYW5kIGluc3RhbGxlZCBpdCwgaXQgd2Vu dCB0byAvdXNyL2xvY2FsL2xpYiwgeW91ciBkZWZhdWx0LiAgSQp0aGVuIGNvcGllZCBldmVyeXRo aW5nIGZyb20gL3Vzci9sb2NhbC9saWIgKHdoaWNoIHdhcyBqdXN0IGx0dG5nLXVzdApzdHVmZikg dG8gL3Vzci9saWIgdG8gb3ZlcndyaXRlIHRoZSBvbGQgdmVyc2lvbnMgWW9jdG8gcHV0IHRoZXJl LgoKPgo+IEluIHRoZSB3b3JraW5nIGhlbGxvIGV4YW1wbGUsIGRvZXMgaXQgYWxzbyBlbmQgdXAg bGlua2luZyBhZ2FpbnN0Cj4gYC91c3IvbGliL2xpYmx0dG5nLXVzdC5zby4xYD8KClllcwoKPgo+ ID4gICAgIEZ1cnRoZXIgYWxvbmcgaW4gc3RlcHBpbmcgYmFjazoKPiA+Cj4gPiAgICAgICAgLSBE b2VzIG1ha2UgY2hlY2sgZm9yIGx0dG5nLXVzdCBwYXNzIGluIHlvdXIgZW52aXJvbm1lbnQ/Cj4g Pgo+ID4KPiA+IFNvIEknbSBnbGFkIHlvdSBtZW50aW9uZWQgdGhpcy4gIEkgZGlkbid0IHRyeSB0 byBydW4gbWFrZSBjaGVjayBiZWNhdXNlCj4gPiAjMSBoYXZlIG5ldmVyIHNlZW4gYW55dGhpbmcg aW4gdGhlIGRvY3VtZW50YXRpb24gYWJvdXQgaXQgYW5kIHdoYXQgaXQKPiA+IGRvZXMgYW5kICMy IEl0IHNhaWQgdGhhdCBpdCBkZXBlbmRlZCBvbiBQZXJsIGFuZCBzaW5jZSB0aGlzIGlzIGFuCj4g PiBlbWJlZGRlZCBzeXN0ZW0sIEkgcmVhbGx5IGRpZG4ndCB3YW50IHRvIHB1bGwgaXQgYW5kIGl0 cyBkZXBlbmRlbmNpZXMgaW4uCj4gPgo+ID4gTmV2ZXJ0aGVsZXNzLCBJIHJhbiBpdCBvbiBteSBu YXRpdmUgdGFyZ2V0IGJ1aWxkIEkgc2V0dXAgdG8gc2VlIHdoYXQKPiA+IHdvdWxkIGhhcHBlbi4g IEkgZGlkbid0IG5vdGljZSBpdCBjb21wbGFpbmluZyBhYm91dCBwZXJsIHNvIHRoZW4gSQo+ID4g Y2hlY2tlZCBteSBtYW5pZmVzdCBhbmQgcGVybCBpcyBpbiBmYWN0IGluIG91ciBpbWFnZSAoSSBn dWVzcyBzb21lIG90aGVyCj4gPiByZWNpcGUgcHVsbGVkIGl0IGluIGFuZCBJIG5ldmVyIHBhaWQg YXR0ZW50aW9uIHRvIHRoYXQpOgo+ID4KPiA+IE1ha2luZyBjaGVjayBpbiBpbmNsdWRlCj4gPiBt YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkKPiA+ICcvaG9tZS9pYWRtaW4vbHR0bmctdXN0L2x0 dG5nLXVzdC0yLjEzLjgvaW5jbHVkZScKPiA+IC4uLgo+ICA+Cj4gPgo+ID4gICAgICAgIC0gRG9l cyBtYWtlIGNoZWNrIGZvciBsdHRuZy10b29scyBwYXNzIGluIHlvdXIgZW52aXJvbm1lbnQ/Cj4g Pgo+ID4gSSdtIHN0aWxsIHVzaW5nIGx0dG5nLXRvb2xzIGJ1aWx0IGJ5IHlvY3RvIHNvIEkgZG9u J3Qga25vdyBob3cgdG8gcnVuCj4gPiBtYWtlIGNoZWNrIGluIHRoYXQgc2l0dWF0aW9uLiAgRnJv bSBkZXZ0b29sIG1heWJlPz8/ICBJIGRvbid0IGtub3csIEknZAo+ID4gaGF2ZSB0byBsb29rIGlu dG8gdGhhdCBvbmUuICAgSSBuZXZlciB1cGdyYWRlZCBsdHRuZy10b29scyBlaXRoZXIsIG9ubHkK PiA+IHVwZ3JhZGVkIGx0dG5nLXVzdCBhbmQgYnVpbHQgZnJvbSBzb3VyY2UgdGFyIHRvIGdldCB0 aGUgZml4IHlvdQo+ID4gbWVudGlvbmVkIGZvciBUTFMgc3R1ZmYuCj4KPiBUaGUgcG9reSB2ZXJz aW9uIG9mIHRoZSB0b29scyByZWNpcGUgc2VlbXMgdG8gaGF2ZSBzb21lIHN0dWZmIHJlbGF0aW5n Cj4gdG8gcHRlc3QsIHdoaWNoIHNlZW1zIHRvIGJlIGEgeW9jdG8gdG9vbCBmb3IgcGFja2FnZSB0 ZXN0aW5nLiBUaGVyZQo+IG1pZ2h0IGJlIGEgcnVuIHRvIHJ1biB0aGF0Pwo+Cj4gaHR0cHM6Ly9n aXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5L3BsYWluL21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcv bHR0bmctdG9vbHNfMi4xMy4xMy5iYgo+IGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dp a2kvUHRlc3QKPgo+IE90aGVyd2lzZSBJIHdvdWxkIGdldCB0aGUgbHR0bmctdG9vbHMgc291cmNl IGZvciB5b3VyIHZlcnNpb24sCj4gYm9vdHN0cmFwLCBjb25maWd1cmUsIGJ1aWxkLCBhbmQgcnVu IHRoZSB0ZXN0cyBpbiB0cmVlLgo+Cj4gVGhlIGJ1bGsgb2YgcmVncmVzc2lvbiB0ZXN0aW5nIGZv ciBsdHRuZy11c3QsIC1tb2R1bGVzLCBhbmQgLXRvb2xzCj4gaGFwcGVucyBkdXJpbmcgYG1ha2Ug Y2hlY2tgIGZvciBsdHRuZy10b29scy4KCkkgZGlkIGFsbCBvZiB0aGF0LiAgRmlyc3QgSSBkaWQg aXQgd2l0aCBsdHRuZy11c3QsIGJ1aWxkaW5nIGl0IGZyb20Kc291cmNlIHRhcmJhbGwgb24gdGFy Z2V0IG5hdGl2ZWx5IHRvIGVsaW1pbmF0ZSBhbnkgWW9jdG8gcmVjaXBlL3BhdGNoCmlzc3Vlcy4g IFRoZW4gZGlkIHRoZSBzYW1lIHdpdGggbHR0bmctdG9vbHMuCgo+Cj4gPgo+ID4gICAgICAgIC0g SXMgdGhpcyByZXByb2R1Y2libGUgaW4gbm9uLXlvY3RvIGVudmlyb25tZW50cyBvciBvbiBvdGhl cgo+ID4gICAgIGFyY2hpdGVjdHVyZXMgd2l0aCB0aGUgc2FtZSBwcm9qZWN0Pwo+ID4KPiA+IEht bSwgdGhhdCdzIGEgZ29vZCBxdWVzdGlvbi4gIEkgZG9uJ3QgaGF2ZSBhbnkgb3RoZXIgZW1iZWRk ZWQgdGFyZ2V0cyB0bwo+ID4gdHJ5IHRoaXMgb24gdGhhdCBhcmUgYSBkaWZmZXJlbnQgYXJjaC4g IEkgdGhpbmsgSSBoZWFyZCBhdCBvbmUgcG9pbnQKPiA+IGVhcmx5IG9uIGEgaGVhdmlseSBzdHVi YmVkIG91dCB2ZXJzaW9uIHJhbiBvbiBhIFBDIGJ1dCBJJ2QgaGF2ZSB0byBsb29rCj4gPiBpbnRv IHRoYXQuCj4gPgo+ID4gICAgICAgIC0gRG9lcyBydW5uaW5nIHRoZSB0cmFjZWQgYXBwbGljYXRp b24gd2l0aCBgTFRUTkdfVVNUX0RFQlVHPTFgIHlpZWxkCj4gPiAgICAgbW9yZSBpbmZvcm1hdGlv bj8KPiA+Cj4gPgo+ID4gU28gZmFyIEkndmUganVzdCBiZWVuIHRyeWluZyB0byBnZXQgdGhlIGFw cCB0byBydW4gd2l0aG91dCBldmVuIHN0YXJ0aW5nCj4gPiBsdHRuZyBqdXN0IHRvIGdldCBwYXN0 IHNlZ2ZhdWx0IGlzc3VlLiAgSGVyZSBpcyB3aGF0IGl0IGxvb2tzIGxpa2Ugd2l0aAo+ID4gZGVi dWcgdHVybmVkIG9uIHdpdGhvdXQgc3RhcnRpbmcgbHR0bmcgb3IgYSBsdHRuZy1zZXNzaW9uZDoK PiA+Cj4gPiBsaWJsdHRuZ191c3RfdHJhY2Vwb2ludFs1OTkvNTk5XTogWW91ciBjb21waWxlciB0 cmVhdHMgd2VhayBzeW1ib2xzIHdpdGgKPiA+IGhpZGRlbiB2aXNpYmlsaXR5IGZvciBpbnRlZ2Vy IG9iamVjdHMgYXMgU0FNRSBhZGRyZXNzIGJldHdlZW4gY29tcGlsZQo+ID4gdW5pdHMgcGFydCBv ZiB0aGUgc2FtZSBtb2R1bGUuIChpbiBjaGVja193ZWFrX2hpZGRlbigpIGF0Cj4gPgo+ID4gbGli bHR0bmdfdXN0WzU5OS82MDFdOiBXYWl0aW5nIGZvciBsb2NhbCBhcHBzIHNlc3Npb25kIChpbgo+ ID4gd2FpdF9mb3Jfc2Vzc2lvbmQoKSBhdCBsdHRuZy11c3QtY29tbS5jOjE3NTgpCj4gPiBsaWJs dHRuZ191c3RbNTk5LzYwMF06IEluZm86IHNlc3Npb25kIG5vdCBhY2NlcHRpbmcgY29ubmVjdGlv bnMgdG8KPiA+IGdsb2JhbCBhcHBzIHNvY2tldCAoaW4gdXN0X2xpc3RlbmVyX3RocmVhZCgpIGF0 IGx0dG5nLXVzdC1jb21tLmM6MTg4NCkKPiA+IFNlZ21lbnRhdGlvbiBmYXVsdAo+ID4KPiA+ICAg ICAgICAtIEknZCBhbHNvIHJ1biBsdHRuZy1zZXNzaW9uZCB3aXRoIHRoZSBlbnZpcm9ubWVudCB2 YXJpYWJsZQo+ID4gICAgIGBMVFROR19VU1RfREVCVUc9MWAgc2V0IGFuZCBgLXZ2diAtLXZlcmJv c2UtY29uc3VtZXJgIGluIHRoZSBwcm9ncmFtCj4gPiAgICAgYXJndW1lbnRzIGFuZCBjYXB0dXJl IGZvciBzdGRvdXQgJiBzdGRlcnIgaW50byBhIGZpbGUgZm9yIGFuYWx5c2lzLgo+ID4gICAgICAg IC0gVmVyaWZ5IGlmIHRoZSBtYWluIHByb2dyYW0gaXMgZHluYW1pY2FsbHkgbGlua2VkIHdpdGgg YGxkZGAKPiA+ICAgICAgICAtIFZlcmlmeSB3aGljaCBsaWJyYXJpZXMgYXJlIGxvYWRlZCBhdCBy dW50aW1lIGFuZCB3aGljaCBjYWxscyBhcmUKPiA+ICAgICBzaGltbWVkIHdpdGggYExEX0RFQlVH PWxpYnMsYmluZGluZ2AKPiA+Cj4gPgo+ID4gSSBwcm92aWRlZCBzb21lIG9mIHRoaXMgYWJvdmUu Cj4gPiBUaGUgb3V0cHV0IG9mIExEX0RFQlVHPWxpYnMsYmluZGluZ3MgaXMgYXR0YWNoZWQgYXMg ZmlsZQo+ID4gbGRfZGVidWctbGlicy1iaW5kaW5ncy50eHQKPgo+IFRoYW5rcy4gRm9yIHlvdXIg b3duIGRlYnVnZ2luZywgSSB3b3VsZCByZWNvbW1lbmQgdG8gcnVuIHRoZSBoZWxsbyB3b3JsZAo+ IGV4YW1wbGUgd2l0aCB0aGUgc2FtZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gb3JkZXIgdG8g aGF2ZSBjb21wYXJpc29uCj4gcG9pbnQgdG8gYSB3b3JraW5nIGV4YW1wbGUuCgpJIHJhbiB0aGUg aGVsbG8gd29ybGQgaW4gdGhlIGV4YW1wbGUgZGlyZWN0b3J5Cmx0dG5nLXVzdC0yLjEzLjgvZG9j L2V4YW1wbGVzL2hlbGxvLXN0YXRpYy1saWIgYW5kIGl0IHJhbiBmaW5lLgoKSSBjYW4gc2VuZCB0 aGUgc2Vzc2lvbmQubG9nIGV0Yy4gaWYgeW91IHdhbnQgdG8gc2VlIGl0IGJ1dCBpdCByYW4ganVz dApmaW5lIG9uIHRhcmdldCB1c2luZyB0aGUgbmF0aXZlIGJ1aWx0IGx0dG5nLXVzdCBhbmQgbHR0 bmctdG9vbHMuCgo+Cj4gIEZyb20gbXkgb2JzZXJ2YXRpb25zIGluIG15IG93biBlbnZpcm9ubWVu dCwgZm9yIHRoZSBoZWxsbyBleGFtcGxlIChhbmQKPiBwcmVzdW1hYmx5IHlvdXIgYXBwIGlmIGl0 J3Mgc2V0IHVwIGluIHRoZSBzYW1lIHdheSkgSSB3b3VsZCBleHBlY3QKPiBzb21ldGhpbmcgc2lt aWxhciB0byB0aGUgZm9sbG93aW5nCj4KPiBgYGAKPiAgICAzNjI0ODk1OiAgICAgaW5pdGlhbGl6 ZSBwcm9ncmFtOiAuL2hlbGxvCj4gICAgIDM2MjQ4OTU6Cj4gICAgIDM2MjQ4OTU6ICAgICBiaW5k aW5nIGZpbGUgLi9oZWxsbyBbMF0gdG8KPiAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42 IFswXTogbm9ybWFsIHN5bWJvbCBgZGxvcGVuJyBbR0xJQkNfMi4zNF0KPiAgICAgMzYyNDg5NTog ICAgIG9wZW5pbmcKPiBmaWxlPS94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10 cmFjZXBvaW50LnNvLjEgWzBdOwo+IGRpcmVjdF9vcGVuY291bnQ9Mwo+ICAgICAzNjI0ODk1Ogo+ ICAgICAzNjI0ODk1OiAgICAgYmluZGluZyBmaWxlIC4vaGVsbG8gWzBdIHRvCj4gL2xpYi94ODZf NjQtbGludXgtZ251L2xpYmMuc28uNiBbMF06IG5vcm1hbCBzeW1ib2wgYGRsc3ltJyBbR0xJQkNf Mi4zNF0KPiAgICAgMzYyNDg5NTogICAgIGJpbmRpbmcgZmlsZQo+IC94L2x0dG5nL21hc3Rlci91 c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdIHRvCj4gL3gvbHR0bmcvbWFz dGVyL3Vzci9saWIvbGlibHR0bmctdXN0LXRyYWNlcG9pbnQuc28uMSBbMF06IG5vcm1hbCBzeW1i b2wKPiBgbHR0bmdfdXN0X3RwX3JjdV9yZQo+IGFkX2xvY2snCj4gICAgIDM2MjQ4OTU6ICAgICBi aW5kaW5nIGZpbGUKPiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vw b2ludC5zby4xIFswXSB0bwo+IC94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10 cmFjZXBvaW50LnNvLjEgWzBdOiBub3JtYWwgc3ltYm9sCj4gYGx0dG5nX3VzdF90cF9yY3VfcmUK PiBhZF91bmxvY2snCj4gICAgIDM2MjQ4OTU6ICAgICBiaW5kaW5nIGZpbGUKPiAveC9sdHRuZy9t YXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXSB0bwo+IC94L2x0 dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdOiBub3Jt YWwgc3ltYm9sCj4gYGx0dG5nX3VzdF90cF9yY3VfZGUKPiByZWZlcmVuY2Vfc3ltJwo+ICAgICAz NjI0ODk1OiAgICAgYmluZGluZyBmaWxlCj4geC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRu Zy11c3QtdHJhY2Vwb2ludC5zby4xIFswXSB0bwo+IC94L2x0dG5nL21hc3Rlci91c3IvbGliL2xp Ymx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBdOiBub3JtYWwgc3ltYm9sCj4gYGx0dG5nX3Vz dF90cmFjZXBvaW4KPiB0X21vZHVsZV9yZWdpc3RlcicKPiAgICAgMzYyNDg5NTogICAgIGJpbmRp bmcgZmlsZQo+IC94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50 LnNvLjEgWzBdIHRvCj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIvbGlibHR0bmctdXN0LXRyYWNl cG9pbnQuc28uMSBbMF06IG5vcm1hbCBzeW1ib2wKPiBgbHR0bmdfdXN0X3RyYWNlcG9pbgo+IHRf bW9kdWxlX3VucmVnaXN0ZXInCj4gICAgIDM2MjQ4OTU6ICAgICBiaW5kaW5nIGZpbGUKPiAveC9s dHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXSB0bwo+ IC94L2x0dG5nL21hc3Rlci91c3IvbGliL2xpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgWzBd OiBub3JtYWwgc3ltYm9sCj4gYGx0dG5nX3VzdF90cF9kaXNhYmwKPiBlX2Rlc3RydWN0b3JzJwo+ ICAgICAzNjI0ODk1OiAgICAgYmluZGluZyBmaWxlCj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIv bGlibHR0bmctdXN0LXRyYWNlcG9pbnQuc28uMSBbMF0gdG8KPiAveC9sdHRuZy9tYXN0ZXIvdXNy L2xpYi9saWJsdHRuZy11c3QtdHJhY2Vwb2ludC5zby4xIFswXTogbm9ybWFsIHN5bWJvbAo+IGBs dHRuZ191c3RfdHBfZ2V0X2RlCj4gc3RydWN0b3JzX3N0YXRlJwo+ICAgICAzNjI0ODk1OiAgICAg YmluZGluZyBmaWxlIC4vaGVsbG8gWzBdIHRvCj4gL3gvbHR0bmcvbWFzdGVyL3Vzci9saWIvbGli bHR0bmctdXN0LnNvLjEgWzBdOiBub3JtYWwgc3ltYm9sCj4gYGx0dG5nX3VzdF9wcm9iZV9yZWdp c3RlcicKPiAgICAgMzYyNDg5NToKPiAgICAgMzYyNDg5NTogICAgIHRyYW5zZmVycmluZyBjb250 cm9sOiAuL2hlbGxvCj4gICAgIDM2MjQ4OTU6Cj4gYGBgCj4KPiBUaGUgYml0IHRoYXQgaXMgbWlz c2luZyBmcm9tIHlvdXIgcHJvZ3JhbSBpcyB0aGUgYmluZGluZyBvZgo+IGBsdHRuZ191c3RfcHJv YmVfcmVnaXN0ZXJgLiBIZXJlLCBpdCdzIG5vdCBsaWtlIHRoZSBzeW1ib2wgaXNuJ3QKPiByZXNv bHZlZCBhdCBhbGw6IGl0J3MgZm91bmQgZWFybGllciBhbmQgaWYgaXQgZGlkbid0IGV4aXN0IGF0 IGFsbCB0aGUKPiBlcnJvciB3b3VsZCBwcm9iYWJseSBiZSByZWxhdGl2ZWx5IGNsZWFyIGxpa2U6 Cj4KPiBgYGAKPiAuL2RvYy9leGFtcGxlcy9oZWxsby9oZWxsbzogc3ltYm9sIGxvb2t1cCBlcnJv cjoKPiAveC9sdHRuZy9tYXN0ZXIvdXNyL2xpYi9saWJsdHRuZy11c3Quc28uMTogdW5kZWZpbmVk IHN5bWJvbDoKPiBsdHRuZ191c3RfcHJvYmVfcmVnaXN0ZXIKPiBgYGAKPgo+IEknZCBsaWtlIHlv dSB0byBydW4gYW5vdGhlciB0ZXN0IHdpdGggeW91ciBhcHAuIFRoaXMgc2hvdWxkIGluZGljYXRl Cj4gdGhhdCBhbGwgc3ltYm9scyBzaG91bGQgYmUgaW1tZWRpYXRlbHkgcmVzb2x2ZWQgZHVyaW5n IGR5bmFtaWMgbG9hZGluZwo+IHJhdGhlciB0aGFuIHBlcmZvcm1pbmcgbGF6eSBzeW1ib2wgcmVz b2x1dGlvbi4gVGhlIGdvYWwgb2YgdGhpcyB0ZXN0IGlzCj4gdG8gc2VwYXJhdGUgY2xlYXJseSB0 aGUgc3ltYm9sIHJlc29sdXRpb24gZnJvbSB0aGUgY2FsbCB0aGF0IGhhcHBlbnMgaW4KPiB0aGUg cHJvZ3JhbSdzIGluaXRpYWxpemF0aW9uLiBZb3UgY2FuIGFsc28gcnVuIGl0IHdpdGggdGhlIGhl bGxvIGRlbW8gdG8KPiBjb21wYXJlIHRoZSBydW5zLgoKQXQgdGhpcyBwb2ludCBJIG5lZWQgdG8g cXVpdCBmb3IgYSBiaXQgc28gSSdsbCBzZW5kIHdoYXQgSSBoYXZlIHVwIHRvCnRoaXMgcG9pbnQg YW5kIHBlcmZvcm0gdGhlc2UgdGVzdHMgb24gYm90aCBteSBhcHAgYW5kIHRoZSBoZWxsbwpleGFt cGxlIGFuZCByZXBvcnQgYmFjayBhcyBzb29uIGFzIEkgY2FuLgoKPgo+IGBgYAo+IExUVE5HX1VT VF9ERUJVRz0xIExEX0RFQlVHPWFsbCBMRF9CSU5EX05PVz0xIC4vbXlfYXBwCj4gYGBgCj4KPiA+ Cj4gPiAgICAgICAgLSBSZXZpZXcgaW4gZGV0YWlsIHdoaWNoIGdjYyBjb21tYW5kcyBhcmUgZXhl Y3V0ZWQgdG8gcHJvZHVjZSB0aGUKPiA+ICAgICB0cmFjZXBvaW50IHByb3ZpZGVyIGFuZCBsaW5r IGl0IHRvIHRoZSBtYWluIGV4ZWN1dGFibGUuCj4gPgo+ID4gRXhhY3RseSBsaWtlIGhlbGxvIHdv cmxkIGV4YW1wbGUuCj4KPiBPa2F5LiBJIHNlZSB5b3VyIHByb2dyYW0gYWxzbyBoYXMgYXQgbGVh c3Qgc29tZSBwb3J0aW9ucyBpbiBDKyssIHdoaWNoCj4gaXMgZGlmZmVyZW50IHRoYW4gdGhlIGhl bGxvIHdvcmxkIGV4YW1wbGUuCj4KPiBEb2VzIHlvdXIgYnVpbGQgcHJvY2VzcyB1c2UgcGFydGlj dWxhciBvcHRpbWl6YXRpb25zIG9yIHN0cmlwIHBhcnRzIGZyb20KPiB0aGUgcmVzdWx0aW5nIG9i amVjdCBmaWxlcz8KPgo+IFdoZW4geW91J3JlIGJ1aWxkaW5nIHRoZSBoZWxsbyB3b3JsZCBleGFt cGxlLCBkb2VzIGl0IGdldCBjb21waWxlZCBpbgo+IHRoZSBzYW1lIGJ1aWxkcm9vdCBhcyB5b3Vy IGFwcCwgb3IgaXMgaXQgZG9uZSBkaWZmZXJlbnRseT8KPgo+IERvIHlvdSB1c2UgYSBjdXN0b20g bGlua2VyIHNjcmlwdChzKT8KPgo+Cj4gPgo+ID4KPiA+Cj4gPiBTbyB0aGUgZW1iZWRkZWQgdGFy Z2V0IGRvZXNuJ3QgaGF2ZSBiYWJsZXRyYWNlIHNvIEkgYXJjaGl2ZWQgdGhlIHNlc3Npb24KPiA+ IGFuZCB0cmFuc2ZlcnJlZCBpdCBvdmVyIHRvIG15IGRldiBQQyBhbmQgdXNlZCB0cmFjZWNvbXBh cyB0byB2aWV3IHRoZQo+ID4gbHR0bmctc2Vzc2lvbi4KPiA+Cj4gPiBZb3UgY2FuIHNlZSB0aGF0 IGluIHRoZSBhdHRhY2hlZCBmaWxlIG15X3Nlc3Npb24uY3N2Cj4KPiBUaGlzIGlzIGdvb2QsIHRo ZSBzdGF0ZWR1bXAgaXMgaGFwcGVuaW5nIHByb3Blcmx5Lgo+Cj4gPgo+ID4gICAgIGBgYAo+ID4K PiA+ICAgICAgPgo+ID4gICAgICA+IFRoYW5rcyEgIEknbSBydW5uaW5nIG91dCBvZiB0aGluZ3Mg dG8gdHJ5Lgo+ID4KPgo+IEZvciB0aGUgbmV4dCBzdGVwcyBJIHdvdWxkIHN0YXJ0IGRpc2Fzc2Vt YmxpbmcgIm15X2FwcCIgb3IgY2hlY2tpbmcgaW4KPiBnZGIgd2hpY2ggYmFkIGFkZHJlc3MgaXMg YmVpbmcgZmVkIGludG8gc3Rybmxlbi4KPgo+IFNlY3Rpb25zIG9mIGludGVyZXN0IChgb2JqZHVt cCAtc0QgbXlfYXBwYCBfYW5kXyBgcmVhZGVsZiAtVyAtYSBteV9hcHBgKToKPgo+IC0gbHR0bmdf dXN0X3RyYWNlcG9pbnRzX3B0cnMKPiAtIGx0dG5nX3VzdF90cmFjZXBvaW50c19zdHJpbmdzCj4K PiBTeW1ib2xzIG9mIGludGVyZXN0IChgb2JqZHVtcCAtc0QgbXlfYXBwYCBfYW5kIGBubSBteV9h cHBgKToKPgo+IC0gbHR0bmdfdXN0X3RyYWNlcG9pbnRfaGVsbG9fd29ybGRfX19teV9maXJzdF90 cmFjZXBvaW50Cj4gLSBsdHRuZ191c3RfdHJhY2Vwb2ludHNfcHRycwo+IC0gX19zdGFydF9sdHRu Z191c3RfdHJhY2Vwb2ludHNfcHRycwo+IC0gX19zdG9wX2x0dG5nX3VzdF90cmFjZXBvaW50c19w dHJzCj4KPiB0aGFua3MsCj4ga2llbmFuCj4KPiA+ICAgICBVbHRpbWF0ZWx5LCBnaXZlbiB0aGUg YmVzcG9rZSBlbnZpcm9ubWVudCwgYnVpbGQgc3RlcHMsIGFuZCBhcHBsaWNhdGlvbgo+ID4gICAg IGl0J3MgdG91Z2ggdG8gZGlhZ25vc2UgYSBsb3Qgb2YgdGhpbmdzIHRoYXQgd2Ugd291bGQgZ28g b3ZlciB3aXRoIGEKPiA+ICAgICBmaW5lCj4gPiAgICAgdG9vdGggY29tYjogc2VlaW5nIGhvdyB0 aGUgVFBQcyBhcmUgYnVpbHQgYW5kIGxpbmtlZCwgc2VlaW5nIGhvdyB0aGUKPiA+ICAgICBhcHBs aWNhdGlvbiBpcyBidWlsdCBhbmQgbGlua2VkLCBhbmFseXppbmcgd2hhdCdzIGhhcHBlbmluZyBh dCBydW50aW1lLAo+ID4gICAgIGhhdmluZyBhIGNvcmVkdW1wIHRoYXQgYWxsb3dzIHVzIHRvIHNl ZSB0aGUgdmFyaWFibGVzLCBldGMuCj4gPgo+ID4gICAgIElmIHlvdSBjYW4gcHJvdmlkZSBhIG1p bmltYWwgcmVwcm9kdWNlciwgaXQncyBwb3NzaWJsZSB0byBkaWcgZnVydGhlcgo+ID4gICAgIGlu dG8gaXQuCj4gPgo+ID4gICAgIE90aGVyd2lzZSwgdG8gbG9vayBpbiBtb3JlIGRldGFpbCBhdCB5 b3VyIHNwZWNpZmljIHByb2plY3Qgd291bGQgYmUKPiA+ICAgICBjb3ZlcmVkIHVuZGVyIGEgc2Vy dmljZSBjb250cmFjdCAoZm9yIHdoaWNoIHdlIGNhbiBzaWduIE5EQXMsIGV0Yy4gYXMKPiA+ICAg ICBuZWVkZWQpLiBGZWVsIGZyZWUgdG8gcmVhY2ggb3V0IHRoZSBzYWxlc0BlZmZpY2lvcy5jb20K PiA+ICAgICA8bWFpbHRvOnNhbGVzQGVmZmljaW9zLmNvbT4gdG8gb3JnYW5pc2UgdGhhdC4KPiA+ Cj4gPgo+ID4gSSB1bmRlcnN0YW5kIGJ1dCBzbyBmYXIgc2NoZWR1bGVzICYgYnVkZ2V0L3ByaW9y aXRpZXMgaGF2ZW4ndCBhbGlnbmVkIHNvCj4gPiBvbmNlIGFnYWluIEkndmUgYmVlbiBzY2hlZHVs ZWQgdG8gbG9vayBhdCB0aGlzIGlzc3VlIGFnYWluIHNpbmNlIHdlIGxhc3QKPiA+IHRyaWVkIGl0 IG9uIG9sZGVyIER1bmZlbGwgT1Mgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsdHRuZyBhbmQgaXQg bG9va3MKPiA+IGxpa2Ugd2UgaGF2ZSB0aGUgc2FtZSBwcm9ibGVtIGFzIGJlZm9yZS4KPiA+Cj4g PiBUaGFua3MgZm9yIHlvdXIgaGVscCEKPiA+Cj4gPiBSZWdhcmRzLAo+ID4KPiA+IEJyaWFuCj4g Pgo+ID4KPiA+ICAgICAgPgo+ID4gICAgICA+IEkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB0aGUg aW1wbGljYXRpb25zIG9mIHNvbWUgb2YgdGhpcwo+ID4gICAgIGRvY3VtZW50YXRpb24sCj4gPiAg ICAgID4gYnV0IEkgaGF2ZSBsZWFybmVkIGVub3VnaCB0byBrbm93IExEX1BSRUxPQUQgbWVhbnMg bm90aGluZyBpZgo+ID4gICAgIGV2ZXJ5dGhpbmcKPiA+ICAgICAgPiBpcyBzdGF0aWMgYnVpbHQu ICBPdXIgYXBwbGljYXRpb24gaXMgaGVhdmlseSBtdWx0aSB0aHJlYWRlZCwgdXNlcwo+ID4gICAg IGZvcmssCj4gPiAgICAgID4gY2xvbmUgYW5kIHdobyBrbm93cyBpZiBpdCdzIGRvaW5nIGRvdWJs ZSBjbG9zZXMgb3Igbm90IC4uLiBzbwo+ID4gICAgIEkndmUgdHJpZWQKPiA+ICAgICAgPiB0aGVz ZSBMRF9QUkVMT0FEICJoZWxwZXJzIiBvciB3aGF0ZXZlciB0aGV5IGFyZSwgYmVmb3JlIGFuZAo+ ID4gICAgIGRpZG4ndCBnZXQgYQo+ID4gICAgICA+IGRpZmZlcmVudCByZXN1bHQsIGJ1dCBub3cg a25vdyBpdCdzIG9ubHkgZm9yIHNoYXJlZCBsaWJyYXJ5Cj4gPiAgICAgb2JqZWN0LiAgU28KPiA+ ICAgICAgPiBub3cgSSB3aWxsIGV4cGVyaW1lbnQgd2l0aCBtYWtpbmcgb3VyIHRwcCBhIHNoYXJl ZCBvYmplY3QgYW5kIHRyeQo+ID4gICAgICA+IExEX1BSRUxPQUQgb2YgZm9yaywgZmQgYW5kIHB0 aHJlYWQgaGVscGVycyBhbmQgc3RhcnRpbmcgbXkgYXBwCj4gPiAgICAgdGhhdCB3YXkuCj4gPgo+ ID4gICAgIExEX1BSRUxPQUQgaGFzIGFuIGVmZmVjdCBpZiB0aGUgYXBwbGljYXRpb24geW91IGFy ZSBydW5uaW5nIGlzCj4gPiAgICAgZHluYW1pY2FsbHkgbGlua2VkIChub3RlOiB0aGUgVFBQIGNh biBiZSBzdGF0aWNhbGx5IGxpbmtlZCBpbnNpZGUgYW4KPiA+ICAgICBkeW5hbWljYWxseSBsaW5r ZWQgZXhlY3V0YWJsZSwgYW5kIHRoZSBwcmVsb2FkcyBhcmUgc3RpbGwgdXNlZnVsIGFuZC9vcgo+ ID4gICAgIG5lZWRlZCBpbiB0aGF0IGNhc2UpLgo+ID4KPiA+ICAgICBUaGUgZnVuY3Rpb24gb2Yg dGhlIGhlbHBlcnMgYXJlIHRvIGVuc3VyZSB0aGF0IHZhcmlvdXMgc3lzdGVtIGNhbGxzCj4gPiAg ICAgZG9uJ3QgY2xvYmJlciB0aGluZ3MgaW4gdXNlIGJ5IGx0dG5nLXVzdC4gRS5nLiwgY2xvc2Uo KSBpcyBzaGltbWVkIGJ5Cj4gPiAgICAgbGlibHR0bmctdXN0LWZkLnNvIHNvIHRoYXQgRkRzIHRo YXQgbHR0bmctdXN0IHVzZXMgYXJlbid0IHN1ZGRlbmx5IHNodXQKPiA+ICAgICBieSB0aGUgcHJv Z3JhbS4KPiA+Cj4gPiAgICAgSWYgeW91IHdhbnQgdG8gc2VlIGl0IGluIGFjdGlvbiwgeW91IGNv dWxkIHRyeSBhbiBleHBlcmltZW50IHdpdGggYQo+ID4gICAgIHNsaWdodGx5IG1vZGlmaWVkIGhl bGxvLXN0YXRpYy1saWIgYXBwbGljYXRpb24sIHdpdGggaW5zdHJ1Y3Rpb25zIGluCj4gPiAgICAg dGhlCj4gPiAgICAgdG9wIGNvbW1lbnQ6Cj4gPiAgICAgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20v a2llbmFuc3Rld2FydC8yOTllYjZhNTExZDkyZDQ1ODU2OWIyMTBlNGE0MThhOCA8aHR0cHM6Ly9n aXN0LmdpdGh1Yi5jb20va2llbmFuc3Rld2FydC8yOTllYjZhNTExZDkyZDQ1ODU2OWIyMTBlNGE0 MThhOD4KPiA+Cj4gPiAgICAgVGhlIGVmZmVjdCBvZiB0aGUgcHJlbG9hZHMgc3VjaCBhcyBsaWJs dHRuZy11c3QtZmQuc28gYXJlCj4gPiAgICAgaW5kZXBlbmRlbnQgb2YKPiA+ICAgICBob3cgdGhl IFRQUCBpcyBidWlsdCBhbmQgbGlua2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvciBsaWJyYXJ5Lgo+ ID4KPiA+ICAgICB0aGFua3MsCj4gPiAgICAga2llbmFuCj4gPgo+ID4gICAgICA+Cj4gPiAgICAg ID4gVGhpcyBpcyB3aGF0IEknbSByZWZlcnJpbmcgdG8gYWJvdmUgZnJvbSB0aGUgbHR0bmcgZG9j czoKPiA+ICAgICAgPgo+ID4gICAgICA+Cj4gPiAgICAgID4gICAgICAgICAgIFVzZSBMVFRuZy1V U1Qgd2l0aCBkYWVtb25zCj4gPiAgICAgID4KPiA+ICAgICAgIDxodHRwczovL2x0dG5nLm9yZy9k b2NzL3YyLjEzLyNkb2MtdXNpbmctbHR0bmctdXN0LXdpdGgtZGFlbW9ucwo+ID4gICAgIDxodHRw czovL2x0dG5nLm9yZy9kb2NzL3YyLjEzLyNkb2MtdXNpbmctbHR0bmctdXN0LXdpdGgtZGFlbW9u cz4+Cj4gPiAgICAgID4KPiA+ICAgICAgPiBJZiB5b3VyIGluc3RydW1lbnRlZCBhcHBsaWNhdGlv biBjYWxscyBmb3JrKDIpCj4gPiAgICAgID4gPGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBh Z2VzL21hbjIvZm9yay4yLmh0bWwKPiA+ICAgICA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4t cGFnZXMvbWFuMi9mb3JrLjIuaHRtbD4+LCBjbG9uZSgyKQo+ID4gICAgICA+IDxodHRwczovL21h bjcub3JnL2xpbnV4L21hbi1wYWdlcy9tYW4yL2Nsb25lLjIuaHRtbAo+ID4gICAgIDxodHRwczov L21hbjcub3JnL2xpbnV4L21hbi1wYWdlcy9tYW4yL2Nsb25lLjIuaHRtbD4+LCBvciBCU0TigJlz Cj4gPiAgICAgcmZvcmsoMikKPiA+ICAgICAgPgo+ID4gICAgIDxodHRwOi8vd3d3LmZyZWVic2Qu b3JnL2NnaS9tYW4uY2dpP3F1ZXJ5PXJmb3JrJnNla3Rpb249MiZtYW5wYXRoPUZyZWVCU0QrNC4x MC1SRUxFQVNFIDxodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9tYW4uY2dpP3F1ZXJ5PXJmb3Jr JnNla3Rpb249MiZtYW5wYXRoPUZyZWVCU0QrNC4xMC1SRUxFQVNFPj4sIHdpdGhvdXQgYSBmb2xs b3dpbmcgZXhlYygzKSA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMy9leGVj LjMuaHRtbCA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFnZXMvbWFuMy9leGVjLjMuaHRt bD4+LWZhbWlseSBzeXN0ZW0gY2FsbCwgeW91IG11c3QgcHJlbG9hZCB0aGUgfGxpYmx0dG5nLXVz dC1mb3JrLnNvfCBzaGFyZWQgb2JqZWN0IHdoZW4geW91IHN0YXJ0IHRoZSBhcHBsaWNhdGlvbi4K PiA+ICAgICAgPgo+ID4gICAgICA+IExEX1BSRUxPQUQ9bGlibHR0bmctdXN0LWZvcmsuc28gLi9t eS1hcHAKPiA+ICAgICAgPgo+ID4gICAgICA+IElmIHlvdXIgdHJhY2Vwb2ludCBwcm92aWRlciBw YWNrYWdlIGlzIGEgc2hhcmVkIGxpYnJhcnkgd2hpY2ggeW91Cj4gPiAgICAgYWxzbwo+ID4gICAg ICA+IHByZWxvYWQsIHlvdSBtdXN0IHB1dCBib3RoIHNoYXJlZCBvYmplY3RzIGluIHxMRF9QUkVM T0FEfDoKPiA+ICAgICAgPgo+ID4gICAgICA+IExEX1BSRUxPQUQ9bGlibHR0bmctdXN0LWZvcmsu c286L3BhdGgvdG8vdHAuc28gLi9teS1hcHAKPiA+ICAgICAgPgo+ID4gICAgICA+Cj4gPiAgICAg ID4gICAgICAgICAgIFVzZSBMVFRuZy1VU1Qgd2l0aCBhcHBsaWNhdGlvbnMgd2hpY2ggY2xvc2Ug ZmlsZQo+ID4gICAgIGRlc2NyaXB0b3JzCj4gPiAgICAgID4gICAgICAgICAgIHRoYXQgZG9u4oCZ dCBiZWxvbmcgdG8gdGhlbQo+ID4gICAgICA+ICAgICAgICAgICA8aHR0cHM6Ly9sdHRuZy5vcmcv ZG9jcy92Mi4xMy8jZG9jLWxpYmx0dG5nLXVzdC1mZAo+ID4gICAgIDxodHRwczovL2x0dG5nLm9y Zy9kb2NzL3YyLjEzLyNkb2MtbGlibHR0bmctdXN0LWZkPj4KPiA+ICAgICAgPgo+ID4gICAgICA+ IFNpbmNlIDIuOQo+ID4gICAgICA+Cj4gPiAgICAgID4gSWYgeW91ciBpbnN0cnVtZW50ZWQgYXBw bGljYXRpb24gY2xvc2VzIG9uZSBvciBtb3JlIGZpbGUgZGVzY3JpcHRvcnMKPiA+ICAgICAgPiB3 aGljaCBpdCBkaWQgbm90IG9wZW4gaXRzZWxmLCB5b3UgbXVzdCBwcmVsb2FkIHRoZQo+ID4gICAg IHxsaWJsdHRuZy11c3QtZmQuc298Cj4gPiAgICAgID4gc2hhcmVkIG9iamVjdCB3aGVuIHlvdSBz dGFydCB0aGUgYXBwbGljYXRpb246Cj4gPiAgICAgID4KPiA+ICAgICAgPiBMRF9QUkVMT0FEPWxp Ymx0dG5nLXVzdC1mZC5zbyAuL215LWFwcAo+ID4gICAgICA+Cj4gPiAgICAgID4gVHlwaWNhbCB1 c2UgY2FzZXMgaW5jbHVkZSBjbG9zaW5nIGFsbCB0aGUgZmlsZSBkZXNjcmlwdG9ycyBhZnRlcgo+ ID4gICAgIGZvcmsoMikKPiA+ICAgICAgPiA8aHR0cHM6Ly9tYW43Lm9yZy9saW51eC9tYW4tcGFn ZXMvbWFuMi9mb3JrLjIuaHRtbAo+ID4gICAgIDxodHRwczovL21hbjcub3JnL2xpbnV4L21hbi1w YWdlcy9tYW4yL2ZvcmsuMi5odG1sPj4gb3IgcmZvcmsoMikKPiA+ICAgICAgPgo+ID4gICAgIDxo dHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9tYW4uY2dpP3F1ZXJ5PXJmb3JrJnNla3Rpb249MiZt YW5wYXRoPUZyZWVCU0QrNC4xMC1SRUxFQVNFIDxodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9t YW4uY2dpP3F1ZXJ5PXJmb3JrJnNla3Rpb249MiZtYW5wYXRoPUZyZWVCU0QrNC4xMC1SRUxFQVNF Pj4gYW5kIGJ1Z2d5IGFwcGxpY2F0aW9ucyBkb2luZyDigJxkb3VibGUgY2xvc2Vz4oCdLgo+ID4g ICAgICA+Cj4gPiAgICAgID4KPiA+ICAgICAgPiBUaGFua3MsCj4gPiAgICAgID4KPiA+ICAgICAg PiBCcmlhbgo+ID4gICAgICA+Cj4gPiAgICAgID4KPiA+Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmx0dG5nLWRldiBtYWlsaW5nIGxpc3QKbHR0bmctZGV2 QGxpc3RzLmx0dG5nLm9yZwpodHRwczovL2xpc3RzLmx0dG5nLm9yZy9jZ2ktYmluL21haWxtYW4v bGlzdGluZm8vbHR0bmctZGV2Cg==