NetBSD Problem Report #57447

From www@netbsd.org  Fri Jun  2 02:16:48 2023
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 969B71A9238
	for <gnats-bugs@gnats.NetBSD.org>; Fri,  2 Jun 2023 02:16:48 +0000 (UTC)
Message-Id: <20230602021646.ED4961A9241@mollari.NetBSD.org>
Date: Fri,  2 Jun 2023 02:16:46 +0000 (UTC)
From: bsdprg@tuta.io
Reply-To: bsdprg@tuta.io
To: gnats-bugs@NetBSD.org
Subject: HEAD fails to probe USB devices and fails to boot up
X-Send-Pr-Version: www-1.0

>Number:         57447
>Category:       kern
>Synopsis:       HEAD fails to probe USB devices and fails to boot up
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 02 02:20:00 +0000 2023
>Last-Modified:  Fri Jun 02 14:50:01 +0000 2023
>Originator:     Salil Wadnerkar
>Release:        10.99.4
>Organization:
>Environment:
NetBSD dell.localdomain 10.0_BETA NetBSD 10.0_BETA (GENERIC) #0: Tue May 16 16:27:44 UTC 2023  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
When I boot up from the NetBSD HEAD image, it fails to enumerate USB devices and I get this error:

ubt0: vendor 8087 (Ox8087) product 0a2b (Ox0a2b), rev 2.00/0.10, addr 3
ugen0 at uhub1 port 10
ugenB: Broadcon Corp (Ox0a5c) 5888 (Ox5832), rev 1.10/1.01, addr 4
panic: kernel diagnostic assertion “dev=>ud_ifaces == NULL” failed: file "/usr/src/sys/dev/usb/usb_subr.c", line 870, ud_ifaces=OxfffTadv425d89940
cpul: Begin traceback...
vpanic() at netbsd:vpanic+0x173
kern_assert() at netbsd:kern_assert+Ox4b
usbd_set_config_index() at netbsd:usbd_set_config_index+0x59d
ugenif_attach() at netbsd:ugenif_attach+0x241
ugen_attach() at netbsd:ugen_attach+0x5c
config_attach_internal() at netbsd:config_attach_internal+0x1a7
config_found_acquire() at netbsd:config_found_acquire+0xd9
config_found() at netbsd:config_found+0x32
usbd_attachwholedevice() at netbsd:usbd_attachwholedevice+0xf8
usbd_probe_and_attach() at netbsd:usbd_probe_and_attach+0x14a
xhci_new_device() at netbsd:xhci_new_device+0x54a
uhub_explore() at netbsd:uhub_explore+0x4bd
usb_discover() at netbsd:usb_discover+0x4f
usb_event_thread() at netbsd:usb_event_thread+0x46
cpul: End traceback... :

I did an OCR from a camera image, and tried my best to fix the text. So, some text might be a little off. 

>How-To-Repeat:
Boot up from HEAD - 10.99.4. It happens every time.
>Fix:
None

>Audit-Trail:
From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot up
Date: Fri, 2 Jun 2023 09:35:47 +0000

 This is a multi-part message in MIME format.
 --=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud

 Can you please run with the attached patch and share dmesg once the
 machine boots?

 It won't fix the problem -- it will leak memory, which the assertion
 had detected, but it will give a little more diagnostic information
 about the real cause of the problem so we can find the right way to
 fix it.

 --=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud
 Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="usbhack.patch"

 diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
 index e14fec7e30be..2deb64b51c27 100644
 --- a/sys/dev/usb/usb_subr.c
 +++ b/sys/dev/usb/usb_subr.c
 @@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
  msg)
  	return USBD_INVAL;
  }
 =20
 +#include <ddb/ddb.h>
  usbd_status
  usbd_set_config_index(struct usbd_device *dev, int index, int msg)
  {
 @@ -691,6 +692,8 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  	usbd_status err;
  	int i, ifcidx, nifc, len, selfpowered, power;
 =20
 +	printf("%s: addr %u index %d msg %d\n", __func__, index, msg);
 +	db_stacktrace();
 =20
  	if (index >=3D dev->ud_ddesc.bNumConfigurations &&
  	    index !=3D USB_UNCONFIG_INDEX) {
 @@ -867,7 +870,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  		goto bad;
  	}
 =20
 -	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
 +//	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
 );
 =20
  	/* Allocate and fill interface data. */
  	nifc =3D cdp->bNumInterface;

 --=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud--

