From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20831 invoked by alias); 6 Jul 2011 16:23:05 -0000 Received: (qmail 20818 invoked by uid 22791); 6 Jul 2011 16:23:03 -0000 X-SWARE-Spam-Status: No, hits=-0.9 required=5.0 tests=AWL,BAYES_50,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_AV,TW_CX X-Spam-Check-By: sourceware.org Received: from mail-qw0-f47.google.com (HELO mail-qw0-f47.google.com) (209.85.216.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 06 Jul 2011 16:22:45 +0000 Received: by qwh5 with SMTP id 5so35025qwh.20 for ; Wed, 06 Jul 2011 09:22:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.18.77 with SMTP id v13mr6674626qca.56.1309969364465; Wed, 06 Jul 2011 09:22:44 -0700 (PDT) Received: by 10.229.214.83 with HTTP; Wed, 6 Jul 2011 09:22:44 -0700 (PDT) In-Reply-To: References: <20110605195441.GA1225@intel.com> <20110705143920.GA25294@intel.com> Date: Wed, 06 Jul 2011 16:40:00 -0000 Message-ID: Subject: Re: PATCH [1/n] X32: Add initial -x32 support From: "H.J. Lu" To: Richard Guenther Cc: DJ Delorie , Alexandre Oliva , Paolo Bonzini , Ralf Wildenhues , neroden@gcc.gnu.org, gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=0015176f0bb8a2b98604a7690226 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00364.txt.bz2 --0015176f0bb8a2b98604a7690226 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 3989 On Wed, Jul 6, 2011 at 8:02 AM, Richard Guenther wrote: > On Wed, Jul 6, 2011 at 4:48 PM, H.J. Lu wrote: >> Hi Paolo, DJ, Nathanael, Alexandre, Ralf, >> >> Is the change >> . >> =A0 =A0 =A0 =A0* configure.ac: Support --enable-x32. >> =A0 =A0 =A0 =A0* configure: Regenerated. >> >> diff --git a/gcc/configure.ac b/gcc/configure.ac >> index 5f3641b..bddabeb 100644 >> --- a/gcc/configure.ac >> +++ b/gcc/configure.ac >> @@ -611,6 +611,11 @@ AC_ARG_ENABLE(multilib, >> =A0[], [enable_multilib=3Dyes]) >> =A0AC_SUBST(enable_multilib) >> >> +# With x32 support >> +AC_ARG_ENABLE(x32, >> +[ =A0--enable-x32 =A0 =A0 =A0 =A0 =A0 =A0enable x32 library support for= multiple ABIs], > > Looks like a very very generic switch for a global configury ... we alrea= dy > have --with-multilib-list (SH only), why not extend that to also work > for x86_64? > > Richard. > >> +[], [enable_x32=3Dno]) >> + >> =A0# Enable __cxa_atexit for C++. >> =A0AC_ARG_ENABLE(__cxa_atexit, >> =A0[AS_HELP_STRING([--enable-__cxa_atexit], [enable __cxa_atexit for C++= ])], >> >> OK? >> >> Thanks. >> Here is the updated patch to use --with-multilib-list=3Dx32. Paolo, DJ, Nathanael, Alexandre, Ralf, Is the configure.ac change --- * configure.ac: Mention x86-64 for --with-multilib-list. * configure: Regenerated. * doc/install.texi: Document --with-multilib-list=3Dx32. diff --git a/gcc/configure.ac b/gcc/configure.ac index 5f3641b..a73f758 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -795,7 +795,7 @@ esac], [enable_languages=3Dc]) AC_ARG_WITH(multilib-list, -[AS_HELP_STRING([--with-multilib-list], [select multilibs (SH only)])], +[AS_HELP_STRING([--with-multilib-list], [select multilibs (SH and x86-64 only)])], :, with_multilib_list=3Ddefault) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 49aac95..a5d266c 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1049,8 +1049,10 @@ sysv, aix. @item --with-multilib-list=3D@var{list} @itemx --without-multilib-list Specify what multilibs to build. -Currently only implemented for sh*-*-*. +Currently only implemented for sh*-*-* and x86-64-*-linux*. +@table @code +@item sh*-*-* @var{list} is a comma separated list of CPU names. These must be of the form @code{sh*} or @code{m*} (in which case they match the compiler option for that processor). The list should not contain any endian options - @@ -1082,6 +1084,12 @@ only little endian SH4AL: --with-multilib-list=3Dsh4al,!mb/m4al @end smallexample +@item x86-64-*-linux* +If @var{list} is @code{x32}, x32 run-time library will be enabled. By +default, x32 run-time library is disabled. + +@end table + @item --with-endian=3D@var{endians} Specify what endians to use. Currently only implemented for sh*-*-*. --- OK? Thanks. --=20 H.J. --- 2011-07-06 H.J. Lu * config.gcc: Support --with-multilib-list=3Dx32 for x86 Linux targets. * configure.ac: Mention x86-64 for --with-multilib-list. * configure: Regenerated. * config/i386/gnu-user64.h (SPEC_64): Support x32. (SPEC_32): Likewise. (ASM_SPEC): Likewise. (LINK_SPEC): Likewise. (TARGET_THREAD_SSP_OFFSET): Likewise. (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise. (SPEC_X32): New. * config/i386/i386.h (TARGET_X32): New. (TARGET_LP64): New. (LONG_TYPE_SIZE): Likewise. (POINTER_SIZE): Likewise. (POINTERS_EXTEND_UNSIGNED): Likewise. (OPT_ARCH64): Support x32. (OPT_ARCH32): Likewise. * config/i386/i386.opt (mx32): New. * config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New. (GLIBC_DYNAMIC_LINKERX32): Likewise. * config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise. (GLIBC_DYNAMIC_LINKERX32): Likewise. * config/i386/t-linux-x32: New. * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New. (BIONIC_DYNAMIC_LINKERX32): Likewise. (GNU_USER_DYNAMIC_LINKERX32): Likewise. * doc/install.texi: Document --with-multilib-list=3Dx32. * doc/invoke.texi: Document -mx32. --0015176f0bb8a2b98604a7690226 Content-Type: text/plain; charset=US-ASCII; name="gcc-x32-4.patch" Content-Disposition: attachment; filename="gcc-x32-4.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gpshu5ii0 Content-length: 19931 MjAxMS0wNy0wNiAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoK CSogY29uZmlnLmdjYzogU3VwcG9ydCAtLXdpdGgtbXVsdGlsaWItbGlzdD14 MzIgZm9yIHg4NiBMaW51eAoJdGFyZ2V0cy4KCgkqIGNvbmZpZ3VyZS5hYzog TWVudGlvbiB4ODYtNjQgZm9yIC0td2l0aC1tdWx0aWxpYi1saXN0LgoJKiBj b25maWd1cmU6IFJlZ2VuZXJhdGVkLgoKCSogY29uZmlnL2kzODYvZ251LXVz ZXI2NC5oIChTUEVDXzY0KTogU3VwcG9ydCB4MzIuCgkoU1BFQ18zMik6IExp a2V3aXNlLgoJKEFTTV9TUEVDKTogTGlrZXdpc2UuCgkoTElOS19TUEVDKTog TGlrZXdpc2UuCgkoVEFSR0VUX1RIUkVBRF9TU1BfT0ZGU0VUKTogTGlrZXdp c2UuCgkoVEFSR0VUX1RIUkVBRF9TUExJVF9TVEFDS19PRkZTRVQpOiBMaWtl d2lzZS4KCShTUEVDX1gzMik6IE5ldy4KCgkqIGNvbmZpZy9pMzg2L2kzODYu aCAoVEFSR0VUX1gzMik6IE5ldy4KCShUQVJHRVRfTFA2NCk6IE5ldy4KCShM T05HX1RZUEVfU0laRSk6IExpa2V3aXNlLgoJKFBPSU5URVJfU0laRSk6IExp a2V3aXNlLgoJKFBPSU5URVJTX0VYVEVORF9VTlNJR05FRCk6IExpa2V3aXNl LgoJKE9QVF9BUkNINjQpOiBTdXBwb3J0IHgzMi4KCShPUFRfQVJDSDMyKTog TGlrZXdpc2UuCgoJKiBjb25maWcvaTM4Ni9pMzg2Lm9wdCAobXgzMik6IE5l dy4KCgkqIGNvbmZpZy9pMzg2L2tmcmVlYnNkLWdudTY0LmggKEdOVV9VU0VS X0xJTktfRU1VTEFUSU9OWDMyKTogTmV3LgoJKEdMSUJDX0RZTkFNSUNfTElO S0VSWDMyKTogTGlrZXdpc2UuCgkqIGNvbmZpZy9pMzg2L2xpbnV4NjQuaCAo R05VX1VTRVJfTElOS19FTVVMQVRJT05YMzIpOiBMaWtld2lzZS4KCShHTElC Q19EWU5BTUlDX0xJTktFUlgzMik6IExpa2V3aXNlLgoKCSogY29uZmlnL2kz ODYvdC1saW51eC14MzI6IE5ldy4KCgkqIGNvbmZpZy9saW51eC5oIChVQ0xJ QkNfRFlOQU1JQ19MSU5LRVJYMzIpOiBOZXcuCgkoQklPTklDX0RZTkFNSUNf TElOS0VSWDMyKTogTGlrZXdpc2UuCgkoR05VX1VTRVJfRFlOQU1JQ19MSU5L RVJYMzIpOiBMaWtld2lzZS4KCgkqIGRvYy9pbnN0YWxsLnRleGk6IERvY3Vt ZW50IC0td2l0aC1tdWx0aWxpYi1saXN0PXgzMi4KCgkqIGRvYy9pbnZva2Uu dGV4aTogRG9jdW1lbnQgLW14MzIuCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy5nY2MgYi9nY2MvY29uZmlnLmdjYwppbmRleCBjNzdmNDBiLi4yNjIyMDQ2 IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnLmdjYworKysgYi9nY2MvY29uZmln LmdjYwpAQCAtMTI3OSw3ICsxMjc5LDExIEBAIGlbMzQ1NjddODYtKi1saW51 eCogfCBpWzM0NTY3XTg2LSota2ZyZWVic2QqLWdudSB8IGlbMzQ1NjddODYt Ki1rbmV0YnNkKi1nbnUgfCBpCiAJCWlmIHRlc3QgeCRlbmFibGVfdGFyZ2V0 cyA9IHhhbGw7IHRoZW4KIAkJCXRtX2ZpbGU9IiR7dG1fZmlsZX0gaTM4Ni94 ODYtNjQuaCBpMzg2L2dudS11c2VyNjQuaCBpMzg2L2xpbnV4NjQuaCIKIAkJ CXRtX2RlZmluZXM9IiR7dG1fZGVmaW5lc30gVEFSR0VUX0JJX0FSQ0g9MSIK LQkJCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gaTM4Ni90LWxpbnV4NjQi CisJCQlpZiB0ZXN0IHgke3dpdGhfbXVsdGlsaWJfbGlzdH0gPSB4eDMyOyB0 aGVuCisJCQkJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBpMzg2L3QtbGlu dXgteDMyIgorCQkJZWxzZQorCQkJCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmls ZX0gaTM4Ni90LWxpbnV4NjQiCisJCQlmaQogCQkJbmVlZF82NGJpdF9od2lu dD15ZXMKIAkJCW5lZWRfNjRiaXRfaXNhPXllcwogCQkJY2FzZSBYIiR7d2l0 aF9jcHV9IiBpbgpAQCAtMTMxNyw3ICsxMzIxLDEyIEBAIHg4Nl82NC0qLWxp bnV4KiB8IHg4Nl82NC0qLWtmcmVlYnNkKi1nbnUgfCB4ODZfNjQtKi1rbmV0 YnNkKi1nbnUpCiAJeDg2XzY0LSota2ZyZWVic2QqLWdudSkgdG1fZmlsZT0i JHt0bV9maWxlfSBrZnJlZWJzZC1nbnUuaCBpMzg2L2tmcmVlYnNkLWdudTY0 LmgiIDs7CiAJeDg2XzY0LSota25ldGJzZCotZ251KSB0bV9maWxlPSIke3Rt X2ZpbGV9IGtuZXRic2QtZ251LmgiIDs7CiAJZXNhYwotCXRtYWtlX2ZpbGU9 IiR7dG1ha2VfZmlsZX0gaTM4Ni90LWxpbnV4NjQgaTM4Ni90LWNydHN0dWZm IGkzODYvdC1jcnRwYyBpMzg2L3QtY3J0Zm0gdC1kZnBydWxlcyIKKwlpZiB0 ZXN0IHgke3dpdGhfbXVsdGlsaWJfbGlzdH0gPSB4eDMyOyB0aGVuCisJCXRt YWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gaTM4Ni90LWxpbnV4LXgzMiIKKwll bHNlCisJCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gaTM4Ni90LWxpbnV4 NjQiCisJZmkKKwl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IGkzODYvdC1j cnRzdHVmZiBpMzg2L3QtY3J0cGMgaTM4Ni90LWNydGZtIHQtZGZwcnVsZXMi CiAJOzsKIGlbMzQ1NjddODYtcGMtbXNkb3NkamdwcCopCiAJeG1fZmlsZT1p Mzg2L3htLWRqZ3BwLmgKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9n bnUtdXNlcjY0LmggYi9nY2MvY29uZmlnL2kzODYvZ251LXVzZXI2NC5oCmlu ZGV4IGIwNjk5NzUuLjk1NGYzYjIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcv aTM4Ni9nbnUtdXNlcjY0LmgKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2dudS11 c2VyNjQuaApAQCAtNTgsMjUgKzU4LDMxIEBAIHNlZSB0aGUgZmlsZXMgQ09Q WUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBu b3QsIHNlZQogCiAjaWYgVEFSR0VUXzY0QklUX0RFRkFVTFQKICNkZWZpbmUg U1BFQ18zMiAibTMyIgotI2RlZmluZSBTUEVDXzY0ICIhbTMyIgorI2RlZmlu ZSBTUEVDXzY0ICJtMzJ8bXgzMjo7IgorI2RlZmluZSBTUEVDX1gzMiAibXgz MiIKICNlbHNlCi0jZGVmaW5lIFNQRUNfMzIgIiFtNjQiCisjZGVmaW5lIFNQ RUNfMzIgIm02NHxteDMyOjsiCiAjZGVmaW5lIFNQRUNfNjQgIm02NCIKKyNk ZWZpbmUgU1BFQ19YMzIgIm14MzIiCiAjZW5kaWYKIAogI3VuZGVmIEFTTV9T UEVDCi0jZGVmaW5lIEFTTV9TUEVDICIleyIgU1BFQ18zMiAiOi0tMzJ9ICV7 IiBTUEVDXzY0ICI6LS02NH0gXAorI2RlZmluZSBBU01fU1BFQyAiJXsiIFNQ RUNfMzIgIjotLTMyfSBcCisgJXsiIFNQRUNfNjQgIjotLTY0fSBcCisgJXsi IFNQRUNfWDMyICI6LS14MzJ9IFwKICAleyFtbm8tc3NlMmF2eDole21hdng6 LW1zc2UyYXZ4fX0gJXttc3NlMmF2eDoleyFtYXZ4Oi1tc3NlMmF2eH19Igog CiAjdW5kZWYJTElOS19TUEVDCiAjZGVmaW5lIExJTktfU1BFQyAiJXsiIFNQ RUNfNjQgIjotbSAiIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9ONjQgIn0gXAog ICAgICAgICAgICAgICAgICAgICV7IiBTUEVDXzMyICI6LW0gIiBHTlVfVVNF Ul9MSU5LX0VNVUxBVElPTjMyICJ9IFwKKyAgICAgICAgICAgICAgICAgICAl eyIgU1BFQ19YMzIgIjotbSAiIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OWDMy ICJ9IFwKICAgJXtzaGFyZWQ6LXNoYXJlZH0gXAogICAleyFzaGFyZWQ6IFwK ICAgICAleyFzdGF0aWM6IFwKICAgICAgICV7cmR5bmFtaWM6LWV4cG9ydC1k eW5hbWljfSBcCiAgICAgICAleyIgU1BFQ18zMiAiOi1keW5hbWljLWxpbmtl ciAiIEdOVV9VU0VSX0RZTkFNSUNfTElOS0VSMzIgIn0gXAotICAgICAgJXsi IFNQRUNfNjQgIjotZHluYW1pYy1saW5rZXIgIiBHTlVfVVNFUl9EWU5BTUlD X0xJTktFUjY0ICJ9fSBcCisgICAgICAleyIgU1BFQ182NCAiOi1keW5hbWlj LWxpbmtlciAiIEdOVV9VU0VSX0RZTkFNSUNfTElOS0VSNjQgIn0gXAorICAg ICAgJXsiIFNQRUNfWDMyICI6LWR5bmFtaWMtbGlua2VyICIgR05VX1VTRVJf RFlOQU1JQ19MSU5LRVJYMzIgIn19IFwKICAgICAle3N0YXRpYzotc3RhdGlj fX0iCiAKIC8qIFNpbWlsYXIgdG8gc3RhbmRhcmQgR05VIHVzZXJzcGFjZSwg YnV0IGFkZGluZyAtZmZhc3QtbWF0aCBzdXBwb3J0LiAgKi8KQEAgLTExMCwx MCArMTE2LDEzIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJ TkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQogCiAjaWZk ZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCiAvKiBpMzg2IGdsaWJjIHBy b3ZpZGVzIF9fc3RhY2tfY2hrX2d1YXJkIGluICVnczoweDE0LAorICAgeDMy IGdsaWJjIHByb3ZpZGVzIGl0IGluICVmczoweDE4LiAKICAgIHg4Nl82NCBn bGliYyBwcm92aWRlcyBpdCBpbiAlZnM6MHgyOC4gICovCi0jZGVmaW5lIFRB UkdFVF9USFJFQURfU1NQX09GRlNFVAkoVEFSR0VUXzY0QklUID8gMHgyOCA6 IDB4MTQpCisjZGVmaW5lIFRBUkdFVF9USFJFQURfU1NQX09GRlNFVCBcCisg IChUQVJHRVRfNjRCSVQgPyAoVEFSR0VUX1gzMiA/IDB4MTggOiAweDI4KSA6 IDB4MTQpCiAKIC8qIFdlIHN0ZWFsIHRoZSBsYXN0IHRyYW5zYWN0aW9uYWwg bWVtb3J5IHdvcmQuICAqLwogI2RlZmluZSBUQVJHRVRfQ0FOX1NQTElUX1NU QUNLCi0jZGVmaW5lIFRBUkdFVF9USFJFQURfU1BMSVRfU1RBQ0tfT0ZGU0VU IChUQVJHRVRfNjRCSVQgPyAweDcwIDogMHgzMCkKKyNkZWZpbmUgVEFSR0VU X1RIUkVBRF9TUExJVF9TVEFDS19PRkZTRVQgXAorICAoVEFSR0VUXzY0QklU ID8gKFRBUkdFVF9YMzIgPyAweDQwIDogMHg3MCkgOiAweDMwKQogI2VuZGlm CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5oIGIvZ2NjL2Nv bmZpZy9pMzg2L2kzODYuaAppbmRleCBhMWFjNmI2Li44Y2VmNGU3IDEwMDY0 NAotLS0gYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5oCisrKyBiL2djYy9jb25m aWcvaTM4Ni9pMzg2LmgKQEAgLTQyLDYgKzQyLDcgQEAgc2VlIHRoZSBmaWxl cyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4g IElmIG5vdCwgc2VlCiAvKiBSZWRlZmluZXMgZm9yIG9wdGlvbiBtYWNyb3Mu ICAqLwogCiAjZGVmaW5lIFRBUkdFVF82NEJJVAlPUFRJT05fSVNBXzY0QklU CisjZGVmaW5lIFRBUkdFVF9YMzIJT1BUSU9OX0lTQV9YMzIKICNkZWZpbmUg VEFSR0VUX01NWAlPUFRJT05fSVNBX01NWAogI2RlZmluZSBUQVJHRVRfM0RO T1cJT1BUSU9OX0lTQV8zRE5PVwogI2RlZmluZSBUQVJHRVRfM0ROT1dfQQlP UFRJT05fSVNBXzNETk9XX0EKQEAgLTcyLDYgKzczLDcgQEAgc2VlIHRoZSBm aWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVs eS4gIElmIG5vdCwgc2VlCiAjZGVmaW5lIFRBUkdFVF9SRFJORAlPUFRJT05f SVNBX1JEUk5ECiAjZGVmaW5lIFRBUkdFVF9GMTZDCU9QVElPTl9JU0FfRjE2 QwogCisjZGVmaW5lIFRBUkdFVF9MUDY0CShUQVJHRVRfNjRCSVQgJiYgIVRB UkdFVF9YMzIpCiAKIC8qIFNTRTQuMSBkZWZpbmVzIHJvdW5kIGluc3RydWN0 aW9ucyAqLwogI2RlZmluZQlPUFRJT05fTUFTS19JU0FfUk9VTkQJT1BUSU9O X01BU0tfSVNBX1NTRTRfMQpAQCAtNTE2LDggKzUxOCw4IEBAIGV4dGVybiBj b25zdCBjaGFyICpob3N0X2RldGVjdF9sb2NhbF9jcHUgKGludCBhcmdjLCBj b25zdCBjaGFyICoqYXJndik7CiAjZGVmaW5lIE9QVF9BUkNINjQgIiFtMzIi CiAjZGVmaW5lIE9QVF9BUkNIMzIgIm0zMiIKICNlbHNlCi0jZGVmaW5lIE9Q VF9BUkNINjQgIm02NCIKLSNkZWZpbmUgT1BUX0FSQ0gzMiAiIW02NCIKKyNk ZWZpbmUgT1BUX0FSQ0g2NCAibTY0fG14MzIiCisjZGVmaW5lIE9QVF9BUkNI MzIgIm02NHxteDMyOjsiCiAjZW5kaWYKIAogLyogU3VwcG9ydCBmb3IgY29u ZmlndXJlLXRpbWUgZGVmYXVsdHMgb2Ygc29tZSBjb21tYW5kIGxpbmUgb3B0 aW9ucy4KQEAgLTYzNyw2ICs2MzksOCBAQCBlbnVtIHRhcmdldF9jcHVfZGVm YXVsdAogCiAjZGVmaW5lIFNIT1JUX1RZUEVfU0laRSAxNgogI2RlZmluZSBJ TlRfVFlQRV9TSVpFIDMyCisjZGVmaW5lIExPTkdfVFlQRV9TSVpFIChUQVJH RVRfWDMyID8gMzIgOiBCSVRTX1BFUl9XT1JEKQorI2RlZmluZSBQT0lOVEVS X1NJWkUgKFRBUkdFVF9YMzIgPyAzMiA6IEJJVFNfUEVSX1dPUkQpCiAjZGVm aW5lIExPTkdfTE9OR19UWVBFX1NJWkUgNjQKICNkZWZpbmUgRkxPQVRfVFlQ RV9TSVpFIDMyCiAjZGVmaW5lIERPVUJMRV9UWVBFX1NJWkUgNjQKQEAgLTE3 NDIsNiArMTc0NiwxMyBAQCBkbyB7CQkJCQkJCVwKICAgIGJldHdlZW4gcG9p bnRlcnMgYW5kIGFueSBvdGhlciBvYmplY3RzIG9mIHRoaXMgbWFjaGluZSBt b2RlLiAgKi8KICNkZWZpbmUgUG1vZGUgKFRBUkdFVF82NEJJVCA/IERJbW9k ZSA6IFNJbW9kZSkKIAorLyogQSBDIGV4cHJlc3Npb24gd2hvc2UgdmFsdWUg aXMgemVybyBpZiBwb2ludGVycyB0aGF0IG5lZWQgdG8gYmUgZXh0ZW5kZWQK KyAgIGZyb20gYmVpbmcgYFBPSU5URVJfU0laRScgYml0cyB3aWRlIHRvIGBQ bW9kZScgYXJlIHNpZ24tZXh0ZW5kZWQgYW5kCisgICBncmVhdGVyIHRoZW4g emVybyBpZiB0aGV5IGFyZSB6ZXJvLWV4dGVuZGVkIGFuZCBsZXNzIHRoZW4g emVybyBpZiB0aGUKKyAgIHB0cl9leHRlbmQgaW5zdHJ1Y3Rpb24gc2hvdWxk IGJlIHVzZWQuICAqLworCisjZGVmaW5lIFBPSU5URVJTX0VYVEVORF9VTlNJ R05FRCAxCisKIC8qIEEgZnVuY3Rpb24gYWRkcmVzcyBpbiBhIGNhbGwgaW5z dHJ1Y3Rpb24KICAgIGlzIGEgYnl0ZSBhZGRyZXNzIChmb3IgaW5kZXhpbmcg cHVycG9zZXMpCiAgICBzbyBnaXZlIHRoZSBNRU0gcnR4IGEgYnl0ZSdzIG1v ZGUuICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0 IGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYub3B0CmluZGV4IDk4ODZiN2IuLjhk ZWE5M2UgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2Lm9wdAor KysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5vcHQKQEAgLTM5OCw5ICszOTgs MTMgQEAgVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIE5lZ2F0aXZlKG02NCkgUmVw b3J0IEludmVyc2VNYXNrKElTQV82NEJJVCkgVmFyKGl4ODZfaXNhX2YKIEdl bmVyYXRlIDMyYml0IGkzODYgY29kZQogCiBtNjQKLVRhcmdldCBSZWplY3RO ZWdhdGl2ZSBOZWdhdGl2ZShtMzIpIFJlcG9ydCBNYXNrKElTQV82NEJJVCkg VmFyKGl4ODZfaXNhX2ZsYWdzKSBTYXZlCitUYXJnZXQgUmVqZWN0TmVnYXRp dmUgTmVnYXRpdmUobXgzMikgUmVwb3J0IE1hc2soSVNBXzY0QklUKSBWYXIo aXg4Nl9pc2FfZmxhZ3MpIFNhdmUKIEdlbmVyYXRlIDY0Yml0IHg4Ni02NCBj b2RlCiAKK214MzIKK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBOZWdhdGl2ZSht MzIpIFJlcG9ydCBNYXNrKElTQV9YMzIpIFZhcihpeDg2X2lzYV9mbGFncykg U2F2ZQorR2VuZXJhdGUgMzJiaXQgeDg2LTY0IGNvZGUKKwogbW1teAogVGFy Z2V0IFJlcG9ydCBNYXNrKElTQV9NTVgpIFZhcihpeDg2X2lzYV9mbGFncykg U2F2ZQogU3VwcG9ydCBNTVggYnVpbHQtaW4gZnVuY3Rpb25zCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2kzODYva2ZyZWVic2QtZ251NjQuaCBiL2djYy9j b25maWcvaTM4Ni9rZnJlZWJzZC1nbnU2NC5oCmluZGV4IGMzNzk4YTUuLjIw ODVjYTUgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9rZnJlZWJzZC1n bnU2NC5oCisrKyBiL2djYy9jb25maWcvaTM4Ni9rZnJlZWJzZC1nbnU2NC5o CkBAIC0yMSw2ICsyMSw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZp bGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiAKICNkZWZpbmUgR05VX1VTRVJf TElOS19FTVVMQVRJT04zMiAiZWxmX2kzODZfZmJzZCIKICNkZWZpbmUgR05V X1VTRVJfTElOS19FTVVMQVRJT042NCAiZWxmX3g4Nl82NF9mYnNkIgorI2Rl ZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTlgzMiAiZWxmMzJfeDg2XzY0 X2Zic2QiCiAKICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xp Yi9sZC5zby4xIgogI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIv bGliL2xkLWtmcmVlYnNkLXg4Ni02NC5zby4xIgorI2RlZmluZSBHTElCQ19E WU5BTUlDX0xJTktFUlgzMiAiL2xpYi9sZC1rZnJlZWJzZC14MzIuc28uMSIK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmggYi9nY2Mv Y29uZmlnL2kzODYvbGludXg2NC5oCmluZGV4IDVkMzMyMjQuLjViMGEyMTIg MTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKKysrIGIv Z2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaApAQCAtMjYsNiArMjYsOCBAQCBz ZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVz cGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKIAogI2RlZmluZSBHTlVfVVNFUl9M SU5LX0VNVUxBVElPTjMyICJlbGZfaTM4NiIKICNkZWZpbmUgR05VX1VTRVJf TElOS19FTVVMQVRJT042NCAiZWxmX3g4Nl82NCIKKyNkZWZpbmUgR05VX1VT RVJfTElOS19FTVVMQVRJT05YMzIgImVsZjMyX3g4Nl82NCIKIAogI2RlZmlu ZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIi CiAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1s aW51eC14ODYtNjQuc28uMiIKKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5L RVJYMzIgIi9saWJ4MzIvbGQtbGludXgteDMyLnNvLjIiCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL2kzODYvdC1saW51eC14MzIgYi9nY2MvY29uZmlnL2kz ODYvdC1saW51eC14MzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uOTJhY2Y5MQotLS0gL2Rldi9udWxsCisrKyBiL2djYy9jb25maWcv aTM4Ni90LWxpbnV4LXgzMgpAQCAtMCwwICsxLDQyIEBACisjIENvcHlyaWdo dCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMK KyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0NDLgorIworIyBHQ0MgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQg eW91ciBvcHRpb24pCisjIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBHQ0Mg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRo IEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorIyA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgT24gRGViaWFu LCBVYnVudHUgYW5kIG90aGVyIGRlcml2YXRpdmUgZGlzdHJpYnV0aW9ucywg dGhlIDMyYml0IGxpYnJhcmllcworIyBhcmUgZm91bmQgaW4gL2xpYjMyIGFu ZCAvdXNyL2xpYjMyLCAvbGliNjQgYW5kIC91c3IvbGliNjQgYXJlIHN5bWxp bmtzIHRvCisjIC9saWIgYW5kIC91c3IvbGliLCB3aGlsZSBvdGhlciBkaXN0 cmlidXRpb25zIGluc3RhbGwgbGlicmFyaWVzIGludG8gL2xpYjY0CisjIGFu ZCAvdXNyL2xpYjY0LiAgVGhlIExTQiBkb2VzIG5vdCBlbmZvcmNlIHRoZSB1 c2Ugb2YgL2xpYjY0IGFuZCAvdXNyL2xpYjY0LAorIyBpdCBkb2Vzbid0IHRl bGwgYW55dGhpbmcgYWJvdXQgdGhlIDMyYml0IGxpYnJhcmllcyBvbiB0aG9z ZSBzeXN0ZW1zLiAgU2V0CisjIE1VTFRJTElCX09TRElSTkFNRVMgYWNjb3Jk aW5nIHRvIHdoYXQgaXMgZm91bmQgb24gdGhlIHRhcmdldC4KKworIyBUbyBz dXBwb3J0IGkzODYsIHg4Ni02NCBhbmQgeDMyIGxpYnJhcmllcywgdGhlIGRp cmVjdG9yeSBzdHJ1Y3RydWUKKyMgc2hvdWxkIGJlOgorIworIyAJL2xpYiBo YXMgaTM4NiBsaWJyYXJpZXMuCisjIAkvbGliNjQgaGFzIHg4Ni02NCBsaWJy YXJpZXMuCisjIAkvbGlieDMyIGhhcyB4MzIgbGlicmFyaWVzLgorIworTVVM VElMSUJfT1BUSU9OUyA9IG02NC9tMzIvbXgzMgorTVVMVElMSUJfRElSTkFN RVMgPSA2NCAzMiB4MzIKK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi9saWI2 NCAkKGlmICQod2lsZGNhcmQgJChzaGVsbCBlY2hvICQoU1lTVEVNX0hFQURF Ul9ESVIpKS8uLi8uLi91c3IvbGliMzIpLC4uL2xpYjMyLC4uL2xpYikgLi4v bGlieDMyCisKK0xJQkdDQyA9IHN0bXAtbXVsdGlsaWIKK0lOU1RBTExfTElC R0NDID0gaW5zdGFsbC1tdWx0aWxpYgorCitFWFRSQV9NVUxUSUxJQl9QQVJU Uz1jcnRiZWdpbi5vIGNydGVuZC5vIGNydGJlZ2luUy5vIGNydGVuZFMubyBc CisJCSAgICAgY3J0YmVnaW5ULm8gY3J0cHJlYzMyLm8gY3J0cHJlYzY0Lm8g Y3J0cHJlYzgwLm8gXAorCQkgICAgIGNydGZhc3RtYXRoLm8KZGlmZiAtLWdp dCBhL2djYy9jb25maWcvbGludXguaCBiL2djYy9jb25maWcvbGludXguaApp bmRleCBmYzg5N2IxLi5kYmJlZWE1IDEwMDY0NAotLS0gYS9nY2MvY29uZmln L2xpbnV4LmgKKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCkBAIC03Nyw5ICs3 NywxMSBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJV TlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKICNkZWZpbmUgVUNM SUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgogI2Rl ZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMu c28uMCIKICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIv bGQ2NC11Q2xpYmMuc28uMCIKKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElO S0VSWDMyICIvbGliL2xkeDMyLXVDbGliYy5zby4wIgogI2RlZmluZSBCSU9O SUNfRFlOQU1JQ19MSU5LRVIgIi9zeXN0ZW0vYmluL2xpbmtlciIKICNkZWZp bmUgQklPTklDX0RZTkFNSUNfTElOS0VSMzIgIi9zeXN0ZW0vYmluL2xpbmtl ciIKICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSNjQgIi9zeXN0ZW0v YmluL2xpbmtlcjY0IgorI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVJY MzIgIi9zeXN0ZW0vYmluL2xpbmtlcngzMiIKIAogI2RlZmluZSBHTlVfVVNF Ul9EWU5BTUlDX0xJTktFUgkJCQkJCVwKICAgQ0hPT1NFX0RZTkFNSUNfTElO S0VSIChHTElCQ19EWU5BTUlDX0xJTktFUiwgVUNMSUJDX0RZTkFNSUNfTElO S0VSLAlcCkBAIC05MCw2ICs5Miw5IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlO RzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3Qs IHNlZQogI2RlZmluZSBHTlVfVVNFUl9EWU5BTUlDX0xJTktFUjY0CQkJCQlc CiAgIENIT09TRV9EWU5BTUlDX0xJTktFUiAoR0xJQkNfRFlOQU1JQ19MSU5L RVI2NCwgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQsIFwKIAkJCSBCSU9OSUNf RFlOQU1JQ19MSU5LRVI2NCkKKyNkZWZpbmUgR05VX1VTRVJfRFlOQU1JQ19M SU5LRVJYMzIJCQkJCVwKKyAgQ0hPT1NFX0RZTkFNSUNfTElOS0VSIChHTElC Q19EWU5BTUlDX0xJTktFUlgzMiwgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMy LCBcCisJCQkgQklPTklDX0RZTkFNSUNfTElOS0VSWDMyKQogCiAvKiBEZXRl cm1pbmUgd2hldGhlciB0aGUgZW50aXJlIGM5OSBydW50aW1lCiAgICBpcyBw cmVzZW50IGluIHRoZSBydW50aW1lIGxpYnJhcnkuICAqLwpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKaW5kZXgg NWYzNjQxYi4uYTczZjc1OCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZ3VyZS5h YworKysgYi9nY2MvY29uZmlndXJlLmFjCkBAIC03OTUsNyArNzk1LDcgQEAg ZXNhY10sCiBbZW5hYmxlX2xhbmd1YWdlcz1jXSkKIAogQUNfQVJHX1dJVEgo bXVsdGlsaWItbGlzdCwKLVtBU19IRUxQX1NUUklORyhbLS13aXRoLW11bHRp bGliLWxpc3RdLCBbc2VsZWN0IG11bHRpbGlicyAoU0ggb25seSldKV0sCitb QVNfSEVMUF9TVFJJTkcoWy0td2l0aC1tdWx0aWxpYi1saXN0XSwgW3NlbGVj dCBtdWx0aWxpYnMgKFNIIGFuZCB4ODYtNjQgb25seSldKV0sCiA6LAogd2l0 aF9tdWx0aWxpYl9saXN0PWRlZmF1bHQpCiAKZGlmZiAtLWdpdCBhL2djYy9k b2MvaW5zdGFsbC50ZXhpIGIvZ2NjL2RvYy9pbnN0YWxsLnRleGkKaW5kZXgg NDlhYWM5NS4uYTVkMjY2YyAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9pbnN0YWxs LnRleGkKKysrIGIvZ2NjL2RvYy9pbnN0YWxsLnRleGkKQEAgLTEwNDksOCAr MTA0OSwxMCBAQCBzeXN2LCBhaXguCiBAaXRlbSAtLXdpdGgtbXVsdGlsaWIt bGlzdD1AdmFye2xpc3R9CiBAaXRlbXggLS13aXRob3V0LW11bHRpbGliLWxp c3QKIFNwZWNpZnkgd2hhdCBtdWx0aWxpYnMgdG8gYnVpbGQuCi1DdXJyZW50 bHkgb25seSBpbXBsZW1lbnRlZCBmb3Igc2gqLSotKi4KK0N1cnJlbnRseSBv bmx5IGltcGxlbWVudGVkIGZvciBzaCotKi0qIGFuZCB4ODYtNjQtKi1saW51 eCouCiAKK0B0YWJsZSBAY29kZQorQGl0ZW0gc2gqLSotKgogQHZhcntsaXN0 fSBpcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIENQVSBuYW1lcy4gIFRo ZXNlIG11c3QgYmUgb2YgdGhlCiBmb3JtIEBjb2Rle3NoKn0gb3IgQGNvZGV7 bSp9IChpbiB3aGljaCBjYXNlIHRoZXkgbWF0Y2ggdGhlIGNvbXBpbGVyIG9w dGlvbgogZm9yIHRoYXQgcHJvY2Vzc29yKS4gIFRoZSBsaXN0IHNob3VsZCBu b3QgY29udGFpbiBhbnkgZW5kaWFuIG9wdGlvbnMgLQpAQCAtMTA4Miw2ICsx MDg0LDEyIEBAIG9ubHkgbGl0dGxlIGVuZGlhbiBTSDRBTDoKIC0td2l0aC1t dWx0aWxpYi1saXN0PXNoNGFsLCFtYi9tNGFsCiBAZW5kIHNtYWxsZXhhbXBs ZQogCitAaXRlbSB4ODYtNjQtKi1saW51eCoKK0lmIEB2YXJ7bGlzdH0gaXMg QGNvZGV7eDMyfSwgeDMyIHJ1bi10aW1lIGxpYnJhcnkgd2lsbCBiZSBlbmFi bGVkLiAgQnkKK2RlZmF1bHQsIHgzMiBydW4tdGltZSBsaWJyYXJ5IGlzIGRp c2FibGVkLgorCitAZW5kIHRhYmxlCisKIEBpdGVtIC0td2l0aC1lbmRpYW49 QHZhcntlbmRpYW5zfQogU3BlY2lmeSB3aGF0IGVuZGlhbnMgdG8gdXNlLgog Q3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgZm9yIHNoKi0qLSouCmRpZmYg LS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2Uu dGV4aQppbmRleCAxZmM0MDM4Li5mZDY3MTFjIDEwMDY0NAotLS0gYS9nY2Mv ZG9jL2ludm9rZS50ZXhpCisrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKQEAg LTYxMCw3ICs2MTAsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMr KyBEaWFsZWN0c30uCiAtbXBjMzIgLW1wYzY0IC1tcGM4MCAtbXN0YWNrcmVh bGlnbiBAZ29sCiAtbW9taXQtbGVhZi1mcmFtZS1wb2ludGVyICAtbW5vLXJl ZC16b25lIC1tbm8tdGxzLWRpcmVjdC1zZWctcmVmcyBAZ29sCiAtbWNtb2Rl bD1AdmFye2NvZGUtbW9kZWx9IC1tYWJpPUB2YXJ7bmFtZX0gQGdvbAotLW0z MiAgLW02NCAtbWxhcmdlLWRhdGEtdGhyZXNob2xkPUB2YXJ7bnVtfSBAZ29s CistbTMyIC1tNjQgLW14MzIgLW1sYXJnZS1kYXRhLXRocmVzaG9sZD1AdmFy e251bX0gQGdvbAogLW1zc2UyYXZ4IC1tZmVudHJ5IC1tOGJpdC1pZGl2IEBn b2wKIC1tYXZ4MjU2LXNwbGl0LXVuYWxpZ25lZC1sb2FkIC1tYXZ4MjU2LXNw bGl0LXVuYWxpZ25lZC1zdG9yZX0KIApAQCAtMTI4NTEsMTUgKzEyODUxLDE5 IEBAIG9uIEFNRCB4ODYtNjQgcHJvY2Vzc29ycyBpbiA2NC1iaXQgZW52aXJv bm1lbnRzLgogQHRhYmxlIEBnY2N0YWJvcHQKIEBpdGVtIC1tMzIKIEBpdGVt eCAtbTY0CitAaXRlbXggLW14MzIKIEBvcGluZGV4IG0zMgogQG9waW5kZXgg bTY0CitAb3BpbmRleCBteDMyCiBHZW5lcmF0ZSBjb2RlIGZvciBhIDMyLWJp dCBvciA2NC1iaXQgZW52aXJvbm1lbnQuCi1UaGUgMzItYml0IGVudmlyb25t ZW50IHNldHMgaW50LCBsb25nIGFuZCBwb2ludGVyIHRvIDMyIGJpdHMgYW5k CitUaGUgQG9wdGlvbnstbTMyfSBvcHRpb24gc2V0cyBpbnQsIGxvbmcgYW5k IHBvaW50ZXIgdG8gMzIgYml0cyBhbmQKIGdlbmVyYXRlcyBjb2RlIHRoYXQg cnVucyBvbiBhbnkgaTM4NiBzeXN0ZW0uCi1UaGUgNjQtYml0IGVudmlyb25t ZW50IHNldHMgaW50IHRvIDMyIGJpdHMgYW5kIGxvbmcgYW5kIHBvaW50ZXIK LXRvIDY0IGJpdHMgYW5kIGdlbmVyYXRlcyBjb2RlIGZvciBBTUQncyB4ODYt NjQgYXJjaGl0ZWN0dXJlLiBGb3IKLWRhcndpbiBvbmx5IHRoZSAtbTY0IG9w dGlvbiB0dXJucyBvZmYgdGhlIEBvcHRpb257LWZuby1waWN9IGFuZAotQG9w dGlvbnstbWR5bmFtaWMtbm8tcGljfSBvcHRpb25zLgorVGhlIEBvcHRpb257 LW02NH0gb3B0aW9uIHNldHMgaW50IHRvIDMyIGJpdHMgYW5kIGxvbmcgYW5k IHBvaW50ZXIKK3RvIDY0IGJpdHMgYW5kIGdlbmVyYXRlcyBjb2RlIGZvciBB TUQncyB4ODYtNjQgYXJjaGl0ZWN0dXJlLgorVGhlIEBvcHRpb257LW14MzJ9 IG9wdGlvbiBzZXRzIGludCwgbG9uZyBhbmQgcG9pbnRlciB0byAzMiBiaXRz IGFuZAorZ2VuZXJhdGVzIGNvZGUgZm9yIEFNRCdzIHg4Ni02NCBhcmNoaXRl Y3R1cmUuCitGb3IgZGFyd2luIG9ubHkgdGhlIEBvcHRpb257LW02NH0gb3B0 aW9uIHR1cm5zIG9mZiB0aGUgQG9wdGlvbnstZm5vLXBpY30KK2FuZCBAb3B0 aW9uey1tZHluYW1pYy1uby1waWN9IG9wdGlvbnMuCiAKIEBpdGVtIC1tbm8t cmVkLXpvbmUKIEBvcGluZGV4IG1uby1yZWQtem9uZQo= --0015176f0bb8a2b98604a7690226--