lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1337709592-23347-6-git-send-email-ddaney.cavm@gmail.com>
Date:	Tue, 22 May 2012 10:59:52 -0700
From:	David Daney <ddaney.cavm@...il.com>
To:	devicetree-discuss@...ts.ozlabs.org,
	Grant Likely <grant.likely@...retlab.ca>,
	Rob Herring <rob.herring@...xeda.com>,
	"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Cc:	linux-kernel@...r.kernel.org, linux-mips@...ux-mips.org,
	Andy Fleming <afleming@...escale.com>,
	David Daney <david.daney@...ium.com>
Subject: [PATCH 5/5] netdev/phy: Add driver for Cortina cs4321 quad 10G PHY.

From: David Daney <david.daney@...ium.com>

These phys do *not* implement the standard IEEE 802.3 clause 45
registers.  PHY to driver matching is done with OF compatible
properties.

Signed-off-by: David Daney <david.daney@...ium.com>
---
 .../devicetree/bindings/net/cortina-cs4321.txt     |   27 +
 drivers/net/phy/Kconfig                            |    6 +
 drivers/net/phy/Makefile                           |    1 +
 drivers/net/phy/cs4321-ucode.h                     | 4378 ++++++++++++++++++++
 drivers/net/phy/cs4321.c                           | 1147 +++++
 5 files changed, 5559 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/cortina-cs4321.txt
 create mode 100644 drivers/net/phy/cs4321-ucode.h
 create mode 100644 drivers/net/phy/cs4321.c

diff --git a/Documentation/devicetree/bindings/net/cortina-cs4321.txt b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
new file mode 100644
index 0000000..a1b6f48
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/cortina-cs4321.txt
@@ -0,0 +1,27 @@
+Cortina CS4321 dual RXAIU/quad XAUI 10G Ethernet PHYs.  Each PHY
+within the package is mostly independent and has the following
+properties.  These phys do *not* implement the standard IEEE 802.3
+clause 45 registers.
+
+Required Properties:
+
+- compatible : "cortina,cs4321" or "cortina,cs4318".
+- reg : The address on the system management bus (MDIO/I2C/SPI address)
+- cortina,host-mode : Either "rxaui" or "xaui", the protocol used to
+  communicate with the Ethernet MAC.
+
+Optional Properties:
+
+- interrupts : One set of cells (per the interrupt-parent) for the
+  interrupt line.
+- interrupt-parent : Standard interrupt-parent property for the interrupt.
+
+Example:
+
+	phy0: ethernet-phy@4 {
+		reg = <0x04>;
+		compatible = "cortina,cs4318";
+		interrupt-parent = <&gpio>;
+		interrupts = <11 8>; /* Pin 11, active low */
+		cortina,host-mode = "rxaui";
+	};
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index 9e36c8f..1d977f9 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -72,6 +72,12 @@ config BCM87XX_PHY
 	help
 	  Currently supports the BCM8706 and BCM8727 10G Ethernet PHYs.
 
+config CS4318_PHY
+	tristate "Driver for Cortina cs4318 quad-10G Ethernet PHY"
+	help
+	  Currently supports only the Cortina cs4318 PHY.  This may be
+	  configured as either a quad-RXAUI or dual-XAUI device.
+
 config ICPLUS_PHY
 	tristate "Drivers for ICPlus PHYs"
 	---help---
diff --git a/drivers/net/phy/Makefile b/drivers/net/phy/Makefile
index 6d2dc6c..c99f64c 100644
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY)	+= vitesse.o
 obj-$(CONFIG_BROADCOM_PHY)	+= broadcom.o
 obj-$(CONFIG_BCM63XX_PHY)	+= bcm63xx.o
 obj-$(CONFIG_BCM87XX_PHY)	+= bcm87xx.o
+obj-$(CONFIG_CS4318_PHY)	+= cs4321.o
 obj-$(CONFIG_ICPLUS_PHY)	+= icplus.o
 obj-$(CONFIG_REALTEK_PHY)	+= realtek.o
 obj-$(CONFIG_LSI_ET1011C_PHY)	+= et1011c.o