From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot up
Date: Fri, 2 Jun 2023 09:46:32 +0000

 This is a multi-part message in MIME format.
 --=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG

 > Date: Fri, 2 Jun 2023 09:35:47 +0000
 > From: Taylor R Campbell <riastradh@NetBSD.org>
 > 
 > Can you please run with the attached patch and share dmesg once the
 > machine boots?

 Sorry, hit send before I verified it would compile -- try this one
 instead.

 --=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG
 Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack-v2"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="usbhack-v2.patch"

 diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_so/a=
 rch/aarch64/mdreloc.c
 index 64335181bfe6..f656a08e2866 100644
 --- a/libexec/ld.elf_so/arch/aarch64/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/aarch64/mdreloc.c
 @@ -299,8 +299,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TLS_TYPE(TLS_TPREL):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(def->st_value + defobj->tlsoffset +
 diff --git a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c b/libexec/ld.elf_so=
 /arch/alpha/alpha_reloc.c
 index c7f2e85c2a28..0266dbfbdc9c 100644
 --- a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
 +++ b/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
 @@ -280,8 +280,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TPREL64):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			tmp =3D (Elf64_Addr)(def->st_value +
 diff --git a/libexec/ld.elf_so/arch/arm/mdreloc.c b/libexec/ld.elf_so/arch/=
 arm/mdreloc.c
 index 79f7f2765a81..c234e4e80520 100644
 --- a/libexec/ld.elf_so/arch/arm/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/arm/mdreloc.c
 @@ -228,8 +228,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPOFF32):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			if (__predict_true(RELOC_ALIGNED_P(where)))
 diff --git a/libexec/ld.elf_so/arch/hppa/hppa_reloc.c b/libexec/ld.elf_so/a=
 rch/hppa/hppa_reloc.c
 index dd11e536653f..a2b3853fe014 100644
 --- a/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
 +++ b/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
 @@ -553,7 +553,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPREL32):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(defobj->tlsoffset + def->st_value +
 diff --git a/libexec/ld.elf_so/arch/i386/mdreloc.c b/libexec/ld.elf_so/arch=
 /i386/mdreloc.c
 index 5e3f7c959fca..8cae1c931fe3 100644
 --- a/libexec/ld.elf_so/arch/i386/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/i386/mdreloc.c
 @@ -147,8 +147,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPOFF):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where +=3D (Elf_Addr)(def->st_value - defobj->tlsoffset);
 @@ -159,8 +159,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPOFF32):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where +=3D (Elf_Addr)(defobj->tlsoffset - def->st_value);
 diff --git a/libexec/ld.elf_so/arch/m68k/mdreloc.c b/libexec/ld.elf_so/arch=
 /m68k/mdreloc.c
 index d327e24f2edf..480159696075 100644
 --- a/libexec/ld.elf_so/arch/m68k/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/m68k/mdreloc.c
 @@ -142,9 +142,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_DTPREL32):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 -				return -1;
 -
  			*where =3D (Elf_Addr)(def->st_value + rela->r_addend
  			    - TLS_DTV_OFFSET);
  			rdbg(("DTPREL32 %s in %s --> %p in %s",
 @@ -153,7 +150,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPREL32):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(def->st_value + rela->r_addend
 diff --git a/libexec/ld.elf_so/arch/mips/mips_reloc.c b/libexec/ld.elf_so/a=
 rch/mips/mips_reloc.c
 index 9cd5de7cab51..9a15c25e9a2e 100644
 --- a/libexec/ld.elf_so/arch/mips/mips_reloc.c
 +++ b/libexec/ld.elf_so/arch/mips/mips_reloc.c
 @@ -429,9 +429,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			Elf_Addr old =3D load_ptr(where, ELFSIZE / 8);
  			Elf_Addr val =3D old;
 =20
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 -				return -1;
 -
  			val +=3D (Elf_Addr)def->st_value - TLS_DTV_OFFSET;
  			store_ptr(where, val, ELFSIZE / 8);
 =20
 @@ -450,7 +447,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			Elf_Addr old =3D load_ptr(where, ELFSIZE / 8);
  			Elf_Addr val =3D old;
 =20
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			val +=3D (Elf_Addr)(def->st_value + defobj->tlsoffset
 diff --git a/libexec/ld.elf_so/arch/or1k/mdreloc.c b/libexec/ld.elf_so/arch=
 /or1k/mdreloc.c
 index 78fd17293789..e17e58b1c18e 100644
 --- a/libexec/ld.elf_so/arch/or1k/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/or1k/mdreloc.c
 @@ -171,9 +171,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_DTPOFF):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 -				return -1;
 -
  			*where =3D (Elf_Addr)(def->st_value + rela->r_addend
  			    - TLS_DTV_OFFSET);
  			rdbg(("DTPOFF %s in %s --> %p in %s",
 @@ -182,7 +179,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPOFF):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(def->st_value + rela->r_addend
 diff --git a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c b/libexec/ld.elf_so=
 /arch/powerpc/ppc_reloc.c
 index 37ca160e6195..076572df2bb9 100644
 --- a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
 +++ b/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
 @@ -321,7 +321,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TPREL):
 -			if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(def->st_value + rela->r_addend
 diff --git a/libexec/ld.elf_so/arch/riscv/mdreloc.c b/libexec/ld.elf_so/arc=
 h/riscv/mdreloc.c
 index 05cc4b81906a..62ede46f102b 100644
 --- a/libexec/ld.elf_so/arch/riscv/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/riscv/mdreloc.c
 @@ -203,8 +203,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  		    }
 =20
  		case R_TYPESZ(TLS_TPREL):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)(def->st_value + defobj->tlsoffset +
 diff --git a/libexec/ld.elf_so/arch/sh3/mdreloc.c b/libexec/ld.elf_so/arch/=
 sh3/mdreloc.c
 index 949bd02a88a9..99732d89fcaf 100644
 --- a/libexec/ld.elf_so/arch/sh3/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/sh3/mdreloc.c
 @@ -173,8 +173,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  			break;
 =20
  		case R_TYPE(TLS_TPOFF32):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where =3D (Elf_Addr)def->st_value +
 diff --git a/libexec/ld.elf_so/arch/sparc/mdreloc.c b/libexec/ld.elf_so/arc=
 h/sparc/mdreloc.c
 index 526c0dfa1d99..17358ef91e5f 100644
 --- a/libexec/ld.elf_so/arch/sparc/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/sparc/mdreloc.c
 @@ -282,8 +282,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  				break;
 =20
  			case R_TYPE(TLS_TPOFF32):
 -				if (!defobj->tls_done &&
 -					_rtld_tls_offset_allocate(obj))
 +				if (defobj->tls_done !=3D 1 &&
 +				    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  					     return -1;
 =20
  				*where =3D (Elf_Addr)(def->st_value -
 diff --git a/libexec/ld.elf_so/arch/sparc64/mdreloc.c b/libexec/ld.elf_so/a=
 rch/sparc64/mdreloc.c
 index e3ea5a8808e3..39591f2be248 100644
 --- a/libexec/ld.elf_so/arch/sparc64/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/sparc64/mdreloc.c
 @@ -383,9 +383,9 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
  				break;
 =20
  			case R_TYPE(TLS_TPOFF64):
 -				if (!defobj->tls_done &&
 -					_rtld_tls_offset_allocate(obj))
 -					     return -1;
 +				if (defobj->tls_done !=3D 1 &&
 +				    _rtld_tls_offset_allocate(__UNCONST(defobj)))
 +					return -1;
 =20
  				*where =3D (Elf64_Addr)(def->st_value -
  				    defobj->tlsoffset + rela->r_addend);
 diff --git a/libexec/ld.elf_so/arch/x86_64/mdreloc.c b/libexec/ld.elf_so/ar=
 ch/x86_64/mdreloc.c
 index a04c05ea0aa7..a1277f001a6f 100644
 --- a/libexec/ld.elf_so/arch/x86_64/mdreloc.c
 +++ b/libexec/ld.elf_so/arch/x86_64/mdreloc.c
 @@ -226,8 +226,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
         			break;
 =20
  		case R_TYPE(TPOFF64):
 -			if (!defobj->tls_done &&
 -			    _rtld_tls_offset_allocate(obj))
 +			if (defobj->tls_done !=3D 1 &&
 +			    _rtld_tls_offset_allocate(__UNCONST(defobj)))
  				return -1;
 =20
  			*where64 =3D (Elf64_Addr)(def->st_value -
 diff --git a/libexec/ld.elf_so/rtld.h b/libexec/ld.elf_so/rtld.h
 index 0330ea964312..1f4310069657 100644
 --- a/libexec/ld.elf_so/rtld.h
 +++ b/libexec/ld.elf_so/rtld.h
 @@ -483,7 +483,6 @@ _rtld_fetch_ventry(const Obj_Entry *obj, unsigned long =
 symnum)
  /* tls.c */
  void *_rtld_tls_get_addr(void *, size_t, size_t);
  void _rtld_tls_initial_allocation(void);
 -void *_rtld_tls_module_allocate(size_t index);
  int _rtld_tls_offset_allocate(Obj_Entry *);
  void _rtld_tls_offset_free(Obj_Entry *);
 =20
 diff --git a/libexec/ld.elf_so/tls.c b/libexec/ld.elf_so/tls.c
 index 01d5c9f9b6d6..8c75ca4c2648 100644
 --- a/libexec/ld.elf_so/tls.c
 +++ b/libexec/ld.elf_so/tls.c
 @@ -43,6 +43,7 @@ __RCSID("$NetBSD: tls.c,v 1.17 2023/06/01 08:20:10 riastr=
 adh Exp $");
  #if defined(__HAVE_TLS_VARIANT_I) || defined(__HAVE_TLS_VARIANT_II)
 =20
  static struct tls_tcb *_rtld_tls_allocate_locked(void);
 +static void *_rtld_tls_module_allocate(struct tls_tcb *, size_t);
 =20
  #ifndef TLS_DTV_OFFSET
  #define	TLS_DTV_OFFSET	0
 @@ -84,7 +85,7 @@ _rtld_tls_get_addr(void *tls, size_t idx, size_t offset)
  	}
 =20
  	if (__predict_false(dtv[idx] =3D=3D NULL))
 -		dtv[idx] =3D _rtld_tls_module_allocate(idx);
 +		dtv[idx] =3D _rtld_tls_module_allocate(tcb, idx);
 =20
  	_rtld_exclusive_exit(&mask);
 =20
 @@ -136,7 +137,7 @@ _rtld_tls_allocate_locked(void)
  	SET_DTV_GENERATION(tcb->tcb_dtv, _rtld_tls_dtv_generation);
 =20
  	for (obj =3D _rtld_objlist; obj !=3D NULL; obj =3D obj->next) {
 -		if (obj->tls_done) {
 +		if (obj->tls_done =3D=3D 1) {
  #ifdef __HAVE_TLS_VARIANT_I
  			q =3D p + obj->tlsoffset;
  #else
 @@ -195,8 +196,8 @@ _rtld_tls_free(struct tls_tcb *tcb)
  	_rtld_exclusive_exit(&mask);
  }
 =20
 -void *
 -_rtld_tls_module_allocate(size_t idx)
 +static void *
 +_rtld_tls_module_allocate(struct tls_tcb *tcb, size_t idx)
  {
  	Obj_Entry *obj;
  	uint8_t *p;
 @@ -209,6 +210,14 @@ _rtld_tls_module_allocate(size_t idx)
  		_rtld_error("Module for TLS index %zu missing", idx);
  		_rtld_die();
  	}
 +	if (obj->tls_done =3D=3D 1) {
 +#ifdef __HAVE_TLS_VARIANT_I
 +		p =3D (uint8_t *)tcb + obj->tlsoffset;
 +#else
 +		p =3D (uint8_t *)tcb - obj->tlsoffset;
 +#endif
 +		return p;
 +	}
 =20
  	p =3D xmalloc(obj->tlssize);
  	memcpy(p, obj->tlsinit, obj->tlsinitsize);
 @@ -222,6 +231,9 @@ _rtld_tls_offset_allocate(Obj_Entry *obj)
  {
  	size_t offset, next_offset;
 =20
 +	if (obj->tls_done =3D=3D 2)
 +		return -1;
 +
  	if (obj->tls_done)
  		return 0;
  	if (obj->tlssize =3D=3D 0) {
 diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
 index e14fec7e30be..33402e0a3ea8 100644
 --- a/sys/dev/usb/usb_subr.c
 +++ b/sys/dev/usb/usb_subr.c
 @@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
  msg)
  	return USBD_INVAL;
  }
 =20
 +#include <ddb/ddb.h>
  usbd_status
  usbd_set_config_index(struct usbd_device *dev, int index, int msg)
  {
 @@ -691,6 +692,9 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  	usbd_status err;
  	int i, ifcidx, nifc, len, selfpowered, power;
 =20
 +	printf("%s: addr %u index %d msg %d\n", __func__,
 +	    dev->ud_addr, index, msg);
 +	db_stacktrace();
 =20
  	if (index >=3D dev->ud_ddesc.bNumConfigurations &&
  	    index !=3D USB_UNCONFIG_INDEX) {
 @@ -867,7 +871,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  		goto bad;
  	}
 =20
 -	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
 +//	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
 );
 =20
  	/* Allocate and fill interface data. */
  	nifc =3D cdp->bNumInterface;

 --=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG--

From: bsdprg@tuta.io
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
 up
Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)

 HI Taylor,

 Thanks for the patch. Unfortunately, I am not able to apply the patch.=C2=
 =A0
 I have the NetBSD-current development branch checked out from cvs in /usr/s=
 rc

 $ patch < /home/salil/Downloads/usbhack-v2.patch
 Hmm...=C2=A0 Looks like a unified diff to me...
 The text leading up to this was:
 --------------------------
 |diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_so/=
 arch/aarch64/mdreloc.c
 |index 64335181bfe6..f656a08e2866 100644
 |--- a/libexec/ld.elf_so/arch/aarch64/mdreloc.c
 |+++ b/libexec/ld.elf_so/arch/aarch64/mdreloc.c
 --------------------------
 File to patch: libexec/ld.elf_so/arch/aarch64/mdreloc.c
 Patching file libexec/ld.elf_so/arch/aarch64/mdreloc.c using Plan A...
 Hunk #1 failed at 299.
 1 out of 1 hunks failed--saving rejects to libexec/ld.elf_so/arch/aarch64/m=
 dreloc.c.rej


 Sorry, I am new to this.

 Best,
 Salil


 Jun 2, 2023, 02:46 by riastradh@NetBSD.org:

 >> Date: Fri, 2 Jun 2023 09:35:47 +0000
 >> From: Taylor R Campbell <riastradh@NetBSD.org>
 >>
 >> Can you please run with the attached patch and share dmesg once the
 >> machine boots?
 >>
 >
 > Sorry, hit send before I verified it would compile -- try this one
 > instead.
 >

From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
	up
Date: Fri, 2 Jun 2023 13:50:15 +0000

 This is a multi-part message in MIME format.
 --=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT
 Content-Transfer-Encoding: quoted-printable

 > Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)
 > From: bsdprg@tuta.io
 >=20
 > HI Taylor,
 >=20
 > Thanks for the patch. Unfortunately, I am not able to apply the patch.=C2=
 =A0
 > I have the NetBSD-current development branch checked out from cvs in /usr=
 /src
 >=20
 > $ patch < /home/salil/Downloads/usbhack-v2.patch
 > Hmm... Looks like a unified diff to me...
 > The text leading up to this was:
 > --------------------------
 > |diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_s=
 o/arch/aarch64/mdreloc.c

 Oops -- sorry, I inadvertently mixed another local change into the
 patch.  New patch attached.

 --=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT
 Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack-v3"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="usbhack-v3.patch"

 diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
 index e14fec7e30be..33402e0a3ea8 100644
 --- a/sys/dev/usb/usb_subr.c
 +++ b/sys/dev/usb/usb_subr.c
 @@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
  msg)
  	return USBD_INVAL;
  }
 =20
 +#include <ddb/ddb.h>
  usbd_status
  usbd_set_config_index(struct usbd_device *dev, int index, int msg)
  {
 @@ -691,6 +692,9 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  	usbd_status err;
  	int i, ifcidx, nifc, len, selfpowered, power;
 =20
 +	printf("%s: addr %u index %d msg %d\n", __func__,
 +	    dev->ud_addr, index, msg);
 +	db_stacktrace();
 =20
  	if (index >=3D dev->ud_ddesc.bNumConfigurations &&
  	    index !=3D USB_UNCONFIG_INDEX) {
 @@ -867,7 +871,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
 x, int msg)
  		goto bad;
  	}
 =20
 -	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
 +//	KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
 );
 =20
  	/* Allocate and fill interface data. */
  	nifc =3D cdp->bNumInterface;

 --=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT--

From: bsdprg@tuta.io
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
	up
Date: Fri, 2 Jun 2023 16:33:52 +0200 (CEST)

 ------=_Part_446228_953307516.1685716432773
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable

 Hi Taylor,

 Thank you, For some reason, `patch < <patch location>` fails in my case in =
 `/usr/src`.
 But, since your changes are small, I manually made the modifications. I hav=
 e attached my /var/log/messages. Let me know if you need me to apply any ad=
 ditional patches to narrow down the memory leak.

 Best,
 Salil

 --=20
  Sent with Tutanota, enjoy secure & ad-free emails.=20



 Jun 2, 2023, 06:50 by riastradh@NetBSD.org:

 >> Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)
 >> From: bsdprg@tuta.io
 >>
 >> HI Taylor,
 >>
 >> Thanks for the patch. Unfortunately, I am not able to apply the patch.=
 =C3=82=C2=A0
 >> I have the NetBSD-current development branch checked out from cvs in /us=
 r/src
 >>
 >> $ patch < /home/salil/Downloads/usbhack-v2.patch
 >> Hmm... Looks like a unified diff to me...
 >> The text leading up to this was:
 >> --------------------------
 >> |diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_=
 so/arch/aarch64/mdreloc.c
 >>
 >
 > Oops -- sorry, I inadvertently mixed another local change into the
 > patch.  New patch attached.
 >


 ------=_Part_446228_953307516.1685716432773
 Content-Type: application/octet-stream; name=messages
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=messages

 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gQ29weXJpZ2h0IChj
 KSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLApKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDAwXSAgICAgMjAwNCwgMjAwNSwgMjAw
 NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gICAgIDIwMTQsIDIwMTUsIDIwMTYsIDIw
 MTcsIDIwMTgsIDIwMTksIDIwMjAsIDIwMjEsIDIwMjIsIDIwMjMKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gICAgIFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5j
 LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
 IDEuMDAwMDAwMF0gQ29weXJpZ2h0IChjKSAxOTgyLCAxOTg2LCAxOTg5LCAxOTkxLCAxOTkzCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwMDBdICAgICBUaGUgUmVnZW50
 cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
 c2Q6IFsgICAxLjAwMDAwMDBdIE5ldEJTRCAxMC45OS40IChNWUtFUk5FTCkgIzE6IEZyaSBKdW4g
 IDIgMDc6MDc6NTMgUERUIDIwMjMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDAwMDAwMF0gCXNhbGlsQGRlbGwubG9jYWxkb21haW46L3Vzci9zcmMvc3lzL2FyY2gvYW1kNjQv
 Y29tcGlsZS9NWUtFUk5FTApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAw
 MDAwXSB0b3RhbCBtZW1vcnkgPSAxNjI2NSBNQgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMDAwMDAwXSBhdmFpbCBtZW1vcnkgPSAxNTcwOCBNQgpKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDAwXSB0aW1lY291bnRlcjogVGltZWNvdW50ZXJzIHRp
 Y2sgZXZlcnkgMTAuMDAwIG1zZWMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDAwMDAwMF0gS2VybmVsaXplZCBSQUlEZnJhbWUgYWN0aXZhdGVkCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwMDBdIFs0MTFdIHBtcyogZGlzYWJsZWQKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gdGltZWNvdW50ZXI6IFRpbWVjb3Vu
 dGVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIgSHogcXVhbGl0eSAxMDAKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gZWZpOiBzeXN0YmwgYXQgcGEgN2I1MWMw
 MTgKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gbWFpbmJ1czAg
 KHJvb3QpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6
 IFJTRFAgMHgwMDAwMDAwMDdBNTExMDAwIDAwMDAyNCAodjAyIERFTEwgICkKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogWFNEVCAweDAwMDAwMDAwN0E1
 MTEwQjggMDAwMEY0ICh2MDEgREVMTCAgIENCWDMgICAgIDAxMDcyMDA5IEFNSSAgMDAwMTAwMTMp
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IEZBQ1Ag
 MHgwMDAwMDAwMDdBNTM3MzA4IDAwMDEwQyAodjA1IERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBB
 TUkgIDAwMDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQw
 XSBBQ1BJOiBEU0RUIDB4MDAwMDAwMDA3QTUxMTI0MCAwMjYwQzggKHYwMiBERUxMICAgQ0JYMyAg
 ICAgMDEwNzIwMDkgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDAwMDA0MF0gQUNQSTogRkFDUyAweDAwMDAwMDAwN0FFNTJFODAgMDAwMDQwCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IEFQSUMgMHgwMDAw
 MDAwMDdBNTM3NDE4IDAwMDA4NCAodjAzIERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBBTUkgIDAw
 MDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJ
 OiBGUERUIDB4MDAwMDAwMDA3QTUzNzRBMCAwMDAwNDQgKHYwMSBERUxMICAgQ0JYMyAgICAgMDEw
 NzIwMDkgQU1JICAwMDAxMDAxMykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDAwMDA0MF0gQUNQSTogRklEVCAweDAwMDAwMDAwN0E1Mzc0RTggMDAwMEFDICh2MDEgREVMTCAg
 IENCWDMgICAgIDAxMDcyMDA5IEFNSSAgMDAwMTAwMTMpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IE1DRkcgMHgwMDAwMDAwMDdBNTM3NTk4IDAwMDAz
 QyAodjAxIERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBNU0ZUIDAwMDAwMDk3KQpKdW4gIDIgMDc6
 MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDA3
 QTUzNzVEOCAwMDAwMzggKHYwMSBERUxMICAgQ0JYMyAgICAgMDEwNzIwMDkgQU1JLiAwMDA1MDAw
 QikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogU1NE
 VCAweDAwMDAwMDAwN0E1Mzc2MTAgMDAwMzU5ICh2MDEgU2F0YVJlIFNhdGFUYWJsIDAwMDAxMDAw
 IElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAw
 NDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTM3OTcwIDAwMTJGRSAodjAyIFNhU3NkdCBTYVNz
 ZHQgICAwMDAwMzAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDA3QTUzOEM3MCAwMDAwMzggKHYw
 MSBJTlRFTCAgU0tMLVVMVCAgMDAwMDAwMDEgTVNGVCAwMDAwMDA1RikKSnVuICAyIDA3OjI1OjI0
 IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogU1NEVCAweDAwMDAwMDAwN0E1MzhD
 QTggMDAwRUJFICh2MDIgSU5URUwgIHhoX09FTUJEIDAwMDAwMDAwIElOVEwgMjAxNjA0MjIpCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFVFRkkgMHgw
 MDAwMDAwMDdBNTM5QjY4IDAwMDA0MiAodjAxICAgICAgICAgICAgICAgICAwMDAwMDAwMCAgICAg
 IDAwMDAwMDAwKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBB
 Q1BJOiBTU0RUIDB4MDAwMDAwMDA3QTUzOUJCMCAwMDBFREUgKHYwMiBDcHVSZWYgQ3B1U3NkdCAg
 MDAwMDMwMDAgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
 IDEuMDAwMDA0MF0gQUNQSTogTFBJVCAweDAwMDAwMDAwN0E1M0FBOTAgMDAwMDk0ICh2MDEgSU5U
 RUwgIFNLTC1VTFQgIDAwMDAwMDAwIE1TRlQgMDAwMDAwNUYpCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTNBQjI4IDAw
 MDE0MSAodjAyIElOVEVMICBIZGFEc3AgICAwMDAwMDAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBTU0RUIDB4MDAwMDAw
 MDA3QTUzQUM3MCAwMDAyOUYgKHYwMiBJTlRFTCAgc2Vuc3JodWIgMDAwMDAwMDAgSU5UTCAyMDE2
 MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTog
 U1NEVCAweDAwMDAwMDAwN0E1M0FGMTAgMDAzMDAyICh2MDIgSU5URUwgIFB0aWREZXZjIDAwMDAx
 MDAwIElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAw
 MDAwNDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTNERjE4IDAwMDUxNyAodjAyIElOVEVMICBU
 YnRUeXBlQyAwMDAwMDAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBEQkdQIDB4MDAwMDAwMDA3QTUzRTQzMCAwMDAwMzQg
 KHYwMSBJTlRFTCAgICAgICAgICAgMDAwMDAwMDIgTVNGVCAwMDAwMDA1RikKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogREJHMiAweDAwMDAwMDAwN0E1
 M0U0NjggMDAwMDU0ICh2MDAgSU5URUwgICAgICAgICAgIDAwMDAwMDAyIE1TRlQgMDAwMDAwNUYp
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQg
 MHgwMDAwMDAwMDdBNTNFNEMwIDAwNTEzNiAodjAyIERwdGZUYSBEcHRmVGFibCAwMDAwMTAwMCBJ
 TlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQw
 XSBBQ1BJOiBNU0RNIDB4MDAwMDAwMDA3QTU0MzVGOCAwMDAwNTUgKHYwMyBERUxMICAgQ0JYMyAg
 ICAgMDYyMjIwMDQgQU1JICAwMDAxMDAxMykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDAwMDA0MF0gQUNQSTogU0xJQyAweDAwMDAwMDAwN0E1NDM2NTAgMDAwMTc2ICh2MDMg
 REVMTCAgIENCWDMgICAgIDAxMDcyMDA5IE1TRlQgMDAwMTAwMTMpCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFRDUEEgMHgwMDAwMDAwMDdBNTQzN0M4
 IDAwMDAzMiAodjAyIEFMQVNLQSBOQVBBQVNGICAwMDAwMDAwMCBNU0ZUIDAxMDAwMDEzKQpKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBETUFSIDB4MDAw
 MDAwMDA3QTU0MzgwMCAwMDAxMTQgKHYwMSBJTlRFTCAgU0tMICAgICAgMDAwMDAwMDEgSU5UTCAw
 MDAwMDAwMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQ
 STogQVNGISAweDAwMDAwMDAwN0E1NDM5MTggMDAwMEEwICh2MzIgSU5URUwgICBIQ0cgICAgIDAw
 MDAwMDAxIFRGU00gMDAwRjQyNDApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAwMDAwNDBdIEFDUEk6IEJHUlQgMHgwMDAwMDAwMDdBNTQzOUI4IDAwMDAzOCAodjAwID8/ICAg
 ICAgICAgICAgICAwMTA3MjAwOSBBTUkgIDAwMDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAv
 bmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiAxMCBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1
 bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
 IDEuMDAwMDA0MF0gaW9hcGljMCBhdCBtYWluYnVzMCBhcGlkIDI6IHBhIDB4ZmVjMDAwMDAsIHZl
 cnNpb24gMHgyMCwgMTIwIHBpbnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDAwMDA0MF0gY3B1MCBhdCBtYWluYnVzMCBhcGlkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MDogVXNlIGxmZW5jZSB0byBzZXJpYWxpemUgcmR0c2MK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MDogQ1BVIGJh
 c2UgZnJlcSAyODAwMDAwMDAwIEh6Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAwMDAwNDBdIGNwdTA6IENQVSBtYXggZnJlcSAzNDAwMDAwMDAwIEh6Ckp1biAgMiAwNzoyNToy
 NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNwdTA6IFRTQyBmcmVxIENQVUlEIDI4MDgw
 MDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1
 MDogSW50ZWwoUikgQ29yZShUTSkgaTctNjYwMFUgQ1BVIEAgMi42MEdIeiwgaWQgMHg0MDZlMwpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBjcHUwOiBub2RlIDAs
 IHBhY2thZ2UgMCwgY29yZSAwLCBzbXQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgMS4wMDAwMDQwXSBjcHUxIGF0IG1haW5idXMwIGFwaWQgMgpKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBjcHUxOiBJbnRlbChSKSBDb3JlKFRNKSBpNy02NjAw
 VSBDUFUgQCAyLjYwR0h6LCBpZCAweDQwNmUzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAwMDAwNDBdIGNwdTE6IG5vZGUgMCwgcGFja2FnZSAwLCBjb3JlIDEsIHNtdCAwCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNwdTIgYXQgbWFpbmJ1
 czAgYXBpZCAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNw
 dTI6IEludGVsKFIpIENvcmUoVE0pIGk3LTY2MDBVIENQVSBAIDIuNjBHSHosIGlkIDB4NDA2ZTMK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1Mjogbm9kZSAw
 LCBwYWNrYWdlIDAsIGNvcmUgMCwgc210IDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDAwMDA0MF0gY3B1MyBhdCBtYWluYnVzMCBhcGlkIDMKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MzogSW50ZWwoUikgQ29yZShUTSkgaTctNjYw
 MFUgQ1BVIEAgMi42MEdIeiwgaWQgMHg0MDZlMwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMDAwMDQwXSBjcHUzOiBub2RlIDAsIHBhY2thZ2UgMCwgY29yZSAxLCBzbXQgMQpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBhY3BpMCBhdCBtYWlu
 YnVzMDogSW50ZWwgQUNQSUNBIDIwMjIxMDIwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAwMDAwNDBdIGFjcGkwOiBYL1JTRFQ6IE9lbUlkIDxERUxMICAsIENCWDMgICAsMDEw
 NzIwMDk+LCBBc2xJZCA8QU1JICwwMDAxMDAxMz4KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IE1DRkc6IHNlZ21lbnQgMCwgYnVzIDAtMTI3LCBhZGRy
 ZXNzIDB4MDAwMDAwMDBmMDAwMDAwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
 MS4wMDAwMDQwXSBBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2FkOgpKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBTU0RUIDB4RkZGRjhCQjAxQjczQTgw
 OCAwMDAzRkYgKHYwMiBQbVJlZiAgQ3B1MENzdCAgMDAwMDMwMDEgSU5UTCAyMDE2MDQyMikKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogRHluYW1pYyBP
 RU0gVGFibGUgTG9hZDoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0
 MF0gQUNQSTogU1NEVCAweEZGRkY4QkIwMUI3MkQ4MDggMDAwNkQ1ICh2MDIgUG1SZWYgIENwdTBJ
 c3QgIDAwMDAzMDAwIElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAwMDAwNDBdIEFDUEk6IER5bmFtaWMgT0VNIFRhYmxlIExvYWQ6Ckp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQgMHhGRkZGOEJCMDFC
 NzJGODA4IDAwMDY1QyAodjAyIFBtUmVmICBBcElzdCAgICAwMDAwMzAwMCBJTlRMIDIwMTYwNDIy
 KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBEeW5h
 bWljIE9FTSBUYWJsZSBMb2FkOgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MDAwMDQwXSBBQ1BJOiBTU0RUIDB4RkZGRjhCQjM3NjJBOTQwOCAwMDAxOEEgKHYwMiBQbVJlZiAg
 QXBDc3QgICAgMDAwMDMwMDAgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IFNDSSBpbnRlcnJ1cHRpbmcgYXQgaW50IDkKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IGZpeGVkIHBv
 d2VyIGJ1dHRvbiBwcmVzZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAw
 MDAwNDBdIHRpbWVjb3VudGVyOiBUaW1lY291bnRlciAiQUNQSS1TYWZlIiBmcmVxdWVuY3kgMzU3
 OTU0NSBIeiBxdWFsaXR5IDkwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzI4MTQ2XSBocGV0MCBhdCBhY3BpMDogaGlnaCBwcmVjaXNpb24gZXZlbnQgdGltZXIgKG1lbSAw
 eGZlZDAwMDAwLTB4ZmVkMDA0MDApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAzMjgxNDZdIHRpbWVjb3VudGVyOiBUaW1lY291bnRlciAiaHBldDAiIGZyZXF1ZW5jeSAyNDAw
 MDAwMCBIeiBxdWFsaXR5IDIwMDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDMzNDczOV0gYWNwaWVjMCBhdCBhY3BpMCAoRUNEViwgUE5QMEMwOS0wKTogaW8gMHg5MzAsMHg5
 MzQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWVjMSBh
 dCBhY3BpMCAoSF9FQywgUE5QMEMwOS0xKTogdXNpbmcgYWNwaWVjMApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMCBhdCBhY3BpMCAoR0ZYMCk6IEFD
 UEkgRGlzcGxheSBBZGFwdGVyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
 MzQ3MzldIGFjcGlvdXQwIGF0IGFjcGl2Z2EwIChDUlQsIDB4MDEwMCk6IEFDUEkgRGlzcGxheSBP
 dXRwdXQgRGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
 IGFjcGlvdXQxIGF0IGFjcGl2Z2EwIChMQ0QsIDB4MDQwMCk6IEFDUEkgRGlzcGxheSBPdXRwdXQg
 RGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlv
 dXQxOiBicmlnaHRuZXNzIGxldmVsczogWzUtMzgsNDAtNDMsNDUtNDcsNDktNTAsNTItNTMsNTUs
 NTcsNTktNjAsNjIsNjQsNjYsNjgsNzAsNzIsNzQsNzcsNzktODEsODQsODYsODksOTIsOTUsOTcs
 MTAwXQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpb3V0
 MiBhdCBhY3BpdmdhMCAoRFZJLCAweDAzMDIpOiBBQ1BJIERpc3BsYXkgT3V0cHV0IERldmljZQpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpb3V0MyBhdCBh
 Y3BpdmdhMCAoRFZJMiwgMHgwMzAzKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAy
 IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDQgYXQgYWNwaXZn
 YTAgKERWSTMsIDB4MDMwNCk6IEFDUEkgRGlzcGxheSBPdXRwdXQgRGV2aWNlCkp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlvdXQ1IGF0IGFjcGl2Z2EwIChE
 UCwgMHgwMzAwKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDYgYXQgYWNwaXZnYTAgKERQMiwgMHgw
 MzAxKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDcgYXQgYWNwaXZnYTAgKERQMywgMHgwMzA1KTog
 QUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDMzNDczOV0gYWNwaW91dDggYXQgYWNwaXZnYTAgKFNLQzAsIDB4Y2EwMCk6IEFDUEkg
 RGlzcGxheSBPdXRwdXQgRGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAzMzQ3MzldIGFjcGl2Z2EwOiBjb25uZWN0ZWQgb3V0cHV0IGRldmljZXM6Ckp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl2Z2EwOiAgIDB4MDEwMCAoYWNw
 aW91dDApOiBFeHQuIE1vbml0b3IsIGhlYWQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMDogICAweDA0MDAgKGFjcGlvdXQxKTogVW5rbm93biBP
 dXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDMzNDczOV0gYWNwaXZnYTA6ICAgMHgwMzAyIChhY3Bpb3V0Mik6IFVua25vd24gT3V0cHV0IERl
 dmljZSwgaGVhZCAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
 IGFjcGl2Z2EwOiAgIDB4MDMwMyAoYWNwaW91dDMpOiBVbmtub3duIE91dHB1dCBEZXZpY2UsIGhl
 YWQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpdmdh
 MDogICAweDAzMDAgKGFjcGlvdXQ1KTogVW5rbm93biBPdXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaXZnYTA6ICAgMHgw
 MzAxIChhY3Bpb3V0Nik6IFVua25vd24gT3V0cHV0IERldmljZSwgaGVhZCAwCkp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl2Z2EwOiAgIDB4MDMwNCAoYWNw
 aW91dDQpOiBVbmtub3duIE91dHB1dCBEZXZpY2UsIGhlYWQgMApKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMDogICAweDAzMDUgKGFjcGlvdXQ3KTog
 VW5rbm93biBPdXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDEuMDMzNDczOV0gRldIRCAoSU5UMDgwMCkgYXQgYWNwaTAgbm90IGNvbmZpZ3VyZWQK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYXR0aW1lcjEgYXQg
 YWNwaTAgKFRJTVIsIFBOUDAxMDApOiBpbyAweDQwLTB4NDMsMHg1MC0weDUzIGlycSAwCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIFRTS04gKElOVDM0MDMpIGF0
 IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAzMzQ3MzldIE5HRkYgKElOVDM0MDMpIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBja2JjMSBhdCBhY3BpMCAoUFMy
 SywgRExMSzA3QTApIChrYmQgcG9ydCk6IGlvIDB4NjAsMHg2NCBpcnEgMQpKdW4gIDIgMDc6MjU6
 MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBUUEQxIChETEwwN0EwKSBhdCBhY3BpMCBu
 b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
 XSBJMkM0IChJTlQzNDQ2KSBhdCBhY3BpMCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBUTUVNIChJTlQzNDAzKSBhdCBhY3BpMCBub3Qg
 Y29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBh
 Y3Bpd21pMCBhdCBhY3BpMCAoV1RCVCwgUE5QMEMxNC1UQkZQKTogQUNQSSBXTUkgSW50ZXJmYWNl
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl3bWlidXMg
 YXQgYWNwaXdtaTAgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDMzNDczOV0gUEVQRCAoSU5UMzNBMSkgYXQgYWNwaTAgbm90IGNvbmZpZ3VyZWQKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gdHBtMCBhdCBhY3BpMCAo
 VFBNLCBQTlAwQzMxLTEpOiBtZW0gMHhmZWQ0MDAwMC0weGZlZDQ0ZmZmCkp1biAgMiAwNzoyNToy
 NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHRwbTA6IGRldmljZSAweDAwZmUxMDUwIHJl
 diAweDQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaXdt
 aTEgYXQgYWNwaTAgKEFNVzAsIFBOUDBDMTQtMCk6IEFDUEkgV01JIEludGVyZmFjZQpKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3bWlkZWxsMCBhdCBhY3Bpd21p
 MTogRGVsbCBXTUkgbWFwcGluZ3MgdmVyc2lvbiAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
 c2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlsaWQwIGF0IGFjcGkwIChMSUQwLCBQTlAwQzBEKTogQUNQ
 SSBMaWQgU3dpdGNoCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
 IGFjcGlidXQwIGF0IGFjcGkwIChQQlROLCBQTlAwQzBDKTogQUNQSSBQb3dlciBCdXR0b24KSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWJ1dDEgYXQgYWNw
 aTAgKFNCVE4sIFBOUDBDMEUpOiBBQ1BJIFNsZWVwIEJ1dHRvbgpKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpYWNhZDAgYXQgYWNwaTAgKEFDLCBBQ1BJMDAw
 Myk6IEFDUEkgQUMgQWRhcHRlcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzM0NzM5XSBhY3BpYmF0MCBhdCBhY3BpMCAoQkFUMCwgUE5QMEMwQS0xKTogQUNQSSBCYXR0ZXJ5
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEhJREQgKElOVDMz
 RDUpIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAzMzQ3MzldIElFVE0gKElOVDM0MDApIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl0ejAgYXQgYWNw
 aTAgKFRITSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNw
 aXR6MDogbGV2ZWxzOiBjcml0aWNhbCAxMDcuMCBDLCBwYXNzaXZlIGNvb2xpbmcKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gQUNQSTogRW5hYmxlZCA1IEdQRXMg
 aW4gYmxvY2sgMDAgdG8gN0YKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
 NDczOV0gcGNrYmQwIGF0IHBja2JjMSAoa2JkIHNsb3QpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBja2JjMTogdXNpbmcgaXJxIDEgZm9yIGtiZCBzbG90Ckp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdza2JkMCBhdCBwY2ti
 ZDA6IGNvbnNvbGUga2V5Ym9hcmQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDMzNDczOV0gcGNpMCBhdCBtYWluYnVzMCBidXMgMDogY29uZmlndXJhdGlvbiBtb2RlIDEKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcGNpMDogaS9vIHNwYWNl
 LCBtZW1vcnkgc3BhY2UgZW5hYmxlZCwgcmQvbGluZSwgcmQvbXVsdCwgd3IvaW52IG9rCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBjaGIwIGF0IHBjaTAgZGV2
 IDAgZnVuY3Rpb24gMDogSW50ZWwgQ29yZSA2RyBIb3N0IGFuZCBEUkFNIChVKSAocmV2LiAweDA4
 KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpOTE1ZHJta21z
 MCBhdCBwY2kwIGRldiAyIGZ1bmN0aW9uIDA6IEludGVsIEhEIEdyYXBoaWNzIDUyMCAoR1QyKSAo
 cmV2LiAweDA3KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBJ
 bnRlbCBDb3JlIDZHIFRoZXJtYWwgKG1pc2NlbGxhbmVvdXMgREFTUCwgcmV2aXNpb24gMHgwOCkg
 YXQgcGNpMCBkZXYgNCBmdW5jdGlvbiAwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHhoY2kwIGF0IHBjaTAgZGV2IDIwIGZ1bmN0aW9u
 IDA6IEludGVsIDEwMCBTZXJpZXMgeEhDSSAocmV2LiAweDIxKQpKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB4aGNpMDogNjQtYml0IERNQQpKdW4gIDIgMDc6MjU6
 MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB4aGNpMDogaW50ZXJydXB0aW5nIGF0IG1z
 aTAgdmVjIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0geGhj
 aTA6IHhIQ0kgdmVyc2lvbiAxLjAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDMzNDczOV0gdXNiMCBhdCB4aGNpMDogVVNCIHJldmlzaW9uIDMuMApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB1c2IxIGF0IHhoY2kwOiBVU0IgcmV2aXNpb24g
 Mi4wCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEludGVsIDEw
 MCBTZXJpZXMgVGhlcm1hbCAobWlzY2VsbGFuZW91cyBEQVNQLCByZXZpc2lvbiAweDIxKSBhdCBw
 Y2kwIGRldiAyMCBmdW5jdGlvbiAyIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3aWljMCBhdCBwY2kwIGRldiAyMSBmdW5jdGlvbiAw
 OiBJMkMgY29udHJvbGxlciBpbnN0YW5jZSAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAzMzQ3MzldIGR3aWljMDogaW50ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE2Ckp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlpYzAgYXQgZHdpaWMw
 OiBJMkMgYnVzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3
 aWljMSBhdCBwY2kwIGRldiAyMSBmdW5jdGlvbiAxOiBJMkMgY29udHJvbGxlciBpbnN0YW5jZSAx
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3aWljMTogaW50
 ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE3Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAzMzQ3MzldIGlpYzEgYXQgZHdpaWMxOiBJMkMgYnVzCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGloaWRldjAgYXQgaWljMSBhZGRyIDB4MmM6IHZl
 bmRvciAweDQ0ZSBwcm9kdWN0IDB4MTIwYiwgVFBEMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMzM0NzM5XSBpaGlkZXYwOiA3IHJlcG9ydCBpZHMKSnVuICAyIDA3OjI1OjI0
 IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaWhpZGV2MDogaW50ZXJydXB0aW5nIGF0IGly
 cSA1MQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpbXMwIGF0
 IGloaWRldjAgcmVwb3J0aWQgMTogMyBidXR0b25zLCBXIGFuZCBaIGRpcnMKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gd3Ntb3VzZTAgYXQgaW1zMCBtdXggMApK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoaWQgYXQgaWhpZGV2
 MCByZXBvcnRpZCAyIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAzMzQ3MzldIGhpZCBhdCBpaGlkZXYwIHJlcG9ydGlkIDMgbm90IGNvbmZpZ3VyZWQK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaGlkIGF0IGloaWRl
 djAgcmVwb3J0aWQgNCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMzM0NzM5XSBoaWQgYXQgaWhpZGV2MCByZXBvcnRpZCA1IG5vdCBjb25maWd1cmVk
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhpZCBhdCBpaGlk
 ZXYwIHJlcG9ydGlkIDYgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDEuMDMzNDczOV0gaGlkIGF0IGloaWRldjAgcmVwb3J0aWQgNyBub3QgY29uZmlndXJl
 ZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBkd2lpYzIgYXQg
 cGNpMCBkZXYgMjEgZnVuY3Rpb24gMjogSTJDIGNvbnRyb2xsZXIgaW5zdGFuY2UgMgpKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBkd2lpYzI6IGludGVycnVwdGlu
 ZyBhdCBpb2FwaWMwIHBpbiAxOApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzM0NzM5XSBpaWMyIGF0IGR3aWljMjogSTJDIGJ1cwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMzM0NzM5XSBJbnRlbCAxMDAgU2VyaWVzIE1FSSAobWlzY2VsbGFuZW91cyBj
 b21tdW5pY2F0aW9ucywgcmV2aXNpb24gMHgyMSkgYXQgcGNpMCBkZXYgMjIgZnVuY3Rpb24gMCBu
 b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
 XSBwdWMwIGF0IHBjaTAgZGV2IDIyIGZ1bmN0aW9uIDM6IEludGVsIDEwMCBTZXJpZXMgTFAgS1Qg
 KGNvbSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gY29tMiBh
 dCBwdWMwIHBvcnQgMCAoMTY1NTAtY29tcGF0aWJsZSk6IGlvYWRkciAweGYwYTAsIGludGVycnVw
 dGluZyBhdCBpb2FwaWMwIHBpbiAxOQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
 MS4wMzM0NzM5XSBjb20yOiBuczE2NTUwYSwgMTYtYnl0ZSBGSUZPCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFoY2lzYXRhMCBhdCBwY2kwIGRldiAyMyBmdW5j
 dGlvbiAwOiBJbnRlbCAxMDAgU2VyaWVzIFNBVEEgKEFIQ0kpIChyZXYuIDB4MjEpCkp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFoY2lzYXRhMDogNjQtYml0IERN
 QQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhaGNpc2F0YTA6
 IEFIQ0kgcmV2aXNpb24gMS4zMSwgMSBwb3J0LCAzMiBzbG90cywgQ0FQIDB4YzczNGZmMDA8UFND
 LFNTQyxQTUQsU0FNLElTUz0weDM9R2VuMyxTQ0xPLFNBTCxTQUxQLFNOQ1EsUzY0QT4KSnVuICAy
 IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWhjaXNhdGEwOiBpbnRlcnJ1
 cHRpbmcgYXQgbXNpMSB2ZWMgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzM0NzM5XSBhdGFidXMwIGF0IGFoY2lzYXRhMCBjaGFubmVsIDIKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMCBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiAw
 OiBJbnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJldi4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMDogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJz
 aW9uIDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBSb290IENvbXBsZXg+IHgxIEAgOC4wR1QvcwpKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwcGIwOiBsaW5rIGlzIHgx
 IEAgNS4wR1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBw
 Y2kxIGF0IHBwYjAgYnVzIDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
 NDczOV0gcGNpMTogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxlZApKdW4gIDIgMDc6MjU6
 MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBydHN4MCBhdCBwY2kxIGRldiAwIGZ1bmN0
 aW9uIDA6IFJlYWx0ZWsgU2VtaWNvbmR1Y3RvciBSVFM1MjVBIFBDSS1FIENhcmQgUmVhZGVyIChy
 ZXYuIDB4MDEpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHJ0
 c3gwOiBpbnRlcnJ1cHRpbmcgYXQgbXNpMiB2ZWMgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMzM0NzM5XSBzZG1tYzAgYXQgcnRzeDAKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMSBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiAyOiBJ
 bnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJldi4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMTogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJzaW9u
 IDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBSb290IENvbXBsZXg+IHgxIEAgOC4wR1QvcwpKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwcGIxOiBsaW5rIGlzIHgxIEAg
 Mi41R1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwY2ky
 IGF0IHBwYjEgYnVzIDIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDcz
 OV0gcGNpMjogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpd20wIGF0IHBjaTIgZGV2IDAgZnVuY3Rpb24g
 MDogSW50ZWwgRHVhbCBCYW5kIFdpcmVsZXNzIEFDIDgyNjUgKHJldi4gMHg3OCkKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaXdtMDogaW50ZXJydXB0aW5nIGF0
 IG1zaTMgdmVjIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
 cHBiMiBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiA0OiBJbnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJl
 di4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBi
 MjogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJzaW9uIDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBS
 b290IENvbXBsZXg+IHg0IEAgOC4wR1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgMS4wMzM0NzM5XSBwY2kzIGF0IHBwYjIgYnVzIDMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDMzNDczOV0gcGNpMzogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxl
 ZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwY2liMCBhdCBw
 Y2kwIGRldiAzMSBmdW5jdGlvbiAwOiBJbnRlbCAxMDAgU2VyaWVzIChQQ0gtVSkgTFBDIChyZXYu
 IDB4MjEpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEludGVs
 IDEwMCBTZXJpZXMgUE1DIChtaXNjZWxsYW5lb3VzIG1lbW9yeSwgcmV2aXNpb24gMHgyMSkgYXQg
 cGNpMCBkZXYgMzEgZnVuY3Rpb24gMiBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGF1ZGlvMCBhdCBwY2kwIGRldiAzMSBmdW5jdGlv
 biAzOiBIRCBBdWRpbyBDb250cm9sbGVyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
 ICAxLjAzMzQ3MzldIGhkYXVkaW8wOiBpbnRlcnJ1cHRpbmcgYXQgbXNpNCB2ZWMgMApKdW4gIDIg
 MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGF1ZGlvMDogSERBIHZlci4g
 MS4wLCBPU1MgOSwgSVNTIDcsIEJTUyAwLCBTRE8gMSwgNjQtYml0Ckp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhkYWZnMCBhdCBoZGF1ZGlvMDogUmVhbHRlayBw
 cm9kdWN0IDAyNTYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
 aGRhZmcwOiBEQUMwMCAyY2g6IFNwZWFrZXIgW0J1aWx0LUluXQpKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGFmZzA6IERBQzAxIDJjaDogSFAgT3V0IFtKYWNr
 XQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGFmZzA6IEFE
 QzAyIDJjaDogTWljIEluIFtCdWlsdC1Jbl0KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDMzNDczOV0gaGRhZmcwOiAyY2gvMmNoIDQ0MTAwSHogNDgwMDBIeiA5NjAwMEh6IDE5
 MjAwMEh6IFBDTTE2IFBDTTIwIFBDTTI0IEFDMwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMS4wMzM0NzM5XSBhdWRpbzAgYXQgaGRhZmcwOiBwbGF5YmFjaywgY2FwdHVyZSwgZnVs
 bCBkdXBsZXgsIGluZGVwZW5kZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAzMzQ3MzldIGF1ZGlvMDogc2xpbmVhcl9sZToxNiAyY2ggNDgwMDBIeiwgYmxrIDE5MjAgYnl0
 ZXMgKDEwbXMpIGZvciBwbGF5YmFjawpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
 MS4wMzM0NzM5XSBhdWRpbzA6IHNsaW5lYXJfbGU6MTYgMmNoIDQ4MDAwSHosIGJsayAxOTIwIGJ5
 dGVzICgxMG1zKSBmb3IgcmVjb3JkaW5nCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
 ICAxLjAzMzQ3MzldIHNwa3IwIGF0IGF1ZGlvMDogUEMgU3BlYWtlciAoc3ludGhlc2l6ZWQpCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdzYmVsbCBhdCBzcGty
 MCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
 NzM5XSBoZGFmZzEgYXQgaGRhdWRpbzA6IEludGVsIEhETUkvRFAKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaGRhZmcxOiBEUDAwIDhjaDogRGlnaXRhbCBPdXQg
 W0phY2tdCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhkYWZn
 MTogOGNoLzBjaCA0ODAwMEh6IFBDTTE2KgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgMS4wMzM0NzM5XSBhdWRpbzEgYXQgaGRhZmcxOiBwbGF5YmFjaywgY2FwdHVyZSwgZnVsbCBk
 dXBsZXgsIGluZGVwZW5kZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
 MzQ3MzldIGF1ZGlvMTogc2xpbmVhcl9sZToxNiAyY2ggNDgwMDBIeiwgYmxrIDE5MjAgYnl0ZXMg
 KDEwbXMpIGZvciBwbGF5YmFjawpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzM0NzM5XSBhdWRpbzE6IHNsaW5lYXJfbGU6MTYgMmNoIDQ4MDAwSHosIGJsayAxOTIwIGJ5dGVz
 ICgxMG1zKSBmb3IgcmVjb3JkaW5nCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
 LjAzMzQ3MzldIHNwa3IxIGF0IGF1ZGlvMTogUEMgU3BlYWtlciAoc3ludGhlc2l6ZWQpCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdzYmVsbCBhdCBzcGtyMSBu
 b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
 XSBpY2hzbWIwIGF0IHBjaTAgZGV2IDMxIGZ1bmN0aW9uIDQ6IEludGVsIDEwMCBTZXJpZXMgU01C
 dXMgKHJldi4gMHgyMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDcz
 OV0gaWNoc21iMDogaW50ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE2Ckp1biAgMiAwNzoyNToy
 NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlpYzMgYXQgaWNoc21iMDogSTJDIGJ1cwpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB0Y28wIGF0IGljaHNt
 YjA6IFRDTyAod2F0Y2hkb2cpIHRpbWVyIGNvbmZpZ3VyZWQuCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHRjbzA6IE1pbi9NYXggaW50ZXJ2YWwgMS8zNjcgc2Vj
 b25kcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3bTAgYXQg
 cGNpMCBkZXYgMzEgZnVuY3Rpb24gNiwgNjQtYml0IERNQTogSTIxOSBMTSAoNCkgRXRoZXJuZXQg
 Q29ubmVjdGlvbiAocmV2LiAweDIxKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
 MS4wMzM0NzM5XSB3bTA6IGludGVycnVwdGluZyBhdCBtc2k1IHZlYyAwCkp1biAgMiAwNzoyNToy
 NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdtMDogUENJLUV4cHJlc3MgYnVzCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdtMDogNDA5NiB3b3JkcyBG
 TEFTSCwgdmVyc2lvbiAwLjEuNApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
 MzM0NzM5XSB3bTA6IEV0aGVybmV0IGFkZHJlc3MgYTQ6NGM6Yzg6MTk6OGU6OGIKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gd20wOiAweDZhNDA4MDxGTEFTSCxQ
 Q0lFLEFTRl9GSVJNLEFNVCxXT0wsRUVFPgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgMS4wMzM0NzM5XSBpaHBoeTAgYXQgd20wIHBoeSAyOiBpMjE3IDEwLzEwMC8xMDAwIG1lZGlh
 IGludGVyZmFjZSwgcmV2LiA2Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
 MzQ3MzldIGlocGh5MDogMTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJhc2VUWCwgMTAwYmFzZVRY
 LUZEWCwgMTAwMGJhc2VULCAxMDAwYmFzZVQtRkRYLCBhdXRvCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlzYTAgYXQgcGNpYjAKSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcGNwcGkwIGF0IGlzYTAgcG9ydCAweDYxCkp1biAg
 MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHNwa3IyIGF0IHBjcHBpMDog
 UEMgU3BlYWtlcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3
 c2JlbGwgYXQgc3BrcjIgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDEuMDMzNDczOV0gbWlkaTAgYXQgcGNwcGkwOiBQQyBzcGVha2VyCkp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHN5c2JlZXAwIGF0IHBjcHBpMApKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhdHRpbWVyMTogYXR0YWNo
 ZWQgdG8gcGNwcGkwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
 IGFjcGljcHUwIGF0IGNwdTA6IEFDUEkgQ1BVCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBDMTogRkZILCBsYXQgICAxIHVzLCBwb3cgIDEwMDAg
 bVcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
 IEMyOiBGRkgsIGxhdCAxNTEgdXMsIHBvdyAgIDIwMCBtVwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAv
 bmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MDogQzM6IEZGSCwgbGF0IDEwMzQgdXMsIHBv
 dyAgIDIwMCBtVwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBh
 Y3BpY3B1MDogUDA6IEZGSCwgbGF0ICAxMCB1cywgcG93IDE1MDAwIG1XLCAyODAxIE1IeiwgdHVy
 Ym8gYm9vc3QKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNw
 aWNwdTA6IFAxOiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxNTAwMCBtVywgMjgwMCBNSHoKSnVuICAy
 IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAyOiBGRkgs
 IGxhdCAgMTAgdXMsIHBvdyAxMzQ4NyBtVywgMjYwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAzOiBGRkgsIGxhdCAgMTAgdXMsIHBv
 dyAxMjE3NSBtVywgMjQwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
 MDMzNDczOV0gYWNwaWNwdTA6IFA0OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxMTYwOCBtVywgMjMw
 MCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNw
 dTA6IFA1OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxMDM3MiBtVywgMjEwMCBNSHoKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFA2OiBGRkgsIGxh
 dCAgMTAgdXMsIHBvdyAgOTA0NyBtVywgMTkwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFA3OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAg
 ODUzOCBtVywgMTgwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
 NDczOV0gYWNwaWNwdTA6IFA4OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgNzQyMyBtVywgMTYwMCBN
 SHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
 IFA5OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgNjM1MyBtVywgMTQwMCBNSHoKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAxMDogRkZILCBsYXQg
 IDEwIHVzLCBwb3cgIDU3NzMgbVcsIDEzMDAgTUh6Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
 c2Q6IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBQMTE6IEZGSCwgbGF0ICAxMCB1cywgcG93ICA0
 Nzc0IG1XLCAxMTAwIE1IegpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
 NzM5XSBhY3BpY3B1MDogUDEyOiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgMzgxOSBtVywgIDkwMCBN
 SHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
 IFAxMzogRkZILCBsYXQgIDEwIHVzLCBwb3cgIDI5MDcgbVcsICA3MDAgTUh6Ckp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBQMTQ6IEZGSCwgbGF0
 ICAxMCB1cywgcG93ICAyNDExIG1XLCAgNjAwIE1IegpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MDogUDE1OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAg
 MTU2NiBtVywgIDQwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
 NDczOV0gY29yZXRlbXAwIGF0IGNwdTA6IHRoZXJtYWwgc2Vuc29yLCAxIEMgcmVzb2x1dGlvbiwg
 VGptYXg9MTAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFj
 cGljcHUxIGF0IGNwdTE6IEFDUEkgQ1BVCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
 ICAxLjAzMzQ3MzldIGNvcmV0ZW1wMSBhdCBjcHUxOiB0aGVybWFsIHNlbnNvciwgMSBDIHJlc29s
 dXRpb24sIFRqbWF4PTEwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
 NzM5XSBhY3BpY3B1MiBhdCBjcHUyOiBBQ1BJIENQVQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MyBhdCBjcHUzOiBBQ1BJIENQVQpKdW4gIDIgMDc6
 MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBjcHUwOiBDUFUgYmFzZSBmcmVxIDI4
 MDAwMDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
 Y3B1MDogQ1BVIG1heCBmcmVxIDM0MDAwMDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
 dGJzZDogWyAgIDEuMDMzNDczOV0gY3B1MDogVFNDIGZyZXEgQ1BVSUQgMjgwODAwMDAwMCBIegpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBjcHUwOiBUU0MgZnJl
 cSBjYWxpYnJhdGVkIDI4MDc5OTkwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDMzNDczOV0gdGltZWNvdW50ZXI6IFRpbWVjb3VudGVyICJjbG9ja2ludGVycnVwdCIg
 ZnJlcXVlbmN5IDEwMCBIeiBxdWFsaXR5IDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDEuMDMzNDczOV0gdGltZWNvdW50ZXI6IFRpbWVjb3VudGVyICJUU0MiIGZyZXF1ZW5jeSAy
 ODA3OTk5MDAwIEh6IHF1YWxpdHkgMzAwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgMS45NjAxNjA4XSB1aHViMCBhdCB1c2IwOiBOZXRCU0QgKDB4MDAwMCkgeEhDSSByb290IGh1
 YiAoMHgwMDAwKSwgY2xhc3MgOS8wLCByZXYgMy4wMC8xLjAwLCBhZGRyIDAKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuOTk0NzA4OF0gdXNiZF9zZXRfY29uZmlnX2luZGV4OiBh
 ZGRyIDAgaW5kZXggMCBtc2cgMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4w
 MzQ3MDg5XSB1aHViX2F0dGFjaCgpIGF0IG5ldGJzZDp1aHViX2F0dGFjaCsweGJjCkp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjA3NDcwODldIGNvbmZpZ19hdHRhY2hfaW50ZXJu
 YWwoKSBhdCBuZXRic2Q6Y29uZmlnX2F0dGFjaF9pbnRlcm5hbCsweDFhNwpKdW4gIDIgMDc6MjU6
 MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4xMTQ3MDg5XSBjb25maWdfZm91bmRfYWNxdWlyZSgpIGF0
 IG5ldGJzZDpjb25maWdfZm91bmRfYWNxdWlyZSsweGQ5Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICAyLjE1NDcwODldIGNvbmZpZ19mb3VuZCgpIGF0IG5ldGJzZDpjb25maWdfZm91
 bmQrMHgzMgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4xODQ3MDg5XSB1c2Jk
 X2F0dGFjaF9yb290aHViKCkgYXQgbmV0YnNkOnVzYmRfYXR0YWNoX3Jvb3RodWIrMHhhMwpKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4yMjQ3MDkwXSB4aGNpX25ld19kZXZpY2Uo
 KSBhdCBuZXRic2Q6eGhjaV9uZXdfZGV2aWNlKzB4NWIxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICAyLjI2NDcwOTNdIHVzYl9kb2F0dGFjaCgpIGF0IG5ldGJzZDp1c2JfZG9hdHRh
 Y2grMHhhNwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4zMDQ3MDk4XSBjb25m
 aWdfaW50ZXJydXB0c190aHJlYWQoKSBhdCBuZXRic2Q6Y29uZmlnX2ludGVycnVwdHNfdGhyZWFk
 KzB4OWIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuMzQ0NzA5NF0gdWh1YjA6
 IDYgcG9ydHMgd2l0aCA2IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICAyLjM0NDcwOTRdIHVodWIxIGF0IHVzYjE6IE5ldEJTRCAoMHgwMDAw
 KSB4SENJIHJvb3QgaHViICgweDAwMDApLCBjbGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIg
 MApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4zODQ3MDkyXSB1c2JkX3NldF9j
 b25maWdfaW5kZXg6IGFkZHIgMCBpbmRleCAwIG1zZyAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICAyLjQyNDcwOTFdIHVodWJfYXR0YWNoKCkgYXQgbmV0YnNkOnVodWJfYXR0YWNo
 KzB4YmMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNDY0NzA5M10gY29uZmln
 X2F0dGFjaF9pbnRlcm5hbCgpIGF0IG5ldGJzZDpjb25maWdfYXR0YWNoX2ludGVybmFsKzB4MWE3
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjUwNDcwOTRdIGNvbmZpZ19mb3Vu
 ZF9hY3F1aXJlKCkgYXQgbmV0YnNkOmNvbmZpZ19mb3VuZF9hY3F1aXJlKzB4ZDkKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNTM0NzA5NF0gY29uZmlnX2ZvdW5kKCkgYXQgbmV0
 YnNkOmNvbmZpZ19mb3VuZCsweDMyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAy
 LjU3NDcwOTRdIHVzYmRfYXR0YWNoX3Jvb3RodWIoKSBhdCBuZXRic2Q6dXNiZF9hdHRhY2hfcm9v
 dGh1YisweGEzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjYxNDcwOTNdIHho
 Y2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1YjEKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNjU0NzA5NF0gdXNiX2RvYXR0YWNoKCkgYXQgbmV0
 YnNkOnVzYl9kb2F0dGFjaCsweGE3Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAy
 LjY5NDcwOTRdIGNvbmZpZ19pbnRlcnJ1cHRzX3RocmVhZCgpIGF0IG5ldGJzZDpjb25maWdfaW50
 ZXJydXB0c190aHJlYWQrMHg5YgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi43
 MzQ3MDkyXSB1aHViMTogMTIgcG9ydHMgd2l0aCAxMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZApK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi43MzQ3MDkyXSBJUHNlYzogSW5pdGlh
 bGl6ZWQgU2VjdXJpdHkgQXNzb2NpYXRpb24gUHJvY2Vzc2luZy4KSnVuICAyIDA3OjI1OjI0IGRl
 bGwgL25ldGJzZDogWyAgIDIuNzQ0NzEwMF0gYWNwaWFjYWQwOiBBQyBhZGFwdGVyIG9ubGluZS4K
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuODM0NzE1Ml0gYWhjaXNhdGEwIHBv
 cnQgMjogZGV2aWNlIHByZXNlbnQsIHNwZWVkOiA2LjBHYi9zCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAyLjg2NDcxNDddIHdkMCBhdCBhdGFidXMwIGRyaXZlIDAKSnVuICAyIDA3
 OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuODg0NzA5MV0gd2QwOiA8U2FuRGlzayBYNDAwIE0u
 MiAyMjgwIDUxMkdCPgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi45MTQ3MDkw
 XSB3ZDA6IGRyaXZlIHN1cHBvcnRzIDEtc2VjdG9yIFBJTyB0cmFuc2ZlcnMsIExCQTQ4IGFkZHJl
 c3NpbmcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuOTE0NzA5MF0gd2QwOiA0
 NzYgR0IsIDk5MjI3NyBjeWwsIDE2IGhlYWQsIDYzIHNlYywgNTEyIGJ5dGVzL3NlY3QgeCAxMDAw
 MjE1MjE2IHNlY3RvcnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuOTQ0NzA5
 Ml0gd2QwOiBHUFQgR1VJRDogNzM1ODQxM2QtZjUwMy00NWI0LTllZjctMWMxMzBiOGRlZDBkCkp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjk0NDcwOTJdIGRrMCBhdCB3ZDA6ICJl
 NTI2ZjZjOC0zOTJmLTQ5Y2YtOTY0Zi00ZmUwYjJlYWY4OWMiLCAyNjIxNDQgYmxvY2tzIGF0IDIw
 NDgsIHR5cGU6IG1zZG9zCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjk3NDcw
 OTNdIGRrMSBhdCB3ZDA6ICI3ZGMxNzIzYi1mYmEzLTRmZDYtOTExNC04NGI3YTIyMTExYmMiLCA5
 NjY2NDAyMzcgYmxvY2tzIGF0IDI2NDE5MiwgdHlwZTogZmZzCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICAzLjAwNDcwOTNdIGRrMiBhdCB3ZDA6ICI4MGUxMTBiOC1kN2ViLTQxMmEt
 OTkwNy1iNzJlOTIzY2I0NDMiLCAzMzMwOTMyNyBibG9ja3MgYXQgOTY2OTA1ODU2LCB0eXBlOiBz
 d2FwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjAzNDcxMTJdIHdkMDogZHJp
 dmUgc3VwcG9ydHMgUElPIG1vZGUgNCwgRE1BIG1vZGUgMiwgVWx0cmEtRE1BIG1vZGUgNiAoVWx0
 cmEvMTMzKSwgV1JJVEUgRE1BIEZVQSwgTkNRICgzMiB0YWdzKQpKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgMy4wMzQ3MTEyXSB3ZDAoYWhjaXNhdGEwOjI6MCk6IHVzaW5nIFBJTyBt
 b2RlIDQsIERNQSBtb2RlIDIsIFVsdHJhLURNQSBtb2RlIDYgKFVsdHJhLzEzMykgKHVzaW5nIERN
 QSksIE5DUSAoMzEgdGFncykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuMTA0
 NzEwNl0gYWNwaWJhdDA6IExHQy1MR0M3Ljc4MCBMSU9OIHJlY2hhcmdlYWJsZSBiYXR0ZXJ5Ckp1
 biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjEyNDcwOTNdIGFjcGliYXQwOiBncmFu
 dWxhcml0eTogbG93LT53YXJuIDAuMDc4IEFoLCB3YXJuLT5mdWxsIDAuMDc4IEFoCkp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjMzNDcxMzJdIHVzYmRfc2V0X2NvbmZpZ19pbmRl
 eDogYWRkciAxIGluZGV4IDAgbXNnIDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
 IDMuMzY0NzA5NF0gdXNiZF9wcm9iZV9hbmRfYXR0YWNoKCkgYXQgbmV0YnNkOnVzYmRfcHJvYmVf
 YW5kX2F0dGFjaCsweDY4Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjM5NDcw
 OTVdIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1NGEKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuNDE0NzA5NV0gdWh1Yl9leHBsb3JlKCkg
 YXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgMy40NDQ3MDk5XSB1c2JfZGlzY292ZXIoKSBhdCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4
 NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuNDc0NzA5OF0gdXNiX2V2ZW50
 X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhyZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0
 IGRlbGwgL25ldGJzZDogWyAgIDMuNTA0NzA5NV0gdWhpZGV2MCBhdCB1aHViMSBwb3J0IDIgY29u
 ZmlndXJhdGlvbiAxIGludGVyZmFjZSAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
 ICAzLjUzNDcwOTddIHVoaWRldjA6IExvZ2l0ZWNoICgweDA0NmQpIFVTQiBPcHRpY2FsIE1vdXNl
 ICgweGMwNzcpLCByZXYgMi4wMC83Mi4wMCwgYWRkciAxLCBpY2xhc3MgMy8xCkp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjU1NDcwOTZdIHVtczAgYXQgdWhpZGV2MDogMyBidXR0
 b25zIGFuZCBaIGRpcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMy41ODQ3MDk1
 XSB3c21vdXNlMSBhdCB1bXMwIG11eCAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
 ICA0LjA3NDcxMzZdIHVzYmRfc2V0X2NvbmZpZ19pbmRleDogYWRkciAyIGluZGV4IDAgbXNnIDEK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuMTA0NzA5Nl0gdXNiZF9wcm9iZV9h
 bmRfYXR0YWNoKCkgYXQgbmV0YnNkOnVzYmRfcHJvYmVfYW5kX2F0dGFjaCsweDY4Ckp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA0LjEzNDcwOTddIHhoY2lfbmV3X2RldmljZSgpIGF0
 IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDQuMTY0NzEwMV0gdWh1Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsw
 eDRiZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC4xODQ3MTEwXSB1c2JfZGlz
 Y292ZXIoKSBhdCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDQuMjE0NzA5N10gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2Jf
 ZXZlbnRfdGhyZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuMjc0
 NzEzNV0gdXZpZGVvMCBhdCB1aHViMSBwb3J0IDUgY29uZmlndXJhdGlvbiAxIGludGVyZmFjZSAw
 OiBDTjBLNDlXMUxPRzAwNzZBQUVEQUEwMCAoMHgwYmRhKSBJbnRlZ3JhdGVkIFdlYmNhbV9IRCAo
 MHg1NjUwKSwgcmV2IDIuMDAvNjAuMDYsIGFkZHIgMgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgNC4zMjQ3MDk3XSB2aWRlbzAgYXQgdXZpZGVvMDogQ04wSzQ5VzFMT0cwMDc2QUFF
 REFBMDAgKDB4MGJkYSkgSW50ZWdyYXRlZCBXZWJjYW1fSEQgKDB4NTY1MCksIHJldiAyLjAwLzYw
 LjA2LCBhZGRyIDIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuODI0NzEzNl0g
 dWJ0MCBhdCB1aHViMSBwb3J0IDcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQu
 ODQ0NzA5OV0gdWJ0MDogdmVuZG9yIDgwODcgKDB4ODA4NykgcHJvZHVjdCAwYTJiICgweDBhMmIp
 LCByZXYgMi4wMC8wLjEwLCBhZGRyIDMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
 IDQuODc0NzA5OV0gdXNiZF9zZXRfY29uZmlnX2luZGV4OiBhZGRyIDMgaW5kZXggMCBtc2cgMQpK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC45MDQ3MDk5XSB1YnRfYXR0YWNoKCkg
 YXQgbmV0YnNkOnVidF9hdHRhY2grMHhjNApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
 ICAgNC45MzQ3MTAyXSBjb25maWdfYXR0YWNoX2ludGVybmFsKCkgYXQgbmV0YnNkOmNvbmZpZ19h
 dHRhY2hfaW50ZXJuYWwrMHgxYTcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQu
 OTU0NzEwMl0gY29uZmlnX2ZvdW5kX2FjcXVpcmUoKSBhdCBuZXRic2Q6Y29uZmlnX2ZvdW5kX2Fj
 cXVpcmUrMHhkOQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC45ODQ3MTAzXSBj
 b25maWdfZm91bmQoKSBhdCBuZXRic2Q6Y29uZmlnX2ZvdW5kKzB4MzIKSnVuICAyIDA3OjI1OjI0
 IGRlbGwgL25ldGJzZDogWyAgIDUuMDE0NzEwM10gdXNiZF9hdHRhY2h3aG9sZWRldmljZSgpIGF0
 IG5ldGJzZDp1c2JkX2F0dGFjaHdob2xlZGV2aWNlKzB4ZjAKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDUuMDQ0NzEwM10gdXNiZF9wcm9iZV9hbmRfYXR0YWNoKCkgYXQgbmV0YnNk
 OnVzYmRfcHJvYmVfYW5kX2F0dGFjaCsweDNhCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
 IFsgICA1LjA2NDcxMDRdIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZp
 Y2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuMDk0NzExMV0gdWh1
 Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgNS4xMjQ3MTA0XSB1c2JfZGlzY292ZXIoKSBhdCBuZXRic2Q6dXNi
 X2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuMTU0NzEw
 MV0gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhyZWFkKzB4NDYKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuNjg0NzE0MF0gdXNiZF9zZXRfY29uZmln
 X2luZGV4OiBhZGRyIDQgaW5kZXggMCBtc2cgMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
 OiBbICAgNS43MTQ3MTA0XSB1c2JkX3Byb2JlX2FuZF9hdHRhY2goKSBhdCBuZXRic2Q6dXNiZF9w
 cm9iZV9hbmRfYXR0YWNoKzB4NjgKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUu
 NzQ0NzEwNF0geGhjaV9uZXdfZGV2aWNlKCkgYXQgbmV0YnNkOnhoY2lfbmV3X2RldmljZSsweDU0
 YQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS43NjQ3MTA4XSB1aHViX2V4cGxv
 cmUoKSBhdCBuZXRic2Q6dWh1Yl9leHBsb3JlKzB4NGJkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
 ZXRic2Q6IFsgICA1Ljc5NDcxMDRdIHVzYl9kaXNjb3ZlcigpIGF0IG5ldGJzZDp1c2JfZGlzY292
 ZXIrMHg0ZgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS44MjQ3MTA1XSB1c2Jf
 ZXZlbnRfdGhyZWFkKCkgYXQgbmV0YnNkOnVzYl9ldmVudF90aHJlYWQrMHg0NgpKdW4gIDIgMDc6
 MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS44NTQ3MTEwXSB1Z2VuMCBhdCB1aHViMSBwb3J0IDEw
 Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA1Ljg4NDcxMDZdIHVnZW4wOiBCcm9h
 ZGNvbSBDb3JwICgweDBhNWMpIDU4ODAgKDB4NTgzMiksIHJldiAxLjEwLzEuMDEsIGFkZHIgNApK
 dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS45MTQ3MTA0XSB1c2JkX3NldF9jb25m
 aWdfaW5kZXg6IGFkZHIgNCBpbmRleCAwIG1zZyAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
 c2Q6IFsgICA1LjkzNDcxMDJdIHVnZW5pZl9hdHRhY2goKSBhdCBuZXRic2Q6dWdlbmlmX2F0dGFj
 aCsweDI0MQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS45NjQ3MTA3XSB1Z2Vu
 X2F0dGFjaCgpIGF0IG5ldGJzZDp1Z2VuX2F0dGFjaCsweDVjCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICA1Ljk5NDcxMDldIGNvbmZpZ19hdHRhY2hfaW50ZXJuYWwoKSBhdCBuZXRi
 c2Q6Y29uZmlnX2F0dGFjaF9pbnRlcm5hbCsweDFhNwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
 YnNkOiBbICAgNi4wMjQ3MTA3XSBjb25maWdfZm91bmRfYWNxdWlyZSgpIGF0IG5ldGJzZDpjb25m
 aWdfZm91bmRfYWNxdWlyZSsweGQ5Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2
 LjA0NDcxMDZdIGNvbmZpZ19mb3VuZCgpIGF0IG5ldGJzZDpjb25maWdfZm91bmQrMHgzMgpKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4wNzQ3MTA3XSB1c2JkX2F0dGFjaHdob2xl
 ZGV2aWNlKCkgYXQgbmV0YnNkOnVzYmRfYXR0YWNod2hvbGVkZXZpY2UrMHhmMApKdW4gIDIgMDc6
 MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4xMDQ3MTA3XSB1c2JkX3Byb2JlX2FuZF9hdHRhY2go
 KSBhdCBuZXRic2Q6dXNiZF9wcm9iZV9hbmRfYXR0YWNoKzB4MTRhCkp1biAgMiAwNzoyNToyNCBk
 ZWxsIC9uZXRic2Q6IFsgICA2LjEzNDcxMTldIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4
 aGNpX25ld19kZXZpY2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYu
 MTY0NzEwNl0gdWh1Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4g
 IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4xODQ3MTA2XSB1c2JfZGlzY292ZXIoKSBh
 dCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
 WyAgIDYuMjE0NzEwNl0gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhy
 ZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjU0NzEwNV0gc3d3
 ZG9nMDogc29mdHdhcmUgd2F0Y2hkb2cgaW5pdGlhbGl6ZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwg
 L25ldGJzZDogWyAgIDYuMjY0NzEwOV0gYm9vdCBkZXZpY2U6IHdkMApKdW4gIDIgMDc6MjU6MjQg
 ZGVsbCAvbmV0YnNkOiBbICAgNi4yNjQ3MTA5XSByb290IG9uIGRrMSBkdW1wcyBvbiBkazIKSnVu
 ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjY0NzEwOV0gcm9vdCBmaWxlIHN5c3Rl
 bSB0eXBlOiBmZnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjY0NzEwOV0g
 a2Vybi5tb2R1bGUucGF0aD0vc3RhbmQvYW1kNjQvMTAuOTkuNC9tb2R1bGVzCkp1biAgMiAwNzoy
 NToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjI3NDcxMTFdIFtkcm1dIFN1cHBvcnRzIHZibGFuayB0
 aW1lc3RhbXAgY2FjaGluZyBSZXYgMiAoMjEuMTAuMjAxMykuCkp1biAgMiAwNzoyNToyNCBkZWxs
 IC9uZXRic2Q6IFsgICA2LjMwNDcxMDJdIFtkcm1dIERyaXZlciBzdXBwb3J0cyBwcmVjaXNlIHZi
 bGFuayB0aW1lc3RhbXAgcXVlcnkuCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2
 LjMzNDcxMDNdIGk5MTVkcm1rbXMwOiBpbnRlcnJ1cHRpbmcgYXQgbXNpNiB2ZWMgMCAoaTkxNWRy
 bWttczApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjMzNDcxMDNdIGk5MTVk
 cm1rbXMwOiBub3RpY2U6IEZhaWxlZCB0byBsb2FkIERNQyBmaXJtd2FyZSBpOTE1L3NrbF9kbWNf
 dmVyMV8yNy5iaW4uIERpc2FibGluZyBydW50aW1lIHBvd2VyIG1hbmFnZW1lbnQuCkp1biAgMiAw
 NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjM1NDcxMDddIFtkcm1dIEluaXRpYWxpemVkIGk5
 MTUgMS42LjAgMjAyMDAxMTQgZm9yIGk5MTVkcm1rbXMwIG9uIG1pbm9yIDAKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTI0NzEyNl0gaW50ZWxmYjAgYXQgaTkxNWRybWttczAK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTI0NzEyNl0gW2RybV0gRFJNX0k5
 MTVfREVCVUcgZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi41MjQ3
 MTI2XSBbZHJtXSBEUk1fSTkxNV9ERUJVR19HRU0gZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQgZGVs
 bCAvbmV0YnNkOiBbICAgNi41MjQ3MTI2XSBpbnRlbGZiMDogZnJhbWVidWZmZXIgYXQgMHhhMDA0
 MDAwMCwgc2l6ZSAxOTIweDEwODAsIGRlcHRoIDMyLCBzdHJpZGUgNzY4MApKdW4gIDIgMDc6MjU6
 MjQgZGVsbCAvbmV0YnNkOiBbICAgNi41NTQ3MTA3XSB3c2Rpc3BsYXkwIGF0IGludGVsZmIwIGti
 ZG11eCAxOiBjb25zb2xlIChkZWZhdWx0LCB2dDEwMCBlbXVsYXRpb24pLCB1c2luZyB3c2tiZDAK
 SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTU0NzEwN10gd3NtdXgxOiBjb25u
 ZWN0aW5nIHRvIHdzZGlzcGxheTAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYu
 NjA0NzEwNl0gaXdtMDogaHcgcmV2IDB4MjMwLCBmdyB2ZXIgMjIuMzYxNDc2LjAsIGFkZHJlc3Mg
 Y2M6MmY6NzE6N2Y6MGM6MjkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTQ0
 NzEyMF0gd3NkaXNwbGF5MDogc2NyZWVuIDEgYWRkZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlv
 bikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5
 MDogc2NyZWVuIDIgYWRkZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1
 OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5MDogc2NyZWVuIDMgYWRk
 ZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
 ZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5MDogc2NyZWVuIDQgYWRkZWQgKGRlZmF1bHQsIHZ0
 MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1OjI1IGRlbGwgcm9vdDogL2V0Yy9yYzogV0FSTklO
 RzogJGJsYWNrbGlzdGQgaXMgbm90IHNldCBwcm9wZXJseSAtIHNlZSByYy5jb25mKDUpLgpKdW4g
 IDIgMDc6MjU6MjUgZGVsbCBzYXZlY29yZTogbm8gY29yZSBkdW1wCkp1biAgMiAwNzoyNToyNiBk
 ZWxsIGRoY3BjZFs2MzRdOiBkaGNwY2RfcHJlc3RhcnRpbnRlcmZhY2U6IFJlc291cmNlIHRlbXBv
 cmFyaWx5IHVuYXZhaWxhYmxlCkp1biAgMiAwNzoyNToyNiBkZWxsIGRoY3BjZFs2MzRdOiBpd20w
 OiB3YWl0aW5nIGZvciBjYXJyaWVyCkp1biAgMiAwNzoyNToyNiBkZWxsIGRoY3BjZFs2MzRdOiB3
 bTA6IGNhcnJpZXIgbG9zdCAtIHJvYW1pbmcKSnVuICAyIDA3OjI1OjUwIGRlbGwgcm9vdDogL2V0
 Yy9wb3dlcmQvc2NyaXB0cy9zZW5zb3JfYmF0dGVyeTogKGNoYXJnZSBzdGF0ZSkgY2FwYWNpdHkg
 cmVhY2hlZCBub3JtYWwgc3RhdGUgW2FjcGliYXQwXQo=
 ------=_Part_446228_953307516.1685716432773--

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.