From owner-freebsd-acpi@FreeBSD.ORG Mon Oct 13 05:20:07 2008 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 83C8E1065692 for ; Mon, 13 Oct 2008 05:20:07 +0000 (UTC) (envelope-from ilgiz@reid.ru) Received: from www.reid.ru (reid.ufanet.ru [81.30.200.238]) by mx1.freebsd.org (Postfix) with ESMTP id 1E6F28FC19 for ; Mon, 13 Oct 2008 05:20:02 +0000 (UTC) (envelope-from ilgiz@reid.ru) Received: from localhost (localhost [127.0.0.1]) by www.reid.ru (Postfix) with SMTP id AA8862CEE8A for ; Mon, 13 Oct 2008 11:00:46 +0600 (YEKST) X-AV-Checked: Mon Oct 13 11:00:46 2008 DRWEB_CHECKED Received: from ilgiz.office.reid.ru (kegf-it.office.reid.ru [192.168.3.32]) by www.reid.ru (Postfix) with ESMTP id 233082CEE84 for ; Mon, 13 Oct 2008 11:00:46 +0600 (YEKST) Message-ID: <48F2D6E6.4070408@reid.ru> Date: Mon, 13 Oct 2008 11:04:38 +0600 From: Ilgiz Yanuzakov User-Agent: Thunderbird 2.0.0.16 (X11/20080902) MIME-Version: 1.0 To: freebsd-acpi@FreeBSD.org Content-Type: multipart/mixed; boundary="------------020602080006010602080704" X-Mailman-Approved-At: Mon, 13 Oct 2008 05:57:05 +0000 Cc: Subject: Acer Aspire 3610 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Oct 2008 05:20:07 -0000 This is a multi-part message in MIME format. --------------020602080006010602080704 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Some errors on boot. ######### #dmesg -a ######### $ dmesg -a Copyright (c) 1992-2008 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.1-PRERELEASE #0: Fri Sep 19 23:05:06 UTC 2008 root@.ufanet.ru:/usr/obj/usr/src/sys/HOME Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Celeron(R) M processor 1.50GHz (1496.40-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8 Features=0xafe9fbff AMD Features=0x100000 real memory = 258867200 (246 MB) avail memory = 243437568 (232 MB) ACPI APIC Table: ioapic0: Changing APIC ID to 1 ioapic0 irqs 0-23 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) cryptosoft0: on motherboard acpi0: on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 acpi_ec0: port 0x62,0x66 on acpi0 acpi_lid0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 vgapci0: port 0x1800-0x1807 mem 0xb0080000-0xb00fffff,0xc0000000-0xcfffffff,0xb0000000-0xb003ffff irq 16 at device 2.0 on pci0 agp0: on vgapci0 agp0: detected 7932k stolen memory agp0: aperture size is 256M vgapci1: at device 2.1 on pci0 uhci0: port 0x1820-0x183f irq 23 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: on uhci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x1840-0x185f irq 17 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] uhci1: [ITHREAD] usb1: on uhci1 usb1: USB revision 1.0 uhub1: on usb1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0x1860-0x187f irq 18 at device 29.2 on pci0 uhci2: [GIANT-LOCKED] uhci2: [ITHREAD] usb2: on uhci2 usb2: USB revision 1.0 uhub2: on usb2 uhub2: 2 ports with 2 removable, self powered uhci3: port 0x1880-0x189f irq 19 at device 29.3 on pci0 uhci3: [GIANT-LOCKED] uhci3: [ITHREAD] usb3: on uhci3 usb3: USB revision 1.0 uhub3: on usb3 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xb0040000-0xb00403ff irq 23 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: on usb4 uhub4: 8 ports with 8 removable, self powered pcib1: at device 30.0 on pci0 pci6: on pcib1 rl0: port 0x3000-0x30ff mem 0xb0100000-0xb01000ff irq 20 at device 7.0 on pci6 miibus0: on rl0 rlphy0: PHY 0 on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl0: Ethernet address: 00:0a:e4:e4:45:50 rl0: [ITHREAD] cbb0: at device 9.0 on pci6 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [ITHREAD] pcm0: port 0x1c00-0x1cff,0x18c0-0x18ff mem 0xb0040800-0xb00409ff,0xb0040400-0xb00404ff irq 21 at device 30.2 on pci0 pcm0: [ITHREAD] pcm0: pci0: at device 30.3 (no driver attached) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f irq 16 at device 31.1 on pci0 ata0: on atapci0 ata0: [ITHREAD] ata1: on atapci0 ata1: [ITHREAD] pci0: at device 31.3 (no driver attached) acpi_tz0: on acpi0 acpi_tz1: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model Generic PS/2 mouse, device ID 0 acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE battery0: on acpi0 acpi_ec0: EcRead: failed waiting to get data ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320] ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE ACPI Error (uteval-0309): Method execution failed [\\_SB_.PCI0.LPCB.EC0_.BAT0._STA] (Node 0xc1da0900), AE_NO_HARDWARE_RESPONSE acpi_acad0: on acpi0 cpu0: on acpi0 p4tcc0: on cpu0 pmtimer0 on isa0 orm0: at iomem 0xcf800-0xd07ff,0xdc000-0xdffff,0xe0000-0xe3fff pnpid ORM0000 on isa0 ppc0: parallel port not found. sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 8250 or not responding sio0: [FILTER] sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ums0: on uhub0 ums0: 3 buttons and Z dir. Timecounter "TSC" frequency 1496403865 Hz quality 800 Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. ad0: 38154MB at ata0-master UDMA100 acd0: CDRW at ata0-slave UDMA33 GEOM_LABEL: Label for provider ad0s1 is ntfs/winxp. acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24 ascq=0x00 cd0 at ata0 bus 0 target 1 lun 0 cd0: Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed ######### #dmesg -a ######### ############### #sysctl hw.acpi ############### $ sysctl hw.acpi hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S3 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.reset_video: 0 hw.acpi.thermal.min_runtime: 0 hw.acpi.thermal.polling_rate: 10 hw.acpi.thermal.user_override: 0 hw.acpi.thermal.tz0.temperature: 47,0C hw.acpi.thermal.tz0.active: -1 hw.acpi.thermal.tz0.passive_cooling: 1 hw.acpi.thermal.tz0.thermal_flags: 0 hw.acpi.thermal.tz0._PSV: 95,0C hw.acpi.thermal.tz0._HOT: -1 hw.acpi.thermal.tz0._CRT: 100,0C hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.thermal.tz0._TC1: 4 hw.acpi.thermal.tz0._TC2: 3 hw.acpi.thermal.tz0._TSP: 150 hw.acpi.thermal.tz1.temperature: 42,0C hw.acpi.thermal.tz1.active: -1 hw.acpi.thermal.tz1.passive_cooling: 0 hw.acpi.thermal.tz1.thermal_flags: 0 hw.acpi.thermal.tz1._PSV: -1 hw.acpi.thermal.tz1._HOT: -1 hw.acpi.thermal.tz1._CRT: 70,0C hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 hw.acpi.thermal.tz1._TC1: -1 hw.acpi.thermal.tz1._TC2: -1 hw.acpi.thermal.tz1._TSP: -1 hw.acpi.battery.life: 99 hw.acpi.battery.time: -1 hw.acpi.battery.state: 0 hw.acpi.battery.units: 1 hw.acpi.battery.info_expire: 5 hw.acpi.acline: 1 hw.acpi.cpu.cx_lowest: C1 ############### #sysctl hw.acpi ############### -- С уважением, Ильгиз Янузаков, системный администратор ООО "Рейд". г. Уфа, ул. Индустриальное шоссе, 44/1 Тел./факс: (347) 264-97-15 Сот. тел: 8 901 8107914 E-mail: ilgiz@reid.ru http://www.reid.ru/ ----------------------------- FreeBSD - The Power to Serve! --------------020602080006010602080704 Content-Type: text/plain; name="kegf-AcerAspire3610.asl" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="kegf-AcerAspire3610.asl" LyoKICBSU0QgUFRSOiBPRU09UFRMVEQsIEFDUElfUmV2PTEuMHggKDApCglSU0RUPTB4MGY2 ZTVlMmQsIGNrc3VtPTQ5CiAqLwovKgogIFJTRFQ6IExlbmd0aD02MCwgUmV2aXNpb249MSwg Q2hlY2tzdW09NDQsCglPRU1JRD1QVExURCwgT0VNIFRhYmxlIElEPSAgUlNEVCwgT0VNIFJl dmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9IExUUCwgQ3JlYXRvciBSZXZpc2lvbj0w eDAKCUVudHJpZXM9eyAweDBmNmU5ZTc4LCAweDBmNmU5ZWZjLCAweDBmNmU5ZmQ4LCAweDBm NmU5ZjljLCAweDBmNmU2MDY0LCAweDBmNmU1ZTY5IH0KICovCi8qCiAgRkFDUDogTGVuZ3Ro PTEzMiwgUmV2aXNpb249MiwgQ2hlY2tzdW09OTcsCglPRU1JRD1JTlRFTCwgT0VNIFRhYmxl IElEPUFMVklTTywgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9TE9IUiwg Q3JlYXRvciBSZXZpc2lvbj0weDVmCiAJRkFDUz0weGY2ZmFmYzAsIERTRFQ9MHhmNmU2MjQ2 CglJTlRfTU9ERUw9UElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1VbnNwZWNpZmllZCAoMCkK CVNDSV9JTlQ9OQoJU01JX0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGYwLCBBQ1BJX0RJU0FC TEU9MHhmMSwgUzRCSU9TX1JFUT0weGYyCglQU1RBVEVfQ05UPTB4ODAKCVBNMWFfRVZUX0JM Sz0weDEwMDAtMHgxMDAzCglQTTFhX0NOVF9CTEs9MHgxMDA0LTB4MTAwNQoJUE0yX0NOVF9C TEs9MHgxMDIwLTB4MTAyMAoJUE1fVE1SX0JMSz0weDEwMDgtMHgxMDBiCglHUEUwX0JMSz0w eDEwMjgtMHgxMDJmCglDU1RfQ05UPTB4ODUKCVBfTFZMMl9MQVQ9MSB1cywgUF9MVkwzX0xB VD04NSB1cwoJRkxVU0hfU0laRT0wLCBGTFVTSF9TVFJJREU9MAoJRFVUWV9PRkZTRVQ9MSwg RFVUWV9XSURUSD0zCglEQVlfQUxSTT0xMywgTU9OX0FMUk09MCwgQ0VOVFVSWT01MAoJSUFQ Q19CT09UX0FSQ0g9e0xFR0FDWV9ERVYsODA0Mn0KCUZsYWdzPXtXQklOVkQsUFJPQ19DMSxT TFBfQlVUVE9OLFJUQ19TNCxEQ0tfQ0FQLFJFU0VUX1JFR30KCVJFU0VUX1JFRz0weGNmOTow WzhdIChJTyksIFJFU0VUX1ZBTFVFPTB4NgogKi8KLyoKICBGQUNTOglMZW5ndGg9NjQsIEh3 U2lnPTB4MDAwMDBmN2IsIEZpcm1fV2FrZV9WZWM9MHgwMDAwMDAwMAoJR2xvYmFsX0xvY2s9 CglGbGFncz0KCVZlcnNpb249MAogKi8KLyoKICBEU0RUOiBMZW5ndGg9MTU0MTAsIFJldmlz aW9uPTEsIENoZWNrc3VtPTE2OCwKCU9FTUlEPUlOVEVMLCBPRU0gVGFibGUgSUQ9QUxWSVNP LCBPRU0gUmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD1NU0ZULCBDcmVhdG9yIFJl dmlzaW9uPTB4MTAwMDAwZQogKi8KLyoKICBBUElDOiBMZW5ndGg9MTA0LCBSZXZpc2lvbj0x LCBDaGVja3N1bT0yNiwKCU9FTUlEPUlOVEVMLCBPRU0gVGFibGUgSUQ9QUxWSVNPLCBPRU0g UmV2aXNpb249MHg2MDQwMDAwLAoJQ3JlYXRvciBJRD1MT0hSLCBDcmVhdG9yIFJldmlzaW9u PTB4NWYKCUxvY2FsIEFQSUMgQUREUj0weGZlZTAwMDAwCglGbGFncz17UEMtQVR9CgoJVHlw ZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0wCglGbGFncz17RU5BQkxFRH0KCUFQSUMgSUQ9MAoK CVR5cGU9TG9jYWwgQVBJQwoJQUNQSSBDUFU9MQoJRmxhZ3M9e0RJU0FCTEVEfQoJQVBJQyBJ RD0xCgoJVHlwZT1JTyBBUElDCglBUElDIElEPTEKCUlOVCBCQVNFPTAKCUFERFI9MHgwMDAw MDAwMGZlYzAwMDAwCgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9MAoJSU5UUj0y CglGbGFncz17UG9sYXJpdHk9Y29uZm9ybWluZywgVHJpZ2dlcj1jb25mb3JtaW5nfQoKCVR5 cGU9SU5UIE92ZXJyaWRlCglCVVM9MAoJSVJRPTkKCUlOVFI9OQoJRmxhZ3M9e1BvbGFyaXR5 PWFjdGl2ZS1oaSwgVHJpZ2dlcj1sZXZlbH0KCglUeXBlPUxvY2FsIE5NSQoJQUNQSSBDUFU9 MAoJTElOVCBQaW49MQoJRmxhZ3M9e1BvbGFyaXR5PWFjdGl2ZS1oaSwgVHJpZ2dlcj1lZGdl fQoKCVR5cGU9TG9jYWwgTk1JCglBQ1BJIENQVT0xCglMSU5UIFBpbj0xCglGbGFncz17UG9s YXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CiAqLwovKgogIEJPT1Q6IExlbmd0aD00 MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTY0LAoJT0VNSUQ9UFRMVEQsIE9FTSBUYWJsZSBJ RD0kU0JGVEJMJCwgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9IExUUCwg Q3JlYXRvciBSZXZpc2lvbj0weDEKICovCi8qCiAgTUNGRzogTGVuZ3RoPTYwLCBSZXZpc2lv bj0xLCBDaGVja3N1bT0xMjcsCglPRU1JRD1JTlRFTCwgT0VNIFRhYmxlIElEPUFMVklTTywg T0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9TE9IUiwgQ3JlYXRvciBSZXZp c2lvbj0weDVmCgoJQmFzZSBBZGRyZXNzPSAweDAwMDAwMDAwZTAwMDAwMDAKCVNlZ21lbnQg R3JvdXA9IDB4MDAwMAoJU3RhcnQgQnVzPSAwCglFbmQgQnVzPSAyNTUKICovCi8qCiAgU1NE VDogTGVuZ3RoPTQ3OCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTI4LAoJT0VNSUQ9UG1SZWYs IE9FTSBUYWJsZSBJRD1DcHUwQ3N0LCBPRU0gUmV2aXNpb249MHgzMDAxLAoJQ3JlYXRvciBJ RD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwMzAyMjQKICovCi8qCiAgU1NEVDogTGVu Z3RoPTUwNywgUmV2aXNpb249MSwgQ2hlY2tzdW09MjMxLAoJT0VNSUQ9UG1SZWYsIE9FTSBU YWJsZSBJRD1DcHVQbSwgT0VNIFJldmlzaW9uPTB4MzAwMCwKCUNyZWF0b3IgSUQ9SU5UTCwg Q3JlYXRvciBSZXZpc2lvbj0weDIwMDMwMjI0CiAqLwovKgogKiBJbnRlbCBBQ1BJIENvbXBv bmVudCBBcmNoaXRlY3R1cmUKICogQU1MIERpc2Fzc2VtYmxlciB2ZXJzaW9uIDIwMDcwMzIw CiAqCiAqIERpc2Fzc2VtYmx5IG9mIC90bXAvYWNwaWR1bXAuNkRkdmR5LCBNb24gT2N0IDEz IDEwOjU1OjM0IDIwMDgKICoKICoKICogT3JpZ2luYWwgVGFibGUgSGVhZGVyOgogKiAgICAg U2lnbmF0dXJlICAgICAgICAiRFNEVCIKICogICAgIExlbmd0aCAgICAgICAgICAgMHgwMDAw M0ZDMyAoMTYzMjMpCiAqICAgICBSZXZpc2lvbiAgICAgICAgIDB4MDEKICogICAgIE9FTSBJ RCAgICAgICAgICAgIklOVEVMICIKICogICAgIE9FTSBUYWJsZSBJRCAgICAgIkFMVklTTyAg IgogKiAgICAgT0VNIFJldmlzaW9uICAgICAweDA2MDQwMDAwICgxMDA5MjU0NDApCiAqICAg ICBDcmVhdG9yIElEICAgICAgICJNU0ZUIgogKiAgICAgQ3JlYXRvciBSZXZpc2lvbiAweDAx MDAwMDBFICgxNjc3NzIzMCkKICovCkRlZmluaXRpb25CbG9jayAoIi90bXAvYWNwaWR1bXAu YW1sIiwgIkRTRFQiLCAxLCAiSU5URUwgIiwgIkFMVklTTyAgIiwgMHgwNjA0MDAwMCkKewog ICAgT3BlcmF0aW9uUmVnaW9uIChQT1JULCBTeXN0ZW1JTywgMHg4MCwgMHgwMSkKICAgIEZp ZWxkIChQT1JULCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFA4 MEgsICAgOAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoSU9fVCwgU3lzdGVtSU8sIDB4 MDgwMCwgMHgxMCkKICAgIEZpZWxkIChJT19ULCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgewogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAyKSwgCiAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MDQpLCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNiksIAogICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAgICAgVFJQMCwgICA4LCAKICAgICAg ICAgICAgICAgIE9mZnNldCAoMHgwQSksIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBC KSwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAgICAgIE9m ZnNldCAoMHgwRCksIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDBFKSwgCiAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4MEYpLCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxMCkK ICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKEdQSU8sIFN5c3RlbUlPLCAweDExODAsIDB4 M0MpCiAgICBGaWVsZCAoR1BJTywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgIHsK ICAgICAgICBHVTAwLCAgIDgsIAogICAgICAgIEdVMDEsICAgOCwgCiAgICAgICAgR1UwMiwg ICA4LCAKICAgICAgICBHVTAzLCAgIDgsIAogICAgICAgIEdJTzAsICAgOCwgCiAgICAgICAg R0lPMSwgICA4LCAKICAgICAgICBHSU8yLCAgIDgsIAogICAgICAgIEdJTzMsICAgOCwgCiAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICBHTDAwLCAgIDgsIAogICAg ICAgIEdMMDEsICAgOCwgCiAgICAgICAgICAgICwgICA1LCAKICAgICAgICBHUDIxLCAgIDEs IAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgR1AyMywgICAxLCAKICAgICAgICAgICAg LCAgIDEsIAogICAgICAgIEdQMjUsICAgMSwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MTApLCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxOCksIAogICAgICAgIEdCMDAsICAg OCwgCiAgICAgICAgR0IwMSwgICA4LCAKICAgICAgICBHQjAyLCAgIDgsIAogICAgICAgIEdC MDMsICAgOCwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MkMpLCAKICAgICAgICBHSVYw LCAgIDgsIAogICAgICAgIEdJVjEsICAgOCwgCiAgICAgICAgR0lWMiwgICA4LCAKICAgICAg ICBHSVYzLCAgIDgsIAogICAgICAgIEdVMDQsICAgOCwgCiAgICAgICAgR1UwNSwgICA4LCAK ICAgICAgICBHVTA2LCAgIDgsIAogICAgICAgIEdVMDcsICAgOCwgCiAgICAgICAgR0lPNCwg ICA4LCAKICAgICAgICBHSU81LCAgIDgsIAogICAgICAgIEdJTzYsICAgOCwgCiAgICAgICAg R0lPNywgICA4LCAKICAgICAgICAgICAgLCAgIDEsIAogICAgICAgIEdQMzMsICAgMSwgCiAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MzkpLCAKICAgICAgICBHTDA1LCAgIDgsIAogICAg ICAgIEdMMDYsICAgOCwgCiAgICAgICAgR0wwNywgICA4CiAgICB9CgogICAgT3BlcmF0aW9u UmVnaW9uIChNTlZTLCBTeXN0ZW1NZW1vcnksIDB4MEY2RUFFNEQsIDB4MDEwMCkKICAgIEZp ZWxkIChNTlZTLCBBbnlBY2MsIExvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIE9TWVMs ICAgMTYsIAogICAgICAgIFNNSUYsICAgOCwgCiAgICAgICAgUFJNMCwgICA4LCAKICAgICAg ICBQUk0xLCAgIDgsIAogICAgICAgIFNDSUYsICAgOCwgCiAgICAgICAgUFJNMiwgICA4LCAK ICAgICAgICBQUk0zLCAgIDgsIAogICAgICAgIExDS0YsICAgOCwgCiAgICAgICAgUFJNNCwg ICA4LCAKICAgICAgICBQUk01LCAgIDgsIAogICAgICAgIFA4MEQsICAgMzIsIAogICAgICAg IExJRFMsICAgOCwgCiAgICAgICAgUFdSUywgICA4LCAKICAgICAgICBEQkdTLCAgIDgsIAog ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgQVBJQywgICA4LCAKICAg ICAgICBDUFVMLCAgIDgsIAogICAgICAgIENQVUgsICAgOCwgCiAgICAgICAgR1YzRSwgICA4 LCAKICAgICAgICBIVFRFLCAgIDgsIAogICAgICAgIFdUSFQsICAgOCwgCiAgICAgICAgICAg ICAgICBPZmZzZXQgKDB4MzIpLCAKICAgICAgICBOQVRQLCAgIDgsIAogICAgICAgIENNQVAs ICAgOCwgCiAgICAgICAgQ01CUCwgICA4LCAKICAgICAgICBMUFRQLCAgIDgsIAogICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDNDKSwgCiAgICAgICAgSUdEUywgICA4LCAKICAgICAgICBU TFNULCAgIDgsIAogICAgICAgIENBREwsICAgOCwgCiAgICAgICAgUEFETCwgICA4LCAKICAg ICAgICBDU1RFLCAgIDE2LCAKICAgICAgICBOU1RFLCAgIDE2LCAKICAgICAgICBTU1RFLCAg IDE2LCAKICAgICAgICBORElELCAgIDgsIAogICAgICAgIERJRDEsICAgMzIsIAogICAgICAg IERJRDIsICAgMzIsIAogICAgICAgIERJRDMsICAgMzIsIAogICAgICAgIERJRDQsICAgMzIs IAogICAgICAgIERJRDUsICAgMzIsIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgyKSwg CiAgICAgICAgR1RGMCwgICA1NiwgCiAgICAgICAgR1RGMiwgICA1NiwgCiAgICAgICAgSURF TSwgICA4LCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5NiksIAogICAgICAgIFdOVkEs ICAgMzIsIAogICAgICAgIFdOVkIsICAgMzIsIAogICAgICAgIFdOVkMsICAgMzIsIAogICAg ICAgIFdOVkQsICAgMzIsIAogICAgICAgIFdGTEcsICAgMzIKICAgIH0KCiAgICBPcGVyYXRp b25SZWdpb24gKFJDUkIsIFN5c3RlbU1lbW9yeSwgMHhGMDAwODAwMCwgMHg0MDAwKQogICAg RmllbGQgKFJDUkIsIERXb3JkQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgxMDAwKSwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MzAw MCksIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDM0MDQpLCAKICAgICAgICBIUEFTLCAg IDIsIAogICAgICAgICAgICAsICAgNSwgCiAgICAgICAgSFBBRSwgICAxLCAKICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgzNDE4KSwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAgICBQ QVRELCAgIDEsIAogICAgICAgIFNBVEQsICAgMSwgCiAgICAgICAgU01CRCwgICAxLCAKICAg ICAgICBBWkFELCAgIDEsIAogICAgICAgIEE5N0QsICAgMSwgCiAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MzQxQSksIAogICAgICAgIFJQMUQsICAgMSwgCiAgICAgICAgUlAyRCwgICAx LCAKICAgICAgICBSUDNELCAgIDEsIAogICAgICAgIFJQNEQsICAgMQogICAgfQoKICAgIE11 dGV4IChNU01JLCAweDA3KQogICAgTWV0aG9kIChQSFNSLCAyLCBOb3RTZXJpYWxpemVkKQog ICAgewogICAgICAgIEFjcXVpcmUgKE1TTUksIDB4RkZGRikKICAgICAgICBTdG9yZSAoQXJn MSwgUFJNMCkKICAgICAgICBTdG9yZSAoQXJnMCwgU01JRikKICAgICAgICBTdG9yZSAoWmVy bywgVFJQMCkKICAgICAgICBTdG9yZSAoUFJNMCwgTG9jYWwwKQogICAgICAgIFJlbGVhc2Ug KE1TTUkpCiAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICB9CgogICAgTWV0aG9kIChIS0VZ LCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFBIU1IgKDB4MUUsIEFyZzApCiAg ICB9CgogICAgTWV0aG9kIChMQU1OLCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAg IElmIChcX1NCLkFNVzAuV0xNUCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcw LCBcX1NCLkFNVzAuV0xJRCkKICAgICAgICAgICAgTm90aWZ5IChcX1NCLkFNVzAsIDB4QjAp CiAgICAgICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIFBIU1IgKDB4 MUYsIEFyZzApCiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoUkJFQywgMSwgTm90U2Vy aWFsaXplZCkKICAgIHsKICAgICAgICBSZXR1cm4gKFBIU1IgKDB4MjAsIEFyZzApKQogICAg fQoKICAgIE1ldGhvZCAoV0JFQywgMiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBB Y3F1aXJlIChNU01JLCAweEZGRkYpCiAgICAgICAgU3RvcmUgKEFyZzEsIFBSTTEpCiAgICAg ICAgU3RvcmUgKEFyZzAsIFBSTTApCiAgICAgICAgU3RvcmUgKDB4MjEsIFNNSUYpCiAgICAg ICAgU3RvcmUgKFplcm8sIFRSUDApCiAgICAgICAgUmVsZWFzZSAoTVNNSSkKICAgIH0KCiAg ICBNZXRob2QgKE1CRUMsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgQWNxdWly ZSAoTVNNSSwgMHhGRkZGKQogICAgICAgIFN0b3JlIChBcmcyLCBQUk0yKQogICAgICAgIFN0 b3JlIChBcmcxLCBQUk0xKQogICAgICAgIFN0b3JlIChBcmcwLCBQUk0wKQogICAgICAgIFN0 b3JlICgweDIyLCBTTUlGKQogICAgICAgIFN0b3JlIChaZXJvLCBUUlAwKQogICAgICAgIFJl bGVhc2UgKE1TTUkpCiAgICB9CgogICAgTmFtZSAoQjJFRCwgQnVmZmVyICgweDE0KQogICAg ewogICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgLyogMDAwOCAqLyAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAvKiAwMDEwICov ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAKICAgIH0pCiAgICBNZXRob2QgKFdIMTUsIDIs IE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgQWNxdWlyZSAoTVNNSSwgMHhGRkZGKQog ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEsIDB4MDAsIERFQVgpCiAgICAgICAgQ3Jl YXRlRFdvcmRGaWVsZCAoQXJnMSwgMHgwNCwgREVCWCkKICAgICAgICBDcmVhdGVEV29yZEZp ZWxkIChBcmcxLCAweDA4LCBERUNYKQogICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzEs IDB4MEMsIERFRFgpCiAgICAgICAgU3RvcmUgKERFQVgsIFdOVkEpCiAgICAgICAgU3RvcmUg KERFQlgsIFdOVkIpCiAgICAgICAgU3RvcmUgKERFQ1gsIFdOVkMpCiAgICAgICAgU3RvcmUg KERFRFgsIFdOVkQpCiAgICAgICAgU3RvcmUgKDB4MjMsIFNNSUYpCiAgICAgICAgU3RvcmUg KFplcm8sIFRSUDApCiAgICAgICAgQ29uY2F0ZW5hdGUgKFdOVkEsIFdOVkIsIExvY2FsMCkK ICAgICAgICBDb25jYXRlbmF0ZSAoV05WQywgV05WRCwgTG9jYWwxKQogICAgICAgIENvbmNh dGVuYXRlIChMb2NhbDAsIExvY2FsMSwgQjJFRCkKICAgICAgICBTdG9yZSAoV0ZMRywgSW5k ZXggKEIyRUQsIDB4MTApKQogICAgICAgIFJlbGVhc2UgKE1TTUkpCiAgICAgICAgUmV0dXJu IChCMkVEKQogICAgfQoKICAgIE11dGV4IChNVVRYLCAweDAwKQogICAgTmFtZSAoX1MwLCBQ YWNrYWdlICgweDAzKQogICAgewogICAgICAgIDB4MDAsIAogICAgICAgIDB4MDAsIAogICAg ICAgIDB4MDAKICAgIH0pCiAgICBOYW1lIChfUzMsIFBhY2thZ2UgKDB4MDMpCiAgICB7CiAg ICAgICAgMHgwNSwgCiAgICAgICAgMHgwNSwgCiAgICAgICAgMHgwMAogICAgfSkKICAgIE5h bWUgKF9TNCwgUGFja2FnZSAoMHgwMykKICAgIHsKICAgICAgICAweDA2LCAKICAgICAgICAw eDA2LCAKICAgICAgICAweDAwCiAgICB9KQogICAgTmFtZSAoX1M1LCBQYWNrYWdlICgweDAz KQogICAgewogICAgICAgIDB4MDcsIAogICAgICAgIDB4MDcsIAogICAgICAgIDB4MDAKICAg IH0pCiAgICBTY29wZSAoXF9QUikKICAgIHsKICAgICAgICBQcm9jZXNzb3IgKENQVTAsIDB4 MDAsIDB4MDAwMDEwMTAsIDB4MDYpIHt9CiAgICAgICAgUHJvY2Vzc29yIChDUFUxLCAweDAx LCAweDAwMDAxMDEwLCAweDA2KSB7fQogICAgfQoKICAgIE5hbWUgKFxEU0VOLCAweDAxKQog ICAgTmFtZSAoXEVDT04sIDB4MDApCiAgICBOYW1lIChcR1BJQywgMHgwMCkKICAgIE5hbWUg KFxDVFlQLCAweDAwKQogICAgTmFtZSAoXEwwMUMsIDB4MDApCiAgICBNZXRob2QgKFxfUElD LCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3JlIChBcmcwLCBHUElDKQog ICAgfQoKICAgIE1ldGhvZCAoX1BUUywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAg ICBTdG9yZSAoQXJnMCwgUDgwSCkKICAgICAgICBJZiAoTE9yIChMRXF1YWwgKEFyZzAsIDB4 MDMpLCBMRXF1YWwgKEFyZzAsIDB4MDQpKSkKICAgICAgICB7CiAgICAgICAgICAgIFBIU1Ig KDB4MzAsIDB4MDApCiAgICAgICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDA0 KSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlICgweDAxLCBcX1NCLlBDSTAuTFBDQi5F QzAuQkxOSykKICAgICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDUpKQog ICAgICAgIHsKICAgICAgICAgICAgUEhTUiAoMHgzMSwgMHgwMCkKICAgICAgICB9CiAgICB9 CgogICAgTWV0aG9kIChfV0FLLCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0 b3JlIChBcmcwLCBQODBIKQogICAgICAgIFN0b3JlICgweDAwLCBcX1NCLlBDSTAuTFBDQi5F QzAuS1RBRikKICAgICAgICBTdG9yZSAoMHgwMSwgXF9TQi5QQ0kwLkxQQ0IuRUMwLktURUUp CiAgICAgICAgSWYgKExPciAoTEVxdWFsIChBcmcwLCAweDAzKSwgTEVxdWFsIChBcmcwLCAw eDA0KSkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9TQi5QQ0kwLkxQ Q0IuRUMwLk1VVEUpCiAgICAgICAgfQoKICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5MUENC LkVDMC5CQVQwLCAweDgxKQogICAgfQoKICAgIE5hbWUgKEZXU08sICJGV1NPIikKICAgIE5h bWUgKF9QU0MsIDB4MDApCiAgICBNZXRob2QgKF9QUzAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICB7CiAgICAgICAgU3RvcmUgKF9QU0MsIExvY2FsMCkKICAgICAgICBTdG9yZSAoMHgwMCwg X1BTQykKICAgIH0KCiAgICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICB7 CiAgICAgICAgU3RvcmUgKDB4MDMsIF9QU0MpCiAgICB9CgogICAgU2NvcGUgKFxfU0kpCiAg ICB7CiAgICAgICAgTWV0aG9kIChfU1NULCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsK ICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpIHt9CiAgICAgICAgICAgIElm IChMT3IgKExFcXVhbCAoQXJnMCwgMHgwMSksIExFcXVhbCAoQXJnMCwgMHgwMikpKSB7fQog ICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkge30KICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwNCkpIHt9CiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChc X0dQRSkKICAgIHsKICAgICAgICBNZXRob2QgKF9MMDEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgewogICAgICAgICAgICBBZGQgKEwwMUMsIDB4MDEsIEwwMUMpCiAgICAgICAgfQoK ICAgICAgICBNZXRob2QgKF9MMDMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAyKQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChfTDA0LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1l dGhvZCAoX0wwNSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElm IChBWkFEKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJ MC5NT0RNLCAweDAyKQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgewogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMDksIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChf TDBCLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChc X1NCLlBDSTAuUENJQiwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwQywg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5Q Q0kwLlVTQjMsIDB4MDIpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9MMEQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5V U0I3LCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDBFLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCNCwg MHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wxRCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlICgweDFELCBQODBIKQogICAgICAgICAg ICBOb3RpZnkgKFxfU0IuU0xQQiwgMHgwMikKICAgICAgICB9CiAgICB9CgogICAgU2NvcGUg KFxfVFopCiAgICB7CiAgICAgICAgTmFtZSAoVEJTRSwgMHgwQUFDKQogICAgICAgIE5hbWUg KENSVDAsIDB4MDApCiAgICAgICAgTmFtZSAoUFNWMCwgMHgwMCkKICAgICAgICBOYW1lIChQ U1ZBLCAweDAwKQogICAgICAgIFRoZXJtYWxab25lIChUWlMwKQogICAgICAgIHsKICAgICAg ICAgICAgTWV0aG9kIChfVE1QLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBJZiAoXEVDT04pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkVDMC5USFMwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkVDMC5LQ1NTLCBMb2NhbDEp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkVDMC5LT1NELCBM b2NhbDIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJCRUMgKDB4OTIpLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4MDEsIExvY2FsMSkKICAg ICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHgwOCwgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChSQkVDICgweEE4KSwgTG9jYWwwKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChMT3IgKExvY2FsMSwgUFNWQSkpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyRXF1YWwgKFBTVkEsIDB4 MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Vi dHJhY3QgKENSVDAsIDB4MDIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwgKExvY2FsMCwgUFNWMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZCAoUFNWMCwg MHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMb2NhbDIp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzRXF1YWwg KExvY2FsMCwgQ1JUMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBBZGQgKENSVDAsIDB4MDIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChDMksgKExvY2Fs MCkpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0NSVCwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKFxFQ09OKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDIwLCBcX1NCLlBD STAuTFBDQi5FQzAuVElJRCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kw LkxQQ0IuRUMwLlRTQzAsIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBXQkVDICgw eDAxLCAweDIwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChSQkVDICgweEQxKSwgTG9j YWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMT3IgKExHcmVh dGVyRXF1YWwgKExvY2FsMCwgMHg4MCksIExMZXNzIChMb2NhbDAsIDB4MUUpKSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg3OCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIENSVDAp CiAgICAgICAgICAgICAgICBSZXR1cm4gKEMySyAoTG9jYWwwKSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgTmFtZSAoX1BTTCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgXF9QUi5DUFUwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1l dGhvZCAoX1BTViwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgSWYgKFxFQ09OKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDIwLCBcX1NCLlBDSTAuTFBDQi5FQzAuVElJRCkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuRUMwLlRTUDAsIExvY2FsMCkKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBXQkVDICgweDAxLCAweDIwKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChSQkVDICgweEQwKSwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChMT3IgKExHcmVhdGVyRXF1YWwgKExvY2FsMCwgMHg4MCksIExMZXNzIChM b2NhbDAsIDB4MUUpKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg1QSwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDAsIFBTVjApCiAgICAgICAgICAgICAgICBSZXR1cm4gKEMySyAoTG9j YWwwKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoX1RDMSwgMHgwNCkKICAg ICAgICAgICAgTmFtZSAoX1RDMiwgMHgwMykKICAgICAgICAgICAgTmFtZSAoX1RTUCwgMHg5 NikKICAgICAgICB9CgogICAgICAgIFRoZXJtYWxab25lIChUWlMxKQogICAgICAgIHsKICAg ICAgICAgICAgTWV0aG9kIChfVE1QLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBJZiAoXEVDT04pCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkVDMC5USFMxLCBMb2NhbDApCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFJCRUMgKDB4QTkpLCBMb2NhbDApCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChDMksgKExvY2FsMCkpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0NSVCwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKFxFQ09OKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDIwLCBcX1NCLlBDSTAuTFBD Qi5FQzAuVElJRCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0Iu RUMwLlRTQzEsIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBXQkVDICgweDAxLCAw eDIwKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChSQkVDICgweEQzKSwgTG9jYWwwKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMT3IgKExHcmVhdGVyRXF1 YWwgKExvY2FsMCwgMHg4MCksIExMZXNzIChMb2NhbDAsIDB4MUUpKSkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg3OCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoQzJLIChMb2NhbDApKQogICAg ICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMySywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAg ICAgICAgIElmIChMTGVzc0VxdWFsIChMb2NhbDAsIDB4MTApKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBTdG9yZSAoMHgxRSwgTG9jYWwwKQogICAgICAgICAgICB9CgogICAg ICAgICAgICBJZiAoTEdyZWF0ZXJFcXVhbCAoTG9jYWwwLCAweDdGKSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgU3RvcmUgKDB4MUUsIExvY2FsMCkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgQWRkIChNdWx0aXBseSAoTG9jYWwwLCAweDBBKSwgVEJTRSwgTG9jYWww KQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhv ZCAoU1BTViwgMiwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFNoaWZ0 TGVmdCAoMHgwMSwgQXJnMCwgTG9jYWwwKQogICAgICAgICAgICBJZiAoQXJnMSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgT3IgKFBTVkEsIExvY2FsMCwgUFNWQSkKICAgICAg ICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IEFuZCAoUFNWQSwgTm90IChMb2NhbDApLCBQU1ZBKQogICAgICAgICAgICB9CiAgICAgICAg fQogICAgfQoKICAgIE1ldGhvZCAoR0VUUCwgMSwgU2VyaWFsaXplZCkKICAgIHsKICAgICAg ICBJZiAoTEVxdWFsIChBbmQgKEFyZzAsIDB4MDkpLCAweDAwKSkKICAgICAgICB7CiAgICAg ICAgICAgIFJldHVybiAoMHhGRkZGRkZGRikKICAgICAgICB9CgogICAgICAgIElmIChMRXF1 YWwgKEFuZCAoQXJnMCwgMHgwOSksIDB4MDgpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0 dXJuICgweDAzODQpCiAgICAgICAgfQoKICAgICAgICBTaGlmdFJpZ2h0IChBbmQgKEFyZzAs IDB4MDMwMCksIDB4MDgsIExvY2FsMCkKICAgICAgICBTaGlmdFJpZ2h0IChBbmQgKEFyZzAs IDB4MzAwMCksIDB4MEMsIExvY2FsMSkKICAgICAgICBSZXR1cm4gKE11bHRpcGx5ICgweDFF LCBTdWJ0cmFjdCAoMHgwOSwgQWRkIChMb2NhbDAsIExvY2FsMSkpCiAgICAgICAgICAgICkp CiAgICB9CgogICAgTWV0aG9kIChHRE1BLCA1LCBTZXJpYWxpemVkKQogICAgewogICAgICAg IElmIChBcmcwKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExBbmQgKEFyZzEsIEFyZzQp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MTQpCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmIChMQW5kIChBcmcyLCBBcmc0KSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoU3VidHJhY3QgKDB4MDQsIEFy ZzMpLCAweDBGKSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChNdWx0aXBs eSAoU3VidHJhY3QgKDB4MDQsIEFyZzMpLCAweDFFKSkKICAgICAgICB9CgogICAgICAgIFJl dHVybiAoMHhGRkZGRkZGRikKICAgIH0KCiAgICBNZXRob2QgKEdFVFQsIDEsIFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgUmV0dXJuIChNdWx0aXBseSAoMHgxRSwgU3VidHJhY3QgKDB4 MDksIEFkZCAoQW5kIChTaGlmdFJpZ2h0IChBcmcwLCAweDAyCiAgICAgICAgICAgICksIDB4 MDMpLCBBbmQgKEFyZzAsIDB4MDMpKSkpKQogICAgfQoKICAgIE1ldGhvZCAoR0VURiwgMywg U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBOYW1lIChUTVBGLCAweDAwKQogICAgICAgIElm IChBcmcwKQogICAgICAgIHsKICAgICAgICAgICAgT3IgKFRNUEYsIDB4MDEsIFRNUEYpCiAg ICAgICAgfQoKICAgICAgICBJZiAoQW5kIChBcmcyLCAweDAyKSkKICAgICAgICB7CiAgICAg ICAgICAgIE9yIChUTVBGLCAweDAyLCBUTVBGKQogICAgICAgIH0KCiAgICAgICAgSWYgKEFy ZzEpCiAgICAgICAgewogICAgICAgICAgICBPciAoVE1QRiwgMHgwNCwgVE1QRikKICAgICAg ICB9CgogICAgICAgIElmIChBbmQgKEFyZzIsIDB4MjApKQogICAgICAgIHsKICAgICAgICAg ICAgT3IgKFRNUEYsIDB4MDgsIFRNUEYpCiAgICAgICAgfQoKICAgICAgICBJZiAoQW5kIChB cmcyLCAweDQwMDApKQogICAgICAgIHsKICAgICAgICAgICAgT3IgKFRNUEYsIDB4MTAsIFRN UEYpCiAgICAgICAgfQoKICAgICAgICBSZXR1cm4gKFRNUEYpCiAgICB9CgogICAgTWV0aG9k IChTRVRQLCAzLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmIChMR3JlYXRlciAoQXJn MCwgMHhGMCkpCiAgICAgICAgewogICAgICAgICAgICBSZXR1cm4gKDB4MDgpCiAgICAgICAg fQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAgICAgIElmIChBbmQgKEFyZzEsIDB4 MDIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTExlc3NFcXVh bCAoQXJnMCwgMHg3OCksIEFuZCAoQXJnMiwgMHgwMikpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgyMzAxKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcwLCAweEI0KSwgQW5k IChBcmcyLCAweDAxKSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDIxMDEpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIFJldHVybiAoMHgxMDAxKQogICAgICAgIH0KICAgIH0KCiAgICBNZXRob2QgKFNE TUEsIDEsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExMZXNzRXF1YWwgKEFyZzAs IDB4MTQpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgIH0K CiAgICAgICAgSWYgKExMZXNzRXF1YWwgKEFyZzAsIDB4MUUpKQogICAgICAgIHsKICAgICAg ICAgICAgUmV0dXJuICgweDAyKQogICAgICAgIH0KCiAgICAgICAgSWYgKExMZXNzRXF1YWwg KEFyZzAsIDB4MkQpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAg ICAgIH0KCiAgICAgICAgSWYgKExMZXNzRXF1YWwgKEFyZzAsIDB4M0MpKQogICAgICAgIHsK ICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgIH0KCiAgICAgICAgSWYgKExMZXNz RXF1YWwgKEFyZzAsIDB4NUEpKQogICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAx KQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuICgweDAwKQogICAgfQoKICAgIE1ldGhvZCAo U0VUVCwgMywgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoQW5kIChBcmcxLCAweDAy KSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChMQW5kIChMTGVzc0VxdWFsIChBcmcwLCAw eDc4KSwgQW5kIChBcmcyLCAweDAyKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFJldHVybiAoMHgwQikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExBbmQgKExM ZXNzRXF1YWwgKEFyZzAsIDB4QjQpLCBBbmQgKEFyZzIsIDB4MDEpKSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICB9CiAgICAgICAg fQoKICAgICAgICBSZXR1cm4gKDB4MDQpCiAgICB9CgogICAgU2NvcGUgKFxfU0IpCiAgICB7 CiAgICAgICAgRGV2aWNlIChBTVcwKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJ RCwgIipwbnAwYzE0IikKICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMCkKICAgICAgICAg ICAgTmFtZSAoV0xJRCwgMHgwMCkKICAgICAgICAgICAgTmFtZSAoV0xNUCwgMHgwMCkKICAg ICAgICAgICAgTmFtZSAoX1dERywgQnVmZmVyICgweDNDKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAvKiAwMDAwICovICAgIDB4ODEsIDB4MTcsIDB4RjQsIDB4RDksIDB4MzMs IDB4RjYsIDB4MDAsIDB4NDQsIAogICAgICAgICAgICAgICAgLyogMDAwOCAqLyAgICAweDkz LCAweDU1LCAweDYwLCAweDE3LCAweDcwLCAweEJFLCAweEM1LCAweDEwLCAKICAgICAgICAg ICAgICAgIC8qIDAwMTAgKi8gICAgMHg0MSwgMHg0MSwgMHgwMSwgMHgwMCwgMHgxRCwgMHgz NywgMHhDMywgMHg2NywgCiAgICAgICAgICAgICAgICAvKiAwMDE4ICovICAgIDB4QTMsIDB4 OTUsIDB4MzcsIDB4NEMsIDB4QkIsIDB4NjEsIDB4REQsIDB4NDcsIAogICAgICAgICAgICAg ICAgLyogMDAyMCAqLyAgICAweEI0LCAweDkxLCAweERBLCAweEFCLCAweDQxLCAweDQyLCAw eDAxLCAweDAyLCAKICAgICAgICAgICAgICAgIC8qIDAwMjggKi8gICAgMHg3MSwgMHhCRiwg MHhEMSwgMHg0MCwgMHgyRCwgMHhBOCwgMHg1OSwgMHg0RSwgCiAgICAgICAgICAgICAgICAv KiAwMDMwICovICAgIDB4QTEsIDB4NjgsIDB4MzksIDB4ODUsIDB4RTAsIDB4M0IsIDB4MkUs IDB4ODcsIAogICAgICAgICAgICAgICAgLyogMDAzOCAqLyAgICAweEIwLCAweDAwLCAweDAx LCAweDA4CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEIwRUQsIEJ1ZmZlciAo MHgwNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMAogICAgICAgICAgICB9KQogICAgICAgICAgICBOYW1lIChCMUVELCBCdWZmZXIgKDB4 MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAKICAgICAgICAgICAgfSkKICAgICAgICAgICAgTWV0aG9kIChfV0VELCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoMHhCMCwgUDgw SCkKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4QjApKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChXTElELCBCMEVEKQogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQjBFRCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTWV0aG9kIChXUUFBLCAxLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoMHhBQSwgUDgwSCkKICAgICAgICAg ICAgICAgIFJldHVybiAoQjFFRCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9k IChXU0FBLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBTdG9yZSAoMHhBMSwgUDgwSCkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KEFyZzEsIDB4MDAsIERERDApCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChEREQwLCAw eDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBZGQgKERERDAs IDB4MDIsIERERDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERERDAsIEluZGV4IChC MUVELCAweDAwKSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTWV0aG9kIChXTUFCLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBTdG9yZSAoMHhBQiwgUDgwSCkKICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxLCBXTE1QKQogICAgICAgICAgICAgICAgUmV0dXJuIChXSDE1IChBcmcxLCBBcmcyKSkK ICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChMSUQwKQogICAgICAg IHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRCIpKQogICAgICAg ICAgICBNZXRob2QgKF9MSUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIElmIChcRUNPTikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuRUMwLktMSUQsIExvY2FsMCkKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBBbmQgKFxSQkVDICgweDcwKSwgMHgwMiwgTG9jYWwwKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg fQoKICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBJZiAoXEVDT04pCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFxfU0IuUENJMC5MUENCLkVDMC5MSURX KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXE1CRUMgKDB4NzIsIDB4RUYsIDB4MTApCiAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFxNQkVDICgweDcyLCAweEVG LCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgxRCwgCiAgICAgICAgICAgICAgICAweDAzCiAg ICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKFNMUEIpCiAgICAgICAg ewogICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBFIikpCiAgICAgICAg ICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIDB4MUQsIAogICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICB9KQogICAg ICAgIH0KCiAgICAgICAgRGV2aWNlIChQQ0kwKQogICAgICAgIHsKICAgICAgICAgICAgTWV0 aG9kIChfSU5JLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBJZiAoQ29uZFJlZk9mIChfT1NJLCBMb2NhbDApKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3RDEsIE9TWVMpCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKExPciAoTEVxdWFsIChTaXplT2YgKF9PUyksIDB4MTQpLCBMRXF1YWwg KFNpemVPZiAoX09TKSwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDdEMCwgT1NZUykKICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU2l6ZU9mIChfT1MpLCAweDI3KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDdDRiwgT1NZUykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA3Q0UsIE9TWVMpCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEEwOCIpKQogICAg ICAgICAgICBOYW1lIChfQ0lELCAweDAzMEFEMDQxKQogICAgICAgICAgICBOYW1lIChfQURS LCAweDAwKQogICAgICAgICAgICBOYW1lIChfQkJOLCAweDAwKQogICAgICAgICAgICBPcGVy YXRpb25SZWdpb24gKEhCVVMsIFBDSV9Db25maWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAg IEZpZWxkIChIQlVTLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NTApLCAKICAgICAgICAgICAg ICAgICAgICAsICAgNCwgCiAgICAgICAgICAgICAgICBQTTBILCAgIDIsIAogICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4NTEpLCAKICAgICAgICAgICAgICAgIFBNMUwsICAg MiwgCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgUE0xSCwg ICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDUyKSwgCiAgICAgICAg ICAgICAgICBQTTJMLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAg ICAgICAgICAgIFBNMkgsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHg1MyksIAogICAgICAgICAgICAgICAgUE0zTCwgICAyLCAKICAgICAgICAgICAgICAgICAg ICAsICAgMiwgCiAgICAgICAgICAgICAgICBQTTNILCAgIDIsIAogICAgICAgICAgICAgICAg ICAgICAgICBPZmZzZXQgKDB4NTQpLCAKICAgICAgICAgICAgICAgIFBNNEwsICAgMiwgCiAg ICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgUE00SCwgICAyLCAK ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDU1KSwgCiAgICAgICAgICAgICAg ICBQTTVMLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAg ICAgIFBNNUgsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg1Niks IAogICAgICAgICAgICAgICAgUE02TCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAsICAg MiwgCiAgICAgICAgICAgICAgICBQTTZILCAgIDIsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4NTcpLCAKICAgICAgICAgICAgICAgICAgICAsICAgNywgCiAgICAgICAg ICAgICAgICBIRU5BLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 NUMpLCAKICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICBUT1VE LCAgIDUsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QTQpLCAKICAgICAg ICAgICAgICAgICAgICAsICAgNiwgCiAgICAgICAgICAgICAgICBJR0RELCAgIDEKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBXb3JkQnVzTnVtYmVyIChSZXNvdXJjZVBy b2R1Y2VyLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwKICAgICAgICAgICAgICAg ICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMEZGLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAg ICAgICAgICAgICAgMHgwMDAwLCAgICAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQK ICAgICAgICAgICAgICAgICAgICAweDAxMDAsICAgICAgICAgICAgIC8vIExlbmd0aAogICAg ICAgICAgICAgICAgICAgIDB4MDAsLCApCiAgICAgICAgICAgICAgICBEV29yZElPIChSZXNv dXJjZVByb2R1Y2VyLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFu Z2UsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxh cml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gUmFuZ2Ug TWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDBDRjcsICAgICAgICAgLy8gUmFu Z2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8g VHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMENGOCwgICAg ICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgLCBUeXBlU3RhdGlj KQogICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgIDB4 MENGOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAg IDB4MENGOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAg ICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICBEV29yZElPIChSZXNvdXJjZVByb2R1Y2VyLCBNaW5GaXhlZCwg TWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2UsCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAg IDB4MDAwMDBEMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgIDB4MDAwMEZGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwRjMwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAg ICAgICAgICAgICAweDAwLCwgLCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRN ZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBBMDAw MCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBC RkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAg ICAgICAweDAwMDIwMDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg IDB4MDAsLCAsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAg ICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVk LCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAg MHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAg IDB4MDAwQzAwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgIDB4MDAwQzNGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAg ICAgICAgICAgICAweDAwLCwgX1kwMCwgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGlj KQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAg ICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgMHgwMDBDN0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlv biBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExl bmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTAxLCBBZGRyZXNzUmFuZ2VNZW1v cnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQ cm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVh ZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3Jh bnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEM4MDAwLCAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMENCRkZGLCAgICAgICAgIC8v IFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAs ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMDIsIEFk ZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVt b3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwg Q2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwg ICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwQ0MwMDAs ICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwQ0ZG RkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwNDAwMCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAw eDAwLCwgX1kwMywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAg ICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4 ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAg ICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAg ICAgMHgwMDBEMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAg ICAgICAgMHgwMDBEM0ZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAg ICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgIDB4MDAsLCBfWTA0LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0 aWMpCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9z RGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAg ICAgICAgICAgICAgICAgICAweDAwMEQ0MDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0K ICAgICAgICAgICAgICAgICAgICAweDAwMEQ3RkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGlt dW0KICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0 aW9uIE9mZnNldAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgMHgwMCwsIF9ZMDUsIEFkZHJlc3NSYW5nZU1l bW9yeSwgVHlwZVN0YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJj ZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBS ZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBH cmFudWxhcml0eQogICAgICAgICAgICAgICAgICAgIDB4MDAwRDgwMDAsICAgICAgICAgLy8g UmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwREJGRkYsICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAg ICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAw MCwgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kwNiwg QWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRN ZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAw LCAgICAgICAgIC8vIEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBEQzAw MCwgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBE RkZGRiwgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgICAgICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAg ICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg IDB4MDAsLCBfWTA3LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAg ICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5G aXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAg ICAgICAweDAwMEUwMDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAg ICAgICAgICAweDAwMEUzRkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwsIF9ZMDgsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0 YXRpYykKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQ b3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQog ICAgICAgICAgICAgICAgICAgIDB4MDAwRTQwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11 bQogICAgICAgICAgICAgICAgICAgIDB4MDAwRTdGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4 aW11bQogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNs YXRpb24gT2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgICAgICAgICAv LyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAweDAwLCwgX1kwOSwgQWRkcmVzc1Jhbmdl TWVtb3J5LCBUeXBlU3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291 cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUs IFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8v IEdyYW51bGFyaXR5CiAgICAgICAgICAgICAgICAgICAgMHgwMDBFODAwMCwgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFQkZGRiwgICAgICAg ICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAg ICAgICAvLyBUcmFuc2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDA0 MDAwLCAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTBB LCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgICAgICBEV29y ZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4 ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAsICAgICAgICAgLy8gR3JhbnVsYXJpdHkKICAgICAgICAgICAgICAgICAgICAweDAwMEVD MDAwLCAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAweDAw MEVGRkZGLCAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLCAgICAgICAgIC8vIFRyYW5zbGF0aW9uIE9mZnNldAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDQwMDAsICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAg ICAgMHgwMCwsIF9ZMEIsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykKICAgICAg ICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAg ICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBHcmFudWxhcml0eQogICAgICAgICAgICAg ICAgICAgIDB4MDAwRjAwMDAsICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgIDB4MDAwRkZGRkYsICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsICAgICAgICAgLy8gVHJhbnNsYXRpb24gT2Zmc2V0 CiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCwgICAgICAgICAvLyBMZW5ndGgKICAg ICAgICAgICAgICAgICAgICAweDAwLCwgX1kwQywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBl U3RhdGljKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIs IFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwK ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAgIC8vIEdyYW51bGFyaXR5 CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgMHhGRUJGRkZGRiwgICAgICAgICAvLyBSYW5nZSBN YXhpbXVtCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAvLyBUcmFu c2xhdGlvbiBPZmZzZXQKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgIDB4MDAsLCBfWTBELCBBZGRyZXNzUmFu Z2VNZW1vcnksIFR5cGVTdGF0aWMpCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg SWYgKFBNMUwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl RFdvcmRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMDAuX0xFTiwgQzBMTikKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoWmVybywgQzBMTikKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChQTTFMLCAweDAxKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9Z MDAuX1JXLCBDMFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDMFJXKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTFIKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIFxf U0IuUENJMC5fWTAxLl9MRU4sIEM0TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFpl cm8sIEM0TE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoUE0xSCwgMHgwMSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg Q3JlYXRlQml0RmllbGQgKEJVRjAsIFxfU0IuUENJMC5fWTAxLl9SVywgQzRSVykKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzRSVykKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBJZiAoUE0yTCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCBcX1NCLlBDSTAuX1kwMi5fTEVOLCBD OExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDOExOKQogICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNMkwsIDB4MDEpKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYw LCBcX1NCLlBDSTAuX1kwMi5fUlcsIEM4UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFplcm8sIEM4UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBN MkgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRG aWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMDMuX0xFTiwgQ0NMTikKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoWmVybywgQ0NMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChQTTJILCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMDMuX1JX LCBDQ1JXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDQ1JXKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTNMKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIFxfU0IuUENJ MC5fWTA0Ll9MRU4sIEQwTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQw TE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0z TCwgMHgwMSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qml0RmllbGQgKEJVRjAsIFxfU0IuUENJMC5fWTA0Ll9SVywgRDBSVykKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoWmVybywgRDBSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBJZiAoUE0zSCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCBcX1NCLlBDSTAuX1kwNS5fTEVOLCBENExOKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBENExOKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNM0gsIDB4MDEpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCBcX1NC LlBDSTAuX1kwNS5fUlcsIEQ0UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEQ0UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNEwpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo QlVGMCwgXF9TQi5QQ0kwLl9ZMDYuX0xFTiwgRDhMTikKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoWmVybywgRDhMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChQTTRMLCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMDYuX1JXLCBEOFJX KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEOFJXKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTRIKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIFxfU0IuUENJMC5fWTA3 Ll9MRU4sIERDTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIERDTE4pCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE00SCwgMHgw MSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0Rmll bGQgKEJVRjAsIFxfU0IuUENJMC5fWTA3Ll9SVywgRENSVykKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgRENSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBJZiAoUE01TCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVh dGVEV29yZEZpZWxkIChCVUYwLCBcX1NCLlBDSTAuX1kwOC5fTEVOLCBFMExOKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFMExOKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNUwsIDB4MDEpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCBcX1NCLlBDSTAu X1kwOC5fUlcsIEUwUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEUwUlcp CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNUgpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwg XF9TQi5QQ0kwLl9ZMDkuX0xFTiwgRTRMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo WmVybywgRTRMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChQTTVILCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBDcmVhdGVCaXRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMDkuX1JXLCBFNFJXKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFNFJXKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIElmIChQTTZMKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIFxfU0IuUENJMC5fWTBBLl9MRU4s IEU4TE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEU4TE4pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE02TCwgMHgwMSkpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJV RjAsIFxfU0IuUENJMC5fWTBBLl9SVywgRThSVykKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoWmVybywgRThSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAo UE02SCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChCVUYwLCBcX1NCLlBDSTAuX1kwQi5fTEVOLCBFQ0xOKQogICAgICAgICAgICAg ICAgICAgIFN0b3JlIChaZXJvLCBFQ0xOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKFBNNkgsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCBcX1NCLlBDSTAuX1kwQi5f UlcsIEVDUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEVDUlcpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNMEgpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgXF9TQi5Q Q0kwLl9ZMEMuX0xFTiwgRjBMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywg RjBMTikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQ TTBILCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVh dGVCaXRGaWVsZCAoQlVGMCwgXF9TQi5QQ0kwLl9ZMEMuX1JXLCBGMFJXKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChaZXJvLCBGMFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIFxfU0IuUENJMC5fWTBELl9NSU4s IE0xTU4pCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCBcX1NCLlBD STAuX1kwRC5fTUFYLCBNMU1YKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo QlVGMCwgXF9TQi5QQ0kwLl9ZMEQuX0xFTiwgTTFMTikKICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoVE9VRCwgMHgxQiwgTTFNTikKICAgICAgICAgICAgICAgIEFkZCAoU3VidHJhY3Qg KE0xTVgsIE0xTU4pLCAweDAxLCBNMUxOKQogICAgICAgICAgICAgICAgUmV0dXJuIChCVUYw KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgxMSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MTAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDA3RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgxMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAgICAgICAgfSwg CgogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMUNGRkZGLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDFDRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAy LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgxMgogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTMKICAgICAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwMURGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDE3CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMQogICAgICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTIKICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICBQYWNr YWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDA3LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNwogICAgICAgICAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAxRUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MTUKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMUVGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDE1CiAgICAgICAgICAgICAgICAgICAgICAg IH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFGRkZG RiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAog ICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMUZGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgxMSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTFBDQi5MTktBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ Q0IuTE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDA3RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMUNGRkZGLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw LkxQQ0IuTE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAg ICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDFDRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0MsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxQ0ZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5Q Q0kwLkxQQ0IuTE5LSCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAg ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0IsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxREZG RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktDLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9T Qi5QQ0kwLkxQQ0IuTE5LRCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAg ICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDA3LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0gs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAx RUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMUVGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg XF9TQi5QQ0kwLkxQQ0IuTE5LRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxO S0EsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMUZGRkZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKFBF R1ApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwMTAw MDApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QUlQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEdQSUMpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAo MHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDEzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAx LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktC LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ Q0IuTE5LQywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MUENCLkxOS0QsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoR0ZYMCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMDAyMDAwMCkKICAgICAgICAgICAgICAgIE1ldGhvZCAo X0RPUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQW5kIChBcmcwLCAweDAzKSwgRFNFTikKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9ET0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MTAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDEwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMjQwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMzIwCiAgICAg ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBE ZXZpY2UgKENSVCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAxMDApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUEhTUiAoMHgyNSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQ1NURSwgMHgwMTAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChOU1RFLCAweDAxMDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAw MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBE ZXZpY2UgKFRWMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAyNDApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUEhTUiAoMHgyNSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQ1NURSwgMHgwMjAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChOU1RFLCAweDAyMDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAw MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBE ZXZpY2UgKERWSSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDAzMjApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUEhTUiAoMHgyNSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQ1NURSwgMHgwNDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChOU1RFLCAweDA0MDQpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAw MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBE ZXZpY2UgKExDRCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQURSLCAweDA0MTApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUEhTUiAoMHgyNSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoQ1NURSwgMHgwODA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUQpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChOU1RFLCAweDA4MDgpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RTUywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoQXJnMCwgMHhDMDAwMDAwMCksIDB4QzAwMDAw MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTlNURSwgQ1NURSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgRGV2aWNlIChVU0IxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBO YW1lIChfQURSLCAweDAwMUQwMDAwKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChVMUNTLCBQQ0lfQ29uZmlnLCAweEM0LCAweDA0KQogICAgICAgICAgICAgICAgRmllbGQg KFUxQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFUxRU4sICAgMgogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgMHgwMwog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTVywgMSwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAo QXJnMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAzLCBVMUVOKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMCwgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFVTQjIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDAxRDAwMDEpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFUyQ1Ms IFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVsZCAoVTJDUywg RFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgVTJFTiwgICAyCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAweDA0LCAKICAgICAgICAgICAgICAgICAgICAweDAzCiAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDMsIFUyRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBVMkVOKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBNZXRob2QgKF9TM0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1M0RCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4 MDIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoVVNCMykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MDFEMDAwMikKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVTJDUywgUENJX0Nv bmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZpZWxkIChVMkNTLCBEV29yZEFj YywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBVM0VOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBOYW1l IChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIDB4MEMsIAogICAgICAgICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzApCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgVTNF TikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IFUzRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0I0 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAz KQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChVNENTLCBQQ0lfQ29uZmlnLCAw eEM0LCAweDA0KQogICAgICAgICAgICAgICAgRmllbGQgKFU0Q1MsIERXb3JkQWNjLCBOb0xv Y2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFU0 RU4sICAgMgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcs IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwRSwgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1BTVywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBVNEVOKQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVTRFTikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKFVTQjcpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDcpCiAgICAg ICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIDB4MEQsIAogICAgICAgICAgICAgICAgICAgIDB4MDMK ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAo UENJQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFF MDAwMCkKICAgICAgICAgICAgICAgIERldmljZSAoTEFOQikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDcwMDAwKQogICAgICAgICAg ICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAgICAgICAgICAg ICAgICAgMHgwNQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA2 KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNUZGRkYsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTUKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMDA3RkZGRiwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwOUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTYKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxNgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDlGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDE2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwNikKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDVGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktG LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwN0ZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ MC5MUENCLkxOS0UsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA5RkZGRiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDlGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktHLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw OUZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0csIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDA5RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5L RywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAg ICAgRGV2aWNlIChBVUQwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChf QURSLCAweDAwMUUwMDAyKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKE1P RE0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRTAw MDMpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDUsIAogICAgICAgICAgICAgICAg ICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IERldmljZSAoTFBDQikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FE UiwgMHgwMDFGMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTFBDMCwg UENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChMUEMwLCBB bnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICAgICAgICAgICAgICBQ QVJDLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFBCUkMsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgUENSQywgICA4LCAKICAgICAgICAgICAgICAgICAgICBQRFJDLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI4KSwgCiAgICAgICAgICAg ICAgICAgICAgUEVSQywgICA4LCAKICAgICAgICAgICAgICAgICAgICBQRlJDLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFBHUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUEhS QywgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MCksIAog ICAgICAgICAgICAgICAgICAgIElPRDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSU9E MSwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktB KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAx KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQQVJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMEUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExBLCBcX1NCLlBDSTAuTFBDQi5MTktBLl9DUlMuX1kwRS5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBBUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEEpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEFSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBBUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktC KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAy KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQQlJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEIsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMEYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExCLCBcX1NCLlBDSTAuTFBDQi5MTktCLl9DUlMuX1kwRi5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBCUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEIpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEJSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBCUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktD KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDAz KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQQ1JDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExDLCBcX1NCLlBDSTAuTFBDQi5MTktDLl9DUlMuX1kxMC5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBDUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEMpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UENSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBDUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktE KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA0 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQRFJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEQsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExELCBcX1NCLlBDSTAuTFBDQi5MTktELl9DUlMuX1kxMS5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBEUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEQpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UERSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBEUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktF KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA1 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQRVJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEUsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExFLCBcX1NCLlBDSTAuTFBDQi5MTktFLl9DUlMuX1kxMi5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBFUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEUpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEVSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBFUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktG KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA2 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQRlJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEYsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExGLCBcX1NCLlBDSTAuTFBDQi5MTktGLl9DUlMuX1kxMy5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBGUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEZSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBGUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktH KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA3 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQR1JDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEcsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExHLCBcX1NCLlBDSTAuTFBDQi5MTktHLl9DUlMuX1kxNC5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBHUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEcpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEdSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBHUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktI KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVp c2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA4 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgw LCBQSFJDKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMCwxMX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEgsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQs IF9ZMTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChSVExILCBcX1NCLlBDSTAuTFBDQi5MTktILl9DUlMuX1kxNS5fSU5ULCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBIUkMsIDB4MEYpLCBJUlEwKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEgpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk RmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRT ZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNy ZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg UEhSQykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKFBIUkMsIDB4ODApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChFQzAp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEMwOSIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9HUEUsIDB4MTcp CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDBGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDYyLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwNjIsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQWxp Z25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwNjYsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDA2NiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEVDTzEsIFN5c3RlbUlP LCAweDYyLCAweDAxKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChFQ08xLCBCeXRlQWNj LCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFBYNjIsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChFQ08yLCBTeXN0ZW1JTywgMHg2NiwgMHgwMSkK ICAgICAgICAgICAgICAgICAgICBGaWVsZCAoRUNPMiwgQnl0ZUFjYywgTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQWDY2 LCAgIDgKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE9wZXJh dGlvblJlZ2lvbiAoUkFNLCBFbWJlZGRlZENvbnRyb2wsIDB4MDAsIDB4RkYpCiAgICAgICAg ICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0 ICgweDBBKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIEJMTkssICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEtMSUQsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAgICAgIEtBQ1MsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcxKSwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEVaNEQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE1VVEUsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEtCSUQsICAgMywgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDcyKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEtFWVcsICAgMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIFRQRFcsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIExJ RFcsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJMMlcsICAgMQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNjLCBM b2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAxKSwgCiAgICAgICAgICAgICAgICAgICAgICAg IFRJSUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDEwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEtURUUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweDExKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEtQUFMsICAgMSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDkxKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFRUSUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IEtDU1MsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEtDVFQsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEtEVFQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAg IEtPU0QsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEtWVFAsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE4KSwgCiAgICAgICAgICAg ICAgICAgICAgICAgIFRIUzAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIUzEs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIUzIsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgIFRIUzMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIUzQs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIUzUsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgIFRIUzYsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIUzcs ICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQg KFJBTSwgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDkyKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIEtUQUYsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDkyKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRIU0wsICAgNAogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNj LCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEQwKSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTUDAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTQzAsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTUDEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTQzEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTUDIsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTQzIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTUDMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTQzMsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTUDQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTQzQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTUDUsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTQzUsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTUDYsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIFRTQzYsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIFRTUDcsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIFRTQzcsICAgOAogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfUkVHLCAyLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChBcmcxLCBFQ09OKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgVElOSSAoKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKFRJTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgS1RB RikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEtURUUpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTYsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgxNiwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTEFNTiAo MHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1EyNCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDI0LCBQODBIKQogICAgICAgICAgICAgICAg ICAgICAgICBMQU1OICgweDZBKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTI1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MjUsIFA4MEgpCiAg ICAgICAgICAgICAgICAgICAgICAgIExBTU4gKDB4NkQpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTcsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgxNywgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlNMUEIs IDB4ODApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKEhLRFMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDAwLCBEU0VOKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgxMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBIU1IgKDB4MjcsIDB4MDApLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyRXF1YWwgKExv Y2FsMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QXJnMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwMCkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDEwMSwgTlNURSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDEpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDA4MDgsIE5TVEUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAw eDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwOTA5LCBOU1RFKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExv Y2FsMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQwNCwgTlNURSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChMb2NhbDAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyMDIsIE5TVEUpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoTG9jYWwwLCAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQzBDLCBOU1RF KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwNikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEEw QSwgTlNURSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAuSUdERCwgMHgwMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoMHgwMSwgRFNFTikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBIU1IgKDB4MjYsIDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1ExOSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDE5LCBQODBIKQogICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChQSFNSICgweDI0LCAweDAwKSwgMHgwMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIExBTU4gKDB4 MDUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBIS0RTICgweDEwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RODAsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHg4MCwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgSEtEUyAoMHgw MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1E4MSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDgxLCBQODBIKQogICAgICAgICAgICAgICAgICAg ICAgICBIS0RTICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTgyLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODIsIFA4MEgpCiAgICAg ICAgICAgICAgICAgICAgICAgIEhLRFMgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RODMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4 MywgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgSEtEUyAoMHgwMykKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E4NCwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDg0LCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBIS0RTICgw eDA0KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUTg1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODUsIFA4MEgpCiAgICAgICAgICAgICAgICAg ICAgICAgIEhLRFMgKDB4MDUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9RODYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4NiwgUDgwSCkKICAg ICAgICAgICAgICAgICAgICAgICAgSEtEUyAoMHgwNikKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExQSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDFBLCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBMQU1OICgweDA2KQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTVDLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NUMsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgIEhLRVkg KDB4NUMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9RMUUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxRSwgUDgwSCkKICAgICAgICAgICAgICAg ICAgICAgICAgTEFNTiAoMHgyMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1ExRiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDFGLCBQODBIKQog ICAgICAgICAgICAgICAgICAgICAgICBMQU1OICgweDIxKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTIyLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MjIsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgIExBTU4gKDB4MDcpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTAsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgxMCwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTEFN TiAoMHgzMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1ExMSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDExLCBQODBIKQogICAgICAgICAgICAg ICAgICAgICAgICBMQU1OICgweDM2KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfUTEyLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTIsIFA4MEgp CiAgICAgICAgICAgICAgICAgICAgICAgIExBTU4gKDB4MzEpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTMsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgxMywgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTEFNTiAoMHgxMSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExNCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDE0LCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBM QU1OICgweDEyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg TWV0aG9kIChfUTE1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTUsIFA4MEgpCiAgICAgICAgICAg ICAgICAgICAgICAgIExBTU4gKDB4MTMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9RMUIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxQiwgUDgw SCkKICAgICAgICAgICAgICAgICAgICAgICAgTEFNTiAoMHgwOCkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyMywgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDIzLCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBMQU1OICgweDQ0KQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTMy LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MzIsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAg IEhLRVkgKDB4MzIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBLQ1RU KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf UTMzLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MzMsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwLCBLQ1NTKQogICAgICAgICAgICAgICAgICAgICAgICBOVE1SICgp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9R MzQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgzNCwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDEsIEtDU1MpCiAgICAgICAgICAgICAgICAgICAgICAgIE5UTVIgKCkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1Ez NSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDM1LCBQODBIKQogICAgICAgICAgICAgICAgICAgICAg ICBIS0VZICgweDM1KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgS0NU VCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1EzNiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDM2LCBQODBIKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgS09TRCkKICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAg KDB4MDFGNCkKICAgICAgICAgICAgICAgICAgICAgICAgTlRNUiAoKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTQwLCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4NDAsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgIEhLRVkgKDB4NDAp CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLkxQQ0IuRUMwLkJB VDAsIDB4ODEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RNDEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0MSwgUDgwSCkKICAgICAgICAgICAg ICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuTFBDQi5FQzAuQkFUMCwgMHg4MSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E0OCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDQ4LCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBI S0VZICgweDQ4KQogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5M UENCLkVDMC5CQVQwLCAweDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTRDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NEMsIFA4MEgpCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChCMFNUKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5MUENC LkVDMC5CQVQwLCAweDgwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNTAsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHg1MCwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChc X1NCLlBDSTAuTFBDQi5FQzAuQURQMSwgMHg4MCkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1E1MSwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDUx LCBQODBIKQogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5MUENC LkVDMC5BRFAxLCAweDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUTUyLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTIsIFA4MEgpCiAgICAg ICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5MSUQwLCAweDgwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTUzLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4NTMsIFA4MEgpCiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAo XF9TQi5MSUQwLCAweDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChOVE1SLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1RaLlRaUzAsIDB4ODAp CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9UWi5UWlMxLCAweDgwKQogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55 QWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAyKSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIE5CSUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDg4KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5CMEEsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAgICAg IE5CTDIsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgw eDg5KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5CMUEsICAgMQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNjLCBMb2Nr LCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDg4KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5C MFMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE5CMVMsICAgOAogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQW55QWNjLCBM b2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweEUwKSwgCiAgICAgICAgICAgICAgICAgICAgICAg IEJTUkMsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBCU0ZDLCAgIDE2LCAKICAg ICAgICAgICAgICAgICAgICAgICAgQlNQRSwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEJTQUMsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBCU1ZPLCAgIDE2LCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAxNSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIEJTQ00sICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJTQ1UsICAgMTYs IAogICAgICAgICAgICAgICAgICAgICAgICBCU0JTLCAgIDgKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIEZpZWxkIChSQU0sIEFueUFjYywgTG9jaywgUHJl c2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHhFMCksIAogICAgICAgICAgICAgICAgICAgICAgICBCU0RDLCAg IDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlNEViwgICAxNiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEJTU04sICAgMTYKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIEZpZWxkIChSQU0sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHhFMCksIAogICAgICAgICAgICAgICAgICAgICAgICBCU01OLCAgIDEyOAogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKFJBTSwgQnl0 ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEUwKSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEJTRE4sICAgMTI4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBGaWVsZCAoUkFNLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4RTApLCAKICAgICAgICAgICAgICAgICAgICAgICAgQlNDSCwgICAxMjgKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE11dGV4IChCQVRNLCAweDA3 KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoR0JJRiwgMywgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUg KEJBVE0sIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzIpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweEZGRkZGRkZGLCBJbmRleCAoQXJnMSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHhGRkZGRkZGRiwgSW5kZXggKEFyZzEsIDB4MDIpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYsIEluZGV4IChBcmcxLCAw eDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJbmRleCAo QXJnMSwgMHgwNSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwg SW5kZXggKEFyZzEsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChBcmcwLCAweEYwLCBOQklEKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEJTQ00sIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFhPciAoTG9jYWwwLCAweDAxLCBJbmRleCAoQXJnMSwgMHgwMCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoQXJnMCwgMHgwMSwgTkJJRCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKEJT REMsIDB4MEEsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlNEQywgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChMb2NhbDEsIEluZGV4IChBcmcxLCAweDAxKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFuZCAoQXJnMCwgMHhGMCwgTkJJRCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKEJTRkMsIDB4MEEs IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlNGQywgTG9jYWwyKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChMb2NhbDIsIEluZGV4IChBcmcxLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChBcmcwLCAweDAxLCBOQklEKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEJTRFYsIEluZGV4IChBcmcxLCAweDA0KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERpdmlkZSAoTG9jYWwyLCAweDY0LCBMb2NhbDcsIExvY2FsNikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChMb2NhbDYsIDB4MDUsIExvY2FsMykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIEluZGV4IChBcmcx LCAweDA1KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5IChMb2NhbDYs IDB4MDMsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDQsIEluZGV4IChBcmcxLCAweDA2KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1 YnRyYWN0IChMb2NhbDMsIExvY2FsNCwgSW5kZXggKEFyZzEsIDB4MDcpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2FsMiwgTG9jYWwzLCBJbmRleCAoQXJn MSwgMHgwOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlNTTiwgTG9j YWw3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoU0VSTiwgQnVmZmVyICgw eDA2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIgICAgICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNCwgTG9jYWw2KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsNykKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKExv Y2FsNywgMHgwQSwgTG9jYWw1LCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQWRkIChMb2NhbDUsIDB4MzAsIEluZGV4IChTRVJOLCBMb2NhbDYpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWw2KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChTRVJOLCBJbmRleCAoQXJnMSwgMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEdyZWF0ZXIgKExvY2FsMSwgMHgxMDAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkJhdCA4 Q2VsbCIsIEluZGV4IChBcmcxLCAweDA5KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkJh dCA0Q2VsbCIsIEluZGV4IChBcmcxLCAweDA5KSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoQXJnMCwgMHgwNCwgTkJJ RCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChCU0NILCBJbmRleCAoQXJn MSwgMHgwQikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoIkFjZXIiLCBJ bmRleCAoQXJnMSwgMHgwQykpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgIFJlbGVhc2UgKEJBVE0pCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQXJnMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoR0JTVCwgNCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEJBVE0sIDB4RkZGRikKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMSwgMHgwMikpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAy LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChBcmcxLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChOQkwyKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDA0LCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKEFyZzEsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKEFyZzAsIDB4RjAsIE5CSUQpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQlNBQywgTG9jYWwxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEFyZzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKEJTUkMsIDB4MEEsIExv Y2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQlNSQywgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChCU1ZPLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0 ZXJFcXVhbCAoTG9jYWwxLCAweDgwMDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoMHgwMDAxMDAwMCwgTG9jYWwxLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFuZCAoTG9jYWwwLCAweDAyKSwgMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwzLCBMb2NhbDEsIExv Y2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXZpZGUgKExvY2FsMSwg MHgwM0U4LCBMb2NhbDcsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHhGRkZGRkZGRiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4RkZGRkZGRkYsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweEZGRkZGRkZGLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEluZGV4IChBcmczLCAweDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgSW5kZXggKEFyZzMs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBJbmRleCAo QXJnMywgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIElu ZGV4IChBcmczLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoQkFU TSkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBcmczKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQjBTVCwgMHgwMCkKICAgICAg ICAgICAgICAgICAgICBEZXZpY2UgKEJBVDApCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBBIikpCiAg ICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1BDTCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChcX1NC KQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBO YW1lIChCMElQLCBQYWNrYWdlICgweDBEKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZG RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NUEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg1QSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiMTAwIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGlv biIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCMFNQLCBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweEZGRkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKFxFQ09OKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChOQjBBLCBMb2NhbDEpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRSaWdodCAoUkJFQyAoMHg4OCksIDB4MDAsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHgwMSwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDEsIEIwU1QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0JJRiwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKFxFQ09OKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChOQjBBLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoUkJFQyAoMHg4OCksIDB4MDAsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBbmQgKExvY2FsMCwgMHgwMSwgTG9jYWw2KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MTQsIExvY2FsNykKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFdoaWxlIChMQW5kIChMb2NhbDYsIExvY2FsNykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxFQ09OKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKE5CMFMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFJCRUMgKDB4ODgpLCBMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoQW5kIChMb2NhbDEsIDB4MDgpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExv Y2FsNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAgKDB4MDFGNCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDcp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoR0JJRiAo MHgwMCwgQjBJUCwgTG9jYWw2KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQlNULCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBYT3Ig KERlcmVmT2YgKEluZGV4IChCMElQLCAweDAwKSksIDB4MDEsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChcRUNPTikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTkIwUywgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChSQkVDICgweDg4KSwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoR0JTVCAoMHgwMCwgTG9jYWwxLCBMb2NhbDAsIEIwU1ApKQogICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBOYW1lIChBQ1NULCAweDAxKQogICAgICAgICAgICAgICAgICAgIERldmljZSAoQURQ MSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsICJBQ1BJMDAwMyIpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BT UiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEVDT04pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEtBQ1MsIExv Y2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoUkJFQyAoMHg3MCksIExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHgyMCwgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEFDU1QpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDAsIEFDU1QpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChBQ1NUKQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9Q Q0wsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoXF9TQikKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChETUFDKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAyMDAiKSkKICAgICAgICAgICAgICAgICAgICBOYW1l IChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDAwMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBB bGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA4MSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDgxLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMSwgICAgICAgICAgICAgICAvLyBM ZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDkz LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwOTMsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDBELCAgICAgICAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQzAsICAgICAg ICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDBDMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MjAsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29t cGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjhfMTYsICkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHs0fQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChGV0hEKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIklOVDA4MDAiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnkzMkZp eGVkIChSZWFkT25seSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkY4MDAwMDAs ICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwODAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKEhQRVQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDEwMyIpKQogICAgICAg ICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHswfQogICAgICAgICAgICAgICAgICAgICAgICBJ UlFOb0ZsYWdzICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7OH0KICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5MzJGaXhlZCAoUmVhZE9ubHksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEZFRDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgQmFzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMCwgICAgICAgICAvLyBBZGRyZXNz IExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgX1kxNikKICAgICAgICAgICAg ICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMR3JlYXRlckVxdWFsIChPU1lTLCAweDA3RDEpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoSFBBRSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoSFBBRSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChIUEFFKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCBc X1NCLlBDSTAuTFBDQi5IUEVULl9ZMTYuX0JBUywgSFBUMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKEhQQVMsIDB4MDEpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZF RDAxMDAwLCBIUFQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEhQQVMsIDB4MDIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweEZFRDAyMDAwLCBIUFQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEhQQVMsIDB4MDMpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweEZFRDAzMDAwLCBIUFQwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEJVRjApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoSVBJQykKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwMDAwIikpCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwLCAgICAgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAsICAgICAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwMjQsICAgICAgICAgICAgIC8vIFJhbmdlIE1p bmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyNCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAyOCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDI4LCAgICAgICAgICAgICAvLyBSYW5n ZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAg ICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAg ICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDJDLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMkMsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8g QWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAg ICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwMzAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAzMCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1l bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8g TGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAz NCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDM0LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAg SU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDM4LCAgICAg ICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwMzgsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwM0MsICAgICAgICAgICAg IC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAzQywg ICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBMCwgICAgICAgICAgICAgLy8gUmFu Z2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEEwLCAgICAgICAg ICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAx LCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMEE0LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5p bXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQTQsICAgICAgICAgICAgIC8v IFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAg ICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAy LCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAg KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwQTgsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBBOCwgICAgICAgICAgICAgLy8gUmFuZ2Ug TWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAg ICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAg ICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDBBQywgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMEFDLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVt CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFs aWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAg ICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg ICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMEIwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwQjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExl bmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQjQs ICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDBCNCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCOCwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MEI4LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEJDLCAgICAgICAgICAgICAv LyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwQkMsICAg ICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAyLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0RDAsICAgICAgICAgICAgIC8vIFJhbmdl IE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDREMCwgICAgICAgICAg ICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwg ICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsyfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChNQVRIKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDQi KSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwRjAsICAgICAgICAgICAg IC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBGMCwg ICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3MgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxM30KICAgICAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoTUJEMCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQg KCJQTlAwQzAyIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMkUsICAgICAgICAgICAgIC8vIFJh bmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyRSwgICAgICAg ICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDIsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWlu aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDYxLCAgICAgICAgICAgICAv LyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MSwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMDYzLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjMsICAgICAgICAgICAgIC8vIFJhbmdl IE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAg ICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAg ICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwNjUsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDA2NSwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11 bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBB bGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAg ICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA2NywgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMDY3LCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVu dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBM ZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAg ICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgw LCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwODAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0aAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJ TyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwOTIsICAgICAg ICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDA5MiwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDBCMiwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMEIyLCAg ICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMiwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwLCAgICAgICAgICAgICAvLyBSYW5n ZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAsICAgICAgICAg ICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEs ICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDEwLCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDEwMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmlt dW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCwgICAgICAgICAgICAgLy8g UmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAg ICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAs ICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MTE4MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMTgwLCAgICAgICAgICAgICAvLyBSYW5nZSBN YXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0MCwgICAgICAg ICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgxMjAwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDEyMDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxp Z25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAg IC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDEyMDQsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MTIwNCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVu Z3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg ICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4RTAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDEwMDAwMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 RjAwMDAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDA0MDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMy Rml4ZWQgKFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjAwMDQw MDAsICAgICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAwMDAxMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQg KFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjAwMDUwMDAsICAg ICAgICAgLy8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw MDAxMDAwLCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRX cml0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RjAwMDgwMDAsICAgICAgICAg Ly8gQWRkcmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAw LCAgICAgICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkVDMTgwMDAsICAgICAgICAgLy8gQWRk cmVzcyBCYXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwLCAgICAg ICAgIC8vIEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAg ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4RkVEMjAwMDAsICAgICAgICAgLy8gQWRkcmVzcyBC YXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDcwMDAwLCAgICAgICAgIC8v IEFkZHJlc3MgTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZp Y2UgKE1CRDEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9V SUQsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1w bGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg TWVtb3J5MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHhGRUMwMDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAwMDEwMDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5 MzJGaXhlZCAoUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhGRUUw MDAwMCwgICAgICAgICAvLyBBZGRyZXNzIEJhc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwMDEwMDAsICAgICAgICAgLy8gQWRkcmVzcyBMZW5ndGgKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTGVzc0VxdWFsIChPU1lTLCAw eDA3Q0YpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTE9yIChBUElDLCBIVFRFKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChSVEMp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlz YUlkICgiUE5QMEIwMCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291 cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3 MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMDcwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgICAgIE5hbWUgKEJVRjEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA3MCwgICAgICAgICAgICAgLy8g UmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDcwLCAgICAg ICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBMZW5ndGgKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgSVJRTm9GbGFncyAoKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgezh9CiAgICAgICAgICAgICAgICAgICAgfSkKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoSFBBRSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChCVUYwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoVElNUikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwMTAwIikpCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwLCAgICAgICAgICAgICAvLyBS YW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAsICAgICAg ICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDA0LCAgICAgICAgICAgICAgIC8vIExlbmd0aAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwNTAsICAgICAgICAgICAgIC8vIFJhbmdlIE1p bmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA1MCwgICAgICAgICAgICAg Ly8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCwgICAg ICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDQsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICApCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChC VUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwNDAsICAgICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDA0MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGln bm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQsICAgICAgICAgICAgICAg Ly8gTGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDA1MCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWluaW11bQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDUwLCAgICAgICAgICAgICAvLyBSYW5nZSBNYXhpbXVtCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDEwLCAgICAgICAgICAgICAgIC8vIEFsaWdubWVudAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNCwgICAgICAgICAgICAgICAvLyBMZW5n dGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAg ICAgSVJRTm9GbGFncyAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgezB9CiAgICAg ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAs IFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoSFBBRSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChCVUYwKQogICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoS0JE MCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBF aXNhSWQgKCJQTlAwMzAzIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVz b3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgSU8gKERlY29kZTE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDYwLCAgICAgICAgICAgICAvLyBSYW5nZSBNaW5pbXVtCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwNjAsICAgICAgICAgICAgIC8vIFJhbmdlIE1heGltdW0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQWxpZ25tZW50CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAgICAgICAgICAgICAgIC8vIExlbmd0 aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAg ICBJTyAoRGVjb2RlMTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNjQsICAg ICAgICAgICAgIC8vIFJhbmdlIE1pbmltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDA2NCwgICAgICAgICAgICAgLy8gUmFuZ2UgTWF4aW11bQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgICAgICAgICAgICAgICAvLyBBbGlnbm1lbnQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gTGVuZ3RoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAo RWRnZSwgQWN0aXZlSGlnaCwgRXhjbHVzaXZlLCApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7MX0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIERldmljZSAoUFMyTSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJTWU4wMzAyIikpCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0NJRCwgUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMzJFNEYsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAyMDAyRTRGLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgxMzBG RDA0MQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgSVJRIChFZGdlLCBBY3RpdmVIaWdoLCBFeGNsdXNpdmUsICkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsxMn0KICAgICAgICAgICAgICAgICAgICB9 KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2Ug KFBBVEEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAx RjAwMDEpCiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKFBBQ1MsIFBDSV9Db25m aWcsIDB4NDAsIDB4QzApCiAgICAgICAgICAgICAgICBGaWVsZCAoUEFDUywgRFdvcmRBY2Ms IE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUFJJVCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MDQpLCAKICAgICAgICAgICAgICAgICAgICBQU0lULCAgIDQsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAgICAgICAgICAgICAgICAgU1lOQywg ICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwQSksIAogICAg ICAgICAgICAgICAgICAgIFNEVDAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICwg ICAyLCAKICAgICAgICAgICAgICAgICAgICBTRFQxLCAgIDIsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDE0KSwgCiAgICAgICAgICAgICAgICAgICAgSUNSMCwg ICA0LCAKICAgICAgICAgICAgICAgICAgICBJQ1IxLCAgIDQsIAogICAgICAgICAgICAgICAg ICAgIElDUjIsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgSUNSMywgICA0LCAKICAgICAg ICAgICAgICAgICAgICBJQ1I0LCAgIDQsIAogICAgICAgICAgICAgICAgICAgIElDUjUsICAg NAogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoUFJJRCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0dUTSwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFBCVUYs IEJ1ZmZlciAoMHgxNCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IDAwMDggKi8gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDEwICovICAgIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJVRiwgMHgwMCwgUElPMCkKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJVRiwgMHgwNCwgRE1B MCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJVRiwgMHgw OCwgUElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoUEJV RiwgMHgwQywgRE1BMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoUEJVRiwgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdF VFAgKFBSSVQpLCBQSU8wKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0RNQSAo QW5kIChTWU5DLCAweDAxKSwgQW5kIChJQ1IzLCAweDAxKSwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBbmQgKElDUjAsIDB4MDEpLCBTRFQwLCBBbmQgKElDUjEsIDB4MDEpKSwg RE1BMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRE1BMCwgMHhGRkZG RkZGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChQSU8wLCBETUEwKQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQUklULCAweDQwMDApKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBbmQgKFBSSVQsIDB4OTApLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMzg0LCBQ SU8xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRVRUIChQU0lUKSwgUElPMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZGRkZGRkZGLCBQSU8xKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo R0RNQSAoQW5kIChTWU5DLCAweDAyKSwgQW5kIChJQ1IzLCAweDAyKSwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKElDUjAsIDB4MDIpLCBTRFQxLCBBbmQgKElDUjEsIDB4 MDIpKSwgRE1BMSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRE1BMSwg MHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChQSU8xLCBETUExKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VURiAoQW5kIChTWU5DLCAw eDAxKSwgQW5kIChTWU5DLCAweDAyKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ UklUKSwgRkxBRykKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTEVxdWFsIChQ SU8wLCAweEZGRkZGRkZGKSwgTEVxdWFsIChETUEwLCAweEZGRkZGRkZGKSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDc4LCBQSU8wKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MTQsIERN QTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMywgRkxBRykKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChQQlVGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfU1RNLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgwMCwgUElP MCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgw NCwgRE1BMCkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJn MCwgMHgwOCwgUElPMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVs ZCAoQXJnMCwgMHgwQywgRE1BMSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdv cmRGaWVsZCAoQXJnMCwgMHgxMCwgRkxBRykKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoU2l6ZU9mIChBcmcxKSwgMHgwMjAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChQUklULCAweDQwRjAsIFBS SVQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNZTkMsIDB4MDIsIFNZTkMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgU0RUMCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFuZCAoSUNSMCwgMHgwMiwgSUNSMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFuZCAoSUNSMSwgMHgwMiwgSUNSMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFuZCAoSUNSMywgMHgwMiwgSUNSMykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFuZCAoSUNSNSwgMHgwMiwgSUNSNSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg2MiwgVzQ5MCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg2QSwgVzUzMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHg3 RSwgVzYzMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo QXJnMSwgMHg4MCwgVzY0MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv cmRGaWVsZCAoQXJnMSwgMHhCMCwgVzg4MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoQXJnMSwgMHhCQSwgVzkzMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE9yIChQUklULCAweDgwMDQsIFBSSVQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEFuZCAoQW5kIChGTEFHLCAweDAyKSwgQW5kIChXNDkwLCAweDA4MDAp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPciAoUFJJVCwgMHgwMiwgUFJJVCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUFJJVCwgU0VUUCAo UElPMCwgVzUzMCwgVzY0MCksIFBSSVQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoQW5kIChGTEFHLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU1lOQywgMHgwMSwgU1lOQykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAoRE1BMCksIFNEVDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChETUEwLCAweDFF KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDAxLCBJQ1IzKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExMZXNzIChETUEwLCAweDNDKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1IwLCAweDAx LCBJQ1IwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoVzkzMCwgMHgyMDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE9yIChJQ1IxLCAweDAxLCBJQ1IxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU2l6ZU9m IChBcmcyKSwgMHgwMjAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQW5kIChQUklULCAweDNGMEYsIFBSSVQpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgUFNJVCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFuZCAoU1lOQywgMHgwMSwgU1lOQykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBTRFQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg QW5kIChJQ1IwLCAweDAxLCBJQ1IwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChJQ1IxLCAweDAxLCBJQ1IxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJ Q1IzLCAweDAxLCBJQ1IzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1I1 LCAweDAxLCBJQ1I1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcyLCAweDYyLCBXNDkxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcyLCAweDZBLCBXNTMxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcyLCAweDdFLCBXNjMxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcyLCAweDgwLCBXNjQxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcyLCAweEIwLCBX ODgxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcy LCAweEJBLCBXOTMxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4 ODA0MCwgUFJJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChBbmQg KEZMQUcsIDB4MDgpLCBBbmQgKFc0OTEsIDB4MDgwMCkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAw eDIwLCBQUklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKEZMQUcsIDB4MTApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklU LCAweDQwMDAsIFBSSVQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExH cmVhdGVyIChQSU8xLCAweEYwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAweDgwLCBQ UklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUFJJVCwgMHgxMCwg UFJJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNFVFQg KFBJTzEsIFc1MzEsIFc2NDEpLCBQU0lUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChGTEFHLCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU1lOQywgMHgw MiwgU1lOQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0RNQSAo RE1BMSksIFNEVDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNz IChETUExLCAweDFFKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1IzLCAweDAyLCBJQ1IzKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExMZXNzIChETUExLCAweDNDKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y IChJQ1IwLCAweDAyLCBJQ1IwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoVzkzMSwgMHgyMDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChJQ1IxLCAweDAyLCBJQ1IxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgRGV2aWNlIChQX0QwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfUk1WLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0dURiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUElCMCwgQnVmZmVyICgweDBFKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIDAwMDAgKi8gICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhB MCwgMHhFRiwgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAw OCAqLyAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl Qnl0ZUZpZWxkIChQSUIwLCAweDAxLCBQTUQwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlQnl0ZUZpZWxkIChQSUIwLCAweDA4LCBETUQwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEFuZCAoUFJJVCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QW5kIChQUklULCAweDA5KSwgMHgwOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwg UE1EMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEEsIFBN RDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFu ZCAoUFJJVCwgMHgwMzAwKSwgMHgwOCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChBbmQgKFBSSVQsIDB4MzAwMCksIDB4MEMsIExv Y2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDAs IExvY2FsMSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsICgweDAzLCBMb2NhbDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwQiwgUE1EMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoMHgwNSwg TG9jYWwyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEMsIFBNRDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFBNRDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoU1lOQywgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE9yIChTRFQwLCAweDQw KSwgRE1EMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1Ix LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKElDUjAsIDB4MDEpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBZGQgKERNRDAsIDB4MDIsIERNRDApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKElDUjMsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg0NSwgRE1EMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoU3VidHJhY3QgKEFuZCAoUE1EMCwgMHgwNyksIDB4MDIpLCAweDIwLCBETUQwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoUElCMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChQX0QxKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkK ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBOYW1lIChQSUIxLCBCdWZmZXIgKDB4MEUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMDAwMCAqLyAgICAweDAz LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEIwLCAweEVGLCAweDAzLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiAwMDA4ICovICAgIDB4MDAsIDB4MDAsIDB4MDAs IDB4MDAsIDB4QjAsIDB4RUYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKFBJQjEsIDB4MDEsIFBN RDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKFBJQjEs IDB4MDgsIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQUklU LCAweDIwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFBSSVQsIDB4OTApLCAweDgwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBQTUQxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBZGQgKEFuZCAoUFNJVCwgMHgwMyksIFNoaWZ0UmlnaHQgKEFuZCAo UFNJVCwgMHgwQyksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoMHgwNSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MEMsIFBNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsICgweDAzLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDBCLCBQTUQxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBB LCBQTUQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBQTUQxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKFNZTkMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAoU0RUMSwgMHg0MCks IERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoSUNSMSwg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IwLCAweDAyKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWRkIChETUQxLCAweDAyLCBETUQxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChJQ1IzLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4NDUsIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KFN1YnRyYWN0IChBbmQgKFBNRDEsIDB4MDcpLCAweDAyKSwgMHgyMCwgRE1EMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFBJQjEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERl dmljZSAoU0JVUykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMDFGMDAwMykKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoU01CUCwgUENJ X0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChTTUJQLCBEV29y ZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIEkyQ0UsICAgMQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoU01CSSwg U3lzdGVtSU8sIDB4MjBBMCwgMHgxMCkKICAgICAgICAgICAgICAgIEZpZWxkIChTTUJJLCBC eXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIEhTVFMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MDIpLCAKICAgICAgICAgICAgICAgICAgICBIQ09OLCAgIDgsIAogICAgICAgICAg ICAgICAgICAgIEhDT00sICAgOCwgCiAgICAgICAgICAgICAgICAgICAgVFhTQSwgICA4LCAK ICAgICAgICAgICAgICAgICAgICBEQVQwLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIERB VDEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgSEJEUiwgICA4LCAKICAgICAgICAgICAg ICAgICAgICBQRUNSLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFJYU0EsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgU0RBVCwgICAxNgogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoU1NYQiwgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJMkNFKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgICAg IFN0b3JlIChBcmcwLCBUWFNBKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBI Q09NKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAgICAg ICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBNZXRob2QgKFNSWEIsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgSWYgKFNUUlQgKCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRikKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBJMkNFKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChPciAoQXJnMCwgMHgwMSksIFRYU0EpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4NDQsIEhDT04pCiAgICAgICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwg SFNUUykKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChEQVQwKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTV1JCLCAzLCBTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChTVFJUICgp KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIEkyQ0UpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYsIEhTVFMp CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFRYU0EpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzIsIERBVDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NDgsIEhDT04pCiAgICAg ICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgIE1ldGhvZCAoU1JEQiwgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEkyQ0UpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4QkYsIEhTVFMpCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9yIChBcmcwLCAweDAxKSwgVFhTQSkKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0OCwgSENP TikKICAgICAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKERBVDApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRikKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNCTFcsIDQsIFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFNUUlQgKCkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMywg STJDRSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhCRiwgSFNUUykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQXJnMCwgVFhTQSkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU2l6ZU9mIChBcmcy KSwgREFUMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQXJnMiwgMHgwMCkpLCBI QkRSKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDU0LCBIQ09OKQogICAgICAgICAg ICAgICAgICAgIFdoaWxlIChMR3JlYXRlciAoU2l6ZU9mIChBcmcyKSwgTG9jYWwxKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBG QTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExOb3Qg KEFuZCAoSFNUUywgMHg4MCkpLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDMyKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgS0lM TCAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4 MCwgSFNUUykKICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoU2l6ZU9mIChBcmcyKSwgTG9j YWwxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChBcmcyLCBMb2NhbDEpKSwgSEJEUikKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNUUykKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoU0JMUiwgMywgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChUQlVGLCBCdWZmZXIgKDB4MDEwMCkge30pCiAg ICAgICAgICAgICAgICAgICAgSWYgKFNUUlQgKCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMiwgSTJDRSkKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHhCRiwgSFNUUykKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoT3IgKEFyZzAsIDB4MDEpLCBUWFNBKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChB cmcxLCBIQ09NKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDU0LCBIQ09OKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICBXaGlsZSAoTEFuZCAoTE5vdCAoQW5kIChIU1RTLCAweDgwKSksIExvY2FsMCkpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERBVDAsIEluZGV4IChUQlVGLCAw eDAwKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIFdo aWxlIChMTGVzcyAoTG9jYWwxLCBEZXJlZk9mIChJbmRleCAoVEJVRiwgMHgwMCkpKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBG QTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExOb3Qg KEFuZCAoSFNUUywgMHg4MCkpLCBMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDMyKQogICAgICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgS0lM TCAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoSEJE UiwgSW5kZXggKFRCVUYsIExvY2FsMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDgwLCBIU1RTKQogICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChDT01Q ICgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoVEJV RikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNUUlQs IDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4QzgsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTG9jYWww KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoSFNUUywgMHg0MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2xlZXAgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChMb2NhbDAsIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDBGQTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAo TG9jYWwwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoSFNUUywgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RhbGwgKDB4MzIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAo Q09NUCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwRkEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgV2hpbGUg KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKEhTVFMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDMyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBL SUxMICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2Qg KEtJTEwsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgT3IgKEhDT04sIDB4MDIsIEhDT04pCiAgICAgICAgICAgICAgICAgICAgT3IgKEhT VFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAg ICB9CiAgICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMCkKICAgIHsKICAgICAgICBNZXRob2Qg KF9DU1QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoQW5k IChDRkdELCAweDQwMDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4g KFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg MHgwMSwgCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg UmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMDgwOSwgLy8gQWRkcmVzcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAzRTgKICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CgogICAg ICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDgwKSwgTE5vdCAoUFdSUykpKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDUpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwNCwgCiAgICAgICAgICAgICAg ICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8v IEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAg ICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDAzRTgKICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIg KFN5c3RlbUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LCAgICAg ICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMTAxNCwgLy8gQWRkcmVzcwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxRjQKICAgICAgICAgICAgICAg ICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUg KCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDA4LCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMTAxNSwgLy8gQWRkcmVz cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4NTUsIAogICAgICAgICAgICAgICAgICAgICAgICAweEZBCiAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwOCwgICAgICAgICAgICAgICAvLyBCaXQgV2lkdGgKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBPZmZz ZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDEwMTYs IC8vIEFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsKQogICAgICAg ICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIAog ICAgICAgICAgICAgICAgICAgICAgICAweEI5LCAKICAgICAgICAgICAgICAgICAgICAgICAg MHg2NAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKENGR0QsIDB4NDApKQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0 aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAgICAgICAgICAgICAg Ly8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAwMDAwMDAwMCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICwpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAweDAzRTgKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAg ICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlP LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LCAgICAgICAgICAgICAg IC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsICAg ICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwMDAwMDAwMDAwMTAxNCwgLy8gQWRkcmVzcwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAxRjQKICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0 ZXIgKFN5c3RlbUlPLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4LCAg ICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IE9mZnNldAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDAwMTAxNSwgLy8gQWRkcmVzcwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4NTUsIAogICAgICAgICAgICAgICAgICAgICAgICAweEZBCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAg SWYgKEFuZCAoQ0ZHRCwgMHgyMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoUGFja2FnZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0 ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSZWdpc3RlciAoRkZpeGVkSFcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAwMDAwLCAvLyBBZGRy ZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCkKICAgICAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDNFOAog ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVz b3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDgsICAgICAgICAgICAgICAgLy8gQml0IFdpZHRoCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQg T2Zmc2V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwMDAx MDE0LCAvLyBBZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCkKICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAweDAy LCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDFGNAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMikKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlc291cmNl VGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAgICAgICAgICAgICAgIC8vIEJpdCBXaWR0aAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMCwgICAgICAgICAgICAgICAvLyBCaXQgT2Zmc2V0CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwMDAwMDAwMDAwMDAwMDAsIC8vIEFkZHJlc3MKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICwpCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAg ICAgICAgICAgICAgIDB4MDNFOAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQog ICAgICAgIH0KICAgIH0KCiAgICBTY29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChTU0RU LCBQYWNrYWdlICgweDBDKQogICAgICAgIHsKICAgICAgICAgICAgIkNQVTBJU1QgIiwgCiAg ICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAweEYwMDBGRjUzLCAKICAgICAg ICAgICAgIkNQVTFJU1QgIiwgCiAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAg ICAweEYwMDBGRjUzLCAKICAgICAgICAgICAgIkNQVTBDU1QgIiwgCiAgICAgICAgICAgIDB4 MEY2RTYwNjQsIAogICAgICAgICAgICAweDAwMDAwMURFLCAKICAgICAgICAgICAgIkNQVTFD U1QgIiwgCiAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAweEYwMDBGRjUz CiAgICAgICAgfSkKICAgICAgICBOYW1lIChDRkdELCAweDA2RDg4MTc4KQogICAgICAgIE5h bWUgKFxQREMwLCAweDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMxLCAweDgwMDAwMDAw KQogICAgfQoKICAgIFNjb3BlIChcX1BSLkNQVTApCiAgICB7CiAgICAgICAgTmFtZSAoSEkw LCAweDAwKQogICAgICAgIE5hbWUgKEhDMCwgMHgwMCkKICAgICAgICBNZXRob2QgKF9QREMs IDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVEV29yZEZp ZWxkIChBcmcwLCAweDA4LCBDQVAwKQogICAgICAgICAgICBTdG9yZSAoQ0FQMCwgUERDMCkK ICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHg0MDAwKSwgTEVxdWFsIChBbmQg KFBEQzAsIDB4MEEKICAgICAgICAgICAgICAgICksIDB4MEEpKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMykpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChJU1QwLCBTeXN0ZW1NZW1v cnksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDAxKSksIERlcmVmT2YgKEluZGV4IChTU0RU LCAweDAyCiAgICAgICAgICAgICAgICAgICAgICAgICkpKQogICAgICAgICAgICAgICAgICAg IExvYWQgKElTVDAsIEhJMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoQW5kIChDRkdELCAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBPcGVyYXRpb25SZWdpb24gKENTVDAsIFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5k ZXggKFNTRFQsIDB4MDcpKSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDgKICAgICAgICAg ICAgICAgICAgICAgICAgKSkpCiAgICAgICAgICAgICAgICAgICAgTG9hZCAoQ1NUMCwgSEMw KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAg IFNjb3BlIChcX1BSLkNQVTEpCiAgICB7CiAgICAgICAgTmFtZSAoSEkxLCAweDAwKQogICAg ICAgIE5hbWUgKEhDMSwgMHgwMCkKICAgICAgICBNZXRob2QgKF9QREMsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAw eDA4LCBDQVAxKQogICAgICAgICAgICBTdG9yZSAoQ0FQMSwgUERDMSkKICAgICAgICAgICAg SWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHg0MDAwKSwgTEVxdWFsIChBbmQgKFBEQzEsIDB4MEEK ICAgICAgICAgICAgICAgICksIDB4MEEpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMykpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChJU1QxLCBTeXN0ZW1NZW1vcnksIERlcmVmT2Yg KEluZGV4IChTU0RULCAweDA0KSksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDA1CiAgICAg ICAgICAgICAgICAgICAgICAgICkpKQogICAgICAgICAgICAgICAgICAgIExvYWQgKElTVDEs IEhJMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoQW5kIChDRkdE LCAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKENTVDEsIFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4 MEEpKSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MEIKICAgICAgICAgICAgICAgICAgICAg ICAgKSkpCiAgICAgICAgICAgICAgICAgICAgTG9hZCAoQ1NUMSwgSEMxKQogICAgICAgICAg ICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFBE QzEsIDB4MEEpLCAweDBBKSkge30KICAgICAgICB9CiAgICB9Cn0KCg== --------------020602080006010602080704-- From owner-freebsd-acpi@FreeBSD.ORG Mon Oct 13 11:06:45 2008 Return-Path: Delivered-To: freebsd-acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 976711065699 for ; Mon, 13 Oct 2008 11:06:45 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 82EF08FC16 for ; Mon, 13 Oct 2008 11:06:45 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id m9DB6jFC029341 for ; Mon, 13 Oct 2008 11:06:45 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id m9DB6jCL029337 for freebsd-acpi@FreeBSD.org; Mon, 13 Oct 2008 11:06:45 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 13 Oct 2008 11:06:45 GMT Message-Id: <200810131106.m9DB6jCL029337@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-acpi@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-acpi@FreeBSD.org X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Oct 2008 11:06:45 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/127581 acpi [patch] [acpi_sony] Add support for more Sony features o kern/124744 acpi [acpi] [patch] incorrect _BST result validation for To o kern/124412 acpi [acpi] power off error on Toshiba M40 laptop o kern/123039 acpi [acpi] ACPI AML_BUFFER_LIMIT errors during boot o kern/121504 acpi [patch] Correctly set hw.acpi.osname on certain machin f kern/121454 acpi [pst] Promise SuperTrak SX6000 does not load during bo o kern/121102 acpi [acpi_fujitsu] [patch] update acpi_fujitsu for the P80 o kern/120953 acpi [acpi]: FreeBSD 6.3 Release: acpi_tz0: _TMP value is o kern/120515 acpi [acpi] [patch] acpi_alloc_wakeup_handler: can't alloc o kern/119356 acpi [acpi]: i386 ACPI wakeup not work due resource exhaust o kern/119200 acpi [acpi] Lid close switch suspends CPU for 1 second on H o kern/118973 acpi [acpi]: Kernel panic with acpi boot o kern/117605 acpi [acpi] [request] add debug.cpufreq.highest o kern/116939 acpi [acpi] PCI-to-PCI misconfigured for bus three and can o i386/114562 acpi [acpi] cardbus is dead after s3 on Thinkpad T43 with a o kern/114165 acpi [acpi] Dell C810 - ACPI problem s kern/112544 acpi [acpi] [patch] Add High Precision Event Timer Driver f o kern/108954 acpi [acpi] 'sleep(1)' sleeps >1 seconds when speedstep (Cx o kern/108695 acpi [acpi]: Fatal trap 9: general protection fault when in o kern/108581 acpi [sysctl] sysctl: hw.acpi.cpu.cx_lowest: Invalid argume o kern/108488 acpi [acpi] ACPI-1304: *** Error: Method execution failed o kern/108017 acpi [acpi]: Acer Aspire 5600 o kern/106924 acpi [acpi] ACPI resume returns g_vfs_done() errors and ker o kern/105537 acpi [acpi] problems in acpi on HP Compaq nc6320 o kern/104625 acpi ACPI on ASUS A8N-32 SLI/ASUS P4P800 does not show ther o kern/102252 acpi acpi thermal does not work on Abit AW8D (intel 975) o kern/97383 acpi Volume buttons on IBM Thinkpad crash system with ACPI s i386/91748 acpi acpi problem on Acer TravelMare 4652LMi (nvidia panic, s kern/91038 acpi [panic] [ata] [acpi] 6.0-RELEASE on Fujitsu Siemens Am s kern/90243 acpi Laptop fan doesn't turn off (ACPI enabled) (Packard Be o kern/89411 acpi [acpi] acpiconf bug o i386/83018 acpi [install] Installer will not boot on Asus P4S8X BIOS 1 o kern/81000 acpi [apic] Via 8235 sound card worked great with FreeBSD 5 o i386/79081 acpi ACPI suspend/resume not working on HP nx6110 o kern/76950 acpi ACPI wrongly blacklisted on Micron ClientPro 766Xi sys s kern/73823 acpi [request] acpi / power-on by timer support o i386/72566 acpi ACPI, FreeBSD disables fan on Compaq Armada 1750 o i386/69750 acpi Boot without ACPI failed on ASUS L5 f kern/67309 acpi zzz reboot computer (ACPI S3) o kern/56024 acpi ACPI suspend drains battery while in S3 o i386/55661 acpi ACPI suspend/resume problem on ARMADA M700 o i386/54756 acpi ACPI suspend/resume problem on CF-W2 laptop 42 problems total. From owner-freebsd-acpi@FreeBSD.ORG Tue Oct 14 07:07:24 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88DCE106569A for ; Tue, 14 Oct 2008 07:07:24 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.228]) by mx1.freebsd.org (Postfix) with ESMTP id 4EB188FC2B for ; Tue, 14 Oct 2008 07:07:24 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so1850415rvf.43 for ; Tue, 14 Oct 2008 00:07:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:received:date:from :to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=l36INU40XpUXHynVXXQ24KuG+mmJcLCRiVdUuWhaJow=; b=qOQdQcY1OueYXU0QzZdZzdplUpE1F24kwC6ez67k1ylgvlYs3JCzq2LLy9ewxIXPFu tHjnxSQUo0WRJN9sie+a1h+fDwEWlV9TetlydirMgTKqumsoaRIVGl0PwbJJoaDbBbFc sTYQ/rpw0ugKFaOoG2nXM0QEG5ISnkPk1im78= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=f7gi/m/K2YnhpwNBrq3HgEOsf32V+NBPNG75HoL4/7hZ1YD6h9eo1rLTyK7/imbp5N va+DSzGxwXY6QLQ91FmXFiLEfXhTV481x06ZaIugRf2SlKr4pSTFZSa3MxG1SKRD/Lrt dcp95WVEUJNWEoDYQhkjkMz84SsqsDWIxMW4A= Received: by 10.141.69.1 with SMTP id w1mr4541540rvk.185.1223966820027; Mon, 13 Oct 2008 23:47:00 -0700 (PDT) Received: from michelle.cdnetworks.co.kr ([211.53.35.84]) by mx.google.com with ESMTPS id l31sm8444531rvb.2.2008.10.13.23.46.56 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 13 Oct 2008 23:46:58 -0700 (PDT) Received: from michelle.cdnetworks.co.kr (localhost.cdnetworks.co.kr [127.0.0.1]) by michelle.cdnetworks.co.kr (8.13.5/8.13.5) with ESMTP id m9E6ivjr015967 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 14 Oct 2008 15:44:57 +0900 (KST) (envelope-from pyunyh@gmail.com) Received: (from yongari@localhost) by michelle.cdnetworks.co.kr (8.13.5/8.13.5/Submit) id m9E6iuX2015966; Tue, 14 Oct 2008 15:44:56 +0900 (KST) (envelope-from pyunyh@gmail.com) Date: Tue, 14 Oct 2008 15:44:56 +0900 From: Pyun YongHyeon To: Georgi Iovchev Message-ID: <20081014064456.GE14769@cdnetworks.co.kr> References: <596673353.20081006181334@pulsar.bg> <20081010012058.GA99376@cdnetworks.co.kr> <1948191744.20081010114326@pulsar.bg> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1948191744.20081010114326@pulsar.bg> User-Agent: Mutt/1.4.2.1i Cc: freebsd-acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: can not wake on lan after halt -p (or shutdown -p now) on releng_7 and releng_7_0 X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Oct 2008 07:07:24 -0000 On Fri, Oct 10, 2008 at 11:43:26AM +0300, Georgi Iovchev wrote: > > > -- > Friday, October 10, 2008, 4:20:58 AM: > > > On Mon, Oct 06, 2008 at 06:13:34PM +0300, Georgi Iovchev wrote: > >> Hello list > >> > >> I have a shutdown problem. I have a machine with gigabyte GA-G33M-DS2R > >> motherboard. Integrated network card is Realtek 8111B. > >> I can not wake the computer after I shutdown it from FreeBSD. > >> It is a dualboot system - windows xp and freebsd. If I shutdown the > >> computer from windows - later I can wake it up with magic packet. Even > >> if i shutdown the machine on the boot menu with the power button - than > >> later I can wake on lan. The only situation where I CANNOT wake it is > >> when I shutdown the machine from freebsd (halt -p). > >> > >> First I tested with 7.0-RELEASE-p5 amd64 (RELENG_7_0) and than I > >> upgraded to 7.1 PRERELASE amd64 (RELENG_7). I also tested with two > >> network cards - the integrated one Realtek 8111B and another one Intel > >> PRO1000PT PCI-E with WOL enabled. > >> > > > Don't know WOL issue of em(4) but re(4) should respond to WOL. > > 7.0-RELEASE had no support for WOL so RELENG_7 or 7.1-PRERELEASE > > should be used to experiment WOL. > Now I am using 7.1-prerelase > > >> With both nics and both freebsd versions the situation is the same - > >> after shutdown from bsd the computer is not able to wake on lan. The > > > Because you can wake up your sytem from Windows shutdown I think > > your BIOS is already configured to allow wakeup from WOL. Would > > you compare ethernet address of re(4) to Winwods? Have you tried to > > send Magic packets to FreeBSD box? > I have tried sending magic packets from another bsd machine. I am > using net/wol. I also tried to send magic packets from windows machine > using 3 different programs. > > > You may also try suspend your box with acpiconf and resume from WOL. > I cant. > > [root@backup ~]# acpiconf -s 5 > acpiconf: invalid sleep type (5) > > Actually I cant enter in any sleep state > [root@backup ~]# acpiconf -s 4 > acpiconf: request sleep type (4) failed: Operation not supported > [root@backup ~]# acpiconf -s 3 > acpiconf: request sleep type (3) failed: Operation not supported > [root@backup ~]# acpiconf -s 2 > acpiconf: request sleep type (2) failed: Operation not supported > [root@backup ~]# acpiconf -s 1 > acpiconf: request sleep type (1) failed: Operation not supported > > I am using generic kernel with little modifications, (generally i have > commented many unused drivers - raid, if_....) Acpi is in generic > kernel now. > > I even tried to wake the machine with magic packet after shutdown -h. > But still no luck. > > > >> indication on the switch port says that after shut down there is > >> active link. > >> > > > That indicates the controller is alive so it shall respond to WOL > > if it was correctly configured to receive WOL packets. Have you > > tried to send Magic packets to FreeBSD box? > > >> Here is some information after last update: > >> > >> [root@backup ~]# uname -a > >> FreeBSD backup.pulsar.bg 7.1-PRERELEASE FreeBSD > >> 7.1-PRERELEASE #1: Mon Oct 6 17:01:26 EEST 2008 > >> root@backup.pulsar.bg:/usr/obj/usr/src/sys/MYCONF amd64 > >> > >> [root@backup ~]# pciconf -lv > >> ... > >> re0@pci0:3:0:0: class=0x020000 card=0xe0001458 > >> chip=0x816810ec rev=0x01 hdr=0x00 > >> vendor = 'Realtek Semiconductor' > >> device = 'RTL8168/8111 PCI-E Gigabit Ethernet NIC' > >> class = network > >> subclass = ethernet > >> ... > > > Show me dmesg output pertinent to re(4). > > re0: port 0xd000-0xd0ff mem 0xf2000000-0xf2000fff irq 17 at device 0.0 on pci3 > re0: turning off MSI enable bit. > re0: Chip rev. 0x38000000 > re0: MAC rev. 0x00000000 > miibus0: on re0 > rgephy0: PHY 1 on miibus0 > rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto > re0: Ethernet address: 00:1f:d0:24:19:e9 > re0: [FILTER] > It looks like your chip is RTL8168B and I don't see any errors in WOL related code of re(4). :-( Can you check the resolved link speed/duplex of FreeBSD box after shutdown?(You can enter to your switch menu and see the port status.) How about sending WOL packets over direct-connected UTP cable without using switch? -- Regards, Pyun YongHyeon From owner-freebsd-acpi@FreeBSD.ORG Fri Oct 17 15:35:06 2008 Return-Path: Delivered-To: freebsd-acpi@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8EABD1065690; Fri, 17 Oct 2008 15:35:06 +0000 (UTC) (envelope-from vwe@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 617758FC13; Fri, 17 Oct 2008 15:35:06 +0000 (UTC) (envelope-from vwe@FreeBSD.org) Received: from freefall.freebsd.org (vwe@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id m9HFZ6Lj018783; Fri, 17 Oct 2008 15:35:06 GMT (envelope-from vwe@freefall.freebsd.org) Received: (from vwe@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id m9HFZ6Ho018779; Fri, 17 Oct 2008 15:35:06 GMT (envelope-from vwe) Date: Fri, 17 Oct 2008 15:35:06 GMT Message-Id: <200810171535.m9HFZ6Ho018779@freefall.freebsd.org> To: ericnk@esreco.net, vwe@FreeBSD.org, freebsd-acpi@FreeBSD.org, vwe@FreeBSD.org From: vwe@FreeBSD.org Cc: Subject: Re: kern/120953: [acpi]: FreeBSD 6.3 Release: acpi_tz0: _TMP value is absurd, ignored (-73.0C) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Oct 2008 15:35:06 -0000 Synopsis: [acpi]: FreeBSD 6.3 Release: acpi_tz0: _TMP value is absurd, ignored (-73.0C) State-Changed-From-To: open->closed State-Changed-By: vwe State-Changed-When: Fri Oct 17 15:33:25 UTC 2008 State-Changed-Why: Eric, we think we're unable to do somthing about the broken ACPI implementation. Please check with your board vendor for an corrected and up to date BIOS. We're going to close this now, as this is unlikely to get solved by the operating system. Thank you for reporting. Responsible-Changed-From-To: freebsd-acpi->vwe Responsible-Changed-By: vwe Responsible-Changed-When: Fri Oct 17 15:33:25 UTC 2008 Responsible-Changed-Why: track http://www.freebsd.org/cgi/query-pr.cgi?pr=120953 From owner-freebsd-acpi@FreeBSD.ORG Fri Oct 17 18:15:49 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4CEB1065689; Fri, 17 Oct 2008 18:15:49 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx1.freebsd.org (Postfix) with ESMTP id 3DC2D8FC18; Fri, 17 Oct 2008 18:15:48 +0000 (UTC) (envelope-from robert.moore@intel.com) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 17 Oct 2008 10:41:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.33,432,1220252400"; d="scan'208,217";a="349417719" Received: from unknown (HELO azsmsx601.amr.corp.intel.com) ([10.2.121.193]) by orsmga002.jf.intel.com with ESMTP; 17 Oct 2008 10:45:53 -0700 Received: from orsmsx001.amr.corp.intel.com (10.22.226.42) by azsmsx601.amr.corp.intel.com (10.2.121.193) with Microsoft SMTP Server (TLS) id 8.1.291.1; Fri, 17 Oct 2008 10:46:14 -0700 Received: from orsmsx503.amr.corp.intel.com ([10.22.226.47]) by orsmsx001.amr.corp.intel.com ([10.22.226.42]) with mapi; Fri, 17 Oct 2008 10:46:12 -0700 From: "Moore, Robert" To: "bug-followup@FreeBSD.org" , "ericnk@esreco.net" Date: Fri, 17 Oct 2008 10:46:12 -0700 Thread-Topic: Re: kern/120953: [acpi]: FreeBSD 6.3 Release: acpi_tz0: _TMP value is absurd, ignored (-73.0C) Thread-Index: AckwgD6ZRql6yhL4S2quA7pFpWgebg== Message-ID: <4911F71203A09E4D9981D27F9D830858032E020F@orsmsx503.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: "freebsd-acpi@FreeBSD.org" , "vwe@FreeBSD.org" Subject: Re: kern/120953: [acpi]: FreeBSD 6.3 Release: acpi_tz0: _TMP value is absurd, ignored (-73.0C) X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Oct 2008 18:15:49 -0000 It would be interesting to see the DSDT for this machine, to determine why = _TMP is returning such a value. Recently, a change was made to ACPICA to make the "implicit return" mechani= sm more compatible with Windows. If the _TMP method on this machine is depe= nding on the Windows implicit return, it may be that this ACPICA fix will h= elp in this case. Bob