diff --git a/drivers/net/phy/cs4321-ucode.h b/drivers/net/phy/cs4321-ucode.h
new file mode 100644
index 0000000..98f05ac
--- /dev/null
+++ b/drivers/net/phy/cs4321-ucode.h
@@ -0,0 +1,4378 @@
+/*
+ *    Copyright (C) 2011 by Cortina Systems, Inc.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ */
+
+/*
+ * The following arrays contain the microcode data to download to the
+ * device.
+ */
+static u16 cs4321_microcode_prolog[] = {
+	/* Addr, Data */
+	0x001c, 0x0001,
+	0x0020, 0x8004,
+	0x0240, 0x0008,
+	0x024f, 0x0000
+};
+
+/*
+ * Each slice is written:
+ *      0x024f, slice_number
+ *   for each element in slice:
+ *      0x0201, first_value
+ *      0x0202, second_value
+ *      0x0200, element index + 0x9000
+ */
+static u16 cs4321_microcode_slices[8][512 * 2] = {{
+	0x009a, 0xb616,
+	0x0060, 0x01e6,
+	0x0088, 0xbf02,
+	0x0000, 0x0000,
+	0x0083, 0xc184,
+	0x0003, 0xc084,
+	0x0083, 0x4f4b,
+	0x0003, 0x4190,
+	0x0003, 0x4f83,
+	0x0083, 0x408e,
+	0x0083, 0xe0db,
+	0x0083, 0xc0ec,
+	0x0003, 0xc0eb,
+	0x0003, 0xc0ee,
+	0x0083, 0xc0ea,
+	0x0003, 0xc696,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x0060, 0x01e6,
+	0x0083, 0xc086,
+	0x001a, 0xb701,
+	0x0060, 0x01e6,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x001f,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x0060, 0x01e6,
+	0x0003, 0xc2bf,
+	0x0060, 0x01e6,
+	0x008a, 0xde02,
+	0x0080, 0x0023,
+	0x008e, 0x8502,
+	0x0080, 0x0015,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x001b, 0x4f80,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0xc0b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x0024, 0x8508,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x00a0, 0x0035,
+	0x000f, 0x8585,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x49b8,
+	0x0083, 0xc052,
+	0x0098, 0x5200,
+	0x0083, 0x0352,
+	0x0099, 0xb853,
+	0x0003, 0x03b8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x0043,
+	0x008f, 0x8587,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x001a, 0x0160,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x0041, 0x0056,
+	0x0083, 0xd1fb,
+	0x0080, 0x005d,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x0041, 0x005c,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0080, 0x005d,
+	0x0083, 0xf6fb,
+	0x0003, 0xc0e4,
+	0x0018, 0xe400,
+	0x0003, 0x03e4,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009f, 0xe40f,
+	0x0017, 0xd703,
+	0x00c1, 0x005e,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x008b, 0x8515,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x000b, 0x8511,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x008b, 0x850d,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0004, 0xb609,
+	0x008b, 0x8508,
+	0x001a, 0x001c,
+	0x0097, 0x03b6,
+	0x0041, 0x00a6,
+	0x0097, 0xb64b,
+	0x0041, 0x00a6,
+	0x0083, 0xb64b,
+	0x0083, 0xb84c,
+	0x001a, 0x000b,
+	0x0097, 0x5203,
+	0x00a1, 0x0037,
+	0x0083, 0x4cb8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x00a0, 0x00b2,
+	0x008f, 0x8584,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x001b, 0x57ba,
+	0x0083, 0x03b9,
+	0x009f, 0xd20f,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x001a, 0xb701,
+	0x0060, 0x01e6,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x00ce,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x0060, 0x01e6,
+	0x0003, 0xc2bf,
+	0x0060, 0x01e6,
+	0x009b, 0x57a3,
+	0x0060, 0x01dc,
+	0x0083, 0x03ef,
+	0x009b, 0x57a0,
+	0x0060, 0x01dc,
+	0x0083, 0x03dc,
+	0x0018, 0xee00,
+	0x0003, 0x03ee,
+	0x0017, 0x59ee,
+	0x0041, 0x011f,
+	0x0003, 0xc0ee,
+	0x0084, 0xed0f,
+	0x009a, 0x8086,
+	0x0083, 0x03bf,
+	0x009a, 0x3408,
+	0x0060, 0x01e6,
+	0x001a, 0xb40b,
+	0x0060, 0x01e6,
+	0x0097, 0xbf60,
+	0x0020, 0x00e5,
+	0x0083, 0xbf60,
+	0x0003, 0xc1bf,
+	0x0080, 0x00e6,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x0060, 0x01e6,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x001a, 0x0160,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x00c1, 0x00f2,
+	0x0083, 0xd1fb,
+	0x0000, 0x00f9,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x00c1, 0x00f8,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0000, 0x00f9,
+	0x0083, 0xf6fb,
+	0x009b, 0xa155,
+	0x0003, 0x03e2,
+	0x009a, 0x0055,
+	0x0017, 0xe203,
+	0x00c1, 0x0103,
+	0x0084, 0xb90b,
+	0x001f, 0xc10f,
+	0x009e, 0xb903,
+	0x0083, 0x03b9,
+	0x0080, 0x0109,
+	0x0097, 0x54e2,
+	0x00c1, 0x0109,
+	0x0017, 0xb957,
+	0x0020, 0x0109,
+	0x0098, 0xb900,
+	0x0083, 0x03b9,
+	0x009e, 0x55c4,
+	0x0097, 0xb903,
+	0x00c1, 0x0114,
+	0x0004, 0xff13,
+	0x009f, 0xff0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x0019, 0x03c8,
+	0x0083, 0x03b9,
+	0x0000, 0x011f,
+	0x0099, 0xcc55,
+	0x0097, 0x03b9,
+	0x0041, 0x011f,
+	0x009f, 0xff0f,
+	0x0097, 0x03c7,
+	0x0041, 0x011f,
+	0x0018, 0xff00,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x009e, 0x03c8,
+	0x0083, 0x03b9,
+	0x0085, 0xeb07,
+	0x0003, 0xc145,
+	0x0098, 0xea00,
+	0x0083, 0x03ea,
+	0x0097, 0x48ea,
+	0x0041, 0x0134,
+	0x0083, 0xc1eb,
+	0x008f, 0xdc0a,
+	0x001b, 0xa055,
+	0x0017, 0xc903,
+	0x00c1, 0x012d,
+	0x0083, 0xc045,
+	0x0083, 0xc242,
+	0x0000, 0x0134,
+	0x0003, 0xc245,
+	0x0003, 0xc042,
+	0x0000, 0x0134,
+	0x001b, 0xa055,
+	0x0097, 0xc103,
+	0x00c1, 0x012d,
+	0x0000, 0x012a,
+	0x001b, 0xa355,
+	0x0017, 0xcc03,
+	0x00c1, 0x013c,
+	0x001f, 0xc80f,
+	0x009e, 0xd303,
+	0x0003, 0x0344,
+	0x0003, 0xc843,
+	0x0000, 0x0145,
+	0x008f, 0xef06,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd344,
+	0x0083, 0xc043,
+	0x0000, 0x0145,
+	0x0017, 0xc503,
+	0x00c1, 0x013f,
+	0x0000, 0x0137,
+	0x009b, 0xa155,
+	0x0003, 0x03e2,
+	0x001a, 0x0040,
+	0x0017, 0xe203,
+	0x0041, 0x0152,
+	0x0083, 0xc296,
+	0x009f, 0xd20f,
+	0x0019, 0xc103,
+	0x0083, 0x0398,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd298,
+	0x0003, 0xc696,
+	0x009b, 0xa755,
+	0x0017, 0x5a03,
+	0x00c1, 0x015c,
+	0x009a, 0x000a,
+	0x009e, 0xd303,
+	0x0083, 0x0346,
+	0x009a, 0x000a,
+	0x0003, 0x0347,
+	0x0000, 0x0164,
+	0x000f, 0xa704,
+	0x0003, 0xd346,
+	0x0003, 0xc047,
+	0x0000, 0x0164,
+	0x009b, 0xa755,
+	0x0097, 0xc203,
+	0x0041, 0x015d,
+	0x0080, 0x0156,
+	0x009f, 0xd20f,
+	0x0011, 0x0344,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0091, 0x0345,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0091, 0x0346,
+	0x0003, 0x0399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0088, 0xde22,
+	0x001a, 0x000d,
+	0x009e, 0x8303,
+	0x0083, 0x0383,
+	0x0003, 0xcc4b,
+	0x009c, 0x58e5,
+	0x0003, 0x034d,
+	0x009e, 0x834b,
+	0x0083, 0x0383,
+	0x001c, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4b4d,
+	0x0020, 0x0184,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0000, 0x017a,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0091, 0x834b,
+	0x0083, 0x0383,
+	0x009d, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4bc9,
+	0x00a0, 0x0191,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x0187,
+	0x001a, 0x001f,
+	0x0091, 0x8303,
+	0x0083, 0x0383,
+	0x0000, 0x0198,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x019a,
+	0x0000, 0x0006,
+	0x0091, 0x40ca,
+	0x0011, 0x5c03,
+	0x0003, 0x038e,
+	0x001e, 0x41c5,
+	0x001e, 0x0348,
+	0x0003, 0x0390,
+	0x001f, 0xc80f,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x009f, 0xd20f,
+	0x0091, 0x0343,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0011, 0x0342,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0011, 0x0347,
+	0x0003, 0x0399,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x0083, 0x408e,
+	0x0003, 0x4190,
+	0x009f, 0xc50f,
+	0x0099, 0x03c9,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x0098, 0xec00,
+	0x0083, 0x03ec,
+	0x009a, 0x0050,
+	0x0097, 0x03ec,
+	0x00c1, 0x01d8,
+	0x0003, 0x5886,
+	0x0003, 0xc0db,
+	0x008b, 0x85bf,
+	0x0080, 0x00c4,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00ae, 0x8005,
+	0x000f, 0x0303,
+	0x001e, 0x035f,
+	0x00e1, 0x0000,
+	0x0099, 0x5f03,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x009a, 0xb616,
+	0x0009, 0xbf02,
+	0x0000, 0x0000,
+	0x0083, 0xc184,
+	0x0003, 0xc084,
+	0x0083, 0x4f4b,
+	0x0083, 0x408e,
+	0x0003, 0x4f83,
+	0x0003, 0x4190,
+	0x0083, 0xe0db,
+	0x0083, 0xc0ec,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x00e0, 0x01a5,
+	0x0083, 0xc086,
+	0x001a, 0xb701,
+	0x00e0, 0x01a5,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x001a,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x00e0, 0x01a5,
+	0x0003, 0xc2bf,
+	0x00e0, 0x01a5,
+	0x008a, 0xde02,
+	0x0000, 0x001e,
+	0x008e, 0x8502,
+	0x0080, 0x0010,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x001b, 0x4f80,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0xc0b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x0024, 0x8508,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x00a0, 0x0030,
+	0x000c, 0x8585,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x49b8,
+	0x0083, 0xc052,
+	0x0098, 0x5200,
+	0x0083, 0x0352,
+	0x0099, 0xb853,
+	0x0003, 0x03b8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x003e,
+	0x008f, 0x8587,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0060, 0x01ae,
+	0x0003, 0xc0e4,
+	0x0018, 0xe400,
+	0x0003, 0x03e4,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0060, 0x01c2,
+	0x00e0, 0x01cf,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009f, 0xe40f,
+	0x0017, 0xd703,
+	0x00c1, 0x0049,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x008b, 0x8515,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x000b, 0x8511,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x008b, 0x850d,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0004, 0xb609,
+	0x008b, 0x8508,
+	0x001a, 0x001c,
+	0x0097, 0x03b6,
+	0x0041, 0x0077,
+	0x0097, 0xb64b,
+	0x0041, 0x0077,
+	0x0083, 0xb64b,
+	0x0083, 0xb84c,
+	0x001a, 0x000b,
+	0x0097, 0x5203,
+	0x00a1, 0x0032,
+	0x0011, 0x4c51,
+	0x0003, 0x03b8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x00a0, 0x0084,
+	0x008f, 0x8584,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x001b, 0x57ba,
+	0x0083, 0x03b9,
+	0x009f, 0xd20f,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x001a, 0xb701,
+	0x00e0, 0x01a5,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x00a0, 0x00a0,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x00e0, 0x01a5,
+	0x0003, 0xc2bf,
+	0x00e0, 0x01a5,
+	0x001b, 0x57a1,
+	0x00e0, 0x01e2,
+	0x0083, 0x03f2,
+	0x009b, 0x57a0,
+	0x00e0, 0x01e2,
+	0x0083, 0x03dc,
+	0x0083, 0x4a9c,
+	0x0098, 0xea00,
+	0x0083, 0x03ea,
+	0x001f, 0xce0f,
+	0x0097, 0x03ea,
+	0x00c1, 0x00e6,
+	0x0084, 0xed0f,
+	0x009a, 0x8086,
+	0x0083, 0x03bf,
+	0x009a, 0x3408,
+	0x00e0, 0x01a5,
+	0x001a, 0xb40b,
+	0x00e0, 0x01a5,
+	0x0097, 0xbf60,
+	0x00a0, 0x00b8,
+	0x0083, 0xbf60,
+	0x0003, 0xc1bf,
+	0x0080, 0x00b9,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x00e0, 0x01a5,
+	0x0060, 0x01ae,
+	0x009b, 0xa155,
+	0x0042, 0x0000,
+	0x0083, 0x03ea,
+	0x009f, 0xc90f,
+	0x0097, 0xea03,
+	0x00c1, 0x00c7,
+	0x009f, 0xc90f,
+	0x001e, 0x03c6,
+	0x0097, 0x03ea,
+	0x00c1, 0x00ce,
+	0x0080, 0x00d5,
+	0x009f, 0xfa0f,
+	0x0097, 0x03cd,
+	0x0020, 0x00d5,
+	0x0041, 0x00d2,
+	0x0018, 0xfa00,
+	0x0003, 0x03fa,
+	0x0080, 0x00d5,
+	0x009f, 0xfa0f,
+	0x0017, 0xc003,
+	0x0020, 0x00d5,
+	0x00c1, 0x00cb,
+	0x009f, 0xfa0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fa,
+	0x0083, 0xc0ea,
+	0x001b, 0xa355,
+	0x0003, 0x03e2,
+	0x009e, 0x54c9,
+	0x0017, 0xe203,
+	0x00c1, 0x00e0,
+	0x0084, 0xb90b,
+	0x001f, 0xc10f,
+	0x009e, 0xb903,
+	0x0083, 0x03b9,
+	0x0080, 0x00e6,
+	0x0097, 0x54e2,
+	0x00c1, 0x00e6,
+	0x0017, 0xb957,
+	0x0020, 0x00e6,
+	0x0098, 0xb900,
+	0x0083, 0x03b9,
+	0x009e, 0x55c4,
+	0x0097, 0xb903,
+	0x00c1, 0x00f1,
+	0x0004, 0xff13,
+	0x009f, 0xff0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x0019, 0x03c8,
+	0x0083, 0x03b9,
+	0x0000, 0x00fc,
+	0x0099, 0xcc55,
+	0x0097, 0x03b9,
+	0x0041, 0x00fc,
+	0x009f, 0xff0f,
+	0x0097, 0x03c7,
+	0x0041, 0x00fc,
+	0x0018, 0xff00,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x009e, 0x03c8,
+	0x0083, 0x03b9,
+	0x008f, 0xf20c,
+	0x009b, 0xa155,
+	0x0097, 0x5d03,
+	0x00c1, 0x0105,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0003, 0x0344,
+	0x0003, 0xc243,
+	0x0080, 0x010c,
+	0x0083, 0xd344,
+	0x0083, 0xc043,
+	0x0080, 0x010c,
+	0x009b, 0xa155,
+	0x0097, 0xc103,
+	0x00c1, 0x0105,
+	0x0080, 0x0100,
+	0x001b, 0xa055,
+	0x0097, 0xc803,
+	0x00c1, 0x0114,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0000, 0x0120,
+	0x0003, 0xd345,
+	0x0003, 0xc042,
+	0x008f, 0xdc0a,
+	0x0097, 0xc103,
+	0x0041, 0x0120,
+	0x001b, 0xa055,
+	0x0017, 0xc003,
+	0x0041, 0x0120,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0003, 0xd346,
+	0x0003, 0xc047,
+	0x008f, 0xa70a,
+	0x009b, 0xa755,
+	0x0097, 0xce03,
+	0x00c1, 0x012b,
+	0x001e, 0x46c8,
+	0x0083, 0x0346,
+	0x0091, 0x47c8,
+	0x0003, 0x0347,
+	0x0080, 0x0130,
+	0x0080, 0x0130,
+	0x009b, 0xa755,
+	0x0097, 0xc103,
+	0x00c1, 0x012b,
+	0x0000, 0x0126,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x000f, 0xa60a,
+	0x001b, 0xa655,
+	0x0097, 0xce03,
+	0x0041, 0x013b,
+	0x001e, 0x46c2,
+	0x0083, 0x0346,
+	0x0091, 0x47c2,
+	0x0003, 0x0347,
+	0x0000, 0x0140,
+	0x0000, 0x0140,
+	0x001b, 0xa655,
+	0x0097, 0xc103,
+	0x0041, 0x013b,
+	0x0080, 0x0136,
+	0x009f, 0xd20f,
+	0x0091, 0x0345,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0011, 0x0344,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0091, 0x0346,
+	0x0003, 0x0399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0088, 0xde1e,
+	0x001f, 0xcd0f,
+	0x009e, 0x8303,
+	0x0083, 0x0383,
+	0x0003, 0xcc4b,
+	0x009c, 0x58c8,
+	0x0003, 0x034d,
+	0x009e, 0x834b,
+	0x0083, 0x0383,
+	0x001c, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4b4d,
+	0x0020, 0x0160,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x0156,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0091, 0x834b,
+	0x0083, 0x0383,
+	0x009d, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4bc9,
+	0x00a0, 0x016d,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x0163,
+	0x0003, 0x4f83,
+	0x0091, 0x40ca,
+	0x0011, 0x5c03,
+	0x0003, 0x038e,
+	0x001e, 0x41c5,
+	0x001e, 0x0348,
+	0x0003, 0x0390,
+	0x0091, 0x40ca,
+	0x001e, 0x0348,
+	0x009e, 0x0358,
+	0x0083, 0x038f,
+	0x001f, 0xc80f,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0080, 0x017e,
+	0x0000, 0x0005,
+	0x009f, 0xd20f,
+	0x0011, 0x0342,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0091, 0x0343,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0011, 0x0347,
+	0x0003, 0x0399,
+	0x0060, 0x01c2,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x001e, 0x4058,
+	0x009e, 0x0358,
+	0x0003, 0x038e,
+	0x0003, 0x4190,
+	0x0099, 0x4058,
+	0x0083, 0x038f,
+	0x001a, 0x0025,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x00e0, 0x01cf,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0098, 0xec00,
+	0x0083, 0x03ec,
+	0x009a, 0x0050,
+	0x0097, 0x03ec,
+	0x00c1, 0x019f,
+	0x0003, 0x5886,
+	0x0003, 0xc0db,
+	0x008b, 0x85a2,
+	0x0000, 0x0096,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x001a, 0x0160,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x00c1, 0x01b8,
+	0x0083, 0xd1fb,
+	0x0000, 0x01bf,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x00c1, 0x01be,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0000, 0x01bf,
+	0x0083, 0xf6fb,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00ae, 0x8005,
+	0x000f, 0x0303,
+	0x001e, 0x035f,
+	0x00e1, 0x0000,
+	0x0099, 0x5f03,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x009a, 0xb616,
+	0x00e0, 0x01db,
+	0x008b, 0xbf02,
+	0x0000, 0x0000,
+	0x0083, 0xc184,
+	0x0003, 0xc084,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x00e0, 0x01db,
+	0x0083, 0x408e,
+	0x0003, 0x4f83,
+	0x0003, 0x4190,
+	0x0083, 0x4f4b,
+	0x0083, 0xe0db,
+	0x0083, 0xc0ec,
+	0x0083, 0xc0ea,
+	0x0083, 0xc086,
+	0x001a, 0xb701,
+	0x00e0, 0x01db,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x001c,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x00e0, 0x01db,
+	0x0003, 0xc2bf,
+	0x00e0, 0x01db,
+	0x008a, 0xde02,
+	0x0080, 0x0020,
+	0x008e, 0x8502,
+	0x0000, 0x0012,
+	0x0083, 0xc44d,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x001b, 0x4f80,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0xc0b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x0024, 0x8507,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x0032,
+	0x000f, 0x8585,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x49b8,
+	0x0083, 0xc052,
+	0x0003, 0xf3fa,
+	0x0080, 0x003e,
+	0x0018, 0x9600,
+	0x0003, 0x0396,
+	0x0083, 0xf1fa,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0x49b8,
+	0x0083, 0xc052,
+	0x0098, 0x5200,
+	0x0083, 0x0352,
+	0x0099, 0xb853,
+	0x0003, 0x03b8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x004a,
+	0x008f, 0x8587,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e0, 0x01e4,
+	0x0003, 0xc0e4,
+	0x0018, 0xe400,
+	0x0003, 0x03e4,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0060, 0x01ba,
+	0x0060, 0x01c8,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009f, 0xe40f,
+	0x0017, 0xd703,
+	0x0041, 0x0055,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x008b, 0x8516,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x000b, 0x8512,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x008b, 0x850e,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0004, 0xb60a,
+	0x000b, 0x8509,
+	0x001a, 0x001c,
+	0x0097, 0x03b6,
+	0x0041, 0x0081,
+	0x0097, 0xb64b,
+	0x0041, 0x0081,
+	0x0083, 0xb64b,
+	0x0083, 0xb84c,
+	0x0003, 0x964d,
+	0x001a, 0x000b,
+	0x0097, 0x5203,
+	0x00a1, 0x003e,
+	0x009f, 0x960f,
+	0x0017, 0x03c5,
+	0x0021, 0x0036,
+	0x0083, 0x4cb8,
+	0x0003, 0x4d96,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x0091,
+	0x008f, 0x8584,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x001b, 0x57ba,
+	0x0083, 0x03b9,
+	0x009f, 0xd20f,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x009b, 0x57a3,
+	0x00e0, 0x01b2,
+	0x0083, 0x03ef,
+	0x001b, 0x57a1,
+	0x00e0, 0x01b2,
+	0x0083, 0x03f2,
+	0x009b, 0x57a0,
+	0x00e0, 0x01b2,
+	0x0083, 0x03dc,
+	0x009b, 0x57a5,
+	0x00e0, 0x01b2,
+	0x0083, 0x03f4,
+	0x0083, 0x4a9c,
+	0x0098, 0xea00,
+	0x0083, 0x03ea,
+	0x001f, 0xc80f,
+	0x0097, 0x03ea,
+	0x0041, 0x00f0,
+	0x0084, 0xed0f,
+	0x009a, 0x8086,
+	0x0083, 0x03bf,
+	0x009a, 0x3408,
+	0x00e0, 0x01db,
+	0x001a, 0xb40b,
+	0x00e0, 0x01db,
+	0x0097, 0xbf60,
+	0x0020, 0x00c1,
+	0x0083, 0xbf60,
+	0x0003, 0xc1bf,
+	0x0080, 0x00c2,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x00e0, 0x01db,
+	0x00e0, 0x01e4,
+	0x001b, 0xa555,
+	0x0042, 0x0000,
+	0x0083, 0x03ea,
+	0x009f, 0xc90f,
+	0x0019, 0x03c4,
+	0x0097, 0xea03,
+	0x0041, 0x00d1,
+	0x009f, 0xc90f,
+	0x009e, 0x03c4,
+	0x0097, 0x03ea,
+	0x0041, 0x00d8,
+	0x0080, 0x00df,
+	0x009f, 0xfa0f,
+	0x0097, 0x03f1,
+	0x0020, 0x00df,
+	0x00c1, 0x00dc,
+	0x0018, 0xfa00,
+	0x0003, 0x03fa,
+	0x0080, 0x00df,
+	0x009f, 0xfa0f,
+	0x0017, 0xf303,
+	0x0020, 0x00df,
+	0x00c1, 0x00d5,
+	0x009f, 0xfa0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fa,
+	0x0083, 0xc0ea,
+	0x001b, 0xa355,
+	0x0003, 0x03e2,
+	0x009e, 0x54c9,
+	0x0017, 0xe203,
+	0x00c1, 0x00ea,
+	0x0084, 0xb90b,
+	0x001f, 0xc10f,
+	0x009e, 0xb903,
+	0x0083, 0x03b9,
+	0x0000, 0x00f0,
+	0x0097, 0x54e2,
+	0x0041, 0x00f0,
+	0x0017, 0xb957,
+	0x00a0, 0x00f0,
+	0x0098, 0xb900,
+	0x0083, 0x03b9,
+	0x009e, 0x55c4,
+	0x0097, 0xb903,
+	0x00c1, 0x00fb,
+	0x0004, 0xff13,
+	0x009f, 0xff0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x0019, 0x03c8,
+	0x0083, 0x03b9,
+	0x0080, 0x0106,
+	0x0099, 0xcc55,
+	0x0097, 0x03b9,
+	0x00c1, 0x0106,
+	0x009f, 0xff0f,
+	0x0097, 0x03c7,
+	0x00c1, 0x0106,
+	0x0018, 0xff00,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x009e, 0x03c8,
+	0x0083, 0x03b9,
+	0x000f, 0xf216,
+	0x001b, 0xa555,
+	0x0017, 0x03c9,
+	0x00c1, 0x0111,
+	0x009b, 0xa755,
+	0x0097, 0x03c8,
+	0x00c1, 0x0111,
+	0x009b, 0xa155,
+	0x0017, 0xc903,
+	0x0041, 0x0119,
+	0x0080, 0x0114,
+	0x009b, 0xa155,
+	0x0017, 0x5603,
+	0x0041, 0x0119,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0003, 0x0344,
+	0x0003, 0xc243,
+	0x0000, 0x0120,
+	0x0083, 0xd344,
+	0x0083, 0xc043,
+	0x0000, 0x0120,
+	0x009b, 0xa155,
+	0x0097, 0xc103,
+	0x0041, 0x0119,
+	0x0080, 0x0114,
+	0x008f, 0xf40a,
+	0x001b, 0xa555,
+	0x0097, 0x5403,
+	0x0041, 0x0129,
+	0x001e, 0x44cc,
+	0x0003, 0x0344,
+	0x0091, 0x43cc,
+	0x0083, 0x0343,
+	0x0080, 0x012e,
+	0x0080, 0x012e,
+	0x001b, 0xa555,
+	0x0017, 0xc503,
+	0x0041, 0x0129,
+	0x0080, 0x0124,
+	0x001b, 0xa055,
+	0x0097, 0xc803,
+	0x00c1, 0x0136,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0080, 0x0142,
+	0x0003, 0xd345,
+	0x0003, 0xc042,
+	0x008f, 0xdc0a,
+	0x0097, 0xc103,
+	0x00c1, 0x0142,
+	0x001b, 0xa055,
+	0x0017, 0xc003,
+	0x00c1, 0x0142,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0003, 0xd346,
+	0x0003, 0xc047,
+	0x008f, 0xa70a,
+	0x009b, 0xa755,
+	0x0017, 0xc903,
+	0x00c1, 0x014d,
+	0x001e, 0x46c8,
+	0x0083, 0x0346,
+	0x0091, 0x47c8,
+	0x0003, 0x0347,
+	0x0000, 0x0152,
+	0x0000, 0x0152,
+	0x009b, 0xa755,
+	0x0097, 0xc103,
+	0x00c1, 0x014d,
+	0x0080, 0x0148,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x9e9f,
+	0x009f, 0xd20f,
+	0x0091, 0x0345,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0011, 0x0344,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0091, 0x0346,
+	0x0003, 0x0399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0088, 0xde24,
+	0x0000, 0x0167,
+	0x0000, 0x0006,
+	0x001a, 0x000d,
+	0x009e, 0x8303,
+	0x0083, 0x0383,
+	0x0003, 0xcc4b,
+	0x009c, 0x58e5,
+	0x0003, 0x034d,
+	0x009e, 0x834b,
+	0x0083, 0x0383,
+	0x001c, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4b4d,
+	0x0020, 0x0177,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0000, 0x016d,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0091, 0x834b,
+	0x0083, 0x0383,
+	0x009d, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4bc9,
+	0x0020, 0x0184,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0000, 0x017a,
+	0x001a, 0x001f,
+	0x0091, 0x8303,
+	0x0083, 0x0383,
+	0x0080, 0x018b,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0091, 0x40ca,
+	0x0011, 0x5c03,
+	0x0003, 0x038e,
+	0x001e, 0x41c5,
+	0x001e, 0x0348,
+	0x0003, 0x0390,
+	0x001f, 0xc80f,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x009f, 0xd20f,
+	0x0011, 0x0342,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0091, 0x0343,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0011, 0x0347,
+	0x0003, 0x0399,
+	0x0060, 0x01ba,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x0083, 0x408e,
+	0x0003, 0x4190,
+	0x001a, 0x0025,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0060, 0x01c8,
+	0x0098, 0xec00,
+	0x0083, 0x03ec,
+	0x009a, 0x0050,
+	0x0097, 0x03ec,
+	0x0041, 0x01b0,
+	0x0003, 0x5886,
+	0x0003, 0xc0db,
+	0x000b, 0x85ca,
+	0x0000, 0x00a3,
+	0x00ae, 0x8005,
+	0x000f, 0x0303,
+	0x001e, 0x035f,
+	0x00e1, 0x0000,
+	0x0099, 0x5f03,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x009a, 0x0170,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x00c1, 0x01ee,
+	0x0083, 0xd1fb,
+	0x0080, 0x01f5,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x0041, 0x01f4,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0080, 0x01f5,
+	0x0083, 0xf6fb,
+	0x009a, 0x00e7,
+	0x0017, 0x03f6,
+	0x0041, 0x01fd,
+	0x001a, 0x00ec,
+	0x0017, 0x03f6,
+	0x0041, 0x01fe,
+	0x0003, 0xeb81,
+	0x0000, 0x01fe,
+	0x0003, 0xe781,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009a, 0xb616,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf86,
+	0x000a, 0xbf02,
+	0x0080, 0x0007,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x0060, 0x0123,
+	0x0083, 0x408e,
+	0x0003, 0x4190,
+	0x0083, 0xc184,
+	0x0083, 0x4f4b,
+	0x0003, 0xccfc,
+	0x0003, 0xc0e1,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x0003, 0xc084,
+	0x0083, 0xc086,
+	0x0003, 0x4f83,
+	0x0083, 0xe0db,
+	0x001a, 0xb701,
+	0x0060, 0x0123,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x002a,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x0060, 0x0123,
+	0x0003, 0xc2bf,
+	0x0060, 0x0123,
+	0x008a, 0xde02,
+	0x0000, 0x002e,
+	0x008e, 0x8502,
+	0x0080, 0x0020,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x009a, 0x0170,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x00c1, 0x0038,
+	0x0083, 0xd1fb,
+	0x0000, 0x003f,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x00c1, 0x003e,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0000, 0x003f,
+	0x0083, 0xf6fb,
+	0x0091, 0xc951,
+	0x0083, 0x0391,
+	0x001b, 0x4f80,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0x49b8,
+	0x0083, 0xc0b9,
+	0x0083, 0xc7ff,
+	0x009f, 0xcc0f,
+	0x0099, 0x03c9,
+	0x0003, 0x039a,
+	0x0003, 0xc096,
+	0x0003, 0xc04d,
+	0x0003, 0xc082,
+	0x0024, 0xde03,
+	0x0042, 0x0000,
+	0x00a4, 0x8581,
+	0x0080, 0x0058,
+	0x0018, 0x9600,
+	0x0003, 0x0396,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0003, 0xf3fa,
+	0x0008, 0x9302,
+	0x0083, 0xf1fa,
+	0x0011, 0x5149,
+	0x0003, 0x03b8,
+	0x0083, 0xc052,
+	0x009f, 0x960f,
+	0x0017, 0x03c0,
+	0x0021, 0x0065,
+	0x009f, 0xcc0f,
+	0x0099, 0x03c5,
+	0x0003, 0x03fc,
+	0x0080, 0x0076,
+	0x009f, 0x960f,
+	0x0097, 0x03c1,
+	0x0021, 0x006c,
+	0x009f, 0xcc0f,
+	0x0099, 0x03c5,
+	0x0003, 0x03fc,
+	0x0080, 0x0076,
+	0x009f, 0x960f,
+	0x0097, 0x03c2,
+	0x00a1, 0x0073,
+	0x009f, 0xcc0f,
+	0x0019, 0x03c1,
+	0x0003, 0x03fc,
+	0x0080, 0x0076,
+	0x009f, 0xcc0f,
+	0x0019, 0x03c1,
+	0x0003, 0x03fc,
+	0x0098, 0x5200,
+	0x0083, 0x0352,
+	0x0099, 0xb853,
+	0x0003, 0x03b8,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x00a0, 0x0082,
+	0x008f, 0x8587,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc0e4,
+	0x0018, 0xe400,
+	0x0003, 0x03e4,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009f, 0xe40f,
+	0x0017, 0xd703,
+	0x00c1, 0x008c,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x000b, 0x8517,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x008b, 0x8513,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x000b, 0x850f,
+	0x0083, 0x5089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0084, 0xb60b,
+	0x000b, 0x850a,
+	0x001a, 0x001c,
+	0x0097, 0x03b6,
+	0x00c1, 0x00d6,
+	0x0097, 0xb64b,
+	0x00c1, 0x00d6,
+	0x0083, 0xb64b,
+	0x0083, 0xb84c,
+	0x0003, 0x964d,
+	0x0003, 0xfc4e,
+	0x0018, 0xe100,
+	0x0003, 0x03e1,
+	0x0003, 0xc0e2,
+	0x001f, 0xc80f,
+	0x0099, 0xc303,
+	0x0097, 0x5203,
+	0x00a1, 0x0076,
+	0x009f, 0x960f,
+	0x0017, 0x03c3,
+	0x0021, 0x0053,
+	0x0003, 0x4d96,
+	0x0011, 0x4c51,
+	0x0003, 0x03b8,
+	0x0003, 0x4efc,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x00a4, 0x8505,
+	0x001b, 0x57ba,
+	0x0097, 0x5703,
+	0x0020, 0x00ec,
+	0x008f, 0x8584,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0397,
+	0x0003, 0xd398,
+	0x0083, 0xd399,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x0011, 0x51ae,
+	0x0083, 0x03ae,
+	0x0083, 0xc086,
+	0x0003, 0xc04d,
+	0x001b, 0x57ba,
+	0x0083, 0x03b9,
+	0x009f, 0xd20f,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x0003, 0xc0f5,
+	0x0003, 0x554b,
+	0x009a, 0x00b2,
+	0x0017, 0xf603,
+	0x00c1, 0x0112,
+	0x001a, 0x0040,
+	0x0003, 0x03f5,
+	0x0099, 0x034b,
+	0x001c, 0x4bc8,
+	0x001c, 0x03c4,
+	0x0099, 0x0355,
+	0x0000, 0x0115,
+	0x001c, 0x4bc8,
+	0x009c, 0x03c3,
+	0x0099, 0x0355,
+	0x0003, 0x034b,
+	0x009a, 0x0028,
+	0x0003, 0x03e7,
+	0x0003, 0xc99a,
+	0x0083, 0xc55e,
+	0x0083, 0xc0ec,
+	0x0003, 0xc494,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc0e8,
+	0x0000, 0x000f,
+	0x00ae, 0x8005,
+	0x000f, 0x0303,
+	0x001e, 0x035f,
+	0x00e1, 0x0000,
+	0x0099, 0x5f03,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x00a8, 0xe80d,
+	0x001a, 0xb701,
+	0x00e0, 0x01f0,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x00a0, 0x001b,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x00e0, 0x01f0,
+	0x0003, 0xc2bf,
+	0x00e0, 0x01f0,
+	0x0080, 0x001c,
+	0x0083, 0xc1e8,
+	0x009b, 0x57a3,
+	0x00e0, 0x0008,
+	0x0083, 0x03ef,
+	0x001b, 0x57a2,
+	0x00e0, 0x0008,
+	0x0003, 0x03f0,
+	0x001b, 0x57a1,
+	0x00e0, 0x0008,
+	0x0083, 0x03f2,
+	0x009b, 0x57a0,
+	0x00e0, 0x0008,
+	0x0083, 0x03dc,
+	0x009b, 0x57a5,
+	0x00e0, 0x0008,
+	0x0083, 0x03f4,
+	0x0083, 0x4a9c,
+	0x0098, 0xea00,
+	0x0083, 0x03ea,
+	0x001f, 0xc80f,
+	0x0097, 0x03ea,
+	0x0041, 0x0108,
+	0x0084, 0xed0f,
+	0x009a, 0x8086,
+	0x0083, 0x03bf,
+	0x009a, 0x3408,
+	0x00e0, 0x01f0,
+	0x001a, 0xb40b,
+	0x00e0, 0x01f0,
+	0x0097, 0xbf60,
+	0x0020, 0x003d,
+	0x0083, 0xbf60,
+	0x0003, 0xc1bf,
+	0x0080, 0x003e,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x00e0, 0x01f0,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x009a, 0x0170,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x00c1, 0x004a,
+	0x0083, 0xd1fb,
+	0x0080, 0x0051,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x0041, 0x0050,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0080, 0x0051,
+	0x0083, 0xf6fb,
+	0x009a, 0x00d4,
+	0x0017, 0x03f6,
+	0x0041, 0x005c,
+	0x001a, 0x00dc,
+	0x0017, 0x03f6,
+	0x0041, 0x005f,
+	0x0083, 0xb1fe,
+	0x0003, 0xcdf1,
+	0x001a, 0x0040,
+	0x0003, 0x03f5,
+	0x0000, 0x005f,
+	0x0083, 0xc3fe,
+	0x0083, 0xebf1,
+	0x0003, 0xc0f5,
+	0x009b, 0xa155,
+	0x0083, 0x03ea,
+	0x009f, 0xc90f,
+	0x0019, 0x03c4,
+	0x0097, 0xea03,
+	0x0041, 0x0093,
+	0x001f, 0xc80f,
+	0x0019, 0x03c2,
+	0x0097, 0xea03,
+	0x00c1, 0x006d,
+	0x000f, 0xa82a,
+	0x009b, 0xa755,
+	0x0097, 0x03c8,
+	0x0041, 0x0074,
+	0x009b, 0xa855,
+	0x0083, 0x03ea,
+	0x008f, 0xa824,
+	0x001f, 0xc80f,
+	0x0099, 0x03c3,
+	0x0097, 0x03ea,
+	0x0041, 0x0093,
+	0x009f, 0xcc0f,
+	0x0019, 0x03c1,
+	0x0017, 0x03fc,
+	0x0041, 0x007b,
+	0x009f, 0xfc0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fc,
+	0x009b, 0xa855,
+	0x0083, 0x03ea,
+	0x009b, 0xa755,
+	0x0019, 0x03c8,
+	0x0097, 0xea03,
+	0x00c1, 0x00a4,
+	0x009b, 0xa755,
+	0x0017, 0x03c5,
+	0x0041, 0x0088,
+	0x000f, 0xa820,
+	0x009b, 0xa855,
+	0x0097, 0xc403,
+	0x00c1, 0x00a4,
+	0x009e, 0xf14d,
+	0x0017, 0xfa03,
+	0x0020, 0x00bc,
+	0x00c1, 0x008f,
+	0x0018, 0xfa00,
+	0x0003, 0x03fa,
+	0x0080, 0x00bc,
+	0x009f, 0xfa0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fa,
+	0x0080, 0x00bc,
+	0x001b, 0xa055,
+	0x0097, 0xc403,
+	0x00c1, 0x009b,
+	0x0017, 0x03c6,
+	0x0041, 0x0099,
+	0x0080, 0x009d,
+	0x0003, 0xc75e,
+	0x0080, 0x009d,
+	0x0083, 0xc55e,
+	0x0080, 0x009d,
+	0x009f, 0xcc0f,
+	0x0019, 0x035e,
+	0x0017, 0xfc03,
+	0x0020, 0x00a4,
+	0x00c1, 0x00ab,
+	0x0018, 0xfc00,
+	0x0003, 0x03fc,
+	0x009f, 0xfa0f,
+	0x0017, 0xf303,
+	0x0041, 0x00af,
+	0x009f, 0xfa0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fa,
+	0x0080, 0x00bc,
+	0x009f, 0xfc0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fc,
+	0x0080, 0x00a4,
+	0x000f, 0xa804,
+	0x0018, 0xfa00,
+	0x0003, 0x03fa,
+	0x0080, 0x00bc,
+	0x009b, 0xa855,
+	0x0083, 0x03ea,
+	0x009f, 0xc60f,
+	0x0097, 0x03ea,
+	0x00c1, 0x00bc,
+	0x0004, 0xfa04,
+	0x009f, 0xfa0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03fa,
+	0x009b, 0xa755,
+	0x0097, 0x03c4,
+	0x00c1, 0x00ce,
+	0x001b, 0xa655,
+	0x0097, 0x03c4,
+	0x00c1, 0x00ce,
+	0x009b, 0xa255,
+	0x0097, 0x5b03,
+	0x00c1, 0x00ce,
+	0x009b, 0xa855,
+	0x0097, 0x5b03,
+	0x00c1, 0x00ce,
+	0x009f, 0x4d0f,
+	0x0017, 0x03c6,
+	0x0041, 0x00d1,
+	0x0018, 0x4d00,
+	0x0003, 0x034d,
+	0x0000, 0x00d1,
+	0x0084, 0x4d03,
+	0x009e, 0x4dc1,
+	0x0003, 0x034d,
+	0x0083, 0xc0ea,
+	0x001b, 0xa355,
+	0x0003, 0x03e2,
+	0x009e, 0x54c9,
+	0x0017, 0xe203,
+	0x0041, 0x00de,
+	0x001f, 0xc20f,
+	0x0097, 0x03b9,
+	0x00c1, 0x00e6,
+	0x001f, 0xc20f,
+	0x009e, 0xb903,
+	0x0083, 0x03b9,
+	0x0080, 0x00e6,
+	0x0097, 0x54e2,
+	0x00c1, 0x00e6,
+	0x001e, 0x57c2,
+	0x0097, 0xb903,
+	0x0020, 0x00e6,
+	0x001f, 0xc20f,
+	0x0019, 0xb903,
+	0x0083, 0x03b9,
+	0x0019, 0x4bb9,
+	0x0003, 0x034b,
+	0x009d, 0x4bc8,
+	0x001d, 0x03c3,
+	0x0083, 0x03e9,
+	0x001e, 0x4b03,
+	0x0003, 0x034b,
+	0x0099, 0xf555,
+	0x0097, 0xe903,
+	0x0041, 0x00fa,
+	0x0084, 0xff18,
+	0x009f, 0xff0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x0019, 0x03c8,
+	0x0083, 0x03b9,
+	0x0019, 0x4b58,
+	0x0003, 0x034b,
+	0x0000, 0x0108,
+	0x009a, 0x009f,
+	0x0099, 0x03f5,
+	0x0097, 0x03e9,
+	0x0041, 0x0108,
+	0x009f, 0xff0f,
+	0x0097, 0x03c7,
+	0x0041, 0x0108,
+	0x0018, 0xff00,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x009e, 0x03c8,
+	0x0083, 0x03b9,
+	0x009e, 0x4b58,
+	0x0003, 0x034b,
+	0x009b, 0xa855,
+	0x0083, 0x03e3,
+	0x009a, 0x000a,
+	0x0097, 0x03e3,
+	0x00c1, 0x010f,
+	0x0083, 0xc8e7,
+	0x0080, 0x0114,
+	0x0003, 0xcfe7,
+	0x009b, 0xa255,
+	0x0017, 0xc903,
+	0x00c1, 0x0114,
+	0x0003, 0xcce7,
+	0x008f, 0xf20c,
+	0x009b, 0xa155,
+	0x0017, 0xe703,
+	0x00c1, 0x011d,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0003, 0x0344,
+	0x0003, 0xc243,
+	0x0080, 0x0124,
+	0x0083, 0xd344,
+	0x0083, 0xc043,
+	0x0080, 0x0124,
+	0x009b, 0xa155,
+	0x0097, 0xc103,
+	0x00c1, 0x011d,
+	0x0080, 0x0118,
+	0x000f, 0xa702,
+	0x0000, 0x012f,
+	0x000f, 0xa802,
+	0x0000, 0x012f,
+	0x009b, 0xa855,
+	0x0017, 0x03c6,
+	0x0041, 0x012f,
+	0x008f, 0xf40a,
+	0x001b, 0xa555,
+	0x0097, 0xc103,
+	0x0041, 0x0134,
+	0x001e, 0x44cc,
+	0x0003, 0x0344,
+	0x0091, 0x43cc,
+	0x0083, 0x0343,
+	0x0080, 0x0139,
+	0x0080, 0x0139,
+	0x001b, 0xa555,
+	0x0097, 0xc803,
+	0x0041, 0x0134,
+	0x0000, 0x012f,
+	0x001b, 0xa055,
+	0x0097, 0xc803,
+	0x00c1, 0x0141,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0080, 0x014d,
+	0x0003, 0xd345,
+	0x0003, 0xc042,
+	0x008f, 0xdc0a,
+	0x0097, 0xc103,
+	0x00c1, 0x014d,
+	0x001b, 0xa055,
+	0x0017, 0xc003,
+	0x00c1, 0x014d,
+	0x001f, 0xc20f,
+	0x009e, 0xd303,
+	0x0083, 0x0345,
+	0x0083, 0xc242,
+	0x0003, 0xcfe1,
+	0x009b, 0xa755,
+	0x0017, 0x03c5,
+	0x00c1, 0x0156,
+	0x000f, 0xa804,
+	0x009b, 0xa855,
+	0x0017, 0x03c5,
+	0x00c1, 0x0156,
+	0x0003, 0xc0e1,
+	0x001f, 0xc40f,
+	0x001e, 0x5a03,
+	0x0097, 0x039e,
+	0x00c1, 0x0160,
+	0x009b, 0xa155,
+	0x0097, 0xcd03,
+	0x0041, 0x015e,
+	0x0080, 0x0160,
+	0x0099, 0x5ac0,
+	0x0003, 0x03e1,
+	0x008f, 0xf00b,
+	0x009b, 0xa255,
+	0x0017, 0xe103,
+	0x00c1, 0x0169,
+	0x001e, 0x45c8,
+	0x0083, 0x0345,
+	0x0091, 0x42c8,
+	0x0003, 0x0342,
+	0x0080, 0x016f,
+	0x0042, 0x0000,
+	0x0080, 0x016f,
+	0x009b, 0xa255,
+	0x0097, 0xc103,
+	0x00c1, 0x0169,
+	0x0000, 0x0164,
+	0x0003, 0xd346,
+	0x0003, 0xc047,
+	0x008f, 0xa70a,
+	0x009b, 0xa755,
+	0x0097, 0xce03,
+	0x0041, 0x017a,
+	0x001e, 0x46c8,
+	0x0083, 0x0346,
+	0x0091, 0x47c8,
+	0x0003, 0x0347,
+	0x0000, 0x017f,
+	0x0000, 0x017f,
+	0x009b, 0xa755,
+	0x0097, 0xc103,
+	0x0041, 0x017a,
+	0x0000, 0x0175,
+	0x000f, 0xa60a,
+	0x001b, 0xa655,
+	0x0097, 0xce03,
+	0x00c1, 0x0188,
+	0x001e, 0x46c2,
+	0x0083, 0x0346,
+	0x0091, 0x47c2,
+	0x0003, 0x0347,
+	0x0080, 0x018d,
+	0x0080, 0x018d,
+	0x001b, 0xa655,
+	0x0097, 0xc103,
+	0x00c1, 0x0188,
+	0x0000, 0x0183,
+	0x009f, 0xd20f,
+	0x0091, 0x0345,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0011, 0x0344,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0091, 0x0346,
+	0x0003, 0x0399,
+	0x0083, 0xc0df,
+	0x0098, 0xdf00,
+	0x0083, 0x03df,
+	0x001a, 0x0070,
+	0x0097, 0x03df,
+	0x0041, 0x0197,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0091, 0x40ca,
+	0x0011, 0x5c03,
+	0x0003, 0x038e,
+	0x001e, 0x41c5,
+	0x001e, 0x0348,
+	0x0003, 0x0390,
+	0x0091, 0x40ca,
+	0x001e, 0x0348,
+	0x009e, 0x0358,
+	0x0083, 0x038f,
+	0x001f, 0xc80f,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0080, 0x01af,
+	0x0000, 0x000f,
+	0x009f, 0xd20f,
+	0x0011, 0x0342,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0091, 0x0343,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0011, 0x0347,
+	0x0003, 0x0399,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x001e, 0x4058,
+	0x009e, 0x0358,
+	0x0003, 0x038e,
+	0x0003, 0x4190,
+	0x0099, 0x4058,
+	0x0083, 0x038f,
+	0x009f, 0xc50f,
+	0x0099, 0x03cc,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x0098, 0xec00,
+	0x0083, 0x03ec,
+	0x009a, 0x0050,
+	0x0097, 0x03ec,
+	0x0041, 0x01e5,
+	0x0003, 0x5886,
+	0x0003, 0xc0db,
+	0x001f, 0xef0f,
+	0x0017, 0x03d7,
+	0x0041, 0x01ea,
+	0x008b, 0x8502,
+	0x0000, 0x01ae,
+	0x0083, 0xc394,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000
+}, {
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009a, 0xb616,
+	0x0060, 0x00ee,
+	0x008d, 0xbf02,
+	0x0080, 0x0007,
+	0x0083, 0xc0e0,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0008, 0xe384,
+	0x0003, 0xc095,
+	0x0083, 0xc184,
+	0x0003, 0xc084,
+	0x0083, 0xd1b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x003a, 0x000a,
+	0x0003, 0x03fa,
+	0x0003, 0x4190,
+	0x0003, 0x4f83,
+	0x0083, 0x408e,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x0060, 0x00ee,
+	0x0083, 0xc086,
+	0x001a, 0xb701,
+	0x0060, 0x00ee,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x002a,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x0060, 0x00ee,
+	0x0003, 0xc2bf,
+	0x0060, 0x00ee,
+	0x008a, 0xde02,
+	0x0000, 0x002e,
+	0x008e, 0x8502,
+	0x0080, 0x0020,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x00fa, 0x8040,
+	0x0091, 0x03c1,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0xd1b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00ba, 0x0117,
+	0x0083, 0x03bf,
+	0x003a, 0x3b80,
+	0x0060, 0x00ee,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x001f, 0xf80f,
+	0x0011, 0x03d2,
+	0x0083, 0x03f8,
+	0x0000, 0x004b,
+	0x0080, 0x0010,
+	0x0083, 0xc0e3,
+	0x0003, 0x618c,
+	0x0083, 0x628d,
+	0x00ba, 0x0010,
+	0x0083, 0x03e0,
+	0x0003, 0xe171,
+	0x009f, 0x710f,
+	0x009b, 0x03cd,
+	0x0003, 0x0371,
+	0x00e0, 0x0114,
+	0x0060, 0x0123,
+	0x00e0, 0x0171,
+	0x0003, 0xc074,
+	0x0060, 0x01ae,
+	0x0003, 0xc0e7,
+	0x0003, 0xc0e8,
+	0x0098, 0xe600,
+	0x0083, 0x03e6,
+	0x003a, 0x0011,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00ac, 0xda02,
+	0x002a, 0xda0a,
+	0x0008, 0x8605,
+	0x0060, 0x0125,
+	0x0060, 0x01ae,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0060, 0x0173,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x005d,
+	0x003a, 0x0012,
+	0x0083, 0x03e0,
+	0x0011, 0x7274,
+	0x0082, 0x0f74,
+	0x00ba, 0xdc74,
+	0x005a, 0x0257,
+	0x0083, 0x0375,
+	0x00ba, 0x0020,
+	0x0083, 0x03e0,
+	0x0060, 0x0123,
+	0x00e0, 0x0171,
+	0x0060, 0x01b9,
+	0x0060, 0x01ae,
+	0x003a, 0x0021,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x0029, 0x86b1,
+	0x00ac, 0xda02,
+	0x002a, 0xda0a,
+	0x00ba, 0x0023,
+	0x0083, 0x03e0,
+	0x0088, 0x8602,
+	0x0000, 0x0093,
+	0x00ba, 0x002c,
+	0x0083, 0x03e0,
+	0x0060, 0x0173,
+	0x0083, 0x7273,
+	0x0000, 0x0078,
+	0x003a, 0x0024,
+	0x0083, 0x03e0,
+	0x009e, 0x7072,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002b, 0x0322,
+	0x0097, 0x7f72,
+	0x0020, 0x00ae,
+	0x0011, 0x7274,
+	0x0082, 0x0f74,
+	0x0060, 0x01b9,
+	0x0000, 0x007e,
+	0x0083, 0x7072,
+	0x0060, 0x017a,
+	0x003a, 0x0027,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00a9, 0x86ce,
+	0x00ac, 0xda02,
+	0x002a, 0xda14,
+	0x003a, 0x0028,
+	0x0083, 0x03e0,
+	0x001f, 0x750f,
+	0x0017, 0x0366,
+	0x00c1, 0x00a8,
+	0x00ba, 0x0029,
+	0x0083, 0x03e0,
+	0x0003, 0x71e8,
+	0x0060, 0x0125,
+	0x0083, 0x7372,
+	0x0060, 0x0173,
+	0x0060, 0x01ae,
+	0x0000, 0x0078,
+	0x0003, 0x7471,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x71e1,
+	0x00e0, 0x0114,
+	0x0000, 0x00a0,
+	0x0080, 0x00b0,
+	0x0080, 0x004a,
+	0x003a, 0x0030,
+	0x0083, 0x03e0,
+	0x0003, 0x678c,
+	0x001b, 0x7271,
+	0x0020, 0x00b9,
+	0x0083, 0x7270,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e0, 0x013c,
+	0x0060, 0x01b9,
+	0x0060, 0x01ad,
+	0x00ba, 0x0031,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00a9, 0x868f,
+	0x00ac, 0xda02,
+	0x00aa, 0xda08,
+	0x0060, 0x0173,
+	0x00ba, 0x0034,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x0029, 0x8696,
+	0x00ac, 0xda85,
+	0x00aa, 0xda97,
+	0x0008, 0x868d,
+	0x0083, 0xc08a,
+	0x003a, 0x0041,
+	0x0083, 0x03e0,
+	0x001f, 0x700f,
+	0x001c, 0x03c4,
+	0x0011, 0x0372,
+	0x0003, 0x03e4,
+	0x003a, 0x0088,
+	0x0017, 0x03e4,
+	0x00a0, 0x00e7,
+	0x0028, 0xe3a4,
+	0x0003, 0xc2e3,
+	0x0000, 0x00d8,
+	0x0003, 0xc07e,
+	0x0080, 0x00da,
+	0x00a4, 0x860a,
+	0x0080, 0x00d6,
+	0x00ac, 0xda02,
+	0x0000, 0x00ca,
+	0x003a, 0x0009,
+	0x0099, 0x037e,
+	0x0082, 0x0f7e,
+	0x0017, 0x7ee2,
+	0x0041, 0x00e2,
+	0x0080, 0x00da,
+	0x0003, 0xc1e3,
+	0x00ba, 0x1000,
+	0x0011, 0x0395,
+	0x0003, 0x0395,
+	0x0000, 0x00ca,
+	0x0003, 0xc794,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x0028, 0xe54c,
+	0x00a9, 0xe575,
+	0x001f, 0xe50f,
+	0x009d, 0x03c2,
+	0x00a8, 0x0375,
+	0x0029, 0x0375,
+	0x001f, 0xe50f,
+	0x009d, 0x03c4,
+	0x00a8, 0x0373,
+	0x0029, 0x0373,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc0da,
+	0x0003, 0x6489,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x7dda,
+	0x0083, 0x6589,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0019, 0x6465,
+	0x009b, 0x034f,
+	0x0099, 0x03c9,
+	0x0019, 0x03c8,
+	0x0019, 0x0375,
+	0x0002, 0x0f75,
+	0x00e1, 0x0000,
+	0x00a8, 0xe3e1,
+	0x003a, 0xbada,
+	0x0083, 0x03e0,
+	0x0000, 0x0110,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x00a9, 0x0305,
+	0x0028, 0x0306,
+	0x0029, 0x7107,
+	0x00a8, 0x7108,
+	0x0000, 0x0110,
+	0x0003, 0xc87f,
+	0x00e1, 0x0000,
+	0x0003, 0xc47f,
+	0x00e1, 0x0000,
+	0x0003, 0xc27f,
+	0x00e1, 0x0000,
+	0x0003, 0xc17f,
+	0x00e1, 0x0000,
+	0x0003, 0x7f70,
+	0x0080, 0x013c,
+	0x001f, 0x700f,
+	0x009d, 0x03c2,
+	0x00a9, 0x030a,
+	0x00a8, 0x030e,
+	0x00a9, 0x7010,
+	0x0028, 0x7002,
+	0x0000, 0x0110,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x0009, 0x0303,
+	0x0003, 0xc870,
+	0x0080, 0x013c,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x0088, 0x0303,
+	0x0003, 0xc470,
+	0x0080, 0x013c,
+	0x0009, 0x7103,
+	0x0003, 0xc270,
+	0x0080, 0x013c,
+	0x0088, 0x718d,
+	0x0003, 0xc170,
+	0x0080, 0x013c,
+	0x0003, 0xc1e5,
+	0x0083, 0xc0bf,
+	0x003a, 0x0018,
+	0x0000, 0x00ee,
+	0x0083, 0xc0e5,
+	0x001f, 0xf70f,
+	0x001b, 0x0377,
+	0x0002, 0x0f7a,
+	0x001f, 0x700f,
+	0x009d, 0x03c2,
+	0x00a9, 0x0305,
+	0x00a8, 0x0308,
+	0x00a9, 0x700d,
+	0x00a8, 0x7012,
+	0x0000, 0x0110,
+	0x001f, 0x7a0f,
+	0x0083, 0x03f7,
+	0x0003, 0xc378,
+	0x0000, 0x0161,
+	0x001f, 0xc10f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0003, 0xc378,
+	0x0000, 0x0161,
+	0x001f, 0xc20f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0083, 0xc778,
+	0x0000, 0x0161,
+	0x009f, 0xc30f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0083, 0xc778,
+	0x0000, 0x0161,
+	0x001f, 0xf80f,
+	0x009b, 0x0376,
+	0x0011, 0x0378,
+	0x0083, 0x03f8,
+	0x0003, 0xc2e5,
+	0x003a, 0x0022,
+	0x0083, 0x03bf,
+	0x003a, 0x0018,
+	0x0000, 0x00ee,
+	0x0083, 0xc0e5,
+	0x00e1, 0x0000,
+	0x0000, 0x00ee,
+	0x0080, 0x017e,
+	0x0080, 0x0181,
+	0x0000, 0x01a8,
+	0x0000, 0x01ab,
+	0x0083, 0xc872,
+	0x0000, 0x017a,
+	0x009f, 0x720f,
+	0x001c, 0x03c4,
+	0x0011, 0x0372,
+	0x009d, 0x03c1,
+	0x009b, 0x03cd,
+	0x0082, 0x0f72,
+	0x0000, 0x017a,
+	0x0003, 0xc4e5,
+	0x0083, 0xc0bf,
+	0x00ba, 0x0015,
+	0x0080, 0x016c,
+	0x0003, 0xc8e5,
+	0x00ba, 0x0016,
+	0x0080, 0x016c,
+	0x0083, 0xc0e5,
+	0x001f, 0xf70f,
+	0x009b, 0x0376,
+	0x0002, 0x0f7c,
+	0x009f, 0x720f,
+	0x009d, 0x03c2,
+	0x0029, 0x0304,
+	0x0028, 0x0306,
+	0x00a9, 0x7209,
+	0x0028, 0x720c,
+	0x0003, 0x7cf7,
+	0x0003, 0xc37b,
+	0x0080, 0x019a,
+	0x0011, 0x7cc1,
+	0x0083, 0x03f7,
+	0x0003, 0xc37b,
+	0x0080, 0x019a,
+	0x0011, 0x7cc2,
+	0x0083, 0x03f7,
+	0x0083, 0xc77b,
+	0x0080, 0x019a,
+	0x0091, 0x7cc3,
+	0x0083, 0x03f7,
+	0x0083, 0xc77b,
+	0x0080, 0x019a,
+	0x009f, 0x810f,
+	0x009b, 0x0376,
+	0x0011, 0x037b,
+	0x0003, 0x0381,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x0083, 0xc9e5,
+	0x003a, 0x0022,
+	0x0083, 0x03bf,
+	0x00ba, 0x0015,
+	0x0080, 0x016c,
+	0x0083, 0xcce5,
+	0x00ba, 0x0016,
+	0x0080, 0x016c,
+	0x0083, 0xc0e5,
+	0x00e1, 0x0000,
+	0x0000, 0x01ae,
+	0x001f, 0xc20f,
+	0x009b, 0x038a,
+	0x0083, 0x038a,
+	0x0042, 0x0000,
+	0x001f, 0xc10f,
+	0x0091, 0x038a,
+	0x0083, 0x038a,
+	0x001a, 0xfffe,
+	0x009b, 0x0386,
+	0x0083, 0x0386,
+	0x00e1, 0x0000,
+	0x001f, 0xc10f,
+	0x009b, 0x038a,
+	0x0083, 0x038a,
+	0x0042, 0x0000,
+	0x001f, 0xc20f,
+	0x0091, 0x038a,
+	0x0083, 0x038a,
+	0x001a, 0xfffd,
+	0x009b, 0x0386,
+	0x0083, 0x0386,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x009a, 0xb616,
+	0x0060, 0x00ee,
+	0x008d, 0xbf02,
+	0x0080, 0x0007,
+	0x0083, 0xc0e0,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0008, 0xe384,
+	0x0003, 0xc095,
+	0x0083, 0xc184,
+	0x0003, 0xc084,
+	0x0083, 0xd1b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x003a, 0x000a,
+	0x0003, 0x03fa,
+	0x0003, 0x4190,
+	0x0003, 0x4f83,
+	0x0083, 0x408e,
+	0x0004, 0xed04,
+	0x0083, 0xc0bf,
+	0x001a, 0x3501,
+	0x0060, 0x00ee,
+	0x0083, 0xc086,
+	0x001a, 0xb701,
+	0x0060, 0x00ee,
+	0x00ba, 0x0020,
+	0x009b, 0x03bf,
+	0x0020, 0x002a,
+	0x0083, 0xc0bf,
+	0x001a, 0x3703,
+	0x0060, 0x00ee,
+	0x0003, 0xc2bf,
+	0x0060, 0x00ee,
+	0x008a, 0xde02,
+	0x0000, 0x002e,
+	0x008e, 0x8502,
+	0x0080, 0x0020,
+	0x0018, 0x9300,
+	0x0003, 0x0393,
+	0x00fa, 0x8040,
+	0x0091, 0x03c1,
+	0x0091, 0x0380,
+	0x0083, 0x0380,
+	0x0083, 0xd497,
+	0x0083, 0xd498,
+	0x0003, 0xd499,
+	0x0083, 0xd1b9,
+	0x0083, 0xc7ff,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00ba, 0x0117,
+	0x0083, 0x03bf,
+	0x003a, 0x3b80,
+	0x0060, 0x00ee,
+	0x0083, 0xc182,
+	0x009a, 0x0104,
+	0x0083, 0x03b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x001f, 0xf80f,
+	0x0011, 0x03d2,
+	0x0083, 0x03f8,
+	0x0000, 0x004b,
+	0x0080, 0x0010,
+	0x0083, 0xc0e3,
+	0x0003, 0x618c,
+	0x0083, 0x628d,
+	0x00ba, 0x0010,
+	0x0083, 0x03e0,
+	0x0003, 0xe171,
+	0x009f, 0x710f,
+	0x009b, 0x03cd,
+	0x0003, 0x0371,
+	0x00e0, 0x0114,
+	0x0060, 0x0123,
+	0x00e0, 0x0171,
+	0x0003, 0xc074,
+	0x0060, 0x01ae,
+	0x0003, 0xc0e7,
+	0x0003, 0xc0e8,
+	0x0098, 0xe600,
+	0x0083, 0x03e6,
+	0x003a, 0x0011,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00ac, 0xda02,
+	0x002a, 0xda0a,
+	0x0008, 0x8605,
+	0x0060, 0x0125,
+	0x0060, 0x01ae,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0060, 0x0173,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0080, 0x005d,
+	0x003a, 0x0012,
+	0x0083, 0x03e0,
+	0x0011, 0x7274,
+	0x0082, 0x0f74,
+	0x00ba, 0xdc74,
+	0x005a, 0x0257,
+	0x0083, 0x0375,
+	0x00ba, 0x0020,
+	0x0083, 0x03e0,
+	0x0060, 0x0123,
+	0x00e0, 0x0171,
+	0x0060, 0x01b9,
+	0x0060, 0x01ae,
+	0x003a, 0x0021,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x0029, 0x86b1,
+	0x00ac, 0xda02,
+	0x002a, 0xda0a,
+	0x00ba, 0x0023,
+	0x0083, 0x03e0,
+	0x0088, 0x8602,
+	0x0000, 0x0093,
+	0x00ba, 0x002c,
+	0x0083, 0x03e0,
+	0x0060, 0x0173,
+	0x0083, 0x7273,
+	0x0000, 0x0078,
+	0x003a, 0x0024,
+	0x0083, 0x03e0,
+	0x009e, 0x7072,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002b, 0x0322,
+	0x0097, 0x7f72,
+	0x0020, 0x00ae,
+	0x0011, 0x7274,
+	0x0082, 0x0f74,
+	0x0060, 0x01b9,
+	0x0000, 0x007e,
+	0x0083, 0x7072,
+	0x0060, 0x017a,
+	0x003a, 0x0027,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00a9, 0x86ce,
+	0x00ac, 0xda02,
+	0x002a, 0xda14,
+	0x003a, 0x0028,
+	0x0083, 0x03e0,
+	0x001f, 0x750f,
+	0x0017, 0x0366,
+	0x00c1, 0x00a8,
+	0x00ba, 0x0029,
+	0x0083, 0x03e0,
+	0x0003, 0x71e8,
+	0x0060, 0x0125,
+	0x0083, 0x7372,
+	0x0060, 0x0173,
+	0x0060, 0x01ae,
+	0x0000, 0x0078,
+	0x0003, 0x7471,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x71e1,
+	0x00e0, 0x0114,
+	0x0000, 0x00a0,
+	0x0080, 0x00b0,
+	0x0080, 0x004a,
+	0x003a, 0x0030,
+	0x0083, 0x03e0,
+	0x0003, 0x678c,
+	0x001b, 0x7271,
+	0x0020, 0x00b9,
+	0x0083, 0x7270,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e0, 0x013c,
+	0x0060, 0x01b9,
+	0x0060, 0x01ad,
+	0x00ba, 0x0031,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x00a9, 0x868f,
+	0x00ac, 0xda02,
+	0x00aa, 0xda08,
+	0x0060, 0x0173,
+	0x00ba, 0x0034,
+	0x0083, 0x03e0,
+	0x0060, 0x0101,
+	0x0029, 0x8696,
+	0x00ac, 0xda85,
+	0x00aa, 0xda97,
+	0x0008, 0x868d,
+	0x0083, 0xc08a,
+	0x003a, 0x0041,
+	0x0083, 0x03e0,
+	0x001f, 0x700f,
+	0x001c, 0x03c4,
+	0x0011, 0x0372,
+	0x0003, 0x03e4,
+	0x003a, 0x0088,
+	0x0017, 0x03e4,
+	0x00a0, 0x00e7,
+	0x0028, 0xe3a4,
+	0x0003, 0xc2e3,
+	0x0000, 0x00d8,
+	0x0003, 0xc07e,
+	0x0080, 0x00da,
+	0x00a4, 0x860a,
+	0x0080, 0x00d6,
+	0x00ac, 0xda02,
+	0x0000, 0x00ca,
+	0x003a, 0x0009,
+	0x0099, 0x037e,
+	0x0082, 0x0f7e,
+	0x0017, 0x7ee2,
+	0x0041, 0x00e2,
+	0x0080, 0x00da,
+	0x0003, 0xc1e3,
+	0x00ba, 0x1000,
+	0x0011, 0x0395,
+	0x0003, 0x0395,
+	0x0000, 0x00ca,
+	0x0003, 0xc794,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x0028, 0xe54c,
+	0x00a9, 0xe575,
+	0x001f, 0xe50f,
+	0x009d, 0x03c2,
+	0x00a8, 0x0375,
+	0x0029, 0x0375,
+	0x001f, 0xe50f,
+	0x009d, 0x03c4,
+	0x00a8, 0x0373,
+	0x0029, 0x0373,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc0da,
+	0x0003, 0x6489,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0x7dda,
+	0x0083, 0x6589,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0019, 0x6465,
+	0x009b, 0x034f,
+	0x0099, 0x03c9,
+	0x0019, 0x03c8,
+	0x0019, 0x0375,
+	0x0002, 0x0f75,
+	0x00e1, 0x0000,
+	0x00a8, 0xe3e1,
+	0x003a, 0xbada,
+	0x0083, 0x03e0,
+	0x0000, 0x0110,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x00a9, 0x0305,
+	0x0028, 0x0306,
+	0x0029, 0x7107,
+	0x00a8, 0x7108,
+	0x0000, 0x0110,
+	0x0003, 0xc87f,
+	0x00e1, 0x0000,
+	0x0003, 0xc47f,
+	0x00e1, 0x0000,
+	0x0003, 0xc27f,
+	0x00e1, 0x0000,
+	0x0003, 0xc17f,
+	0x00e1, 0x0000,
+	0x0003, 0x7f70,
+	0x0080, 0x013c,
+	0x001f, 0x700f,
+	0x009d, 0x03c2,
+	0x00a9, 0x030a,
+	0x00a8, 0x030e,
+	0x00a9, 0x7010,
+	0x0028, 0x7002,
+	0x0000, 0x0110,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x0009, 0x0303,
+	0x0003, 0xc870,
+	0x0080, 0x013c,
+	0x009f, 0x710f,
+	0x009d, 0x03c2,
+	0x0088, 0x0303,
+	0x0003, 0xc470,
+	0x0080, 0x013c,
+	0x0009, 0x7103,
+	0x0003, 0xc270,
+	0x0080, 0x013c,
+	0x0088, 0x718d,
+	0x0003, 0xc170,
+	0x0080, 0x013c,
+	0x0003, 0xc1e5,
+	0x0083, 0xc0bf,
+	0x003a, 0x0018,
+	0x0000, 0x00ee,
+	0x0083, 0xc0e5,
+	0x001f, 0xf70f,
+	0x001b, 0x0377,
+	0x0002, 0x0f7a,
+	0x001f, 0x700f,
+	0x009d, 0x03c2,
+	0x00a9, 0x0305,
+	0x00a8, 0x0308,
+	0x00a9, 0x700d,
+	0x00a8, 0x7012,
+	0x0000, 0x0110,
+	0x001f, 0x7a0f,
+	0x0083, 0x03f7,
+	0x0003, 0xc378,
+	0x0000, 0x0161,
+	0x001f, 0xc10f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0003, 0xc378,
+	0x0000, 0x0161,
+	0x001f, 0xc20f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0083, 0xc778,
+	0x0000, 0x0161,
+	0x009f, 0xc30f,
+	0x001c, 0x03c4,
+	0x0091, 0x037a,
+	0x0083, 0x03f7,
+	0x0083, 0xc778,
+	0x0000, 0x0161,
+	0x001f, 0xf80f,
+	0x009b, 0x0376,
+	0x0011, 0x0378,
+	0x0083, 0x03f8,
+	0x0003, 0xc2e5,
+	0x003a, 0x0022,
+	0x0083, 0x03bf,
+	0x003a, 0x0018,
+	0x0000, 0x00ee,
+	0x0083, 0xc0e5,
+	0x00e1, 0x0000,
+	0x0000, 0x00ee,
+	0x0080, 0x017e,
+	0x0080, 0x0181,
+	0x0000, 0x01a8,
+	0x0000, 0x01ab,
+	0x0083, 0xc872,
+	0x0000, 0x017a,
+	0x009f, 0x720f,
+	0x001c, 0x03c4,
+	0x0011, 0x0372,
+	0x009d, 0x03c1,
+	0x009b, 0x03cd,
+	0x0082, 0x0f72,
+	0x0000, 0x017a,
+	0x0003, 0xc4e5,
+	0x0083, 0xc0bf,
+	0x00ba, 0x0015,
+	0x0080, 0x016c,
+	0x0003, 0xc8e5,
+	0x00ba, 0x0016,
+	0x0080, 0x016c,
+	0x0083, 0xc0e5,
+	0x001f, 0xf70f,
+	0x009b, 0x0376,
+	0x0002, 0x0f7c,
+	0x009f, 0x720f,
+	0x009d, 0x03c2,
+	0x0029, 0x0304,
+	0x0028, 0x0306,
+	0x00a9, 0x7209,
+	0x0028, 0x720c,
+	0x0003, 0x7cf7,
+	0x0003, 0xc37b,
+	0x0080, 0x019a,
+	0x0011, 0x7cc1,
+	0x0083, 0x03f7,
+	0x0003, 0xc37b,
+	0x0080, 0x019a,
+	0x0011, 0x7cc2,
+	0x0083, 0x03f7,
+	0x0083, 0xc77b,
+	0x0080, 0x019a,
+	0x0091, 0x7cc3,
+	0x0083, 0x03f7,
+	0x0083, 0xc77b,
+	0x0080, 0x019a,
+	0x009f, 0x810f,
+	0x009b, 0x0376,
+	0x0011, 0x037b,
+	0x0003, 0x0381,
+	0x0003, 0xc082,
+	0x0003, 0xd689,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc182,
+	0x0083, 0xc9e5,
+	0x003a, 0x0022,
+	0x0083, 0x03bf,
+	0x00ba, 0x0015,
+	0x0080, 0x016c,
+	0x0083, 0xcce5,
+	0x00ba, 0x0016,
+	0x0080, 0x016c,
+	0x0083, 0xc0e5,
+	0x00e1, 0x0000,
+	0x0000, 0x01ae,
+	0x001f, 0xc20f,
+	0x009b, 0x038a,
+	0x0083, 0x038a,
+	0x0042, 0x0000,
+	0x001f, 0xc10f,
+	0x0091, 0x038a,
+	0x0083, 0x038a,
+	0x001a, 0xfffe,
+	0x009b, 0x0386,
+	0x0083, 0x0386,
+	0x00e1, 0x0000,
+	0x001f, 0xc10f,
+	0x009b, 0x038a,
+	0x0083, 0x038a,
+	0x0042, 0x0000,
+	0x001f, 0xc20f,
+	0x0091, 0x038a,
+	0x0083, 0x038a,
+	0x001a, 0xfffd,
+	0x009b, 0x0386,
+	0x0083, 0x0386,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}, {
+	0x0083, 0xc0ec,
+	0x0003, 0xc0eb,
+	0x0003, 0xc0ee,
+	0x0083, 0xc0ea,
+	0x0003, 0xc696,
+	0x0060, 0x0158,
+	0x00ba, 0x0080,
+	0x0083, 0x03b9,
+	0x0003, 0xc0ee,
+	0x0003, 0xc0eb,
+	0x0018, 0xee00,
+	0x0003, 0x03ee,
+	0x00ba, 0x0010,
+	0x0017, 0x03ee,
+	0x0041, 0x0011,
+	0x0060, 0x0131,
+	0x0003, 0xc0ee,
+	0x009b, 0x55a1,
+	0x0097, 0x03ce,
+	0x00c1, 0x0015,
+	0x0083, 0xd498,
+	0x001f, 0xd30f,
+	0x009e, 0x03c8,
+	0x0083, 0x0398,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0018, 0xeb00,
+	0x0003, 0x03eb,
+	0x00ba, 0x0800,
+	0x0017, 0x03eb,
+	0x0041, 0x000a,
+	0x0003, 0xc0eb,
+	0x0003, 0xc0ee,
+	0x009b, 0x57a3,
+	0x00e0, 0x016c,
+	0x0083, 0x03ef,
+	0x009b, 0x57a0,
+	0x00e0, 0x016c,
+	0x0083, 0x03dc,
+	0x0018, 0xee00,
+	0x0003, 0x03ee,
+	0x0017, 0x59ee,
+	0x00c1, 0x003b,
+	0x0003, 0xc0ee,
+	0x001f, 0xdf0f,
+	0x0017, 0x03fa,
+	0x0041, 0x0039,
+	0x001f, 0xc10f,
+	0x001e, 0xfa03,
+	0x0003, 0x03fa,
+	0x0060, 0x0158,
+	0x0060, 0x0131,
+	0x0085, 0xeb07,
+	0x0003, 0xc145,
+	0x0098, 0xea00,
+	0x0083, 0x03ea,
+	0x0097, 0x48ea,
+	0x0041, 0x0050,
+	0x0083, 0xc1eb,
+	0x008f, 0xdc0a,
+	0x001b, 0xa055,
+	0x0017, 0xc903,
+	0x00c1, 0x0049,
+	0x0083, 0xc045,
+	0x0083, 0xc242,
+	0x0000, 0x0050,
+	0x0003, 0xc245,
+	0x0003, 0xc042,
+	0x0000, 0x0050,
+	0x001b, 0xa055,
+	0x0097, 0xc103,
+	0x00c1, 0x0049,
+	0x0080, 0x0046,
+	0x001b, 0xa355,
+	0x0017, 0xcc03,
+	0x00c1, 0x0058,
+	0x001f, 0xc80f,
+	0x009e, 0xd303,
+	0x0003, 0x0344,
+	0x0003, 0xc843,
+	0x0080, 0x0061,
+	0x008f, 0xef06,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd344,
+	0x0083, 0xc043,
+	0x0080, 0x0061,
+	0x0017, 0xc503,
+	0x00c1, 0x005b,
+	0x0000, 0x0053,
+	0x009b, 0xa155,
+	0x0003, 0x03f0,
+	0x001a, 0x0040,
+	0x0017, 0xf003,
+	0x00c1, 0x006e,
+	0x0083, 0xc296,
+	0x009f, 0xd20f,
+	0x0019, 0xc103,
+	0x0083, 0x0398,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd298,
+	0x0003, 0xc696,
+	0x009b, 0xa755,
+	0x0017, 0x5a03,
+	0x0041, 0x0078,
+	0x009a, 0x000a,
+	0x009e, 0xd303,
+	0x0083, 0x0346,
+	0x009a, 0x000a,
+	0x0003, 0x0347,
+	0x0080, 0x0080,
+	0x000f, 0xa704,
+	0x0003, 0xd346,
+	0x0003, 0xc047,
+	0x0080, 0x0080,
+	0x009b, 0xa755,
+	0x0097, 0xc203,
+	0x00c1, 0x0079,
+	0x0000, 0x0072,
+	0x009f, 0xd20f,
+	0x0011, 0x0344,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0091, 0x0345,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0091, 0x0346,
+	0x0003, 0x0399,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd299,
+	0x0083, 0xd298,
+	0x0083, 0xd297,
+	0x0088, 0xde30,
+	0x001a, 0x000d,
+	0x009e, 0x8303,
+	0x0083, 0x0383,
+	0x0003, 0xcc4b,
+	0x001c, 0x58c5,
+	0x0003, 0x034d,
+	0x009e, 0x834b,
+	0x0083, 0x0383,
+	0x001c, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4b4d,
+	0x00a0, 0x00a0,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0000, 0x0096,
+	0x0060, 0x0119,
+	0x00a8, 0xe371,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe36e,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe36b,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe368,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x00a8, 0xe365,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe362,
+	0x0091, 0x834b,
+	0x0083, 0x0383,
+	0x009d, 0x4bc1,
+	0x0003, 0x034b,
+	0x0017, 0x4bc9,
+	0x00a0, 0x00bb,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0000, 0x00b1,
+	0x001a, 0x001f,
+	0x0091, 0x8303,
+	0x0083, 0x0383,
+	0x0080, 0x00d0,
+	0x0060, 0x0119,
+	0x0028, 0xe352,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe34f,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe34c,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe349,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe346,
+	0x0083, 0x6389,
+	0x0060, 0x0119,
+	0x0028, 0xe343,
+	0x0091, 0x40ca,
+	0x0011, 0x5c03,
+	0x0003, 0x038e,
+	0x001e, 0x41c5,
+	0x001e, 0x0348,
+	0x0003, 0x0390,
+	0x001f, 0xc80f,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x009f, 0xd20f,
+	0x0091, 0x0343,
+	0x0083, 0x0398,
+	0x009f, 0xd20f,
+	0x0011, 0x0342,
+	0x0083, 0x0397,
+	0x009f, 0xd20f,
+	0x0011, 0x0347,
+	0x0003, 0x0399,
+	0x0083, 0xcbf9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc1b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xd297,
+	0x0083, 0xd298,
+	0x0003, 0xd299,
+	0x0083, 0x408e,
+	0x0003, 0x4190,
+	0x009f, 0xc50f,
+	0x0099, 0x03c9,
+	0x0091, 0x0351,
+	0x0083, 0x0391,
+	0x0083, 0x0392,
+	0x0003, 0xcff9,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xc2b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd089,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0xd5b5,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xcef9,
+	0x0098, 0xec00,
+	0x0083, 0x03ec,
+	0x009a, 0x0050,
+	0x0097, 0x03ec,
+	0x0041, 0x010e,
+	0x0003, 0x5886,
+	0x0003, 0xc0db,
+	0x008b, 0x8504,
+	0x0000, 0x0028,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0083, 0xc694,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x003a, 0x0041,
+	0x0083, 0x03e0,
+	0x001f, 0x700f,
+	0x001c, 0x03c4,
+	0x0011, 0x0372,
+	0x0003, 0x03e4,
+	0x00a8, 0xe38d,
+	0x0003, 0xc2e3,
+	0x0024, 0x860b,
+	0x0003, 0xc07e,
+	0x0080, 0x0124,
+	0x00ac, 0xda02,
+	0x00e1, 0x0000,
+	0x003a, 0x0009,
+	0x0099, 0x037e,
+	0x0082, 0x0f7e,
+	0x0017, 0x7ee2,
+	0x0041, 0x012c,
+	0x0080, 0x0124,
+	0x0003, 0xc1e3,
+	0x00ba, 0x1000,
+	0x0011, 0x0395,
+	0x0003, 0x0395,
+	0x00e1, 0x0000,
+	0x009b, 0xa155,
+	0x0083, 0x03e9,
+	0x009a, 0x0055,
+	0x0097, 0xe903,
+	0x0041, 0x013b,
+	0x0084, 0xb90b,
+	0x001f, 0xc10f,
+	0x009e, 0xb903,
+	0x0083, 0x03b9,
+	0x0080, 0x0141,
+	0x0017, 0x54e9,
+	0x00c1, 0x0141,
+	0x0017, 0xb957,
+	0x0020, 0x0141,
+	0x0098, 0xb900,
+	0x0083, 0x03b9,
+	0x009e, 0x55c4,
+	0x0097, 0xb903,
+	0x0041, 0x014c,
+	0x0004, 0xff13,
+	0x009f, 0xff0f,
+	0x009e, 0x03c1,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x0019, 0x03c8,
+	0x0083, 0x03b9,
+	0x0000, 0x0157,
+	0x0099, 0xcc55,
+	0x0097, 0x03b9,
+	0x0041, 0x0157,
+	0x009f, 0xff0f,
+	0x0097, 0x03c7,
+	0x0041, 0x0157,
+	0x0018, 0xff00,
+	0x0003, 0x03ff,
+	0x001f, 0xb90f,
+	0x009e, 0x03c8,
+	0x0083, 0x03b9,
+	0x00e1, 0x0000,
+	0x0093, 0x0000,
+	0x001f, 0x8761,
+	0x0003, 0x03f6,
+	0x001a, 0x0160,
+	0x001e, 0x03f6,
+	0x0003, 0x03f6,
+	0x0017, 0xd103,
+	0x0041, 0x0162,
+	0x0083, 0xd1fb,
+	0x0000, 0x016b,
+	0x001a, 0x0094,
+	0x0017, 0xf603,
+	0x0041, 0x0168,
+	0x001a, 0x0094,
+	0x0083, 0x03fb,
+	0x0000, 0x016b,
+	0x0083, 0xf6fb,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x00e1, 0x0000,
+	0x00ae, 0x8005,
+	0x000f, 0x0303,
+	0x001e, 0x035f,
+	0x00e1, 0x0000,
+	0x0099, 0x5f03,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0003, 0x03be,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x002f, 0xbf00,
+	0x00aa, 0xbf85,
+	0x00e1, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+	0x0042, 0x0000,
+}};
+
+static u16 cs4321_microcode_epilog[] = {
+	/* Addr, Data */
+	0x0201, 0x8f10, 0x0202, 0x1210, 0x0200, 0x8000,
+	0x0201, 0x8f13, 0x0202, 0x1313, 0x0200, 0x8001,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8002,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8003,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8004,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8005,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8006,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8007,
+	0x0201, 0x0000, 0x0202, 0x0300, 0x0200, 0x8008,
+	0x0201, 0x0000, 0x0202, 0x9101, 0x0200, 0x8009,
+	0x0201, 0x8000, 0x0202, 0x0e00, 0x0200, 0x800a,
+	0x0201, 0x0000, 0x0202, 0xffff, 0x0200, 0x800b,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800c,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x800d,
+	0x0201, 0x0000, 0x0202, 0x0020, 0x0200, 0x800e,
+	0x0201, 0x7fff, 0x0202, 0xffff, 0x0200, 0x800f,
+	0x0201, 0x8000, 0x0202, 0xc350, 0x0200, 0x8010,
+	0x0201, 0x0000, 0x0202, 0x8000, 0x0200, 0x8011,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8012,
+	0x0201, 0x0000, 0x0202, 0x0a0a, 0x0200, 0x8013,
+	0x0201, 0x0000, 0x0202, 0x0064, 0x0200, 0x8014,
+	0x0201, 0x0000, 0x0202, 0x007f, 0x0200, 0x8015,
+	0x0201, 0x0000, 0x0202, 0x003a, 0x0200, 0x8016,
+	0x0201, 0x0000, 0x0202, 0x00ff, 0x0200, 0x8017,
+	0x0201, 0x0000, 0x0202, 0x0100, 0x0200, 0x8018,
+	0x0201, 0x0000, 0x0202, 0x0032, 0x0200, 0x8019,
+	0x0201, 0x0000, 0x0202, 0x0018, 0x0200, 0x801a,
+	0x0201, 0x0000, 0x0202, 0x0013, 0x0200, 0x801b,
+	0x0201, 0x0000, 0x0202, 0xff00, 0x0200, 0x801c,
+	0x0201, 0x0000, 0x0202, 0x0028, 0x0200, 0x801d,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x801e,
+	0x0201, 0x0000, 0x0202, 0x0080, 0x0200, 0x801f,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8020,
+	0x0201, 0x00f9, 0x0202, 0xac04, 0x0200, 0x8021,
+	0x0201, 0x0a42, 0x0202, 0x6b48, 0x0200, 0x8022,
+	0x0201, 0x8000, 0x0202, 0x19bc, 0x0200, 0x8023,
+	0x0201, 0x8020, 0x0202, 0x6cc8, 0x0200, 0x8024,
+	0x0201, 0x8000, 0x0202, 0x14c0, 0x0200, 0x8025,
+	0x0201, 0x0a76, 0x0202, 0x4c88, 0x0200, 0x8026,
+	0x0201, 0x015f, 0x0202, 0xcf7a, 0x0200, 0x8027,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8028,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8029,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802a,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802b,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802c,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802d,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802e,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x802f,
+	0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8030,
+	0x0201, 0x0000, 0x0202, 0x000f, 0x0200, 0x8031,
+	0x0201, 0x0000, 0x0202, 0x0008, 0x0200, 0x8032,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8033,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8034,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8035,
+	0x0201, 0xffff, 0x0202, 0xfff0, 0x0200, 0x8036,
+	0x0201, 0xffff, 0x0202, 0xff0f, 0x0200, 0x8037,
+	0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x8038,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x8039,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803a,
+	0x0201, 0x0000, 0x0202, 0x0003, 0x0200, 0x803b,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803c,
+	0x0201, 0x2000, 0x0202, 0x0000, 0x0200, 0x803d,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803e,
+	0x0201, 0x0000, 0x0202, 0x0000, 0x0200, 0x803f,
+
+	0x024f, 0x0000,
+	0x0505, 0x2003,
+	0x0558, 0x2001,
+	0x03d4, 0x0100,
+	0x03d5, 0x00c0,
+	0x03d3, 0x2919,
+	0x021c, 0x8020,
+	0x021d, 0x8040,
+	0x021e, 0x8040,
+	0x03d0, 0x0600,
+	0x0605, 0x1d00,
+	0x0231, 0x8f05,
+	0x0003, 0x0020,
+	0x0004, 0x0021,
+	0x0005, 0x0020,
+	0x0006, 0x0100,
+	0x0007, 0x0020,
+	0x062a, 0x101b,
+	0x062b, 0xc010,
+	0x0529, 0x0808,
+	0x052a, 0x0000,
+	0x0504, 0x0055,
+	0x0622, 0x0001,
+	0x0521, 0x0001,
+	0x0300, 0x0008,
+	0x0308, 0x00e2,
+	0x0310, 0x00d5,
+	0x0318, 0x0076,
+	0x0320, 0x0000,
+	0x0328, 0x00f0,
+	0x0338, 0x00f3,
+	0x0330, 0x00f3,
+	0x0340, 0x0000,
+	0x0348, 0x000a,
+	0x0350, 0x0000,
+	0x0358, 0x00fc,
+	0x0360, 0x0000,
+	0x0301, 0x0008,
+	0x0309, 0x00ed,
+	0x0311, 0x00c6,
+	0x0319, 0x004f,
+	0x0321, 0x0000,
+	0x0329, 0x0000,
+	0x0339, 0x00fd,
+	0x0331, 0x00fd,
+	0x0341, 0x0006,
+	0x0349, 0x0000,
+	0x0351, 0x000b,
+	0x0359, 0x0002,
+	0x0361, 0x0000,
+	0x0302, 0x0000,
+	0x030a, 0x0040,
+	0x0312, 0x00d0,
+	0x031a, 0x006e,
+	0x0322, 0x0000,
+	0x032a, 0x00dc,
+	0x033a, 0x00d7,
+	0x0332, 0x00d7,
+	0x0342, 0x00e6,
+	0x034a, 0x000c,
+	0x0352, 0x00fd,
+	0x035a, 0x0001,
+	0x0362, 0x0000,
+	0x0303, 0x0000,
+	0x030b, 0x00f8,
+	0x0313, 0x0000,
+	0x031b, 0x0064,
+	0x0323, 0x0000,
+	0x032b, 0x00db,
+	0x0333, 0x00e6,
+	0x033b, 0x00e6,
+	0x0343, 0x00f0,
+	0x034b, 0x0010,
+	0x0353, 0x00f8,
+	0x035b, 0x00f7,
+	0x0363, 0x0000,
+	0x0304, 0x0000,
+	0x030c, 0x0000,
+	0x0314, 0x0000,
+	0x031c, 0x0070,
+	0x0324, 0x0000,
+	0x032c, 0x0000,
+	0x033c, 0x0000,
+	0x0334, 0x0000,
+	0x0344, 0x0000,
+	0x034c, 0x0000,
+	0x0354, 0x0000,
+	0x035c, 0x0000,
+	0x0364, 0x0000,
+	0x0305, 0x0000,
+	0x030d, 0x00d4,
+	0x0315, 0x0000,
+	0x031d, 0x0077,
+	0x0325, 0x0000,
+	0x032d, 0x00b7,
+	0x033d, 0x00f8,
+	0x0335, 0x00f8,
+	0x0345, 0x0003,
+	0x034d, 0x00fd,
+	0x0355, 0x00fa,
+	0x035d, 0x00fc,
+	0x0365, 0x0000,
+	0x0306, 0x00f5,
+	0x030e, 0x0040,
+	0x0316, 0x0000,
+	0x031e, 0x00ee,
+	0x0326, 0x0000,
+	0x032e, 0x0000,
+	0x0336, 0x0000,
+	0x033e, 0x0000,
+	0x0346, 0x0000,
+	0x034e, 0x0000,
+	0x0356, 0x0000,
+	0x035e, 0x0000,
+	0x0366, 0x0000,
+	0x0307, 0x00f9,
+	0x030f, 0x0060,
+	0x0317, 0x0000,
+	0x031f, 0x0000,
+	0x0327, 0x0000,
+	0x032f, 0x0000,
+	0x0337, 0x0000,
+	0x033f, 0x0000,
+	0x0347, 0x0000,
+	0x034f, 0x0000,
+	0x0357, 0x0000,
+	0x035f, 0x0000,
+	0x0367, 0x0000,
+	0x0203, 0xfe03,
+	0x03d2, 0x0000,
+	0x040e, 0x0001,
+	0x022f, 0x0004,
+	0x040f, 0xedcf,
+	0x0382, 0x0002,
+	0x0408, 0xffff,
+	0x022b, 0x00b0,
+	0x0205, 0x0603,
+	0x0227, 0x0000,
+	0x0404, 0xdfff,
+	0x0409, 0xf048,
+	0x0296, 0x0000,
+	0x029a, 0x0002,
+	0x028a, 0x000f,
+	0x0270, 0x0005,
+	0x0400, 0xd000,
+	0x020c, 0xf090,
+	0x0537, 0x0136,
+	0x0536, 0x0136,
+	0x0510, 0x0136,
+	0x050f, 0x0136,
+	0x0539, 0xa002,
+	0x0539, 0x2002,
+	0x0512, 0xa002,
+	0x0512, 0x2002,
+	0x0223, 0x0006,
+	0x021f, 0x0134,
+	0x0700, 0x0020,
+	0x0726, 0x0100,
+	0x0403, 0x0020,
+	0x0500, 0x1200,
+	0x0274, 0x0000,
+	0x024f, 0x0000,
+	0x000a, 0x1412,
+	0x0009, 0x2011,
+	0x0008, 0x0929,
+	0x0203, 0xfe03,
+	0x024f, 0x0000,
+	0x001c, 0x0000,
+	0x001f, 0xf574,
+};
diff --git a/drivers/net/phy/cs4321.c b/drivers/net/phy/cs4321.c
new file mode 100644
index 0000000..31b4b19
--- /dev/null
+++ b/drivers/net/phy/cs4321.c
@@ -0,0 +1,1147 @@
+/*
+ *    Based on code from Cortina Systems, Inc.
+ *
+ *    Copyright (C) 2011 by Cortina Systems, Inc.
+ *    Copyright (C) 2011 - 2012 Cavium, Inc.
+ *
+ *    This program is free software; you can redistribute it and/or modify
+ *    it under the terms of the GNU General Public License as published by
+ *    the Free Software Foundation; either version 2 of the License, or
+ *    (at your option) any later version.
+ *
+ *    This program is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *    GNU General Public License for more details.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/phy.h>
+#include <linux/of.h>
+
+#include "cs4321-ucode.h"
+
+#define CS4321_GLOBAL_CHIP_ID_LSB			0x0
+#define CS4321_GLOBAL_CHIP_ID_MSB			0x1
+#define CS4321_GLOBAL_INGRESS_SOFT_RESET		0xC
+#define CS4321_GLOBAL_EGRESS_SOFT_RESET			0xD
+#define CS4321_GLOBAL_REF_SOFT_RESET			0xE
+#define CS4321_GLOBAL_MPIF_SOFT_RESET			0xF
+#define CS4321_GLOBAL_MPIF_RESET_DOTREG			0x10
+#define CS4321_GLOBAL_INGRESS_FUNCEN			0x12
+#define CS4321_GLOBAL_EGRESS_FUNCEN			0x13
+#define CS4321_GLOBAL_HOST_MULTILANE_FUNCEN		0x14
+#define CS4321_GLOBAL_INGRESS_CLKEN			0x15
+#define CS4321_GLOBAL_INGRESS_CLKEN2			0x16
+#define CS4321_GLOBAL_EGRESS_CLKEN			0x17
+#define CS4321_GLOBAL_EGRESS_CLKEN2			0x18
+#define CS4321_GLOBAL_HOST_MULTILANE_CLKSEL		0x19
+#define CS4321_GLOBAL_MSEQCLKCTRL			0x20
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1		0x2D
+#define CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0		0x2E
+#define CS4321_GLOBAL_MISC_CONFIG			0x33
+#define CS4321_GPIO_GPIO3				0x10C
+#define CS4321_GPIO_GPIO3_DRIVE				0x10E
+#define CS4321_GPIO_GPIO10				0x136
+#define CS4321_GPIO_GPIO10_OUTPUT_CFG			0x137
+#define CS4321_GPIO_GPIO_INT				0x16B
+#define CS4321_GPIO_GPIO_INTE				0x16C
+#define CS4321_GPIO_GPIO_INTS				0x16D
+#define CS4321_MSEQ_ENABLE_MSB				0x204
+#define CS4321_MSEQ_SERDES_PARAM_LSB			0x205
+#define CS4321_MSEQ_POWER_DOWN_LSB			0x208
+#define CS4321_MSEQ_POWER_DOWN_MSB			0x209
+#define CS4321_MSEQ_STATUS				0x20a
+#define CS4321_MSEQ_LEAK_INTERVAL_FFE			0x21C
+#define CS4321_MSEQ_COEF_DSP_DRIVE128			0x21F
+#define CS4321_MSEQ_COEF_INIT_SEL			0x223
+#define CS4321_MSEQ_CAL_RX_EQADJ			0x22A
+#define CS4321_MSEQ_CAL_RX_PHSEL			0x22C
+#define CS4321_MSEQ_CAL_RX_SLICER			0x22D
+#define CS4321_MSEQ_CAL_RX_DFE_EQ			0x22E
+#define CS4321_MSEQ_OPTIONS				0x240
+#define CS4321_MSEQ_PC					0x243
+#define CS4321_MSEQ_BANKSELECT				0x24F
+#define CS4321_MSEQ_RESET_COUNT_LSB			0x250
+#define CS4321_MSEQ_SPARE2_LSB				0x270
+#define CS4321_MSEQ_SPARE9_LSB				0x27E
+#define CS4321_MSEQ_SPARE11_LSB				0x282
+#define CS4321_MSEQ_SPARE15_LSB				0x28A
+#define CS4321_MSEQ_SPARE21_LSB				0x296
+#define CS4321_MSEQ_SPARE23_LSB				0x29A
+#define CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT		0x37B
+#define CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK		0x382
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB	0x400
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB	0x401
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB	0x403
+#define CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB	0x405
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL	0x409
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL	0x40A
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL		0x40B
+#define CS4321_DSP_SDS_SERDES_SRX_FFE_MISC		0x40C
+#define CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT		0x40E
+#define CS4321_DSP_SDS_SERDES_SRX_DFE_MISC		0x412
+#define CS4321_DSP_SDS_SERDES_SRX_AGC_MISC		0x413
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG		0x500
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CLKDIV_CTRL	0x501
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER	0x503
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPA		0x504
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_CPB		0x505
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL		0x507
+#define CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE		0x50C
+#define CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL		0x512
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA	0x529
+#define CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB	0x52A
+#define CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x52B
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG		0x52C
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN		0x52D
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL	0x52F
+#define CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER	0x530
+#define CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL		0x539
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG		0x600
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL	0x601
+#define CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL	0x602
+#define CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL		0x613
+#define CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING 0x62C
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG		0x62D
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN		0x62E
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL	0x62F
+#define CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL	0x630
+#define CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL		0x63A
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG	0x700
+#define CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL	0x701
+#define CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL	0x70F
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG	0x725
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN	0x726
+#define CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL	0x727
+#define CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL	0x731
+#define CS4321_XGPCS_LINE_TX_TXCNTRL			0xA00
+#define CS4321_XGPCS_LINE_RX_RXCNTRL			0xA20
+#define CS4321_XGPCS_HOST_TX_TXCNTRL			0xA80
+#define CS4321_XGPCS_HOST_RX_RXCNTRL			0xAA0
+#define CS4321_GIGEPCS_LINE_CONTROL			0xC00
+#define CS4321_GIGEPCS_HOST_CONTROL			0xC80
+#define CS4321_HIF_COMMON_TXCONTROL3			0xD0B
+#define CS4321_XGRS_LINE_TX_TXCNTRL			0xE00
+#define CS4321_XGRS_LINE_RX_RXCNTRL1			0xE10
+#define CS4321_XGRS_HOST_TX_TXCNTRL			0xE80
+#define CS4321_XGRS_HOST_RX_RXCNTRL1			0xE90
+#define CS4321_XGMAC_LINE_RX_CFG_COM			0xF00
+#define CS4321_XGMAC_LINE_TX_CFG_COM			0xF40
+#define CS4321_XGMAC_LINE_TX_CFG_TX			0xF41
+#define CS4321_XGMAC_LINE_TX_CFG_TX_IFG			0xF43
+#define CS4321_XGMAC_HOST_RX_CFG_COM			0xF80
+#define CS4321_XGMAC_HOST_TX_CFG_COM			0xFC0
+#define CS4321_XGMAC_HOST_TX_CFG_TX			0xFC1
+#define CS4321_XGMAC_HOST_TX_CFG_TX_IFG			0xFC3
+#define CS4321_MAC_LAT_CTRL_RESET			0x3000
+#define CS4321_MAC_LAT_CTRL_CONFIG			0x3001
+#define CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG		0x3204
+#define CS4321_RADJ_INGRESS_RX_NRA_SETTLE		0x3206
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1		0x3210
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0		0x3211
+#define CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL		0x3212
+#define CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG		0x3214
+#define CS4321_RADJ_INGRESS_TX_PRA_SETTLE		0x3216
+#define CS4321_RADJ_INGRESS_MISC_RESET			0x3220
+#define CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG		0x3284
+#define CS4321_RADJ_EGRESS_RX_NRA_SETTLE		0x3286
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1		0x3290
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0		0x3291
+#define CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL		0x3292
+#define CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG		0x3294
+#define CS4321_RADJ_EGRESS_TX_PRA_SETTLE		0x3296
+#define CS4321_RADJ_EGRESS_MISC_RESET			0x32A0
+#define CS4321_PM_CTRL					0x3400
+#define CS4321_EEPROM_LOADER_CONTROL			0x3F00
+#define CS4321_EEPROM_LOADER_STATUS			0x3F01
+
+
+enum cs4321_host_mode {
+	RXAUI,
+	XAUI
+};
+
+struct cs4321_private {
+	enum cs4321_host_mode mode;
+};
+
+struct cs4321_reg_modify {
+	u16 reg;
+	u16 mask_bits;
+	u16 set_bits;
+};
+
+struct cs4321_multi_seq {
+	int reg_offset;
+	const struct cs4321_reg_modify *seq;
+};
+
+static const struct cs4321_reg_modify cs4321_soft_reset_registers[] = {
+	/* Enable all the clocks */
+	{CS4321_GLOBAL_INGRESS_CLKEN, 0, 0xffff},
+	{CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0xffff},
+	{CS4321_GLOBAL_EGRESS_CLKEN, 0, 0xffff},
+	{CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0xffff},
+	/* Reset MPIF registers */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0x0},
+	/* Re-assert the reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, 0, 0xffff},
+
+	/* Disable all the clocks */
+	{CS4321_GLOBAL_INGRESS_CLKEN, 0, 0x0},
+	{CS4321_GLOBAL_INGRESS_CLKEN2, 0, 0x0},
+	{CS4321_GLOBAL_EGRESS_CLKEN, 0, 0x0},
+	{CS4321_GLOBAL_EGRESS_CLKEN2, 0, 0x0},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_68xx_4_nic_init[] = {
+	/* Configure chip for common reference clock */
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x2700},
+	/* Set GPIO3 to drive low to enable laser output*/
+	{CS4321_GPIO_GPIO3_DRIVE, 0, 0},
+	{CS4321_GPIO_GPIO3, 0, 0x11},
+	/* Set GPIO10 as GPIO_INT open-drain active low */
+	{CS4321_GPIO_GPIO_INTE, 0, 0},
+	{CS4321_GPIO_GPIO10_OUTPUT_CFG, 0, 6},
+	{CS4321_GPIO_GPIO10, 0, 0x0719},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_prefix_seq[] = {
+	/* MPIF DeAssert System Reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0001, 0},
+	/*
+	 * Make sure to stall the microsequencer before configuring
+	 * the path.
+	 */
+	{CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+	{CS4321_MSEQ_OPTIONS, 0, 0xf},
+	{CS4321_MSEQ_PC, 0, 0x0},
+	/*
+	 * Correct some of the h/w defaults that are incorrect.
+	 *
+	 * The default value of the bias current is incorrect and needs to
+	 * be corrected. This is normally done by Microcode but it doesn't
+	 * always run.
+	 */
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT0_MSB, 0, 0x20},
+	/*
+	 * By default need to power on the voltage monitor since it is required
+	 * by the temperature monitor and this is used by the microcode.
+	 */
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ingress_local_timing_rxaui[] = {
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+	{CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0001},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, ~0x1, 0x0000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_egress_local_timing_rxaui[] = {
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x40d1},
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+	{CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4091},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+	{CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x401d},
+	{CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+	{CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4019},
+	{CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0001},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x1, 0x0000},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0001},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, ~0x2, 0x0000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_line_power_down[] = {
+	{CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLA, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_STX0_TX_OUTPUT_CTRLB, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x2040},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_VCO_CTRL, 0, 0x01e7},
+	{CS4321_MSEQ_POWER_DOWN_LSB, 0, 0x0000},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_MSB, 0, 0xffff},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xffff},
+	{CS4321_DSP_SDS_SERDES_SRX_AGC_MISC, 0, 0x0705},
+	{CS4321_DSP_SDS_SERDES_SRX_DFE_MISC, 0, 0x002b},
+	{CS4321_DSP_SDS_SERDES_SRX_FFE_PGA_CTRL, 0, 0x0021},
+	{CS4321_DSP_SDS_SERDES_SRX_FFE_MISC, 0, 0x0013},
+	{CS4321_DSP_SDS_SERDES_SRX_FFE_INBUF_CTRL, 0, 0x0001},
+	{CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x0001},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_ingress_rxaui_pcs_ra[] = {
+	/* Set fen_radj, rx_fen_xgpcs*/
+	{CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+	/* Set rx_en_radj, rx_en_xgpcs*/
+	{CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+	/* Set tx_en_hif, tx_en_radj*/
+	{CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+	{CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+	{CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+	/* MPIF DeAssert Ingress Reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+	{CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+	{CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+
+	{CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+	{CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+
+	{CS4321_PM_CTRL, 0, 0x0000},
+	{CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+
+	{CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_egress_rxaui_pcs_ra[] = {
+	/* Set tx_fen_xgpcs, fen_radj */
+	{CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+	/* Set rx_en_hif, rx_en_radj*/
+	{CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+	/* Set tx_en_radj, tx_en_xgpcs*/
+	{CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+	{CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+	{CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0006},
+
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+	/* MPIF DeAssert Egress Reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+	{CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+	{CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+	{CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+	{CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+	{CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+	{CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+
+	{CS4321_PM_CTRL, 0, 0x0000},
+	{CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+	{CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xe01f},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_global_timer_156_25[] = {
+	{CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT0, 0, 15625},
+	{CS4321_GLOBAL_GT_10KHZ_REF_CLK_CNT1, 0, 0},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_mac_latency[] = {
+	{CS4321_MAC_LAT_CTRL_CONFIG, 0, 0},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_ref_clk_src_xaui_rxaui[] = {
+	/* Set edc_stxp_lptime_sel = 1, edc_stxp_pilot_sel = 7 */
+	{CS4321_GLOBAL_MISC_CONFIG, (u16)~0xe700, 0x2700},
+	/* Set STXP_PILOT_SEL = 7, STXP_LPTIME_SEL = 1 */
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_CONFIG, (u16)~0xe700, 0x2700},
+	{0}
+};
+
+
+static const struct cs4321_reg_modify cs4321_init_polarity_inv[] = {
+	/* Inversion disabled*/
+	/* config the slice not to invert polarity on egress */
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, ~0x0800, 0},
+	/* config the slice not to invert polarity on ingress */
+	{CS4321_MSEQ_ENABLE_MSB, ~0x4000, 0},
+	{0}
+};
+
+#if 0
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_pre[] = {
+	/* Stop the micro-sequencer */
+	{CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+	{CS4321_MSEQ_OPTIONS, 0, 0xf},
+	{CS4321_MSEQ_PC, 0, 0x0},
+
+	{CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0114},
+	{CS4321_MSEQ_COEF_INIT_SEL,     0, 0x0004},
+	{CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+	{CS4321_MSEQ_BANKSELECT, 0, 0x2},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+	{CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+	{CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+	{CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF047},
+	{CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+	/* enable power savings, ignore optical module LOS */
+	{CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+	{CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+	{CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x23},
+	{CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0x5000},
+	{CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+	{CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+	{CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+	{CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+	{CS4321_MSEQ_SPARE11_LSB, 0, 0x0603},
+
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_2in[] = {
+	{CS4321_MSEQ_SPARE15_LSB, 0, 0x0603},
+	{CS4321_MSEQ_SPARE21_LSB, 0, 0xE},
+	{CS4321_MSEQ_SPARE23_LSB, 0, 0x0},
+	{CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x3},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_cx1_post[] = {
+	/* Restart the micro-sequencer */
+	{CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+	{CS4321_MSEQ_OPTIONS, 0, 0x7},
+	{0}
+};
+#endif
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_pre[] = {
+	/* Stop the micro-sequencer */
+	{CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x8004},
+	{CS4321_MSEQ_OPTIONS, 0, 0xf},
+	{CS4321_MSEQ_PC, 0, 0x0},
+
+	/* Configure the micro-sequencer for an SR transceiver */
+	{CS4321_MSEQ_COEF_DSP_DRIVE128, 0, 0x0134},
+	{CS4321_MSEQ_COEF_INIT_SEL, 0, 0x0006},
+	{CS4321_MSEQ_LEAK_INTERVAL_FFE, 0, 0x8010},
+	{CS4321_MSEQ_BANKSELECT, 0, 0x0},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x55},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x3},
+	{CS4321_DSP_SDS_SERDES_SRX_DFE0_SELECT, 0, 0x1},
+	{CS4321_DSP_SDS_DSP_COEF_DFE0_SELECT, 0, 0x2},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPB, 0, 0x2003},
+	{CS4321_DSP_SDS_SERDES_SRX_FFE_DELAY_CTRL, 0, 0xF048},
+
+	{CS4321_MSEQ_RESET_COUNT_LSB, 0, 0x0},
+	/* enable power savings, ignore */
+	{CS4321_MSEQ_SPARE2_LSB, 0, 0x5},
+
+	{CS4321_MSEQ_SPARE9_LSB, 0, 0x5},
+
+	{CS4321_MSEQ_CAL_RX_PHSEL, 0, 0x1e},
+	{CS4321_DSP_SDS_DSP_COEF_LARGE_LEAK, 0, 0x2},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_ENABLEB_LSB, 0, 0xD000},
+	{CS4321_MSEQ_POWER_DOWN_LSB, 0, 0xFFFF},
+	{CS4321_MSEQ_POWER_DOWN_MSB, 0, 0x0},
+	{CS4321_MSEQ_CAL_RX_SLICER, 0, 0x80},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_SPARE, 0, 0xE0E0},
+	{CS4321_DSP_SDS_SERDES_SRX_DAC_BIAS_SELECT1_MSB, 0, 0xff},
+
+	/* Setup the trace lengths for the micro-sequencer */
+	{CS4321_MSEQ_SERDES_PARAM_LSB, 0, 0x0603},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_2in[] = {
+	{CS4321_MSEQ_CAL_RX_EQADJ, 0, 0x0},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_hsif_elec_mode_set_sr_post[] = {
+	{CS4321_MSEQ_CAL_RX_DFE_EQ, 0, 0x0},
+	/* Restart the micro-sequencer */
+	{CS4321_GLOBAL_MSEQCLKCTRL, 0, 0x4},
+	{CS4321_MSEQ_OPTIONS, 0, 0x7},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_resync_vcos_xaui_rxaui[] = {
+	{CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_HOST_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_HOST_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_LINE_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_LINE_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_HOST_ML_SDS_COMMON_RXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0x8000},
+	{CS4321_HOST_ML_SDS_COMMON_TXVCO0_CONTROL,  (u16)~0x8000, 0},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_toggle_resets_xaui_rxaui[] = {
+	{CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, ~0x0020, 0},
+	{CS4321_HOST_ML_SDS_COMMON_STXP0_TX_PWRDN, ~0x0100, 0},
+
+	/*
+	 * Now that the device is configured toggle the ingress and
+	 * egress soft resets to make sure the device re-syncs
+	 * properly.
+	 */
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x3},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET,  0, 0x3},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET,  0, 0x0000},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_egress[] = {
+	{CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x45d2},
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CLKOUT_CTRL, 0, 0x6a03},
+	{CS4321_HOST_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+	{CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CLKDIV_CTRL, 0, 0x412d},
+	{CS4321_HOST_ML_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x000c},
+
+	{CS4321_LINE_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x0864},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_LOOP_FILTER, 0, 0x0027},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_xaui_ingress[] = {
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+	{CS4321_HOST_SDS_COMMON_STX0_TX_CONFIG_LOCAL_TIMING, 0, 0x0001},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4492},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CLKOUT_CTRL, 0, 0x1864},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+	{CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CLKDIV_CTRL, 0, 0x4429},
+	{CS4321_HOST_ML_SDS_COMMON_STXP0_TX_CONFIG, 0, 0x090c},
+
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CONFIG, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_CPA, 0, 0x0057},
+	{CS4321_LINE_SDS_COMMON_SRX0_RX_LOOP_FILTER, 0, 0x0007},
+
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0003},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_1[] = {
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0002},
+	{CS4321_GLOBAL_INGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_HOST_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2e[] = {
+	{CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_2o[] = {
+	{CS4321_GLOBAL_HOST_MULTILANE_CLKSEL, 0, 0x8300},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_3[] = {
+	/* Set the device in XAUI mode */
+	{CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0, 0x0005},
+
+	/* Enable the XGPCS and the Rate Adjust block */
+	/* Set fen_radj, rx_fen_xgpcs */
+	{CS4321_GLOBAL_INGRESS_FUNCEN, ~0x0081, 0x0081},
+
+	/* Setup the clock enables for the XGPCS and Rate Adjust block */
+	/* Set rx_en_radj, rx_en_xgpcs */
+	{CS4321_GLOBAL_INGRESS_CLKEN, ~0x0021, 0x0021},
+
+	/* Setup the clock enables for the HIF and the Rate Adjust block */
+	/* Set tx_en_hif, tx_en_radj */
+	{CS4321_GLOBAL_INGRESS_CLKEN2, ~0x0120, 0x0120},
+
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0, 0x0000},
+	/* MPIF DeAssert Ingress Reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0004, 0},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_4e[] = {
+	{CS4321_XGMAC_LINE_RX_CFG_COM, 0, 0x8010},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_4o[] = {
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_ingress_5[] = {
+	{CS4321_XGMAC_HOST_TX_CFG_TX_IFG, 0, 0x0005},
+	{CS4321_XGPCS_LINE_RX_RXCNTRL, 0, 0x5000},
+	{CS4321_XGRS_HOST_TX_TXCNTRL, 0, 0xc000},
+	{CS4321_GIGEPCS_LINE_CONTROL, 0, 0x0000},
+	{CS4321_GIGEPCS_HOST_CONTROL, 0, 0x0000},
+
+	{CS4321_RADJ_INGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_INGRESS_RX_NRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+	{CS4321_RADJ_INGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+	{CS4321_RADJ_INGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_INGRESS_TX_PRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_INGRESS_MISC_RESET, 0, 0x0000},
+	{CS4321_PM_CTRL, 0, 0x0002},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6e[] = {
+	{CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0010},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_6o[] = {
+	{CS4321_HIF_COMMON_TXCONTROL3, 0, 0x0011},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_1[] = {
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x1},
+	{CS4321_GLOBAL_EGRESS_SOFT_RESET, 0, 0x0000},
+	{CS4321_LINE_SDS_COMMON_STXP0_TX_PWRDN, 0, 0x0000},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_3[] = {
+	/* Set the device in XAUI mode */
+	{CS4321_GLOBAL_HOST_MULTILANE_FUNCEN, 0x0005},
+
+	/* Enable the XGPCS and the Rate Adjust block */
+	/* Set tx_fen_xgpcs, fen_radj */
+	{CS4321_GLOBAL_EGRESS_FUNCEN, ~0x0180, 0x0180},
+
+	/* Setup the clock enables for the HIF and the Rate Adjust block */
+	/* Set rx_en_hif, rx_en_radj */
+	{CS4321_GLOBAL_EGRESS_CLKEN, ~0x0120, 0x0120},
+
+	/* Setup the clock enables for the XGPCS and Rate Adjust block */
+	/* Set tx_en_radj, tx_en_xgpcs */
+	{CS4321_GLOBAL_EGRESS_CLKEN2, ~0x0021, 0x0021},
+
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0xffff},
+	{CS4321_GLOBAL_REF_SOFT_RESET, 0x0000},
+
+	/* MPIF DeAssert Egress Reset */
+	{CS4321_GLOBAL_MPIF_RESET_DOTREG, ~0x0002, 0},
+
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_4e[] = {
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_4o[] = {
+	{CS4321_XGMAC_LINE_TX_CFG_COM, 0, 0xc000},
+	{0}
+};
+
+static const struct cs4321_reg_modify cs4321_init_dpath_xaui_pcs_ra_egress_5[] = {
+	{CS4321_XGMAC_LINE_TX_CFG_TX_IFG, 0, 0x0005},
+	{CS4321_XGPCS_LINE_TX_TXCNTRL, 0, 0x0000},
+	{CS4321_XGRS_LINE_TX_TXCNTRL, 0, 0xc000},
+
+	{CS4321_RADJ_EGRESS_RX_NRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_EGRESS_RX_NRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_CTRL, 0, 0xf001},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA0, 0, 0x0707},
+	{CS4321_RADJ_EGRESS_TX_ADD_FILL_DATA1, 0, 0x0707},
+	{CS4321_RADJ_EGRESS_TX_PRA_MIN_IFG, 0, 0x0004},
+	{CS4321_RADJ_EGRESS_TX_PRA_SETTLE, 0, 0x0000},
+	{CS4321_RADJ_EGRESS_MISC_RESET, 0, 0x0000},
+	{CS4321_PM_CTRL, 0, 0x0002},
+	{0}
+};
+
+const struct cs4321_multi_seq cs4321_init_rxaui_seq[] = {
+	{0, cs4321_init_prefix_seq},
+	{0, cs4321_init_egress_local_timing_rxaui},
+	{0, cs4321_init_ingress_local_timing_rxaui},
+	{0, cs4321_init_dpath_ingress_rxaui_pcs_ra},
+	{0, cs4321_init_dpath_egress_rxaui_pcs_ra},
+	{0, cs4321_resync_vcos_xaui_rxaui},
+	{0, cs4321_toggle_resets_xaui_rxaui},
+	{0, cs4321_hsif_elec_mode_set_sr_pre},
+	{0, cs4321_hsif_elec_mode_set_sr_2in},
+	{0, cs4321_hsif_elec_mode_set_sr_post},
+	{0, cs4321_init_global_timer_156_25},
+	{0, cs4321_init_mac_latency},
+	{0, cs4321_init_ref_clk_src_xaui_rxaui},
+	{0, cs4321_init_polarity_inv},
+
+	{0, NULL}
+};
+
+const struct cs4321_multi_seq cs4321_init_xaui_seq[] = {
+	{0, cs4321_init_prefix_seq},
+	/* Init egress even and odd */
+	{0, cs4321_init_xaui_egress},
+	{1, cs4321_init_xaui_egress},
+
+	/* Init ingress even and odd */
+	{0, cs4321_init_xaui_ingress},
+	{1, cs4321_init_xaui_ingress},
+
+	/* dpath ingress even and odd */
+	{0, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+	{0, cs4321_init_dpath_xaui_pcs_ra_2e},
+	{0, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+	{0, cs4321_init_dpath_xaui_pcs_ra_ingress_4e},
+	{0, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+	{0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+
+	{1, cs4321_init_dpath_xaui_pcs_ra_ingress_1},
+	{1, cs4321_init_dpath_xaui_pcs_ra_2o},
+	{1, cs4321_init_dpath_xaui_pcs_ra_ingress_3},
+	{1, cs4321_init_dpath_xaui_pcs_ra_ingress_4o},
+	{1, cs4321_init_dpath_xaui_pcs_ra_ingress_5},
+	{1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+	/* dpath egress even and odd */
+	{0, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+	{0, cs4321_init_dpath_xaui_pcs_ra_2e},
+	{0, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+	{0, cs4321_init_dpath_xaui_pcs_ra_egress_4e},
+	{0, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+	{0, cs4321_init_dpath_xaui_pcs_ra_6e},
+
+	{1, cs4321_init_dpath_xaui_pcs_ra_egress_1},
+	{1, cs4321_init_dpath_xaui_pcs_ra_2o},
+	{1, cs4321_init_dpath_xaui_pcs_ra_egress_3},
+	{1, cs4321_init_dpath_xaui_pcs_ra_egress_4o},
+	{1, cs4321_init_dpath_xaui_pcs_ra_egress_5},
+	{1, cs4321_init_dpath_xaui_pcs_ra_6o},
+
+	/* power down the odd slice's line side */
+	{1, cs4321_init_line_power_down},
+
+	{0, cs4321_resync_vcos_xaui_rxaui},
+	{0, cs4321_toggle_resets_xaui_rxaui},
+	{0, cs4321_hsif_elec_mode_set_sr_pre},
+	{0, cs4321_hsif_elec_mode_set_sr_2in},
+	{0, cs4321_hsif_elec_mode_set_sr_post},
+	{0, cs4321_init_global_timer_156_25},
+	{0, cs4321_init_mac_latency},
+	{0, cs4321_init_ref_clk_src_xaui_rxaui},
+	{0, cs4321_init_polarity_inv},
+
+	{0, NULL}
+};
+
+static int cs4321_phy_read_x(struct phy_device *phydev, int off, u16 regnum)
+{
+	return mdiobus_read(phydev->bus, phydev->addr + off,
+			    MII_ADDR_C45 | regnum);
+}
+
+static int cs4321_phy_write_x(struct phy_device *phydev, int off,
+			      u16 regnum, u16 val)
+{
+	return mdiobus_write(phydev->bus, phydev->addr + off,
+			     MII_ADDR_C45 | regnum, val);
+}
+static int cs4321_phy_read(struct phy_device *phydev, u16 regnum)
+{
+	return cs4321_phy_read_x(phydev, 0, regnum);
+}
+
+static int cs4321_phy_write(struct phy_device *phydev, u16 regnum, u16 val)
+{
+	return cs4321_phy_write_x(phydev, 0, regnum, val);
+}
+
+static int cs4321_write_seq_x(struct phy_device *phydev, int off,
+			    const struct cs4321_reg_modify *seq)
+{
+	int last_reg = -1;
+	int last_val = 0;
+	int ret = 0;
+
+	while (seq->reg) {
+		if (seq->mask_bits) {
+			if (last_reg != seq->reg) {
+				ret = cs4321_phy_read_x(phydev, off, seq->reg);
+				if (ret < 0)
+					goto err;
+				last_val = ret;
+			}
+			last_val &= seq->mask_bits;
+		} else {
+			last_val = 0;
+		}
+		last_val |= seq->set_bits;
+		ret = cs4321_phy_write_x(phydev, off, seq->reg, last_val);
+		if (ret < 0)
+			goto err;
+		seq++;
+	}
+err:
+	return ret;
+}
+
+static int cs4321_write_multi_seq(struct phy_device *phydev,
+				  const struct cs4321_multi_seq *m)
+{
+	int ret = 0;
+
+	while (m->seq) {
+		ret = cs4321_write_seq_x(phydev, m->reg_offset, m->seq);
+		if (ret)
+			goto err;
+		m++;
+	}
+
+err:
+	return ret;
+}
+
+static int cs4321_write_seq(struct phy_device *phydev,
+			    const struct cs4321_reg_modify *seq)
+{
+	return cs4321_write_seq_x(phydev, 0, seq);
+}
+
+static int cs4321_write_multi_reg(struct phy_device *phydev, u16 *dat, int cnt)
+{
+	int i;
+	int ret = 0;
+	for (i = 0; i < (cnt * 2); i += 2) {
+		u16 reg = dat[i];
+		u16 val = dat[i + 1];
+		ret = cs4321_phy_write(phydev, reg, val);
+		if (ret)
+			break;
+	}
+	return ret;
+}
+
+static int cs4321_write_microcode_slice(struct phy_device *phydev, int s)
+{
+	int i;
+	int ret;
+
+	ret = cs4321_phy_write(phydev, 0x024f, s);
+	if (ret)
+		return ret;
+
+	for (i = 0; i < 512; i++) {
+		ret = cs4321_phy_write(phydev,
+				       0x0201,
+				       cs4321_microcode_slices[s][2 * i + 0]);
+		if (ret)
+			return ret;
+
+		ret = cs4321_phy_write(phydev,
+				       0x0202,
+				       cs4321_microcode_slices[s][2 * i + 1]);
+		if (ret)
+			return ret;
+		ret = cs4321_phy_write(phydev, 0x0200, 0x9000 + i);
+		if (ret)
+			return ret;
+	}
+	return 0;
+}
+
+static int cs4321_write_microcode(struct phy_device *phydev)
+{
+	int i;
+	int ret;
+
+	ret = cs4321_write_multi_reg(phydev,
+				     cs4321_microcode_prolog,
+				     ARRAY_SIZE(cs4321_microcode_prolog) / 2);
+	if (ret)
+		return ret;
+
+	for (i = 0; i < 8; i++) {
+		ret = cs4321_write_microcode_slice(phydev, i);
+		if (ret)
+			return ret;
+	}
+	ret = cs4321_write_multi_reg(phydev,
+				     cs4321_microcode_epilog,
+				     ARRAY_SIZE(cs4321_microcode_epilog) / 2);
+	return ret;
+}
+
+static int cs4321_reset(struct phy_device *phydev)
+{
+	int ret;
+	int retry;
+
+	ret = cs4321_phy_write(phydev, CS4321_GLOBAL_MPIF_SOFT_RESET, 0xdead);
+	if (ret)
+		goto err;
+
+	msleep(100);
+
+	/* Disable eeprom loading */
+	ret = cs4321_phy_write(phydev, CS4321_EEPROM_LOADER_CONTROL, 2);
+	if (ret)
+		goto err;
+
+	retry = 0;
+	do {
+		if (retry > 0)
+			mdelay(1);
+		ret = cs4321_phy_read(phydev, CS4321_EEPROM_LOADER_STATUS);
+		if (ret < 0)
+			goto err;
+		retry++;
+	} while ((ret & 4) == 0 && retry < 10);
+
+	if ((ret & 4) == 0) {
+		ret = -ENXIO;
+		goto err;
+	}
+
+	ret = cs4321_write_seq(phydev, cs4321_soft_reset_registers);
+	if (ret)
+		goto err;
+
+	ret = cs4321_write_microcode(phydev);
+	if (ret)
+		goto err;
+
+
+	ret = cs4321_write_seq(phydev, cs4321_68xx_4_nic_init);
+	if (ret)
+		goto err;
+
+err:
+	return ret;
+}
+
+int cs4321_init_rxaui(struct phy_device *phydev)
+{
+	return cs4321_write_multi_seq(phydev,
+				      cs4321_init_rxaui_seq);
+}
+
+int cs4321_init_xaui(struct phy_device *phydev)
+{
+	return cs4321_write_multi_seq(phydev,
+				      cs4321_init_xaui_seq);
+
+}
+
+int cs4321_config_init(struct phy_device *phydev)
+{
+	int ret;
+	struct cs4321_private *p = phydev->priv;
+	const struct cs4321_multi_seq *init_seq;
+
+	ret = cs4321_reset(phydev);
+	if (ret)
+		goto err;
+
+	init_seq = (p->mode == XAUI) ?
+		cs4321_init_xaui_seq : cs4321_init_rxaui_seq;
+
+	ret = cs4321_write_multi_seq(phydev, init_seq);
+
+	phydev->state = PHY_NOLINK;
+
+err:
+	return ret;
+}
+
+int cs4321_probe(struct phy_device *phydev)
+{
+	int ret = 0;
+	int id_lsb, id_msb;
+	enum cs4321_host_mode host_mode;
+	const char *prop_val;
+	struct cs4321_private *p;
+	/*
+	 * CS4312 keeps its ID values in non-standard registers, make
+	 * sure we are talking to what we think we are.
+	 */
+	id_lsb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_LSB);
+	if (id_lsb < 0) {
+		ret = id_lsb;
+		goto err;
+	}
+
+	id_msb = cs4321_phy_read(phydev, CS4321_GLOBAL_CHIP_ID_MSB);
+	if (id_msb < 0) {
+		ret = id_msb;
+		goto err;
+	}
+
+	if (id_lsb != 0x23E5 || id_msb != 0x1002) {
+		ret = -ENODEV;
+		goto err;
+	}
+	ret = of_property_read_string(phydev->dev.of_node,
+				      "cortina,host-mode", &prop_val);
+	if (ret)
+		goto err;
+
+	if (strcmp(prop_val, "rxaui") == 0)
+		host_mode = RXAUI;
+	else if (strcmp(prop_val, "xaui") == 0)
+		host_mode = XAUI;
+	else {
+		dev_err(&phydev->dev,
+			"Invalid \"cortina,host-mode\" property: \"%s\"\n",
+			prop_val);
+		ret = -EINVAL;
+		goto err;
+	}
+	p = devm_kzalloc(&phydev->dev, sizeof(*p), GFP_KERNEL);
+	if (!p) {
+		ret = -ENOMEM;
+		goto err;
+	}
+	p->mode = host_mode;
+	phydev->priv = p;
+err:
+	return ret;
+}
+
+int cs4321_config_aneg(struct phy_device *phydev)
+{
+	return -EINVAL;
+}
+
+int cs4321_read_status(struct phy_device *phydev)
+{
+	int gpio_int_status;
+	int ret = 0;
+
+	gpio_int_status = cs4321_phy_read(phydev, CS4321_GPIO_GPIO_INTS);
+	if (gpio_int_status < 0) {
+		ret = gpio_int_status;
+		goto err;
+	}
+	if (gpio_int_status & 0x8) {
+		/* Up when edc_convergedS set. */
+		phydev->speed = 10000;
+		phydev->duplex = 1;
+		phydev->link = 1;
+	} else {
+		phydev->link = 0;
+	}
+
+err:
+	return ret;
+}
+
+static struct of_device_id cs4321_match[] = {
+	{
+		.compatible = "cortina,cs4321",
+	},
+	{
+		.compatible = "cortina,cs4318",
+	},
+	{},
+};
+MODULE_DEVICE_TABLE(of, cs4321_match);
+
+static struct phy_driver cs4321_phy_driver = {
+	.phy_id		= 0xffffffff,
+	.phy_id_mask	= 0xffffffff,
+	.name		= "Cortina CS4321",
+	.config_init	= cs4321_config_init,
+	.probe		= cs4321_probe,
+	.config_aneg	= cs4321_config_aneg,
+	.read_status	= cs4321_read_status,
+	.driver		= {
+		.owner = THIS_MODULE,
+		.of_match_table = cs4321_match,
+	},
+};
+
+static int __init cs4321_drv_init(void)
+{
+	int ret;
+
+	ret = phy_driver_register(&cs4321_phy_driver);
+
+	return ret;
+}
+module_init(cs4321_drv_init);
+
+static void __exit cs4321_drv_exit(void)
+{
+	phy_driver_unregister(&cs4321_phy_driver);
+}
+module_exit(cs4321_drv_exit);
-- 
1.7.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